Skip to content

Commit bbfd879

Browse files
committed
Fluent-next: move onto design tokens 262.15.0
1 parent 088be6b commit bbfd879

13 files changed

Lines changed: 82 additions & 25 deletions

File tree

‎packages/devextreme-scss/build/tokens/build-tokens.mjs‎

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,51 @@ StyleDictionary.registerPreprocessor({
122122
},
123123
});
124124

125+
/*
126+
* WORKAROUND for a bug in @devexpress/design-tokens-internal, present since 262.13.0: that release
127+
* dropped `color.shadow-none` from semantic/colors/*, but semantic/box-shadow/{fluent,material}.json
128+
* still reference it from every layer of `box-shadow.none`, so Style Dictionary fails the whole build
129+
* on three unresolvable references. The value the token carried up to 262.12.0 is substituted here,
130+
* which keeps the output identical to that release: `box-shadow.none` is all-zero geometry in a fully
131+
* transparent colour.
132+
*
133+
* Remove this once the package defines the token again or stops referencing it. The other two
134+
* preprocessors above patch the same class of export defect.
135+
*/
136+
const REMOVED_REFERENCES = new Map([
137+
['color.shadow-none', 'rgba(0,0,0,0)'],
138+
]);
139+
140+
StyleDictionary.registerPreprocessor({
141+
name: 'dx/substitute-removed-references',
142+
preprocessor: (tokens) => {
143+
const visit = (node) => {
144+
if (typeof node !== 'object' || node === null) {
145+
return;
146+
}
147+
148+
Object.entries(node).forEach(([key, value]) => {
149+
if (typeof value === 'string') {
150+
REMOVED_REFERENCES.forEach((replacement, refPath) => {
151+
if (value.includes(`{${refPath}}`) && !hasTokenAtPath(tokens, refPath)) {
152+
console.warn(`[design-tokens] Substituting removed reference {${refPath}} -> ${replacement}`);
153+
node[key] = value.replaceAll(`{${refPath}}`, replacement);
154+
}
155+
});
156+
157+
return;
158+
}
159+
160+
visit(value);
161+
});
162+
};
163+
164+
visit(tokens);
165+
166+
return tokens;
167+
},
168+
});
169+
125170
const dirname = import.meta.dirname || path.dirname(url.fileURLToPath(import.meta.url));
126171
const require = createRequire(import.meta.url);
127172
const tokensDir = path.dirname(require.resolve('@devexpress/design-tokens-internal/package.json'));
@@ -230,7 +275,12 @@ const createConfig = (name, files, platformFiles) => ({
230275
theme: THEME_NAME,
231276
name,
232277
source: files.map((src) => path.resolve(tokensDir, `tokens/${src}.json`)),
233-
preprocessors: ['dx/fix-dangling-size-references', 'dx/fix-composite-shadow-references', 'tokens-studio'],
278+
preprocessors: [
279+
'dx/fix-dangling-size-references',
280+
'dx/fix-composite-shadow-references',
281+
'dx/substitute-removed-references',
282+
'tokens-studio',
283+
],
234284
expand: customExpand,
235285
platforms: getPlatformSettings(platformFiles),
236286
});

