Skip to content

Commit 85e12dd

Browse files
fix(tokens): fixed border generated utilityclasses (#30067)
Issue number: internal --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Now the different border tokens will generate the utility-classes with the expected CSS attribute for each one! ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> --------- Co-authored-by: Brandy Carney <[email protected]>
1 parent 805b75a commit 85e12dd

File tree

3 files changed

+50
-38
lines changed

3 files changed

+50
-38
lines changed

core/scripts/tokens/index.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
removeConsecutiveRepeatedWords,
1818
setPrefixValue,
1919
generateRadiusUtilityClasses,
20-
generateBorderSizeUtilityClasses,
20+
generateBorderUtilityClasses,
2121
generateFontUtilityClasses,
2222
generateShadowUtilityClasses,
2323
generateUtilityClasses
@@ -112,7 +112,6 @@
112112
}
113113

114114
let utilityClass = '';
115-
116115
switch (tokenCategory) {
117116
case 'color':
118117
case 'primitives':
@@ -123,8 +122,8 @@
123122
case 'state':
124123
utilityClass = generateColorUtilityClasses(prop, propName);
125124
break;
126-
case 'border-size':
127-
utilityClass = generateBorderSizeUtilityClasses(propName);
125+
case 'border':
126+
utilityClass = generateBorderUtilityClasses(prop, propName);
128127
break;
129128
case 'font':
130129
utilityClass = generateFontUtilityClasses(prop, propName);

core/scripts/tokens/utils.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,22 @@ function generateRadiusUtilityClasses(propName) {
246246
return `.${variablesPrefix}-${propName} {\n border-radius: $${variablesPrefix}-${propName};\n}`;
247247
}
248248

249-
// Generates a font based css utility-class from a font Design Token structure
250-
function generateBorderSizeUtilityClasses(propName) {
251-
return `.${variablesPrefix}-${propName} {\n border-width: $${variablesPrefix}-${propName};\n}`;
249+
// Generates a border based css utility-class from a font Design Token structure
250+
function generateBorderUtilityClasses(prop, propName) {
251+
let attribute;
252+
253+
switch (prop.attributes.type) {
254+
case 'border-radius':
255+
case 'border-style':
256+
attribute = prop.attributes.type;
257+
break;
258+
case 'border-size':
259+
attribute = 'border-width';
260+
break;
261+
default:
262+
attribute = 'border-color';
263+
}
264+
return `.${variablesPrefix}-${propName} {\n ${attribute}: $${variablesPrefix}-${propName};\n}`;
252265
}
253266

254267
// Generates a font based css utility-class from a font Design Token structure
@@ -280,7 +293,7 @@ module.exports = {
280293
generateDefaultSpaceUtilityClasses,
281294
generateSpaceUtilityClasses,
282295
removeConsecutiveRepeatedWords,
283-
generateBorderSizeUtilityClasses,
296+
generateBorderUtilityClasses,
284297
generateFontUtilityClasses,
285298
generateShadowUtilityClasses,
286299
generateUtilityClasses

core/src/foundations/ionic.utility.scss

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,94 +1139,94 @@ Do not edit directly, this file was auto-generated.
11391139
background-color: $ion-text-select;
11401140
}
11411141
.ion-border-default {
1142-
border: $ion-border-default;
1142+
border-color: $ion-border-default;
11431143
}
11441144
.ion-border-focus-0 {
1145-
border: $ion-border-focus-0;
1145+
border-color: $ion-border-focus-0;
11461146
}
11471147
.ion-border-focus-default {
1148-
border: $ion-border-focus-default;
1148+
border-color: $ion-border-focus-default;
11491149
}
11501150
.ion-border-focus-error {
1151-
border: $ion-border-focus-error;
1151+
border-color: $ion-border-focus-error;
11521152
}
11531153
.ion-border-primary {
1154-
border: $ion-border-primary;
1154+
border-color: $ion-border-primary;
11551155
}
11561156
.ion-border-success {
1157-
border: $ion-border-success;
1157+
border-color: $ion-border-success;
11581158
}
11591159
.ion-border-warning {
1160-
border: $ion-border-warning;
1160+
border-color: $ion-border-warning;
11611161
}
11621162
.ion-border-danger {
1163-
border: $ion-border-danger;
1163+
border-color: $ion-border-danger;
11641164
}
11651165
.ion-border-subtle {
1166-
border: $ion-border-subtle;
1166+
border-color: $ion-border-subtle;
11671167
}
11681168
.ion-border-input-default {
1169-
border: $ion-border-input-default;
1169+
border-color: $ion-border-input-default;
11701170
}
11711171
.ion-border-input-press {
1172-
border: $ion-border-input-press;
1172+
border-color: $ion-border-input-press;
11731173
}
11741174
.ion-border-input-read-only {
1175-
border: $ion-border-input-read-only;
1175+
border-color: $ion-border-input-read-only;
11761176
}
11771177
.ion-border-style-none {
1178-
border: $ion-border-style-none;
1178+
border-style: $ion-border-style-none;
11791179
}
11801180
.ion-border-style-solid {
1181-
border: $ion-border-style-solid;
1181+
border-style: $ion-border-style-solid;
11821182
}
11831183
.ion-border-style-dashed {
1184-
border: $ion-border-style-dashed;
1184+
border-style: $ion-border-style-dashed;
11851185
}
11861186
.ion-border-style-dotted {
1187-
border: $ion-border-style-dotted;
1187+
border-style: $ion-border-style-dotted;
11881188
}
11891189
.ion-border-size-0 {
1190-
border: $ion-border-size-0;
1190+
border-width: $ion-border-size-0;
11911191
}
11921192
.ion-border-size-025 {
1193-
border: $ion-border-size-025;
1193+
border-width: $ion-border-size-025;
11941194
}
11951195
.ion-border-size-050 {
1196-
border: $ion-border-size-050;
1196+
border-width: $ion-border-size-050;
11971197
}
11981198
.ion-border-size-075 {
1199-
border: $ion-border-size-075;
1199+
border-width: $ion-border-size-075;
12001200
}
12011201
.ion-border-radius-0 {
1202-
border: $ion-border-radius-0;
1202+
border-radius: $ion-border-radius-0;
12031203
}
12041204
.ion-border-radius-100 {
1205-
border: $ion-border-radius-100;
1205+
border-radius: $ion-border-radius-100;
12061206
}
12071207
.ion-border-radius-200 {
1208-
border: $ion-border-radius-200;
1208+
border-radius: $ion-border-radius-200;
12091209
}
12101210
.ion-border-radius-300 {
1211-
border: $ion-border-radius-300;
1211+
border-radius: $ion-border-radius-300;
12121212
}
12131213
.ion-border-radius-400 {
1214-
border: $ion-border-radius-400;
1214+
border-radius: $ion-border-radius-400;
12151215
}
12161216
.ion-border-radius-500 {
1217-
border: $ion-border-radius-500;
1217+
border-radius: $ion-border-radius-500;
12181218
}
12191219
.ion-border-radius-800 {
1220-
border: $ion-border-radius-800;
1220+
border-radius: $ion-border-radius-800;
12211221
}
12221222
.ion-border-radius-1000 {
1223-
border: $ion-border-radius-1000;
1223+
border-radius: $ion-border-radius-1000;
12241224
}
12251225
.ion-border-radius-full {
1226-
border: $ion-border-radius-full;
1226+
border-radius: $ion-border-radius-full;
12271227
}
12281228
.ion-border-radius-025 {
1229-
border: $ion-border-radius-025;
1229+
border-radius: $ion-border-radius-025;
12301230
}
12311231
.ion-shadow-1 {
12321232
box-shadow: $ion-shadow-1;

0 commit comments

Comments
 (0)