@semcore/core 16.0.1 → 16.0.3-prerelease.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/lib/theme/dark.json +2 -1
  3. package/lib/theme/light.json +84 -3
  4. package/lib/theme/processor.js +9 -3
  5. package/lib/theme/processor.js.map +1 -1
  6. package/lib/theme/processor.mjs +9 -3
  7. package/lib/theme/processor.mjs.map +1 -1
  8. package/lib/theme/themes/auto.css +3 -3
  9. package/lib/theme/themes/default.css +3 -3
  10. package/lib/theme/themes/highlights-light.css +24 -0
  11. package/lib/theme/themes/highlights-light.d.ts +14 -0
  12. package/lib/theme/themes/highlights-light.js +20 -0
  13. package/lib/theme/themes/highlights-light.js.map +1 -0
  14. package/lib/theme/themes/highlights-light.mjs +14 -0
  15. package/lib/theme/themes/highlights-light.mjs.map +1 -0
  16. package/lib/theme/themes/light.css +3 -3
  17. package/lib/theme/utils.d.ts +6 -1
  18. package/lib/theme/utils.js +15 -9
  19. package/lib/theme/utils.js.map +1 -1
  20. package/lib/theme/utils.mjs +15 -9
  21. package/lib/theme/utils.mjs.map +1 -1
  22. package/lib/utils/focus-lock/setFocus.js +6 -1
  23. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  24. package/lib/utils/focus-lock/setFocus.mjs +6 -1
  25. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  26. package/lib/utils/injectStyle.js +1 -1
  27. package/lib/utils/injectStyle.mjs +1 -1
  28. package/lib/utils/use/useFocusLock.js +6 -1
  29. package/lib/utils/use/useFocusLock.js.map +1 -1
  30. package/lib/utils/use/useFocusLock.mjs +6 -1
  31. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  32. package/lib/utils/use/useScrollBarWidth.d.ts +1 -0
  33. package/lib/utils/use/useScrollBarWidth.js +43 -0
  34. package/lib/utils/use/useScrollBarWidth.js.map +1 -0
  35. package/lib/utils/use/useScrollBarWidth.mjs +36 -0
  36. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -0
  37. package/package.json +10 -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
@@ -2502,5 +2502,6 @@
2502
2502
  "description": "Use for Summary or Counter."
2503
2503
  }
2504
2504
  }
2505
- }
2505
+ },
2506
+ "featureHighlight": {}
2506
2507
  }
@@ -876,17 +876,17 @@
876
876
  "advertising": {
877
877
  "value": "{violet.600}",
878
878
  "type": "color",
879
- "description": "Hover state of the advertising primary control."
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": "Active (selected) state of the advertising primary control."
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": "Background of the advertising primary control."
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
  }
