@aloudata/aloudata-design 3.0.21 → 3.0.23

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 (75) hide show
  1. package/dist/App/index.d.ts +3 -0
  2. package/dist/App/index.js +15 -10
  3. package/dist/App/index.js.map +1 -1
  4. package/dist/Button/index.d.ts +1 -1
  5. package/dist/Button/index.js +10 -10
  6. package/dist/Button/index.js.map +1 -1
  7. package/dist/Checkbox/index.js +2 -2
  8. package/dist/Checkbox/index.js.map +1 -1
  9. package/dist/Drawer/index.js +2 -8
  10. package/dist/Drawer/index.js.map +1 -1
  11. package/dist/Dropdown/index.js +8 -5
  12. package/dist/Dropdown/index.js.map +1 -1
  13. package/dist/Form/index.js +5 -5
  14. package/dist/Form/index.js.map +1 -1
  15. package/dist/Input/components/Input/index.js +2 -2
  16. package/dist/Input/components/Input/index.js.map +1 -1
  17. package/dist/Input/components/TextArea/index.js +2 -2
  18. package/dist/Input/components/TextArea/index.js.map +1 -1
  19. package/dist/Menu/index.js +9 -7
  20. package/dist/Menu/index.js.map +1 -1
  21. package/dist/Modal/index.d.ts +4 -1
  22. package/dist/Modal/index.js +63 -22
  23. package/dist/Modal/index.js.map +1 -1
  24. package/dist/Popconfirm/index.js +1 -1
  25. package/dist/Select/BaseSelect.js +3 -2
  26. package/dist/Select/BaseSelect.js.map +1 -1
  27. package/dist/Select/hooks/useOptions.js +4 -1
  28. package/dist/Select/hooks/useOptions.js.map +1 -1
  29. package/dist/Select/index.js +1 -1
  30. package/dist/Select/index.js.map +1 -1
  31. package/dist/Select/interface.d.ts +1 -0
  32. package/dist/Tour/index.js +1 -1
  33. package/dist/Typography/index.js +5 -5
  34. package/dist/Typography/index.js.map +1 -1
  35. package/dist/_utils/floatingLayer.js +1 -1
  36. package/dist/_utils/overlayCoordinator.d.ts +14 -0
  37. package/dist/_utils/overlayCoordinator.js +151 -0
  38. package/dist/_utils/overlayCoordinator.js.map +1 -0
  39. package/dist/aloudata-design.css +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.js +5 -5
  42. package/dist/theme/contract/baselineResolvedTokenValueManifest.d.ts +22 -0
  43. package/dist/theme/contract/baselineResolvedTokenValueManifest.js +2 -0
  44. package/dist/theme/contract/darkResolvedTokenValueManifest.d.ts +5 -0
  45. package/dist/theme/contract/darkResolvedTokenValueManifest.js +2 -0
  46. package/dist/theme/contract/resolvedTokenValueManifest.d.ts +3 -0
  47. package/dist/theme/contract/resolvedTokenValueManifest.js +2 -0
  48. package/dist/theme/contract/tokenOutputContract.js +2 -45
  49. package/dist/theme/contract/tokenOutputContract.js.map +1 -1
  50. package/dist/theme/generator/baselineTokenValueDelivery.d.ts +21 -0
  51. package/dist/theme/generator/baselineTokenValueDelivery.js +2 -0
  52. package/dist/theme/index.d.ts +4 -4
  53. package/dist/theme/runtime/colorValueMode/dark.d.ts +1 -0
  54. package/dist/theme/runtime/colorValueMode/dark.js +2 -0
  55. package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.d.ts +3 -0
  56. package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.js +125 -0
  57. package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.js.map +1 -0
  58. package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.d.ts +3 -0
  59. package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.js +125 -0
  60. package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.js.map +1 -0
  61. package/dist/theme/runtime/colorValueMode/index.d.ts +2 -1
  62. package/dist/theme/runtime/colorValueMode/index.js +13 -7
  63. package/dist/theme/runtime/colorValueMode/index.js.map +1 -1
  64. package/dist/theme/runtime/colorValueMode/registry.d.ts +14 -5
  65. package/dist/theme/runtime/colorValueMode/registry.js +15 -8
  66. package/dist/theme/runtime/colorValueMode/registry.js.map +1 -1
  67. package/dist/theme/runtime/colorValueMode/v3.d.ts +1 -98
  68. package/dist/theme/runtime/colorValueMode/v3.js +2 -230
  69. package/dist/theme/runtime/initAldTheme.js +5 -0
  70. package/dist/theme/runtime/initAldTheme.js.map +1 -1
  71. package/dist/theme/typography/index.d.ts +75 -0
  72. package/dist/theme/typography/index.js +2 -0
  73. package/dist/theme/typography.d.ts +2 -0
  74. package/package.json +6 -3
  75. package/dist/theme/runtime/colorValueMode/v3.js.map +0 -1
@@ -1,5 +1,6 @@
1
- import { AldColorValueMode } from './registry.js';
1
+ import { AldColorValueMode, AldColorValueModeDefinition } from './registry.js';
2
2
  export declare const aldColorValueModeStyleElementId = "ald-color-value-mode-runtime";
3
3
  export declare const aldColorValueModeDataAttribute = "data-ald-color-value-mode";
4
+ export declare function createAldColorValueModeVars(definition: Pick<AldColorValueModeDefinition, 'mode' | 'selector' | 'declarations'>): string;
4
5
  export declare function buildAldColorValueModeCss(mode: unknown): string;
5
6
  export declare function applyAldColorValueMode(mode: unknown): AldColorValueMode;
@@ -3,18 +3,24 @@ import { getAldColorValueModeDefinition, isAldColorValueMode } from "./registry.
3
3
  //#region src/theme/runtime/colorValueMode/index.ts
4
4
  var aldColorValueModeStyleElementId = "ald-color-value-mode-runtime";
5
5
  var aldColorValueModeDataAttribute = "data-ald-color-value-mode";
