@common-origin/design-system 2.18.0 → 2.19.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,6 +1,9 @@
1
1
  import React from 'react';
2
2
  export interface BaseChipProps {
3
3
  children?: React.ReactNode;
4
+ /**
5
+ * @deprecated Ignored, and removed in 3.0. Chips have one size, 24px (decision 0035).
6
+ */
4
7
  size?: 'small' | 'medium';
5
8
  disabled?: boolean;
6
9
  'data-testid'?: string;
@@ -20,7 +23,6 @@ export type ChipVariant = 'default'
20
23
  | 'interactive';
21
24
  export interface InternalStyledProps {
22
25
  $variant: ChipVariant;
23
- $size: BaseChipProps['size'];
24
26
  $disabled?: boolean;
25
27
  $clickable?: boolean;
26
28
  $selected?: boolean;
@@ -1,11 +1,10 @@
1
- import { ChipVariant, BaseChipProps } from './types';
1
+ import { ChipVariant } from './types';
2
2
  interface StyledChipProps {
3
3
  $variant: ChipVariant;
4
- $size: BaseChipProps['size'];
5
4
  $disabled?: boolean;
6
5
  $clickable?: boolean;
7
6
  $selected?: boolean;
8
7
  }
9
8
  export declare const getVariantStyles: ({ $variant, $selected, $clickable, $disabled }: StyledChipProps) => string;
10
- export declare const getSizeStyles: ({ $size }: StyledChipProps) => string;
9
+ export declare const sizeStyles: string;
11
10
  export {};
package/dist/data.esm.js CHANGED
@@ -63,6 +63,42 @@ var base = {
63
63
  "95": "0.95",
64
64
  "100": "1"
65
65
  },
66
+ dimension: {
67
+ "0": "0",
68
+ "1": "0.25rem",
69
+ "2": "0.5rem",
70
+ "3": "0.75rem",
71
+ "4": "1rem",
72
+ "5": "1.25rem",
73
+ "6": "1.5rem",
74
+ "7": "1.75rem",
75
+ "8": "2rem",
76
+ "9": "2.25rem",
77
+ "10": "2.5rem",
78
+ "11": "2.75rem",
79
+ "12": "3rem",
80
+ "14": "3.5rem",
81
+ "15": "3.75rem",
82
+ "16": "4rem",
83
+ "18": "4.5rem",
84
+ "20": "5rem",
85
+ "24": "6rem",
86
+ "28": "7rem",
87
+ "30": "7.5rem",
88
+ "32": "8rem",
89
+ "40": "10rem",
90
+ "45": "11.25rem",
91
+ "48": "12rem",
92
+ "50": "12.5rem",
93
+ "56": "14rem",
94
+ "64": "16rem",
95
+ "75": "18.75rem",
96
+ "90": "22.5rem",
97
+ "100": "25rem",
98
+ "140": "35rem",
99
+ "180": "45rem",
100
+ "192": "48rem"
101
+ },
66
102
  size: {
67
103
  "0": "0",
68
104
  "1": "0.25rem",
@@ -107,6 +143,34 @@ var base = {
107
143
  },
108
144
  color: {
109
145
  transparent: "transparent",
146
+ gray: {
147
+ "100": "#fcfcfc",
148
+ "200": "#f9f9f9",
149
+ "300": "#f2f2f2",
150
+ "400": "#ebebeb",
151
+ "500": "#e4e4e4",
152
+ "600": "#dcdcdc",
153
+ "700": "#d1d1d1",
154
+ "800": "#909090",
155
+ "900": "#848484",
156
+ "1000": "#797979",
157
+ "1100": "#636363",
158
+ "1200": "#222222"
159
+ },
160
+ "gray-alpha": {
161
+ "100": "rgba(34, 34, 34, 0.014)",
162
+ "200": "rgba(34, 34, 34, 0.027)",
163
+ "300": "rgba(34, 34, 34, 0.059)",
164
+ "400": "rgba(34, 34, 34, 0.09)",
165
+ "500": "rgba(34, 34, 34, 0.122)",
166
+ "600": "rgba(34, 34, 34, 0.158)",
167
+ "700": "rgba(34, 34, 34, 0.208)",
168
+ "800": "rgba(34, 34, 34, 0.502)",
169
+ "900": "rgba(34, 34, 34, 0.557)",
170
+ "1000": "rgba(34, 34, 34, 0.606)",
171
+ "1100": "rgba(34, 34, 34, 0.706)",
172
+ "1200": "rgba(34, 34, 34, 1)"
173
+ },
110
174
  neutral: {
111
175
  "100": "#f8f9fa",
112
176
  "200": "#e9ecef",
@@ -811,7 +875,8 @@ var component = {
811
875
  "default": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",
812
876
  hover: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
813
877
  active: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"
814
- }
878
+ },
879
+ background: "#ffffff"
815
880
  }
816
881
  },
817
882
  accountCard: {
@@ -823,7 +888,8 @@ var component = {
823
888
  breadcrumbs: {
824
889
  item: {
825
890
  maxWidth: "11.25rem"
826
- }
891
+ },
892
+ font: "400 0.75rem/1.125rem 'Inter', sans-serif"
827
893
  },
828
894
  cardLarge: {
829
895
  maxWidth: "48rem"
@@ -858,6 +924,46 @@ var component = {
858
924
  },
859
925
  transactionListItem: {
860
926
  minHeight: "4.5rem"
927
+ },
928
+ status: {
929
+ pending: {
930
+ text: "#825800",
931
+ background: "#FFF3D6"
932
+ },
933
+ completed: {
934
+ text: "#007A4D",
935
+ background: "#CEF8E0"
936
+ },
937
+ failed: {
938
+ text: "#D31510",
939
+ background: "#FFEBE7"
940
+ },
941
+ cancelled: {
942
+ text: "#495057",
943
+ background: "#e9ecef"
944
+ },
945
+ processing: {
946
+ text: "#0265DC",
947
+ background: "#E0F2FF"
948
+ },
949
+ scheduled: {
950
+ text: "#7E2EBD",
951
+ background: "#F9F0FF"
952
+ }
953
+ },
954
+ transaction: {
955
+ credit: "#15A46E",
956
+ "credit-hover": "#008F5D",
957
+ debit: "#D31510",
958
+ "debit-hover": "#B40000",
959
+ pending: "#F68511",
960
+ neutral: "#6c757d"
961
+ },
962
+ track: {
963
+ background: "#dee2e6"
964
+ },
965
+ tooltip: {
966
+ border: "0.125rem dotted #dee2e6"
861
967
  }
862
968
  };
863
969
  var semantic = {
@@ -879,7 +985,9 @@ var semantic = {
879
985
  },
880
986
  opacity: {
881
987
  disabled: "0.5",
882
- full: "1"
988
+ full: "1",
989
+ hover: "0.8",
990
+ pressed: "0.7"
883
991
  },
884
992
  fontFamily: {
885
993
  body: "'Inter', sans-serif",
@@ -936,10 +1044,35 @@ var semantic = {
936
1044
  "2xl": "1.5rem",
937
1045
  "3xl": "2rem",
938
1046
  circle: "10rem"
939
- }
1047
+ },
1048
+ emphasis: "0.0625rem solid #dee2e6",
1049
+ "input-hover": "0.0625rem solid #343a40"
940
1050
  },
941
1051
  size: {
1052
+ "100": "0.25rem",
1053
+ "200": "0.5rem",
1054
+ "400": "1rem",
1055
+ "500": "1.25rem",
1056
+ "600": "1.5rem",
1057
+ "800": "2rem",
1058
+ "1200": "3rem",
1059
+ "1500": "3.75rem",
1060
+ "1800": "4.5rem",
1061
+ "2000": "5rem",
1062
+ "3000": "7.5rem",
1063
+ "4500": "11.25rem",
1064
+ "5000": "12.5rem",
1065
+ "7500": "18.75rem",
1066
+ "9000": "22.5rem",
1067
+ "10000": "25rem",
1068
+ "19200": "48rem",
1069
+ pointerTarget: "1.5rem",
942
1070
  touchTarget: "2.75rem",
1071
+ control: {
1072
+ sm: "2rem",
1073
+ md: "2.5rem",
1074
+ lg: "3rem"
1075
+ },
943
1076
  overlay: {
944
1077
  sm: "25rem",
945
1078
  md: "35rem",
@@ -1035,7 +1168,12 @@ var semantic = {
1035
1168
  "interactive-active": "#004491",
1036
1169
  error: "#D31510",
1037
1170
  success: "#007A4D",
1038
- warning: "#B14C00"
1171
+ warning: "#B14C00",
1172
+ muted: "#495057",
1173
+ accent: "#0265DC",
1174
+ "accent-hover": "#0054B6",
1175
+ "accent-pressed": "#004491",
1176
+ danger: "#D31510"
1039
1177
  },
1040
1178
  background: {
1041
1179
  "default": "#f8f9fa",
@@ -1080,7 +1218,13 @@ var semantic = {
1080
1218
  error: "#D31510",
1081
1219
  success: "#007A4D",
1082
1220
  warning: "#B14C00",
1083
- none: "transparent"
1221
+ none: "transparent",
1222
+ emphasis: "#dee2e6",
1223
+ input: "#6c757d",
1224
+ "input-hover": "#343a40",
1225
+ focus: "#343a40",
1226
+ accent: "#0265DC",
1227
+ danger: "#D31510"
1084
1228
  },
1085
1229
  icon: {
1086
1230
  "default": "#212529",
@@ -1093,7 +1237,12 @@ var semantic = {
1093
1237
  "interactive-active": "#004491",
1094
1238
  error: "#D31510",
1095
1239
  success: "#007A4D",
1096
- warning: "#B14C00"
1240
+ warning: "#B14C00",
1241
+ muted: "#6c757d",
1242
+ accent: "#0265DC",
1243
+ "accent-hover": "#0054B6",
1244
+ "accent-pressed": "#004491",
1245
+ danger: "#D31510"
1097
1246
  },
1098
1247
  financial: {
1099
1248
  credit: "#15A46E",
@@ -1143,7 +1292,15 @@ var semantic = {
1143
1292
  "green-text": "#007A4D",
1144
1293
  "red-text": "#D31510",
1145
1294
  "orange-text": "#B14C00",
1146
- "gray-text": "#212529"
1295
+ "gray-text": "#212529",
1296
+ "blue-muted": "#E0F2FF",
1297
+ "purple-muted": "#F9F0FF",
1298
+ "pink-muted": "#FFEFF9",
1299
+ "yellow-muted": "#FFF3D6",
1300
+ "green-muted": "#CEF8E0",
1301
+ "red-muted": "#FFEBE7",
1302
+ "orange-muted": "#FFECCC",
1303
+ "gray-muted": "#e9ecef"
1147
1304
  },
1148
1305
  status: {
1149
1306
  pending: "#825800",
@@ -1158,6 +1315,35 @@ var semantic = {
1158
1315
  "processing-bg": "#E0F2FF",
1159
1316
  scheduled: "#7E2EBD",
1160
1317
  "scheduled-bg": "#F9F0FF"
1318
+ },
1319
+ fill: {
1320
+ emphasis: "#212529",
1321
+ "emphasis-hover": "#343a40",
1322
+ "emphasis-pressed": "#16191C",
1323
+ muted: "#e9ecef",
1324
+ inverse: "#343a40",
1325
+ accent: "#0265DC",
1326
+ "accent-muted": "#E0F2FF",
1327
+ "accent-muted-hover": "#CAE8FF",
1328
+ "accent-muted-pressed": "#B5DEFF",
1329
+ "accent-hover": "#0054B6",
1330
+ "accent-pressed": "#004491",
1331
+ danger: "#D31510",
1332
+ "danger-hover": "#B40000",
1333
+ "danger-pressed": "#930000",
1334
+ "danger-muted": "#FFEBE7",
1335
+ success: "#007A4D",
1336
+ "success-muted": "#CEF8E0",
1337
+ warning: "#B14C00",
1338
+ "warning-muted": "#FFECCC",
1339
+ disabled: "#dee2e6",
1340
+ "default": "#dee2e6",
1341
+ "default-hover": "#ced4da",
1342
+ "default-pressed": "#adb5bd",
1343
+ none: "transparent",
1344
+ "none-hover": "rgba(33, 37, 41, 0.1)",
1345
+ "none-pressed": "rgba(33, 37, 41, 0.15)",
1346
+ "inverse-none-hover": "rgba(255, 255, 255, 0.2)"
1161
1347
  }
1162
1348
  },
1163
1349
  typography: {
@@ -1183,20 +1369,79 @@ var semantic = {
1183
1369
  duration: {
1184
1370
  normal: "200ms",
1185
1371
  fast: "150ms",
1186
- slow: "300ms"
1372
+ slow: "300ms",
1373
+ instant: "0ms",
1374
+ moderate: "200ms"
1187
1375
  },
1188
1376
  easing: {
1189
1377
  easeInOut: "ease-in-out",
1190
- easeOut: "ease-out"
1378
+ easeOut: "ease-out",
1379
+ standard: "ease-in-out",
1380
+ decelerate: "ease-out",
1381
+ accelerate: "ease-in"
1191
1382
  },
1192
1383
  transition: {
1193
1384
  fast: "all 150ms ease-out",
1194
1385
  normal: "all 200ms ease-in-out",
1195
- slow: "all 300ms ease-in-out"
1386
+ slow: "all 300ms ease-in-out",
1387
+ feedback: "background-color 150ms ease-out, color 150ms ease-out",
1388
+ focus: "outline 150ms ease-out, outline-offset 150ms ease-out",
1389
+ press: "transform 150ms ease-out, opacity 150ms ease-out"
1196
1390
  },
1197
1391
  hover: "background-color 150ms ease-out, color 150ms ease-out",
1198
1392
  focus: "outline 150ms ease-out, outline-offset 150ms ease-out",
1199
- interactive: "transform 150ms ease-out, opacity 150ms ease-out"
1393
+ interactive: "transform 150ms ease-out, opacity 150ms ease-out",
1394
+ distance: {
1395
+ sm: "0.5rem"
1396
+ }
1397
+ },
1398
+ layer: {
1399
+ sticky: "10",
1400
+ dropdown: "1000",
1401
+ overlay: "1010",
1402
+ modal: "1020"
1403
+ },
1404
+ radius: {
1405
+ none: "0",
1406
+ xs: "0.125rem",
1407
+ sm: "0.25rem",
1408
+ md: "0.5rem",
1409
+ lg: "0.75rem",
1410
+ xl: "1rem",
1411
+ "2xl": "1.5rem",
1412
+ "3xl": "2rem",
1413
+ full: "10rem"
1414
+ },
1415
+ space: {
1416
+ "0": "0",
1417
+ "100": "0.25rem",
1418
+ "200": "0.5rem",
1419
+ "300": "0.75rem",
1420
+ "400": "1rem",
1421
+ "500": "1.25rem",
1422
+ "600": "1.5rem",
1423
+ "700": "1.75rem",
1424
+ "800": "2rem",
1425
+ "900": "2.25rem",
1426
+ "1000": "2.5rem",
1427
+ "1200": "3rem",
1428
+ "1400": "3.5rem",
1429
+ "1600": "4rem",
1430
+ "2000": "5rem",
1431
+ "2400": "6rem",
1432
+ inset: {
1433
+ xs: "0.25rem",
1434
+ sm: "0.5rem",
1435
+ md: "0.75rem",
1436
+ lg: "1rem",
1437
+ xl: "1.25rem",
1438
+ "2xl": "1.5rem"
1439
+ }
1440
+ },
1441
+ surface: {
1442
+ base: "#f8f9fa",
1443
+ raised: "#ffffff",
1444
+ scrim: "rgba(33, 37, 41, 0.5)"
1200
1445
  }
1201
1446
  };
1202
1447
  var tokensJson = {
@@ -1997,8 +2242,10 @@ var iconsJson = {
1997
2242
  move: move
1998
2243
  };
1999
2244
 
2000
- // Re-declared as a const so emitted .d.ts files inline the token shape instead of importing JSON,
2001
- // which consumers can only resolve with `resolveJsonModule`.
2245
+ // The published types come from the generated `src/styles/tokens.ts`, which carries each token's
2246
+ // description as JSDoc and `@deprecated` on deprecated tokens (decision 0033, #199). Declaring the
2247
+ // constant with that type also keeps emitted .d.ts files free of JSON imports, which consumers can
2248
+ // only resolve with `resolveJsonModule`.
2002
2249
  var tokens = tokensJson;
2003
2250
 
2004
2251
  // Icon type definitions for external consumption
@@ -1 +1 @@
1
- {"version":3,"file":"data.esm.js","sources":["../src/types/tokens.ts","../src/types/icons.ts"],"sourcesContent":["import tokensJson from '../styles/tokens.json'\n\n// Re-declared as a const so emitted .d.ts files inline the token shape instead of importing JSON,\n// which consumers can only resolve with `resolveJsonModule`.\nexport const tokens = tokensJson\n\nexport type Tokens = typeof 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 | '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 | '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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACO,IAAMA,MAAM,GAAGC;;ACJtB;AACA;AACA;AA2FA;AACO,IAAMC,SAAS,GAAGC;;;;"}
1
+ {"version":3,"file":"data.esm.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 | '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 | '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;AA2FA;AACO,IAAMC,SAAS,GAAGC;;;;"}