@common-origin/design-system 2.22.0 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,24 @@
1
1
  import React from 'react';
2
2
  import type { Tokens } from '../../../types/tokens.mjs';
3
+ import type { BackgroundPath } from '../../../lib/tokenAliases.mjs';
4
+ /**
5
+ * Box's background: a semantic token's path below `semantic` (decision 0031), such as
6
+ * `surface.base`, `surface.raised` or `color.fill.muted`.
7
+ */
8
+ export type BoxBackground = BackgroundPath | DeprecatedBoxBackground;
9
+ /**
10
+ * The old `semantic.color.background` keys, removed in 3.0 with those tokens (#99, #304).
11
+ * @deprecated Use the token path: `default` and `page` → `surface.base`; `subtle` → `surface.raised`;
12
+ * `overlay` → `surface.scrim`; `surface` → `color.fill.muted`; `transparent` → `color.fill.none`;
13
+ * `progressTrack` → `color.fill.default`; `hover-overlay`, `active-overlay` and `inverse-overlay` →
14
+ * `color.fill.none-hover`, `none-pressed` and `inverse-none-hover`. The rest become `color.fill.*`
15
+ * with `interactive` → `accent`, `error` → `danger`, `neutral` → `default`, `-subtle` → `-muted`
16
+ * and `-active` → `-pressed`: `interactive-subtle` → `color.fill.accent-muted`, `emphasis` →
17
+ * `color.fill.emphasis`. `emphasis-hover`
18
+ * and `emphasis-active` have no static replacement: a strong fill's states belong to the control
19
+ * that has them (decision 0048).
20
+ */
21
+ export type DeprecatedBoxBackground = keyof Tokens['semantic']['color']['background'];
3
22
  export interface BoxProps {
4
23
  display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'none';
5
24
  flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
@@ -38,7 +57,12 @@ export interface BoxProps {
38
57
  borderRight?: keyof Tokens['semantic']['color']['border'];
39
58
  borderBottom?: keyof Tokens['semantic']['color']['border'];
40
59
  borderLeft?: keyof Tokens['semantic']['color']['border'];
41
- bg?: keyof Tokens['semantic']['color']['background'];
60
+ /**
61
+ * Background colour, as a semantic token path: `surface.base` (page), `surface.raised` (cards,
62
+ * sheets), `surface.scrim`, or a `color.fill.*` fill such as `color.fill.muted`. The old
63
+ * background keys (`default`, `subtle`, `surface`…) are deprecated and removed in 3.0.
64
+ */
65
+ bg?: BoxBackground;
42
66
  color?: keyof Tokens['semantic']['color']['text'];
43
67
  shadow?: keyof Tokens['semantic']['elevation'];
44
68
  cursor?: 'auto' | 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'help' | 'not-allowed';
@@ -1,5 +1,24 @@
1
1
  import React from 'react';
2
2
  import type { Tokens } from '../../../types/tokens';
3
+ import type { BackgroundPath } from '../../../lib/tokenAliases';
4
+ /**
5
+ * Box's background: a semantic token's path below `semantic` (decision 0031), such as
6
+ * `surface.base`, `surface.raised` or `color.fill.muted`.
7
+ */
8
+ export type BoxBackground = BackgroundPath | DeprecatedBoxBackground;
9
+ /**
10
+ * The old `semantic.color.background` keys, removed in 3.0 with those tokens (#99, #304).
11
+ * @deprecated Use the token path: `default` and `page` → `surface.base`; `subtle` → `surface.raised`;
12
+ * `overlay` → `surface.scrim`; `surface` → `color.fill.muted`; `transparent` → `color.fill.none`;
13
+ * `progressTrack` → `color.fill.default`; `hover-overlay`, `active-overlay` and `inverse-overlay` →
14
+ * `color.fill.none-hover`, `none-pressed` and `inverse-none-hover`. The rest become `color.fill.*`
15
+ * with `interactive` → `accent`, `error` → `danger`, `neutral` → `default`, `-subtle` → `-muted`
16
+ * and `-active` → `-pressed`: `interactive-subtle` → `color.fill.accent-muted`, `emphasis` →
17
+ * `color.fill.emphasis`. `emphasis-hover`
18
+ * and `emphasis-active` have no static replacement: a strong fill's states belong to the control
19
+ * that has them (decision 0048).
20
+ */
21
+ export type DeprecatedBoxBackground = keyof Tokens['semantic']['color']['background'];
3
22
  export interface BoxProps {
4
23
  display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'none';
5
24
  flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
@@ -38,7 +57,12 @@ export interface BoxProps {
38
57
  borderRight?: keyof Tokens['semantic']['color']['border'];
39
58
  borderBottom?: keyof Tokens['semantic']['color']['border'];
40
59
  borderLeft?: keyof Tokens['semantic']['color']['border'];
41
- bg?: keyof Tokens['semantic']['color']['background'];
60
+ /**
61
+ * Background colour, as a semantic token path: `surface.base` (page), `surface.raised` (cards,
62
+ * sheets), `surface.scrim`, or a `color.fill.*` fill such as `color.fill.muted`. The old
63
+ * background keys (`default`, `subtle`, `surface`…) are deprecated and removed in 3.0.
64
+ */
65
+ bg?: BoxBackground;
42
66
  color?: keyof Tokens['semantic']['color']['text'];
43
67
  shadow?: keyof Tokens['semantic']['elevation'];
44
68
  cursor?: 'auto' | 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'help' | 'not-allowed';
@@ -4,9 +4,12 @@ import { jsx } from 'react/jsx-runtime';
4
4
  import styled$module, { css } from 'styled-components';
5
5
  const styled = styled$module.default || styled$module;
6
6
  import tokens from '../../../lib/cssTokens.mjs';
7
- import { spaceByLayoutKey, radiusByKey, borderColorByKey, backgroundByKey, textColorByKey } from '../../../lib/tokenAliases.mjs';
7
+ import { spaceByLayoutKey, radiusByKey, borderColorByKey, textColorByKey, backgroundByPath, backgroundByKey } from '../../../lib/tokenAliases.mjs';
8
8
  import { reducedMotion } from '../../../lib/styleUtils.mjs';
9
9
 
10
+ var backgroundColor = function backgroundColor(bg) {
11
+ return bg in backgroundByPath ? backgroundByPath[bg] : backgroundByKey[bg];
12
+ };
10
13
  var StyledBox = /*#__PURE__*/styled.div.withConfig({
11
14
  shouldForwardProp: function shouldForwardProp(prop) {
12
15
  return !prop.startsWith('$');
@@ -90,7 +93,7 @@ var StyledBox = /*#__PURE__*/styled.div.withConfig({
90
93
  }, function (props) {
91
94
  return props.$borderLeft && css(templateObject_37 || (templateObject_37 = __makeTemplateObject(["border-left: ", " solid ", ";"], ["border-left: ", " solid ", ";"])), tokens.semantic.border.width.thin, borderColorByKey[props.$borderLeft]);
92
95
  }, function (props) {
93
- return props.$bg && css(templateObject_38 || (templateObject_38 = __makeTemplateObject(["background-color: ", ";"], ["background-color: ", ";"])), backgroundByKey[props.$bg]);
96
+ return props.$bg && css(templateObject_38 || (templateObject_38 = __makeTemplateObject(["background-color: ", ";"], ["background-color: ", ";"])), backgroundColor(props.$bg));
94
97
  }, function (props) {
95
98
  return props.$color && css(templateObject_39 || (templateObject_39 = __makeTemplateObject(["color: ", ";"], ["color: ", ";"])), textColorByKey[props.$color]);
96
99
  }, function (props) {
@@ -92,7 +92,7 @@ var AccountCard = function AccountCard(_a) {
92
92
  return jsx(Box, {
93
93
  minWidth: tokens.component.accountCard.minWidth,
94
94
  p: "lg",
95
- bg: "subtle",
95
+ bg: "surface.raised",
96
96
  border: "default",
97
97
  borderRadius: "xl",
98
98
  transition: "box-shadow ".concat(semantic.motion.duration.moderate, " ").concat(semantic.motion.easing.decelerate),
package/dist/data.js CHANGED
@@ -147,6 +147,7 @@ var base = {
147
147
  },
148
148
  color: {
149
149
  transparent: "transparent",
150
+ white: "#ffffff",
150
151
  gray: {
151
152
  "100": "#fcfcfc",
152
153
  "200": "#f9f9f9",
@@ -681,16 +682,16 @@ var component = {
681
682
  button: {
682
683
  primary: {
683
684
  backgroundColor: "#222222",
684
- textColor: "#ffffff",
685
+ textColor: "#fcfcfc",
685
686
  borderRadius: "0.25rem",
686
687
  padding: "0.75rem 1rem",
687
688
  font: "500 1rem/1.5rem 'Inter', sans-serif"
688
689
  },
689
690
  hover: {
690
- backgroundColor: "color-mix(in srgb, #222222, #ffffff calc(0.08 * 100%))"
691
+ backgroundColor: "color-mix(in srgb, #222222, #fcfcfc calc(0.08 * 100%))"
691
692
  },
692
693
  active: {
693
- backgroundColor: "color-mix(in srgb, #222222, #ffffff calc(0.12 * 100%))"
694
+ backgroundColor: "color-mix(in srgb, #222222, #fcfcfc calc(0.12 * 100%))"
694
695
  },
695
696
  focus: {
696
697
  outline: "0.125rem solid #222222",
@@ -731,12 +732,12 @@ var component = {
731
732
  },
732
733
  accent: {
733
734
  backgroundColor: "#0162bf",
734
- textColor: "#ffffff",
735
+ textColor: "#fcfcfc",
735
736
  hover: {
736
- backgroundColor: "color-mix(in srgb, #0162bf, #ffffff calc(0.08 * 100%))"
737
+ backgroundColor: "color-mix(in srgb, #0162bf, #fcfcfc calc(0.08 * 100%))"
737
738
  },
738
739
  active: {
739
- backgroundColor: "color-mix(in srgb, #0162bf, #ffffff calc(0.12 * 100%))"
740
+ backgroundColor: "color-mix(in srgb, #0162bf, #fcfcfc calc(0.12 * 100%))"
740
741
  },
741
742
  disabled: {
742
743
  backgroundColor: "#f2f2f2",
@@ -745,12 +746,12 @@ var component = {
745
746
  },
746
747
  emphasis: {
747
748
  backgroundColor: "#0162bf",
748
- textColor: "#ffffff",
749
+ textColor: "#fcfcfc",
749
750
  hover: {
750
- backgroundColor: "color-mix(in srgb, #0162bf, #ffffff calc(0.08 * 100%))"
751
+ backgroundColor: "color-mix(in srgb, #0162bf, #fcfcfc calc(0.08 * 100%))"
751
752
  },
752
753
  active: {
753
- backgroundColor: "color-mix(in srgb, #0162bf, #ffffff calc(0.12 * 100%))"
754
+ backgroundColor: "color-mix(in srgb, #0162bf, #fcfcfc calc(0.12 * 100%))"
754
755
  },
755
756
  disabled: {
756
757
  backgroundColor: "#f2f2f2",
@@ -759,12 +760,12 @@ var component = {
759
760
  },
760
761
  danger: {
761
762
  backgroundColor: "#c90002",
762
- textColor: "#ffffff",
763
+ textColor: "#fcfcfc",
763
764
  hover: {
764
- backgroundColor: "color-mix(in srgb, #c90002, #ffffff calc(0.08 * 100%))"
765
+ backgroundColor: "color-mix(in srgb, #c90002, #fcfcfc calc(0.08 * 100%))"
765
766
  },
766
767
  active: {
767
- backgroundColor: "color-mix(in srgb, #c90002, #ffffff calc(0.12 * 100%))"
768
+ backgroundColor: "color-mix(in srgb, #c90002, #fcfcfc calc(0.12 * 100%))"
768
769
  },
769
770
  disabled: {
770
771
  backgroundColor: "#f2f2f2",
@@ -816,12 +817,12 @@ var component = {
816
817
  variants: {
817
818
  emphasis: {
818
819
  backgroundColor: "#222222",
819
- textColor: "#ffffff",
820
+ textColor: "#fcfcfc",
820
821
  hover: {
821
- backgroundColor: "color-mix(in srgb, #222222, #ffffff calc(0.08 * 100%))"
822
+ backgroundColor: "color-mix(in srgb, #222222, #fcfcfc calc(0.08 * 100%))"
822
823
  },
823
824
  active: {
824
- backgroundColor: "color-mix(in srgb, #222222, #ffffff calc(0.12 * 100%))"
825
+ backgroundColor: "color-mix(in srgb, #222222, #fcfcfc calc(0.12 * 100%))"
825
826
  },
826
827
  disabled: {
827
828
  backgroundColor: "#f2f2f2",
@@ -844,12 +845,12 @@ var component = {
844
845
  },
845
846
  interactive: {
846
847
  backgroundColor: "#0162bf",
847
- textColor: "#ffffff",
848
+ textColor: "#fcfcfc",
848
849
  hover: {
849
- backgroundColor: "color-mix(in srgb, #0162bf, #ffffff calc(0.08 * 100%))"
850
+ backgroundColor: "color-mix(in srgb, #0162bf, #fcfcfc calc(0.08 * 100%))"
850
851
  },
851
852
  active: {
852
- backgroundColor: "color-mix(in srgb, #0162bf, #ffffff calc(0.12 * 100%))"
853
+ backgroundColor: "color-mix(in srgb, #0162bf, #fcfcfc calc(0.12 * 100%))"
853
854
  },
854
855
  disabled: {
855
856
  backgroundColor: "#f2f2f2",
@@ -883,10 +884,10 @@ var component = {
883
884
  justifyContent: "center"
884
885
  },
885
886
  hover: {
886
- backgroundColor: "color-mix(in srgb, #222222, #ffffff calc(0.08 * 100%))"
887
+ backgroundColor: "color-mix(in srgb, #222222, #fcfcfc calc(0.08 * 100%))"
887
888
  },
888
889
  active: {
889
- backgroundColor: "color-mix(in srgb, #222222, #ffffff calc(0.12 * 100%))"
890
+ backgroundColor: "color-mix(in srgb, #222222, #fcfcfc calc(0.12 * 100%))"
890
891
  },
891
892
  focus: {
892
893
  outline: "0.125rem solid #222222",
@@ -1450,7 +1451,7 @@ var semantic = {
1450
1451
  "default": "#222222",
1451
1452
  emphasis: "#222222",
1452
1453
  subdued: "#636363",
1453
- inverse: "#ffffff",
1454
+ inverse: "#fcfcfc",
1454
1455
  disabled: "rgba(34, 34, 34, 0.208)",
1455
1456
  interactive: "#0162bf",
1456
1457
  "interactive-hover": "#0162bf",
@@ -1478,11 +1479,11 @@ var semantic = {
1478
1479
  "interactive-subtle": "#edf3fa",
1479
1480
  "interactive-subtle-hover": "#e3ecf8",
1480
1481
  "interactive-subtle-active": "#d8e5f6",
1481
- "interactive-hover": "color-mix(in srgb, #0162bf, #ffffff calc(0.08 * 100%))",
1482
- "interactive-active": "color-mix(in srgb, #0162bf, #ffffff calc(0.12 * 100%))",
1482
+ "interactive-hover": "color-mix(in srgb, #0162bf, #fcfcfc calc(0.08 * 100%))",
1483
+ "interactive-active": "color-mix(in srgb, #0162bf, #fcfcfc calc(0.12 * 100%))",
1483
1484
  error: "#c90002",
1484
- "error-hover": "color-mix(in srgb, #c90002, #ffffff calc(0.08 * 100%))",
1485
- "error-active": "color-mix(in srgb, #c90002, #ffffff calc(0.12 * 100%))",
1485
+ "error-hover": "color-mix(in srgb, #c90002, #fcfcfc calc(0.08 * 100%))",
1486
+ "error-active": "color-mix(in srgb, #c90002, #fcfcfc calc(0.12 * 100%))",
1486
1487
  "error-subtle": "#faf0ee",
1487
1488
  success: "#017249",
1488
1489
  "success-subtle": "#dbf9e8",
@@ -1524,7 +1525,7 @@ var semantic = {
1524
1525
  emphasis: "#222222",
1525
1526
  subdued: "#636363",
1526
1527
  disabled: "rgba(34, 34, 34, 0.208)",
1527
- inverse: "#ffffff",
1528
+ inverse: "#fcfcfc",
1528
1529
  interactive: "#0162bf",
1529
1530
  "interactive-hover": "#0162bf",
1530
1531
  "interactive-active": "#0162bf",
@@ -1637,11 +1638,11 @@ var semantic = {
1637
1638
  "accent-muted": "#edf3fa",
1638
1639
  "accent-muted-hover": "#e3ecf8",
1639
1640
  "accent-muted-pressed": "#d8e5f6",
1640
- "accent-hover": "color-mix(in srgb, #0162bf, #ffffff calc(0.08 * 100%))",
1641
- "accent-pressed": "color-mix(in srgb, #0162bf, #ffffff calc(0.12 * 100%))",
1641
+ "accent-hover": "color-mix(in srgb, #0162bf, #fcfcfc calc(0.08 * 100%))",
1642
+ "accent-pressed": "color-mix(in srgb, #0162bf, #fcfcfc calc(0.12 * 100%))",
1642
1643
  danger: "#c90002",
1643
- "danger-hover": "color-mix(in srgb, #c90002, #ffffff calc(0.08 * 100%))",
1644
- "danger-pressed": "color-mix(in srgb, #c90002, #ffffff calc(0.12 * 100%))",
1644
+ "danger-hover": "color-mix(in srgb, #c90002, #fcfcfc calc(0.08 * 100%))",
1645
+ "danger-pressed": "color-mix(in srgb, #c90002, #fcfcfc calc(0.12 * 100%))",
1645
1646
  "danger-muted": "#faf0ee",
1646
1647
  success: "#017249",
1647
1648
  "success-muted": "#dbf9e8",
package/dist/data.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../src/types/tokens.ts","../src/types/icons.ts"],"sourcesContent":["import tokensJson from '../styles/tokens.json'\nimport type { Tokens } from '../styles/tokens'\n\n// The published types come from the generated `src/styles/tokens.ts`, which carries each token's\n// description as JSDoc and `@deprecated` on deprecated tokens (decision 0033, #199). Declaring the\n// constant with that type also keeps emitted .d.ts files free of JSON imports, which consumers can\n// only resolve with `resolveJsonModule`.\nexport const tokens: Tokens = tokensJson\n\nexport type { Tokens }\nexport type TokensBase = Tokens['base']\nexport type TokensSemantic = Tokens['semantic']\nexport type TokensComponent = Tokens['component']\n","// Icon type definitions for external consumption\n// This is a self-contained type that doesn't depend on JSON imports\n// to ensure it works correctly in consuming projects\n\nimport iconsJson from '../styles/icons.json'\n\nexport type IconName =\n | 'add'\n | 'ai'\n | 'addRing'\n | 'arrowDown'\n | 'arrowLeft'\n | 'arrowRight'\n | 'arrowUp'\n | 'back'\n | 'bell'\n | 'cancel'\n | 'caret'\n | 'caretDown'\n | 'caretUp'\n | 'check'\n | 'checkRing'\n | 'close'\n | 'copy'\n | 'creditCard'\n | 'crossCircle'\n | 'directionRight'\n | 'directionUp'\n | 'edit'\n | 'export'\n | 'fileDocSearch'\n | 'filter'\n | 'info'\n | 'kebab'\n | 'lamp'\n | 'lineOut'\n | 'link'\n | 'meatballs'\n | 'menu'\n | 'message'\n | 'move'\n | 'mic'\n | 'order'\n | 'paper'\n | 'pause'\n | 'play'\n | 'playBack'\n | 'refresh'\n | 'remove'\n | 'search'\n | 'star'\n | 'starFilled'\n | 'statusCancelled'\n | 'statusError'\n | 'statusInProgress'\n | 'statusInfo'\n | 'statusNotStarted'\n | 'statusPending'\n | 'statusScheduled'\n | 'statusSerious'\n | 'statusSuccess'\n | 'statusWarning'\n | 'stop'\n | 'table'\n | 'trash'\n | 'userBox'\n | 'view'\n | 'viewHide'\n | 'wallet'\n\n/** Semantic category for grouping icons by purpose */\nexport type IconCategory =\n | 'action'\n | 'communication'\n | 'content'\n | 'feedback'\n | 'media'\n | 'navigation'\n | 'object'\n | 'status'\n | 'user'\n\n/** Enriched metadata for each icon entry in icons.json */\nexport interface IconMetadata {\n /** SVG path data */\n path: string\n /** Display name of the icon */\n name: string\n /** What the icon visually depicts */\n description: string\n /** Semantic category for grouping */\n category: IconCategory\n /** Alternative names and search terms */\n aliases: string[]\n /** When and why to use this icon */\n intent: string\n /** Whether the icon is typically decorative (true) or informative (false) */\n decorativeDefault: boolean\n /** Suggested accessible label when the icon conveys meaning */\n ariaLabelDefault: string\n}\n\n/** The full icon registry keyed by IconName */\nexport type IconRegistry = Record<IconName, IconMetadata>\n\n// Typed as IconRegistry so emitted .d.ts files don't import JSON (needs `resolveJsonModule` in consumers).\nexport const iconsData = iconsJson as IconRegistry\n"],"names":["tokens","tokensJson","iconsData","iconsJson"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAWC;;ACP9B;AACA;AACA;AAuGA;AACO,IAAMC,SAAS,GAAGC;;;;;;;"}
1
+ {"version":3,"file":"data.js","sources":["../src/types/tokens.ts","../src/types/icons.ts"],"sourcesContent":["import tokensJson from '../styles/tokens.json'\nimport type { Tokens } from '../styles/tokens'\n\n// The published types come from the generated `src/styles/tokens.ts`, which carries each token's\n// description as JSDoc and `@deprecated` on deprecated tokens (decision 0033, #199). Declaring the\n// constant with that type also keeps emitted .d.ts files free of JSON imports, which consumers can\n// only resolve with `resolveJsonModule`.\nexport const tokens: Tokens = tokensJson\n\nexport type { Tokens }\nexport type TokensBase = Tokens['base']\nexport type TokensSemantic = Tokens['semantic']\nexport type TokensComponent = Tokens['component']\n","// Icon type definitions for external consumption\n// This is a self-contained type that doesn't depend on JSON imports\n// to ensure it works correctly in consuming projects\n\nimport iconsJson from '../styles/icons.json'\n\nexport type IconName =\n | 'add'\n | 'ai'\n | 'addRing'\n | 'arrowDown'\n | 'arrowLeft'\n | 'arrowRight'\n | 'arrowUp'\n | 'back'\n | 'bell'\n | 'cancel'\n | 'caret'\n | 'caretDown'\n | 'caretUp'\n | 'check'\n | 'checkRing'\n | 'close'\n | 'copy'\n | 'creditCard'\n | 'crossCircle'\n | 'directionRight'\n | 'directionUp'\n | 'edit'\n | 'export'\n | 'fileDocSearch'\n | 'filter'\n | 'info'\n | 'kebab'\n | 'lamp'\n | 'lineOut'\n | 'link'\n | 'meatballs'\n | 'menu'\n | 'message'\n | 'move'\n | 'mic'\n | 'order'\n | 'paper'\n | 'pause'\n | 'play'\n | 'playBack'\n | 'refresh'\n | 'remove'\n | 'search'\n | 'star'\n | 'starFilled'\n | 'statusCancelled'\n | 'statusError'\n | 'statusInProgress'\n | 'statusInfo'\n | 'statusNotStarted'\n | 'statusPending'\n | 'statusScheduled'\n | 'statusSerious'\n | 'statusSuccess'\n | 'statusWarning'\n | 'stop'\n | 'table'\n | 'trash'\n | 'userBox'\n | 'view'\n | 'viewHide'\n | 'wallet'\n\n/** Semantic category for grouping icons by purpose */\nexport type IconCategory =\n | 'action'\n | 'communication'\n | 'content'\n | 'feedback'\n | 'media'\n | 'navigation'\n | 'object'\n | 'status'\n | 'user'\n\n/** Enriched metadata for each icon entry in icons.json */\nexport interface IconMetadata {\n /** SVG path data */\n path: string\n /** Display name of the icon */\n name: string\n /** What the icon visually depicts */\n description: string\n /** Semantic category for grouping */\n category: IconCategory\n /** Alternative names and search terms */\n aliases: string[]\n /** When and why to use this icon */\n intent: string\n /** Whether the icon is typically decorative (true) or informative (false) */\n decorativeDefault: boolean\n /** Suggested accessible label when the icon conveys meaning */\n ariaLabelDefault: string\n}\n\n/** The full icon registry keyed by IconName */\nexport type IconRegistry = Record<IconName, IconMetadata>\n\n// Typed as IconRegistry so emitted .d.ts files don't import JSON (needs `resolveJsonModule` in consumers).\nexport const iconsData = iconsJson as IconRegistry\n"],"names":["tokens","tokensJson","iconsData","iconsJson"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAWC;;ACP9B;AACA;AACA;AAuGA;AACO,IAAMC,SAAS,GAAGC;;;;;;;"}
@@ -4,6 +4,15 @@ type Semantic = Tokens['semantic'];
4
4
  export declare const spaceByLayoutKey: Record<keyof Semantic['spacing']['layout'], string>;
5
5
  /** Box's `borderRadius` prop: the old radius keys, read from `radius`. */
6
6
  export declare const radiusByKey: Record<keyof Semantic['border']['radius'], string>;
7
+ /** Fills with no value of their own: a strong fill's states mix in an overlay (decision 0048). */
8
+ type StateMixedFill = 'emphasis-hover' | 'emphasis-pressed';
9
+ /**
10
+ * Box's `bg` values in the semantic grammar (decision 0031, #304): the token's path below
11
+ * `semantic`, such as `surface.raised` or `color.fill.muted`.
12
+ */
13
+ export type BackgroundPath = `surface.${keyof Semantic['surface']}` | `color.fill.${Exclude<keyof Semantic['color']['fill'], StateMixedFill>}`;
14
+ /** Box's `bg` prop: the grammar's token paths, read from the token at that path. */
15
+ export declare const backgroundByPath: Record<BackgroundPath, string>;
7
16
  /** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */
8
17
  export declare const backgroundByKey: Record<keyof Semantic['color']['background'], string>;
9
18
  /** Box's `color` prop: text colours, old and new keys. */
@@ -4,6 +4,15 @@ type Semantic = Tokens['semantic'];
4
4
  export declare const spaceByLayoutKey: Record<keyof Semantic['spacing']['layout'], string>;
5
5
  /** Box's `borderRadius` prop: the old radius keys, read from `radius`. */
6
6
  export declare const radiusByKey: Record<keyof Semantic['border']['radius'], string>;
7
+ /** Fills with no value of their own: a strong fill's states mix in an overlay (decision 0048). */
8
+ type StateMixedFill = 'emphasis-hover' | 'emphasis-pressed';
9
+ /**
10
+ * Box's `bg` values in the semantic grammar (decision 0031, #304): the token's path below
11
+ * `semantic`, such as `surface.raised` or `color.fill.muted`.
12
+ */
13
+ export type BackgroundPath = `surface.${keyof Semantic['surface']}` | `color.fill.${Exclude<keyof Semantic['color']['fill'], StateMixedFill>}`;
14
+ /** Box's `bg` prop: the grammar's token paths, read from the token at that path. */
15
+ export declare const backgroundByPath: Record<BackgroundPath, string>;
7
16
  /** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */
8
17
  export declare const backgroundByKey: Record<keyof Semantic['color']['background'], string>;
9
18
  /** Box's `color` prop: text colours, old and new keys. */
@@ -43,6 +43,40 @@ var radiusByKey = {
43
43
  '3xl': radius['3xl'],
44
44
  circle: radius.full
45
45
  };
46
+ /** Box's `bg` prop: the grammar's token paths, read from the token at that path. */
47
+ var backgroundByPath = {
48
+ 'surface.base': surface.base,
49
+ 'surface.raised': surface.raised,
50
+ 'surface.scrim': surface.scrim,
51
+ 'color.fill.emphasis': color.fill.emphasis,
52
+ 'color.fill.muted': color.fill.muted,
53
+ 'color.fill.inverse': color.fill.inverse,
54
+ 'color.fill.accent': color.fill.accent,
55
+ 'color.fill.accent-hover': color.fill['accent-hover'],
56
+ 'color.fill.accent-pressed': color.fill['accent-pressed'],
57
+ 'color.fill.accent-muted': color.fill['accent-muted'],
58
+ 'color.fill.accent-muted-hover': color.fill['accent-muted-hover'],
59
+ 'color.fill.accent-muted-pressed': color.fill['accent-muted-pressed'],
60
+ 'color.fill.danger': color.fill.danger,
61
+ 'color.fill.danger-hover': color.fill['danger-hover'],
62
+ 'color.fill.danger-pressed': color.fill['danger-pressed'],
63
+ 'color.fill.danger-muted': color.fill['danger-muted'],
64
+ 'color.fill.success': color.fill.success,
65
+ 'color.fill.success-muted': color.fill['success-muted'],
66
+ 'color.fill.warning': color.fill.warning,
67
+ 'color.fill.warning-muted': color.fill['warning-muted'],
68
+ 'color.fill.serious': color.fill.serious,
69
+ 'color.fill.serious-muted': color.fill['serious-muted'],
70
+ 'color.fill.ai-muted': color.fill['ai-muted'],
71
+ 'color.fill.disabled': color.fill.disabled,
72
+ 'color.fill.default': color.fill["default"],
73
+ 'color.fill.default-hover': color.fill['default-hover'],
74
+ 'color.fill.default-pressed': color.fill['default-pressed'],
75
+ 'color.fill.none': color.fill.none,
76
+ 'color.fill.none-hover': color.fill['none-hover'],
77
+ 'color.fill.none-pressed': color.fill['none-pressed'],
78
+ 'color.fill.inverse-none-hover': color.fill['inverse-none-hover']
79
+ };
46
80
  /** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */
47
81
  var backgroundByKey = {
48
82
  "default": surface.base,
@@ -123,5 +157,5 @@ var borderColorByKey = {
123
157
  error: color.border.danger
124
158
  };
125
159
 
126
- export { backgroundByKey, borderColorByKey, radiusByKey, spaceByLayoutKey, textColorByKey };
160
+ export { backgroundByKey, backgroundByPath, borderColorByKey, radiusByKey, spaceByLayoutKey, textColorByKey };
127
161
  //# sourceMappingURL=tokenAliases.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenAliases.mjs","sources":["../../src/lib/tokenAliases.ts"],"sourcesContent":["import tokens from './cssTokens'\nimport type { Tokens } from '../types/tokens'\n\n// Props whose values are token keys keep their published vocabulary in 2.x (P7), but read the\n// semantic grammar's names (decision 0031, #189). Each map covers every key the prop type allows,\n// so TypeScript fails here if a key is added without a mapping.\nconst { semantic } = tokens\nconst { color, space, radius, surface, opacity } = semantic\n\ntype Semantic = Tokens['semantic']\n\n/** Box's spacing props (`p`, `m`, `gap`…): the old layout scale's keys, read from `space`. */\nexport const spaceByLayoutKey: Record<keyof Semantic['spacing']['layout'], string> = {\n none: space[0],\n xs: space[100],\n sm: space[200],\n md: space[300],\n lg: space[400],\n xl: space[500],\n '2xl': space[600],\n '3xl': space[700],\n '4xl': space[800],\n '5xl': space[900],\n '6xl': space[1000],\n '7xl': space[1200],\n '8xl': space[1400],\n '9xl': space[1600],\n '10xl': space[2000],\n '11xl': space[2400],\n // A keyword, not a step: it stays until the keyword question is settled (0031)\n auto: semantic.spacing.layout.auto,\n}\n\n/** Box's `borderRadius` prop: the old radius keys, read from `radius`. */\nexport const radiusByKey: Record<keyof Semantic['border']['radius'], string> = {\n none: radius.none,\n xs: radius.xs,\n sm: radius.sm,\n md: radius.md,\n lg: radius.lg,\n xl: radius.xl,\n '2xl': radius['2xl'],\n '3xl': radius['3xl'],\n circle: radius.full,\n}\n\n/** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */\nexport const backgroundByKey: Record<keyof Semantic['color']['background'], string> = {\n default: surface.base,\n page: surface.base,\n subtle: surface.raised,\n overlay: surface.scrim,\n emphasis: color.fill.emphasis,\n // A strong fill's states mix its content colour in at the state-layer opacity (decision 0048)\n 'emphasis-hover': `color-mix(in srgb, ${color.fill.emphasis}, ${color.text.inverse} calc(${opacity.state.hover} * 100%))`,\n 'emphasis-active': `color-mix(in srgb, ${color.fill.emphasis}, ${color.text.inverse} calc(${opacity.state.pressed} * 100%))`,\n surface: color.fill.muted,\n inverse: color.fill.inverse,\n interactive: color.fill.accent,\n 'interactive-hover': color.fill['accent-hover'],\n 'interactive-active': color.fill['accent-pressed'],\n 'interactive-subtle': color.fill['accent-muted'],\n 'interactive-subtle-hover': color.fill['accent-muted-hover'],\n 'interactive-subtle-active': color.fill['accent-muted-pressed'],\n error: color.fill.danger,\n 'error-hover': color.fill['danger-hover'],\n 'error-active': color.fill['danger-pressed'],\n 'error-subtle': color.fill['danger-muted'],\n success: color.fill.success,\n 'success-subtle': color.fill['success-muted'],\n warning: color.fill.warning,\n 'warning-subtle': color.fill['warning-muted'],\n disabled: color.fill.disabled,\n neutral: color.fill.default,\n 'neutral-hover': color.fill['default-hover'],\n 'neutral-active': color.fill['default-pressed'],\n transparent: color.fill.none,\n 'hover-overlay': color.fill['none-hover'],\n 'active-overlay': color.fill['none-pressed'],\n 'inverse-overlay': color.fill['inverse-none-hover'],\n // Moved to the component tier (decision 0031 §6)\n progressTrack: tokens.component.track.background,\n}\n\n/** Box's `color` prop: text colours, old and new keys. */\nexport const textColorByKey: Record<keyof Semantic['color']['text'], string> = {\n default: color.text.default,\n emphasis: color.text.default,\n inverse: color.text.inverse,\n disabled: color.text.disabled,\n success: color.text.success,\n warning: color.text.warning,\n muted: color.text.muted,\n accent: color.text.accent,\n 'accent-hover': color.text.accent,\n 'accent-pressed': color.text.accent,\n danger: color.text.danger,\n serious: color.text.serious,\n ai: color.text.ai,\n subdued: color.text.muted,\n interactive: color.text.accent,\n 'interactive-hover': color.text.accent,\n 'interactive-active': color.text.accent,\n error: color.text.danger,\n}\n\n/** Box's border props: border colours, old and new keys. */\nexport const borderColorByKey: Record<keyof Semantic['color']['border'], string> = {\n default: color.border.default,\n success: color.border.success,\n warning: color.border.warning,\n none: color.border.none,\n emphasis: color.border.default,\n input: color.border.input,\n 'input-hover': color.border['input-hover'],\n focus: color.border.focus,\n accent: color.border.accent,\n danger: color.border.danger,\n serious: color.border.serious,\n ai: color.border.ai,\n subtle: color.border.default,\n control: color.border.input,\n // `strong` split by use (0031); as a generic firm outline it is the hovered-input border\n strong: color.border['input-hover'],\n interactive: color.border.accent,\n error: color.border.danger,\n}\n"],"names":["semantic","tokens","color","space","radius","surface","opacity","spaceByLayoutKey","none","xs","sm","md","lg","xl","auto","spacing","layout","radiusByKey","circle","full","backgroundByKey","base","page","subtle","raised","overlay","scrim","emphasis","fill","concat","text","inverse","state","hover","pressed","muted","interactive","accent","error","danger","success","warning","disabled","neutral","transparent","progressTrack","component","track","background","textColorByKey","serious","ai","subdued","borderColorByKey","border","input","focus","control","strong"],"mappings":"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"}
1
+ {"version":3,"file":"tokenAliases.mjs","sources":["../../src/lib/tokenAliases.ts"],"sourcesContent":["import tokens from './cssTokens'\nimport type { Tokens } from '../types/tokens'\n\n// Props whose values are token keys keep their published vocabulary in 2.x (P7), but read the\n// semantic grammar's names (decision 0031, #189). Each map covers every key the prop type allows,\n// so TypeScript fails here if a key is added without a mapping.\nconst { semantic } = tokens\nconst { color, space, radius, surface, opacity } = semantic\n\ntype Semantic = Tokens['semantic']\n\n/** Box's spacing props (`p`, `m`, `gap`…): the old layout scale's keys, read from `space`. */\nexport const spaceByLayoutKey: Record<keyof Semantic['spacing']['layout'], string> = {\n none: space[0],\n xs: space[100],\n sm: space[200],\n md: space[300],\n lg: space[400],\n xl: space[500],\n '2xl': space[600],\n '3xl': space[700],\n '4xl': space[800],\n '5xl': space[900],\n '6xl': space[1000],\n '7xl': space[1200],\n '8xl': space[1400],\n '9xl': space[1600],\n '10xl': space[2000],\n '11xl': space[2400],\n // A keyword, not a step: it stays until the keyword question is settled (0031)\n auto: semantic.spacing.layout.auto,\n}\n\n/** Box's `borderRadius` prop: the old radius keys, read from `radius`. */\nexport const radiusByKey: Record<keyof Semantic['border']['radius'], string> = {\n none: radius.none,\n xs: radius.xs,\n sm: radius.sm,\n md: radius.md,\n lg: radius.lg,\n xl: radius.xl,\n '2xl': radius['2xl'],\n '3xl': radius['3xl'],\n circle: radius.full,\n}\n\n/** Fills with no value of their own: a strong fill's states mix in an overlay (decision 0048). */\ntype StateMixedFill = 'emphasis-hover' | 'emphasis-pressed'\n\n/**\n * Box's `bg` values in the semantic grammar (decision 0031, #304): the token's path below\n * `semantic`, such as `surface.raised` or `color.fill.muted`.\n */\nexport type BackgroundPath =\n | `surface.${keyof Semantic['surface']}`\n | `color.fill.${Exclude<keyof Semantic['color']['fill'], StateMixedFill>}`\n\n/** Box's `bg` prop: the grammar's token paths, read from the token at that path. */\nexport const backgroundByPath: Record<BackgroundPath, string> = {\n 'surface.base': surface.base,\n 'surface.raised': surface.raised,\n 'surface.scrim': surface.scrim,\n 'color.fill.emphasis': color.fill.emphasis,\n 'color.fill.muted': color.fill.muted,\n 'color.fill.inverse': color.fill.inverse,\n 'color.fill.accent': color.fill.accent,\n 'color.fill.accent-hover': color.fill['accent-hover'],\n 'color.fill.accent-pressed': color.fill['accent-pressed'],\n 'color.fill.accent-muted': color.fill['accent-muted'],\n 'color.fill.accent-muted-hover': color.fill['accent-muted-hover'],\n 'color.fill.accent-muted-pressed': color.fill['accent-muted-pressed'],\n 'color.fill.danger': color.fill.danger,\n 'color.fill.danger-hover': color.fill['danger-hover'],\n 'color.fill.danger-pressed': color.fill['danger-pressed'],\n 'color.fill.danger-muted': color.fill['danger-muted'],\n 'color.fill.success': color.fill.success,\n 'color.fill.success-muted': color.fill['success-muted'],\n 'color.fill.warning': color.fill.warning,\n 'color.fill.warning-muted': color.fill['warning-muted'],\n 'color.fill.serious': color.fill.serious,\n 'color.fill.serious-muted': color.fill['serious-muted'],\n 'color.fill.ai-muted': color.fill['ai-muted'],\n 'color.fill.disabled': color.fill.disabled,\n 'color.fill.default': color.fill.default,\n 'color.fill.default-hover': color.fill['default-hover'],\n 'color.fill.default-pressed': color.fill['default-pressed'],\n 'color.fill.none': color.fill.none,\n 'color.fill.none-hover': color.fill['none-hover'],\n 'color.fill.none-pressed': color.fill['none-pressed'],\n 'color.fill.inverse-none-hover': color.fill['inverse-none-hover'],\n}\n\n/** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */\nexport const backgroundByKey: Record<keyof Semantic['color']['background'], string> = {\n default: surface.base,\n page: surface.base,\n subtle: surface.raised,\n overlay: surface.scrim,\n emphasis: color.fill.emphasis,\n // A strong fill's states mix its content colour in at the state-layer opacity (decision 0048)\n 'emphasis-hover': `color-mix(in srgb, ${color.fill.emphasis}, ${color.text.inverse} calc(${opacity.state.hover} * 100%))`,\n 'emphasis-active': `color-mix(in srgb, ${color.fill.emphasis}, ${color.text.inverse} calc(${opacity.state.pressed} * 100%))`,\n surface: color.fill.muted,\n inverse: color.fill.inverse,\n interactive: color.fill.accent,\n 'interactive-hover': color.fill['accent-hover'],\n 'interactive-active': color.fill['accent-pressed'],\n 'interactive-subtle': color.fill['accent-muted'],\n 'interactive-subtle-hover': color.fill['accent-muted-hover'],\n 'interactive-subtle-active': color.fill['accent-muted-pressed'],\n error: color.fill.danger,\n 'error-hover': color.fill['danger-hover'],\n 'error-active': color.fill['danger-pressed'],\n 'error-subtle': color.fill['danger-muted'],\n success: color.fill.success,\n 'success-subtle': color.fill['success-muted'],\n warning: color.fill.warning,\n 'warning-subtle': color.fill['warning-muted'],\n disabled: color.fill.disabled,\n neutral: color.fill.default,\n 'neutral-hover': color.fill['default-hover'],\n 'neutral-active': color.fill['default-pressed'],\n transparent: color.fill.none,\n 'hover-overlay': color.fill['none-hover'],\n 'active-overlay': color.fill['none-pressed'],\n 'inverse-overlay': color.fill['inverse-none-hover'],\n // Moved to the component tier (decision 0031 §6)\n progressTrack: tokens.component.track.background,\n}\n\n/** Box's `color` prop: text colours, old and new keys. */\nexport const textColorByKey: Record<keyof Semantic['color']['text'], string> = {\n default: color.text.default,\n emphasis: color.text.default,\n inverse: color.text.inverse,\n disabled: color.text.disabled,\n success: color.text.success,\n warning: color.text.warning,\n muted: color.text.muted,\n accent: color.text.accent,\n 'accent-hover': color.text.accent,\n 'accent-pressed': color.text.accent,\n danger: color.text.danger,\n serious: color.text.serious,\n ai: color.text.ai,\n subdued: color.text.muted,\n interactive: color.text.accent,\n 'interactive-hover': color.text.accent,\n 'interactive-active': color.text.accent,\n error: color.text.danger,\n}\n\n/** Box's border props: border colours, old and new keys. */\nexport const borderColorByKey: Record<keyof Semantic['color']['border'], string> = {\n default: color.border.default,\n success: color.border.success,\n warning: color.border.warning,\n none: color.border.none,\n emphasis: color.border.default,\n input: color.border.input,\n 'input-hover': color.border['input-hover'],\n focus: color.border.focus,\n accent: color.border.accent,\n danger: color.border.danger,\n serious: color.border.serious,\n ai: color.border.ai,\n subtle: color.border.default,\n control: color.border.input,\n // `strong` split by use (0031); as a generic firm outline it is the hovered-input border\n strong: color.border['input-hover'],\n interactive: color.border.accent,\n error: color.border.danger,\n}\n"],"names":["semantic","tokens","color","space","radius","surface","opacity","spaceByLayoutKey","none","xs","sm","md","lg","xl","auto","spacing","layout","radiusByKey","circle","full","backgroundByPath","base","raised","scrim","fill","emphasis","muted","inverse","accent","danger","success","warning","serious","disabled","backgroundByKey","page","subtle","overlay","concat","text","state","hover","pressed","interactive","error","neutral","transparent","progressTrack","component","track","background","textColorByKey","ai","subdued","borderColorByKey","border","input","focus","control","strong"],"mappings":"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"}