@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processor.mjs","names":["execSync","fs","resolve","resolvePath","fileURLToPath","glob","postcss","valuesParser","processTokens","tokensToCss","tokensToJs","writeIfChanged","_ref","_asyncToGenerator","_regenerator","m","_callee","path","content","originalContent","_t","w","_context","p","n","readFile","v","replace","a","writeFile","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","import","meta","url","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","JSON","parse","concat","base","tokens","featureHighlight","processed","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","length","usages","projectCssPaths","ignore","filter","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper","_step","_loop2","node","value","valueAst","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","_toConsumableArray","Set","cssPath","sort","b","localeCompare","rawValue","computedValue","description","baseTokensDocumentation","processGroup","group","data","key","_data$key$description","stringify","autoThemeLines","selector","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/utils.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
type ExtensionsInput = {
|
|
2
|
-
'studio.tokens': {
|
|
3
|
-
modify: {
|
|
4
|
-
type: string;
|
|
5
|
-
value: number;
|
|
6
|
-
space: string;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
type TokensInput = {
|
|
11
|
-
[nestedKey: string]: TokensInput | {
|
|
12
|
-
value: string;
|
|
13
|
-
type: string;
|
|
14
|
-
description: string;
|
|
15
|
-
$extensions?: ExtensionsInput;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare const processTokens: (base: TokensInput, tokens: TokensInput, featureHighlight: TokensInput, prefix: string) => {
|
|
19
|
-
processedTokens: {
|
|
20
|
-
name: string;
|
|
21
|
-
value: string;
|
|
22
|
-
description: string;
|
|
23
|
-
}[];
|
|
24
|
-
highlightsTokens: {
|
|
25
|
-
name: string;
|
|
26
|
-
value: string;
|
|
27
|
-
description: string;
|
|
28
|
-
}[];
|
|
29
|
-
values: {
|
|
30
|
-
[tokenName: string]: string;
|
|
31
|
-
};
|
|
32
|
-
types: {
|
|
33
|
-
[tokenName: string]: string;
|
|
34
|
-
};
|
|
35
|
-
rawValues: {
|
|
36
|
-
[tokenName: string]: string;
|
|
37
|
-
};
|
|
38
|
-
descriptions: {
|
|
39
|
-
[tokenName: string]: string;
|
|
40
|
-
};
|
|
41
|
-
basicTokens: Set<string>;
|
|
42
|
-
};
|
|
43
|
-
export declare const tokensToCss: (tokens: {
|
|
44
|
-
name: string;
|
|
45
|
-
value: string;
|
|
46
|
-
description: string;
|
|
47
|
-
}[], selector?: string) => string;
|
|
48
|
-
export declare const tokensToJson: (tokens: {
|
|
49
|
-
name: string;
|
|
50
|
-
value: string;
|
|
51
|
-
description: string;
|
|
52
|
-
}[]) => string;
|
|
53
|
-
export declare const tokensToJs: (tokens: {
|
|
54
|
-
name: string;
|
|
55
|
-
value: string;
|
|
56
|
-
description: string;
|
|
57
|
-
}[]) => string;
|
|
58
|
-
export {};
|
package/lib/theme/utils.js
DELETED
|
@@ -1,326 +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.tokensToJson = exports.tokensToJs = exports.tokensToCss = exports.processTokens = void 0;
|
|
8
|
-
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
9
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
var _colorjs = _interopRequireDefault(require("colorjs.io"));
|
|
14
|
-
var Color = _colorjs["default"];
|
|
15
|
-
var processTokens = exports.processTokens = function processTokens(base, tokens, featureHighlight, prefix) {
|
|
16
|
-
var values = {};
|
|
17
|
-
var basicTokens = new Set();
|
|
18
|
-
var highlightTokens = new Set();
|
|
19
|
-
var modifications = {};
|
|
20
|
-
var types = {};
|
|
21
|
-
var descriptions = {};
|
|
22
|
-
var mixins = [];
|
|
23
|
-
var _traverse = function traverse(node) {
|
|
24
|
-
var pathParts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
25
|
-
var setToAdd = arguments.length > 2 ? arguments[2] : undefined;
|
|
26
|
-
for (var key in node) {
|
|
27
|
-
if (key === 'type') continue;
|
|
28
|
-
if (key === 'value') continue;
|
|
29
|
-
if (key === 'description') continue;
|
|
30
|
-
if (key === '$extensions') continue;
|
|
31
|
-
_traverse(node[key], [].concat((0, _toConsumableArray2["default"])(pathParts), [key]), setToAdd);
|
|
32
|
-
}
|
|
33
|
-
if ('type' in node && typeof node.type === 'string') {
|
|
34
|
-
var path = pathParts.join('-');
|
|
35
|
-
types[path] = node.type;
|
|
36
|
-
if ((0, _typeof2["default"])(node.value) === 'object') {
|
|
37
|
-
mixins.push(path);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (values[path]) {
|
|
41
|
-
throw new Error("Duplicated design token \"".concat(path, "\""));
|
|
42
|
-
}
|
|
43
|
-
values[path] = node.value;
|
|
44
|
-
setToAdd === null || setToAdd === void 0 || setToAdd.add(path);
|
|
45
|
-
if (typeof node.description === 'string') descriptions[path] = node.description;
|
|
46
|
-
if (node.$extensions) {
|
|
47
|
-
for (var extension in node.$extensions) {
|
|
48
|
-
if (extension === 'studio.tokens') {
|
|
49
|
-
var _modifications$path;
|
|
50
|
-
(_modifications$path = modifications[path]) !== null && _modifications$path !== void 0 ? _modifications$path : modifications[path] = [];
|
|
51
|
-
modifications[path].push(node.$extensions['studio.tokens'].modify);
|
|
52
|
-
} else {
|
|
53
|
-
throw new Error("Unsupported extension \"".concat(extension, "\" for design token \"").concat(path, "\""));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
_traverse(base, [], basicTokens);
|
|
60
|
-
_traverse(tokens);
|
|
61
|
-
_traverse(featureHighlight, [], highlightTokens);
|
|
62
|
-
var _resolveColor = function resolveColor(color) {
|
|
63
|
-
if (color.includes('linear-gradient')) {
|
|
64
|
-
if (color.includes('rgba')) {
|
|
65
|
-
return replaceColors(color);
|
|
66
|
-
} else {
|
|
67
|
-
return color.replace(/\{[a-z0-9.]+\}/g, _resolveColor);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (color.startsWith('rgba(') && color.endsWith(')')) {
|
|
71
|
-
var lastComa = color.lastIndexOf(',');
|
|
72
|
-
var alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));
|
|
73
|
-
if (Number.isNaN(alpha)) {
|
|
74
|
-
throw new Error("Unable to parse rgba of ".concat(color));
|
|
75
|
-
}
|
|
76
|
-
var resolvedColor = color.substring('rgba('.length, lastComa);
|
|
77
|
-
if (resolvedColor.startsWith('{')) resolvedColor = _resolveColor(resolvedColor);
|
|
78
|
-
if (resolvedColor.startsWith('$')) resolvedColor = _resolveColor(resolvedColor);
|
|
79
|
-
if (resolvedColor.startsWith('#')) {
|
|
80
|
-
if (resolvedColor.length === 1 + 3) {
|
|
81
|
-
resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]].map(function (hex) {
|
|
82
|
-
return Number.parseInt(hex, 16);
|
|
83
|
-
}).join(', ');
|
|
84
|
-
} else if (resolvedColor.length === 1 + 6) {
|
|
85
|
-
resolvedColor = [resolvedColor.substring(1, 3), resolvedColor.substring(3, 5), resolvedColor.substring(5, 7)].map(function (hex) {
|
|
86
|
-
return Number.parseInt(hex, 16);
|
|
87
|
-
}).join(', ');
|
|
88
|
-
} else {
|
|
89
|
-
throw new Error("Unable to convert hex ".concat(_resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (!resolvedColor || resolvedColor.split(',').length !== 3) {
|
|
93
|
-
throw new Error("Unable to produce rgba of ".concat(color, " (input format is not supported yet)"));
|
|
94
|
-
}
|
|
95
|
-
return "rgba(".concat(resolvedColor, ", ").concat(alpha, ")");
|
|
96
|
-
}
|
|
97
|
-
if (color.split(', ').length === 2) {
|
|
98
|
-
var baseColor = _resolveColor(color.split(', ')[0]);
|
|
99
|
-
var _map = (baseColor.length === 4 ? [baseColor[1], baseColor[2], baseColor[3]] : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]).map(function (chunk) {
|
|
100
|
-
return Number.parseInt(chunk, 16);
|
|
101
|
-
}),
|
|
102
|
-
_map2 = (0, _slicedToArray2["default"])(_map, 3),
|
|
103
|
-
r = _map2[0],
|
|
104
|
-
g = _map2[1],
|
|
105
|
-
b = _map2[2];
|
|
106
|
-
var a = Number.parseFloat(color.split(', ')[1]);
|
|
107
|
-
return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
|
|
108
|
-
}
|
|
109
|
-
if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {
|
|
110
|
-
var _getByPath$value, _getByPath;
|
|
111
|
-
var path = color.substring(1, color.length - 1);
|
|
112
|
-
var _resolvedColor = (_getByPath$value = (_getByPath = getByPath(base, path)) === null || _getByPath === void 0 ? void 0 : _getByPath.value) !== null && _getByPath$value !== void 0 ? _getByPath$value : values[path.split('.').join('-')];
|
|
113
|
-
if (!_resolvedColor) {
|
|
114
|
-
throw new Error("Color ".concat(color, " was not found in base palette"));
|
|
115
|
-
}
|
|
116
|
-
return _resolvedColor;
|
|
117
|
-
}
|
|
118
|
-
if (color.startsWith('$') && color.split('.').length > 0) {
|
|
119
|
-
var _getByPath$value2, _getByPath2;
|
|
120
|
-
var _path = color.substring(1);
|
|
121
|
-
var _resolvedColor2 = (_getByPath$value2 = (_getByPath2 = getByPath(base, _path)) === null || _getByPath2 === void 0 ? void 0 : _getByPath2.value) !== null && _getByPath$value2 !== void 0 ? _getByPath$value2 : values[_path.split('.').join('-')];
|
|
122
|
-
if (!_resolvedColor2) {
|
|
123
|
-
throw new Error("Color ".concat(color, " was not found"));
|
|
124
|
-
}
|
|
125
|
-
return _resolvedColor2;
|
|
126
|
-
}
|
|
127
|
-
if (color.startsWith('#')) {
|
|
128
|
-
return color;
|
|
129
|
-
}
|
|
130
|
-
throw new Error("Unable to process color ".concat(color));
|
|
131
|
-
};
|
|
132
|
-
var _resolveToken = function resolveToken(token) {
|
|
133
|
-
if (token.includes('*')) {
|
|
134
|
-
var _token$split = token.split('*'),
|
|
135
|
-
_token$split2 = (0, _slicedToArray2["default"])(_token$split, 2),
|
|
136
|
-
value = _token$split2[0],
|
|
137
|
-
factor = _token$split2[1];
|
|
138
|
-
var resolvedValue = _resolveToken(value);
|
|
139
|
-
if (!resolvedValue.endsWith('px')) {
|
|
140
|
-
throw new Error("Unsupported expression ".concat(token));
|
|
141
|
-
}
|
|
142
|
-
return "".concat(Number.parseFloat(resolvedValue) * Number.parseFloat(factor), "px");
|
|
143
|
-
} else if (token.includes('{') && token.includes('}')) {
|
|
144
|
-
var reference = token.substring(token.indexOf('{') + 1, token.indexOf('}')).replace(/\./g, '-');
|
|
145
|
-
var resolvedToken = token.substring(0, token.indexOf('{')) + values[reference] + token.substring(token.indexOf('}') + 1);
|
|
146
|
-
if (!resolvedToken || resolvedToken.includes('{')) {
|
|
147
|
-
throw new Error("On moment of resolving ".concat(token, ", ").concat(resolvedToken, " was not resolved yet"));
|
|
148
|
-
}
|
|
149
|
-
return resolvedToken;
|
|
150
|
-
} else {
|
|
151
|
-
return token;
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
var replaceColors = function replaceColors(str) {
|
|
155
|
-
var result = '';
|
|
156
|
-
for (var i = 0; i < str.length; i++) {
|
|
157
|
-
if (str.substring(i, i + 'rgba('.length) === 'rgba(') {
|
|
158
|
-
var start = i;
|
|
159
|
-
while (str[i] !== undefined && str[i] !== ')') i++;
|
|
160
|
-
result += _resolveColor(str.substring(start, i + 1));
|
|
161
|
-
} else {
|
|
162
|
-
result += str[i];
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return result;
|
|
166
|
-
};
|
|
167
|
-
var rawValues = (0, _objectSpread2["default"])({}, values);
|
|
168
|
-
for (var token in values) {
|
|
169
|
-
var _modifications$token;
|
|
170
|
-
if (types[token] === 'color') {
|
|
171
|
-
values[token] = _resolveColor(values[token]);
|
|
172
|
-
} else if (types[token] === 'boxShadow') {
|
|
173
|
-
values[token] = _resolveToken(values[token].split('; ').map(replaceColors).join(', '));
|
|
174
|
-
} else if (types[token] === 'sizing' || types[token] === 'spacing' || types[token] === 'borderRadius' || types[token] === 'other') {
|
|
175
|
-
values[token] = _resolveToken(values[token]);
|
|
176
|
-
}
|
|
177
|
-
var _iterator = (0, _createForOfIteratorHelper2["default"])((_modifications$token = modifications[token]) !== null && _modifications$token !== void 0 ? _modifications$token : []),
|
|
178
|
-
_step;
|
|
179
|
-
try {
|
|
180
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
181
|
-
var _values$token$match;
|
|
182
|
-
var modification = _step.value;
|
|
183
|
-
// refer to https://docs.tokens.studio/tokens/color-modifiers and https://github.com/tokens-studio/figma-plugin/tree/main/src/utils/color if extension is needed
|
|
184
|
-
|
|
185
|
-
rawValues[token] = "".concat(rawValues[token], " / ").concat(modification.type, "(").concat(modification.value, ") / ").concat(modification.space);
|
|
186
|
-
|
|
187
|
-
// array + regex to process gradients with several colors
|
|
188
|
-
var colorRegex = /(#[0-9a-f]{6}|rgba\([0-9., ]+\))/gi;
|
|
189
|
-
var colors = (_values$token$match = values[token].match(colorRegex)) !== null && _values$token$match !== void 0 ? _values$token$match : [];
|
|
190
|
-
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(colors),
|
|
191
|
-
_step2;
|
|
192
|
-
try {
|
|
193
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
194
|
-
var originalColor = _step2.value;
|
|
195
|
-
var color = new Color(originalColor);
|
|
196
|
-
if (modification.space === 'hsl') {
|
|
197
|
-
if (modification.type === 'lighten') {
|
|
198
|
-
var lightness = color.hsl.l;
|
|
199
|
-
var difference = 100 - lightness;
|
|
200
|
-
color.set('hsl.l', Math.min(100, lightness + difference * modification.value));
|
|
201
|
-
} else {
|
|
202
|
-
throw new Error("Unsupported color modification ".concat(modification.type, " of token ").concat(token));
|
|
203
|
-
}
|
|
204
|
-
} else {
|
|
205
|
-
throw new Error("Unsupported color space ".concat(modification.space, " of token ").concat(token));
|
|
206
|
-
}
|
|
207
|
-
color = color.to('sRGB');
|
|
208
|
-
var modifiedColor = '';
|
|
209
|
-
if (color.alpha !== 1) {
|
|
210
|
-
var r = Math.round(color.r * 255);
|
|
211
|
-
var g = Math.round(color.g * 255);
|
|
212
|
-
var b = Math.round(color.b * 255);
|
|
213
|
-
var a = color.alpha;
|
|
214
|
-
modifiedColor = "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
|
|
215
|
-
} else {
|
|
216
|
-
modifiedColor = color.toString({
|
|
217
|
-
format: 'hex'
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
values[token] = values[token].replace(originalColor, modifiedColor);
|
|
221
|
-
}
|
|
222
|
-
} catch (err) {
|
|
223
|
-
_iterator2.e(err);
|
|
224
|
-
} finally {
|
|
225
|
-
_iterator2.f();
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
} catch (err) {
|
|
229
|
-
_iterator.e(err);
|
|
230
|
-
} finally {
|
|
231
|
-
_iterator.f();
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
var processedTokens = [];
|
|
235
|
-
var highlightsTokens = [];
|
|
236
|
-
for (var _token in values) {
|
|
237
|
-
var isBase = basicTokens.has(_token);
|
|
238
|
-
(highlightTokens.has(_token) ? highlightsTokens : processedTokens).push({
|
|
239
|
-
name: isBase ? "--".concat(_token) : "--".concat(prefix, "-").concat(_token),
|
|
240
|
-
description: descriptions[_token],
|
|
241
|
-
value: values[_token]
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
return {
|
|
245
|
-
processedTokens: processedTokens,
|
|
246
|
-
highlightsTokens: highlightsTokens,
|
|
247
|
-
values: values,
|
|
248
|
-
types: types,
|
|
249
|
-
rawValues: rawValues,
|
|
250
|
-
descriptions: descriptions,
|
|
251
|
-
basicTokens: basicTokens
|
|
252
|
-
};
|
|
253
|
-
};
|
|
254
|
-
var tokensToCss = exports.tokensToCss = function tokensToCss(tokens) {
|
|
255
|
-
var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ':root';
|
|
256
|
-
var cssLines = [];
|
|
257
|
-
cssLines.push("".concat(selector, " {"));
|
|
258
|
-
var _iterator3 = (0, _createForOfIteratorHelper2["default"])(tokens),
|
|
259
|
-
_step3;
|
|
260
|
-
try {
|
|
261
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
262
|
-
var token = _step3.value;
|
|
263
|
-
if (token.description) cssLines.push(" /* ".concat(token.description, " */"));
|
|
264
|
-
cssLines.push(" ".concat(token.name, ": ").concat(token.value, ";"));
|
|
265
|
-
}
|
|
266
|
-
} catch (err) {
|
|
267
|
-
_iterator3.e(err);
|
|
268
|
-
} finally {
|
|
269
|
-
_iterator3.f();
|
|
270
|
-
}
|
|
271
|
-
cssLines.push('}');
|
|
272
|
-
return cssLines.join('\n');
|
|
273
|
-
};
|
|
274
|
-
var tokensToJson = exports.tokensToJson = function tokensToJson(tokens) {
|
|
275
|
-
var themeFile = {};
|
|
276
|
-
var _iterator4 = (0, _createForOfIteratorHelper2["default"])(tokens),
|
|
277
|
-
_step4;
|
|
278
|
-
try {
|
|
279
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
280
|
-
var token = _step4.value;
|
|
281
|
-
themeFile[token.name] = token.value;
|
|
282
|
-
}
|
|
283
|
-
} catch (err) {
|
|
284
|
-
_iterator4.e(err);
|
|
285
|
-
} finally {
|
|
286
|
-
_iterator4.f();
|
|
287
|
-
}
|
|
288
|
-
return JSON.stringify(themeFile, null, 2) + '\n';
|
|
289
|
-
};
|
|
290
|
-
var tokensToJs = exports.tokensToJs = function tokensToJs(tokens) {
|
|
291
|
-
var jsLines = [];
|
|
292
|
-
jsLines.push('export default {');
|
|
293
|
-
var _iterator5 = (0, _createForOfIteratorHelper2["default"])(tokens),
|
|
294
|
-
_step5;
|
|
295
|
-
try {
|
|
296
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
297
|
-
var token = _step5.value;
|
|
298
|
-
jsLines.push(" '".concat(token.name, "': '").concat(token.value, "',"));
|
|
299
|
-
}
|
|
300
|
-
} catch (err) {
|
|
301
|
-
_iterator5.e(err);
|
|
302
|
-
} finally {
|
|
303
|
-
_iterator5.f();
|
|
304
|
-
}
|
|
305
|
-
jsLines.push('};\n');
|
|
306
|
-
return jsLines.join('\n');
|
|
307
|
-
};
|
|
308
|
-
var getByPath = function getByPath(obj, path) {
|
|
309
|
-
var parts = path.split('.');
|
|
310
|
-
var result = obj;
|
|
311
|
-
var _iterator6 = (0, _createForOfIteratorHelper2["default"])(parts),
|
|
312
|
-
_step6;
|
|
313
|
-
try {
|
|
314
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
315
|
-
var _result;
|
|
316
|
-
var part = _step6.value;
|
|
317
|
-
result = (_result = result) === null || _result === void 0 ? void 0 : _result[part];
|
|
318
|
-
}
|
|
319
|
-
} catch (err) {
|
|
320
|
-
_iterator6.e(err);
|
|
321
|
-
} finally {
|
|
322
|
-
_iterator6.f();
|
|
323
|
-
}
|
|
324
|
-
return result;
|
|
325
|
-
};
|
|
326
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/theme/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["_colorjs","_interopRequireDefault","require","Color","ColorJS","processTokens","exports","base","tokens","featureHighlight","prefix","values","basicTokens","Set","highlightTokens","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","setToAdd","key","concat","_toConsumableArray2","type","path","join","_typeof2","value","push","Error","add","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","replace","startsWith","endsWith","lastComa","lastIndexOf","alpha","Number","parseFloat","substring","isNaN","resolvedColor","map","hex","parseInt","split","baseColor","_map","chunk","_map2","_slicedToArray2","r","g","b","a","_getByPath$value","_getByPath","getByPath","_getByPath$value2","_getByPath2","resolveToken","token","_token$split","_token$split2","factor","resolvedValue","reference","indexOf","resolvedToken","str","result","i","start","rawValues","_objectSpread2","_modifications$token","_iterator","_createForOfIteratorHelper2","_step","s","n","done","_values$token$match","modification","space","colorRegex","colors","match","_iterator2","_step2","originalColor","lightness","hsl","l","difference","set","Math","min","to","modifiedColor","round","toString","format","err","e","f","processedTokens","highlightsTokens","isBase","has","name","tokensToCss","selector","cssLines","_iterator3","_step3","tokensToJson","themeFile","_iterator4","_step4","JSON","stringify","tokensToJs","jsLines","_iterator5","_step5","obj","parts","_iterator6","_step6","_result","part"],"sources":["../../src/theme/utils.ts"],"sourcesContent":["import ColorJS from 'colorjs.io';\nconst Color = ColorJS as any;\n\ntype ExtensionsInput = {\n 'studio.tokens': {\n modify: {\n type: string;\n value: number;\n space: string;\n };\n };\n};\n\ntype TokensInput = {\n [nestedKey: string]:\n | TokensInput\n | {\n value: string;\n type: string;\n description: string;\n $extensions?: ExtensionsInput;\n };\n};\n\nexport const processTokens = (base: TokensInput, tokens: TokensInput, featureHighlight: TokensInput, prefix: string) => {\n const values: { [tokenName: string]: string } = {};\n const basicTokens = new Set<string>();\n const highlightTokens = new Set<string>();\n const modifications: {\n [tokenName: string]: {\n type: 'lighten' | 'darken' | 'alpha';\n value: number;\n space: 'lch' | 'srgb' | 'p3' | 'hsl';\n }[];\n } = {};\n const types: { [tokenName: string]: string } = {};\n const descriptions: { [tokenName: string]: string } = {};\n const mixins: string[] = [];\n type ColorPattern =\n | `{${string}.${string}}`\n | `{${string}.${string}}, ${number}`\n | `#${string}`\n | `{${string}.${string}}, ${number}`;\n type DesignTokenNode =\n | {\n type: string;\n value:\n | string\n | { [subTokens: string]: `{${string}}` }\n | ColorPattern\n | `{${string}}`\n | `{${string}*${number}}`\n | `${ColorPattern}; ${ColorPattern}`;\n\n description?: string;\n $extensions?: ExtensionsInput;\n }\n | DesignTokenTree;\n type DesignTokenTree = { [childrenNodeName: string]: DesignTokenNode };\n const traverse = (node: DesignTokenNode, pathParts: string[] = [], setToAdd?: Set<string>) => {\n for (const key in node) {\n if (key === 'type') continue;\n if (key === 'value') continue;\n if (key === 'description') continue;\n if (key === '$extensions') continue;\n traverse((node as any)[key], [...pathParts, key], setToAdd);\n }\n if ('type' in node && typeof node.type === 'string') {\n const path = pathParts.join('-');\n types[path] = node.type;\n if (typeof node.value === 'object') {\n mixins.push(path);\n return;\n }\n if (values[path]) {\n throw new Error(`Duplicated design token \"${path}\"`);\n }\n values[path] = node.value;\n setToAdd?.add(path);\n\n if (typeof node.description === 'string') descriptions[path] = node.description;\n if (node.$extensions) {\n for (const extension in node.$extensions) {\n if (extension === 'studio.tokens') {\n modifications[path] ??= [];\n modifications[path].push((node.$extensions as any)['studio.tokens'].modify);\n } else {\n throw new Error(`Unsupported extension \"${extension}\" for design token \"${path}\"`);\n }\n }\n }\n }\n };\n\n traverse(base, [], basicTokens);\n traverse(tokens);\n traverse(featureHighlight, [], highlightTokens);\n\n const resolveColor = (color: string): string => {\n if (color.includes('linear-gradient')) {\n if (color.includes('rgba')) {\n return replaceColors(color);\n } else {\n return color.replace(/\\{[a-z0-9.]+\\}/g, resolveColor);\n }\n }\n if (color.startsWith('rgba(') && color.endsWith(')')) {\n const lastComa = color.lastIndexOf(',');\n const alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));\n if (Number.isNaN(alpha)) {\n throw new Error(`Unable to parse rgba of ${color}`);\n }\n let resolvedColor = color.substring('rgba('.length, lastComa);\n if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('#')) {\n if (resolvedColor.length === 1 + 3) {\n resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]]\n .map((hex) => Number.parseInt(hex, 16))\n .join(', ');\n } else if (resolvedColor.length === 1 + 6) {\n resolvedColor = [\n resolvedColor.substring(1, 3),\n resolvedColor.substring(3, 5),\n resolvedColor.substring(5, 7),\n ]\n .map((hex) => Number.parseInt(hex, 16))\n .join(', ');\n } else {\n throw new Error(\n `Unable to convert hex ${resolveColor} to rgb list of colors (processing ${color})`,\n );\n }\n }\n\n if (!resolvedColor || resolvedColor.split(',').length !== 3) {\n throw new Error(`Unable to produce rgba of ${color} (input format is not supported yet)`);\n }\n\n return `rgba(${resolvedColor}, ${alpha})`;\n }\n if (color.split(', ').length === 2) {\n const baseColor = resolveColor(color.split(', ')[0]);\n const [r, g, b] = (\n baseColor.length === 4\n ? [baseColor[1], baseColor[2], baseColor[3]]\n : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]\n ).map((chunk) => Number.parseInt(chunk, 16));\n const a = Number.parseFloat(color.split(', ')[1]);\n\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {\n const path = color.substring(1, color.length - 1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found in base palette`);\n }\n return resolvedColor;\n }\n if (color.startsWith('$') && color.split('.').length > 0) {\n const path = color.substring(1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found`);\n }\n return resolvedColor;\n }\n if (color.startsWith('#')) {\n return color;\n }\n throw new Error(`Unable to process color ${color}`);\n };\n const resolveToken = (token: string): string => {\n if (token.includes('*')) {\n const [value, factor] = token.split('*');\n const resolvedValue = resolveToken(value);\n if (!resolvedValue.endsWith('px')) {\n throw new Error(`Unsupported expression ${token}`);\n }\n return `${Number.parseFloat(resolvedValue) * Number.parseFloat(factor)}px`;\n } else if (token.includes('{') && token.includes('}')) {\n const reference = token\n .substring(token.indexOf('{') + 1, token.indexOf('}'))\n .replace(/\\./g, '-');\n const resolvedToken =\n token.substring(0, token.indexOf('{')) +\n values[reference] +\n token.substring(token.indexOf('}') + 1);\n if (!resolvedToken || resolvedToken.includes('{')) {\n throw new Error(`On moment of resolving ${token}, ${resolvedToken} was not resolved yet`);\n }\n return resolvedToken;\n } else {\n return token;\n }\n };\n const replaceColors = (str: string) => {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str.substring(i, i + 'rgba('.length) === 'rgba(') {\n const start = i;\n while (str[i] !== undefined && str[i] !== ')') i++;\n result += resolveColor(str.substring(start, i + 1));\n } else {\n result += str[i];\n }\n }\n\n return result;\n };\n\n const rawValues = { ...values };\n\n for (const token in values) {\n if (types[token] === 'color') {\n values[token] = resolveColor(values[token]);\n } else if (types[token] === 'boxShadow') {\n values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));\n } else if (\n types[token] === 'sizing' ||\n types[token] === 'spacing' ||\n types[token] === 'borderRadius' ||\n types[token] === 'other'\n ) {\n values[token] = resolveToken(values[token]);\n }\n for (const modification of modifications[token] ?? []) {\n // refer to https://docs.tokens.studio/tokens/color-modifiers and https://github.com/tokens-studio/figma-plugin/tree/main/src/utils/color if extension is needed\n\n rawValues[token] = `${rawValues[token]} / ${modification.type}(${modification.value}) / ${modification.space}`;\n\n // array + regex to process gradients with several colors\n const colorRegex = /(#[0-9a-f]{6}|rgba\\([0-9., ]+\\))/gi;\n const colors = values[token].match(colorRegex) ?? [];\n\n for (const originalColor of colors) {\n let color = new Color(originalColor);\n\n if (modification.space === 'hsl') {\n if (modification.type === 'lighten') {\n const lightness = color.hsl.l;\n const difference = 100 - lightness;\n color.set('hsl.l', Math.min(100, lightness + difference * modification.value));\n } else {\n throw new Error(`Unsupported color modification ${modification.type} of token ${token}`);\n }\n } else {\n throw new Error(`Unsupported color space ${modification.space} of token ${token}`);\n }\n\n color = color.to('sRGB');\n let modifiedColor = '';\n\n if (color.alpha !== 1) {\n const r = Math.round(color.r * 255);\n const g = Math.round(color.g * 255);\n const b = Math.round(color.b * 255);\n const a = color.alpha;\n modifiedColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n } else {\n modifiedColor = color.toString({ format: 'hex' });\n }\n\n values[token] = values[token].replace(originalColor, modifiedColor);\n }\n }\n }\n\n const processedTokens: { name: string; value: string; description: string }[] = [];\n const highlightsTokens: { name: string; value: string; description: string }[] = [];\n\n for (const token in values) {\n const isBase = basicTokens.has(token);\n (highlightTokens.has(token) ? highlightsTokens : processedTokens).push({\n name: isBase ? `--${token}` : `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, highlightsTokens, values, types, rawValues, descriptions, basicTokens };\n};\n\nexport const tokensToCss = (\n tokens: { name: string; value: string; description: string }[],\n selector = ':root',\n) => {\n const cssLines: string[] = [];\n cssLines.push(`${selector} {`);\n for (const token of tokens) {\n if (token.description) cssLines.push(` /* ${token.description} */`);\n cssLines.push(` ${token.name}: ${token.value};`);\n }\n cssLines.push('}');\n return cssLines.join('\\n');\n};\nexport const tokensToJson = (tokens: { name: string; value: string; description: string }[]) => {\n const themeFile: Record<string, string> = {};\n for (const token of tokens) {\n themeFile[token.name] = token.value;\n }\n return JSON.stringify(themeFile, null, 2) + '\\n';\n};\nexport const tokensToJs = (tokens: { name: string; value: string; description: string }[]) => {\n const jsLines: string[] = [];\n jsLines.push('export default {');\n for (const token of tokens) {\n jsLines.push(` '${token.name}': '${token.value}',`);\n }\n jsLines.push('};\\n');\n return jsLines.join('\\n');\n};\n\nconst getByPath = (obj: any, path: string) => {\n const parts = path.split('.');\n let result = obj;\n for (const part of parts) {\n result = result?.[part];\n }\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
|