Skip to content

Commit b463289

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

17 files changed

Lines changed: 82 additions & 25 deletions

File tree

-67 Bytes
Loading
12 Bytes
Loading
Loading
567 Bytes
Loading

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;

0 commit comments

Comments
 (0)