‎packages/devextreme-scss/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"author": "Developer Express Inc.",
55
"license": "SEE LICENSE IN LICENSE.md",
66
"devDependencies": {
7-
"@devexpress/design-tokens-internal": "262.10.1",
7+
"@devexpress/design-tokens-internal": "262.15.0",
88
"@stylistic/stylelint-plugin": "3.1.3",
99
"autoprefixer": "10.5.0",
1010
"clean-css": "5.3.3",

‎packages/devextreme-scss/scss/widgets/fluent-next/badge/_colors.scss‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ $badge-content: ds.$color-content-static-dark !default;
44

55
$badge-bg: ds.$color-bg-primary !default;
66

7-
$badge-content-disabled: ds.$color-content-subtle-disabled !default;
8-
$badge-bg-disabled: ds.$color-bg-canvas-disabled !default;
7+
$badge-content-disabled: ds.$color-content-disabled !default;
8+
$badge-bg-disabled: ds.$color-bg-disabled !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/calendar/_colors.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ $calendar-cell-bg-selected: ds.$color-bg-primary !default;
1212
$calendar-cell-content-selected: ds.$color-content-static-dark !default;
1313
$calendar-cell-bg-active: ds.$color-bg-primary-subtler-active !default;
1414
$calendar-invalid-border: ds.$color-border-danger !default;
15-
$calendar-invalid-border-focused: ds.$color-border-danger-hovered !default;
15+
$calendar-invalid-border-focused: ds.$color-border-danger !default;
1616
$calendar-week-number-cell-content: ds.$color-content-subtle !default;
1717
$calendar-week-number-cell-bg: ds.$color-bg-canvas !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/checkBox/_colors.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ $check-box-invalid-mark-bg: ds.$color-content-danger-shared !default;
2222
$check-box-invalid-mark-bg-hovered: ds.$color-content-danger-shared-hovered !default;
2323
$check-box-invalid-mark-bg-focused: ds.$color-content-danger-shared-active !default;
2424

25-
$check-box-border-disabled: ds.$color-border-contrast-disabled !default;
25+
$check-box-border-disabled: ds.$color-border-disabled !default;
2626
$check-box-icon-bg-disabled: ds.$color-content-disabled !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/scrollable/_colors.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
$scrollable-bg: ds.$color-bg !default;
44

55
$scrollable-scroll-bg: ds.$color-content-subtle !default;
6-
$scrollable-scrollbar-bg: ds.$color-bg-none !default;
6+
$scrollable-scrollbar-bg: ds.$color-none !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/slider/_colors.scss‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ $slider-accent-bg-hovered: ds.$color-bg-primary-hovered !default;
77
$slider-accent-content-focused: ds.$color-bg-primary-active !default;
88

99
$slider-invalid-bg: ds.$color-border-danger !default;
10-
$slider-invalid-bg-hovered: ds.$color-border-danger-hovered !default;
11-
$slider-invalid-content-focused: ds.$color-border-danger-hovered !default;
10+
$slider-invalid-bg-hovered: ds.$color-border-danger !default;
11+
$slider-invalid-content-focused: ds.$color-border-danger !default;
1212

1313
$slider-bg-disabled: ds.$color-content-disabled !default;
1414
$slider-bar-bg-disabled: ds.$color-bg-disabled !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/switch/_colors.scss‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,27 @@ $switch-on-border: ds.$color-bg-primary-shared !default;
44
$switch-on-border-hovered: ds.$color-bg-primary-shared-hovered !default;
55
$switch-on-border-focused: ds.$color-bg-primary-active !default;
66

7-
$switch-bg: ds.$color-bg-none !default;
7+
$switch-bg: ds.$color-none !default;
88

99
$switch-handle-off-bg: ds.$color-content-subtle !default;
1010

1111
$switch-on-bg: ds.$color-bg-primary-shared !default;
1212

1313
$switch-handle-on-bg: ds.$color-content-inverted !default;
1414
$switch-on-bg-disabled: ds.$color-bg-disabled !default;
15-
$switch-handle-bg-disabled: ds.$color-content-subtle-disabled !default;
16-
$switch-border-disabled: ds.$color-border-contrast-disabled !default;
15+
16+
/* The handle and the border of a disabled switch were painted by two different tokens that held
17+
the same colour; 262.15.0 dropped both, and this is the nearest role left — identical in dark,
18+
one step lighter in light. Keeping one token for both preserves the equality. */
19+
$switch-handle-bg-disabled: ds.$color-border-disabled !default;
20+
$switch-border-disabled: ds.$color-border-disabled !default;
1721
$switch-off-border: ds.$color-border-contrast !default;
1822
$switch-off-border-hovered: ds.$color-border-contrast-hovered !default;
1923
$switch-off-border-active: ds.$color-border-contrast-active !default;
2024

2125
$switch-invalid-border: ds.$color-border-danger !default;
22-
$switch-invalid-border-hovered: ds.$color-border-danger-hovered !default;
23-
$switch-invalid-border-focused: ds.$color-border-danger-hovered !default;
26+
$switch-invalid-border-hovered: ds.$color-border-danger !default;
27+
$switch-invalid-border-focused: ds.$color-border-danger !default;
2428

2529
// Subtle ring around the ON handle; no switch shadow role — relative-color bridge over the handle token (see DIVERGENCES.md)
2630
$switch-handle-on-shadow: rgb(from #{ds.$color-content-inverted} r g b / 0.1) !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/tagBox/_colors.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ $tag-box-tag-remove-button-content: ds.$color-content-subtle !default;
1111
$tag-box-tag-border-focused: ds.$color-border-primary !default;
1212
$tag-box-select-all-line: ds.$color-border !default;
1313
$tag-box-tag-content-disabled: ds.$color-content-disabled !default;
14-
$tag-box-tag-bg-disabled: ds.$color-bg-canvas-disabled !default;
14+
$tag-box-tag-bg-disabled: ds.$color-bg-disabled !default;
1515

1616
$tag-box-border-disabled: ds.$color-border-disabled !default;

‎packages/devextreme-scss/scss/widgets/fluent-next/textEditor/_colors.scss‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ $text-editor-border-hovered: ds.$color-border-hovered !default;
1515
$text-editor-border-focused: ds.$color-border-active !default;
1616

1717
$text-editor-line: ds.$color-content-subtle !default;
18-
$text-editor-line-hovered: ds.$color-content-subtle-hovered !default;
19-
$text-editor-line-focused: ds.$color-content-subtle-hovered !default;
18+
$text-editor-line-hovered: ds.$color-content !default;
19+
$text-editor-line-focused: ds.$color-content !default;
2020

2121
$text-editor-indicator: ds.$color-content-primary !default;
2222

2323
$text-editor-clear-button-icon: ds.$color-content-subtle !default;
24-
$text-editor-invalid-border-focused: ds.$color-border-danger-hovered !default;
24+
$text-editor-invalid-border-focused: ds.$color-border-danger !default;
2525
$text-editor-invalid-border: ds.$color-border-danger-shared !default;
2626
$text-editor-border-disabled: ds.$color-border-disabled !default;
2727
$text-editor-content-disabled: ds.$color-content-disabled !default;

0 commit comments

Comments
 (0)