@semcore/core 16.0.1-prerelease.0 → 16.0.3-prerelease.0
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 +13 -0
- package/lib/theme/dark.json +2 -1
- package/lib/theme/light.json +84 -3
- package/lib/theme/processor.js +9 -3
- package/lib/theme/processor.js.map +1 -1
- package/lib/theme/processor.mjs +9 -3
- package/lib/theme/processor.mjs.map +1 -1
- package/lib/theme/themes/auto.css +3 -3
- package/lib/theme/themes/default.css +3 -3
- package/lib/theme/themes/highlights-light.css +24 -0
- package/lib/theme/themes/highlights-light.d.ts +14 -0
- package/lib/theme/themes/highlights-light.js +20 -0
- package/lib/theme/themes/highlights-light.js.map +1 -0
- package/lib/theme/themes/highlights-light.mjs +14 -0
- package/lib/theme/themes/highlights-light.mjs.map +1 -0
- package/lib/theme/themes/light.css +3 -3
- package/lib/theme/utils.d.ts +6 -1
- package/lib/theme/utils.js +15 -9
- package/lib/theme/utils.js.map +1 -1
- package/lib/theme/utils.mjs +15 -9
- package/lib/theme/utils.mjs.map +1 -1
- package/lib/utils/focus-lock/setFocus.js +6 -1
- package/lib/utils/focus-lock/setFocus.js.map +1 -1
- package/lib/utils/focus-lock/setFocus.mjs +6 -1
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
- package/lib/utils/injectStyle.js +1 -1
- package/lib/utils/injectStyle.mjs +1 -1
- package/lib/utils/use/useFocusLock.js +6 -1
- package/lib/utils/use/useFocusLock.js.map +1 -1
- package/lib/utils/use/useFocusLock.mjs +6 -1
- package/lib/utils/use/useFocusLock.mjs.map +1 -1
- package/lib/utils/use/useScrollBarWidth.d.ts +1 -0
- package/lib/utils/use/useScrollBarWidth.js +43 -0
- package/lib/utils/use/useScrollBarWidth.js.map +1 -0
- package/lib/utils/use/useScrollBarWidth.mjs +36 -0
- package/lib/utils/use/useScrollBarWidth.mjs.map +1 -0
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [16.0.3] - 2025-07-02
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `useScrollBarWidth` hook.
|
|
10
|
+
- Container focus if there aren't focusable children while `autoFocus='enforced'`
|
|
11
|
+
|
|
12
|
+
## [16.0.2] - 2025-06-23
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- `focusVisible` option to `setFocus` util method with value from last interaction type.
|
|
17
|
+
|
|
5
18
|
## [16.0.1] - 2025-06-16
|
|
6
19
|
|
|
7
20
|
### Added
|
package/lib/theme/dark.json
CHANGED
package/lib/theme/light.json
CHANGED
|
@@ -876,17 +876,17 @@
|
|
|
876
876
|
"advertising": {
|
|
877
877
|
"value": "{violet.600}",
|
|
878
878
|
"type": "color",
|
|
879
|
-
"description": "
|
|
879
|
+
"description": "Background of the advertising primary control."
|
|
880
880
|
},
|
|
881
881
|
"advertising-hover": {
|
|
882
882
|
"value": "{violet.700}",
|
|
883
883
|
"type": "color",
|
|
884
|
-
"description": "
|
|
884
|
+
"description": "Hover state of the advertising primary control."
|
|
885
885
|
},
|
|
886
886
|
"advertising-active": {
|
|
887
887
|
"value": "{violet.500}",
|
|
888
888
|
"type": "color",
|
|
889
|
-
"description": "
|
|
889
|
+
"description": "Active (selected) state of the advertising primary control."
|
|
890
890
|
},
|
|
891
891
|
"invert": {
|
|
892
892
|
"value": "{gray.white}",
|
|
@@ -2540,5 +2540,86 @@
|
|
|
2540
2540
|
"description": "Use for Summary or Counter."
|
|
2541
2541
|
}
|
|
2542
2542
|
}
|
|
2543
|
+
},
|
|
2544
|
+
"featureHighlight": {
|
|
2545
|
+
"bg": {
|
|
2546
|
+
"primary": {
|
|
2547
|
+
"feature-highlight": {
|
|
2548
|
+
"value": "{gray.white}",
|
|
2549
|
+
"type": "color",
|
|
2550
|
+
"description": "Primary background for highlighted controls."
|
|
2551
|
+
},
|
|
2552
|
+
"feature-highlight-hover-active": {
|
|
2553
|
+
"value": "linear-gradient(90deg, {violet.50}, {blue.50})",
|
|
2554
|
+
"type": "color",
|
|
2555
|
+
"description": "Primary background for hover and active (selected) state of highlighted controls."
|
|
2556
|
+
}
|
|
2557
|
+
},
|
|
2558
|
+
"secondary": {
|
|
2559
|
+
"feature-highlight": {
|
|
2560
|
+
"value": "linear-gradient(90deg, {violet.50}, {blue.50})",
|
|
2561
|
+
"type": "color",
|
|
2562
|
+
"description": "Secondary background for the highlighted message."
|
|
2563
|
+
}
|
|
2564
|
+
}
|
|
2565
|
+
},
|
|
2566
|
+
"border": {
|
|
2567
|
+
"feature-highlight": {
|
|
2568
|
+
"value": "linear-gradient(90deg, {violet.300}, {blue.300})",
|
|
2569
|
+
"type": "color",
|
|
2570
|
+
"description": "Border for highlighted controls."
|
|
2571
|
+
},
|
|
2572
|
+
"feature-highlight-active": {
|
|
2573
|
+
"value": "linear-gradient(90deg, {violet.400}, {blue.400})",
|
|
2574
|
+
"type": "color",
|
|
2575
|
+
"description": "Border for the active state of highlighted controls."
|
|
2576
|
+
}
|
|
2577
|
+
},
|
|
2578
|
+
"control": {
|
|
2579
|
+
"primary": {
|
|
2580
|
+
"feature-highlight": {
|
|
2581
|
+
"value": "linear-gradient(90deg, {violet.400}, {blue.400})",
|
|
2582
|
+
"type": "color",
|
|
2583
|
+
"description": "Background of the highlighted primary control."
|
|
2584
|
+
},
|
|
2585
|
+
"feature-highlight-hover": {
|
|
2586
|
+
"value": "linear-gradient(90deg, {violet.500}, {blue.500})",
|
|
2587
|
+
"type": "color",
|
|
2588
|
+
"description": "Hover state of the highlighted primary control."
|
|
2589
|
+
},
|
|
2590
|
+
"feature-highlight-active": {
|
|
2591
|
+
"value": "linear-gradient(90deg, {violet.600}, {blue.600})",
|
|
2592
|
+
"type": "color",
|
|
2593
|
+
"description": "Active (selected) state of the highlighted primary control."
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
},
|
|
2597
|
+
"icon": {
|
|
2598
|
+
"primary": {
|
|
2599
|
+
"feature-highlight": {
|
|
2600
|
+
"value": "{violet.500}",
|
|
2601
|
+
"type": "color",
|
|
2602
|
+
"description": "Primary highlighted icon."
|
|
2603
|
+
},
|
|
2604
|
+
"feature-highlight-hover-active": {
|
|
2605
|
+
"value": "#6B3AB4",
|
|
2606
|
+
"type": "color",
|
|
2607
|
+
"description": "Violet background color for the hover and active states of the primary highlighted icon. It’s created using a CSS filter with a brightness(0.8), applied to the violet-500 color."
|
|
2608
|
+
}
|
|
2609
|
+
}
|
|
2610
|
+
},
|
|
2611
|
+
"keyboard-focus-feature-highlight": {
|
|
2612
|
+
"value": {
|
|
2613
|
+
"width": "3px",
|
|
2614
|
+
"color": "{keyboard-focus-feature-highlight.outline}"
|
|
2615
|
+
},
|
|
2616
|
+
"type": "border",
|
|
2617
|
+
"description": "Keyboard focus styles for highlighted controls.",
|
|
2618
|
+
"outline": {
|
|
2619
|
+
"value": "linear-gradient(90deg, rgba({violet.400}, 0.5), rgba({blue.400}, 0.5))",
|
|
2620
|
+
"type": "color",
|
|
2621
|
+
"description": "Color for keyboard focus outline styles for highlighted controls."
|
|
2622
|
+
}
|
|
2623
|
+
}
|
|
2543
2624
|
}
|
|
2544
2625
|
}
|
package/lib/theme/processor.js
CHANGED
|
@@ -63,13 +63,15 @@ var _loop = function _loop() {
|
|
|
63
63
|
var prefix = 'intergalactic';
|
|
64
64
|
var _JSON$parse = JSON.parse(await _promises["default"].readFile((0, _nodePath.resolve)(dirname, "./".concat(theme, ".json")), 'utf-8')),
|
|
65
65
|
base = _JSON$parse.base,
|
|
66
|
-
tokens = _JSON$parse.tokens
|
|
67
|
-
|
|
66
|
+
tokens = _JSON$parse.tokens,
|
|
67
|
+
featureHighlight = _JSON$parse.featureHighlight;
|
|
68
|
+
var processed = (0, _utils.processTokens)(base, tokens, featureHighlight, prefix);
|
|
68
69
|
var values = processed.values,
|
|
69
70
|
types = processed.types,
|
|
70
71
|
rawValues = processed.rawValues,
|
|
71
72
|
descriptions = processed.descriptions,
|
|
72
|
-
basicTokens = processed.basicTokens
|
|
73
|
+
basicTokens = processed.basicTokens,
|
|
74
|
+
highlightsTokens = processed.highlightsTokens;
|
|
73
75
|
var processedTokens = processed.processedTokens;
|
|
74
76
|
var _loop2 = function _loop2() {
|
|
75
77
|
var excludeList = excludeTokens[excludeToPath];
|
|
@@ -95,6 +97,10 @@ var _loop = function _loop() {
|
|
|
95
97
|
}
|
|
96
98
|
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".css"), (0, _utils.tokensToCss)(processedTokens));
|
|
97
99
|
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".ts"), (0, _utils.tokensToJs)(processedTokens));
|
|
100
|
+
if (highlightsTokens.length > 0) {
|
|
101
|
+
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".css"), (0, _utils.tokensToCss)(highlightsTokens));
|
|
102
|
+
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".ts"), (0, _utils.tokensToJs)(highlightsTokens));
|
|
103
|
+
}
|
|
98
104
|
autoTheme[theme] = processedTokens;
|
|
99
105
|
var usages = {};
|
|
100
106
|
if (theme === defaultTheme) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","exports","_ref","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","path","content","originalContent","_t","wrap","_context","prev","next","fs","readFile","sent","replace","abrupt","writeFile","stop","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","excludeTokens","JSON","parse","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","concat","base","tokens","processed","processTokens","values","types","rawValues","descriptions","basicTokens","processedTokens","_loop2","excludeList","excludeToPath","excludedTokens","filter","token","exclude","name","push","length","tokensToCss","tokensToJson","tokensToJs","usages","projectCssPaths","glob","ignore","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper2","_step","_loop3","node","value","valueAst","valuesParser","traverseValueAst","parent","_iterator2","_step2","s","n","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","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","has","_usages$token","components","_toConsumableArray2","Set","cssPath","sort","a","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), '..');\nconst excludeTokens = JSON.parse(\n await fs.readFile(resolvePath(dirname, './exclude-tokens.json'), 'utf-8'),\n);\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 } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens } = processed;\n let { processedTokens } = processed;\n\n for (const excludeToPath in excludeTokens) {\n const excludeList: string[] = excludeTokens[excludeToPath];\n const excludedTokens: typeof processedTokens = [];\n processedTokens = processedTokens.filter((token) => {\n const exclude = excludeList.includes(token.name);\n if (exclude) excludedTokens.push(token);\n return !exclude;\n });\n\n if (excludedTokens.length > 0) {\n const path = excludeToPath.replace('{theme}', theme);\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n if (theme === defaultTheme) {\n const path = excludeToPath.replace('{theme}', 'default');\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n }\n }\n }\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 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 console.log('Unused design tokens:');\n\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\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
|
+
{"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","exports","_ref","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","path","content","originalContent","_t","wrap","_context","prev","next","fs","readFile","sent","replace","abrupt","writeFile","stop","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","excludeTokens","JSON","parse","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","concat","base","tokens","featureHighlight","processed","processTokens","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","_loop2","excludeList","excludeToPath","excludedTokens","filter","token","exclude","name","push","length","tokensToCss","tokensToJson","tokensToJs","usages","projectCssPaths","glob","ignore","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper2","_step","_loop3","node","value","valueAst","valuesParser","traverseValueAst","parent","_iterator2","_step2","s","n","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","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","has","_usages$token","components","_toConsumableArray2","Set","cssPath","sort","a","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), '..');\nconst excludeTokens = JSON.parse(\n await fs.readFile(resolvePath(dirname, './exclude-tokens.json'), 'utf-8'),\n);\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 let { processedTokens } = processed;\n\n for (const excludeToPath in excludeTokens) {\n const excludeList: string[] = excludeTokens[excludeToPath];\n const excludedTokens: typeof processedTokens = [];\n processedTokens = processedTokens.filter((token) => {\n const exclude = excludeList.includes(token.name);\n if (exclude) excludedTokens.push(token);\n return !exclude;\n });\n\n if (excludedTokens.length > 0) {\n const path = excludeToPath.replace('{theme}', theme);\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n if (theme === defaultTheme) {\n const path = excludeToPath.replace('{theme}', 'default');\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n }\n }\n }\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 console.log('Unused design tokens:');\n\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\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
CHANGED
|
@@ -56,13 +56,15 @@ var _loop = function _loop() {
|
|
|
56
56
|
var prefix = 'intergalactic';
|
|
57
57
|
var _JSON$parse = JSON.parse(await fs.readFile(resolvePath(dirname, "./".concat(theme, ".json")), 'utf-8')),
|
|
58
58
|
base = _JSON$parse.base,
|
|
59
|
-
tokens = _JSON$parse.tokens
|
|
60
|
-
|
|
59
|
+
tokens = _JSON$parse.tokens,
|
|
60
|
+
featureHighlight = _JSON$parse.featureHighlight;
|
|
61
|
+
var processed = processTokens(base, tokens, featureHighlight, prefix);
|
|
61
62
|
var values = processed.values,
|
|
62
63
|
types = processed.types,
|
|
63
64
|
rawValues = processed.rawValues,
|
|
64
65
|
descriptions = processed.descriptions,
|
|
65
|
-
basicTokens = processed.basicTokens
|
|
66
|
+
basicTokens = processed.basicTokens,
|
|
67
|
+
highlightsTokens = processed.highlightsTokens;
|
|
66
68
|
var processedTokens = processed.processedTokens;
|
|
67
69
|
var _loop2 = function _loop2() {
|
|
68
70
|
var excludeList = excludeTokens[excludeToPath];
|
|
@@ -88,6 +90,10 @@ var _loop = function _loop() {
|
|
|
88
90
|
}
|
|
89
91
|
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".css"), tokensToCss(processedTokens));
|
|
90
92
|
await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".ts"), tokensToJs(processedTokens));
|
|
93
|
+
if (highlightsTokens.length > 0) {
|
|
94
|
+
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".css"), tokensToCss(highlightsTokens));
|
|
95
|
+
await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".ts"), tokensToJs(highlightsTokens));
|
|
96
|
+
}
|
|
91
97
|
autoTheme[theme] = processedTokens;
|
|
92
98
|
var usages = {};
|
|
93
99
|
if (theme === defaultTheme) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.mjs","names":["execSync","fs","resolve","resolvePath","fileURLToPath","glob","postcss","valuesParser","processTokens","tokensToCss","tokensToJs","tokensToJson","writeIfChanged","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","path","content","originalContent","_t","wrap","_context","prev","next","readFile","sent","replace","abrupt","writeFile","stop","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","import","meta","url","excludeTokens","JSON","parse","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","concat","base","tokens","processed","values","types","rawValues","descriptions","basicTokens","processedTokens","_loop2","excludeList","excludeToPath","excludedTokens","filter","token","exclude","name","push","length","usages","projectCssPaths","ignore","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper","_step","_loop3","node","value","valueAst","traverseValueAst","parent","_iterator2","_step2","s","n","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","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","has","_usages$token","components","_toConsumableArray","Set","cssPath","sort","a","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), '..');\nconst excludeTokens = JSON.parse(\n await fs.readFile(resolvePath(dirname, './exclude-tokens.json'), 'utf-8'),\n);\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 } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens } = processed;\n let { processedTokens } = processed;\n\n for (const excludeToPath in excludeTokens) {\n const excludeList: string[] = excludeTokens[excludeToPath];\n const excludedTokens: typeof processedTokens = [];\n processedTokens = processedTokens.filter((token) => {\n const exclude = excludeList.includes(token.name);\n if (exclude) excludedTokens.push(token);\n return !exclude;\n });\n\n if (excludedTokens.length > 0) {\n const path = excludeToPath.replace('{theme}', theme);\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n if (theme === defaultTheme) {\n const path = excludeToPath.replace('{theme}', 'default');\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n }\n }\n }\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 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 console.log('Unused design tokens:');\n\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\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
|
+
{"version":3,"file":"processor.mjs","names":["execSync","fs","resolve","resolvePath","fileURLToPath","glob","postcss","valuesParser","processTokens","tokensToCss","tokensToJs","tokensToJson","writeIfChanged","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","path","content","originalContent","_t","wrap","_context","prev","next","readFile","sent","replace","abrupt","writeFile","stop","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","import","meta","url","excludeTokens","JSON","parse","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","concat","base","tokens","featureHighlight","processed","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","_loop2","excludeList","excludeToPath","excludedTokens","filter","token","exclude","name","push","length","usages","projectCssPaths","ignore","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper","_step","_loop3","node","value","valueAst","traverseValueAst","parent","_iterator2","_step2","s","n","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","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","has","_usages$token","components","_toConsumableArray","Set","cssPath","sort","a","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), '..');\nconst excludeTokens = JSON.parse(\n await fs.readFile(resolvePath(dirname, './exclude-tokens.json'), 'utf-8'),\n);\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 let { processedTokens } = processed;\n\n for (const excludeToPath in excludeTokens) {\n const excludeList: string[] = excludeTokens[excludeToPath];\n const excludedTokens: typeof processedTokens = [];\n processedTokens = processedTokens.filter((token) => {\n const exclude = excludeList.includes(token.name);\n if (exclude) excludedTokens.push(token);\n return !exclude;\n });\n\n if (excludedTokens.length > 0) {\n const path = excludeToPath.replace('{theme}', theme);\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n if (theme === defaultTheme) {\n const path = excludeToPath.replace('{theme}', 'default');\n await writeIfChanged(`${path}.css`, tokensToCss(excludedTokens));\n await writeIfChanged(`${path}.json`, tokensToJson(excludedTokens));\n }\n }\n }\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 console.log('Unused design tokens:');\n\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\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":";;;;AAAA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,OAAOC,EAAE,MAAM,kBAAkB;AACjC,SAASC,OAAO,IAAIC,WAAW,QAAQ,WAAW;AAClD,SAASC,aAAa,QAAQ,UAAU;AAExC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAOC,OAAO,MAAM,SAAS;AAC7B,OAAOC,YAAY,MAAM,sBAAsB;AAE/C,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,YAAY,QAAQ,aAAS;AAQ9E,OAAO,IAAMC,cAAc;EAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAAOC,IAAY,EAAEC,OAAe;IAAA,IAAAC,eAAA,EAAAC,EAAA;IAAA,OAAAN,mBAAA,GAAAO,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAEhCxB,EAAE,CAACyB,QAAQ,CAACR,IAAI,EAAE,OAAO,CAAC;QAAA;UAAlDE,eAAe,GAAAG,QAAA,CAAAI,IAAA;UAAA,MACjBP,eAAe,CAACQ,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAKT,OAAO,CAACS,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAAAL,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAM,MAAA;QAAA;UAAAN,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAH,EAAA,GAAAE,QAAA;QAAA;UAAAA,QAAA,CAAAE,IAAA;UAAA,OAIzExB,EAAE,CAAC6B,SAAS,CAACZ,IAAI,EAAEC,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAI,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAd,OAAA;EAAA,CAClC;EAAA,gBARYL,cAAcA,CAAAoB,EAAA,EAAAC,GAAA;IAAA,OAAApB,IAAA,CAAAqB,KAAA,OAAAC,SAAA;EAAA;AAAA,GAQ1B;AAED,IAAMC,YAAY,GAAG,OAAO;AAC5B,IAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;AAEhC,IAAMC,OAAO,GAAG,CAACC,OAAO,CAACC,IAAI,CAACC,QAAQ,CAAC,cAAc,CAAC;AAEtD,IAAMC,OAAO,GAAGvC,WAAW,CAACC,aAAa,CAACuC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,EAAE,IAAI,CAAC;AACjE,IAAMC,aAAa,GAAGC,IAAI,CAACC,KAAK,CAC9B,MAAM/C,EAAE,CAACyB,QAAQ,CAACvB,WAAW,CAACuC,OAAO,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAC1E,CAAC;AAED,IAAMO,SAAiF,GAAG,CAAC,CAAC;AAAC,IAAAC,KAAA,YAAAA,MAAA,EAEjE;EAAvB,IAAMC,KAAK,GAAAC,OAAA,CAAAC,EAAA;EACd,IAAMC,MAAM,GAAG,eAAe;EAC9B,IAAAC,WAAA,GAA2CR,IAAI,CAACC,KAAK,CACnD,MAAM/C,EAAE,CAACyB,QAAQ,CAACvB,WAAW,CAACuC,OAAO,OAAAc,MAAA,CAAOL,KAAK,UAAO,CAAC,EAAE,OAAO,CACpE,CAAC;IAFOM,IAAI,GAAAF,WAAA,CAAJE,IAAI;IAAEC,MAAM,GAAAH,WAAA,CAANG,MAAM;IAAEC,gBAAgB,GAAAJ,WAAA,CAAhBI,gBAAgB;EAGtC,IAAMC,SAAS,GAAGpD,aAAa,CAC7BiD,IAAI,EACJC,MAAM,EACNC,gBAAgB,EAChBL,MACF,CAAC;EACD,IAAQO,MAAM,GAAoED,SAAS,CAAnFC,MAAM;IAAEC,KAAK,GAA6DF,SAAS,CAA3EE,KAAK;IAAEC,SAAS,GAAkDH,SAAS,CAApEG,SAAS;IAAEC,YAAY,GAAoCJ,SAAS,CAAzDI,YAAY;IAAEC,WAAW,GAAuBL,SAAS,CAA3CK,WAAW;IAAEC,gBAAgB,GAAKN,SAAS,CAA9BM,gBAAgB;EAC7E,IAAMC,eAAe,GAAKP,SAAS,CAA7BO,eAAe;EAAe,IAAAC,MAAA,YAAAA,OAAA,EAEO;IACzC,IAAMC,WAAqB,GAAGvB,aAAa,CAACwB,aAAa,CAAC;IAC1D,IAAMC,cAAsC,GAAG,EAAE;IACjDJ,eAAe,GAAGA,eAAe,CAACK,MAAM,CAAC,UAACC,KAAK,EAAK;MAClD,IAAMC,OAAO,GAAGL,WAAW,CAAC5B,QAAQ,CAACgC,KAAK,CAACE,IAAI,CAAC;MAChD,IAAID,OAAO,EAAEH,cAAc,CAACK,IAAI,CAACH,KAAK,CAAC;MACvC,OAAO,CAACC,OAAO;IACjB,CAAC,CAAC;IAEF,IAAIH,cAAc,CAACM,MAAM,GAAG,CAAC,EAAE;MAC7B,IAAM3D,IAAI,GAAGoD,aAAa,CAAC1C,OAAO,CAAC,SAAS,EAAEuB,KAAK,CAAC;MACpD,MAAMvC,cAAc,IAAA4C,MAAA,CAAItC,IAAI,WAAQT,WAAW,CAAC8D,cAAc,CAAC,CAAC;MAChE,MAAM3D,cAAc,IAAA4C,MAAA,CAAItC,IAAI,YAASP,YAAY,CAAC4D,cAAc,CAAC,CAAC;MAClE,IAAIpB,KAAK,KAAKf,YAAY,EAAE;QAC1B,IAAMlB,KAAI,GAAGoD,aAAa,CAAC1C,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;QACxD,MAAMhB,cAAc,IAAA4C,MAAA,CAAItC,KAAI,WAAQT,WAAW,CAAC8D,cAAc,CAAC,CAAC;QAChE,MAAM3D,cAAc,IAAA4C,MAAA,CAAItC,KAAI,YAASP,YAAY,CAAC4D,cAAc,CAAC,CAAC;MACpE;IACF;EACF,CAAC;EAnBD,KAAK,IAAMD,aAAa,IAAIxB,aAAa;IAAAsB,MAAA;EAAA;EAqBzC,MAAMxD,cAAc,oCAAA4C,MAAA,CACiBL,KAAK,WACxC1C,WAAW,CAAC0D,eAAe,CAC7B,CAAC;EACD,MAAMvD,cAAc,oCAAA4C,MAAA,CAAoCL,KAAK,UAAOzC,UAAU,CAACyD,eAAe,CAAC,CAAC;EAEhG,IAAID,gBAAgB,CAACW,MAAM,GAAG,CAAC,EAAE;IAC/B,MAAMjE,cAAc,+CAAA4C,MAAA,CAC4BL,KAAK,WACnD1C,WAAW,CAACyD,gBAAgB,CAC9B,CAAC;IACD,MAAMtD,cAAc,+CAAA4C,MAAA,CAA+CL,KAAK,UAAOzC,UAAU,CAACwD,gBAAgB,CAAC,CAAC;EAC9G;EAEAjB,SAAS,CAACE,KAAK,CAAC,GAAGgB,eAAe;EAElC,IAAMW,MAAyC,GAAG,CAAC,CAAC;EACpD,IAAI3B,KAAK,KAAKf,YAAY,EAAE;IAC1B,MAAMxB,cAAc,CAClB,6CAA6C,EAC7CH,WAAW,CAAC0D,eAAe,CAC7B,CAAC;IACD,MAAMvD,cAAc,CAAC,4CAA4C,EAAEF,UAAU,CAACyD,eAAe,CAAC,CAAC;IAE/F,IAAMY,eAAe,GAAG,CACtB,MAAM1E,IAAI,CAAC,iCAAiC,EAAE;MAC5C2E,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK;IAChC,CAAC,CAAC,EACFR,MAAM,CAAC,UAACtD,IAAI,EAAK;MACjB,IAAIA,IAAI,CAAC+D,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,UAACC,QAAQ;QAAA,OAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC1C,QAAQ,CAAC0C,QAAQ,CAAC;MAAA,EAAC,EAAE;QACtF,OAAO,KAAK;MACd;MACA,OAAO,IAAI;IACb,CAAC,CAAC;IAEF,IAAMC,kBAAkB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC1CP,eAAe,CAACQ,GAAG,CAAC,UAACrE,IAAI;MAAA,OAAKjB,EAAE,CAACyB,QAAQ,CAACR,IAAI,EAAE,OAAO,CAAC;IAAA,EAC1D,CAAC;IAED,IAAMsE,aAAkB,GAAG,CAAC,CAAC;IAE7B,IAAMC,aAA+C,GAAG,EAAE;IAE1D,IAAMC,YAAY,GAAG,MAAML,OAAO,CAACC,GAAG,CACpCF,kBAAkB,CAACG,GAAG,CAAC,UAACI,UAAU,EAAEC,SAAS;MAAA,OAC3CtF,OAAO,CAAC,CACN;QACEuF,aAAa,EAAE,oBAAoB;QACnCC,OAAO,EAAE,SAATA,OAAOA,CAAGC,MAAM,EAAK;UACnB,IAAMC,YAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAY,EAAK;YAAA,IAAAC,SAAA,GAAAC,0BAAA,CACjBF,KAAK;cAAAG,KAAA;YAAA;cAAA,IAAAC,MAAA,YAAAA,OAAA,EAAE;gBAAA,IAAfC,IAAI,GAAAF,KAAA,CAAAG,KAAA;gBACb,IAAID,IAAI,CAACL,KAAK,EAAE;kBACdD,YAAW,CAACM,IAAI,CAACL,KAAK,CAAC;gBACzB;gBACA,IAAIK,IAAI,CAACC,KAAK,EAAE;kBACd,IAAMC,QAAQ,GAAGjG,YAAY,CAAC+F,IAAI,CAACC,KAAK,CAAC;kBACzC,IAAME,iBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIR,KAAY,EAAES,MAAW,EAAK;oBAAA,IAAAC,UAAA,GAAAR,0BAAA,CAC9BF,KAAK;sBAAAW,MAAA;oBAAA;sBAA7B,KAAAD,UAAA,CAAAE,CAAA,MAAAD,MAAA,GAAAD,UAAA,CAAAG,CAAA,IAAAC,IAAA,GAA+B;wBAAA,IAAAC,qBAAA;wBAAA,IAApBC,SAAS,GAAAL,MAAA,CAAAL,KAAA;wBAClB,IAAIU,SAAS,CAAChB,KAAK,EAAEQ,iBAAgB,CAACQ,SAAS,CAAChB,KAAK,EAAEgB,SAAS,CAAC;wBACjE,IAAIA,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACV,KAAK,KAAK,WAAW,EAAE;0BACpE,MAAM,IAAIY,KAAK,2CAAA3D,MAAA,CAC6BuB,eAAe,CAACa,SAAS,CAAC,CACtE,CAAC;wBACH;wBAEA,IAAMwB,gBAAgB,GACpB,CAAAV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEQ,IAAI,MAAK,UAAU,IAAI,CAAAR,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEH,KAAK,MAAK,KAAK;wBACxD,IAAI,CAACa,gBAAgB,EAAE;0BACrB,IAAMC,QAAQ,GAAGf,IAAI,CAACI,MAAM,CAACT,KAAK,CAACK,IAAI,CAACI,MAAM,CAACT,KAAK,CAACqB,OAAO,CAAChB,IAAI,CAAC,GAAG,CAAC,CAAC;0BACvE,IAAMiB,QAAQ,GACZ,CAAAF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEH,IAAI,MAAK,SAAS,IAC5BG,QAAQ,CAACG,IAAI,CAACC,IAAI,CAAC,CAAC,KAAK,0BAA0B;0BACrD,IAAIF,QAAQ,EAAE;0BAEd,IACEN,SAAS,CAACC,IAAI,KAAK,MAAM,KACxBD,SAAS,CAACV,KAAK,CAACmB,UAAU,CAAC,GAAG,CAAC,IAAIT,SAAS,CAACV,KAAK,CAACmB,UAAU,CAAC,KAAK,CAAC,CAAC,EACtE;4BACA,IAAMC,QAAQ,MAAAnE,MAAA,CAAM8C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACC,IAAI,OAAAtE,MAAA,CAAI8C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACE,MAAM,CAAE;4BACxEtC,aAAa,CAACb,IAAI,CAAC;8BACjB1D,IAAI,KAAAsC,MAAA,CAAKuB,eAAe,CAACa,SAAS,CAAC,OAAApC,MAAA,CAAImE,QAAQ,CAAE;8BACjDhD,IAAI,EAAEsC,SAAS,CAACV;4BAClB,CAAC,CAAC;0BACJ;0BACA,IACEU,SAAS,CAACC,IAAI,KAAK,MAAM,IACzBD,SAAS,CAACV,KAAK,CAACyB,QAAQ,CAAC,IAAI,CAAC,KAC7B1B,IAAI,CAAC2B,IAAI,CAACxF,QAAQ,CAAC,SAAS,CAAC,IAC5B6D,IAAI,CAAC2B,IAAI,CAACxF,QAAQ,CAAC,QAAQ,CAAC,IAC5B6D,IAAI,CAAC2B,IAAI,CAACxF,QAAQ,CAAC,QAAQ,CAAC,IAC5B6D,IAAI,CAAC2B,IAAI,CAACxF,QAAQ,CAAC,WAAW,CAAC,CAAC,EAClC;4BACA,IAAMkF,SAAQ,MAAAnE,MAAA,CAAM8C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACC,IAAI,OAAAtE,MAAA,CAAI8C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACE,MAAM,CAAE;4BACxEtC,aAAa,CAACb,IAAI,CAAC;8BACjB1D,IAAI,KAAAsC,MAAA,CAAKuB,eAAe,CAACa,SAAS,CAAC,OAAApC,MAAA,CAAImE,SAAQ,CAAE;8BACjDhD,IAAI,EAAEsC,SAAS,CAACV;4BAClB,CAAC,CAAC;0BACJ;wBACF;wBACA,IAAIU,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACV,KAAK,KAAK,KAAK,EAAE;wBAChE,IAAM2B,YAAY,GAAGjB,SAAS,CAAChB,KAAK,CAAC,CAAC,CAAC,CAACM,KAAK;wBAC7C,IAAI,CAAC2B,YAAY,CAACR,UAAU,MAAAlE,MAAA,CAAMF,MAAM,CAAE,CAAC,EAAE;0BAC3C;0BACA;0BACA;0BACA;wBACF;wBACA,IAAM6E,UAAU,GAAGlB,SAAS,CAAChB,KAAK,CAACpB,MAAM,KAAK,CAAC;wBAC/C,IAAI,CAACsD,UAAU,EAAE;0BACflB,SAAS,CAAChB,KAAK,CAACrB,IAAI,CAClB;4BACEsC,IAAI,EAAE,KAAK;4BACXkB,WAAW,EAAE,CAAC,CAAC;4BACf7B,KAAK,EAAE,GAAG;4BACV8B,MAAM,EAAE,EAAE;4BACVC,KAAK,EAAE;0BACT,CAAC,EACD;4BACEpB,IAAI,EAAE,MAAM;4BACZkB,WAAW,EAAE,CAAC,CAAC;4BACf7B,KAAK,EAAE;0BACT,CACF,CAAC;wBACH;wBACA,IAAMgC,aAAa,GAAGL,YAAY,CAACM,SAAS,CAAC,KAAAhF,MAAA,CAAKF,MAAM,OAAIuB,MAAM,CAAC;wBACnEW,aAAa,CAAC+C,aAAa,CAAC,GAAG,IAAI;wBACnC,IAAI,CAAC1E,MAAM,CAAC0E,aAAa,CAAC,EAAE;0BAC1B,MAAM,IAAIpB,KAAK,aAAA3D,MAAA,CACD0E,YAAY,gEAC1B,CAAC;wBACH;wBACAjB,SAAS,CAAChB,KAAK,CAAC,CAAC,CAAC,CAACiB,IAAI,GAAG,MAAM;wBAChCD,SAAS,CAAChB,KAAK,CAAC,CAAC,CAAC,CAACM,KAAK,GAAG1C,MAAM,CAAC0E,aAAa,CAAC;wBAChDtB,SAAS,CAAChB,KAAK,CAAC,CAAC,CAAC,CAACA,KAAK,GAAG,EAAE;wBAC7BgB,SAAS,CAAChB,KAAK,CAACpB,MAAM,GAAG,CAAC;wBAC1BC,MAAM,CAACyD,aAAa,CAAC,IAAAvB,qBAAA,GAAGlC,MAAM,CAACyD,aAAa,CAAC,cAAAvB,qBAAA,cAAAA,qBAAA,GAAI,EAAE;wBACnDlC,MAAM,CAACyD,aAAa,CAAC,CAAC3D,IAAI,CAACG,eAAe,CAACa,SAAS,CAAC,CAAC;sBACxD;oBAAC,SAAA6C,GAAA;sBAAA9B,UAAA,CAAA+B,CAAA,CAAAD,GAAA;oBAAA;sBAAA9B,UAAA,CAAAgC,CAAA;oBAAA;kBACH,CAAC;kBACDlC,iBAAgB,CAACD,QAAQ,CAACP,KAAK,EAAE,IAAI,CAAC;kBACtCK,IAAI,CAACC,KAAK,GAAGC,QAAQ,CAACoC,QAAQ,CAAC,CAAC;gBAClC;cACF,CAAC;cA5FD,KAAA1C,SAAA,CAAAW,CAAA,MAAAT,KAAA,GAAAF,SAAA,CAAAY,CAAA,IAAAC,IAAA;gBAAAV,MAAA;cAAA;YA4FC,SAAAoC,GAAA;cAAAvC,SAAA,CAAAwC,CAAA,CAAAD,GAAA;YAAA;cAAAvC,SAAA,CAAAyC,CAAA;YAAA;UACH,CAAC;UACD3C,YAAW,CAACD,MAAM,CAAC8C,IAAI,CAAC5C,KAAK,CAAC;UAC9B,OAAO,CAAC,CAAC;QACX;MACF,CAAC,CACF,CAAC,CAAC1D,OAAO,CAACoD,UAAU,EAAE;QACrBmD,IAAI,EAAEC;MACR,CAAC,CAAC;IAAA,CACJ,CACF,CAAC;IACD,MAAM1D,OAAO,CAACC,GAAG,CACfP,eAAe,CAACQ,GAAG,CAAC,UAACrE,IAAI,EAAE8H,KAAK;MAAA,OAAKpI,cAAc,CAACM,IAAI,EAAEwE,YAAY,CAACsD,KAAK,CAAC,CAACC,GAAG,CAAC;IAAA,EACpF,CAAC;IAED,IAAMC,eAAyB,GAAG,EAAE;IACpC,KAAK,IAAMC,QAAQ,IAAItF,MAAM,EAAE;MAC7B,IAAI,CAAC2B,aAAa,CAAC2D,QAAQ,CAAC,EAAE;QAC5BD,eAAe,CAACtE,IAAI,CAACuE,QAAQ,CAAC;MAChC;IACF;IAEA,IAAI7G,OAAO,EAAE;MACX,IAAI4G,eAAe,CAACrE,MAAM,GAAG,CAAC,EAAE;QAC9BuE,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;QAEpCD,OAAO,CAACC,GAAG,CAACH,eAAe,CAACI,IAAI,CAAC,IAAI,CAAC,CAAC;MACzC;MACA,IAAI7D,aAAa,CAACZ,MAAM,GAAG,CAAC,EAAE;QAC5BuE,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;QAAC,IAAAE,UAAA,GAAApD,0BAAA,CACpBV,aAAa;UAAA+D,MAAA;QAAA;UAAnC,KAAAD,UAAA,CAAA1C,CAAA,MAAA2C,MAAA,GAAAD,UAAA,CAAAzC,CAAA,IAAAC,IAAA,GAAqC;YAAA,IAA1B0C,OAAO,GAAAD,MAAA,CAAAjD,KAAA;YAChB6C,OAAO,CAACC,GAAG,IAAA7F,MAAA,CAAIiG,OAAO,CAAC9E,IAAI,UAAAnB,MAAA,CAAOiG,OAAO,CAACvI,IAAI,CAAE,CAAC;UACnD;QAAC,SAAAuH,GAAA;UAAAc,UAAA,CAAAb,CAAA,CAAAD,GAAA;QAAA;UAAAc,UAAA,CAAAZ,CAAA;QAAA;MACH;IACF;IAEA,IAAMe,yBAOH,GAAG,EAAE;IAER,KAAK,IAAMjF,KAAK,IAAIZ,MAAM,EAAE;MAC1B,IAAI,CAACI,WAAW,CAAC0F,GAAG,CAAClF,KAAK,CAAC,EAAE;QAAA,IAAAmF,aAAA;QAC3B,IAAMC,UAAU,GAAAC,kBAAA,CACX,IAAIC,GAAG,CAAC,EAAAH,aAAA,GAAC9E,MAAM,CAACL,KAAK,CAAC,cAAAmF,aAAA,cAAAA,aAAA,GAAI,EAAE,EAAErE,GAAG,CAAC,UAACyE,OAAO;UAAA,OAAKA,OAAO,CAAC/E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC,CAAC,CAC1E;QACD4E,UAAU,CAACI,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;UAAA,OAAKD,CAAC,CAACE,aAAa,CAACD,CAAC,CAAC;QAAA,EAAC;QAE7CT,yBAAyB,CAAC9E,IAAI,CAAC;UAC7BD,IAAI,OAAAnB,MAAA,CAAOF,MAAM,OAAAE,MAAA,CAAIiB,KAAK,CAAE;UAC5ByC,IAAI,EAAEpD,KAAK,CAACW,KAAK,CAAC;UAClB4F,QAAQ,EAAEtG,SAAS,CAACU,KAAK,CAAC;UAC1B6F,aAAa,EAAEzG,MAAM,CAACY,KAAK,CAAC;UAC5B8F,WAAW,EAAEvG,YAAY,CAACS,KAAK,CAAC;UAChCoF,UAAU,EAAVA;QACF,CAAC,CAAC;MACJ;IACF;IAEA,IAAMW,uBAAgC,GAAG,EAAE;IAE3C,IAAMC,aAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAa,EAAEC,IAAS,EAAK;MACjD,KAAK,IAAMC,GAAG,IAAID,IAAI,EAAE;QACtB,IAAIA,IAAI,CAACC,GAAG,CAAC,CAACrE,KAAK,EAAE;UAAA,IAAAsE,qBAAA;UACnB,IAAMpG,MAAY,GAAG;YACnBE,IAAI,OAAAnB,MAAA,CAAOkH,KAAK,OAAAlH,MAAA,CAAIoH,GAAG,CAAE;YACzBrE,KAAK,EAAEoE,IAAI,CAACC,GAAG,CAAC,CAACrE;UACnB,CAAC;UAED,KAAAsE,qBAAA,GAAIF,IAAI,CAACC,GAAG,CAAC,CAACL,WAAW,cAAAM,qBAAA,eAArBA,qBAAA,CAAuBpD,IAAI,CAAC,CAAC,EAAE;YACjChD,MAAK,CAAC8F,WAAW,GAAGI,IAAI,CAACC,GAAG,CAAC,CAACL,WAAW;UAC3C;UAEAC,uBAAuB,CAAC5F,IAAI,CAACH,MAAK,CAAC;QACrC,CAAC,MAAM;UACLgG,aAAY,IAAAjH,MAAA,CAAIkH,KAAK,OAAAlH,MAAA,CAAIoH,GAAG,GAAID,IAAI,CAACC,GAAG,CAAC,CAAC;QAC5C;MACF;IACF,CAAC;IAED,KAAK,IAAMF,KAAK,IAAIjH,IAAI,EAAE;MACxBgH,aAAY,CAACC,KAAK,EAAEjH,IAAI,CAACiH,KAAK,CAAC,CAAC;IAClC;IAEA,MAAM9J,cAAc,CAClBT,WAAW,CAACuC,OAAO,EAAE,iEAAiE,CAAC,EACvFK,IAAI,CAAC+H,SAAS,CAACpB,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IACvD,CAAC;IACD,MAAM9I,cAAc,CAClBT,WAAW,CAACuC,OAAO,EAAE,+DAA+D,CAAC,EACrFK,IAAI,CAAC+H,SAAS,CAACN,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IACrD,CAAC;EACH;AACF,CAAC;AAlRD,SAAAnH,EAAA,MAAAD,OAAA,GAAoBf,MAAM,EAAAgB,EAAA,GAAAD,OAAA,CAAAyB,MAAA,EAAAxB,EAAA;EAAAH,KAAA;AAAA;AAoR1B,IAAM6H,cAAwB,GAAG,EAAE;AACnC,KAAK,IAAM5H,KAAK,IAAIF,SAAS,EAAE;EAC7B,IAAM+H,QAAQ,GAAG7H,KAAK,KAAKf,YAAY,GAAG,OAAO,OAAAoB,MAAA,CAAOL,KAAK,CAAE;EAC/D4H,cAAc,CAACnG,IAAI,CAACnE,WAAW,CAACwC,SAAS,CAACE,KAAK,CAAC,EAAE6H,QAAQ,CAAC,CAAC;AAC9D;AAEA,MAAMpK,cAAc,CAAC,0CAA0C,EAAEmK,cAAc,CAACzB,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3FtJ,QAAQ,CAAC,qBAAqB,EAAE;EAC9BiL,QAAQ,EAAE,OAAO;EACjBC,GAAG,EAAE/K,WAAW,CAACuC,OAAO,EAAE,cAAc,CAAC;EACzCyI,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS;AACzC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -292,11 +292,11 @@
|
|
|
292
292
|
--intergalactic-control-primary-brand-hover: #c33909;
|
|
293
293
|
/* Active state of the primary brand colored control. */
|
|
294
294
|
--intergalactic-control-primary-brand-active: #8b1500;
|
|
295
|
-
/*
|
|
295
|
+
/* Background of the advertising primary control. */
|
|
296
296
|
--intergalactic-control-primary-advertising: #5925ab;
|
|
297
|
-
/*
|
|
297
|
+
/* Hover state of the advertising primary control. */
|
|
298
298
|
--intergalactic-control-primary-advertising-hover: #421983;
|
|
299
|
-
/*
|
|
299
|
+
/* Active (selected) state of the advertising primary control. */
|
|
300
300
|
--intergalactic-control-primary-advertising-active: #8649e1;
|
|
301
301
|
/* Inverted background of the primary control. */
|
|
302
302
|
--intergalactic-control-primary-invert: #ffffff;
|
|
@@ -292,11 +292,11 @@
|
|
|
292
292
|
--intergalactic-control-primary-brand-hover: #c33909;
|
|
293
293
|
/* Active state of the primary brand colored control. */
|
|
294
294
|
--intergalactic-control-primary-brand-active: #8b1500;
|
|
295
|
-
/*
|
|
295
|
+
/* Background of the advertising primary control. */
|
|
296
296
|
--intergalactic-control-primary-advertising: #5925ab;
|
|
297
|
-
/*
|
|
297
|
+
/* Hover state of the advertising primary control. */
|
|
298
298
|
--intergalactic-control-primary-advertising-hover: #421983;
|
|
299
|
-
/*
|
|
299
|
+
/* Active (selected) state of the advertising primary control. */
|
|
300
300
|
--intergalactic-control-primary-advertising-active: #8649e1;
|
|
301
301
|
/* Inverted background of the primary control. */
|
|
302
302
|
--intergalactic-control-primary-invert: #ffffff;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* Primary background for highlighted controls. */
|
|
3
|
+
--intergalactic-bg-primary-feature-highlight: #ffffff;
|
|
4
|
+
/* Primary background for hover and active (selected) state of highlighted controls. */
|
|
5
|
+
--intergalactic-bg-primary-feature-highlight-hover-active: linear-gradient(90deg, #f9f2ff, #e9f7ff);
|
|
6
|
+
/* Secondary background for the highlighted message. */
|
|
7
|
+
--intergalactic-bg-secondary-feature-highlight: linear-gradient(90deg, #f9f2ff, #e9f7ff);
|
|
8
|
+
/* Border for highlighted controls. */
|
|
9
|
+
--intergalactic-border-feature-highlight: linear-gradient(90deg, #c695ff, #2bb3ff);
|
|
10
|
+
/* Border for the active state of highlighted controls. */
|
|
11
|
+
--intergalactic-border-feature-highlight-active: linear-gradient(90deg, #ab6cfe, #008ff8);
|
|
12
|
+
/* Background of the highlighted primary control. */
|
|
13
|
+
--intergalactic-control-primary-feature-highlight: linear-gradient(90deg, #ab6cfe, #008ff8);
|
|
14
|
+
/* Hover state of the highlighted primary control. */
|
|
15
|
+
--intergalactic-control-primary-feature-highlight-hover: linear-gradient(90deg, #8649e1, #006dca);
|
|
16
|
+
/* Active (selected) state of the highlighted primary control. */
|
|
17
|
+
--intergalactic-control-primary-feature-highlight-active: linear-gradient(90deg, #5925ab, #044792);
|
|
18
|
+
/* Primary highlighted icon. */
|
|
19
|
+
--intergalactic-icon-primary-feature-highlight: #8649e1;
|
|
20
|
+
/* Violet background color for the hover and active states of the primary highlighted icon. It’s created using a CSS filter with a brightness(0.8), applied to the violet-500 color. */
|
|
21
|
+
--intergalactic-icon-primary-feature-highlight-hover-active: #6B3AB4;
|
|
22
|
+
/* Color for keyboard focus outline styles for highlighted controls. */
|
|
23
|
+
--intergalactic-keyboard-focus-feature-highlight-outline: linear-gradient(90deg, rgba(171, 108, 254, 0.5), rgba(0, 143, 248, 0.5));
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
'--intergalactic-bg-primary-feature-highlight': string;
|
|
3
|
+
'--intergalactic-bg-primary-feature-highlight-hover-active': string;
|
|
4
|
+
'--intergalactic-bg-secondary-feature-highlight': string;
|
|
5
|
+
'--intergalactic-border-feature-highlight': string;
|
|
6
|
+
'--intergalactic-border-feature-highlight-active': string;
|
|
7
|
+
'--intergalactic-control-primary-feature-highlight': string;
|
|
8
|
+
'--intergalactic-control-primary-feature-highlight-hover': string;
|
|
9
|
+
'--intergalactic-control-primary-feature-highlight-active': string;
|
|
10
|
+
'--intergalactic-icon-primary-feature-highlight': string;
|
|
11
|
+
'--intergalactic-icon-primary-feature-highlight-hover-active': string;
|
|
12
|
+
'--intergalactic-keyboard-focus-feature-highlight-outline': string;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _default = exports["default"] = {
|
|
8
|
+
'--intergalactic-bg-primary-feature-highlight': '#ffffff',
|
|
9
|
+
'--intergalactic-bg-primary-feature-highlight-hover-active': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',
|
|
10
|
+
'--intergalactic-bg-secondary-feature-highlight': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',
|
|
11
|
+
'--intergalactic-border-feature-highlight': 'linear-gradient(90deg, #c695ff, #2bb3ff)',
|
|
12
|
+
'--intergalactic-border-feature-highlight-active': 'linear-gradient(90deg, #ab6cfe, #008ff8)',
|
|
13
|
+
'--intergalactic-control-primary-feature-highlight': 'linear-gradient(90deg, #ab6cfe, #008ff8)',
|
|
14
|
+
'--intergalactic-control-primary-feature-highlight-hover': 'linear-gradient(90deg, #8649e1, #006dca)',
|
|
15
|
+
'--intergalactic-control-primary-feature-highlight-active': 'linear-gradient(90deg, #5925ab, #044792)',
|
|
16
|
+
'--intergalactic-icon-primary-feature-highlight': '#8649e1',
|
|
17
|
+
'--intergalactic-icon-primary-feature-highlight-hover-active': '#6B3AB4',
|
|
18
|
+
'--intergalactic-keyboard-focus-feature-highlight-outline': 'linear-gradient(90deg, rgba(171, 108, 254, 0.5), rgba(0, 143, 248, 0.5))'
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=highlights-light.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlights-light.js","names":[],"sources":["../../../src/theme/themes/highlights-light.ts"],"sourcesContent":["export default {\n '--intergalactic-bg-primary-feature-highlight': '#ffffff',\n '--intergalactic-bg-primary-feature-highlight-hover-active': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',\n '--intergalactic-bg-secondary-feature-highlight': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',\n '--intergalactic-border-feature-highlight': 'linear-gradient(90deg, #c695ff, #2bb3ff)',\n '--intergalactic-border-feature-highlight-active': 'linear-gradient(90deg, #ab6cfe, #008ff8)',\n '--intergalactic-control-primary-feature-highlight': 'linear-gradient(90deg, #ab6cfe, #008ff8)',\n '--intergalactic-control-primary-feature-highlight-hover': 'linear-gradient(90deg, #8649e1, #006dca)',\n '--intergalactic-control-primary-feature-highlight-active': 'linear-gradient(90deg, #5925ab, #044792)',\n '--intergalactic-icon-primary-feature-highlight': '#8649e1',\n '--intergalactic-icon-primary-feature-highlight-hover-active': '#6B3AB4',\n '--intergalactic-keyboard-focus-feature-highlight-outline': 'linear-gradient(90deg, rgba(171, 108, 254, 0.5), rgba(0, 143, 248, 0.5))',\n};\n"],"mappings":";;;;;;oCAAe;EACb,8CAA8C,EAAE,SAAS;EACzD,2DAA2D,EAAE,0CAA0C;EACvG,gDAAgD,EAAE,0CAA0C;EAC5F,0CAA0C,EAAE,0CAA0C;EACtF,iDAAiD,EAAE,0CAA0C;EAC7F,mDAAmD,EAAE,0CAA0C;EAC/F,yDAAyD,EAAE,0CAA0C;EACrG,0DAA0D,EAAE,0CAA0C;EACtG,gDAAgD,EAAE,SAAS;EAC3D,6DAA6D,EAAE,SAAS;EACxE,0DAA0D,EAAE;AAC9D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'--intergalactic-bg-primary-feature-highlight': '#ffffff',
|
|
3
|
+
'--intergalactic-bg-primary-feature-highlight-hover-active': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',
|
|
4
|
+
'--intergalactic-bg-secondary-feature-highlight': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',
|
|
5
|
+
'--intergalactic-border-feature-highlight': 'linear-gradient(90deg, #c695ff, #2bb3ff)',
|
|
6
|
+
'--intergalactic-border-feature-highlight-active': 'linear-gradient(90deg, #ab6cfe, #008ff8)',
|
|
7
|
+
'--intergalactic-control-primary-feature-highlight': 'linear-gradient(90deg, #ab6cfe, #008ff8)',
|
|
8
|
+
'--intergalactic-control-primary-feature-highlight-hover': 'linear-gradient(90deg, #8649e1, #006dca)',
|
|
9
|
+
'--intergalactic-control-primary-feature-highlight-active': 'linear-gradient(90deg, #5925ab, #044792)',
|
|
10
|
+
'--intergalactic-icon-primary-feature-highlight': '#8649e1',
|
|
11
|
+
'--intergalactic-icon-primary-feature-highlight-hover-active': '#6B3AB4',
|
|
12
|
+
'--intergalactic-keyboard-focus-feature-highlight-outline': 'linear-gradient(90deg, rgba(171, 108, 254, 0.5), rgba(0, 143, 248, 0.5))'
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=highlights-light.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlights-light.mjs","names":[],"sources":["../../../src/theme/themes/highlights-light.ts"],"sourcesContent":["export default {\n '--intergalactic-bg-primary-feature-highlight': '#ffffff',\n '--intergalactic-bg-primary-feature-highlight-hover-active': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',\n '--intergalactic-bg-secondary-feature-highlight': 'linear-gradient(90deg, #f9f2ff, #e9f7ff)',\n '--intergalactic-border-feature-highlight': 'linear-gradient(90deg, #c695ff, #2bb3ff)',\n '--intergalactic-border-feature-highlight-active': 'linear-gradient(90deg, #ab6cfe, #008ff8)',\n '--intergalactic-control-primary-feature-highlight': 'linear-gradient(90deg, #ab6cfe, #008ff8)',\n '--intergalactic-control-primary-feature-highlight-hover': 'linear-gradient(90deg, #8649e1, #006dca)',\n '--intergalactic-control-primary-feature-highlight-active': 'linear-gradient(90deg, #5925ab, #044792)',\n '--intergalactic-icon-primary-feature-highlight': '#8649e1',\n '--intergalactic-icon-primary-feature-highlight-hover-active': '#6B3AB4',\n '--intergalactic-keyboard-focus-feature-highlight-outline': 'linear-gradient(90deg, rgba(171, 108, 254, 0.5), rgba(0, 143, 248, 0.5))',\n};\n"],"mappings":"AAAA,eAAe;EACb,8CAA8C,EAAE,SAAS;EACzD,2DAA2D,EAAE,0CAA0C;EACvG,gDAAgD,EAAE,0CAA0C;EAC5F,0CAA0C,EAAE,0CAA0C;EACtF,iDAAiD,EAAE,0CAA0C;EAC7F,mDAAmD,EAAE,0CAA0C;EAC/F,yDAAyD,EAAE,0CAA0C;EACrG,0DAA0D,EAAE,0CAA0C;EACtG,gDAAgD,EAAE,SAAS;EAC3D,6DAA6D,EAAE,SAAS;EACxE,0DAA0D,EAAE;AAC9D,CAAC","ignoreList":[]}
|