@semcore/core 16.5.1 → 16.5.2-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +4 -4
- package/lib/theme/themes/auto.css +198 -198
- package/lib/theme/themes/dark.css +99 -99
- package/lib/theme/themes/dark.d.ts +59 -59
- package/lib/theme/themes/dark.js +59 -59
- package/lib/theme/themes/dark.js.map +1 -1
- package/lib/theme/themes/dark.mjs +59 -59
- package/lib/theme/themes/dark.mjs.map +1 -1
- package/lib/theme/themes/default.css +100 -100
- package/lib/theme/themes/default.d.ts +59 -59
- package/lib/theme/themes/default.js +59 -59
- package/lib/theme/themes/default.js.map +1 -1
- package/lib/theme/themes/default.mjs +59 -59
- package/lib/theme/themes/default.mjs.map +1 -1
- package/lib/theme/themes/light.css +100 -100
- package/lib/theme/themes/light.d.ts +59 -59
- package/lib/theme/themes/light.js +59 -59
- package/lib/theme/themes/light.js.map +1 -1
- package/lib/theme/themes/light.mjs +59 -59
- package/lib/theme/themes/light.mjs.map +1 -1
- package/lib/utils/ScreenReaderOnly.d.ts +4 -4
- package/lib/utils/ScreenReaderOnly.js +3 -3
- package/lib/utils/ScreenReaderOnly.js.map +1 -1
- package/lib/utils/ScreenReaderOnly.mjs +2 -2
- package/lib/utils/ScreenReaderOnly.mjs.map +1 -1
- package/lib/utils/injectStyle.js +1 -1
- package/lib/utils/injectStyle.mjs +1 -1
- package/lib/utils/isInteractiveElement.js +1 -1
- package/lib/utils/isInteractiveElement.js.map +1 -1
- package/lib/utils/isInteractiveElement.mjs +1 -1
- package/lib/utils/isInteractiveElement.mjs.map +1 -1
- package/lib/utils/use/usePreventScroll.js +7 -9
- package/lib/utils/use/usePreventScroll.js.map +1 -1
- package/lib/utils/use/usePreventScroll.mjs +7 -9
- package/lib/utils/use/usePreventScroll.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/theme/dark.json +0 -2695
- package/lib/theme/light.json +0 -2730
- package/lib/theme/processor.d.ts +0 -1
- package/lib/theme/processor.js +0 -299
- package/lib/theme/processor.js.map +0 -1
- package/lib/theme/processor.mjs +0 -292
- package/lib/theme/processor.mjs.map +0 -1
- package/lib/theme/utils.d.ts +0 -58
- package/lib/theme/utils.js +0 -326
- package/lib/theme/utils.js.map +0 -1
- package/lib/theme/utils.mjs +0 -319
- package/lib/theme/utils.mjs.map +0 -1
package/lib/theme/processor.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const writeIfChanged: (path: string, content: string) => Promise<void>;
|
package/lib/theme/processor.js
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.writeIfChanged = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
10
|
-
var _regenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/regenerator"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var _nodeChild_process = require("node:child_process");
|
|
13
|
-
var _promises = _interopRequireDefault(require("node:fs/promises"));
|
|
14
|
-
var _nodePath = require("node:path");
|
|
15
|
-
var _nodeUrl = require("node:url");
|
|
16
|
-
var _fastGlob = _interopRequireDefault(require("fast-glob"));
|
|
17
|
-
var _postcss = _interopRequireDefault(require("postcss"));
|
|
18
|
-
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
|
|
19
|
-
var _utils = require("./utils");
|
|
20
|
-
var writeIfChanged = exports.writeIfChanged = /*#__PURE__*/function () {
|
|
21
|
-
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regenerator2["default"])().m(function _callee(path, content) {
|
|
22
|
-
var originalContent, _t;
|
|
23
|
-
return (0, _regenerator2["default"])().w(function (_context) {
|
|
24
|
-
while (1) switch (_context.p = _context.n) {
|
|
25
|
-
case 0:
|
|
26
|
-
_context.p = 0;
|
|
27
|
-
_context.n = 1;
|
|
28
|
-
return _promises["default"].readFile(path, 'utf-8');
|
|
29
|
-
case 1:
|
|
30
|
-
originalContent = _context.v;
|
|
31
|
-
if (!(originalContent.replace(/[\s\n]/g, '') === content.replace(/[\s\n]/g, ''))) {
|
|
32
|
-
_context.n = 2;
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
return _context.a(2);
|
|
36
|
-
case 2:
|
|
37
|
-
_context.n = 4;
|
|
38
|
-
break;
|
|
39
|
-
case 3:
|
|
40
|
-
_context.p = 3;
|
|
41
|
-
_t = _context.v;
|
|
42
|
-
case 4:
|
|
43
|
-
_context.n = 5;
|
|
44
|
-
return _promises["default"].writeFile(path, content);
|
|
45
|
-
case 5:
|
|
46
|
-
return _context.a(2);
|
|
47
|
-
}
|
|
48
|
-
}, _callee, null, [[0, 3]]);
|
|
49
|
-
}));
|
|
50
|
-
return function writeIfChanged(_x, _x2) {
|
|
51
|
-
return _ref.apply(this, arguments);
|
|
52
|
-
};
|
|
53
|
-
}();
|
|
54
|
-
var defaultTheme = 'light';
|
|
55
|
-
var themes = ['light', 'dark'];
|
|
56
|
-
var warning = !process.argv.includes('--no-warning');
|
|
57
|
-
var dirname = (0, _nodePath.resolve)((0, _nodeUrl.fileURLToPath)(import.meta.url), '..');
|
|
58
|
-
var autoTheme = {};
|
|
59
|
-
var _loop = function _loop() {
|
|
60
|
-
var theme = _themes[_i];
|
|
61
|
-
var prefix = 'intergalactic';
|
|
62
|
-
var _JSON$parse = JSON.parse(await _promises["default"].readFile((0, _nodePath.resolve)(dirname, "./".concat(theme, ".json")), 'utf-8')),
|
|
63
|
-
base = _JSON$parse.base,
|
|
64
|
-
tokens = _JSON$parse.tokens,
|
|
65
|
-
featureHighlight = _JSON$parse.featureHighlight;
|
|
66
|
-
var processed = (0, _utils.processTokens)(base, tokens, featureHighlight, prefix);
|
|
67
|
-
var values = processed.values,
|
|
68
|
-
types = processed.types,
|
|
69
|
-
rawValues = processed.rawValues,
|
|
70
|
-
descriptions = processed.descriptions,
|
|
71
|
-
basicTokens = processed.basicTokens,
|
|
72
|
-
highlightsTokens = processed.highlightsTokens;
|
|
73
|
-
var processedTokens = processed.processedTokens;
|
|
74
|
-
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".css"), (0, _utils.tokensToCss)(processedTokens));
|
|
75
|
-
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".ts"), (0, _utils.tokensToJs)(processedTokens));
|
|
76
|
-
if (highlightsTokens.length > 0) {
|
|
77
|
-
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".css"), (0, _utils.tokensToCss)(highlightsTokens));
|
|
78
|
-
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".ts"), (0, _utils.tokensToJs)(highlightsTokens));
|
|
79
|
-
}
|
|
80
|
-
autoTheme[theme] = processedTokens;
|
|
81
|
-
var usages = {};
|
|
82
|
-
if (theme === defaultTheme) {
|
|
83
|
-
await writeIfChanged('./semcore/core/src/theme/themes/default.css', (0, _utils.tokensToCss)(processedTokens));
|
|
84
|
-
await writeIfChanged('./semcore/core/src/theme/themes/default.ts', (0, _utils.tokensToJs)(processedTokens));
|
|
85
|
-
var projectCssPaths = (await (0, _fastGlob["default"])('./semcore/*/src/**/*.shadow.css', {
|
|
86
|
-
ignore: ['node_modules', 'lib']
|
|
87
|
-
})).filter(function (path) {
|
|
88
|
-
if (path.split('/').some(function (pathPart) {
|
|
89
|
-
return ['chart', 'email', 'table'].includes(pathPart);
|
|
90
|
-
})) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
});
|
|
95
|
-
var projectCssContents = await Promise.all(projectCssPaths.map(function (path) {
|
|
96
|
-
return _promises["default"].readFile(path, 'utf-8');
|
|
97
|
-
}));
|
|
98
|
-
var usedVariables = {};
|
|
99
|
-
var colorLiterals = [];
|
|
100
|
-
var processedCss = await Promise.all(projectCssContents.map(function (cssContent, fileIndex) {
|
|
101
|
-
return (0, _postcss["default"])([{
|
|
102
|
-
postcssPlugin: 'variables-explored',
|
|
103
|
-
prepare: function prepare(result) {
|
|
104
|
-
var _traverseAst = function traverseAst(nodes) {
|
|
105
|
-
var _iterator = (0, _createForOfIteratorHelper2["default"])(nodes),
|
|
106
|
-
_step;
|
|
107
|
-
try {
|
|
108
|
-
var _loop2 = function _loop2() {
|
|
109
|
-
var node = _step.value;
|
|
110
|
-
if (node.nodes) {
|
|
111
|
-
_traverseAst(node.nodes);
|
|
112
|
-
}
|
|
113
|
-
if (node.value) {
|
|
114
|
-
var valueAst = (0, _postcssValueParser["default"])(node.value);
|
|
115
|
-
var _traverseValueAst = function traverseValueAst(nodes, parent) {
|
|
116
|
-
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(nodes),
|
|
117
|
-
_step2;
|
|
118
|
-
try {
|
|
119
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
120
|
-
var _usages$withoutPrefix;
|
|
121
|
-
var valueNode = _step2.value;
|
|
122
|
-
if (valueNode.nodes) _traverseValueAst(valueNode.nodes, valueNode);
|
|
123
|
-
if (valueNode.type === 'function' && valueNode.value === 'color-mod') {
|
|
124
|
-
throw new Error("Found restricted function color-mod in ".concat(projectCssPaths[fileIndex]));
|
|
125
|
-
}
|
|
126
|
-
var parentIsVariable = (parent === null || parent === void 0 ? void 0 : parent.type) === 'function' && (parent === null || parent === void 0 ? void 0 : parent.value) === 'var';
|
|
127
|
-
if (!parentIsVariable) {
|
|
128
|
-
var prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];
|
|
129
|
-
var skipNode = (prevNode === null || prevNode === void 0 ? void 0 : prevNode.type) === 'comment' && prevNode.text.trim() === 'disable-tokens-validator';
|
|
130
|
-
if (skipNode) continue;
|
|
131
|
-
if (valueNode.type === 'word' && (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))) {
|
|
132
|
-
var location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
|
|
133
|
-
colorLiterals.push({
|
|
134
|
-
path: "".concat(projectCssPaths[fileIndex], ":").concat(location),
|
|
135
|
-
name: valueNode.value
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
if (valueNode.type === 'word' && valueNode.value.endsWith('px') && (node.prop.includes('padding') || node.prop.includes('margin') || node.prop.includes('radius') || node.prop.includes('font-size'))) {
|
|
139
|
-
var _location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
|
|
140
|
-
colorLiterals.push({
|
|
141
|
-
path: "".concat(projectCssPaths[fileIndex], ":").concat(_location),
|
|
142
|
-
name: valueNode.value
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;
|
|
147
|
-
var variableName = valueNode.nodes[0].value;
|
|
148
|
-
if (!variableName.startsWith("--".concat(prefix))) {
|
|
149
|
-
// if (legacyCssVariables[variableName] !== undefined) {
|
|
150
|
-
// legacyCssVariables[variableName]++;
|
|
151
|
-
// }
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
var hasDefault = valueNode.nodes.length === 3;
|
|
155
|
-
if (!hasDefault) {
|
|
156
|
-
valueNode.nodes.push({
|
|
157
|
-
type: 'div',
|
|
158
|
-
sourceIndex: -1,
|
|
159
|
-
value: ',',
|
|
160
|
-
before: '',
|
|
161
|
-
after: ' '
|
|
162
|
-
}, {
|
|
163
|
-
type: 'word',
|
|
164
|
-
sourceIndex: -1,
|
|
165
|
-
value: ''
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
var withoutPrefix = variableName.substring("--".concat(prefix, "-").length);
|
|
169
|
-
usedVariables[withoutPrefix] = true;
|
|
170
|
-
if (!values[withoutPrefix]) {
|
|
171
|
-
throw new Error("Variable ".concat(variableName, " is used in project but not presented in design tokens list"));
|
|
172
|
-
}
|
|
173
|
-
valueNode.nodes[2].type = 'word';
|
|
174
|
-
valueNode.nodes[2].value = values[withoutPrefix];
|
|
175
|
-
valueNode.nodes[2].nodes = [];
|
|
176
|
-
valueNode.nodes.length = 3;
|
|
177
|
-
usages[withoutPrefix] = (_usages$withoutPrefix = usages[withoutPrefix]) !== null && _usages$withoutPrefix !== void 0 ? _usages$withoutPrefix : [];
|
|
178
|
-
usages[withoutPrefix].push(projectCssPaths[fileIndex]);
|
|
179
|
-
}
|
|
180
|
-
} catch (err) {
|
|
181
|
-
_iterator2.e(err);
|
|
182
|
-
} finally {
|
|
183
|
-
_iterator2.f();
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
_traverseValueAst(valueAst.nodes, null);
|
|
187
|
-
node.value = valueAst.toString();
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
191
|
-
_loop2();
|
|
192
|
-
}
|
|
193
|
-
} catch (err) {
|
|
194
|
-
_iterator.e(err);
|
|
195
|
-
} finally {
|
|
196
|
-
_iterator.f();
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
_traverseAst(result.root.nodes);
|
|
200
|
-
return {};
|
|
201
|
-
}
|
|
202
|
-
}]).process(cssContent, {
|
|
203
|
-
from: undefined
|
|
204
|
-
});
|
|
205
|
-
}));
|
|
206
|
-
await Promise.all(projectCssPaths.map(function (path, index) {
|
|
207
|
-
return writeIfChanged(path, processedCss[index].css);
|
|
208
|
-
}));
|
|
209
|
-
var unusedVariables = [];
|
|
210
|
-
for (var variable in values) {
|
|
211
|
-
if (!usedVariables[variable]) {
|
|
212
|
-
unusedVariables.push(variable);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
if (warning) {
|
|
216
|
-
if (unusedVariables.length > 0) {
|
|
217
|
-
// eslint-disable-next-line no-console
|
|
218
|
-
console.log('Unused design tokens:');
|
|
219
|
-
// eslint-disable-next-line no-console
|
|
220
|
-
console.log(unusedVariables.join('\n'));
|
|
221
|
-
}
|
|
222
|
-
if (colorLiterals.length > 0) {
|
|
223
|
-
// eslint-disable-next-line no-console
|
|
224
|
-
console.log('Unexpected color literals:');
|
|
225
|
-
var _iterator3 = (0, _createForOfIteratorHelper2["default"])(colorLiterals),
|
|
226
|
-
_step3;
|
|
227
|
-
try {
|
|
228
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
229
|
-
var literal = _step3.value;
|
|
230
|
-
// eslint-disable-next-line no-console
|
|
231
|
-
console.log("".concat(literal.name, " in ").concat(literal.path));
|
|
232
|
-
}
|
|
233
|
-
} catch (err) {
|
|
234
|
-
_iterator3.e(err);
|
|
235
|
-
} finally {
|
|
236
|
-
_iterator3.f();
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
var designTokensDocumentation = [];
|
|
241
|
-
for (var token in values) {
|
|
242
|
-
if (!basicTokens.has(token)) {
|
|
243
|
-
var _usages$token;
|
|
244
|
-
var components = (0, _toConsumableArray2["default"])(new Set(((_usages$token = usages[token]) !== null && _usages$token !== void 0 ? _usages$token : []).map(function (cssPath) {
|
|
245
|
-
return cssPath.split('/')[2];
|
|
246
|
-
})));
|
|
247
|
-
components.sort(function (a, b) {
|
|
248
|
-
return a.localeCompare(b);
|
|
249
|
-
});
|
|
250
|
-
designTokensDocumentation.push({
|
|
251
|
-
name: "--".concat(prefix, "-").concat(token),
|
|
252
|
-
type: types[token],
|
|
253
|
-
rawValue: rawValues[token],
|
|
254
|
-
computedValue: values[token],
|
|
255
|
-
description: descriptions[token],
|
|
256
|
-
components: components
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
var baseTokensDocumentation = [];
|
|
261
|
-
var _processGroup = function processGroup(group, data) {
|
|
262
|
-
for (var key in data) {
|
|
263
|
-
if (data[key].value) {
|
|
264
|
-
var _data$key$description;
|
|
265
|
-
var _token = {
|
|
266
|
-
name: "--".concat(group, "-").concat(key),
|
|
267
|
-
value: data[key].value
|
|
268
|
-
};
|
|
269
|
-
if ((_data$key$description = data[key].description) !== null && _data$key$description !== void 0 && _data$key$description.trim()) {
|
|
270
|
-
_token.description = data[key].description;
|
|
271
|
-
}
|
|
272
|
-
baseTokensDocumentation.push(_token);
|
|
273
|
-
} else {
|
|
274
|
-
_processGroup("".concat(group, "-").concat(key), data[key]);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
for (var group in base) {
|
|
279
|
-
_processGroup(group, base[group]);
|
|
280
|
-
}
|
|
281
|
-
await writeIfChanged((0, _nodePath.resolve)(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'), JSON.stringify(designTokensDocumentation, null, 2) + '\n');
|
|
282
|
-
await writeIfChanged((0, _nodePath.resolve)(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'), JSON.stringify(baseTokensDocumentation, null, 2) + '\n');
|
|
283
|
-
}
|
|
284
|
-
};
|
|
285
|
-
for (var _i = 0, _themes = themes; _i < _themes.length; _i++) {
|
|
286
|
-
_loop();
|
|
287
|
-
}
|
|
288
|
-
var autoThemeLines = [];
|
|
289
|
-
for (var theme in autoTheme) {
|
|
290
|
-
var selector = theme === defaultTheme ? ':root' : ".".concat(theme);
|
|
291
|
-
autoThemeLines.push((0, _utils.tokensToCss)(autoTheme[theme], selector));
|
|
292
|
-
}
|
|
293
|
-
await writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\n'));
|
|
294
|
-
(0, _nodeChild_process.execSync)('pnpm lint:css --fix', {
|
|
295
|
-
encoding: 'utf-8',
|
|
296
|
-
cwd: (0, _nodePath.resolve)(dirname, '../../../../'),
|
|
297
|
-
stdio: ['inherit', 'inherit', 'inherit']
|
|
298
|
-
});
|
|
299
|
-
//# sourceMappingURL=processor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","exports","_ref","_asyncToGenerator2","_regenerator2","m","_callee","path","content","originalContent","_t","w","_context","p","n","fs","readFile","v","replace","a","writeFile","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","JSON","parse","concat","base","tokens","featureHighlight","processed","processTokens","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","tokensToCss","tokensToJs","length","usages","projectCssPaths","glob","ignore","filter","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper2","_step","_loop2","node","value","valueAst","valuesParser","traverseValueAst","parent","_iterator2","_step2","s","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","push","name","endsWith","prop","variableName","hasDefault","sourceIndex","before","after","withoutPrefix","substring","err","e","f","toString","root","from","undefined","index","css","unusedVariables","variable","console","log","join","_iterator3","_step3","literal","designTokensDocumentation","token","has","_usages$token","components","_toConsumableArray2","Set","cssPath","sort","b","localeCompare","rawValue","computedValue","description","baseTokensDocumentation","processGroup","group","data","key","_data$key$description","stringify","autoThemeLines","selector","execSync","encoding","cwd","stdio"],"sources":["../../src/theme/processor.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport fs from 'node:fs/promises';\nimport { resolve as resolvePath } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport glob from 'fast-glob';\nimport postcss from 'postcss';\nimport valuesParser from 'postcss-value-parser';\n\nimport { processTokens, tokensToCss, tokensToJs, tokensToJson } from './utils';\n\ntype Token = {\n name: string;\n value: string;\n description?: string;\n};\n\nexport const writeIfChanged = async (path: string, content: string) => {\n try {\n const originalContent = await fs.readFile(path, 'utf-8');\n if (originalContent.replace(/[\\s\\n]/g, '') === content.replace(/[\\s\\n]/g, '')) {\n return;\n }\n } catch {}\n await fs.writeFile(path, content);\n};\n\nconst defaultTheme = 'light';\nconst themes = ['light', 'dark'];\n\nconst warning = !process.argv.includes('--no-warning');\n\nconst dirname = resolvePath(fileURLToPath(import.meta.url), '..');\n\nconst autoTheme: Record<string, { name: string; value: string; description: string }[]> = {};\n\nfor (const theme of themes) {\n const prefix = 'intergalactic';\n const { base, tokens, featureHighlight } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n featureHighlight,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens, highlightsTokens } = processed;\n const { processedTokens } = processed;\n\n await writeIfChanged(\n `./semcore/core/src/theme/themes/${theme}.css`,\n tokensToCss(processedTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));\n\n if (highlightsTokens.length > 0) {\n await writeIfChanged(\n `./semcore/core/src/theme/themes/highlights-${theme}.css`,\n tokensToCss(highlightsTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));\n }\n\n autoTheme[theme] = processedTokens;\n\n const usages: { [tokenName: string]: string[] } = {};\n if (theme === defaultTheme) {\n await writeIfChanged(\n './semcore/core/src/theme/themes/default.css',\n tokensToCss(processedTokens),\n );\n await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));\n\n const projectCssPaths = (\n await glob('./semcore/*/src/**/*.shadow.css', {\n ignore: ['node_modules', 'lib'],\n })\n ).filter((path) => {\n if (path.split('/').some((pathPart) => ['chart', 'email', 'table'].includes(pathPart))) {\n return false;\n }\n return true;\n });\n\n const projectCssContents = await Promise.all(\n projectCssPaths.map((path) => fs.readFile(path, 'utf-8')),\n );\n\n const usedVariables: any = {};\n\n const colorLiterals: { path: string; name: string }[] = [];\n\n const processedCss = await Promise.all(\n projectCssContents.map((cssContent, fileIndex) =>\n postcss([\n {\n postcssPlugin: 'variables-explored',\n prepare: (result) => {\n const traverseAst = (nodes: any[]) => {\n for (const node of nodes) {\n if (node.nodes) {\n traverseAst(node.nodes);\n }\n if (node.value) {\n const valueAst = valuesParser(node.value);\n const traverseValueAst = (nodes: any[], parent: any) => {\n for (const valueNode of nodes) {\n if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);\n if (valueNode.type === 'function' && valueNode.value === 'color-mod') {\n throw new Error(\n `Found restricted function color-mod in ${projectCssPaths[fileIndex]}`,\n );\n }\n\n const parentIsVariable =\n parent?.type === 'function' && parent?.value === 'var';\n if (!parentIsVariable) {\n const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];\n const skipNode =\n prevNode?.type === 'comment' &&\n prevNode.text.trim() === 'disable-tokens-validator';\n if (skipNode) continue;\n\n if (\n valueNode.type === 'word' &&\n (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n if (\n valueNode.type === 'word' &&\n valueNode.value.endsWith('px') &&\n (node.prop.includes('padding') ||\n node.prop.includes('margin') ||\n node.prop.includes('radius') ||\n node.prop.includes('font-size'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n }\n if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;\n const variableName = valueNode.nodes[0].value;\n if (!variableName.startsWith(`--${prefix}`)) {\n // if (legacyCssVariables[variableName] !== undefined) {\n // legacyCssVariables[variableName]++;\n // }\n continue;\n }\n const hasDefault = valueNode.nodes.length === 3;\n if (!hasDefault) {\n valueNode.nodes.push(\n {\n type: 'div',\n sourceIndex: -1,\n value: ',',\n before: '',\n after: ' ',\n },\n {\n type: 'word',\n sourceIndex: -1,\n value: '',\n },\n );\n }\n const withoutPrefix = variableName.substring(`--${prefix}-`.length);\n usedVariables[withoutPrefix] = true;\n if (!values[withoutPrefix]) {\n throw new Error(\n `Variable ${variableName} is used in project but not presented in design tokens list`,\n );\n }\n valueNode.nodes[2].type = 'word';\n valueNode.nodes[2].value = values[withoutPrefix];\n valueNode.nodes[2].nodes = [];\n valueNode.nodes.length = 3;\n usages[withoutPrefix] = usages[withoutPrefix] ?? [];\n usages[withoutPrefix].push(projectCssPaths[fileIndex]);\n }\n };\n traverseValueAst(valueAst.nodes, null);\n node.value = valueAst.toString();\n }\n }\n };\n traverseAst(result.root.nodes);\n return {};\n },\n },\n ]).process(cssContent, {\n from: undefined,\n }),\n ),\n );\n await Promise.all(\n projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)),\n );\n\n const unusedVariables: string[] = [];\n for (const variable in values) {\n if (!usedVariables[variable]) {\n unusedVariables.push(variable);\n }\n }\n\n if (warning) {\n if (unusedVariables.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unused design tokens:');\n // eslint-disable-next-line no-console\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\n // eslint-disable-next-line no-console\n console.log(`${literal.name} in ${literal.path}`);\n }\n }\n }\n\n const designTokensDocumentation: {\n name: string;\n type: string;\n rawValue: string;\n computedValue: string;\n description: string;\n components: string[];\n }[] = [];\n\n for (const token in values) {\n if (!basicTokens.has(token)) {\n const components = [\n ...new Set((usages[token] ?? []).map((cssPath) => cssPath.split('/')[2])),\n ];\n components.sort((a, b) => a.localeCompare(b));\n\n designTokensDocumentation.push({\n name: `--${prefix}-${token}`,\n type: types[token],\n rawValue: rawValues[token],\n computedValue: values[token],\n description: descriptions[token],\n components,\n });\n }\n }\n\n const baseTokensDocumentation: Token[] = [];\n\n const processGroup = (group: string, data: any) => {\n for (const key in data) {\n if (data[key].value) {\n const token: Token = {\n name: `--${group}-${key}`,\n value: data[key].value,\n };\n\n if (data[key].description?.trim()) {\n token.description = data[key].description;\n }\n\n baseTokensDocumentation.push(token);\n } else {\n processGroup(`${group}-${key}`, data[key]);\n }\n }\n };\n\n for (const group in base) {\n processGroup(group, base[group]);\n }\n\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'),\n JSON.stringify(designTokensDocumentation, null, 2) + '\\n',\n );\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'),\n JSON.stringify(baseTokensDocumentation, null, 2) + '\\n',\n );\n }\n}\n\nconst autoThemeLines: string[] = [];\nfor (const theme in autoTheme) {\n const selector = theme === defaultTheme ? ':root' : `.${theme}`;\n autoThemeLines.push(tokensToCss(autoTheme[theme], selector));\n}\n\nawait writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\\n'));\n\nexecSync('pnpm lint:css --fix', {\n encoding: 'utf-8',\n cwd: resolvePath(dirname, '../../../../'),\n stdio: ['inherit', 'inherit', 'inherit'],\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/theme/processor.mjs
DELETED
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
-
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
|
-
import _regenerator from "@babel/runtime/helpers/esm/regenerator";
|
|
4
|
-
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
5
|
-
import { execSync } from 'node:child_process';
|
|
6
|
-
import fs from 'node:fs/promises';
|
|
7
|
-
import { resolve as resolvePath } from 'node:path';
|
|
8
|
-
import { fileURLToPath } from 'node:url';
|
|
9
|
-
import glob from 'fast-glob';
|
|
10
|
-
import postcss from 'postcss';
|
|
11
|
-
import valuesParser from 'postcss-value-parser';
|
|
12
|
-
import { processTokens, tokensToCss, tokensToJs } from "./utils.mjs";
|
|
13
|
-
export var writeIfChanged = /*#__PURE__*/function () {
|
|
14
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(path, content) {
|
|
15
|
-
var originalContent, _t;
|
|
16
|
-
return _regenerator().w(function (_context) {
|
|
17
|
-
while (1) switch (_context.p = _context.n) {
|
|
18
|
-
case 0:
|
|
19
|
-
_context.p = 0;
|
|
20
|
-
_context.n = 1;
|
|
21
|
-
return fs.readFile(path, 'utf-8');
|
|
22
|
-
case 1:
|
|
23
|
-
originalContent = _context.v;
|
|
24
|
-
if (!(originalContent.replace(/[\s\n]/g, '') === content.replace(/[\s\n]/g, ''))) {
|
|
25
|
-
_context.n = 2;
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
return _context.a(2);
|
|
29
|
-
case 2:
|
|
30
|
-
_context.n = 4;
|
|
31
|
-
break;
|
|
32
|
-
case 3:
|
|
33
|
-
_context.p = 3;
|
|
34
|
-
_t = _context.v;
|
|
35
|
-
case 4:
|
|
36
|
-
_context.n = 5;
|
|
37
|
-
return fs.writeFile(path, content);
|
|
38
|
-
case 5:
|
|
39
|
-
return _context.a(2);
|
|
40
|
-
}
|
|
41
|
-
}, _callee, null, [[0, 3]]);
|
|
42
|
-
}));
|
|
43
|
-
return function writeIfChanged(_x, _x2) {
|
|
44
|
-
return _ref.apply(this, arguments);
|
|
45
|
-
};
|
|
46
|
-
}();
|
|
47
|
-
var defaultTheme = 'light';
|
|
48
|
-
var themes = ['light', 'dark'];
|
|
49
|
-
var warning = !process.argv.includes('--no-warning');
|
|
50
|
-
var dirname = resolvePath(fileURLToPath(import.meta.url), '..');
|
|
51
|
-
var autoTheme = {};
|
|
52
|
-
var _loop = function _loop() {
|
|
53
|
-
var theme = _themes[_i];
|
|
54
|
-
var prefix = 'intergalactic';
|
|
55
|
-
var _JSON$parse = JSON.parse(await fs.readFile(resolvePath(dirname, "./".concat(theme, ".json")), 'utf-8')),
|
|
56
|
-
base = _JSON$parse.base,
|
|
57
|
-
tokens = _JSON$parse.tokens,
|
|
58
|
-
featureHighlight = _JSON$parse.featureHighlight;
|
|
59
|
-
var processed = processTokens(base, tokens, featureHighlight, prefix);
|
|
60
|
-
var values = processed.values,
|
|
61
|
-
types = processed.types,
|
|
62
|
-
rawValues = processed.rawValues,
|
|
63
|
-
descriptions = processed.descriptions,
|
|
64
|
-
basicTokens = processed.basicTokens,
|
|
65
|
-
highlightsTokens = processed.highlightsTokens;
|
|
66
|
-
var processedTokens = processed.processedTokens;
|
|
67
|
-
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".css"), tokensToCss(processedTokens));
|
|
68
|
-
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".ts"), tokensToJs(processedTokens));
|
|
69
|
-
if (highlightsTokens.length > 0) {
|
|
70
|
-
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".css"), tokensToCss(highlightsTokens));
|
|
71
|
-
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".ts"), tokensToJs(highlightsTokens));
|
|
72
|
-
}
|
|
73
|
-
autoTheme[theme] = processedTokens;
|
|
74
|
-
var usages = {};
|
|
75
|
-
if (theme === defaultTheme) {
|
|
76
|
-
await writeIfChanged('./semcore/core/src/theme/themes/default.css', tokensToCss(processedTokens));
|
|
77
|
-
await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));
|
|
78
|
-
var projectCssPaths = (await glob('./semcore/*/src/**/*.shadow.css', {
|
|
79
|
-
ignore: ['node_modules', 'lib']
|
|
80
|
-
})).filter(function (path) {
|
|
81
|
-
if (path.split('/').some(function (pathPart) {
|
|
82
|
-
return ['chart', 'email', 'table'].includes(pathPart);
|
|
83
|
-
})) {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
return true;
|
|
87
|
-
});
|
|
88
|
-
var projectCssContents = await Promise.all(projectCssPaths.map(function (path) {
|
|
89
|
-
return fs.readFile(path, 'utf-8');
|
|
90
|
-
}));
|
|
91
|
-
var usedVariables = {};
|
|
92
|
-
var colorLiterals = [];
|
|
93
|
-
var processedCss = await Promise.all(projectCssContents.map(function (cssContent, fileIndex) {
|
|
94
|
-
return postcss([{
|
|
95
|
-
postcssPlugin: 'variables-explored',
|
|
96
|
-
prepare: function prepare(result) {
|
|
97
|
-
var _traverseAst = function traverseAst(nodes) {
|
|
98
|
-
var _iterator = _createForOfIteratorHelper(nodes),
|
|
99
|
-
_step;
|
|
100
|
-
try {
|
|
101
|
-
var _loop2 = function _loop2() {
|
|
102
|
-
var node = _step.value;
|
|
103
|
-
if (node.nodes) {
|
|
104
|
-
_traverseAst(node.nodes);
|
|
105
|
-
}
|
|
106
|
-
if (node.value) {
|
|
107
|
-
var valueAst = valuesParser(node.value);
|
|
108
|
-
var _traverseValueAst = function traverseValueAst(nodes, parent) {
|
|
109
|
-
var _iterator2 = _createForOfIteratorHelper(nodes),
|
|
110
|
-
_step2;
|
|
111
|
-
try {
|
|
112
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
113
|
-
var _usages$withoutPrefix;
|
|
114
|
-
var valueNode = _step2.value;
|
|
115
|
-
if (valueNode.nodes) _traverseValueAst(valueNode.nodes, valueNode);
|
|
116
|
-
if (valueNode.type === 'function' && valueNode.value === 'color-mod') {
|
|
117
|
-
throw new Error("Found restricted function color-mod in ".concat(projectCssPaths[fileIndex]));
|
|
118
|
-
}
|
|
119
|
-
var parentIsVariable = (parent === null || parent === void 0 ? void 0 : parent.type) === 'function' && (parent === null || parent === void 0 ? void 0 : parent.value) === 'var';
|
|
120
|
-
if (!parentIsVariable) {
|
|
121
|
-
var prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];
|
|
122
|
-
var skipNode = (prevNode === null || prevNode === void 0 ? void 0 : prevNode.type) === 'comment' && prevNode.text.trim() === 'disable-tokens-validator';
|
|
123
|
-
if (skipNode) continue;
|
|
124
|
-
if (valueNode.type === 'word' && (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))) {
|
|
125
|
-
var location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
|
|
126
|
-
colorLiterals.push({
|
|
127
|
-
path: "".concat(projectCssPaths[fileIndex], ":").concat(location),
|
|
128
|
-
name: valueNode.value
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
if (valueNode.type === 'word' && valueNode.value.endsWith('px') && (node.prop.includes('padding') || node.prop.includes('margin') || node.prop.includes('radius') || node.prop.includes('font-size'))) {
|
|
132
|
-
var _location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
|
|
133
|
-
colorLiterals.push({
|
|
134
|
-
path: "".concat(projectCssPaths[fileIndex], ":").concat(_location),
|
|
135
|
-
name: valueNode.value
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;
|
|
140
|
-
var variableName = valueNode.nodes[0].value;
|
|
141
|
-
if (!variableName.startsWith("--".concat(prefix))) {
|
|
142
|
-
// if (legacyCssVariables[variableName] !== undefined) {
|
|
143
|
-
// legacyCssVariables[variableName]++;
|
|
144
|
-
// }
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
var hasDefault = valueNode.nodes.length === 3;
|
|
148
|
-
if (!hasDefault) {
|
|
149
|
-
valueNode.nodes.push({
|
|
150
|
-
type: 'div',
|
|
151
|
-
sourceIndex: -1,
|
|
152
|
-
value: ',',
|
|
153
|
-
before: '',
|
|
154
|
-
after: ' '
|
|
155
|
-
}, {
|
|
156
|
-
type: 'word',
|
|
157
|
-
sourceIndex: -1,
|
|
158
|
-
value: ''
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
var withoutPrefix = variableName.substring("--".concat(prefix, "-").length);
|
|
162
|
-
usedVariables[withoutPrefix] = true;
|
|
163
|
-
if (!values[withoutPrefix]) {
|
|
164
|
-
throw new Error("Variable ".concat(variableName, " is used in project but not presented in design tokens list"));
|
|
165
|
-
}
|
|
166
|
-
valueNode.nodes[2].type = 'word';
|
|
167
|
-
valueNode.nodes[2].value = values[withoutPrefix];
|
|
168
|
-
valueNode.nodes[2].nodes = [];
|
|
169
|
-
valueNode.nodes.length = 3;
|
|
170
|
-
usages[withoutPrefix] = (_usages$withoutPrefix = usages[withoutPrefix]) !== null && _usages$withoutPrefix !== void 0 ? _usages$withoutPrefix : [];
|
|
171
|
-
usages[withoutPrefix].push(projectCssPaths[fileIndex]);
|
|
172
|
-
}
|
|
173
|
-
} catch (err) {
|
|
174
|
-
_iterator2.e(err);
|
|
175
|
-
} finally {
|
|
176
|
-
_iterator2.f();
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
_traverseValueAst(valueAst.nodes, null);
|
|
180
|
-
node.value = valueAst.toString();
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
184
|
-
_loop2();
|
|
185
|
-
}
|
|
186
|
-
} catch (err) {
|
|
187
|
-
_iterator.e(err);
|
|
188
|
-
} finally {
|
|
189
|
-
_iterator.f();
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
_traverseAst(result.root.nodes);
|
|
193
|
-
return {};
|
|
194
|
-
}
|
|
195
|
-
}]).process(cssContent, {
|
|
196
|
-
from: undefined
|
|
197
|
-
});
|
|
198
|
-
}));
|
|
199
|
-
await Promise.all(projectCssPaths.map(function (path, index) {
|
|
200
|
-
return writeIfChanged(path, processedCss[index].css);
|
|
201
|
-
}));
|
|
202
|
-
var unusedVariables = [];
|
|
203
|
-
for (var variable in values) {
|
|
204
|
-
if (!usedVariables[variable]) {
|
|
205
|
-
unusedVariables.push(variable);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
if (warning) {
|
|
209
|
-
if (unusedVariables.length > 0) {
|
|
210
|
-
// eslint-disable-next-line no-console
|
|
211
|
-
console.log('Unused design tokens:');
|
|
212
|
-
// eslint-disable-next-line no-console
|
|
213
|
-
console.log(unusedVariables.join('\n'));
|
|
214
|
-
}
|
|
215
|
-
if (colorLiterals.length > 0) {
|
|
216
|
-
// eslint-disable-next-line no-console
|
|
217
|
-
console.log('Unexpected color literals:');
|
|
218
|
-
var _iterator3 = _createForOfIteratorHelper(colorLiterals),
|
|
219
|
-
_step3;
|
|
220
|
-
try {
|
|
221
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
222
|
-
var literal = _step3.value;
|
|
223
|
-
// eslint-disable-next-line no-console
|
|
224
|
-
console.log("".concat(literal.name, " in ").concat(literal.path));
|
|
225
|
-
}
|
|
226
|
-
} catch (err) {
|
|
227
|
-
_iterator3.e(err);
|
|
228
|
-
} finally {
|
|
229
|
-
_iterator3.f();
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
var designTokensDocumentation = [];
|
|
234
|
-
for (var token in values) {
|
|
235
|
-
if (!basicTokens.has(token)) {
|
|
236
|
-
var _usages$token;
|
|
237
|
-
var components = _toConsumableArray(new Set(((_usages$token = usages[token]) !== null && _usages$token !== void 0 ? _usages$token : []).map(function (cssPath) {
|
|
238
|
-
return cssPath.split('/')[2];
|
|
239
|
-
})));
|
|
240
|
-
components.sort(function (a, b) {
|
|
241
|
-
return a.localeCompare(b);
|
|
242
|
-
});
|
|
243
|
-
designTokensDocumentation.push({
|
|
244
|
-
name: "--".concat(prefix, "-").concat(token),
|
|
245
|
-
type: types[token],
|
|
246
|
-
rawValue: rawValues[token],
|
|
247
|
-
computedValue: values[token],
|
|
248
|
-
description: descriptions[token],
|
|
249
|
-
components: components
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
var baseTokensDocumentation = [];
|
|
254
|
-
var _processGroup = function processGroup(group, data) {
|
|
255
|
-
for (var key in data) {
|
|
256
|
-
if (data[key].value) {
|
|
257
|
-
var _data$key$description;
|
|
258
|
-
var _token = {
|
|
259
|
-
name: "--".concat(group, "-").concat(key),
|
|
260
|
-
value: data[key].value
|
|
261
|
-
};
|
|
262
|
-
if ((_data$key$description = data[key].description) !== null && _data$key$description !== void 0 && _data$key$description.trim()) {
|
|
263
|
-
_token.description = data[key].description;
|
|
264
|
-
}
|
|
265
|
-
baseTokensDocumentation.push(_token);
|
|
266
|
-
} else {
|
|
267
|
-
_processGroup("".concat(group, "-").concat(key), data[key]);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
};
|
|
271
|
-
for (var group in base) {
|
|
272
|
-
_processGroup(group, base[group]);
|
|
273
|
-
}
|
|
274
|
-
await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'), JSON.stringify(designTokensDocumentation, null, 2) + '\n');
|
|
275
|
-
await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'), JSON.stringify(baseTokensDocumentation, null, 2) + '\n');
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
for (var _i = 0, _themes = themes; _i < _themes.length; _i++) {
|
|
279
|
-
_loop();
|
|
280
|
-
}
|
|
281
|
-
var autoThemeLines = [];
|
|
282
|
-
for (var theme in autoTheme) {
|
|
283
|
-
var selector = theme === defaultTheme ? ':root' : ".".concat(theme);
|
|
284
|
-
autoThemeLines.push(tokensToCss(autoTheme[theme], selector));
|
|
285
|
-
}
|
|
286
|
-
await writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\n'));
|
|
287
|
-
execSync('pnpm lint:css --fix', {
|
|
288
|
-
encoding: 'utf-8',
|
|
289
|
-
cwd: resolvePath(dirname, '../../../../'),
|
|
290
|
-
stdio: ['inherit', 'inherit', 'inherit']
|
|
291
|
-
});
|
|
292
|
-
//# sourceMappingURL=processor.mjs.map
|