@@ -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
- var processed = (0, _utils.processTokens)(base, tokens, prefix);
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":[]}
@@ -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
- var processed = processTokens(base, tokens, prefix);
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":";;;;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,GAAyBR,IAAI,CAACC,KAAK,CACjC,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;EAGpB,IAAMC,SAAS,GAAGnD,aAAa,CAC7BiD,IAAI,EACJC,MAAM,EACNJ,MACF,CAAC;EACD,IAAQM,MAAM,GAAkDD,SAAS,CAAjEC,MAAM;IAAEC,KAAK,GAA2CF,SAAS,CAAzDE,KAAK;IAAEC,SAAS,GAAgCH,SAAS,CAAlDG,SAAS;IAAEC,YAAY,GAAkBJ,SAAS,CAAvCI,YAAY;IAAEC,WAAW,GAAKL,SAAS,CAAzBK,WAAW;EAC3D,IAAMC,eAAe,GAAKN,SAAS,CAA7BM,eAAe;EAAe,IAAAC,MAAA,YAAAA,OAAA,EAEO;IACzC,IAAMC,WAAqB,GAAGrB,aAAa,CAACsB,aAAa,CAAC;IAC1D,IAAMC,cAAsC,GAAG,EAAE;IACjDJ,eAAe,GAAGA,eAAe,CAACK,MAAM,CAAC,UAACC,KAAK,EAAK;MAClD,IAAMC,OAAO,GAAGL,WAAW,CAAC1B,QAAQ,CAAC8B,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,IAAMzD,IAAI,GAAGkD,aAAa,CAACxC,OAAO,CAAC,SAAS,EAAEuB,KAAK,CAAC;MACpD,MAAMvC,cAAc,IAAA4C,MAAA,CAAItC,IAAI,WAAQT,WAAW,CAAC4D,cAAc,CAAC,CAAC;MAChE,MAAMzD,cAAc,IAAA4C,MAAA,CAAItC,IAAI,YAASP,YAAY,CAAC0D,cAAc,CAAC,CAAC;MAClE,IAAIlB,KAAK,KAAKf,YAAY,EAAE;QAC1B,IAAMlB,KAAI,GAAGkD,aAAa,CAACxC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;QACxD,MAAMhB,cAAc,IAAA4C,MAAA,CAAItC,KAAI,WAAQT,WAAW,CAAC4D,cAAc,CAAC,CAAC;QAChE,MAAMzD,cAAc,IAAA4C,MAAA,CAAItC,KAAI,YAASP,YAAY,CAAC0D,cAAc,CAAC,CAAC;MACpE;IACF;EACF,CAAC;EAnBD,KAAK,IAAMD,aAAa,IAAItB,aAAa;IAAAoB,MAAA;EAAA;EAqBzC,MAAMtD,cAAc,oCAAA4C,MAAA,CACiBL,KAAK,WACxC1C,WAAW,CAACwD,eAAe,CAC7B,CAAC;EACD,MAAMrD,cAAc,oCAAA4C,MAAA,CAAoCL,KAAK,UAAOzC,UAAU,CAACuD,eAAe,CAAC,CAAC;EAEhGhB,SAAS,CAACE,KAAK,CAAC,GAAGc,eAAe;EAElC,IAAMW,MAAyC,GAAG,CAAC,CAAC;EACpD,IAAIzB,KAAK,KAAKf,YAAY,EAAE;IAC1B,MAAMxB,cAAc,CAClB,6CAA6C,EAC7CH,WAAW,CAACwD,eAAe,CAC7B,CAAC;IACD,MAAMrD,cAAc,CAAC,4CAA4C,EAAEF,UAAU,CAACuD,eAAe,CAAC,CAAC;IAE/F,IAAMY,eAAe,GAAG,CACtB,MAAMxE,IAAI,CAAC,iCAAiC,EAAE;MAC5CyE,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK;IAChC,CAAC,CAAC,EACFR,MAAM,CAAC,UAACpD,IAAI,EAAK;MACjB,IAAIA,IAAI,CAAC6D,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,UAACC,QAAQ;QAAA,OAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAACxC,QAAQ,CAACwC,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,UAACnE,IAAI;MAAA,OAAKjB,EAAE,CAACyB,QAAQ,CAACR,IAAI,EAAE,OAAO,CAAC;IAAA,EAC1D,CAAC;IAED,IAAMoE,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,OAC3CpF,OAAO,CAAC,CACN;QACEqF,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,GAAG/F,YAAY,CAAC6F,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,2CAAAzD,MAAA,CAC6BqB,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,MAAAjE,MAAA,CAAM4C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACC,IAAI,OAAApE,MAAA,CAAI4C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACE,MAAM,CAAE;4BACxEtC,aAAa,CAACb,IAAI,CAAC;8BACjBxD,IAAI,KAAAsC,MAAA,CAAKqB,eAAe,CAACa,SAAS,CAAC,OAAAlC,MAAA,CAAIiE,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,CAACtF,QAAQ,CAAC,SAAS,CAAC,IAC5B2D,IAAI,CAAC2B,IAAI,CAACtF,QAAQ,CAAC,QAAQ,CAAC,IAC5B2D,IAAI,CAAC2B,IAAI,CAACtF,QAAQ,CAAC,QAAQ,CAAC,IAC5B2D,IAAI,CAAC2B,IAAI,CAACtF,QAAQ,CAAC,WAAW,CAAC,CAAC,EAClC;4BACA,IAAMgF,SAAQ,MAAAjE,MAAA,CAAM4C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACC,IAAI,OAAApE,MAAA,CAAI4C,IAAI,CAACsB,MAAM,CAACC,KAAK,CAACE,MAAM,CAAE;4BACxEtC,aAAa,CAACb,IAAI,CAAC;8BACjBxD,IAAI,KAAAsC,MAAA,CAAKqB,eAAe,CAACa,SAAS,CAAC,OAAAlC,MAAA,CAAIiE,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,MAAAhE,MAAA,CAAMF,MAAM,CAAE,CAAC,EAAE;0BAC3C;0BACA;0BACA;0BACA;wBACF;wBACA,IAAM2E,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,KAAA9E,MAAA,CAAKF,MAAM,OAAIqB,MAAM,CAAC;wBACnEW,aAAa,CAAC+C,aAAa,CAAC,GAAG,IAAI;wBACnC,IAAI,CAACzE,MAAM,CAACyE,aAAa,CAAC,EAAE;0BAC1B,MAAM,IAAIpB,KAAK,aAAAzD,MAAA,CACDwE,YAAY,gEAC1B,CAAC;wBACH;wBACAjB,SAAS,CAAChB,KAAK,CAAC,CAAC,CAAC,CAACiB,IAAI,GAAG,MAAM;wBAChCD,SAAS,CAAChB,KAAK,CAAC,CAAC,CAAC,CAACM,KAAK,GAAGzC,MAAM,CAACyE,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,CAACxD,OAAO,CAACkD,UAAU,EAAE;QACrBmD,IAAI,EAAEC;MACR,CAAC,CAAC;IAAA,CACJ,CACF,CAAC;IACD,MAAM1D,OAAO,CAACC,GAAG,CACfP,eAAe,CAACQ,GAAG,CAAC,UAACnE,IAAI,EAAE4H,KAAK;MAAA,OAAKlI,cAAc,CAACM,IAAI,EAAEsE,YAAY,CAACsD,KAAK,CAAC,CAACC,GAAG,CAAC;IAAA,EACpF,CAAC;IAED,IAAMC,eAAyB,GAAG,EAAE;IACpC,KAAK,IAAMC,QAAQ,IAAIrF,MAAM,EAAE;MAC7B,IAAI,CAAC0B,aAAa,CAAC2D,QAAQ,CAAC,EAAE;QAC5BD,eAAe,CAACtE,IAAI,CAACuE,QAAQ,CAAC;MAChC;IACF;IAEA,IAAI3G,OAAO,EAAE;MACX,IAAI0G,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,IAAA3F,MAAA,CAAI+F,OAAO,CAAC9E,IAAI,UAAAjB,MAAA,CAAO+F,OAAO,CAACrI,IAAI,CAAE,CAAC;UACnD;QAAC,SAAAqH,GAAA;UAAAc,UAAA,CAAAb,CAAA,CAAAD,GAAA;QAAA;UAAAc,UAAA,CAAAZ,CAAA;QAAA;MACH;IACF;IAEA,IAAMe,yBAOH,GAAG,EAAE;IAER,KAAK,IAAMjF,KAAK,IAAIX,MAAM,EAAE;MAC1B,IAAI,CAACI,WAAW,CAACyF,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,OAAAjB,MAAA,CAAOF,MAAM,OAAAE,MAAA,CAAIe,KAAK,CAAE;UAC5ByC,IAAI,EAAEnD,KAAK,CAACU,KAAK,CAAC;UAClB4F,QAAQ,EAAErG,SAAS,CAACS,KAAK,CAAC;UAC1B6F,aAAa,EAAExG,MAAM,CAACW,KAAK,CAAC;UAC5B8F,WAAW,EAAEtG,YAAY,CAACQ,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,OAAAjB,MAAA,CAAOgH,KAAK,OAAAhH,MAAA,CAAIkH,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,IAAA/G,MAAA,CAAIgH,KAAK,OAAAhH,MAAA,CAAIkH,GAAG,GAAID,IAAI,CAACC,GAAG,CAAC,CAAC;QAC5C;MACF;IACF,CAAC;IAED,KAAK,IAAMF,KAAK,IAAI/G,IAAI,EAAE;MACxB8G,aAAY,CAACC,KAAK,EAAE/G,IAAI,CAAC+G,KAAK,CAAC,CAAC;IAClC;IAEA,MAAM5J,cAAc,CAClBT,WAAW,CAACuC,OAAO,EAAE,iEAAiE,CAAC,EACvFK,IAAI,CAAC6H,SAAS,CAACpB,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IACvD,CAAC;IACD,MAAM5I,cAAc,CAClBT,WAAW,CAACuC,OAAO,EAAE,+DAA+D,CAAC,EACrFK,IAAI,CAAC6H,SAAS,CAACN,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IACrD,CAAC;EACH;AACF,CAAC;AAzQD,SAAAjH,EAAA,MAAAD,OAAA,GAAoBf,MAAM,EAAAgB,EAAA,GAAAD,OAAA,CAAAuB,MAAA,EAAAtB,EAAA;EAAAH,KAAA;AAAA;AA2Q1B,IAAM2H,cAAwB,GAAG,EAAE;AACnC,KAAK,IAAM1H,KAAK,IAAIF,SAAS,EAAE;EAC7B,IAAM6H,QAAQ,GAAG3H,KAAK,KAAKf,YAAY,GAAG,OAAO,OAAAoB,MAAA,CAAOL,KAAK,CAAE;EAC/D0H,cAAc,CAACnG,IAAI,CAACjE,WAAW,CAACwC,SAAS,CAACE,KAAK,CAAC,EAAE2H,QAAQ,CAAC,CAAC;AAC9D;AAEA,MAAMlK,cAAc,CAAC,0CAA0C,EAAEiK,cAAc,CAACzB,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3FpJ,QAAQ,CAAC,qBAAqB,EAAE;EAC9B+K,QAAQ,EAAE,OAAO;EACjBC,GAAG,EAAE7K,WAAW,CAACuC,OAAO,EAAE,cAAc,CAAC;EACzCuI,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS;AACzC,CAAC,CAAC","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":"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","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
- /* Hover state of the advertising primary control. */
295
+ /* Background of the advertising primary control. */
296
296
  --intergalactic-control-primary-advertising: #5925ab;
297
- /* Active (selected) state of the advertising primary control. */
297
+ /* Hover state of the advertising primary control. */
298
298
  --intergalactic-control-primary-advertising-hover: #421983;
299
- /* Background of the advertising primary control. */
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
- /* Hover state of the advertising primary control. */
295
+ /* Background of the advertising primary control. */
296
296
  --intergalactic-control-primary-advertising: #5925ab;
297
- /* Active (selected) state of the advertising primary control. */
297
+ /* Hover state of the advertising primary control. */
298
298
  --intergalactic-control-primary-advertising-hover: #421983;
299
- /* Background of the advertising primary control. */
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":[]}