@semcore/core 16.5.1 → 16.5.2-prerelease.1

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +4 -4
  3. package/lib/theme/themes/auto.css +198 -198
  4. package/lib/theme/themes/dark.css +99 -99
  5. package/lib/theme/themes/dark.d.ts +59 -59
  6. package/lib/theme/themes/dark.js +59 -59
  7. package/lib/theme/themes/dark.js.map +1 -1
  8. package/lib/theme/themes/dark.mjs +59 -59
  9. package/lib/theme/themes/dark.mjs.map +1 -1
  10. package/lib/theme/themes/default.css +100 -100
  11. package/lib/theme/themes/default.d.ts +59 -59
  12. package/lib/theme/themes/default.js +59 -59
  13. package/lib/theme/themes/default.js.map +1 -1
  14. package/lib/theme/themes/default.mjs +59 -59
  15. package/lib/theme/themes/default.mjs.map +1 -1
  16. package/lib/theme/themes/light.css +100 -100
  17. package/lib/theme/themes/light.d.ts +59 -59
  18. package/lib/theme/themes/light.js +59 -59
  19. package/lib/theme/themes/light.js.map +1 -1
  20. package/lib/theme/themes/light.mjs +59 -59
  21. package/lib/theme/themes/light.mjs.map +1 -1
  22. package/lib/utils/ScreenReaderOnly.d.ts +4 -4
  23. package/lib/utils/ScreenReaderOnly.js +3 -3
  24. package/lib/utils/ScreenReaderOnly.js.map +1 -1
  25. package/lib/utils/ScreenReaderOnly.mjs +2 -2
  26. package/lib/utils/ScreenReaderOnly.mjs.map +1 -1
  27. package/lib/utils/injectStyle.js +1 -1
  28. package/lib/utils/injectStyle.mjs +1 -1
  29. package/lib/utils/isInteractiveElement.js +1 -1
  30. package/lib/utils/isInteractiveElement.js.map +1 -1
  31. package/lib/utils/isInteractiveElement.mjs +1 -1
  32. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  33. package/lib/utils/use/usePreventScroll.js +7 -9
  34. package/lib/utils/use/usePreventScroll.js.map +1 -1
  35. package/lib/utils/use/usePreventScroll.mjs +7 -9
  36. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  37. package/package.json +1 -1
  38. package/lib/theme/dark.json +0 -2695
  39. package/lib/theme/light.json +0 -2730
  40. package/lib/theme/processor.d.ts +0 -1
  41. package/lib/theme/processor.js +0 -299
  42. package/lib/theme/processor.js.map +0 -1
  43. package/lib/theme/processor.mjs +0 -292
  44. package/lib/theme/processor.mjs.map +0 -1
  45. package/lib/theme/utils.d.ts +0 -58
  46. package/lib/theme/utils.js +0 -326
  47. package/lib/theme/utils.js.map +0 -1
  48. package/lib/theme/utils.mjs +0 -319
  49. package/lib/theme/utils.mjs.map +0 -1
@@ -1 +0,0 @@
1
- export declare const writeIfChanged: (path: string, content: string) => Promise<void>;
@@ -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":[]}
@@ -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