6
- function buildAldColorValueModeCss(mode) {
7
- const definition = getAldColorValueModeDefinition(mode);
8
- const entries = Object.entries(definition.vars);
6
+ function createAldColorValueModeVars(definition) {
7
+ const entries = Object.entries(definition.declarations);
9
8
  if (entries.length === 0) return "";
10
9
  const declarations = entries.sort(([a], [b]) => a.localeCompare(b)).map(([name, value]) => ` ${name}: ${value};`).join("\n");
11
- return `:root[${aldColorValueModeDataAttribute}="${definition.mode}"] {\n${declarations}\n}\n`;
10
+ return `${definition.selector} {\n${declarations}\n}\n`;
11
+ }
12
+ function buildAldColorValueModeCss(mode) {
13
+ return createAldColorValueModeVars(getAldColorValueModeDefinition(mode));
12
14
  }
13
15
  function removeAldColorValueModeLayer() {
14
16
  document.getElementById(aldColorValueModeStyleElementId)?.remove();
15
17
  }
16
- function appendBeforeTenantTheme(style) {
18
+ function placeColorValueModeLayer(style, mode) {
17
19
  const tenantThemeStyle = document.getElementById(themeStyleElementId);
20
+ if (mode === "dark") {
21
+ document.head.appendChild(style);
22
+ return;
23
+ }
18
24
  if (tenantThemeStyle) {
19
25
  document.head.insertBefore(style, tenantThemeStyle);
20
26
  return;
@@ -31,8 +37,8 @@ function injectAldColorValueModeLayer(mode) {
31
37
  if (!style) {
32
38
  style = document.createElement("style");
33
39
  style.id = aldColorValueModeStyleElementId;
34
- appendBeforeTenantTheme(style);
35
40
  }
41
+ placeColorValueModeLayer(style, mode);
36
42
  style.setAttribute(aldColorValueModeDataAttribute, mode);
37
43
  if (style.textContent !== cssText) style.textContent = cssText;
38
44
  }
@@ -44,6 +50,6 @@ function applyAldColorValueMode(mode) {
44
50
  return normalizedMode;
45
51
  }
46
52
  //#endregion
47
- export { aldColorValueModeDataAttribute, aldColorValueModeStyleElementId, applyAldColorValueMode, buildAldColorValueModeCss };
53
+ export { aldColorValueModeDataAttribute, aldColorValueModeStyleElementId, applyAldColorValueMode, buildAldColorValueModeCss, createAldColorValueModeVars };
48
54
 
49
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/theme/runtime/colorValueMode/index.ts"],"sourcesContent":["import {\n getAldColorValueModeDefinition,\n isAldColorValueMode,\n type AldColorValueMode,\n} from './registry';\nimport { themeStyleElementId } from '../tokenMap';\n\nexport const aldColorValueModeStyleElementId = 'ald-color-value-mode-runtime';\nexport const aldColorValueModeDataAttribute = 'data-ald-color-value-mode';\n\nexport function buildAldColorValueModeCss(mode: unknown) {\n const definition = getAldColorValueModeDefinition(mode);\n const entries = Object.entries(definition.vars);\n\n if (entries.length === 0) return '';\n\n const declarations = entries\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n\n return `:root[${aldColorValueModeDataAttribute}=\"${definition.mode}\"] {\\n${declarations}\\n}\\n`;\n}\n\nfunction removeAldColorValueModeLayer() {\n document.getElementById(aldColorValueModeStyleElementId)?.remove();\n}\n\nfunction appendBeforeTenantTheme(style: HTMLStyleElement) {\n const tenantThemeStyle = document.getElementById(themeStyleElementId);\n\n if (tenantThemeStyle) {\n document.head.insertBefore(style, tenantThemeStyle);\n return;\n }\n\n document.head.appendChild(style);\n}\n\nfunction injectAldColorValueModeLayer(mode: AldColorValueMode) {\n const cssText = buildAldColorValueModeCss(mode);\n let style = document.getElementById(\n aldColorValueModeStyleElementId,\n ) as HTMLStyleElement | null;\n\n if (!cssText) {\n removeAldColorValueModeLayer();\n return;\n }\n\n if (!style) {\n style = document.createElement('style');\n style.id = aldColorValueModeStyleElementId;\n appendBeforeTenantTheme(style);\n }\n\n style.setAttribute(aldColorValueModeDataAttribute, mode);\n\n if (style.textContent !== cssText) {\n style.textContent = cssText;\n }\n}\n\nexport function applyAldColorValueMode(mode: unknown): AldColorValueMode {\n if (typeof document === 'undefined') return 'legacy';\n\n const normalizedMode = isAldColorValueMode(mode) ? mode : 'legacy';\n\n document.documentElement.setAttribute(\n aldColorValueModeDataAttribute,\n normalizedMode,\n );\n injectAldColorValueModeLayer(normalizedMode);\n\n return normalizedMode;\n}\n"],"mappings":";;;AAOA,IAAa,kCAAkC;AAC/C,IAAa,iCAAiC;AAE9C,SAAgB,0BAA0B,MAAe;CACvD,MAAM,aAAa,+BAA+B,KAAK;CACvD,MAAM,UAAU,OAAO,QAAQ,WAAW,KAAK;AAE/C,KAAI,QAAQ,WAAW,EAAG,QAAO;CAEjC,MAAM,eAAe,QAClB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CACtC,KAAK,CAAC,MAAM,WAAW,KAAK,KAAK,IAAI,MAAM,GAAG,CAC9C,KAAK,KAAK;AAEb,QAAO,SAAS,+BAA+B,IAAI,WAAW,KAAK,QAAQ,aAAa;;AAG1F,SAAS,+BAA+B;AACtC,UAAS,eAAe,gCAAgC,EAAE,QAAQ;;AAGpE,SAAS,wBAAwB,OAAyB;CACxD,MAAM,mBAAmB,SAAS,eAAe,oBAAoB;AAErE,KAAI,kBAAkB;AACpB,WAAS,KAAK,aAAa,OAAO,iBAAiB;AACnD;;AAGF,UAAS,KAAK,YAAY,MAAM;;AAGlC,SAAS,6BAA6B,MAAyB;CAC7D,MAAM,UAAU,0BAA0B,KAAK;CAC/C,IAAI,QAAQ,SAAS,eACnB,gCACD;AAED,KAAI,CAAC,SAAS;AACZ,gCAA8B;AAC9B;;AAGF,KAAI,CAAC,OAAO;AACV,UAAQ,SAAS,cAAc,QAAQ;AACvC,QAAM,KAAK;AACX,0BAAwB,MAAM;;AAGhC,OAAM,aAAa,gCAAgC,KAAK;AAExD,KAAI,MAAM,gBAAgB,QACxB,OAAM,cAAc;;AAIxB,SAAgB,uBAAuB,MAAkC;AACvE,KAAI,OAAO,aAAa,YAAa,QAAO;CAE5C,MAAM,iBAAiB,oBAAoB,KAAK,GAAG,OAAO;AAE1D,UAAS,gBAAgB,aACvB,gCACA,eACD;AACD,8BAA6B,eAAe;AAE5C,QAAO"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/theme/runtime/colorValueMode/index.ts"],"sourcesContent":["import {\n getAldColorValueModeDefinition,\n isAldColorValueMode,\n type AldColorValueMode,\n type AldColorValueModeDefinition,\n} from './registry';\nimport { themeStyleElementId } from '../tokenMap';\n\nexport const aldColorValueModeStyleElementId = 'ald-color-value-mode-runtime';\nexport const aldColorValueModeDataAttribute = 'data-ald-color-value-mode';\n\nexport function createAldColorValueModeVars(\n definition: Pick<\n AldColorValueModeDefinition,\n 'mode' | 'selector' | 'declarations'\n >,\n) {\n const entries = Object.entries(definition.declarations);\n\n if (entries.length === 0) return '';\n\n const declarations = entries\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n\n return `${definition.selector} {\\n${declarations}\\n}\\n`;\n}\n\nexport function buildAldColorValueModeCss(mode: unknown) {\n return createAldColorValueModeVars(getAldColorValueModeDefinition(mode));\n}\n\nfunction removeAldColorValueModeLayer() {\n document.getElementById(aldColorValueModeStyleElementId)?.remove();\n}\n\nfunction placeColorValueModeLayer(\n style: HTMLStyleElement,\n mode: AldColorValueMode,\n) {\n const tenantThemeStyle = document.getElementById(themeStyleElementId);\n\n if (mode === 'dark') {\n document.head.appendChild(style);\n return;\n }\n\n if (tenantThemeStyle) {\n document.head.insertBefore(style, tenantThemeStyle);\n return;\n }\n\n document.head.appendChild(style);\n}\n\nfunction injectAldColorValueModeLayer(mode: AldColorValueMode) {\n const cssText = buildAldColorValueModeCss(mode);\n let style = document.getElementById(\n aldColorValueModeStyleElementId,\n ) as HTMLStyleElement | null;\n\n if (!cssText) {\n removeAldColorValueModeLayer();\n return;\n }\n\n if (!style) {\n style = document.createElement('style');\n style.id = aldColorValueModeStyleElementId;\n }\n\n placeColorValueModeLayer(style, mode);\n style.setAttribute(aldColorValueModeDataAttribute, mode);\n\n if (style.textContent !== cssText) {\n style.textContent = cssText;\n }\n}\n\nexport function applyAldColorValueMode(mode: unknown): AldColorValueMode {\n if (typeof document === 'undefined') return 'legacy';\n\n const normalizedMode = isAldColorValueMode(mode) ? mode : 'legacy';\n\n document.documentElement.setAttribute(\n aldColorValueModeDataAttribute,\n normalizedMode,\n );\n injectAldColorValueModeLayer(normalizedMode);\n\n return normalizedMode;\n}\n"],"mappings":";;;AAQA,IAAa,kCAAkC;AAC/C,IAAa,iCAAiC;AAE9C,SAAgB,4BACd,YAIA;CACA,MAAM,UAAU,OAAO,QAAQ,WAAW,aAAa;AAEvD,KAAI,QAAQ,WAAW,EAAG,QAAO;CAEjC,MAAM,eAAe,QAClB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CACtC,KAAK,CAAC,MAAM,WAAW,KAAK,KAAK,IAAI,MAAM,GAAG,CAC9C,KAAK,KAAK;AAEb,QAAO,GAAG,WAAW,SAAS,MAAM,aAAa;;AAGnD,SAAgB,0BAA0B,MAAe;AACvD,QAAO,4BAA4B,+BAA+B,KAAK,CAAC;;AAG1E,SAAS,+BAA+B;AACtC,UAAS,eAAe,gCAAgC,EAAE,QAAQ;;AAGpE,SAAS,yBACP,OACA,MACA;CACA,MAAM,mBAAmB,SAAS,eAAe,oBAAoB;AAErE,KAAI,SAAS,QAAQ;AACnB,WAAS,KAAK,YAAY,MAAM;AAChC;;AAGF,KAAI,kBAAkB;AACpB,WAAS,KAAK,aAAa,OAAO,iBAAiB;AACnD;;AAGF,UAAS,KAAK,YAAY,MAAM;;AAGlC,SAAS,6BAA6B,MAAyB;CAC7D,MAAM,UAAU,0BAA0B,KAAK;CAC/C,IAAI,QAAQ,SAAS,eACnB,gCACD;AAED,KAAI,CAAC,SAAS;AACZ,gCAA8B;AAC9B;;AAGF,KAAI,CAAC,OAAO;AACV,UAAQ,SAAS,cAAc,QAAQ;AACvC,QAAM,KAAK;;AAGb,0BAAyB,OAAO,KAAK;AACrC,OAAM,aAAa,gCAAgC,KAAK;AAExD,KAAI,MAAM,gBAAgB,QACxB,OAAM,cAAc;;AAIxB,SAAgB,uBAAuB,MAAkC;AACvE,KAAI,OAAO,aAAa,YAAa,QAAO;CAE5C,MAAM,iBAAiB,oBAAoB,KAAK,GAAG,OAAO;AAE1D,UAAS,gBAAgB,aACvB,gCACA,eACD;AACD,8BAA6B,eAAe;AAE5C,QAAO"}
@@ -4,26 +4,35 @@ export interface AldColorValueModeDefinition<Mode extends string = string> {
4
4
  mode: Mode;
5
5
  title: string;
6
6
  lifecycle: AldColorValueModeLifecycle;
7
- vars: AldThemeCssVars;
7
+ selector: string;
8
+ declarations: AldThemeCssVars;
8
9
  }
9
10
  declare const colorValueModeRegistry: {
10
11
  readonly legacy: {
11
12
  readonly mode: "legacy";
12
13
  readonly title: "Legacy compatibility values";
13
14
  readonly lifecycle: "stable";
14
- readonly vars: {};
15
+ readonly selector: ":root[data-ald-color-value-mode=\"legacy\"]";
16
+ readonly declarations: {};
15
17
  };
16
18
  readonly v3: {
17
19
  readonly mode: "v3";
18
20
  readonly title: "ALD V3 values";
19
21
  readonly lifecycle: "stable";
20
- readonly vars: AldThemeCssVars;
22
+ readonly selector: ":root[data-ald-color-value-mode=\"v3\"]";
23
+ readonly declarations: AldThemeCssVars;
24
+ };
25
+ readonly dark: {
26
+ readonly mode: "dark";
27
+ readonly title: "ALD Dark values";
28
+ readonly lifecycle: "stable";
29
+ readonly selector: ":root[data-ald-color-value-mode=\"dark\"]";
30
+ readonly declarations: AldThemeCssVars;
21
31
  };
22
32
  };
23
33
  export type AldColorValueMode = keyof typeof colorValueModeRegistry;
24
- export declare const aldColorValueModes: readonly ("legacy" | "v3")[];
34
+ export declare const aldColorValueModes: readonly ("dark" | "legacy" | "v3")[];
25
35
  export declare function isAldColorValueMode(value: unknown): value is AldColorValueMode;
26
36
  export declare function getAldColorValueModeDefinition(mode: unknown): AldColorValueModeDefinition<AldColorValueMode>;
27
37
  export declare function getAldColorValueModeDefinitions(): Array<AldColorValueModeDefinition<AldColorValueMode>>;
28
- export declare function createAldV3ColorValueModeVars(): AldThemeCssVars;
29
38
  export {};
@@ -1,17 +1,27 @@
1
- import { aldV3ColorValueModeVars } from "./v3.js";
1
+ import { aldV3BaselineDeclarations } from "./generated/v3BaselineDeclarations.js";
2
+ import { aldDarkBaselineDeclarations } from "./generated/darkBaselineDeclarations.js";
2
3
  //#region src/theme/runtime/colorValueMode/registry.ts
3
4
  var colorValueModeRegistry = {
4
5
  legacy: {
5
6
  mode: "legacy",
6
7
  title: "Legacy compatibility values",
7
8
  lifecycle: "stable",
8
- vars: {}
9
+ selector: ":root[data-ald-color-value-mode=\"legacy\"]",
10
+ declarations: {}
9
11
  },
10
12
  v3: {
11
13
  mode: "v3",
12
14
  title: "ALD V3 values",
13
15
  lifecycle: "stable",
14
- vars: aldV3ColorValueModeVars
16
+ selector: ":root[data-ald-color-value-mode=\"v3\"]",
17
+ declarations: aldV3BaselineDeclarations
18
+ },
19
+ dark: {
20
+ mode: "dark",
21
+ title: "ALD Dark values",
22
+ lifecycle: "stable",
23
+ selector: ":root[data-ald-color-value-mode=\"dark\"]",
24
+ declarations: aldDarkBaselineDeclarations
15
25
  }
16
26
  };
17
27
  var aldColorValueModes = Object.freeze(Object.keys(colorValueModeRegistry));
@@ -21,7 +31,7 @@ function isAldColorValueMode(value) {
21
31
  function copyDefinition(definition) {
22
32
  return {
23
33
  ...definition,
24
- vars: { ...definition.vars }
34
+ declarations: { ...definition.declarations }
25
35
  };
26
36
  }
27
37
  function getAldColorValueModeDefinition(mode) {
@@ -30,10 +40,7 @@ function getAldColorValueModeDefinition(mode) {
30
40
  function getAldColorValueModeDefinitions() {
31
41
  return aldColorValueModes.map((mode) => getAldColorValueModeDefinition(mode));
32
42
  }
33
- function createAldV3ColorValueModeVars() {
34
- return { ...aldV3ColorValueModeVars };
35
- }
36
43
  //#endregion
37
- export { aldColorValueModes, createAldV3ColorValueModeVars, getAldColorValueModeDefinition, getAldColorValueModeDefinitions, isAldColorValueMode };
44
+ export { aldColorValueModes, getAldColorValueModeDefinition, getAldColorValueModeDefinitions, isAldColorValueMode };
38
45
 
39
46
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","names":[],"sources":["../../../../src/theme/runtime/colorValueMode/registry.ts"],"sourcesContent":["import { aldV3ColorValueModeVars } from './v3';\nimport type { AldThemeCssVars } from '../types';\n\nexport type AldColorValueModeLifecycle =\n | 'stable'\n | 'experimental'\n | 'deprecated';\n\nexport interface AldColorValueModeDefinition<Mode extends string = string> {\n mode: Mode;\n title: string;\n lifecycle: AldColorValueModeLifecycle;\n vars: AldThemeCssVars;\n}\n\nconst colorValueModeRegistry = {\n legacy: {\n mode: 'legacy',\n title: 'Legacy compatibility values',\n lifecycle: 'stable',\n vars: {},\n },\n v3: {\n mode: 'v3',\n title: 'ALD V3 values',\n lifecycle: 'stable',\n vars: aldV3ColorValueModeVars,\n },\n} as const satisfies Record<string, AldColorValueModeDefinition>;\n\nexport type AldColorValueMode = keyof typeof colorValueModeRegistry;\n\nexport const aldColorValueModes = Object.freeze(\n Object.keys(colorValueModeRegistry) as AldColorValueMode[],\n);\n\nexport function isAldColorValueMode(\n value: unknown,\n): value is AldColorValueMode {\n return (\n typeof value === 'string' &&\n Object.prototype.hasOwnProperty.call(colorValueModeRegistry, value)\n );\n}\n\nfunction copyDefinition(\n definition: AldColorValueModeDefinition<AldColorValueMode>,\n): AldColorValueModeDefinition<AldColorValueMode> {\n return {\n ...definition,\n vars: { ...definition.vars },\n };\n}\n\nexport function getAldColorValueModeDefinition(\n mode: unknown,\n): AldColorValueModeDefinition<AldColorValueMode> {\n const normalizedMode = isAldColorValueMode(mode) ? mode : 'legacy';\n\n return copyDefinition(\n colorValueModeRegistry[\n normalizedMode\n ] as AldColorValueModeDefinition<AldColorValueMode>,\n );\n}\n\nexport function getAldColorValueModeDefinitions(): Array<\n AldColorValueModeDefinition<AldColorValueMode>\n> {\n return aldColorValueModes.map((mode) => getAldColorValueModeDefinition(mode));\n}\n\nexport function createAldV3ColorValueModeVars(): AldThemeCssVars {\n return { ...aldV3ColorValueModeVars };\n}\n"],"mappings":";;AAeA,IAAM,yBAAyB;CAC7B,QAAQ;EACN,MAAM;EACN,OAAO;EACP,WAAW;EACX,MAAM,EAAE;EACT;CACD,IAAI;EACF,MAAM;EACN,OAAO;EACP,WAAW;EACX,MAAM;EACP;CACF;AAID,IAAa,qBAAqB,OAAO,OACvC,OAAO,KAAK,uBAAuB,CACpC;AAED,SAAgB,oBACd,OAC4B;AAC5B,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,eAAe,KAAK,wBAAwB,MAAM;;AAIvE,SAAS,eACP,YACgD;AAChD,QAAO;EACL,GAAG;EACH,MAAM,EAAE,GAAG,WAAW,MAAM;EAC7B;;AAGH,SAAgB,+BACd,MACgD;AAGhD,QAAO,eACL,uBAHqB,oBAAoB,KAAK,GAAG,OAAO,UAMzD;;AAGH,SAAgB,kCAEd;AACA,QAAO,mBAAmB,KAAK,SAAS,+BAA+B,KAAK,CAAC;;AAG/E,SAAgB,gCAAiD;AAC/D,QAAO,EAAE,GAAG,yBAAyB"}
1
+ {"version":3,"file":"registry.js","names":[],"sources":["../../../../src/theme/runtime/colorValueMode/registry.ts"],"sourcesContent":["import { aldV3BaselineDeclarations } from './generated/v3BaselineDeclarations';\nimport { aldDarkBaselineDeclarations } from './generated/darkBaselineDeclarations';\nimport type { AldThemeCssVars } from '../types';\n\nexport type AldColorValueModeLifecycle =\n | 'stable'\n | 'experimental'\n | 'deprecated';\n\nexport interface AldColorValueModeDefinition<Mode extends string = string> {\n mode: Mode;\n title: string;\n lifecycle: AldColorValueModeLifecycle;\n selector: string;\n declarations: AldThemeCssVars;\n}\n\nconst colorValueModeRegistry = {\n legacy: {\n mode: 'legacy',\n title: 'Legacy compatibility values',\n lifecycle: 'stable',\n selector: ':root[data-ald-color-value-mode=\"legacy\"]',\n declarations: {},\n },\n v3: {\n mode: 'v3',\n title: 'ALD V3 values',\n lifecycle: 'stable',\n selector: ':root[data-ald-color-value-mode=\"v3\"]',\n declarations: aldV3BaselineDeclarations,\n },\n dark: {\n mode: 'dark',\n title: 'ALD Dark values',\n lifecycle: 'stable',\n selector: ':root[data-ald-color-value-mode=\"dark\"]',\n declarations: aldDarkBaselineDeclarations,\n },\n} as const satisfies Record<string, AldColorValueModeDefinition>;\n\nexport type AldColorValueMode = keyof typeof colorValueModeRegistry;\n\nexport const aldColorValueModes = Object.freeze(\n Object.keys(colorValueModeRegistry) as AldColorValueMode[],\n);\n\nexport function isAldColorValueMode(\n value: unknown,\n): value is AldColorValueMode {\n return (\n typeof value === 'string' &&\n Object.prototype.hasOwnProperty.call(colorValueModeRegistry, value)\n );\n}\n\nfunction copyDefinition(\n definition: AldColorValueModeDefinition<AldColorValueMode>,\n): AldColorValueModeDefinition<AldColorValueMode> {\n return {\n ...definition,\n declarations: { ...definition.declarations },\n };\n}\n\nexport function getAldColorValueModeDefinition(\n mode: unknown,\n): AldColorValueModeDefinition<AldColorValueMode> {\n const normalizedMode = isAldColorValueMode(mode) ? mode : 'legacy';\n\n return copyDefinition(\n colorValueModeRegistry[\n normalizedMode\n ] as AldColorValueModeDefinition<AldColorValueMode>,\n );\n}\n\nexport function getAldColorValueModeDefinitions(): Array<\n AldColorValueModeDefinition<AldColorValueMode>\n> {\n return aldColorValueModes.map((mode) => getAldColorValueModeDefinition(mode));\n}\n"],"mappings":";;;AAiBA,IAAM,yBAAyB;CAC7B,QAAQ;EACN,MAAM;EACN,OAAO;EACP,WAAW;EACX,UAAU;EACV,cAAc,EAAE;EACjB;CACD,IAAI;EACF,MAAM;EACN,OAAO;EACP,WAAW;EACX,UAAU;EACV,cAAc;EACf;CACD,MAAM;EACJ,MAAM;EACN,OAAO;EACP,WAAW;EACX,UAAU;EACV,cAAc;EACf;CACF;AAID,IAAa,qBAAqB,OAAO,OACvC,OAAO,KAAK,uBAAuB,CACpC;AAED,SAAgB,oBACd,OAC4B;AAC5B,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,eAAe,KAAK,wBAAwB,MAAM;;AAIvE,SAAS,eACP,YACgD;AAChD,QAAO;EACL,GAAG;EACH,cAAc,EAAE,GAAG,WAAW,cAAc;EAC7C;;AAGH,SAAgB,+BACd,MACgD;AAGhD,QAAO,eACL,uBAHqB,oBAAoB,KAAK,GAAG,OAAO,UAMzD;;AAGH,SAAgB,kCAEd;AACA,QAAO,mBAAmB,KAAK,SAAS,+BAA+B,KAAK,CAAC"}
@@ -1,98 +1 @@
1
- import { AldThemeCssVars } from '../types';
2
- export declare const aldV3ColorValueModePalette: {
3
- readonly neutral: {
4
- readonly 0: "#FDFEFF";
5
- readonly 25: "#F6F9FB";
6
- readonly 50: "#EEF1F5";
7
- readonly 100: "#E3E7EC";
8
- readonly 200: "#D1D6DC";
9
- readonly 300: "#B4B9C1";
10
- readonly 400: "#8D939B";
11
- readonly 500: "#6D747C";
12
- readonly 600: "#484F58";
13
- readonly 700: "#313740";
14
- readonly 800: "#1D232C";
15
- readonly 900: "#12181F";
16
- readonly 950: "#060A10";
17
- readonly 1000: "#010103";
18
- };
19
- readonly brand: {
20
- readonly 50: "#F4F8FF";
21
- readonly 100: "#E7F0FF";
22
- readonly 200: "#C7DBFA";
23
- readonly 300: "#94B7F2";
24
- readonly 400: "#6B96E8";
25
- readonly 500: "#4A79DE";
26
- readonly 600: "#3162D4";
27
- readonly 700: "#284FAF";
28
- readonly 800: "#223F8C";
29
- readonly 900: "#1B336D";
30
- readonly 950: "#14244A";
31
- };
32
- readonly blue: {
33
- readonly 50: "#F2F8FF";
34
- readonly 100: "#E1F0FF";
35
- readonly 200: "#BFE0FF";
36
- readonly 300: "#8EC8F6";
37
- readonly 400: "#56A9E9";
38
- readonly 500: "#2D8BD6";
39
- readonly 600: "#1F72B6";
40
- readonly 700: "#1B5C95";
41
- readonly 800: "#1A4774";
42
- readonly 900: "#173A5E";
43
- readonly 950: "#0F243D";
44
- };
45
- readonly green: {
46
- readonly 50: "#F2FBF7";
47
- readonly 100: "#E3F7ED";
48
- readonly 200: "#C2EBD7";
49
- readonly 300: "#91D8B6";
50
- readonly 400: "#5FC08F";
51
- readonly 500: "#35A873";
52
- readonly 600: "#25895D";
53
- readonly 700: "#1F6F4D";
54
- readonly 800: "#1A583F";
55
- readonly 900: "#154633";
56
- readonly 950: "#0D2B20";
57
- };
58
- readonly yellow: {
59
- readonly 50: "#FFFBEB";
60
- readonly 100: "#FFF4C2";
61
- readonly 200: "#FFE68A";
62
- readonly 300: "#F8CF48";
63
- readonly 400: "#E9B323";
64
- readonly 500: "#C89313";
65
- readonly 600: "#9F710E";
66
- readonly 700: "#7E590F";
67
- readonly 800: "#64460F";
68
- readonly 900: "#4B340C";
69
- readonly 950: "#2F2108";
70
- };
71
- readonly orange: {
72
- readonly 50: "#FFF7ED";
73
- readonly 100: "#FFEAD2";
74
- readonly 200: "#FFD0A3";
75
- readonly 300: "#FFB06B";
76
- readonly 400: "#F28D3A";
77
- readonly 500: "#D46F1F";
78
- readonly 600: "#B25516";
79
- readonly 700: "#8F4215";
80
- readonly 800: "#713516";
81
- readonly 900: "#572A14";
82
- readonly 950: "#34180B";
83
- };
84
- readonly red: {
85
- readonly 50: "#FFF5F5";
86
- readonly 100: "#FFE5E7";
87
- readonly 200: "#FFC9D0";
88
- readonly 300: "#F59AA7";
89
- readonly 400: "#E86A7A";
90
- readonly 500: "#D54355";
91
- readonly 600: "#B93243";
92
- readonly 700: "#982838";
93
- readonly 800: "#7A2130";
94
- readonly 900: "#611B28";
95
- readonly 950: "#3B1018";
96
- };
97
- };
98
- export declare const aldV3ColorValueModeVars: AldThemeCssVars;
1
+ export { aldV3BaselineDeclarations as aldV3ColorValueModeVars } from './generated/v3BaselineDeclarations.js';
@@ -1,230 +1,2 @@
1
- var palette = {
2
- neutral: {
3
- 0: "#FDFEFF",
4
- 25: "#F6F9FB",
5
- 50: "#EEF1F5",
6
- 100: "#E3E7EC",
7
- 200: "#D1D6DC",
8
- 300: "#B4B9C1",
9
- 400: "#8D939B",
10
- 500: "#6D747C",
11
- 600: "#484F58",
12
- 700: "#313740",
13
- 800: "#1D232C",
14
- 900: "#12181F",
15
- 950: "#060A10",
16
- 1e3: "#010103"
17
- },
18
- brand: {
19
- 50: "#F4F8FF",
20
- 100: "#E7F0FF",
21
- 200: "#C7DBFA",
22
- 300: "#94B7F2",
23
- 400: "#6B96E8",
24
- 500: "#4A79DE",
25
- 600: "#3162D4",
26
- 700: "#284FAF",
27
- 800: "#223F8C",
28
- 900: "#1B336D",
29
- 950: "#14244A"
30
- },
31
- blue: {
32
- 50: "#F2F8FF",
33
- 100: "#E1F0FF",
34
- 200: "#BFE0FF",
35
- 300: "#8EC8F6",
36
- 400: "#56A9E9",
37
- 500: "#2D8BD6",
38
- 600: "#1F72B6",
39
- 700: "#1B5C95",
40
- 800: "#1A4774",
41
- 900: "#173A5E",
42
- 950: "#0F243D"
43
- },
44
- green: {
45
- 50: "#F2FBF7",
46
- 100: "#E3F7ED",
47
- 200: "#C2EBD7",
48
- 300: "#91D8B6",
49
- 400: "#5FC08F",
50
- 500: "#35A873",
51
- 600: "#25895D",
52
- 700: "#1F6F4D",
53
- 800: "#1A583F",
54
- 900: "#154633",
55
- 950: "#0D2B20"
56
- },
57
- yellow: {
58
- 50: "#FFFBEB",
59
- 100: "#FFF4C2",
60
- 200: "#FFE68A",
61
- 300: "#F8CF48",
62
- 400: "#E9B323",
63
- 500: "#C89313",
64
- 600: "#9F710E",
65
- 700: "#7E590F",
66
- 800: "#64460F",
67
- 900: "#4B340C",
68
- 950: "#2F2108"
69
- },
70
- orange: {
71
- 50: "#FFF7ED",
72
- 100: "#FFEAD2",
73
- 200: "#FFD0A3",
74
- 300: "#FFB06B",
75
- 400: "#F28D3A",
76
- 500: "#D46F1F",
77
- 600: "#B25516",
78
- 700: "#8F4215",
79
- 800: "#713516",
80
- 900: "#572A14",
81
- 950: "#34180B"
82
- },
83
- red: {
84
- 50: "#FFF5F5",
85
- 100: "#FFE5E7",
86
- 200: "#FFC9D0",
87
- 300: "#F59AA7",
88
- 400: "#E86A7A",
89
- 500: "#D54355",
90
- 600: "#B93243",
91
- 700: "#982838",
92
- 800: "#7A2130",
93
- 900: "#611B28",
94
- 950: "#3B1018"
95
- }
96
- };
97
- var aldV3ColorValueModeVars = {
98
- "--content-primary": palette.neutral[800],
99
- "--content-secondary": palette.neutral[600],
100
- "--content-tertiary": palette.neutral[500],
101
- "--content-disabled": palette.neutral[400],
102
- "--content-inverted-primary": palette.neutral[0],
103
- "--content-inverted-secondary": palette.neutral[200],
104
- "--content-inverted-tertiary": palette.neutral[400],
105
- "--content-inverted-disabled": palette.neutral[600],
106
- "--content-informative-primary": palette.blue[700],
107
- "--content-informative-secondary": palette.blue[600],
108
- "--content-positive-primary": palette.green[700],
109
- "--content-positive-secondary": palette.green[600],
110
- "--content-warning-primary": palette.orange[700],
111
- "--content-warning-secondary": palette.orange[600],
112
- "--content-negative-primary": palette.red[700],
113
- "--content-negative-secondary": palette.red[600],
114
- "--content-brand-primary": palette.brand[900],
115
- "--content-brand-secondary": palette.brand[600],
116
- "--border-default": palette.neutral[200],
117
- "--border-default-alpha": "color-mix(in srgb, #1D232C 12%, transparent)",
118
- "--border-inverted": palette.neutral[0],
119
- "--border-neutral-strong": palette.neutral[600],
120
- "--border-neutral-subtle": palette.neutral[200],
121
- "--border-informative-strong": palette.blue[600],
122
- "--border-informative-subtle": palette.blue[200],
123
- "--border-positive-strong": palette.green[600],
124
- "--border-positive-subtle": palette.green[200],
125
- "--border-warning-strong": palette.orange[600],
126
- "--border-warning-subtle": palette.yellow[200],
127
- "--border-negative-strong": palette.red[600],
128
- "--border-negative-subtle": palette.red[200],
129
- "--border-brand-strong": palette.brand[600],
130
- "--border-brand-subtle": palette.brand[200],
131
- "--background-default": palette.neutral[0],
132
- "--background-inverted": palette.neutral[900],
133
- "--background-neutral-hard": palette.neutral[800],
134
- "--background-neutral-strong": palette.neutral[600],
135
- "--background-neutral-muted": palette.neutral[200],
136
- "--background-neutral-on-subtle": palette.neutral[100],
137
- "--background-neutral-subtle": palette.neutral[25],
138
- "--background-neutral-surface": palette.neutral[0],
139
- "--background-informative-strong": palette.blue[600],
140
- "--background-informative-muted": palette.blue[100],
141
- "--background-informative-on-subtle": palette.blue[50],
142
- "--background-informative-subtle": palette.blue[50],
143
- "--background-informative-surface": palette.blue[50],
144
- "--background-positive-strong": palette.green[600],
145
- "--background-positive-muted": palette.green[100],
146
- "--background-positive-on-subtle": palette.green[50],
147
- "--background-positive-subtle": palette.green[50],
148
- "--background-positive-surface": palette.green[50],
149
- "--background-warning-strong": palette.orange[600],
150
- "--background-warning-muted": palette.yellow[100],
151
- "--background-warning-on-subtle": palette.yellow[50],
152
- "--background-warning-subtle": palette.yellow[50],
153
- "--background-warning-surface": palette.yellow[50],
154
- "--background-negative-strong": palette.red[600],
155
- "--background-negative-muted": palette.red[100],
156
- "--background-negative-on-subtle": palette.red[50],
157
- "--background-negative-subtle": palette.red[50],
158
- "--background-negative-surface": palette.red[50],
159
- "--background-brand-strong": palette.brand[600],
160
- "--background-brand-muted": palette.brand[100],
161
- "--background-brand-on-subtle": palette.brand[50],
162
- "--background-brand-subtle": palette.brand[50],
163
- "--background-brand-surface": palette.brand[50],
164
- "--action-primary-normal": palette.brand[600],
165
- "--action-primary-hover": palette.brand[700],
166
- "--action-primary-active": palette.brand[800],
167
- "--action-primary-selected": palette.brand[700],
168
- "--action-primary-subtle-normal": palette.brand[50],
169
- "--action-primary-subtle-hover": palette.brand[100],
170
- "--action-primary-subtle-active": palette.brand[200],
171
- "--action-primary-subtle-selected": palette.brand[100],
172
- "--action-neutral-normal": palette.neutral[700],
173
- "--action-neutral-hover": palette.neutral[800],
174
- "--action-neutral-active": palette.neutral[900],
175
- "--action-neutral-selected": palette.neutral[800],
176
- "--action-neutral-subtle-normal": palette.neutral[50],
177
- "--action-neutral-subtle-hover": palette.neutral[100],
178
- "--action-neutral-subtle-active": palette.neutral[200],
179
- "--action-neutral-subtle-selected": palette.neutral[100],
180
- "--action-success-normal": palette.green[600],
181
- "--action-success-hover": palette.green[700],
182
- "--action-success-active": palette.green[800],
183
- "--action-success-selected": palette.green[700],
184
- "--action-success-subtle-normal": palette.green[50],
185
- "--action-success-subtle-hover": palette.green[100],
186
- "--action-success-subtle-active": palette.green[200],
187
- "--action-success-subtle-selected": palette.green[100],
188
- "--action-destructive-normal": palette.red[600],
189
- "--action-destructive-hover": palette.red[700],
190
- "--action-destructive-active": palette.red[800],
191
- "--action-destructive-selected": palette.red[700],
192
- "--action-destructive-subtle-normal": palette.red[50],
193
- "--action-destructive-subtle-hover": palette.red[100],
194
- "--action-destructive-subtle-active": palette.red[200],
195
- "--action-destructive-subtle-selected": palette.red[100],
196
- "--action-ghost-normal": "transparent",
197
- "--action-ghost-hover": palette.neutral[50],
198
- "--action-ghost-active": palette.neutral[100],
199
- "--action-ghost-selected": palette.neutral[50],
200
- "--action-ghost-inverted-hover": "color-mix(in srgb, #FDFEFF 8%, transparent)",
201
- "--action-ghost-inverted-active": "color-mix(in srgb, #FDFEFF 10%, transparent)",
202
- "--action-ghost-inverted-selected": "color-mix(in srgb, #FDFEFF 8%, transparent)",
203
- "--action-ghost-destructive-hover": palette.red[50],
204
- "--action-ghost-destructive-active": palette.red[100],
205
- "--action-ghost-destructive-selected": palette.red[50],
206
- "--action-outline-normal": palette.neutral[300],
207
- "--action-outline-hover": palette.neutral[400],
208
- "--action-outline-active": palette.neutral[500],
209
- "--action-outline-selected": palette.neutral[400],
210
- "--action-inverted-normal": palette.neutral[0],
211
- "--action-inverted-hover": palette.neutral[50],
212
- "--action-inverted-active": palette.neutral[100],
213
- "--action-inverted-selected": palette.neutral[50],
214
- "--action-reverse-inverted-normal": "color-mix(in srgb, #12181F 86%, transparent)",
215
- "--action-reverse-inverted-hover": "color-mix(in srgb, #12181F 56%, transparent)",
216
- "--action-reverse-inverted-active": "color-mix(in srgb, #12181F 40%, transparent)",
217
- "--action-reverse-inverted-selected": "color-mix(in srgb, #12181F 56%, transparent)",
218
- "--elevation-bottom-bottom-sm": "0 1px 2px 0 rgba(27 36 44 / 0.12)",
219
- "--elevation-bottom-bottom-md": "0 2px 8px -1px rgba(27 36 44 / 0.08), 0 2px 2px -1px rgba(27 36 44 / 0.04)",
220
- "--elevation-bottom-bottom-lg": "0 8px 16px -2px rgba(27 36 44 / 0.12), 0 2px 2px -1px rgba(27 35 44 / 0.04)",
221
- "--elevation-bottom-bottom-xl": "0 16px 24px -6px rgba(27 36 44 / 0.16), 0 2px 2px -1px rgba(27 36 44 / 0.04)",
222
- "--elevation-top-top-sm": "0 -1px 2px 0 rgba(27 36 44 / 0.12)",
223
- "--elevation-top-top-md": "0 -2px 8px -1px rgba(27 36 44 / 0.08), 0 -2px 2px -1px rgba(27 36 44 / 0.04)",
224
- "--elevation-top-top-lg": "0 -8px 16px -2px rgba(27 36 44 / 0.12), 0 -2px 2px -1px rgba(27 35 44 / 0.04)",
225
- "--elevation-top-top-xl": "0 -16px 24px -6px rgba(27 36 44 / 0.16), 0 -2px 2px -1px rgba(27 36 44 / 0.04)"
226
- };
227
- //#endregion
228
- export { aldV3ColorValueModeVars };
229
-
230
- //# sourceMappingURL=v3.js.map
1
+ // type-only module stub
2
+ export {};
@@ -2,6 +2,8 @@ import { createTheme } from "./createTheme.js";
2
2
  import { themeDataAttribute, themeStyleElementId } from "./tokenMap.js";
3
3
  import { themeToCssVars } from "./themeToCssVars.js";
4
4
  //#region src/theme/runtime/initAldTheme.ts
5
+ var colorValueModeStyleElementId = "ald-color-value-mode-runtime";
6
+ var colorValueModeDataAttribute = "data-ald-color-value-mode";
5
7
  function escapeCssString(value) {
6
8
  return value.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
7
9
  }
@@ -18,6 +20,9 @@ function initAldTheme(config) {
18
20
  style.textContent = createThemeCss(theme);
19
21
  document.getElementById(themeStyleElementId)?.remove();
20
22
  document.head.appendChild(style);
23
+ const colorValueModeStyle = document.getElementById(colorValueModeStyleElementId);
24
+ if (colorValueModeStyle?.getAttribute(colorValueModeDataAttribute) === "dark") document.head.appendChild(colorValueModeStyle);
25
+ else if (colorValueModeStyle) document.head.insertBefore(colorValueModeStyle, style);
21
26
  document.documentElement.setAttribute(themeDataAttribute, theme.id);
22
27
  }
23
28
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"initAldTheme.js","names":[],"sources":["../../../src/theme/runtime/initAldTheme.ts"],"sourcesContent":["import { createTheme } from './createTheme';\nimport { themeDataAttribute, themeStyleElementId } from './tokenMap';\nimport { themeToCssVars } from './themeToCssVars';\nimport type { AldThemeConfig, ResolvedAldTheme } from './types';\n\nfunction escapeCssString(value: string) {\n return value.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n}\n\nfunction createThemeCss(theme: ResolvedAldTheme) {\n const vars = themeToCssVars(theme);\n const body = Object.entries(vars)\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n\n return `:root[${themeDataAttribute}=\"${escapeCssString(\n theme.id,\n )}\"] {\\n${body}\\n}\\n`;\n}\n\nexport function initAldTheme(config: AldThemeConfig | ResolvedAldTheme): void {\n if (typeof document === 'undefined') return;\n\n const theme = createTheme(config);\n const style = document.createElement('style');\n\n style.id = themeStyleElementId;\n style.textContent = createThemeCss(theme);\n\n document.getElementById(themeStyleElementId)?.remove();\n document.head.appendChild(style);\n document.documentElement.setAttribute(themeDataAttribute, theme.id);\n}\n"],"mappings":";;;;AAKA,SAAS,gBAAgB,OAAe;AACtC,QAAO,MAAM,QAAQ,OAAO,OAAO,CAAC,QAAQ,MAAM,OAAM;;AAG1D,SAAS,eAAe,OAAyB;CAC/C,MAAM,OAAO,eAAe,MAAM;CAClC,MAAM,OAAO,OAAO,QAAQ,KAAK,CAC9B,KAAK,CAAC,MAAM,WAAW,KAAK,KAAK,IAAI,MAAM,GAAG,CAC9C,KAAK,KAAK;AAEb,QAAO,SAAS,mBAAmB,IAAI,gBACrC,MAAM,GACP,CAAC,QAAQ,KAAK;;AAGjB,SAAgB,aAAa,QAAiD;AAC5E,KAAI,OAAO,aAAa,YAAa;CAErC,MAAM,QAAQ,YAAY,OAAO;CACjC,MAAM,QAAQ,SAAS,cAAc,QAAQ;AAE7C,OAAM,KAAK;AACX,OAAM,cAAc,eAAe,MAAM;AAEzC,UAAS,eAAe,oBAAoB,EAAE,QAAQ;AACtD,UAAS,KAAK,YAAY,MAAM;AAChC,UAAS,gBAAgB,aAAa,oBAAoB,MAAM,GAAG"}
1
+ {"version":3,"file":"initAldTheme.js","names":[],"sources":["../../../src/theme/runtime/initAldTheme.ts"],"sourcesContent":["import { createTheme } from './createTheme';\nimport { themeDataAttribute, themeStyleElementId } from './tokenMap';\nimport { themeToCssVars } from './themeToCssVars';\nimport type { AldThemeConfig, ResolvedAldTheme } from './types';\n\nconst colorValueModeStyleElementId = 'ald-color-value-mode-runtime';\nconst colorValueModeDataAttribute = 'data-ald-color-value-mode';\n\nfunction escapeCssString(value: string) {\n return value.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n}\n\nfunction createThemeCss(theme: ResolvedAldTheme) {\n const vars = themeToCssVars(theme);\n const body = Object.entries(vars)\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n\n return `:root[${themeDataAttribute}=\"${escapeCssString(\n theme.id,\n )}\"] {\\n${body}\\n}\\n`;\n}\n\nexport function initAldTheme(config: AldThemeConfig | ResolvedAldTheme): void {\n if (typeof document === 'undefined') return;\n\n const theme = createTheme(config);\n const style = document.createElement('style');\n\n style.id = themeStyleElementId;\n style.textContent = createThemeCss(theme);\n\n document.getElementById(themeStyleElementId)?.remove();\n document.head.appendChild(style);\n\n const colorValueModeStyle = document.getElementById(\n colorValueModeStyleElementId,\n );\n if (\n colorValueModeStyle?.getAttribute(colorValueModeDataAttribute) === 'dark'\n ) {\n document.head.appendChild(colorValueModeStyle);\n } else if (colorValueModeStyle) {\n document.head.insertBefore(colorValueModeStyle, style);\n }\n\n document.documentElement.setAttribute(themeDataAttribute, theme.id);\n}\n"],"mappings":";;;;AAKA,IAAM,+BAA+B;AACrC,IAAM,8BAA8B;AAEpC,SAAS,gBAAgB,OAAe;AACtC,QAAO,MAAM,QAAQ,OAAO,OAAO,CAAC,QAAQ,MAAM,OAAM;;AAG1D,SAAS,eAAe,OAAyB;CAC/C,MAAM,OAAO,eAAe,MAAM;CAClC,MAAM,OAAO,OAAO,QAAQ,KAAK,CAC9B,KAAK,CAAC,MAAM,WAAW,KAAK,KAAK,IAAI,MAAM,GAAG,CAC9C,KAAK,KAAK;AAEb,QAAO,SAAS,mBAAmB,IAAI,gBACrC,MAAM,GACP,CAAC,QAAQ,KAAK;;AAGjB,SAAgB,aAAa,QAAiD;AAC5E,KAAI,OAAO,aAAa,YAAa;CAErC,MAAM,QAAQ,YAAY,OAAO;CACjC,MAAM,QAAQ,SAAS,cAAc,QAAQ;AAE7C,OAAM,KAAK;AACX,OAAM,cAAc,eAAe,MAAM;AAEzC,UAAS,eAAe,oBAAoB,EAAE,QAAQ;AACtD,UAAS,KAAK,YAAY,MAAM;CAEhC,MAAM,sBAAsB,SAAS,eACnC,6BACD;AACD,KACE,qBAAqB,aAAa,4BAA4B,KAAK,OAEnE,UAAS,KAAK,YAAY,oBAAoB;UACrC,oBACT,UAAS,KAAK,aAAa,qBAAqB,MAAM;AAGxD,UAAS,gBAAgB,aAAa,oBAAoB,MAAM,GAAG"}
@@ -0,0 +1,75 @@
1
+ export declare const typographyStyleIds: readonly ["body-reading", "body-dense", "heading", "label", "caption", "code", "metric-numeric"];
2
+ export type TypographyStyleId = (typeof typographyStyleIds)[number];
3
+ export type TypographyFamilyCapability = 'ui-sans' | 'code-mono';
4
+ export interface FrozenTypographyStyleMapping {
5
+ id: TypographyStyleId;
6
+ style: string;
7
+ fontSize: string;
8
+ lineHeight: string;
9
+ fontWeight: string;
10
+ letterSpacing: string;
11
+ fontFamilyCapability: TypographyFamilyCapability;
12
+ }
13
+ export interface TypographyTokenStyle extends FrozenTypographyStyleMapping {
14
+ tokenIdentity: string;
15
+ frozenMappingReference: string;
16
+ }
17
+ export interface TypographyTokenArtifact {
18
+ artifactKind: 'typography-token';
19
+ version: 'typography-token-v1';
20
+ provenance: {
21
+ frozenMapping: '60-concrete-composite-typography-primitive-mapping-freeze.md';
22
+ outputContract: '63-typography-output-contract.md';
23
+ generator: 'typography-artifact-generator-v1';
24
+ };
25
+ styles: readonly TypographyTokenStyle[];
26
+ }
27
+ export interface TypographyOutputContractReference {
28
+ document: '63-typography-output-contract.md';
29
+ }
30
+ export interface TypographyGeneratorInput {
31
+ frozenMapping: readonly FrozenTypographyStyleMapping[];
32
+ outputContract: TypographyOutputContractReference;
33
+ }
34
+ export interface TypographyCssVariableNames {
35
+ fontFamily: string;
36
+ fontSize: string;
37
+ fontWeight: string;
38
+ lineHeight: string;
39
+ letterSpacing: string;
40
+ }
41
+ export interface TypographyCssVariablesArtifact {
42
+ artifactKind: 'typography-css-variables';
43
+ version: 'typography-css-variables-v1';
44
+ tokenReference: TypographyTokenArtifact['version'];
45
+ variables: Readonly<Record<string, string>>;
46
+ cssText: string;
47
+ }
48
+ export interface TypographyArtifactValidationIssue {
49
+ code: 'missing-style' | 'unexpected-style' | 'duplicate-style' | 'incomplete-style' | 'frozen-value-mismatch' | 'traceability-missing';
50
+ styleId?: string;
51
+ message: string;
52
+ }
53
+ export interface TypographyArtifactValidationResult {
54
+ valid: boolean;
55
+ errors: TypographyArtifactValidationIssue[];
56
+ }
57
+ export interface TypographyTailwindUtility {
58
+ [property: string]: string;
59
+ fontFamily: string;
60
+ fontSize: string;
61
+ fontWeight: string;
62
+ lineHeight: string;
63
+ letterSpacing: string;
64
+ }
65
+ export type TypographyTailwindUtilities = Record<`.text-typography-${TypographyStyleId}`, TypographyTailwindUtility>;
66
+ export declare const frozenTypographyCompositeMapping: readonly FrozenTypographyStyleMapping[];
67
+ export declare const typographyGeneratorInput: TypographyGeneratorInput;
68
+ export declare function generateTypographyToken(input?: TypographyGeneratorInput): TypographyTokenArtifact;
69
+ export declare function validateTypographyToken(token: TypographyTokenArtifact): TypographyArtifactValidationResult;
70
+ export declare function generateTypographyCssVariables(token?: TypographyTokenArtifact): TypographyCssVariablesArtifact;
71
+ export declare function createTypographyTailwindUtilities(token?: TypographyTokenArtifact): TypographyTailwindUtilities;
72
+ export declare const typographyToken: TypographyTokenArtifact;
73
+ export declare const typographyCssVariables: TypographyCssVariablesArtifact;
74
+ export declare const typographyTailwindUtilities: TypographyTailwindUtilities;
75
+ export declare function getTypographyCssVariableNames(styleId: TypographyStyleId): TypographyCssVariableNames;
@@ -0,0 +1,2 @@
1
+ // type-only module stub
2
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './typography/index.js';
2
+ export { default } from './typography/index.js';