@common-origin/design-system 2.15.0 → 2.16.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.
Files changed (47) hide show
  1. package/README.md +1 -1
  2. package/dist/client.esm.js +830 -549
  3. package/dist/client.esm.js.map +1 -1
  4. package/dist/client.js +833 -548
  5. package/dist/client.js.map +1 -1
  6. package/dist/components/atoms/Button/Button.d.ts +13 -1
  7. package/dist/components/atoms/CategoryBadge/CategoryBadge.d.ts +12 -52
  8. package/dist/components/atoms/CategoryBadge/index.d.ts +1 -1
  9. package/dist/components/atoms/CategoryLabel/CategoryLabel.d.ts +69 -0
  10. package/dist/components/atoms/CategoryLabel/index.d.ts +2 -0
  11. package/dist/components/atoms/Chip/BooleanChip.d.ts +6 -1
  12. package/dist/components/atoms/Chip/Chip.d.ts +17 -12
  13. package/dist/components/atoms/Chip/FilterChip.d.ts +10 -24
  14. package/dist/components/atoms/Chip/InputChip.d.ts +27 -0
  15. package/dist/components/atoms/Chip/index.d.ts +1 -0
  16. package/dist/components/atoms/Chip/shared/types.d.ts +15 -1
  17. package/dist/components/atoms/Chip/shared/utils.d.ts +1 -85
  18. package/dist/components/atoms/StatusBadge/StatusBadge.d.ts +9 -55
  19. package/dist/components/atoms/StatusBadge/index.d.ts +1 -1
  20. package/dist/components/atoms/StatusLabel/StatusLabel.d.ts +17 -0
  21. package/dist/components/atoms/StatusLabel/StatusLabelBase.d.ts +49 -0
  22. package/dist/components/atoms/StatusLabel/index.d.ts +2 -0
  23. package/dist/components/atoms/Tag/Tag.d.ts +5 -0
  24. package/dist/components/atoms/index.d.ts +2 -0
  25. package/dist/components/molecules/Alert/Alert.d.ts +15 -2
  26. package/dist/components/molecules/InlineAlert/InlineAlert.d.ts +54 -0
  27. package/dist/components/molecules/InlineAlert/index.d.ts +2 -0
  28. package/dist/components/molecules/Modal/Modal.d.ts +6 -2
  29. package/dist/components/molecules/TabBar/TabBar.d.ts +8 -5
  30. package/dist/components/molecules/index.d.ts +1 -0
  31. package/dist/data.esm.js +89 -11
  32. package/dist/data.esm.js.map +1 -1
  33. package/dist/data.js +89 -11
  34. package/dist/data.js.map +1 -1
  35. package/dist/index.esm.js +1 -1
  36. package/dist/index.js +4 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/styles/tokens.json +89 -11
  39. package/dist/tokens/index.esm.js +89 -11
  40. package/dist/tokens/index.esm.js.map +1 -1
  41. package/dist/tokens/index.js +89 -11
  42. package/dist/tokens/index.js.map +1 -1
  43. package/dist/tokens/types/tokens.d.ts +81 -3
  44. package/dist/tokens.css +769 -0
  45. package/dist/tokens.css.d.ts +4 -0
  46. package/dist/types/tokens.d.ts +81 -3
  47. package/package.json +18 -6
@@ -104,44 +104,44 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
104
104
  };
105
105
 
106
106
  // Destructure tokens
107
- var semantic$g = tokensJson.semantic;
107
+ var semantic$j = tokensJson.semantic;
108
108
  var initials = tokensJson.component.avatar.initials;
109
- var color$a = semantic$g.color,
110
- size$1 = semantic$g.size,
111
- border$a = semantic$g.border;
112
- var radius$5 = border$a.radius;
109
+ var color$b = semantic$j.color,
110
+ size$2 = semantic$j.size,
111
+ border$b = semantic$j.border;
112
+ var radius$5 = border$b.radius;
113
113
  var AvatarContainer = styled.div.withConfig({
114
114
  shouldForwardProp: function shouldForwardProp(prop) {
115
115
  return !prop.startsWith('$');
116
116
  },
117
117
  displayName: "Avatar__AvatarContainer",
118
118
  componentId: "sc-ezn4ax-0"
119
- })(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n border-radius: ", ";\n background-color: ", ";\n overflow: hidden;\n flex-shrink: 0;\n"], ["\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n border-radius: ", ";\n background-color: ", ";\n overflow: hidden;\n flex-shrink: 0;\n"])), function (_a) {
119
+ })(templateObject_1$M || (templateObject_1$M = __makeTemplateObject(["\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n border-radius: ", ";\n background-color: ", ";\n overflow: hidden;\n flex-shrink: 0;\n"], ["\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n border-radius: ", ";\n background-color: ", ";\n overflow: hidden;\n flex-shrink: 0;\n"])), function (_a) {
120
120
  var $size = _a.$size;
121
- return size$1.avatar[$size];
121
+ return size$2.avatar[$size];
122
122
  }, function (_a) {
123
123
  var $size = _a.$size;
124
- return size$1.avatar[$size];
125
- }, radius$5.circle, color$a.background.surface);
124
+ return size$2.avatar[$size];
125
+ }, radius$5.circle, color$b.background.surface);
126
126
  var AvatarImage = styled.img.withConfig({
127
127
  shouldForwardProp: function shouldForwardProp(prop) {
128
128
  return !prop.startsWith('$');
129
129
  },
130
130
  displayName: "Avatar__AvatarImage",
131
131
  componentId: "sc-ezn4ax-1"
132
- })(templateObject_2$w || (templateObject_2$w = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: ", ";\n /* Remove the img role since the container already has role=\"img\" */\n"], ["\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: ", ";\n /* Remove the img role since the container already has role=\"img\" */\n"])), radius$5.circle);
132
+ })(templateObject_2$y || (templateObject_2$y = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: ", ";\n /* Remove the img role since the container already has role=\"img\" */\n"], ["\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: ", ";\n /* Remove the img role since the container already has role=\"img\" */\n"])), radius$5.circle);
133
133
  var AvatarInitials = styled.span.withConfig({
134
134
  shouldForwardProp: function shouldForwardProp(prop) {
135
135
  return !prop.startsWith('$');
136
136
  },
137
137
  displayName: "Avatar__AvatarInitials",
138
138
  componentId: "sc-ezn4ax-2"
139
- })(templateObject_3$t || (templateObject_3$t = __makeTemplateObject(["\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n line-height: ", ";\n text-transform: uppercase;\n user-select: none;\n"], ["\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n line-height: ", ";\n text-transform: uppercase;\n user-select: none;\n"
139
+ })(templateObject_3$v || (templateObject_3$v = __makeTemplateObject(["\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n line-height: ", ";\n text-transform: uppercase;\n user-select: none;\n"], ["\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n line-height: ", ";\n text-transform: uppercase;\n user-select: none;\n"
140
140
  // Helper function to get initials from name
141
141
  ])), initials.fontFamily, initials.fontWeight, function (_a) {
142
142
  var $size = _a.$size;
143
143
  return initials.fontSize[$size];
144
- }, color$a.text["default"], initials.lineHeight);
144
+ }, color$b.text["default"], initials.lineHeight);
145
145
  // Helper function to get initials from name
146
146
  var getInitials = function getInitials(name) {
147
147
  return name.split(' ').map(function (word) {
@@ -195,7 +195,7 @@ var Avatar = function Avatar(_a) {
195
195
  })
196
196
  }));
197
197
  };
198
- var templateObject_1$L, templateObject_2$w, templateObject_3$t;
198
+ var templateObject_1$M, templateObject_2$y, templateObject_3$v;
199
199
 
200
200
  // Breakpoints from the semantic tokens (decision 0014)
201
201
  var breakpoints$1 = {
@@ -220,7 +220,7 @@ var media$1 = {
220
220
  var reducedMotion = '@media (prefers-reduced-motion: reduce)';
221
221
  // No `from` keyframe: the fade starts from the element's current opacity, including a
222
222
  // still-running entrance, so closing mid-entrance doesn't jump back to fully visible.
223
- var fadeOut$1 = keyframes(templateObject_1$K || (templateObject_1$K = __makeTemplateObject(["\n to { opacity: 0; }\n"], ["\n to { opacity: 0; }\n"
223
+ var fadeOut$1 = keyframes(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n to { opacity: 0; }\n"], ["\n to { opacity: 0; }\n"
224
224
  // Exit for overlays that unmount (use with usePresence). Append `exitAnimation` to each of
225
225
  // the element's `animation` declarations while it exits: the entrance stays in the list,
226
226
  // so it isn't restarted, and the fade runs on top of it. A fade is already the
@@ -232,51 +232,51 @@ var fadeOut$1 = keyframes(templateObject_1$K || (templateObject_1$K = __makeTemp
232
232
  // so it isn't restarted, and the fade runs on top of it. A fade is already the
233
233
  // reduced-motion form, so it needs no fallback of its own. While it fades, the backdrop
234
234
  // still catches clicks (so they can't reach the page behind it) and the panel is inert.
235
- var exitAnimation = css(templateObject_2$v || (templateObject_2$v = __makeTemplateObject([", ", " ", " ", " forwards"], [", ", " ", " ", " forwards"
235
+ var exitAnimation = css(templateObject_2$x || (templateObject_2$x = __makeTemplateObject([", ", " ", " ", " forwards"], [", ", " ", " ", " forwards"
236
236
  // Content for screen readers only. The 1px size and -1px margin are part of the standard
237
237
  // visually-hidden technique, not design values, so they aren't tokens.
238
238
  ])), fadeOut$1, tokensJson.semantic.motion.duration.fast, tokensJson.semantic.motion.easing.easeOut);
239
239
  // Content for screen readers only. The 1px size and -1px margin are part of the standard
240
240
  // visually-hidden technique, not design values, so they aren't tokens.
241
- var visuallyHidden = css(templateObject_3$s || (templateObject_3$s = __makeTemplateObject(["\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n"], ["\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n"])));
242
- var templateObject_1$K, templateObject_2$v, templateObject_3$s;
241
+ var visuallyHidden = css(templateObject_3$u || (templateObject_3$u = __makeTemplateObject(["\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n"], ["\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n"])));
242
+ var templateObject_1$L, templateObject_2$x, templateObject_3$u;
243
243
 
244
244
  var _a$b = tokensJson.semantic,
245
- typography$1 = _a$b.typography,
246
- color$9 = _a$b.color,
245
+ typography$2 = _a$b.typography,
246
+ color$a = _a$b.color,
247
247
  letterSpacing = _a$b.letterSpacing;
248
248
  var getTypographyStyles = function getTypographyStyles(variant) {
249
249
  var styles = {
250
- display: "font: ".concat(typography$1.display, "; letter-spacing: ").concat(letterSpacing.tighter, ";"),
251
- h1: "font: ".concat(typography$1.h1, "; letter-spacing: ").concat(letterSpacing.tighter, ";"),
252
- h2: "font: ".concat(typography$1.h2, "; letter-spacing: ").concat(letterSpacing.tight, ";"),
253
- h3: "font: ".concat(typography$1.h3, "; letter-spacing: ").concat(letterSpacing.tight, ";"),
254
- h4: "font: ".concat(typography$1.h4, "; letter-spacing: ").concat(letterSpacing.tight, ";"),
255
- h5: "font: ".concat(typography$1.h5, "; letter-spacing: ").concat(letterSpacing.normal, ";"),
256
- h6: "font: ".concat(typography$1.h6, "; letter-spacing: ").concat(letterSpacing.normal, ";"),
257
- subtitle: "font: ".concat(typography$1.subtitle, ";"),
258
- body: "font: ".concat(typography$1.body, ";"),
259
- small: "font: ".concat(typography$1.small, ";"),
260
- overline: "font: ".concat(typography$1.overline, ";"),
261
- caption: "font: ".concat(typography$1.caption, "; text-transform: uppercase;"),
262
- button1: "font: ".concat(typography$1.button1, ";"),
263
- button2: "font: ".concat(typography$1.button2, ";"),
264
- button3: "font: ".concat(typography$1.button3, ";"),
265
- label: "font: ".concat(typography$1.label, ";")
250
+ display: "font: ".concat(typography$2.display, "; letter-spacing: ").concat(letterSpacing.tighter, ";"),
251
+ h1: "font: ".concat(typography$2.h1, "; letter-spacing: ").concat(letterSpacing.tighter, ";"),
252
+ h2: "font: ".concat(typography$2.h2, "; letter-spacing: ").concat(letterSpacing.tight, ";"),
253
+ h3: "font: ".concat(typography$2.h3, "; letter-spacing: ").concat(letterSpacing.tight, ";"),
254
+ h4: "font: ".concat(typography$2.h4, "; letter-spacing: ").concat(letterSpacing.tight, ";"),
255
+ h5: "font: ".concat(typography$2.h5, "; letter-spacing: ").concat(letterSpacing.normal, ";"),
256
+ h6: "font: ".concat(typography$2.h6, "; letter-spacing: ").concat(letterSpacing.normal, ";"),
257
+ subtitle: "font: ".concat(typography$2.subtitle, ";"),
258
+ body: "font: ".concat(typography$2.body, ";"),
259
+ small: "font: ".concat(typography$2.small, ";"),
260
+ overline: "font: ".concat(typography$2.overline, ";"),
261
+ caption: "font: ".concat(typography$2.caption, "; text-transform: uppercase;"),
262
+ button1: "font: ".concat(typography$2.button1, ";"),
263
+ button2: "font: ".concat(typography$2.button2, ";"),
264
+ button3: "font: ".concat(typography$2.button3, ";"),
265
+ label: "font: ".concat(typography$2.label, ";")
266
266
  };
267
267
  return styles[variant] || styles.body;
268
268
  };
269
269
  var getTextColor = function getTextColor(colorVariant) {
270
270
  var colorMap = {
271
- "default": color$9.text["default"],
272
- emphasis: color$9.text.emphasis,
273
- subdued: color$9.text.subdued,
274
- inverse: color$9.text.inverse,
275
- disabled: color$9.text.disabled,
276
- interactive: color$9.text.interactive,
277
- error: color$9.text.error,
278
- success: color$9.text.success,
279
- warning: color$9.text.warning
271
+ "default": color$a.text["default"],
272
+ emphasis: color$a.text.emphasis,
273
+ subdued: color$a.text.subdued,
274
+ inverse: color$a.text.inverse,
275
+ disabled: color$a.text.disabled,
276
+ interactive: color$a.text.interactive,
277
+ error: color$a.text.error,
278
+ success: color$a.text.success,
279
+ warning: color$a.text.warning
280
280
  };
281
281
  return colorMap[colorVariant] || colorMap["default"];
282
282
  };
@@ -307,7 +307,7 @@ var StyledTypography = styled.span.withConfig({
307
307
  },
308
308
  displayName: "Typography__StyledTypography",
309
309
  componentId: "sc-17mqo4k-0"
310
- })(templateObject_1$J || (templateObject_1$J = __makeTemplateObject(["\n ", "\n color: ", ";\n margin: 0;\n"], ["\n ", "\n color: ", ";\n margin: 0;\n"
310
+ })(templateObject_1$K || (templateObject_1$K = __makeTemplateObject(["\n ", "\n color: ", ";\n margin: 0;\n"], ["\n ", "\n color: ", ";\n margin: 0;\n"
311
311
  /**
312
312
  * Typography is an atomic component for rendering text with semantic meaning and consistent styling.
313
313
  *
@@ -369,53 +369,53 @@ var Typography = function Typography(_a) {
369
369
  children: children
370
370
  });
371
371
  };
372
- var templateObject_1$J;
372
+ var templateObject_1$K;
373
373
 
374
- var semantic$f = tokensJson.semantic;
375
- var color$8 = semantic$f.color,
376
- border$9 = semantic$f.border;
377
- var radius$4 = border$9.radius;
374
+ var semantic$i = tokensJson.semantic;
375
+ var color$9 = semantic$i.color,
376
+ border$a = semantic$i.border;
377
+ var radius$4 = border$a.radius;
378
378
  var _a$a = tokensJson.component.badge,
379
379
  dot = _a$a.dot,
380
380
  count = _a$a.count,
381
381
  ring = _a$a.ring;
382
- var scaleIn$2 = keyframes(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n"], ["\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n"])));
382
+ var scaleIn$2 = keyframes(templateObject_1$J || (templateObject_1$J = __makeTemplateObject(["\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n"], ["\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n"])));
383
383
  var BadgeWrapper = styled.span.withConfig({
384
384
  displayName: "Badge__BadgeWrapper",
385
385
  componentId: "sc-tjz4pp-0"
386
- })(templateObject_2$u || (templateObject_2$u = __makeTemplateObject(["\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n flex-shrink: 0;\n"], ["\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n flex-shrink: 0;\n"])));
386
+ })(templateObject_2$w || (templateObject_2$w = __makeTemplateObject(["\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n flex-shrink: 0;\n"], ["\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n flex-shrink: 0;\n"])));
387
387
  var BadgeIndicator = styled.span.withConfig({
388
388
  shouldForwardProp: function shouldForwardProp(prop) {
389
389
  return !prop.startsWith('$');
390
390
  },
391
391
  displayName: "Badge__BadgeIndicator",
392
392
  componentId: "sc-tjz4pp-1"
393
- })(templateObject_3$r || (templateObject_3$r = __makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: ", ";\n align-items: center;\n justify-content: center;\n min-width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n line-height: ", ";\n white-space: nowrap;\n box-shadow: 0 0 0 ", " ", ";\n animation: ", " ", " ", ";\n\n ", " {\n animation: none;\n }\n \n ", "\n"], ["\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: ", ";\n align-items: center;\n justify-content: center;\n min-width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n line-height: ", ";\n white-space: nowrap;\n box-shadow: 0 0 0 ", " ", ";\n animation: ", " ", " ", ";\n\n ", " {\n animation: none;\n }\n \n ", "\n"])), function (props) {
393
+ })(templateObject_3$t || (templateObject_3$t = __makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: ", ";\n align-items: center;\n justify-content: center;\n min-width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n line-height: ", ";\n white-space: nowrap;\n box-shadow: 0 0 0 ", " ", ";\n animation: ", " ", " ", ";\n\n ", " {\n animation: none;\n }\n \n ", "\n"], ["\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: ", ";\n align-items: center;\n justify-content: center;\n min-width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n line-height: ", ";\n white-space: nowrap;\n box-shadow: 0 0 0 ", " ", ";\n animation: ", " ", " ", ";\n\n ", " {\n animation: none;\n }\n \n ", "\n"])), function (props) {
394
394
  return props.$isVisible ? 'flex' : 'none';
395
395
  }, function (props) {
396
396
  return props.$isDot ? dot.size : count.minWidth;
397
397
  }, function (props) {
398
398
  return props.$isDot ? dot.size : count.height;
399
399
  }, function (props) {
400
- return props.$isDot ? '0' : "0 ".concat(count.paddingX);
401
- }, radius$4.circle, count.lineHeight, ring.width, color$8.background["default"], scaleIn$2, semantic$f.motion.duration.normal, semantic$f.motion.easing.easeOut, reducedMotion, function (props) {
400
+ return props.$isDot ? '0' : "0 ".concat(semantic$i.spacing.component.xs);
401
+ }, radius$4.circle, count.lineHeight, ring.width, color$9.background["default"], scaleIn$2, semantic$i.motion.duration.normal, semantic$i.motion.easing.easeOut, reducedMotion, function (props) {
402
402
  switch (props.$variant) {
403
403
  case 'primary':
404
- return "\n background-color: ".concat(color$8.background.interactive, ";\n color: ").concat(color$8.text.inverse, ";\n ");
404
+ return "\n background-color: ".concat(color$9.background.interactive, ";\n color: ").concat(color$9.text.inverse, ";\n ");
405
405
  case 'error':
406
- return "\n background-color: ".concat(color$8.background.error, ";\n color: ").concat(color$8.text.inverse, ";\n ");
406
+ return "\n background-color: ".concat(color$9.background.error, ";\n color: ").concat(color$9.text.inverse, ";\n ");
407
407
  case 'warning':
408
- return "\n background-color: ".concat(color$8.background.warning, ";\n color: ").concat(color$8.text.inverse, ";\n ");
408
+ return "\n background-color: ".concat(color$9.background.warning, ";\n color: ").concat(color$9.text.inverse, ";\n ");
409
409
  case 'success':
410
- return "\n background-color: ".concat(color$8.background.success, ";\n color: ").concat(color$8.text.inverse, ";\n ");
410
+ return "\n background-color: ".concat(color$9.background.success, ";\n color: ").concat(color$9.text.inverse, ";\n ");
411
411
  default:
412
- return "\n background-color: ".concat(color$8.background.emphasis, ";\n color: ").concat(color$8.text.inverse, ";\n ");
412
+ return "\n background-color: ".concat(color$9.background.emphasis, ";\n color: ").concat(color$9.text.inverse, ";\n ");
413
413
  }
414
414
  });
415
415
  var ScreenReaderOnly$1 = styled.span.withConfig({
416
416
  displayName: "Badge__ScreenReaderOnly",
417
417
  componentId: "sc-tjz4pp-2"
418
- })(templateObject_4$m || (templateObject_4$m = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), visuallyHidden);
418
+ })(templateObject_4$n || (templateObject_4$n = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), visuallyHidden);
419
419
  var Badge = function Badge(_a) {
420
420
  var children = _a.children,
421
421
  _b = _a.count,
@@ -453,7 +453,7 @@ var Badge = function Badge(_a) {
453
453
  })]
454
454
  });
455
455
  };
456
- var templateObject_1$I, templateObject_2$u, templateObject_3$r, templateObject_4$m;
456
+ var templateObject_1$J, templateObject_2$w, templateObject_3$t, templateObject_4$n;
457
457
 
458
458
  var StyledBox = styled.div.withConfig({
459
459
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -464,13 +464,13 @@ var StyledBox = styled.div.withConfig({
464
464
  })(templateObject_49 || (templateObject_49 = __makeTemplateObject(["\n ", "\n \n // Flexbox\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Margin\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Padding\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Size\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Position\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Borders\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Background & Color\n ", "\n ", "\n \n // Elevation (shadow)\n ", "\n \n // Cursor\n ", "\n \n // Transition\n ", "\n \n // Hover states\n ", "\n \n // Overflow\n ", "\n ", "\n ", "\n"], ["\n ", "\n \n // Flexbox\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Margin\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Padding\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Size\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Position\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Borders\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n // Background & Color\n ", "\n ", "\n \n // Elevation (shadow)\n ", "\n \n // Cursor\n ", "\n \n // Transition\n ", "\n \n // Hover states\n ", "\n \n // Overflow\n ", "\n ", "\n ", "\n"
465
465
  // Transform component that maps clean props to $-prefixed props for styled-components
466
466
  ])), function (props) {
467
- return props.$display && css(templateObject_1$H || (templateObject_1$H = __makeTemplateObject(["display: ", ";"], ["display: ", ";"])), props.$display);
467
+ return props.$display && css(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["display: ", ";"], ["display: ", ";"])), props.$display);
468
468
  }, function (props) {
469
- return props.$flexDirection && css(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["flex-direction: ", ";"], ["flex-direction: ", ";"])), props.$flexDirection);
469
+ return props.$flexDirection && css(templateObject_2$v || (templateObject_2$v = __makeTemplateObject(["flex-direction: ", ";"], ["flex-direction: ", ";"])), props.$flexDirection);
470
470
  }, function (props) {
471
- return props.$justifyContent && css(templateObject_3$q || (templateObject_3$q = __makeTemplateObject(["justify-content: ", ";"], ["justify-content: ", ";"])), props.$justifyContent);
471
+ return props.$justifyContent && css(templateObject_3$s || (templateObject_3$s = __makeTemplateObject(["justify-content: ", ";"], ["justify-content: ", ";"])), props.$justifyContent);
472
472
  }, function (props) {
473
- return props.$alignItems && css(templateObject_4$l || (templateObject_4$l = __makeTemplateObject(["align-items: ", ";"], ["align-items: ", ";"])), props.$alignItems);
473
+ return props.$alignItems && css(templateObject_4$m || (templateObject_4$m = __makeTemplateObject(["align-items: ", ";"], ["align-items: ", ";"])), props.$alignItems);
474
474
  }, function (props) {
475
475
  return props.$flexWrap && css(templateObject_5$h || (templateObject_5$h = __makeTemplateObject(["flex-wrap: ", ";"], ["flex-wrap: ", ";"])), props.$flexWrap);
476
476
  }, function (props) {
@@ -488,7 +488,7 @@ var StyledBox = styled.div.withConfig({
488
488
  }, function (props) {
489
489
  return props.$mx && css(templateObject_12$4 || (templateObject_12$4 = __makeTemplateObject(["\n margin-left: ", ";\n margin-right: ", ";\n "], ["\n margin-left: ", ";\n margin-right: ", ";\n "])), tokensJson.semantic.spacing.layout[props.$mx], tokensJson.semantic.spacing.layout[props.$mx]);
490
490
  }, function (props) {
491
- return props.$my && css(templateObject_13$3 || (templateObject_13$3 = __makeTemplateObject(["\n margin-top: ", ";\n margin-bottom: ", ";\n "], ["\n margin-top: ", ";\n margin-bottom: ", ";\n "])), tokensJson.semantic.spacing.layout[props.$my], tokensJson.semantic.spacing.layout[props.$my]);
491
+ return props.$my && css(templateObject_13$4 || (templateObject_13$4 = __makeTemplateObject(["\n margin-top: ", ";\n margin-bottom: ", ";\n "], ["\n margin-top: ", ";\n margin-bottom: ", ";\n "])), tokensJson.semantic.spacing.layout[props.$my], tokensJson.semantic.spacing.layout[props.$my]);
492
492
  }, function (props) {
493
493
  return props.$p && css(templateObject_14$2 || (templateObject_14$2 = __makeTemplateObject(["padding: ", ";"], ["padding: ", ";"])), tokensJson.semantic.spacing.layout[props.$p]);
494
494
  }, function (props) {
@@ -688,7 +688,7 @@ var BoxTransform = function BoxTransform(props) {
688
688
  }));
689
689
  };
690
690
  var Box = BoxTransform;
691
- var templateObject_1$H, templateObject_2$t, templateObject_3$q, templateObject_4$l, templateObject_5$h, templateObject_6$d, templateObject_7$b, templateObject_8$8, templateObject_9$6, templateObject_10$4, templateObject_11$4, templateObject_12$4, templateObject_13$3, templateObject_14$2, templateObject_15$2, templateObject_16$2, templateObject_17$2, templateObject_18$2, templateObject_19$1, templateObject_20$1, templateObject_21$1, templateObject_22$1, templateObject_23$1, templateObject_24$1, templateObject_25$1, templateObject_26$1, templateObject_27$1, templateObject_28$1, templateObject_29$1, templateObject_30$1, templateObject_31$1, templateObject_32$1, templateObject_33$1, templateObject_34$1, templateObject_35$1, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44, templateObject_45, templateObject_46, templateObject_47, templateObject_48, templateObject_49;
691
+ var templateObject_1$I, templateObject_2$v, templateObject_3$s, templateObject_4$m, templateObject_5$h, templateObject_6$d, templateObject_7$b, templateObject_8$8, templateObject_9$6, templateObject_10$4, templateObject_11$4, templateObject_12$4, templateObject_13$4, templateObject_14$2, templateObject_15$2, templateObject_16$2, templateObject_17$2, templateObject_18$2, templateObject_19$1, templateObject_20$1, templateObject_21$1, templateObject_22$1, templateObject_23$1, templateObject_24$1, templateObject_25$1, templateObject_26$1, templateObject_27$1, templateObject_28$1, templateObject_29$1, templateObject_30$1, templateObject_31$1, templateObject_32$1, templateObject_33$1, templateObject_34$1, templateObject_35$1, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44, templateObject_45, templateObject_46, templateObject_47, templateObject_48, templateObject_49;
692
692
 
693
693
  var IconStyled = styled.span.withConfig({
694
694
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -696,7 +696,7 @@ var IconStyled = styled.span.withConfig({
696
696
  },
697
697
  displayName: "Icon__IconStyled",
698
698
  componentId: "sc-1105czq-0"
699
- })(templateObject_1$G || (templateObject_1$G = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n \n svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n \n /* Use semantic icon colors */\n color: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n \n svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n \n /* Use semantic icon colors */\n color: ", ";\n"])), function (_a) {
699
+ })(templateObject_1$H || (templateObject_1$H = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n \n svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n \n /* Use semantic icon colors */\n color: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n \n svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n \n /* Use semantic icon colors */\n color: ", ";\n"])), function (_a) {
700
700
  var $size = _a.$size;
701
701
  return tokensJson.semantic.size.icon[$size];
702
702
  }, function (_a) {
@@ -762,12 +762,14 @@ var Icon = function Icon(_a) {
762
762
  })
763
763
  });
764
764
  };
765
- var templateObject_1$G;
765
+ var templateObject_1$H;
766
766
 
767
767
  var button$1 = tokensJson.component.button,
768
- semantic$e = tokensJson.semantic;
768
+ semantic$h = tokensJson.semantic;
769
+ // Padding comes from the semantic spacing scale: no component spacing tokens (decision 0022)
770
+ var spacing$a = semantic$h.spacing.component;
769
771
  // Base styles shared between button and link
770
- var baseButtonStyles = "\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ".concat(tokensJson.semantic.spacing.layout.xs, ";\n height: max-content;\n cursor: pointer;\n border: none;\n text-decoration: none;\n transition: ").concat(semantic$e.motion.hover, ";\n white-space: nowrap;\n user-select: none;\n \n &:focus {\n outline: ").concat(button$1.focus.outline, ";\n outline-offset: ").concat(button$1.focus.outlineOffset, ";\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n");
772
+ var baseButtonStyles = "\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ".concat(tokensJson.semantic.spacing.layout.xs, ";\n height: max-content;\n cursor: pointer;\n border: none;\n text-decoration: none;\n transition: ").concat(semantic$h.motion.hover, ";\n white-space: nowrap;\n user-select: none;\n \n &:focus {\n outline: ").concat(button$1.focus.outline, ";\n outline-offset: ").concat(semantic$h.border.focusOffset, ";\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n");
771
773
  // Dynamic variant styles using component tokens
772
774
  var getVariantStyles$1 = function getVariantStyles(_a) {
773
775
  var $variant = _a.$variant;
@@ -796,6 +798,15 @@ var getVariantStyles$1 = function getVariantStyles(_a) {
796
798
  disabledBg: button$1.variants.naked.disabled.backgroundColor,
797
799
  disabledText: button$1.variants.naked.disabled.textColor
798
800
  },
801
+ accent: {
802
+ bg: button$1.variants.accent.backgroundColor,
803
+ text: button$1.variants.accent.textColor,
804
+ hoverBg: button$1.variants.accent.hover.backgroundColor,
805
+ activeBg: button$1.variants.accent.active.backgroundColor,
806
+ disabledBg: button$1.variants.accent.disabled.backgroundColor,
807
+ disabledText: button$1.variants.accent.disabled.textColor
808
+ },
809
+ // Deprecated alias for accent; removed in 3.0
799
810
  emphasis: {
800
811
  bg: button$1.variants.emphasis.backgroundColor,
801
812
  text: button$1.variants.emphasis.textColor,
@@ -821,13 +832,13 @@ var getSizeStyles$1 = function getSizeStyles(_a) {
821
832
  var $size = _a.$size;
822
833
  switch ($size) {
823
834
  case 'small':
824
- return "\n font: ".concat(button$1.sizes.small.font, ";\n padding: ").concat(button$1.sizes.small.padding, ";\n ");
835
+ return "\n font: ".concat(button$1.sizes.small.font, ";\n padding: ").concat(spacing$a.sm, " ").concat(spacing$a.md, ";\n ");
825
836
  case 'medium':
826
- return "\n font: ".concat(button$1.sizes.medium.font, ";\n padding: ").concat(button$1.sizes.medium.padding, ";\n ");
837
+ return "\n font: ".concat(button$1.sizes.medium.font, ";\n padding: ").concat(spacing$a.sm, " ").concat(spacing$a.lg, ";\n ");
827
838
  case 'large':
828
- return "\n font: ".concat(button$1.sizes.large.font, ";\n padding: ").concat(button$1.sizes.large.padding, ";\n ");
839
+ return "\n font: ".concat(button$1.sizes.large.font, ";\n padding: ").concat(spacing$a.md, " ").concat(spacing$a.lg, ";\n ");
829
840
  default:
830
- return "\n font: ".concat(button$1.sizes.large.font, ";\n padding: ").concat(button$1.sizes.large.padding, ";\n ");
841
+ return "\n font: ".concat(button$1.sizes.large.font, ";\n padding: ").concat(spacing$a.md, " ").concat(spacing$a.lg, ";\n ");
831
842
  }
832
843
  };
833
844
  var StyledButton = styled.button.withConfig({
@@ -836,14 +847,14 @@ var StyledButton = styled.button.withConfig({
836
847
  },
837
848
  displayName: "Button__StyledButton",
838
849
  componentId: "sc-1eiuum9-0"
839
- })(templateObject_1$F || (templateObject_1$F = __makeTemplateObject(["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"], ["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"])), baseButtonStyles, button$1.primary.borderRadius, getVariantStyles$1, getSizeStyles$1);
850
+ })(templateObject_1$G || (templateObject_1$G = __makeTemplateObject(["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"], ["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"])), baseButtonStyles, button$1.primary.borderRadius, getVariantStyles$1, getSizeStyles$1);
840
851
  var StyledLink = styled.a.withConfig({
841
852
  shouldForwardProp: function shouldForwardProp(prop) {
842
853
  return !prop.startsWith('$');
843
854
  },
844
855
  displayName: "Button__StyledLink",
845
856
  componentId: "sc-1eiuum9-1"
846
- })(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"], ["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"
857
+ })(templateObject_2$u || (templateObject_2$u = __makeTemplateObject(["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"], ["\n ", "\n border-radius: ", ";\n \n ", "\n ", "\n"
847
858
  // Helper function to get icon size based on button size
848
859
  ])), baseButtonStyles, button$1.primary.borderRadius, getVariantStyles$1, getSizeStyles$1);
849
860
  // Helper function to get icon size based on button size
@@ -946,49 +957,46 @@ var Button = function Button(_a) {
946
957
  children: renderButtonContent(children, iconName, size)
947
958
  }));
948
959
  };
949
- var templateObject_1$F, templateObject_2$s;
960
+ var templateObject_1$G, templateObject_2$u;
950
961
 
951
- var semantic$d = tokensJson.semantic;
952
- var color$7 = semantic$d.color,
953
- border$8 = semantic$d.border,
954
- spacing$7 = semantic$d.spacing;
962
+ var semantic$g = tokensJson.semantic;
963
+ var color$8 = semantic$g.color,
964
+ border$9 = semantic$g.border,
965
+ spacing$9 = semantic$g.spacing;
955
966
  var label$2 = tokensJson.component.badge.label;
956
- var category = color$7.category;
957
- var radius$3 = border$8.radius;
958
- var layout$4 = spacing$7.layout;
959
- var StyledCategoryBadge = styled.span.withConfig({
967
+ var category = color$8.category;
968
+ var radius$3 = border$9.radius;
969
+ var layout$4 = spacing$9.layout;
970
+ var labelHeight$1 = semantic$g.size.label;
971
+ // Text on white or the -subtle fill (outlined and minimal), at least 4.5:1 (#115)
972
+ var categoryText = {
973
+ blue: category['blue-text'],
974
+ purple: category['purple-text'],
975
+ pink: category['pink-text'],
976
+ yellow: category['yellow-text'],
977
+ green: category['green-text'],
978
+ red: category['red-text'],
979
+ orange: category['orange-text'],
980
+ gray: category['gray-text']
981
+ };
982
+ var StyledCategoryLabel = styled.span.withConfig({
960
983
  shouldForwardProp: function shouldForwardProp(prop) {
961
984
  return !prop.startsWith('$');
962
985
  },
963
- displayName: "CategoryBadge__StyledCategoryBadge",
964
- componentId: "sc-17aslpn-0"
965
- })(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n border-style: solid;\n border-width: ", ";\n \n /* Size styles */\n height: ", ";\n padding: ", ";\n font: ", ";\n /* After the font shorthand, which would otherwise reset it */\n font-weight: ", ";\n gap: ", ";\n \n /* Variant + Color styles */\n background-color: ", ";\n \n color: ", ";\n \n border-color: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n border-style: solid;\n border-width: ", ";\n \n /* Size styles */\n height: ", ";\n padding: ", ";\n font: ", ";\n /* After the font shorthand, which would otherwise reset it */\n font-weight: ", ";\n gap: ", ";\n \n /* Variant + Color styles */\n background-color: ", ";\n \n color: ", ";\n \n border-color: ", ";\n"
966
- /**
967
- * CategoryBadge component for displaying transaction categories
968
- *
969
- * A static label for categorizing content with support for 8 color options,
970
- * 3 visual variants, and optional icons. Perfect for categorizing
971
- * financial transactions or content types.
972
- *
973
- * @example
974
- * ```tsx
975
- * <CategoryBadge color="orange" icon="restaurant">
976
- * Food & Dining
977
- * </CategoryBadge>
978
- *
979
- * <CategoryBadge color="blue" variant="outlined" size="small">
980
- * Travel
981
- * </CategoryBadge>
982
- * ```
983
- */])), radius$3.circle, semantic$d.border.width.thin, function (_a) {
986
+ displayName: "CategoryLabel__StyledCategoryLabel",
987
+ componentId: "sc-1jx7bjo-0"
988
+ })(templateObject_1$F || (templateObject_1$F = __makeTemplateObject(["\n box-sizing: border-box; /* the height includes padding and border, without relying on a global reset */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n border-style: solid;\n border-width: ", ";\n \n /* Size styles */\n height: ", ";\n padding: ", ";\n font: ", ";\n /* After the font shorthand, which would otherwise reset it */\n font-weight: ", ";\n gap: ", ";\n \n /* Variant + Color styles */\n background-color: ", ";\n \n /* Outlined and minimal text uses the AA text token, not the base colour (issue 115) */\n color: ", ";\n \n border-color: ", ";\n"], ["\n box-sizing: border-box; /* the height includes padding and border, without relying on a global reset */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n border-style: solid;\n border-width: ", ";\n \n /* Size styles */\n height: ", ";\n padding: ", ";\n font: ", ";\n /* After the font shorthand, which would otherwise reset it */\n font-weight: ", ";\n gap: ", ";\n \n /* Variant + Color styles */\n background-color: ", ";\n \n /* Outlined and minimal text uses the AA text token, not the base colour (issue 115) */\n color: ", ";\n \n border-color: ", ";\n"
989
+ // The visible content, hidden from assistive technology when an aria-label replaces it.
990
+ // display: contents keeps the root's flex layout and gap.
991
+ ])), radius$3.circle, semantic$g.border.width.thin, function (_a) {
984
992
  var $size = _a.$size;
985
- return $size === 'small' ? '24px' : '32px';
993
+ return labelHeight$1[$size];
986
994
  }, function (_a) {
987
995
  var $size = _a.$size;
988
- return $size === 'small' ? "".concat(layout$4.xs, " ").concat(layout$4.sm) : "".concat(layout$4.sm, " ").concat(layout$4.md);
996
+ return $size === 'medium' ? "".concat(layout$4.xs, " ").concat(layout$4.sm) : "".concat(layout$4.sm, " ").concat(layout$4.md);
989
997
  }, function (_a) {
990
998
  var $size = _a.$size;
991
- return $size === 'small' ? label$2.typography.small : label$2.typography.medium;
999
+ return $size === 'medium' ? label$2.typography.small : label$2.typography.medium;
992
1000
  }, label$2.fontWeight, layout$4.xs, function (_a) {
993
1001
  var $color = _a.$color,
994
1002
  $variant = _a.$variant;
@@ -1004,9 +1012,9 @@ var StyledCategoryBadge = styled.span.withConfig({
1004
1012
  var $color = _a.$color,
1005
1013
  $variant = _a.$variant;
1006
1014
  if ($variant === 'filled') {
1007
- return color$7.text.inverse;
1015
+ return color$8.text.inverse;
1008
1016
  }
1009
- return category[$color];
1017
+ return categoryText[$color];
1010
1018
  }, function (_a) {
1011
1019
  var $color = _a.$color,
1012
1020
  $variant = _a.$variant;
@@ -1015,79 +1023,139 @@ var StyledCategoryBadge = styled.span.withConfig({
1015
1023
  }
1016
1024
  return 'transparent';
1017
1025
  });
1026
+ // The visible content, hidden from assistive technology when an aria-label replaces it.
1027
+ // display: contents keeps the root's flex layout and gap.
1028
+ var VisibleContent$1 = styled.span.withConfig({
1029
+ displayName: "CategoryLabel__VisibleContent",
1030
+ componentId: "sc-1jx7bjo-1"
1031
+ })(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
1032
+ var HiddenLabel = styled.span.withConfig({
1033
+ displayName: "CategoryLabel__HiddenLabel",
1034
+ componentId: "sc-1jx7bjo-2"
1035
+ })(templateObject_3$r || (templateObject_3$r = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"
1018
1036
  /**
1019
- * CategoryBadge component for displaying transaction categories
1037
+ * CategoryLabel colour-codes an item's category, such as a transaction's (decision 0018).
1020
1038
  *
1021
- * A static label for categorizing content with support for 8 color options,
1022
- * 3 visual variants, and optional icons. Perfect for categorizing
1023
- * financial transactions or content types.
1039
+ * A static, chip-like label with 8 category colours, 3 visual variants and an optional icon.
1040
+ * Category colours carry no status meaning; for status use StatusLabel.
1024
1041
  *
1025
1042
  * @example
1026
1043
  * ```tsx
1027
- * <CategoryBadge color="orange" icon="restaurant">
1028
- * Food & Dining
1029
- * </CategoryBadge>
1044
+ * <CategoryLabel color="orange" icon="creditCard">
1045
+ * Shopping
1046
+ * </CategoryLabel>
1030
1047
  *
1031
- * <CategoryBadge color="blue" variant="outlined" size="small">
1048
+ * <CategoryLabel color="blue" variant="outlined" size="medium">
1032
1049
  * Travel
1033
- * </CategoryBadge>
1050
+ * </CategoryLabel>
1051
+ * ```
1052
+ */])), visuallyHidden);
1053
+ /**
1054
+ * CategoryLabel colour-codes an item's category, such as a transaction's (decision 0018).
1055
+ *
1056
+ * A static, chip-like label with 8 category colours, 3 visual variants and an optional icon.
1057
+ * Category colours carry no status meaning; for status use StatusLabel.
1058
+ *
1059
+ * @example
1060
+ * ```tsx
1061
+ * <CategoryLabel color="orange" icon="creditCard">
1062
+ * Shopping
1063
+ * </CategoryLabel>
1064
+ *
1065
+ * <CategoryLabel color="blue" variant="outlined" size="medium">
1066
+ * Travel
1067
+ * </CategoryLabel>
1034
1068
  * ```
1035
1069
  */
1036
- var CategoryBadge = function CategoryBadge(_a) {
1070
+ var CategoryLabel = function CategoryLabel(_a) {
1037
1071
  var children = _a.children,
1038
1072
  _b = _a.color,
1039
1073
  color = _b === void 0 ? 'blue' : _b,
1040
1074
  _c = _a.variant,
1041
1075
  variant = _c === void 0 ? 'filled' : _c,
1042
1076
  _d = _a.size,
1043
- size = _d === void 0 ? 'medium' : _d,
1077
+ size = _d === void 0 ? 'large' : _d,
1044
1078
  icon = _a.icon,
1045
1079
  dataTestId = _a["data-testid"],
1046
1080
  ariaLabel = _a["aria-label"];
1047
- var iconSize = size === 'small' ? 'xs' : 'sm';
1048
- return jsxs(StyledCategoryBadge, {
1081
+ var iconSize = size === 'medium' ? 'xs' : 'sm';
1082
+ // A blank aria-label is no label at all, so it falls back like a missing one
1083
+ var accessibleLabel = (ariaLabel === null || ariaLabel === void 0 ? void 0 : ariaLabel.trim()) ? ariaLabel : undefined;
1084
+ return jsxs(StyledCategoryLabel, {
1049
1085
  "$color": color,
1050
1086
  "$variant": variant,
1051
1087
  "$size": size,
1052
- "aria-label": ariaLabel,
1053
1088
  "data-testid": dataTestId,
1054
- children: [icon && jsx(Icon, {
1055
- name: icon,
1056
- size: iconSize,
1057
- iconColor: variant === 'filled' ? 'inverse' : 'inherit',
1058
- "aria-hidden": "true"
1059
- }), children]
1089
+ children: [jsxs(VisibleContent$1, {
1090
+ "aria-hidden": accessibleLabel ? 'true' : undefined,
1091
+ children: [icon && jsx(Icon, {
1092
+ name: icon,
1093
+ size: iconSize,
1094
+ iconColor: variant === 'filled' ? 'inverse' : 'inherit',
1095
+ "aria-hidden": "true"
1096
+ }), children]
1097
+ }), accessibleLabel && jsx(HiddenLabel, {
1098
+ children: accessibleLabel
1099
+ })]
1060
1100
  });
1061
1101
  };
1102
+ CategoryLabel.displayName = 'CategoryLabel';
1103
+ var templateObject_1$F, templateObject_2$t, templateObject_3$r;
1104
+
1105
+ // CategoryBadge sizes on the decision 0018 scale
1106
+ var toLabelSize = {
1107
+ small: 'medium',
1108
+ medium: 'large'
1109
+ };
1110
+ /**
1111
+ * CategoryBadge displays a category label.
1112
+ *
1113
+ * @deprecated Renamed to `CategoryLabel` (same `color` and `variant`). Map `size="small"` to
1114
+ * `"medium"`, and `size="medium"` (or no size) to `"large"`, CategoryLabel's default.
1115
+ * CategoryBadge is removed in 3.0 (decision 0018).
1116
+ */
1117
+ var CategoryBadge = function CategoryBadge(_a) {
1118
+ var _b = _a.size,
1119
+ size = _b === void 0 ? 'medium' : _b,
1120
+ props = __rest(_a, ["size"]);
1121
+ return jsx(CategoryLabel, __assign({}, props, {
1122
+ size: toLabelSize[size]
1123
+ }));
1124
+ };
1062
1125
  CategoryBadge.displayName = 'CategoryBadge';
1063
- var templateObject_1$E;
1064
1126
 
1065
- var chip = tokensJson.component.chip;
1066
- // Selected-chip hover and active colours have no token yet: they wait on #21 (selected states).
1067
- // eslint-disable-next-line no-restricted-syntax
1068
- var SELECTED_HOVER = '#CAE8FF';
1069
- // eslint-disable-next-line no-restricted-syntax
1070
- var SELECTED_ACTIVE = '#B5DEFF';
1127
+ var chip$1 = tokensJson.component.chip;
1071
1128
  // Helper function to get variant styles matching Button's approach
1072
1129
  var getVariantStyles = function getVariantStyles(_a) {
1073
1130
  var $variant = _a.$variant,
1074
1131
  $selected = _a.$selected,
1075
1132
  $clickable = _a.$clickable,
1076
1133
  $disabled = _a.$disabled;
1077
- // Boolean chips with selected state get special background
1134
+ // Selected filter and input chips use the light-blue selected treatment (decision 0016).
1135
+ // The text darkens with the fill so every state stays at least 4.5:1.
1078
1136
  if ($selected) {
1079
- return "\n background-color: ".concat(tokensJson.semantic.color.background['interactive-subtle'], ";\n color: ").concat(chip["default"].textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? tokensJson.semantic.color.background['interactive-subtle'] : $clickable ? SELECTED_HOVER : tokensJson.semantic.color.background['interactive-subtle'], ";\n }\n \n &:active {\n background-color: ").concat($disabled ? tokensJson.semantic.color.background['interactive-subtle'] : $clickable ? SELECTED_ACTIVE : tokensJson.semantic.color.background['interactive-subtle'], ";\n }\n ");
1137
+ // A selected disabled chip looks like any disabled chip; the checkmark keeps the
1138
+ // selected state visible (#110)
1139
+ if ($disabled) {
1140
+ var disabled = chip$1.variants.subtle.disabled;
1141
+ return "\n background-color: ".concat(disabled.backgroundColor, ";\n color: ").concat(disabled.textColor, ";\n ");
1142
+ }
1143
+ var _b = tokensJson.semantic.color,
1144
+ background = _b.background,
1145
+ text = _b.text;
1146
+ var interactiveStates = $clickable;
1147
+ return "\n background-color: ".concat(background['interactive-subtle'], ";\n color: ").concat(text.interactive, ";\n \n &:hover {\n background-color: ").concat(interactiveStates ? background['interactive-subtle-hover'] : background['interactive-subtle'], ";\n color: ").concat(interactiveStates ? text['interactive-hover'] : text.interactive, ";\n }\n \n &:active {\n background-color: ").concat(interactiveStates ? background['interactive-subtle-active'] : background['interactive-subtle'], ";\n color: ").concat(interactiveStates ? text['interactive-active'] : text.interactive, ";\n }\n ");
1080
1148
  }
1081
1149
  switch ($variant) {
1082
1150
  case 'emphasis':
1083
- return "\n background-color: ".concat(chip.variants.emphasis.backgroundColor, ";\n color: ").concat(chip.variants.emphasis.textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip.variants.emphasis.disabled.backgroundColor : $clickable ? chip.variants.emphasis.hover.backgroundColor : chip.variants.emphasis.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip.variants.emphasis.disabled.backgroundColor : $clickable ? chip.variants.emphasis.active.backgroundColor : chip.variants.emphasis.backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip.variants.emphasis.disabled.backgroundColor, ";\n color: ").concat(chip.variants.emphasis.disabled.textColor, ";\n ") : '', "\n ");
1151
+ return "\n background-color: ".concat(chip$1.variants.emphasis.backgroundColor, ";\n color: ").concat(chip$1.variants.emphasis.textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip$1.variants.emphasis.disabled.backgroundColor : $clickable ? chip$1.variants.emphasis.hover.backgroundColor : chip$1.variants.emphasis.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip$1.variants.emphasis.disabled.backgroundColor : $clickable ? chip$1.variants.emphasis.active.backgroundColor : chip$1.variants.emphasis.backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip$1.variants.emphasis.disabled.backgroundColor, ";\n color: ").concat(chip$1.variants.emphasis.disabled.textColor, ";\n ") : '', "\n ");
1084
1152
  case 'subtle':
1085
- return "\n background-color: ".concat(chip.variants.subtle.backgroundColor, ";\n color: ").concat(chip.variants.subtle.textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip.variants.subtle.disabled.backgroundColor : $clickable ? chip.variants.subtle.hover.backgroundColor : chip.variants.subtle.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip.variants.subtle.disabled.backgroundColor : $clickable ? chip.variants.subtle.active.backgroundColor : chip.variants.subtle.backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip.variants.subtle.disabled.backgroundColor, ";\n color: ").concat(chip.variants.subtle.disabled.textColor, ";\n ") : '', "\n ");
1153
+ return "\n background-color: ".concat(chip$1.variants.subtle.backgroundColor, ";\n color: ").concat(chip$1.variants.subtle.textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip$1.variants.subtle.disabled.backgroundColor : $clickable ? chip$1.variants.subtle.hover.backgroundColor : chip$1.variants.subtle.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip$1.variants.subtle.disabled.backgroundColor : $clickable ? chip$1.variants.subtle.active.backgroundColor : chip$1.variants.subtle.backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip$1.variants.subtle.disabled.backgroundColor, ";\n color: ").concat(chip$1.variants.subtle.disabled.textColor, ";\n ") : '', "\n ");
1086
1154
  case 'interactive':
1087
- return "\n background-color: ".concat(chip.variants.interactive.backgroundColor, ";\n color: ").concat(chip.variants.interactive.textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip.variants.interactive.disabled.backgroundColor : $clickable ? chip.variants.interactive.hover.backgroundColor : chip.variants.interactive.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip.variants.interactive.disabled.backgroundColor : $clickable ? chip.variants.interactive.active.backgroundColor : chip.variants.interactive.backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip.variants.interactive.disabled.backgroundColor, ";\n color: ").concat(chip.variants.interactive.disabled.textColor, ";\n ") : '', "\n ");
1155
+ return "\n background-color: ".concat(chip$1.variants.interactive.backgroundColor, ";\n color: ").concat(chip$1.variants.interactive.textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip$1.variants.interactive.disabled.backgroundColor : $clickable ? chip$1.variants.interactive.hover.backgroundColor : chip$1.variants.interactive.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip$1.variants.interactive.disabled.backgroundColor : $clickable ? chip$1.variants.interactive.active.backgroundColor : chip$1.variants.interactive.backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip$1.variants.interactive.disabled.backgroundColor, ";\n color: ").concat(chip$1.variants.interactive.disabled.textColor, ";\n ") : '', "\n ");
1088
1156
  case 'default':
1089
1157
  default:
1090
- return "\n background-color: ".concat(chip["default"].backgroundColor, ";\n color: ").concat(chip["default"].textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip.disabled.backgroundColor : $clickable ? chip.hover.backgroundColor : chip["default"].backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip.disabled.backgroundColor : $clickable ? chip.active.backgroundColor : chip["default"].backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip.disabled.backgroundColor, ";\n color: ").concat(chip.disabled.textColor, ";\n ") : '', "\n ");
1158
+ return "\n background-color: ".concat(chip$1["default"].backgroundColor, ";\n color: ").concat(chip$1["default"].textColor, ";\n \n &:hover {\n background-color: ").concat($disabled ? chip$1.disabled.backgroundColor : $clickable ? chip$1.hover.backgroundColor : chip$1["default"].backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat($disabled ? chip$1.disabled.backgroundColor : $clickable ? chip$1.active.backgroundColor : chip$1["default"].backgroundColor, ";\n }\n \n ").concat($disabled ? "\n background-color: ".concat(chip$1.disabled.backgroundColor, ";\n color: ").concat(chip$1.disabled.textColor, ";\n ") : '', "\n ");
1091
1159
  }
1092
1160
  };
1093
1161
  // Helper function to get size styles matching Button's approach
@@ -1095,13 +1163,15 @@ var getSizeStyles = function getSizeStyles(_a) {
1095
1163
  var $size = _a.$size;
1096
1164
  switch ($size) {
1097
1165
  case 'small':
1098
- return "\n font: ".concat(chip.sizes.small.font, ";\n padding: ").concat(chip.sizes.small.padding, ";\n ");
1166
+ return "\n font: ".concat(chip$1.sizes.small.font, ";\n // Off-grid 2px: keeps the deprecated token until #129 (decision 0022)\n padding: ").concat(chip$1.sizes.small.padding, ";\n ");
1099
1167
  case 'medium':
1100
1168
  default:
1101
- return "\n font: ".concat(chip.sizes.medium.font, ";\n padding: ").concat(chip.sizes.medium.padding, ";\n ");
1169
+ return "\n font: ".concat(chip$1.sizes.medium.font, ";\n padding: ").concat(chip$1.sizes.medium.padding, ";\n ");
1102
1170
  }
1103
1171
  };
1104
1172
 
1173
+ var chip = tokensJson.component.chip,
1174
+ semantic$f = tokensJson.semantic;
1105
1175
  // Base styled component using direct prop interpolation like Button
1106
1176
  var StyledChip = styled.span.withConfig({
1107
1177
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -1109,16 +1179,16 @@ var StyledChip = styled.span.withConfig({
1109
1179
  },
1110
1180
  displayName: "ChipBase__StyledChip",
1111
1181
  componentId: "sc-moa6zc-0"
1112
- })(templateObject_1$D || (templateObject_1$D = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: max-content;\n border-radius: ", ";\n box-sizing: border-box;\n user-select: none;\n white-space: nowrap;\n transition: ", ";\n cursor: ", ";\n \n ", "\n ", "\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: max-content;\n border-radius: ", ";\n box-sizing: border-box;\n user-select: none;\n white-space: nowrap;\n transition: ", ";\n cursor: ", ";\n \n ", "\n ", "\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"
1182
+ })(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: max-content;\n border-radius: ", ";\n box-sizing: border-box;\n user-select: none;\n white-space: nowrap;\n transition: ", ";\n cursor: ", ";\n \n ", "\n ", "\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: max-content;\n border-radius: ", ";\n box-sizing: border-box;\n user-select: none;\n white-space: nowrap;\n transition: ", ";\n cursor: ", ";\n \n ", "\n ", "\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"
1113
1183
  // Icon container for selected indicator or leading icons
1114
- ])), chip["default"].borderRadius, tokensJson.semantic.motion.hover, function (props) {
1184
+ ])), chip["default"].borderRadius, semantic$f.motion.hover, function (props) {
1115
1185
  return props.$disabled ? 'not-allowed' : props.$clickable ? 'pointer' : 'default';
1116
- }, getVariantStyles, getSizeStyles, chip.focus.outline, chip.focus.outlineOffset);
1186
+ }, getVariantStyles, getSizeStyles, chip.focus.outline, semantic$f.border.focusOffset);
1117
1187
  // Icon container for selected indicator or leading icons
1118
1188
  var IconContainer = styled.span.withConfig({
1119
1189
  displayName: "ChipBase__IconContainer",
1120
1190
  componentId: "sc-moa6zc-1"
1121
- })(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n margin-right: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n margin-right: ", ";\n"
1191
+ })(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n margin-right: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n margin-right: ", ";\n"
1122
1192
  // Close button for dismissible chips
1123
1193
  ])), tokensJson.semantic.spacing.layout.xs);
1124
1194
  // Close button for dismissible chips
@@ -1128,24 +1198,21 @@ var CloseButton = styled.button.withConfig({
1128
1198
  },
1129
1199
  displayName: "ChipBase__CloseButton",
1130
1200
  componentId: "sc-moa6zc-2"
1131
- })(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: ", ";\n background: transparent;\n border: none;\n width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n cursor: ", ";\n color: inherit;\n transition: ", ";\n \n &:hover:not(:disabled) {\n background-color: ", ";\n }\n \n &:active:not(:disabled) {\n background-color: ", ";\n }\n \n &:disabled {\n color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n border-radius: ", ";\n }\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: ", ";\n background: transparent;\n border: none;\n width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n cursor: ", ";\n color: inherit;\n transition: ", ";\n \n &:hover:not(:disabled) {\n background-color: ", ";\n }\n \n &:active:not(:disabled) {\n background-color: ", ";\n }\n \n &:disabled {\n color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n border-radius: ", ";\n }\n"])), tokensJson.semantic.spacing.layout.sm, chip.closeButton.size, chip.closeButton.size, tokensJson.semantic.spacing.layout.none, tokensJson.semantic.border.radius.xs, function (props) {
1201
+ })(templateObject_3$q || (templateObject_3$q = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: ", ";\n background: transparent;\n border: none;\n width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n cursor: ", ";\n color: inherit;\n transition: ", ";\n \n &:hover:not(:disabled) {\n background-color: ", ";\n }\n \n &:active:not(:disabled) {\n background-color: ", ";\n }\n \n &:disabled {\n color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n border-radius: ", ";\n }\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: ", ";\n background: transparent;\n border: none;\n width: ", ";\n height: ", ";\n padding: ", ";\n border-radius: ", ";\n cursor: ", ";\n color: inherit;\n transition: ", ";\n \n &:hover:not(:disabled) {\n background-color: ", ";\n }\n \n &:active:not(:disabled) {\n background-color: ", ";\n }\n \n &:disabled {\n color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n border-radius: ", ";\n }\n"])), tokensJson.semantic.spacing.layout.sm, chip.closeButton.size, chip.closeButton.size, tokensJson.semantic.spacing.layout.none, tokensJson.semantic.border.radius.xs, function (props) {
1132
1202
  return props.$disabled ? 'not-allowed' : 'pointer';
1133
- }, tokensJson.semantic.motion.hover, tokensJson.semantic.color.background['hover-overlay'], tokensJson.semantic.color.background['active-overlay'], tokensJson.semantic.color.text.disabled, chip.focus.outline, chip.focus.outlineOffset, chip["default"].borderRadius);
1134
- var templateObject_1$D, templateObject_2$r, templateObject_3$p;
1203
+ }, semantic$f.motion.hover, tokensJson.semantic.color.background['hover-overlay'], tokensJson.semantic.color.background['active-overlay'], tokensJson.semantic.color.text.disabled, chip.focus.outline, semantic$f.border.focusOffset, chip["default"].borderRadius);
1204
+ var templateObject_1$E, templateObject_2$s, templateObject_3$q;
1135
1205
 
1136
1206
  /**
1137
- * Chip - Compact element for displaying tags, categories, and labels
1207
+ * Chip - a static, non-interactive label for tags, categories and metadata.
1138
1208
  *
1139
- * Use this component for static display chips or simple interactive chips.
1140
- * For specialized filtering patterns, use:
1141
- * - FilterChip: Dismissible chips for showing applied filters
1142
- * - BooleanChip: Toggleable chips for quick filter controls
1209
+ * Chips are classified by job (decision 0016):
1210
+ * - Chip: a static label (`default` variant only)
1211
+ * - InputChip: a removable value, such as an applied filter (formerly `FilterChip`)
1212
+ * - BooleanChip: toggles a filter on and off (becomes `FilterChip` in 3.0)
1143
1213
  *
1144
- * Variants:
1145
- * - default: Standard gray background
1146
- * - emphasis: High-contrast dark background
1147
- * - subtle: Light background for secondary info
1148
- * - interactive: Blue background with hover states
1214
+ * The `emphasis`, `subtle`, `interactive`, `light` and `dark` variants and `onClick` are
1215
+ * deprecated and will be removed in 3.0.
1149
1216
  */
1150
1217
  var Chip = function Chip(_a) {
1151
1218
  var children = _a.children,
@@ -1207,22 +1274,22 @@ var LegacyChip = function LegacyChip(_a) {
1207
1274
  };
1208
1275
 
1209
1276
  /**
1210
- * FilterChip - Chip for displaying filters with selected state and optional dismissal
1277
+ * InputChip - A removable value, such as an applied filter, with an optional selected state
1211
1278
  *
1212
- * Use this component to show filters that can be selected/deselected.
1213
- * When selected, displays a checkmark and light blue background.
1279
+ * Use this component to show values the user has entered or applied, such as filters.
1280
+ * When selected, displays a checkmark on the light-blue selected treatment (decision 0016).
1281
+ * A selected disabled chip uses the disabled colours and keeps its checkmark.
1214
1282
  * Optionally dismissible when onDismiss is provided.
1215
1283
  *
1216
1284
  * Features:
1217
1285
  * - Shows checkmark icon when selected
1218
- * - Light blue background when selected
1286
+ * - Light-blue fill and blue text when selected and enabled; disabled colours when disabled
1219
1287
  * - Optional close (×) button when onDismiss is provided
1220
1288
  * - Keyboard dismissal with Delete or Backspace keys (when dismissible)
1221
1289
  * - Non-clickable body (only close button is interactive when present)
1222
- * - Uses subtle/interactive background styling based on selected state
1223
1290
  * - Announces as "status" to screen readers
1224
1291
  */
1225
- var FilterChip = function FilterChip(_a) {
1292
+ var InputChip = function InputChip(_a) {
1226
1293
  var children = _a.children,
1227
1294
  _b = _a.selected,
1228
1295
  selected = _b === void 0 ? false : _b,
@@ -1275,7 +1342,8 @@ var FilterChip = function FilterChip(_a) {
1275
1342
  "aria-hidden": "true",
1276
1343
  children: jsx(Icon, {
1277
1344
  name: "check",
1278
- size: "sm"
1345
+ size: "sm",
1346
+ iconColor: "inherit"
1279
1347
  })
1280
1348
  }), children, isDismissible && jsx(CloseButton, {
1281
1349
  type: "button",
@@ -1288,12 +1356,22 @@ var FilterChip = function FilterChip(_a) {
1288
1356
  "data-testid": dataTestId ? "".concat(dataTestId, "-close") : undefined,
1289
1357
  children: jsx(Icon, {
1290
1358
  name: "close",
1291
- size: "sm"
1359
+ size: "sm",
1360
+ iconColor: "inherit"
1292
1361
  })
1293
1362
  })]
1294
1363
  }));
1295
1364
  };
1296
1365
 
1366
+ /**
1367
+ * FilterChip - a removable chip with an optional selected state.
1368
+ *
1369
+ * @deprecated Renamed to `InputChip`; in 3.0 `FilterChip` becomes the toggle chip (today's
1370
+ * `BooleanChip`). Replace `FilterChip` with `InputChip` first, then `BooleanChip` with
1371
+ * `FilterChip` when you upgrade to 3.0 (decision 0016).
1372
+ */
1373
+ var FilterChip = InputChip;
1374
+
1297
1375
  /**
1298
1376
  * BooleanChip - Toggleable chip for quick filter controls
1299
1377
  *
@@ -1306,7 +1384,11 @@ var FilterChip = function FilterChip(_a) {
1306
1384
  * - Entire chip is clickable to toggle
1307
1385
  * - Keyboard activation with Space or Enter
1308
1386
  * - Uses checkbox role with aria-checked
1309
- * - Visual background change when selected
1387
+ * - Light-blue fill and blue text when selected and enabled; disabled colours when disabled
1388
+ *
1389
+ * @deprecated Becomes `FilterChip` in 3.0, with the same props. Keep using `BooleanChip`
1390
+ * until you upgrade; in 3.0, replace `FilterChip` with `InputChip` first, then
1391
+ * `BooleanChip` with `FilterChip` (decision 0016).
1310
1392
  */
1311
1393
  var BooleanChip = function BooleanChip(_a) {
1312
1394
  var children = _a.children,
@@ -1352,17 +1434,18 @@ var BooleanChip = function BooleanChip(_a) {
1352
1434
  "aria-hidden": "true",
1353
1435
  children: jsx(Icon, {
1354
1436
  name: "check",
1355
- size: "sm"
1437
+ size: "sm",
1438
+ iconColor: "inherit"
1356
1439
  })
1357
1440
  }), children]
1358
1441
  }));
1359
1442
  };
1360
1443
 
1361
- var spacing$6 = tokensJson.semantic.spacing;
1444
+ var spacing$8 = tokensJson.semantic.spacing;
1362
1445
  var StyledContainer$2 = styled.div.withConfig({
1363
1446
  displayName: "Container__StyledContainer",
1364
1447
  componentId: "sc-17dbj6n-0"
1365
- })(templateObject_1$C || (templateObject_1$C = __makeTemplateObject(["\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: ", ";\n padding-right: ", ";\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n"], ["\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: ", ";\n padding-right: ", ";\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n"])), spacing$6.layout['2xl'], spacing$6.layout['2xl'], media$1.sm, breakpoints$1.sm, media$1.md, breakpoints$1.md, media$1.lg, breakpoints$1.lg, media$1.xl, breakpoints$1.xl, media$1['2xl'], breakpoints$1['2xl']);
1448
+ })(templateObject_1$D || (templateObject_1$D = __makeTemplateObject(["\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: ", ";\n padding-right: ", ";\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n"], ["\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: ", ";\n padding-right: ", ";\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n \n ", " {\n max-width: ", ";\n }\n"])), spacing$8.layout['2xl'], spacing$8.layout['2xl'], media$1.sm, breakpoints$1.sm, media$1.md, breakpoints$1.md, media$1.lg, breakpoints$1.lg, media$1.xl, breakpoints$1.xl, media$1['2xl'], breakpoints$1['2xl']);
1366
1449
  var Container$1 = function Container(_a) {
1367
1450
  var children = _a.children,
1368
1451
  props = __rest(_a, ["children"]);
@@ -1370,24 +1453,24 @@ var Container$1 = function Container(_a) {
1370
1453
  children: children
1371
1454
  }));
1372
1455
  };
1373
- var templateObject_1$C;
1456
+ var templateObject_1$D;
1374
1457
 
1375
1458
  var PictureWrapper = styled.div.withConfig({
1376
1459
  displayName: "Picture__PictureWrapper",
1377
1460
  componentId: "sc-11d9tei-0"
1378
- })(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n margin: 0 auto;\n \n ", " {\n margin-left: 0;\n margin-right: 0;\n }\n"], ["\n margin: 0 auto;\n \n ", " {\n margin-left: 0;\n margin-right: 0;\n }\n"])), media$1.sm);
1461
+ })(templateObject_1$C || (templateObject_1$C = __makeTemplateObject(["\n margin: 0 auto;\n \n ", " {\n margin-left: 0;\n margin-right: 0;\n }\n"], ["\n margin: 0 auto;\n \n ", " {\n margin-left: 0;\n margin-right: 0;\n }\n"])), media$1.sm);
1379
1462
  var ImageLink = styled.a.withConfig({
1380
1463
  displayName: "Picture__ImageLink",
1381
1464
  componentId: "sc-11d9tei-1"
1382
- })(templateObject_2$q || (templateObject_2$q = __makeTemplateObject(["\n display: block;\n cursor: pointer;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"], ["\n display: block;\n cursor: pointer;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"])), tokensJson.semantic.motion.duration.normal, tokensJson.semantic.motion.easing.easeInOut);
1465
+ })(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n display: block;\n cursor: pointer;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"], ["\n display: block;\n cursor: pointer;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"])), tokensJson.semantic.motion.duration.normal, tokensJson.semantic.motion.easing.easeInOut);
1383
1466
  var ImageButton = styled.button.withConfig({
1384
1467
  displayName: "Picture__ImageButton",
1385
1468
  componentId: "sc-11d9tei-2"
1386
- })(templateObject_3$o || (templateObject_3$o = __makeTemplateObject(["\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n display: block;\n width: 100%;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"], ["\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n display: block;\n width: 100%;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"])), tokensJson.semantic.motion.duration.normal, tokensJson.semantic.motion.easing.easeInOut);
1469
+ })(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n display: block;\n width: 100%;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"], ["\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n display: block;\n width: 100%;\n transition: opacity ", " ", ";\n \n &:hover {\n opacity: 0.8;\n }\n"])), tokensJson.semantic.motion.duration.normal, tokensJson.semantic.motion.easing.easeInOut);
1387
1470
  var StyledImage = styled.img.withConfig({
1388
1471
  displayName: "Picture__StyledImage",
1389
1472
  componentId: "sc-11d9tei-3"
1390
- })(templateObject_4$k || (templateObject_4$k = __makeTemplateObject(["\n width: 100%;\n height: auto;\n border-radius: ", ";\n display: block;\n"], ["\n width: 100%;\n height: auto;\n border-radius: ", ";\n display: block;\n"])), tokensJson.semantic.border.radius.sm);
1473
+ })(templateObject_4$l || (templateObject_4$l = __makeTemplateObject(["\n width: 100%;\n height: auto;\n border-radius: ", ";\n display: block;\n"], ["\n width: 100%;\n height: auto;\n border-radius: ", ";\n display: block;\n"])), tokensJson.semantic.border.radius.sm);
1391
1474
  var Picture = function Picture(_a) {
1392
1475
  var title = _a.title,
1393
1476
  src = _a.src,
@@ -1417,18 +1500,18 @@ var Picture = function Picture(_a) {
1417
1500
  }) : image
1418
1501
  });
1419
1502
  };
1420
- var templateObject_1$B, templateObject_2$q, templateObject_3$o, templateObject_4$k;
1503
+ var templateObject_1$C, templateObject_2$r, templateObject_3$p, templateObject_4$l;
1421
1504
 
1422
1505
  var _a$9 = tokensJson.semantic,
1423
- typography = _a$9.typography,
1424
- color$6 = _a$9.color;
1506
+ typography$1 = _a$9.typography,
1507
+ color$7 = _a$9.color;
1425
1508
  var TimeStyled = styled.time.withConfig({
1426
1509
  displayName: "DateFormatter__TimeStyled",
1427
1510
  componentId: "sc-5464cc-0"
1428
- })(templateObject_1$A || (templateObject_1$A = __makeTemplateObject(["\n font: ", ";\n color: ", ";\n"], ["\n font: ", ";\n color: ", ";\n"
1511
+ })(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n font: ", ";\n color: ", ";\n"], ["\n font: ", ";\n color: ", ";\n"
1429
1512
  /**
1430
1513
  * Formats a date with smart relative/absolute logic
1431
- */])), typography.label, color$6.text.subdued);
1514
+ */])), typography$1.label, color$7.text.subdued);
1432
1515
  /**
1433
1516
  * Formats a date with smart relative/absolute logic
1434
1517
  */
@@ -1474,43 +1557,67 @@ var DateFormatter = function DateFormatter(_a) {
1474
1557
  children: displayText
1475
1558
  });
1476
1559
  };
1477
- var templateObject_1$A;
1560
+ var templateObject_1$B;
1478
1561
 
1479
- var motion$5 = tokensJson.semantic.motion,
1480
- _a$8 = tokensJson.component,
1481
- iconButton = _a$8.iconButton,
1482
- button = _a$8.button;
1562
+ var _a$8 = tokensJson.semantic,
1563
+ motion$5 = _a$8.motion,
1564
+ border$8 = _a$8.border,
1565
+ spacing$7 = _a$8.spacing,
1566
+ _b$1 = tokensJson.component,
1567
+ iconButton = _b$1.iconButton,
1568
+ button = _b$1.button;
1569
+ // Padding comes from the semantic spacing scale: no component spacing tokens (decision 0022)
1570
+ var padding = {
1571
+ small: spacing$7.component.xs,
1572
+ medium: spacing$7.component.sm,
1573
+ large: spacing$7.component.md
1574
+ };
1575
+ // Colours and motion come from Button's tokens, so IconButton's variants look and behave exactly like
1576
+ // Button's in every state (#130). Only the size and the icon differ
1577
+ var variants = {
1578
+ primary: {
1579
+ bg: button.primary.backgroundColor,
1580
+ text: button.primary.textColor,
1581
+ hoverBg: button.hover.backgroundColor,
1582
+ activeBg: button.active.backgroundColor,
1583
+ disabledBg: button.disabled.backgroundColor,
1584
+ disabledText: button.disabled.textColor
1585
+ },
1586
+ secondary: {
1587
+ bg: button.variants.secondary.backgroundColor,
1588
+ text: button.variants.secondary.textColor,
1589
+ hoverBg: button.variants.secondary.hover.backgroundColor,
1590
+ activeBg: button.variants.secondary.active.backgroundColor,
1591
+ disabledBg: button.variants.secondary.disabled.backgroundColor,
1592
+ disabledText: button.variants.secondary.disabled.textColor
1593
+ },
1594
+ naked: {
1595
+ bg: button.variants.naked.backgroundColor,
1596
+ text: button.variants.naked.textColor,
1597
+ hoverBg: button.variants.naked.hover.backgroundColor,
1598
+ activeBg: button.variants.naked.active.backgroundColor,
1599
+ disabledBg: button.variants.naked.disabled.backgroundColor,
1600
+ disabledText: button.variants.naked.disabled.textColor
1601
+ }
1602
+ };
1603
+ // JavaScript callers can pass any string, so an unknown variant falls back to primary, as before
1604
+ var colours = function colours(variant) {
1605
+ var _a;
1606
+ return (_a = variants[variant]) !== null && _a !== void 0 ? _a : variants.primary;
1607
+ };
1483
1608
  var IconButtonStyled = styled.button.withConfig({
1484
1609
  shouldForwardProp: function shouldForwardProp(prop) {
1485
1610
  return !prop.startsWith('$');
1486
1611
  },
1487
1612
  displayName: "IconButton__IconButtonStyled",
1488
1613
  componentId: "sc-k8b14t-0"
1489
- })(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n background-color: ", ";\n color: ", ";\n border: none;\n border-radius: ", ";\n transition: ", ";\n box-sizing: border-box;\n display: ", ";\n justify-content: ", ";\n align-items: ", ";\n height: max-content;\n cursor: pointer;\n position: relative;\n\n /* Size-specific dimensions from component tokens */\n min-width: ", ";\n min-height: ", ";\n padding: ", ";\n\n &:hover:not(:disabled) {\n background-color: ", ";\n }\n\n &:active:not(:disabled) {\n background-color: ", ";\n }\n\n &:focus {\n outline: ", ";\n outline-offset: ", ";\n }\n\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n\n /* High contrast mode support */\n @media (prefers-contrast: high) {\n border: ", " solid;\n }\n\n /* Reduced motion support */\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n"], ["\n background-color: ", ";\n color: ", ";\n border: none;\n border-radius: ", ";\n transition: ", ";\n box-sizing: border-box;\n display: ", ";\n justify-content: ", ";\n align-items: ", ";\n height: max-content;\n cursor: pointer;\n position: relative;\n\n /* Size-specific dimensions from component tokens */\n min-width: ", ";\n min-height: ", ";\n padding: ", ";\n\n &:hover:not(:disabled) {\n background-color: ", ";\n }\n\n &:active:not(:disabled) {\n background-color: ", ";\n }\n\n &:focus {\n outline: ", ";\n outline-offset: ", ";\n }\n\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n\n /* High contrast mode support */\n @media (prefers-contrast: high) {\n border: ", " solid;\n }\n\n /* Reduced motion support */\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n"])), function (_a) {
1614
+ })(templateObject_1$A || (templateObject_1$A = __makeTemplateObject(["\n background-color: ", ";\n color: ", ";\n border: none;\n border-radius: ", ";\n transition: ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n height: max-content;\n cursor: pointer;\n position: relative;\n\n /* Size-specific dimensions from component tokens */\n min-width: ", ";\n min-height: ", ";\n padding: ", ";\n\n &:hover:not(:disabled) {\n background-color: ", ";\n }\n\n &:active:not(:disabled) {\n background-color: ", ";\n }\n\n &:focus {\n outline: ", ";\n outline-offset: ", ";\n }\n\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n"], ["\n background-color: ", ";\n color: ", ";\n border: none;\n border-radius: ", ";\n transition: ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n height: max-content;\n cursor: pointer;\n position: relative;\n\n /* Size-specific dimensions from component tokens */\n min-width: ", ";\n min-height: ", ";\n padding: ", ";\n\n &:hover:not(:disabled) {\n background-color: ", ";\n }\n\n &:active:not(:disabled) {\n background-color: ", ";\n }\n\n &:focus {\n outline: ", ";\n outline-offset: ", ";\n }\n\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n"])), function (_a) {
1490
1615
  var $variant = _a.$variant;
1491
- switch ($variant) {
1492
- case 'primary':
1493
- return iconButton.primary.backgroundColor;
1494
- case 'secondary':
1495
- return iconButton.variants.secondary.backgroundColor;
1496
- case 'naked':
1497
- return iconButton.variants.naked.backgroundColor;
1498
- default:
1499
- return iconButton.primary.backgroundColor;
1500
- }
1616
+ return colours($variant).bg;
1501
1617
  }, function (_a) {
1502
1618
  var $variant = _a.$variant;
1503
- switch ($variant) {
1504
- case 'primary':
1505
- return button.primary.textColor;
1506
- case 'secondary':
1507
- return button.variants.secondary.textColor;
1508
- case 'naked':
1509
- return button.variants.naked.textColor;
1510
- default:
1511
- return button.primary.textColor;
1512
- }
1513
- }, iconButton.primary.borderRadius, motion$5.transition.normal, iconButton.primary.display, iconButton.primary.justifyContent, iconButton.primary.alignItems, function (_a) {
1619
+ return colours($variant).text;
1620
+ }, iconButton.primary.borderRadius, motion$5.hover, function (_a) {
1514
1621
  var $size = _a.$size;
1515
1622
  return iconButton.sizes[$size].minWidth;
1516
1623
  }, function (_a) {
@@ -1518,32 +1625,20 @@ var IconButtonStyled = styled.button.withConfig({
1518
1625
  return iconButton.sizes[$size].minHeight;
1519
1626
  }, function (_a) {
1520
1627
  var $size = _a.$size;
1521
- return iconButton.sizes[$size].padding;
1628
+ return padding[$size];
1522
1629
  }, function (_a) {
1523
1630
  var $variant = _a.$variant;
1524
- switch ($variant) {
1525
- case 'primary':
1526
- return iconButton.hover.backgroundColor;
1527
- case 'secondary':
1528
- return iconButton.variants.secondary.hover.backgroundColor;
1529
- case 'naked':
1530
- return iconButton.variants.naked.hover.backgroundColor;
1531
- default:
1532
- return iconButton.hover.backgroundColor;
1533
- }
1534
- }, iconButton.active.backgroundColor, iconButton.focus.outline, iconButton.focus.outlineOffset, iconButton.disabled.backgroundColor, function (_a) {
1631
+ return colours($variant).hoverBg;
1632
+ }, function (_a) {
1535
1633
  var $variant = _a.$variant;
1536
- switch ($variant) {
1537
- case 'primary':
1538
- return button.disabled.textColor;
1539
- case 'secondary':
1540
- return button.variants.secondary.disabled.textColor;
1541
- case 'naked':
1542
- return button.variants.naked.disabled.textColor;
1543
- default:
1544
- return button.disabled.textColor;
1545
- }
1546
- }, tokensJson.semantic.border.width.thin);
1634
+ return colours($variant).activeBg;
1635
+ }, iconButton.focus.outline, border$8.focusOffset, function (_a) {
1636
+ var $variant = _a.$variant;
1637
+ return colours($variant).disabledBg;
1638
+ }, function (_a) {
1639
+ var $variant = _a.$variant;
1640
+ return colours($variant).disabledText;
1641
+ });
1547
1642
  var IconButton = function IconButton(_a) {
1548
1643
  var variant = _a.variant,
1549
1644
  _b = _a.size,
@@ -1594,7 +1689,7 @@ var IconButton = function IconButton(_a) {
1594
1689
  })
1595
1690
  }));
1596
1691
  };
1597
- var templateObject_1$z;
1692
+ var templateObject_1$A;
1598
1693
 
1599
1694
  var StyledWrapper = styled.span.withConfig({
1600
1695
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -1602,7 +1697,7 @@ var StyledWrapper = styled.span.withConfig({
1602
1697
  },
1603
1698
  displayName: "MoneyDisplay__StyledWrapper",
1604
1699
  componentId: "sc-1mddej3-0"
1605
- })(templateObject_1$y || (templateObject_1$y = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n text-align: ", ";\n font-weight: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n text-align: ", ";\n font-weight: ", ";\n"
1700
+ })(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n text-align: ", ";\n font-weight: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n text-align: ", ";\n font-weight: ", ";\n"
1606
1701
  // Map size to Typography variant
1607
1702
  ])), function (_a) {
1608
1703
  var $align = _a.$align;
@@ -1705,14 +1800,14 @@ var MoneyDisplay = function MoneyDisplay(_a) {
1705
1800
  })]
1706
1801
  });
1707
1802
  };
1708
- var templateObject_1$y;
1803
+ var templateObject_1$z;
1709
1804
 
1710
1805
  // Destructure tokens
1711
- var semantic$c = tokensJson.semantic;
1712
- var _a$7 = __assign(__assign({}, semantic$c), {
1806
+ var semantic$e = tokensJson.semantic;
1807
+ var _a$7 = __assign(__assign({}, semantic$e), {
1713
1808
  component: tokensJson.component
1714
1809
  }),
1715
- color$5 = _a$7.color,
1810
+ color$6 = _a$7.color,
1716
1811
  border$7 = _a$7.border,
1717
1812
  motion$4 = _a$7.motion,
1718
1813
  component$2 = _a$7.component;
@@ -1723,10 +1818,10 @@ var ProgressBarContainer = styled.div.withConfig({
1723
1818
  },
1724
1819
  displayName: "ProgressBar__ProgressBarContainer",
1725
1820
  componentId: "sc-1nco33q-0"
1726
- })(templateObject_3$n || (templateObject_3$n = __makeTemplateObject(["\n background-color: ", ";\n border-radius: ", ";\n overflow: hidden;\n\n ", "\n\n ", "\n"], ["\n background-color: ", ";\n border-radius: ", ";\n overflow: hidden;\n\n ", "\n\n ", "\n"])), color$5.background.disabled, radius$2.xs, function (props) {
1727
- return props.$variant === 'horizontal' && css(templateObject_1$x || (templateObject_1$x = __makeTemplateObject(["\n width: 100%;\n height: ", ";\n "], ["\n width: 100%;\n height: ", ";\n "])), props.$height ? component$2.progressBar.sizes[props.$height].height : component$2.progressBar.sizes.md.height);
1821
+ })(templateObject_3$o || (templateObject_3$o = __makeTemplateObject(["\n background-color: ", ";\n border-radius: ", ";\n overflow: hidden;\n\n ", "\n\n ", "\n"], ["\n background-color: ", ";\n border-radius: ", ";\n overflow: hidden;\n\n ", "\n\n ", "\n"])), color$6.background.disabled, radius$2.xs, function (props) {
1822
+ return props.$variant === 'horizontal' && css(templateObject_1$y || (templateObject_1$y = __makeTemplateObject(["\n width: 100%;\n height: ", ";\n "], ["\n width: 100%;\n height: ", ";\n "])), props.$height ? component$2.progressBar.sizes[props.$height].height : component$2.progressBar.sizes.md.height);
1728
1823
  }, function (props) {
1729
- return props.$variant === 'vertical' && css(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n width: ", ";\n height: 100%;\n "], ["\n width: ", ";\n height: 100%;\n "])), props.$width ? component$2.progressBar.sizes[props.$width].height : component$2.progressBar.sizes.md.height);
1824
+ return props.$variant === 'vertical' && css(templateObject_2$q || (templateObject_2$q = __makeTemplateObject(["\n width: ", ";\n height: 100%;\n "], ["\n width: ", ";\n height: 100%;\n "])), props.$width ? component$2.progressBar.sizes[props.$width].height : component$2.progressBar.sizes.md.height);
1730
1825
  });
1731
1826
  var ProgressBarFill = styled.div.withConfig({
1732
1827
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -1738,17 +1833,17 @@ var ProgressBarFill = styled.div.withConfig({
1738
1833
  var backgroundColor;
1739
1834
  switch (props.$color) {
1740
1835
  case 'success':
1741
- backgroundColor = color$5.background.success;
1836
+ backgroundColor = color$6.background.success;
1742
1837
  break;
1743
1838
  case 'error':
1744
- backgroundColor = color$5.background.error;
1839
+ backgroundColor = color$6.background.error;
1745
1840
  break;
1746
1841
  case 'default':
1747
1842
  default:
1748
- backgroundColor = color$5.background.interactive;
1843
+ backgroundColor = color$6.background.interactive;
1749
1844
  break;
1750
1845
  }
1751
- return css(templateObject_4$j || (templateObject_4$j = __makeTemplateObject(["background-color: ", ";"], ["background-color: ", ";"])), backgroundColor);
1846
+ return css(templateObject_4$k || (templateObject_4$k = __makeTemplateObject(["background-color: ", ";"], ["background-color: ", ";"])), backgroundColor);
1752
1847
  }, function (props) {
1753
1848
  return props.$variant === 'horizontal' && css(templateObject_5$g || (templateObject_5$g = __makeTemplateObject(["\n width: ", "%;\n "], ["\n width: ", "%;\n "])), Math.min(100, Math.max(0, props.$value)));
1754
1849
  }, function (props) {
@@ -1786,10 +1881,11 @@ var ProgressBar = function ProgressBar(_a) {
1786
1881
  })
1787
1882
  });
1788
1883
  };
1789
- var templateObject_1$x, templateObject_2$p, templateObject_3$n, templateObject_4$j, templateObject_5$g, templateObject_6$c, templateObject_7$a;
1884
+ var templateObject_1$y, templateObject_2$q, templateObject_3$o, templateObject_4$k, templateObject_5$g, templateObject_6$c, templateObject_7$a;
1790
1885
 
1791
1886
  // Destructure tokens for cleaner access
1792
1887
  var separatorTokens = tokensJson.component.separator;
1888
+ // Margins come from the semantic separator spacing: no component spacing tokens (decision 0022)
1793
1889
  var separatorSpacing = tokensJson.semantic.spacing.separator;
1794
1890
  var StyledDivider = styled.div.withConfig({
1795
1891
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -1797,7 +1893,7 @@ var StyledDivider = styled.div.withConfig({
1797
1893
  },
1798
1894
  displayName: "Divider__StyledDivider",
1799
1895
  componentId: "sc-1l0c8ja-0"
1800
- })(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n border: none;\n \n /* Apply orientation */\n ", "\n \n /* Apply variant styles */\n ", "\n \n /* Apply size styles (spacing) */\n ", "\n"], ["\n border: none;\n \n /* Apply orientation */\n ", "\n \n /* Apply variant styles */\n ", "\n \n /* Apply size styles (spacing) */\n ", "\n"
1896
+ })(templateObject_1$x || (templateObject_1$x = __makeTemplateObject(["\n border: none;\n \n /* Apply orientation */\n ", "\n \n /* Apply variant styles */\n ", "\n \n /* Apply size styles (spacing) */\n ", "\n"], ["\n border: none;\n \n /* Apply orientation */\n ", "\n \n /* Apply variant styles */\n ", "\n \n /* Apply size styles (spacing) */\n ", "\n"
1801
1897
  /**
1802
1898
  * Divider is an atomic component that provides visual separation between content sections.
1803
1899
  *
@@ -1846,7 +1942,7 @@ var StyledDivider = styled.div.withConfig({
1846
1942
  $orientation = _d === void 0 ? 'horizontal' : _d;
1847
1943
  if ($variant === 'minimal' && $orientation === 'horizontal') {
1848
1944
  // Minimal variant always uses its predefined spacing for horizontal
1849
- return "margin: ".concat(separatorTokens.variants.minimal.margin, ";");
1945
+ return "margin: ".concat(separatorSpacing.md, " 0;");
1850
1946
  }
1851
1947
  if ($orientation === 'vertical') {
1852
1948
  // Vertical orientation uses horizontal margins (left/right)
@@ -1865,14 +1961,14 @@ var StyledDivider = styled.div.withConfig({
1865
1961
  // Horizontal orientation uses vertical margins (top/bottom)
1866
1962
  switch ($size) {
1867
1963
  case 'small':
1868
- return "margin: ".concat(separatorTokens.sizes.small.margin, ";");
1964
+ return "margin: ".concat(separatorSpacing.sm, " 0;");
1869
1965
  case 'medium':
1870
- return "margin: ".concat(separatorTokens.sizes.medium.margin, ";");
1966
+ return "margin: ".concat(separatorSpacing.md, " 0;");
1871
1967
  case 'xlarge':
1872
- return "margin: ".concat(separatorTokens.sizes.xlarge.margin, ";");
1968
+ return "margin: ".concat(separatorSpacing.xl, " 0;");
1873
1969
  case 'large':
1874
1970
  default:
1875
- return "margin: ".concat(separatorTokens.sizes.large.margin, ";");
1971
+ return "margin: ".concat(separatorSpacing.lg, " 0;");
1876
1972
  }
1877
1973
  });
1878
1974
  /**
@@ -1910,7 +2006,7 @@ var Divider = function Divider(_a) {
1910
2006
  "aria-orientation": orientation
1911
2007
  });
1912
2008
  };
1913
- var templateObject_1$w;
2009
+ var templateObject_1$x;
1914
2010
 
1915
2011
  var StyledStack = styled.div.withConfig({
1916
2012
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -1918,7 +2014,7 @@ var StyledStack = styled.div.withConfig({
1918
2014
  },
1919
2015
  displayName: "Stack__StyledStack",
1920
2016
  componentId: "sc-1ehkxgy-0"
1921
- })(templateObject_1$v || (templateObject_1$v = __makeTemplateObject(["\n display: flex;\n flex-direction: var(--stack-direction);\n align-items: var(--stack-align-items);\n justify-content: var(--stack-justify-content);\n gap: var(--stack-gap);\n flex-wrap: var(--stack-wrap);\n"], ["\n display: flex;\n flex-direction: var(--stack-direction);\n align-items: var(--stack-align-items);\n justify-content: var(--stack-justify-content);\n gap: var(--stack-gap);\n flex-wrap: var(--stack-wrap);\n"
2017
+ })(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n display: flex;\n flex-direction: var(--stack-direction);\n align-items: var(--stack-align-items);\n justify-content: var(--stack-justify-content);\n gap: var(--stack-gap);\n flex-wrap: var(--stack-wrap);\n"], ["\n display: flex;\n flex-direction: var(--stack-direction);\n align-items: var(--stack-align-items);\n justify-content: var(--stack-justify-content);\n gap: var(--stack-gap);\n flex-wrap: var(--stack-wrap);\n"
1922
2018
  // Helper function to convert gap prop to CSS value
1923
2019
  ])));
1924
2020
  // Helper function to convert gap prop to CSS value
@@ -1957,18 +2053,19 @@ var Stack = function Stack(_a) {
1957
2053
  children: children
1958
2054
  });
1959
2055
  };
1960
- var templateObject_1$v;
2056
+ var templateObject_1$w;
1961
2057
 
1962
2058
  // Destructure tokens for cleaner access
1963
2059
  var statusColors = tokensJson.semantic.color.status;
1964
- var spacing$5 = tokensJson.semantic.spacing.layout;
2060
+ var spacing$6 = tokensJson.semantic.spacing.layout;
1965
2061
  var radius$1 = tokensJson.semantic.border.radius;
1966
2062
  var _a$6 = tokensJson.semantic.motion,
1967
2063
  transition = _a$6.transition,
1968
2064
  duration$3 = _a$6.duration,
1969
2065
  easing$3 = _a$6.easing;
2066
+ var labelHeight = tokensJson.semantic.size.label;
1970
2067
  var label$1 = tokensJson.component.badge.label;
1971
- var scaleIn$1 = keyframes(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n"], ["\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n"])));
2068
+ var scaleIn$1 = keyframes(templateObject_1$v || (templateObject_1$v = __makeTemplateObject(["\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n"], ["\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n"])));
1972
2069
  var getStatusConfig = function getStatusConfig(status) {
1973
2070
  var configs = {
1974
2071
  pending: {
@@ -2013,31 +2110,31 @@ var getStatusConfig = function getStatusConfig(status) {
2013
2110
  return configs[status];
2014
2111
  };
2015
2112
  // Size configuration
2016
- var sizeConfig = {
2113
+ var sizeConfig$1 = {
2017
2114
  small: {
2018
- height: '20px',
2019
- padding: "".concat(spacing$5.xs, " ").concat(spacing$5.sm),
2115
+ height: labelHeight.small,
2116
+ padding: "".concat(spacing$6.xs, " ").concat(spacing$6.sm),
2020
2117
  font: label$1.typography.small,
2021
- gap: spacing$5.xs,
2118
+ gap: spacing$6.xs,
2022
2119
  iconSize: 'xs'
2023
2120
  },
2024
2121
  medium: {
2025
- height: '24px',
2026
- padding: "".concat(spacing$5.xs, " ").concat(spacing$5.sm),
2122
+ height: labelHeight.medium,
2123
+ padding: "".concat(spacing$6.xs, " ").concat(spacing$6.sm),
2027
2124
  font: label$1.typography.medium,
2028
- gap: spacing$5.xs,
2125
+ gap: spacing$6.xs,
2029
2126
  iconSize: 'sm'
2030
2127
  }
2031
2128
  };
2032
- var StyledStatusBadge = styled.span.withConfig({
2129
+ var StyledStatusLabel = styled.span.withConfig({
2033
2130
  shouldForwardProp: function shouldForwardProp(prop) {
2034
2131
  return !prop.startsWith('$');
2035
2132
  },
2036
- displayName: "StatusBadge__StyledStatusBadge",
2037
- componentId: "sc-1paksgb-0"
2038
- })(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n animation: ", " ", " ", ";\n transition: ", ";\n\n /* transition.fast covers all properties, so a size change would animate the badge's dimensions */\n ", " {\n animation: none;\n transition: none;\n }\n \n /* Size styles */\n ", "\n \n /* Status color styles */\n ", "\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n animation: ", " ", " ", ";\n transition: ", ";\n\n /* transition.fast covers all properties, so a size change would animate the badge's dimensions */\n ", " {\n animation: none;\n transition: none;\n }\n \n /* Size styles */\n ", "\n \n /* Status color styles */\n ", "\n"])), radius$1.circle, scaleIn$1, duration$3.normal, easing$3.easeOut, transition.fast, reducedMotion, function (_a) {
2133
+ displayName: "StatusLabelBase__StyledStatusLabel",
2134
+ componentId: "sc-1ye9xz5-0"
2135
+ })(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n box-sizing: border-box; /* the height includes padding, without relying on a global reset */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n animation: ", " ", " ", ";\n transition: ", ";\n\n /* transition.fast covers all properties, so a size change would animate the label's dimensions */\n ", " {\n animation: none;\n transition: none;\n }\n \n /* Size styles */\n ", "\n \n /* Status color styles */\n ", "\n"], ["\n box-sizing: border-box; /* the height includes padding, without relying on a global reset */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n white-space: nowrap;\n user-select: none;\n animation: ", " ", " ", ";\n transition: ", ";\n\n /* transition.fast covers all properties, so a size change would animate the label's dimensions */\n ", " {\n animation: none;\n transition: none;\n }\n \n /* Size styles */\n ", "\n \n /* Status color styles */\n ", "\n"])), radius$1.circle, scaleIn$1, duration$3.normal, easing$3.easeOut, transition.fast, reducedMotion, function (_a) {
2039
2136
  var $size = _a.$size;
2040
- var size = sizeConfig[$size];
2137
+ var size = sizeConfig$1[$size];
2041
2138
  return "\n height: ".concat(size.height, ";\n padding: ").concat(size.padding, ";\n font: ").concat(size.font, ";\n font-weight: ").concat(label$1.fontWeight, ";\n gap: ").concat(size.gap, ";\n ");
2042
2139
  }, function (_a) {
2043
2140
  var $status = _a.$status;
@@ -2045,56 +2142,29 @@ var StyledStatusBadge = styled.span.withConfig({
2045
2142
  return "\n background-color: ".concat(config.bgColor, ";\n color: ").concat(config.color, ";\n ");
2046
2143
  });
2047
2144
  var ScreenReaderOnly = styled.span.withConfig({
2048
- displayName: "StatusBadge__ScreenReaderOnly",
2049
- componentId: "sc-1paksgb-1"
2050
- })(templateObject_3$m || (templateObject_3$m = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"
2145
+ displayName: "StatusLabelBase__ScreenReaderOnly",
2146
+ componentId: "sc-1ye9xz5-1"
2147
+ })(templateObject_3$n || (templateObject_3$n = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"
2148
+ // The visible content, hidden from assistive technology when an aria-label replaces it.
2149
+ // display: contents keeps the root's flex layout and gap.
2150
+ ])), visuallyHidden);
2151
+ // The visible content, hidden from assistive technology when an aria-label replaces it.
2152
+ // display: contents keeps the root's flex layout and gap.
2153
+ var VisibleContent = styled.span.withConfig({
2154
+ displayName: "StatusLabelBase__VisibleContent",
2155
+ componentId: "sc-1ye9xz5-2"
2156
+ })(templateObject_4$j || (templateObject_4$j = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"
2051
2157
  /**
2052
- * StatusBadge component for displaying transaction or task status
2053
- *
2054
- * Displays status with appropriate color, icon, and supports live updates for screen readers.
2055
- * Maps to 6 common status types with semantic color tokens.
2056
- *
2057
- * @example
2058
- * ```tsx
2059
- * <StatusBadge status="completed" />
2060
- *
2061
- * <StatusBadge
2062
- * status="pending"
2063
- * label="Awaiting approval"
2064
- * size="small"
2065
- * />
2066
- *
2067
- * <StatusBadge
2068
- * status="failed"
2069
- * showIcon={false}
2070
- * liveRegion={true}
2071
- * />
2072
- * ```
2073
- */])), visuallyHidden);
2158
+ * Shared implementation of StatusLabel and the deprecated StatusBadge. Internal: not exported
2159
+ * from the package. `showIcon` exists only for StatusBadge; StatusLabel always shows the icon
2160
+ * (decision 0018).
2161
+ */])));
2074
2162
  /**
2075
- * StatusBadge component for displaying transaction or task status
2076
- *
2077
- * Displays status with appropriate color, icon, and supports live updates for screen readers.
2078
- * Maps to 6 common status types with semantic color tokens.
2079
- *
2080
- * @example
2081
- * ```tsx
2082
- * <StatusBadge status="completed" />
2083
- *
2084
- * <StatusBadge
2085
- * status="pending"
2086
- * label="Awaiting approval"
2087
- * size="small"
2088
- * />
2089
- *
2090
- * <StatusBadge
2091
- * status="failed"
2092
- * showIcon={false}
2093
- * liveRegion={true}
2094
- * />
2095
- * ```
2163
+ * Shared implementation of StatusLabel and the deprecated StatusBadge. Internal: not exported
2164
+ * from the package. `showIcon` exists only for StatusBadge; StatusLabel always shows the icon
2165
+ * (decision 0018).
2096
2166
  */
2097
- var StatusBadge = function StatusBadge(_a) {
2167
+ var StatusLabelBase = function StatusLabelBase(_a) {
2098
2168
  var status = _a.status,
2099
2169
  label = _a.label,
2100
2170
  _b = _a.size,
@@ -2106,36 +2176,74 @@ var StatusBadge = function StatusBadge(_a) {
2106
2176
  dataTestId = _a["data-testid"],
2107
2177
  ariaLabel = _a["aria-label"];
2108
2178
  var statusConfig = getStatusConfig(status);
2109
- var sizeStyles = sizeConfig[size];
2179
+ var sizeStyles = sizeConfig$1[size];
2110
2180
  var displayLabel = label || statusConfig.label;
2111
- return jsxs(StyledStatusBadge, {
2181
+ // A blank aria-label is no label at all, so it falls back like a missing one
2182
+ var accessibleLabel = (ariaLabel === null || ariaLabel === void 0 ? void 0 : ariaLabel.trim()) ? ariaLabel : undefined;
2183
+ return jsxs(StyledStatusLabel, {
2112
2184
  "$status": status,
2113
2185
  "$size": size,
2114
2186
  role: "status",
2115
- "aria-label": ariaLabel || "Status: ".concat(displayLabel),
2116
- "aria-live": liveRegion ? 'polite' : undefined,
2187
+ "aria-label": accessibleLabel || "Status: ".concat(displayLabel),
2188
+ "aria-live": liveRegion ? 'polite' : 'off',
2117
2189
  "aria-atomic": liveRegion ? 'true' : undefined,
2118
2190
  "data-testid": dataTestId,
2119
- children: [showIcon && jsx(Icon, {
2120
- name: statusConfig.icon,
2121
- size: sizeStyles.iconSize,
2122
- iconColor: "inherit",
2123
- "aria-hidden": "true"
2124
- }), displayLabel, jsxs(ScreenReaderOnly, {
2125
- children: [status, " status"]
2191
+ children: [jsxs(VisibleContent, {
2192
+ "aria-hidden": accessibleLabel ? 'true' : undefined,
2193
+ children: [showIcon && jsx(Icon, {
2194
+ name: statusConfig.icon,
2195
+ size: sizeStyles.iconSize,
2196
+ iconColor: "inherit",
2197
+ "aria-hidden": "true"
2198
+ }), displayLabel, jsxs(ScreenReaderOnly, {
2199
+ children: [status, " status"]
2200
+ })]
2201
+ }), accessibleLabel && jsx(ScreenReaderOnly, {
2202
+ children: accessibleLabel
2126
2203
  })]
2127
2204
  });
2128
2205
  };
2206
+ var templateObject_1$v, templateObject_2$p, templateObject_3$n, templateObject_4$j;
2207
+
2208
+ /**
2209
+ * StatusBadge displays a transaction or task status.
2210
+ *
2211
+ * @deprecated Renamed to `StatusLabel` (same `status`, `size`, `label`, `liveRegion`), which always
2212
+ * shows the icon. StatusBadge is removed in 3.0 (decision 0018).
2213
+ */
2214
+ var StatusBadge = function StatusBadge(props) {
2215
+ return jsx(StatusLabelBase, __assign({}, props));
2216
+ };
2129
2217
  StatusBadge.displayName = 'StatusBadge';
2130
- var templateObject_1$u, templateObject_2$o, templateObject_3$m;
2131
2218
 
2132
- var semantic$b = tokensJson.semantic;
2133
- var color$4 = semantic$b.color,
2134
- spacing$4 = semantic$b.spacing,
2135
- border$6 = semantic$b.border,
2136
- size = semantic$b.size;
2219
+ /**
2220
+ * StatusLabel conveys the status of something, such as a transaction or task (decision 0018).
2221
+ *
2222
+ * Uses only the status colour tokens and always shows an icon with its text, so status is never
2223
+ * conveyed by colour alone. Not interactive. Announces changes politely to screen readers.
2224
+ *
2225
+ * @example
2226
+ * ```tsx
2227
+ * <StatusLabel status="completed" />
2228
+ *
2229
+ * <StatusLabel status="pending" label="Awaiting approval" size="small" />
2230
+ * ```
2231
+ */
2232
+ // showIcon comes last so no caller (for example plain JavaScript) can hide the icon
2233
+ var StatusLabel = function StatusLabel(props) {
2234
+ return jsx(StatusLabelBase, __assign({}, props, {
2235
+ showIcon: true
2236
+ }));
2237
+ };
2238
+ StatusLabel.displayName = 'StatusLabel';
2239
+
2240
+ var semantic$d = tokensJson.semantic;
2241
+ var color$5 = semantic$d.color,
2242
+ spacing$5 = semantic$d.spacing,
2243
+ border$6 = semantic$d.border,
2244
+ size$1 = semantic$d.size;
2137
2245
  var label = tokensJson.component.badge.label;
2138
- var layout$3 = spacing$4.layout;
2246
+ var layout$3 = spacing$5.layout;
2139
2247
  var radius = border$6.radius;
2140
2248
  var StyledTag = styled.span.withConfig({
2141
2249
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -2143,43 +2251,49 @@ var StyledTag = styled.span.withConfig({
2143
2251
  },
2144
2252
  displayName: "Tag__StyledTag",
2145
2253
  componentId: "sc-lzfmti-0"
2146
- })(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n user-select: none;\n white-space: nowrap;\n max-height: ", ";\n \n /* Size - fixed to small */\n padding: ", " ", ";\n font: ", ";\n font-weight: ", ";\n \n /* Variant styles */\n background-color: ", ";\n \n color: ", ";\n \n border: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n user-select: none;\n white-space: nowrap;\n max-height: ", ";\n \n /* Size - fixed to small */\n padding: ", " ", ";\n font: ", ";\n font-weight: ", ";\n \n /* Variant styles */\n background-color: ", ";\n \n color: ", ";\n \n border: ", ";\n"
2254
+ })(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n box-sizing: border-box; /* the height includes padding and border, without relying on a global reset */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n user-select: none;\n white-space: nowrap;\n\n /* Size (decision 0018): small has no vertical padding so the text line fits inside 20px */\n height: ", ";\n padding: ", ";\n font: ", ";\n font-weight: ", ";\n \n /* Variant styles */\n background-color: ", ";\n \n color: ", ";\n \n border: ", ";\n"], ["\n box-sizing: border-box; /* the height includes padding and border, without relying on a global reset */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ", ";\n user-select: none;\n white-space: nowrap;\n\n /* Size (decision 0018): small has no vertical padding so the text line fits inside 20px */\n height: ", ";\n padding: ", ";\n font: ", ";\n font-weight: ", ";\n \n /* Variant styles */\n background-color: ", ";\n \n color: ", ";\n \n border: ", ";\n"
2147
2255
  /**
2148
2256
  * Tag component for categorizing and labeling content
2149
2257
  *
2150
2258
  * A static, non-interactive label used to categorize elements or objects in the UI.
2151
2259
  * Tags help users quickly identify and understand content classification.
2152
- */])), radius.sm, size.icon.lg || '2rem', layout$3.xs, layout$3.sm, label.typography.small, label.fontWeight, function (_a) {
2260
+ */])), radius.sm, function (_a) {
2261
+ var $size = _a.$size;
2262
+ return size$1.label[$size];
2263
+ }, function (_a) {
2264
+ var $size = _a.$size;
2265
+ return $size === 'small' ? "0 ".concat(layout$3.sm) : "".concat(layout$3.xs, " ").concat(layout$3.sm);
2266
+ }, label.typography.small, label.fontWeight, function (_a) {
2153
2267
  var $variant = _a.$variant;
2154
2268
  switch ($variant) {
2155
2269
  case 'interactive':
2156
- return color$4.background['interactive-subtle'];
2270
+ return color$5.background['interactive-subtle'];
2157
2271
  case 'success':
2158
- return color$4.background['success-subtle'];
2272
+ return color$5.background['success-subtle'];
2159
2273
  case 'warning':
2160
- return color$4.background['warning-subtle'];
2274
+ return color$5.background['warning-subtle'];
2161
2275
  case 'error':
2162
- return color$4.background['error-subtle'];
2276
+ return color$5.background['error-subtle'];
2163
2277
  case 'emphasis':
2164
- return color$4.background.emphasis;
2278
+ return color$5.background.emphasis;
2165
2279
  default:
2166
- return color$4.background.surface;
2280
+ return color$5.background.surface;
2167
2281
  }
2168
2282
  }, function (_a) {
2169
2283
  var $variant = _a.$variant;
2170
2284
  switch ($variant) {
2171
2285
  case 'interactive':
2172
- return color$4.text.interactive;
2286
+ return color$5.text.interactive;
2173
2287
  case 'success':
2174
- return color$4.text.success;
2288
+ return color$5.text.success;
2175
2289
  case 'warning':
2176
- return color$4.text.warning;
2290
+ return color$5.text.warning;
2177
2291
  case 'error':
2178
- return color$4.text.error;
2292
+ return color$5.text.error;
2179
2293
  case 'emphasis':
2180
- return color$4.text.inverse;
2294
+ return color$5.text.inverse;
2181
2295
  default:
2182
- return color$4.text["default"];
2296
+ return color$5.text["default"];
2183
2297
  }
2184
2298
  }, function (_a) {
2185
2299
  var $variant = _a.$variant,
@@ -2187,17 +2301,17 @@ var StyledTag = styled.span.withConfig({
2187
2301
  if (!$border) return 'none';
2188
2302
  switch ($variant) {
2189
2303
  case 'interactive':
2190
- return "".concat(semantic$b.border.width.thin, " solid ").concat(color$4.border.interactive);
2304
+ return "".concat(semantic$d.border.width.thin, " solid ").concat(color$5.border.interactive);
2191
2305
  case 'success':
2192
- return "".concat(semantic$b.border.width.thin, " solid ").concat(color$4.border.success);
2306
+ return "".concat(semantic$d.border.width.thin, " solid ").concat(color$5.border.success);
2193
2307
  case 'warning':
2194
- return "".concat(semantic$b.border.width.thin, " solid ").concat(color$4.border.warning);
2308
+ return "".concat(semantic$d.border.width.thin, " solid ").concat(color$5.border.warning);
2195
2309
  case 'error':
2196
- return "".concat(semantic$b.border.width.thin, " solid ").concat(color$4.border.error);
2310
+ return "".concat(semantic$d.border.width.thin, " solid ").concat(color$5.border.error);
2197
2311
  case 'emphasis':
2198
- return "".concat(semantic$b.border.width.thin, " solid ").concat(color$4.background.emphasis);
2312
+ return "".concat(semantic$d.border.width.thin, " solid ").concat(color$5.background.emphasis);
2199
2313
  default:
2200
- return "".concat(semantic$b.border.width.thin, " solid ").concat(color$4.border["default"]);
2314
+ return "".concat(semantic$d.border.width.thin, " solid ").concat(color$5.border["default"]);
2201
2315
  }
2202
2316
  });
2203
2317
  /**
@@ -2212,11 +2326,14 @@ var Tag = function Tag(_a) {
2212
2326
  variant = _b === void 0 ? 'default' : _b,
2213
2327
  _c = _a.border,
2214
2328
  border = _c === void 0 ? true : _c,
2329
+ _d = _a.size,
2330
+ tagSize = _d === void 0 ? 'medium' : _d,
2215
2331
  dataTestId = _a["data-testid"],
2216
- props = __rest(_a, ["children", "variant", "border", 'data-testid']);
2332
+ props = __rest(_a, ["children", "variant", "border", "size", 'data-testid']);
2217
2333
  return jsx(StyledTag, __assign({
2218
2334
  "$variant": variant,
2219
2335
  "$border": border,
2336
+ "$size": tagSize,
2220
2337
  "data-testid": dataTestId,
2221
2338
  "data-variant": variant,
2222
2339
  "data-border": border,
@@ -2226,24 +2343,24 @@ var Tag = function Tag(_a) {
2226
2343
  children: children
2227
2344
  }));
2228
2345
  };
2229
- var templateObject_1$t;
2346
+ var templateObject_1$u;
2230
2347
 
2231
2348
  // Destructure tokens for cleaner access
2232
- var semantic$a = tokensJson.semantic;
2233
- var spacing$3 = semantic$a.spacing;
2234
- var layout$2 = spacing$3.layout;
2349
+ var semantic$c = tokensJson.semantic;
2350
+ var spacing$4 = semantic$c.spacing;
2351
+ var layout$2 = spacing$4.layout;
2235
2352
  var StyledBalanceSection = styled.div.withConfig({
2236
2353
  displayName: "AccountCard__StyledBalanceSection",
2237
2354
  componentId: "sc-1erp7zn-0"
2238
- })(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n margin-bottom: ", ";\n"], ["\n margin-bottom: ", ";\n"])), layout$2.lg);
2355
+ })(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n margin-bottom: ", ";\n"], ["\n margin-bottom: ", ";\n"])), layout$2.lg);
2239
2356
  var StyledTrendSection = styled.div.withConfig({
2240
2357
  displayName: "AccountCard__StyledTrendSection",
2241
2358
  componentId: "sc-1erp7zn-1"
2242
- })(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n"])), layout$2.xs);
2359
+ })(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n"])), layout$2.xs);
2243
2360
  styled.div.withConfig({
2244
2361
  displayName: "AccountCard__StyledActions",
2245
2362
  componentId: "sc-1erp7zn-2"
2246
- })(templateObject_3$l || (templateObject_3$l = __makeTemplateObject(["\n display: flex;\n gap: ", ";\n margin-top: auto;\n"], ["\n display: flex;\n gap: ", ";\n margin-top: auto;\n"])), layout$2.sm);
2363
+ })(templateObject_3$m || (templateObject_3$m = __makeTemplateObject(["\n display: flex;\n gap: ", ";\n margin-top: auto;\n"], ["\n display: flex;\n gap: ", ";\n margin-top: auto;\n"])), layout$2.sm);
2247
2364
  var StyledStackWrapper = styled.div.withConfig({
2248
2365
  displayName: "AccountCard__StyledStackWrapper",
2249
2366
  componentId: "sc-1erp7zn-3"
@@ -2307,7 +2424,7 @@ var AccountCard = function AccountCard(_a) {
2307
2424
  bg: "subtle",
2308
2425
  border: "default",
2309
2426
  borderRadius: "xl",
2310
- transition: "box-shadow ".concat(semantic$a.motion.duration.normal, " ").concat(semantic$a.motion.easing.easeOut),
2427
+ transition: "box-shadow ".concat(semantic$c.motion.duration.normal, " ").concat(semantic$c.motion.easing.easeOut),
2311
2428
  cursor: isClickable ? 'pointer' : 'default',
2312
2429
  hoverShadow: isClickable ? 'floating' : undefined,
2313
2430
  onClick: handleClick,
@@ -2361,8 +2478,8 @@ var AccountCard = function AccountCard(_a) {
2361
2478
  }), trend && trendValue && jsx(StyledTrendSection, {
2362
2479
  "aria-label": "Trend ".concat(trend),
2363
2480
  role: "img",
2364
- children: jsx(CategoryBadge, {
2365
- size: "small",
2481
+ children: jsx(CategoryLabel, {
2482
+ size: "medium",
2366
2483
  icon: trendIcon,
2367
2484
  color: trendColor,
2368
2485
  variant: "minimal",
@@ -2402,10 +2519,10 @@ var AccountCard = function AccountCard(_a) {
2402
2519
  })
2403
2520
  });
2404
2521
  };
2405
- var templateObject_1$s, templateObject_2$n, templateObject_3$l, templateObject_4$i, templateObject_5$f;
2522
+ var templateObject_1$t, templateObject_2$o, templateObject_3$m, templateObject_4$i, templateObject_5$f;
2406
2523
 
2407
- var semantic$9 = tokensJson.semantic;
2408
- var _a$5 = semantic$9.motion,
2524
+ var semantic$b = tokensJson.semantic;
2525
+ var _a$5 = semantic$b.motion,
2409
2526
  duration$2 = _a$5.duration,
2410
2527
  easing$2 = _a$5.easing;
2411
2528
  var StyledListItem = styled.li.withConfig({
@@ -2414,16 +2531,16 @@ var StyledListItem = styled.li.withConfig({
2414
2531
  },
2415
2532
  displayName: "ListItem__StyledListItem",
2416
2533
  componentId: "sc-1wzzt21-0"
2417
- })(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n min-height: ", ";\n position: relative;\n \n /* Disable user selection for interactive items */\n ", "\n \n /* Disabled state */\n ", "\n \n /* Destructive state - apply error color to text */\n ", "\n"], ["\n display: flex;\n flex-direction: column;\n min-height: ", ";\n position: relative;\n \n /* Disable user selection for interactive items */\n ", "\n \n /* Disabled state */\n ", "\n \n /* Destructive state - apply error color to text */\n ", "\n"])), semantic$9.size.touchTarget, function (_a) {
2534
+ })(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n min-height: ", ";\n position: relative;\n \n /* Disable user selection for interactive items */\n ", "\n \n /* Disabled state */\n ", "\n \n /* Destructive state - apply error color to text */\n ", "\n"], ["\n display: flex;\n flex-direction: column;\n min-height: ", ";\n position: relative;\n \n /* Disable user selection for interactive items */\n ", "\n \n /* Disabled state */\n ", "\n \n /* Destructive state - apply error color to text */\n ", "\n"])), semantic$b.size.touchTarget, function (_a) {
2418
2535
  var $interactive = _a.$interactive;
2419
2536
  return $interactive && 'user-select: none;';
2420
2537
  }, function (_a) {
2421
2538
  var $disabled = _a.$disabled;
2422
- return $disabled && "\n opacity: ".concat(semantic$9.opacity.disabled, ";\n cursor: not-allowed;\n pointer-events: none;\n ");
2539
+ return $disabled && "\n opacity: ".concat(semantic$b.opacity.disabled, ";\n cursor: not-allowed;\n pointer-events: none;\n ");
2423
2540
  }, function (_a) {
2424
2541
  var $destructive = _a.$destructive,
2425
2542
  $disabled = _a.$disabled;
2426
- return $destructive && !$disabled && "\n color: ".concat(semantic$9.color.text.error, ";\n ");
2543
+ return $destructive && !$disabled && "\n color: ".concat(semantic$b.color.text.error, ";\n ");
2427
2544
  });
2428
2545
  var StyledItemContent = styled.div.withConfig({
2429
2546
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -2431,12 +2548,12 @@ var StyledItemContent = styled.div.withConfig({
2431
2548
  },
2432
2549
  displayName: "ListItem__StyledItemContent",
2433
2550
  componentId: "sc-1wzzt21-1"
2434
- })(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n display: flex;\n align-items: flex-start;\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n background-color: ", ";\n transition: background-color ", " ", ";\n cursor: ", ";\n \n /* Interactive hover states */\n ", "\n \n /* Focus visible */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n }\n"], ["\n display: flex;\n align-items: flex-start;\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n background-color: ", ";\n transition: background-color ", " ", ";\n cursor: ", ";\n \n /* Interactive hover states */\n ", "\n \n /* Focus visible */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n }\n"])), semantic$9.spacing.layout.md, function (_a) {
2551
+ })(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n display: flex;\n align-items: flex-start;\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n background-color: ", ";\n transition: background-color ", " ", ";\n cursor: ", ";\n \n /* Interactive hover states */\n ", "\n \n /* Focus visible */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n }\n"], ["\n display: flex;\n align-items: flex-start;\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n background-color: ", ";\n transition: background-color ", " ", ";\n cursor: ", ";\n \n /* Interactive hover states */\n ", "\n \n /* Focus visible */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n }\n"])), semantic$b.spacing.layout.md, function (_a) {
2435
2552
  var $spacing = _a.$spacing;
2436
- return $spacing === 'compact' ? "".concat(semantic$9.spacing.layout.sm, " ").concat(semantic$9.spacing.layout.md) : "".concat(semantic$9.spacing.layout.md, " ").concat(semantic$9.spacing.layout.lg);
2437
- }, semantic$9.border.radius.sm, function (_a) {
2553
+ return $spacing === 'compact' ? "".concat(semantic$b.spacing.layout.sm, " ").concat(semantic$b.spacing.layout.md) : "".concat(semantic$b.spacing.layout.md, " ").concat(semantic$b.spacing.layout.lg);
2554
+ }, semantic$b.border.radius.sm, function (_a) {
2438
2555
  var $selected = _a.$selected;
2439
- return $selected ? semantic$9.color.background['interactive-subtle'] : 'transparent';
2556
+ return $selected ? semantic$b.color.background['interactive-subtle'] : 'transparent';
2440
2557
  }, duration$2.fast, easing$2.easeOut, function (_a) {
2441
2558
  var $interactive = _a.$interactive,
2442
2559
  $disabled = _a.$disabled;
@@ -2448,26 +2565,26 @@ var StyledItemContent = styled.div.withConfig({
2448
2565
  $disabled = _a.$disabled,
2449
2566
  $selected = _a.$selected;
2450
2567
  return !$disabled && $interactive && "\n &:hover {\n background-color: ".concat($selected ? tokensJson.component.button.variants.secondary.backgroundColor : tokensJson.component.button.variants.secondary.backgroundColor, ";\n }\n \n &:active {\n background-color: ").concat(tokensJson.component.button.variants.naked.backgroundColor, ";\n }\n ");
2451
- }, semantic$9.border.width.thick, semantic$9.color.border.interactive, semantic$9.border.focusOffset);
2568
+ }, semantic$b.border.width.thick, semantic$b.color.border.interactive, semantic$b.border.focusOffset);
2452
2569
  var StyledIconContainer$1 = styled.div.withConfig({
2453
2570
  displayName: "ListItem__StyledIconContainer",
2454
2571
  componentId: "sc-1wzzt21-2"
2455
- })(templateObject_3$k || (templateObject_3$k = __makeTemplateObject(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n width: ", ";\n height: ", ";\n"], ["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n width: ", ";\n height: ", ";\n"])), semantic$9.size.icon.lg, semantic$9.size.icon.lg);
2572
+ })(templateObject_3$l || (templateObject_3$l = __makeTemplateObject(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n width: ", ";\n height: ", ";\n"], ["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n width: ", ";\n height: ", ";\n"])), semantic$b.size.icon.lg, semantic$b.size.icon.lg);
2456
2573
  var StyledTextContent = styled.div.withConfig({
2457
2574
  displayName: "ListItem__StyledTextContent",
2458
2575
  componentId: "sc-1wzzt21-3"
2459
- })(templateObject_4$h || (templateObject_4$h = __makeTemplateObject(["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text truncation */\n"], ["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text truncation */\n"])), semantic$9.spacing.layout.xs);
2576
+ })(templateObject_4$h || (templateObject_4$h = __makeTemplateObject(["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text truncation */\n"], ["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text truncation */\n"])), semantic$b.spacing.layout.xs);
2460
2577
  var StyledRightContent = styled.div.withConfig({
2461
2578
  displayName: "ListItem__StyledRightContent",
2462
2579
  componentId: "sc-1wzzt21-4"
2463
- })(templateObject_5$e || (templateObject_5$e = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n flex-shrink: 0;\n margin-left: auto;\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n flex-shrink: 0;\n margin-left: auto;\n"])), semantic$9.spacing.layout.sm);
2580
+ })(templateObject_5$e || (templateObject_5$e = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n flex-shrink: 0;\n margin-left: auto;\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n flex-shrink: 0;\n margin-left: auto;\n"])), semantic$b.spacing.layout.sm);
2464
2581
  var StyledChevronIcon = styled.div.withConfig({
2465
2582
  shouldForwardProp: function shouldForwardProp(prop) {
2466
2583
  return !prop.startsWith('$');
2467
2584
  },
2468
2585
  displayName: "ListItem__StyledChevronIcon",
2469
2586
  componentId: "sc-1wzzt21-5"
2470
- })(templateObject_6$b || (templateObject_6$b = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n color: ", ";\n transition: transform ", " ", ";\n transform: rotate(", ");\n pointer-events: none;\n\n ", " {\n transition: none;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n color: ", ";\n transition: transform ", " ", ";\n transform: rotate(", ");\n pointer-events: none;\n\n ", " {\n transition: none;\n }\n"])), semantic$9.size.icon.lg, semantic$9.size.icon.lg, semantic$9.color.icon.subdued, duration$2.fast, easing$2.easeOut, function (_a) {
2587
+ })(templateObject_6$b || (templateObject_6$b = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n color: ", ";\n transition: transform ", " ", ";\n transform: rotate(", ");\n pointer-events: none;\n\n ", " {\n transition: none;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: ", ";\n color: ", ";\n transition: transform ", " ", ";\n transform: rotate(", ");\n pointer-events: none;\n\n ", " {\n transition: none;\n }\n"])), semantic$b.size.icon.lg, semantic$b.size.icon.lg, semantic$b.color.icon.subdued, duration$2.fast, easing$2.easeOut, function (_a) {
2471
2588
  var $expanded = _a.$expanded;
2472
2589
  return $expanded ? '180deg' : '0deg';
2473
2590
  }, reducedMotion);
@@ -2489,7 +2606,7 @@ var StyledExpandedContent = styled.div.withConfig({
2489
2606
  }, reducedMotion, duration$2.normal, easing$2.easeOut, duration$2.normal, easing$2.easeOut, function (_a) {
2490
2607
  var $expanded = _a.$expanded,
2491
2608
  $spacing = _a.$spacing;
2492
- return $expanded && "\n padding: ".concat($spacing === 'compact' ? "".concat(semantic$9.spacing.layout.sm, " ").concat(semantic$9.spacing.layout.md, " ").concat(semantic$9.spacing.layout.sm, " ").concat(tokensJson.component.listItem.expandedIndent.compact) : "".concat(semantic$9.spacing.layout.sm, " ").concat(semantic$9.spacing.layout.lg, " ").concat(semantic$9.spacing.layout.md, " ").concat(tokensJson.component.listItem.expandedIndent.comfortable), ";\n background-color: ").concat(semantic$9.color.background['subtle'], ";\n border-radius: ").concat(semantic$9.border.radius.sm, ";\n margin: 0 ").concat($spacing === 'compact' ? semantic$9.spacing.layout.md : semantic$9.spacing.layout.lg, " ").concat($spacing === 'compact' ? semantic$9.spacing.layout.sm : semantic$9.spacing.layout.md, ";\n ");
2609
+ return $expanded && "\n padding: ".concat($spacing === 'compact' ? "".concat(semantic$b.spacing.layout.sm, " ").concat(semantic$b.spacing.layout.md, " ").concat(semantic$b.spacing.layout.sm, " ").concat(tokensJson.component.listItem.expandedIndent.compact) : "".concat(semantic$b.spacing.layout.sm, " ").concat(semantic$b.spacing.layout.lg, " ").concat(semantic$b.spacing.layout.md, " ").concat(tokensJson.component.listItem.expandedIndent.comfortable), ";\n background-color: ").concat(semantic$b.color.background['subtle'], ";\n border-radius: ").concat(semantic$b.border.radius.sm, ";\n margin: 0 ").concat($spacing === 'compact' ? semantic$b.spacing.layout.md : semantic$b.spacing.layout.lg, " ").concat($spacing === 'compact' ? semantic$b.spacing.layout.sm : semantic$b.spacing.layout.md, ";\n ");
2493
2610
  });
2494
2611
  var ListItem = function ListItem(_a) {
2495
2612
  var primary = _a.primary,
@@ -2602,7 +2719,7 @@ var ListItem = function ListItem(_a) {
2602
2719
  }));
2603
2720
  };
2604
2721
  ListItem.displayName = 'ListItem';
2605
- var templateObject_1$r, templateObject_2$m, templateObject_3$k, templateObject_4$h, templateObject_5$e, templateObject_6$b, templateObject_7$9;
2722
+ var templateObject_1$s, templateObject_2$n, templateObject_3$l, templateObject_4$h, templateObject_5$e, templateObject_6$b, templateObject_7$9;
2606
2723
 
2607
2724
  // How long an exiting element stays mounted: the duration of `exitAnimation` in styleUtils.
2608
2725
  var EXIT_DURATION_MS = parseInt(tokensJson.semantic.motion.duration.fast, 10);
@@ -2648,24 +2765,24 @@ function useInert(ref, isInert) {
2648
2765
  }
2649
2766
 
2650
2767
  var _a$4 = tokensJson.semantic,
2651
- color$3 = _a$4.color,
2768
+ color$4 = _a$4.color,
2652
2769
  border$5 = _a$4.border,
2653
2770
  layout$1 = _a$4.spacing.layout,
2654
2771
  motion$3 = _a$4.motion,
2655
2772
  elevation$2 = _a$4.elevation;
2656
- var slideUp = keyframes(templateObject_1$q || (templateObject_1$q = __makeTemplateObject(["\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n"], ["\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n"])));
2657
- var fadeIn$2 = keyframes(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"], ["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
2773
+ var slideUp = keyframes(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n"], ["\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n"])));
2774
+ var fadeIn$2 = keyframes(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"], ["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
2658
2775
  var StyledOverlay$2 = styled.div.withConfig({
2659
2776
  displayName: "ActionSheet__StyledOverlay",
2660
2777
  componentId: "sc-regbol-0"
2661
- })(templateObject_3$j || (templateObject_3$j = __makeTemplateObject(["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n animation: ", " ", " ", "", ";\n"], ["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n animation: ", " ", " ", "", ";\n"])), color$3.background.overlay, tokensJson.semantic.zIndex.modal, fadeIn$2, motion$3.duration.normal, motion$3.easing.easeOut, function (_a) {
2778
+ })(templateObject_3$k || (templateObject_3$k = __makeTemplateObject(["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n animation: ", " ", " ", "", ";\n"], ["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n animation: ", " ", " ", "", ";\n"])), color$4.background.overlay, tokensJson.semantic.zIndex.modal, fadeIn$2, motion$3.duration.normal, motion$3.easing.easeOut, function (_a) {
2662
2779
  var $isExiting = _a.$isExiting;
2663
2780
  return $isExiting && exitAnimation;
2664
2781
  });
2665
2782
  var StyledActionSheet = styled.div.withConfig({
2666
2783
  displayName: "ActionSheet__StyledActionSheet",
2667
2784
  componentId: "sc-regbol-1"
2668
- })(templateObject_4$g || (templateObject_4$g = __makeTemplateObject(["\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ", ";\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n box-shadow: ", ";\n max-height: 90vh;\n overflow-y: auto;\n z-index: ", ";\n animation: ", " ", " ", "", ";\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n"], ["\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ", ";\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n box-shadow: ", ";\n max-height: 90vh;\n overflow-y: auto;\n z-index: ", ";\n animation: ", " ", " ", "", ";\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n"])), color$3.background.subtle, border$5.radius.lg, border$5.radius.lg, elevation$2.overlay, tokensJson.semantic.zIndex.modal, slideUp, motion$3.duration.slow, motion$3.easing.easeOut, function (_a) {
2785
+ })(templateObject_4$g || (templateObject_4$g = __makeTemplateObject(["\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ", ";\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n box-shadow: ", ";\n max-height: 90vh;\n overflow-y: auto;\n z-index: ", ";\n animation: ", " ", " ", "", ";\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n"], ["\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ", ";\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n box-shadow: ", ";\n max-height: 90vh;\n overflow-y: auto;\n z-index: ", ";\n animation: ", " ", " ", "", ";\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n"])), color$4.background.subtle, border$5.radius.lg, border$5.radius.lg, elevation$2.overlay, tokensJson.semantic.zIndex.modal, slideUp, motion$3.duration.slow, motion$3.easing.easeOut, function (_a) {
2669
2786
  var $isExiting = _a.$isExiting;
2670
2787
  return $isExiting && exitAnimation;
2671
2788
  }, reducedMotion, fadeIn$2, motion$3.duration.slow, motion$3.easing.easeOut, function (_a) {
@@ -2683,7 +2800,7 @@ var StyledHeaderContent = styled.div.withConfig({
2683
2800
  var StyledCloseButton = styled.button.withConfig({
2684
2801
  displayName: "ActionSheet__StyledCloseButton",
2685
2802
  componentId: "sc-regbol-4"
2686
- })(templateObject_7$8 || (templateObject_7$8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ", ";\n border: none;\n background: transparent;\n color: ", ";\n cursor: pointer;\n border-radius: ", ";\n transition: ", ";\n margin-left: ", ";\n \n &:hover {\n color: ", ";\n background-color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ", ";\n border: none;\n background: transparent;\n color: ", ";\n cursor: pointer;\n border-radius: ", ";\n transition: ", ";\n margin-left: ", ";\n \n &:hover {\n color: ", ";\n background-color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"])), layout$1.sm, color$3.icon.subdued, border$5.radius.sm, motion$3.hover, layout$1.sm, color$3.icon["default"], color$3.background.surface, border$5.focus, layout$1.xs);
2803
+ })(templateObject_7$8 || (templateObject_7$8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ", ";\n border: none;\n background: transparent;\n color: ", ";\n cursor: pointer;\n border-radius: ", ";\n transition: ", ";\n margin-left: ", ";\n \n &:hover {\n color: ", ";\n background-color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ", ";\n border: none;\n background: transparent;\n color: ", ";\n cursor: pointer;\n border-radius: ", ";\n transition: ", ";\n margin-left: ", ";\n \n &:hover {\n color: ", ";\n background-color: ", ";\n }\n \n &:focus-visible {\n outline: ", ";\n outline-offset: ", ";\n }\n"])), layout$1.sm, color$4.icon.subdued, border$5.radius.sm, motion$3.hover, layout$1.sm, color$4.icon["default"], color$4.background.surface, border$5.focus, layout$1.xs);
2687
2804
  var StyledActionsList = styled.ul.withConfig({
2688
2805
  displayName: "ActionSheet__StyledActionsList",
2689
2806
  componentId: "sc-regbol-5"
@@ -2910,7 +3027,7 @@ var ActionSheet = function ActionSheet(_a) {
2910
3027
  })]
2911
3028
  }), document.body);
2912
3029
  };
2913
- var templateObject_1$q, templateObject_2$l, templateObject_3$j, templateObject_4$g, templateObject_5$d, templateObject_6$a, templateObject_7$8, templateObject_8$7;
3030
+ var templateObject_1$r, templateObject_2$m, templateObject_3$k, templateObject_4$g, templateObject_5$d, templateObject_6$a, templateObject_7$8, templateObject_8$7;
2914
3031
 
2915
3032
  function detectSpeechRecognitionConstructor(targetWindow) {
2916
3033
  if (!targetWindow) return null;
@@ -3010,36 +3127,36 @@ function agentInputStateTransition(currentState, event) {
3010
3127
  }
3011
3128
  }
3012
3129
 
3013
- var semantic$8 = tokensJson.semantic,
3130
+ var semantic$a = tokensJson.semantic,
3014
3131
  component$1 = tokensJson.component;
3015
3132
  var DEFAULT_IDLE_HELPER = 'Ask about transactions, spending, or transfers';
3016
3133
  var DEFAULT_LISTENING_MESSAGE = 'Listening… speak now';
3017
3134
  var DEFAULT_PROCESSING_MESSAGE = 'Finishing voice input…';
3018
- var rotateRing = keyframes(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"], ["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"])));
3135
+ var rotateRing = keyframes(templateObject_1$q || (templateObject_1$q = __makeTemplateObject(["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"], ["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"])));
3019
3136
  var Container = styled.div.withConfig({
3020
3137
  displayName: "AgentInput__Container",
3021
3138
  componentId: "sc-fhl996-0"
3022
- })(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), semantic$8.spacing.layout.sm);
3139
+ })(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), semantic$a.spacing.layout.sm);
3023
3140
  var ControlsRow = styled.div.withConfig({
3024
3141
  displayName: "AgentInput__ControlsRow",
3025
3142
  componentId: "sc-fhl996-1"
3026
- })(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
3143
+ })(templateObject_3$j || (templateObject_3$j = __makeTemplateObject(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
3027
3144
  var InputShell = styled.div.withConfig({
3028
3145
  displayName: "AgentInput__InputShell",
3029
3146
  componentId: "sc-fhl996-2"
3030
- })(templateObject_4$f || (templateObject_4$f = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n width: 100%;\n padding: ", " ", " ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n transition: border-color ", " ", ", outline ", " ", ";\n\n &:focus-within {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n\n &[data-disabled='true'] {\n background-color: ", ";\n border-color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n width: 100%;\n padding: ", " ", " ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n transition: border-color ", " ", ", outline ", " ", ";\n\n &:focus-within {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n\n &[data-disabled='true'] {\n background-color: ", ";\n border-color: ", ";\n }\n"])), semantic$8.spacing.layout.sm, semantic$8.spacing.layout.xs, semantic$8.spacing.layout.sm, semantic$8.spacing.layout.xs, component$1.input["default"].paddingX, component$1.input["default"].backgroundColor, component$1.input["default"].borderWidth, component$1.input["default"].borderColor, semantic$8.border.radius['3xl'], semantic$8.elevation.raised, semantic$8.motion.duration.normal, semantic$8.motion.easing.easeInOut, semantic$8.motion.duration.normal, semantic$8.motion.easing.easeInOut, component$1.input.focus.borderColor, component$1.input.focus.outline, component$1.input.focus.outlineOffset, component$1.input.disabled.backgroundColor, component$1.input.disabled.borderColor);
3147
+ })(templateObject_4$f || (templateObject_4$f = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n width: 100%;\n padding: ", " ", " ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n transition: border-color ", " ", ", outline ", " ", ";\n\n &:focus-within {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n\n &[data-disabled='true'] {\n background-color: ", ";\n border-color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n width: 100%;\n padding: ", " ", " ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n transition: border-color ", " ", ", outline ", " ", ";\n\n &:focus-within {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n\n &[data-disabled='true'] {\n background-color: ", ";\n border-color: ", ";\n }\n"])), semantic$a.spacing.layout.sm, semantic$a.spacing.layout.xs, semantic$a.spacing.layout.sm, semantic$a.spacing.layout.xs, semantic$a.spacing.component.lg, component$1.input["default"].backgroundColor, component$1.input["default"].borderWidth, component$1.input["default"].borderColor, semantic$a.border.radius['3xl'], semantic$a.elevation.raised, semantic$a.motion.duration.normal, semantic$a.motion.easing.easeInOut, semantic$a.motion.duration.normal, semantic$a.motion.easing.easeInOut, component$1.input.focus.borderColor, component$1.input.focus.outline, semantic$a.border.focusOffset, component$1.input.disabled.backgroundColor, component$1.input.disabled.borderColor);
3031
3148
  var Input = styled.input.withConfig({
3032
3149
  displayName: "AgentInput__Input",
3033
3150
  componentId: "sc-fhl996-3"
3034
- })(templateObject_5$c || (templateObject_5$c = __makeTemplateObject(["\n flex: 1;\n min-width: 0;\n min-height: ", ";\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n\n &::placeholder {\n color: ", ";\n }\n\n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"], ["\n flex: 1;\n min-width: 0;\n min-height: ", ";\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n\n &::placeholder {\n color: ", ";\n }\n\n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"])), semantic$8.spacing.layout['7xl'], semantic$8.typography.body, semantic$8.color.text["default"], semantic$8.color.text.subdued, semantic$8.color.text.disabled);
3151
+ })(templateObject_5$c || (templateObject_5$c = __makeTemplateObject(["\n flex: 1;\n min-width: 0;\n min-height: ", ";\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n\n &::placeholder {\n color: ", ";\n /* Firefox fades placeholders to 0.54 by default, which would undo the 4.5:1 contrast */\n opacity: 1;\n }\n\n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"], ["\n flex: 1;\n min-width: 0;\n min-height: ", ";\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n\n &::placeholder {\n color: ", ";\n /* Firefox fades placeholders to 0.54 by default, which would undo the 4.5:1 contrast */\n opacity: 1;\n }\n\n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"])), semantic$a.spacing.layout['7xl'], semantic$a.typography.body, semantic$a.color.text["default"], component$1.input.placeholder.textColor, semantic$a.color.text.disabled);
3035
3152
  var InputActions = styled.div.withConfig({
3036
3153
  displayName: "AgentInput__InputActions",
3037
3154
  componentId: "sc-fhl996-4"
3038
- })(templateObject_6$9 || (templateObject_6$9 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n"])), semantic$8.spacing.layout.sm);
3155
+ })(templateObject_6$9 || (templateObject_6$9 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n"])), semantic$a.spacing.layout.sm);
3039
3156
  var CircularActionIconButton = styled(IconButton).withConfig({
3040
3157
  displayName: "AgentInput__CircularActionIconButton",
3041
3158
  componentId: "sc-fhl996-5"
3042
- })(templateObject_7$7 || (templateObject_7$7 = __makeTemplateObject(["\n border-radius: ", ";\n"], ["\n border-radius: ", ";\n"])), semantic$8.border.radius.circle);
3159
+ })(templateObject_7$7 || (templateObject_7$7 = __makeTemplateObject(["\n border-radius: ", ";\n"], ["\n border-radius: ", ";\n"])), semantic$a.border.radius.circle);
3043
3160
  var InputWrapper = styled.div.withConfig({
3044
3161
  displayName: "AgentInput__InputWrapper",
3045
3162
  componentId: "sc-fhl996-6"
@@ -3053,7 +3170,7 @@ var MicButtonWrapper = styled.div.withConfig({
3053
3170
  })(templateObject_9$5 || (templateObject_9$5 = __makeTemplateObject(["\n position: relative;\n display: inline-flex;\n border-radius: ", ";\n\n & > button {\n position: relative;\n z-index: 1;\n }\n"], ["\n position: relative;\n display: inline-flex;\n border-radius: ", ";\n\n & > button {\n position: relative;\n z-index: 1;\n }\n"
3054
3171
  // Masks read only alpha, so the opaque stop is a mask value, not a colour (decision 0010).
3055
3172
  // eslint-disable-next-line no-restricted-syntax
3056
- ])), semantic$8.border.radius.circle);
3173
+ ])), semantic$a.border.radius.circle);
3057
3174
  // Masks read only alpha, so the opaque stop is a mask value, not a colour (decision 0010).
3058
3175
  // eslint-disable-next-line no-restricted-syntax
3059
3176
  var ringMask = css(templateObject_10$3 || (templateObject_10$3 = __makeTemplateObject(["radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness)))"], ["radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness)))"])));
@@ -3063,21 +3180,21 @@ var MicListeningRing = styled.span.withConfig({
3063
3180
  },
3064
3181
  displayName: "AgentInput__MicListeningRing",
3065
3182
  componentId: "sc-fhl996-8"
3066
- })(templateObject_12$3 || (templateObject_12$3 = __makeTemplateObject(["\n --ring-thickness: ", ";\n position: absolute;\n inset: calc(-", " - ", ");\n border-radius: ", ";\n pointer-events: none;\n z-index: 0;\n background: conic-gradient(\n from 0deg,\n ", " 0deg,\n ", " 110deg,\n ", " 210deg,\n ", " 300deg,\n ", " 360deg\n );\n mask: ", ";\n -webkit-mask: ", ";\n\n ", "\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n"], ["\n --ring-thickness: ", ";\n position: absolute;\n inset: calc(-", " - ", ");\n border-radius: ", ";\n pointer-events: none;\n z-index: 0;\n background: conic-gradient(\n from 0deg,\n ", " 0deg,\n ", " 110deg,\n ", " 210deg,\n ", " 300deg,\n ", " 360deg\n );\n mask: ", ";\n -webkit-mask: ", ";\n\n ", "\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n"])), semantic$8.border.width.thick, semantic$8.spacing.layout.xs, component$1.iconButton.focus.outlineOffset, semantic$8.border.radius.circle, semantic$8.color.background['interactive-subtle'], semantic$8.color.background.interactive, semantic$8.color.background['interactive-hover'], semantic$8.color.background.interactive, semantic$8.color.background['interactive-subtle'], ringMask, ringMask, function (_a) {
3183
+ })(templateObject_12$3 || (templateObject_12$3 = __makeTemplateObject(["\n --ring-thickness: ", ";\n position: absolute;\n inset: calc(-", " - ", ");\n border-radius: ", ";\n pointer-events: none;\n z-index: 0;\n background: conic-gradient(\n from 0deg,\n ", " 0deg,\n ", " 110deg,\n ", " 210deg,\n ", " 300deg,\n ", " 360deg\n );\n mask: ", ";\n -webkit-mask: ", ";\n\n ", "\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n"], ["\n --ring-thickness: ", ";\n position: absolute;\n inset: calc(-", " - ", ");\n border-radius: ", ";\n pointer-events: none;\n z-index: 0;\n background: conic-gradient(\n from 0deg,\n ", " 0deg,\n ", " 110deg,\n ", " 210deg,\n ", " 300deg,\n ", " 360deg\n );\n mask: ", ";\n -webkit-mask: ", ";\n\n ", "\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n"])), semantic$a.border.width.thick, semantic$a.spacing.layout.xs, semantic$a.border.focusOffset, semantic$a.border.radius.circle, semantic$a.color.background['interactive-subtle'], semantic$a.color.background.interactive, semantic$a.color.background['interactive-hover'], semantic$a.color.background.interactive, semantic$a.color.background['interactive-subtle'], ringMask, ringMask, function (_a) {
3067
3184
  var $reducedMotion = _a.$reducedMotion;
3068
3185
  return !$reducedMotion && css(templateObject_11$3 || (templateObject_11$3 = __makeTemplateObject(["\n animation: ", " 1300ms linear infinite;\n "], ["\n animation: ", " 1300ms linear infinite;\n "])), rotateRing);
3069
3186
  });
3070
3187
  var StatusRow = styled.div.withConfig({
3071
3188
  displayName: "AgentInput__StatusRow",
3072
3189
  componentId: "sc-fhl996-9"
3073
- })(templateObject_13$2 || (templateObject_13$2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n min-height: ", ";\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n min-height: ", ";\n"])), semantic$8.spacing.layout.md, semantic$8.spacing.layout['2xl']);
3190
+ })(templateObject_13$3 || (templateObject_13$3 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n min-height: ", ";\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ", ";\n min-height: ", ";\n"])), semantic$a.spacing.layout.md, semantic$a.spacing.layout['2xl']);
3074
3191
  var StatusText = styled.div.withConfig({
3075
3192
  shouldForwardProp: function shouldForwardProp(prop) {
3076
3193
  return !prop.startsWith('$');
3077
3194
  },
3078
3195
  displayName: "AgentInput__StatusText",
3079
3196
  componentId: "sc-fhl996-10"
3080
- })(templateObject_14$1 || (templateObject_14$1 = __makeTemplateObject(["\n padding-left: ", ";\n"], ["\n padding-left: ", ";\n"])), semantic$8.spacing.layout.xl);
3197
+ })(templateObject_14$1 || (templateObject_14$1 = __makeTemplateObject(["\n padding-left: ", ";\n"], ["\n padding-left: ", ";\n"])), semantic$a.spacing.layout.xl);
3081
3198
  var StatusAnnouncement = styled.div.withConfig({
3082
3199
  displayName: "AgentInput__StatusAnnouncement",
3083
3200
  componentId: "sc-fhl996-11"
@@ -3085,17 +3202,17 @@ var StatusAnnouncement = styled.div.withConfig({
3085
3202
  var MeterContainer = styled.div.withConfig({
3086
3203
  displayName: "AgentInput__MeterContainer",
3087
3204
  componentId: "sc-fhl996-12"
3088
- })(templateObject_16$1 || (templateObject_16$1 = __makeTemplateObject(["\n display: inline-flex;\n align-items: flex-end;\n gap: ", ";\n height: ", ";\n"], ["\n display: inline-flex;\n align-items: flex-end;\n gap: ", ";\n height: ", ";\n"])), semantic$8.spacing.layout.xs, semantic$8.spacing.layout.lg);
3205
+ })(templateObject_16$1 || (templateObject_16$1 = __makeTemplateObject(["\n display: inline-flex;\n align-items: flex-end;\n gap: ", ";\n height: ", ";\n"], ["\n display: inline-flex;\n align-items: flex-end;\n gap: ", ";\n height: ", ";\n"])), semantic$a.spacing.layout.xs, semantic$a.spacing.layout.lg);
3089
3206
  var MeterBar = styled.div.withConfig({
3090
3207
  shouldForwardProp: function shouldForwardProp(prop) {
3091
3208
  return !prop.startsWith('$');
3092
3209
  },
3093
3210
  displayName: "AgentInput__MeterBar",
3094
3211
  componentId: "sc-fhl996-13"
3095
- })(templateObject_17$1 || (templateObject_17$1 = __makeTemplateObject(["\n width: ", ";\n border-radius: ", ";\n background-color: ", ";\n height: ", ";\n transition: height ", " ", ";\n"], ["\n width: ", ";\n border-radius: ", ";\n background-color: ", ";\n height: ", ";\n transition: height ", " ", ";\n"])), semantic$8.spacing.layout.xs, semantic$8.border.radius.xs, semantic$8.color.background.interactive, function (_a) {
3212
+ })(templateObject_17$1 || (templateObject_17$1 = __makeTemplateObject(["\n width: ", ";\n border-radius: ", ";\n background-color: ", ";\n height: ", ";\n transition: height ", " ", ";\n"], ["\n width: ", ";\n border-radius: ", ";\n background-color: ", ";\n height: ", ";\n transition: height ", " ", ";\n"])), semantic$a.spacing.layout.xs, semantic$a.border.radius.xs, semantic$a.color.background.interactive, function (_a) {
3096
3213
  var $height = _a.$height;
3097
3214
  return "".concat($height * 100, "%");
3098
- }, semantic$8.motion.duration.fast, semantic$8.motion.easing.easeOut);
3215
+ }, semantic$a.motion.duration.fast, semantic$a.motion.easing.easeOut);
3099
3216
  var VisuallyHiddenLabel = styled.label.withConfig({
3100
3217
  displayName: "AgentInput__VisuallyHiddenLabel",
3101
3218
  componentId: "sc-fhl996-14"
@@ -3728,11 +3845,11 @@ var AgentInput = function AgentInput(_a) {
3728
3845
  })]
3729
3846
  });
3730
3847
  };
3731
- var templateObject_1$p, templateObject_2$k, templateObject_3$i, templateObject_4$f, templateObject_5$c, templateObject_6$9, templateObject_7$7, templateObject_8$6, templateObject_9$5, templateObject_10$3, templateObject_11$3, templateObject_12$3, templateObject_13$2, templateObject_14$1, templateObject_15$1, templateObject_16$1, templateObject_17$1, templateObject_18$1;
3848
+ var templateObject_1$q, templateObject_2$l, templateObject_3$j, templateObject_4$f, templateObject_5$c, templateObject_6$9, templateObject_7$7, templateObject_8$6, templateObject_9$5, templateObject_10$3, templateObject_11$3, templateObject_12$3, templateObject_13$3, templateObject_14$1, templateObject_15$1, templateObject_16$1, templateObject_17$1, templateObject_18$1;
3732
3849
 
3733
- var semantic$7 = tokensJson.semantic;
3850
+ var semantic$9 = tokensJson.semantic;
3734
3851
  var alert = tokensJson.component.alert;
3735
- var _a$3 = semantic$7.motion,
3852
+ var _a$3 = semantic$9.motion,
3736
3853
  duration$1 = _a$3.duration,
3737
3854
  easing$1 = _a$3.easing;
3738
3855
  // Dismissing fades the alert out, then collapses the space it took (Ollie's call, #35).
@@ -3741,8 +3858,8 @@ var FADE_MS = parseInt(duration$1.fast, 10);
3741
3858
  var EXIT_MS = FADE_MS * 2;
3742
3859
  // The --alert-exit-* properties are the alert's height and vertical padding, measured
3743
3860
  // when it's dismissed, so nothing moves until the fade has finished
3744
- var fadeThenCollapse = keyframes(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n 0%, 50% {\n max-height: var(--alert-exit-height);\n padding-top: var(--alert-exit-padding-top);\n padding-bottom: var(--alert-exit-padding-bottom);\n border-width: ", ";\n }\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n border-width: 0;\n }\n"], ["\n 0%, 50% {\n max-height: var(--alert-exit-height);\n padding-top: var(--alert-exit-padding-top);\n padding-bottom: var(--alert-exit-padding-bottom);\n border-width: ", ";\n }\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n border-width: 0;\n }\n"])), semantic$7.border.width.thin);
3745
- var fadeOut = keyframes(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n from { opacity: 1; }\n to { opacity: 0; }\n"], ["\n from { opacity: 1; }\n to { opacity: 0; }\n"
3861
+ var fadeThenCollapse = keyframes(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n 0%, 50% {\n max-height: var(--alert-exit-height);\n padding-top: var(--alert-exit-padding-top);\n padding-bottom: var(--alert-exit-padding-bottom);\n border-width: ", ";\n }\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n border-width: 0;\n }\n"], ["\n 0%, 50% {\n max-height: var(--alert-exit-height);\n padding-top: var(--alert-exit-padding-top);\n padding-bottom: var(--alert-exit-padding-bottom);\n border-width: ", ";\n }\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n border-width: 0;\n }\n"])), semantic$9.border.width.thin);
3862
+ var fadeOut = keyframes(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n from { opacity: 1; }\n to { opacity: 0; }\n"], ["\n from { opacity: 1; }\n to { opacity: 0; }\n"
3746
3863
  // The exit ends on the alert's own animationend: 300ms, or 150ms under reduced motion
3747
3864
  // (chosen when dismissed). A timer of the same length removes it if no animation event
3748
3865
  // arrives, for example where animations are disabled or the tab is hidden.
@@ -3754,7 +3871,7 @@ var fadeOut = keyframes(templateObject_2$j || (templateObject_2$j = __makeTempla
3754
3871
  // The generated names of the two exits (full, and reduced motion)
3755
3872
  var EXIT_ANIMATION_NAMES = [fadeThenCollapse.getName(), fadeOut.getName()];
3756
3873
  // Default icons by variant
3757
- var variantIcons = {
3874
+ var variantIcons$1 = {
3758
3875
  error: 'crossCircle',
3759
3876
  warning: 'bell',
3760
3877
  info: 'info',
@@ -3780,35 +3897,32 @@ var StyledAlert = styled.div.withConfig({
3780
3897
  },
3781
3898
  displayName: "Alert__StyledAlert",
3782
3899
  componentId: "sc-18tq5d-0"
3783
- })(templateObject_6$8 || (templateObject_6$8 = __makeTemplateObject(["\n display: flex;\n align-items: ", ";\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n border: ", " solid;\n position: relative;\n width: 100%;\n \n /* Variant-specific colors */\n ", "\n \n /* Responsive adjustments */\n @media (min-width: ", ") {\n padding: ", ";\n }\n\n /* The exit is chosen once, when dismissed (not by a media query), so a reduced-motion\n preference that changes mid-exit can't swap animations and flash the faded alert back.\n Reduced motion: fade only; the space closes instantly afterwards. */\n ", "\n"], ["\n display: flex;\n align-items: ", ";\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n border: ", " solid;\n position: relative;\n width: 100%;\n \n /* Variant-specific colors */\n ", "\n \n /* Responsive adjustments */\n @media (min-width: ", ") {\n padding: ", ";\n }\n\n /* The exit is chosen once, when dismissed (not by a media query), so a reduced-motion\n preference that changes mid-exit can't swap animations and flash the faded alert back.\n Reduced motion: fade only; the space closes instantly afterwards. */\n ", "\n"])), function (_a) {
3900
+ })(templateObject_6$8 || (templateObject_6$8 = __makeTemplateObject(["\n display: flex;\n /* Items start at the top, so the icon and dismiss button line up with the first line */\n align-items: flex-start;\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n border: ", " solid;\n position: relative;\n width: 100%;\n \n /* Severity \xD7 appearance colours from Alert's component tokens (decision 0019). Borderless\n keeps a transparent border, so both appearances take the same space. */\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n \n /* Responsive adjustments */\n @media (min-width: ", ") {\n padding: ", ";\n }\n\n /* The exit is chosen once, when dismissed (not by a media query), so a reduced-motion\n preference that changes mid-exit can't swap animations and flash the faded alert back.\n Reduced motion: fade only; the space closes instantly afterwards. */\n ", "\n"], ["\n display: flex;\n /* Items start at the top, so the icon and dismiss button line up with the first line */\n align-items: flex-start;\n gap: ", ";\n padding: ", ";\n border-radius: ", ";\n border: ", " solid;\n position: relative;\n width: 100%;\n \n /* Severity \xD7 appearance colours from Alert's component tokens (decision 0019). Borderless\n keeps a transparent border, so both appearances take the same space. */\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n \n /* Responsive adjustments */\n @media (min-width: ", ") {\n padding: ", ";\n }\n\n /* The exit is chosen once, when dismissed (not by a media query), so a reduced-motion\n preference that changes mid-exit can't swap animations and flash the faded alert back.\n Reduced motion: fade only; the space closes instantly afterwards. */\n ", "\n"])), function (_a) {
3784
3901
  var $inline = _a.$inline;
3785
- return $inline ? 'center' : 'flex-start';
3902
+ return $inline ? semantic$9.spacing.layout.sm : semantic$9.spacing.layout.md;
3786
3903
  }, function (_a) {
3787
3904
  var $inline = _a.$inline;
3788
- return $inline ? semantic$7.spacing.layout.sm : semantic$7.spacing.layout.md;
3905
+ return $inline ? semantic$9.spacing.layout.sm : semantic$9.spacing.layout.md;
3906
+ }, semantic$9.border.radius.sm, semantic$9.border.width.thin, function (_a) {
3907
+ var _b = _a.$variant,
3908
+ $variant = _b === void 0 ? 'info' : _b;
3909
+ return alert.severity[$variant].background;
3789
3910
  }, function (_a) {
3911
+ var _b = _a.$variant,
3912
+ $variant = _b === void 0 ? 'info' : _b;
3913
+ return alert.severity[$variant].text;
3914
+ }, function (_a) {
3915
+ var _b = _a.$variant,
3916
+ $variant = _b === void 0 ? 'info' : _b,
3917
+ $appearance = _a.$appearance;
3918
+ return alert.appearance[$appearance].borderColor[$variant];
3919
+ }, semantic$9.breakpoint.md, function (_a) {
3790
3920
  var $inline = _a.$inline;
3791
- return $inline ? semantic$7.spacing.layout.sm : semantic$7.spacing.layout.md;
3792
- }, semantic$7.border.radius.sm, semantic$7.border.width.thin, function (_a) {
3793
- var $variant = _a.$variant;
3794
- switch ($variant) {
3795
- case 'error':
3796
- return "\n background-color: ".concat(semantic$7.color.background['error-subtle'], ";\n border-color: ").concat(semantic$7.color.border.error, ";\n color: ").concat(semantic$7.color.text.error, ";\n ");
3797
- case 'warning':
3798
- return "\n background-color: ".concat(semantic$7.color.background['warning-subtle'], ";\n border-color: ").concat(semantic$7.color.border.warning, ";\n color: ").concat(semantic$7.color.text.warning, ";\n ");
3799
- case 'success':
3800
- return "\n background-color: ".concat(semantic$7.color.background['success-subtle'], ";\n border-color: ").concat(semantic$7.color.border.success, ";\n color: ").concat(semantic$7.color.text.success, ";\n ");
3801
- case 'info':
3802
- default:
3803
- return "\n background-color: ".concat(semantic$7.color.background['interactive-subtle'], ";\n border-color: ").concat(semantic$7.color.border.interactive, ";\n color: ").concat(semantic$7.color.text.interactive, ";\n ");
3804
- }
3805
- }, semantic$7.breakpoint.md, function (_a) {
3806
- var $inline = _a.$inline;
3807
- return $inline ? semantic$7.spacing.layout.sm : semantic$7.spacing.layout.lg;
3921
+ return $inline ? semantic$9.spacing.layout.sm : semantic$9.spacing.layout.lg;
3808
3922
  }, function (_a) {
3809
3923
  var $isExiting = _a.$isExiting,
3810
3924
  $reducedExit = _a.$reducedExit;
3811
- return $isExiting && css(templateObject_5$b || (templateObject_5$b = __makeTemplateObject(["\n overflow: hidden;\n pointer-events: none;\n animation: ", ";\n "], ["\n overflow: hidden;\n pointer-events: none;\n animation: ", ";\n "])), $reducedExit ? css(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["", " ", " ", " forwards"], ["", " ", " ", " forwards"])), fadeOut, duration$1.fast, easing$1.easeOut) : css(templateObject_4$e || (templateObject_4$e = __makeTemplateObject(["", " ", "ms ", " forwards"], ["", " ", "ms ", " forwards"])), fadeThenCollapse, EXIT_MS, easing$1.easeOut));
3925
+ return $isExiting && css(templateObject_5$b || (templateObject_5$b = __makeTemplateObject(["\n overflow: hidden;\n pointer-events: none;\n animation: ", ";\n "], ["\n overflow: hidden;\n pointer-events: none;\n animation: ", ";\n "])), $reducedExit ? css(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["", " ", " ", " forwards"], ["", " ", " ", " forwards"])), fadeOut, duration$1.fast, easing$1.easeOut) : css(templateObject_4$e || (templateObject_4$e = __makeTemplateObject(["", " ", "ms ", " forwards"], ["", " ", "ms ", " forwards"])), fadeThenCollapse, EXIT_MS, easing$1.easeOut));
3812
3926
  });
3813
3927
  var StyledIconContainer = styled.div.withConfig({
3814
3928
  displayName: "Alert__StyledIconContainer",
@@ -3817,47 +3931,81 @@ var StyledIconContainer = styled.div.withConfig({
3817
3931
  var StyledContent$1 = styled.div.withConfig({
3818
3932
  displayName: "Alert__StyledContent",
3819
3933
  componentId: "sc-18tq5d-2"
3820
- })(templateObject_8$5 || (templateObject_8$5 = __makeTemplateObject(["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text wrapping */\n"], ["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text wrapping */\n"])), semantic$7.spacing.layout.xs);
3934
+ })(templateObject_8$5 || (templateObject_8$5 = __makeTemplateObject(["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text wrapping */\n"], ["\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ", ";\n min-width: 0; /* Allow text wrapping */\n"])), semantic$9.spacing.layout.xs);
3821
3935
  var StyledTitle = styled.span.withConfig({
3822
3936
  displayName: "Alert__StyledTitle",
3823
3937
  componentId: "sc-18tq5d-3"
3824
3938
  })(templateObject_9$4 || (templateObject_9$4 = __makeTemplateObject(["\n font: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin: 0;\n"], ["\n font: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin: 0;\n"])), alert.title.typography, alert.title.fontWeight, alert.title.lineHeight);
3825
- var StyledMessage = styled.span.withConfig({
3939
+ var StyledMessage$1 = styled.span.withConfig({
3826
3940
  displayName: "Alert__StyledMessage",
3827
3941
  componentId: "sc-18tq5d-4"
3828
- })(templateObject_10$2 || (templateObject_10$2 = __makeTemplateObject(["\n font: ", ";\n line-height: ", ";\n"], ["\n font: ", ";\n line-height: ", ";\n"])), alert.message.typography, alert.message.lineHeight);
3942
+ })(templateObject_10$2 || (templateObject_10$2 = __makeTemplateObject(["\n font: ", ";\n line-height: ", ";\n"], ["\n font: ", ";\n line-height: ", ";\n"
3943
+ // The action follows the content, left-aligned with it, so it's read after the message
3944
+ // (#122). With the content's xs gap, the space above it is md: a separate step.
3945
+ ])), alert.message.typography, alert.message.lineHeight);
3946
+ // The action follows the content, left-aligned with it, so it's read after the message
3947
+ // (#122). With the content's xs gap, the space above it is md: a separate step.
3829
3948
  var StyledActions = styled.div.withConfig({
3830
3949
  displayName: "Alert__StyledActions",
3831
3950
  componentId: "sc-18tq5d-5"
3832
- })(templateObject_11$2 || (templateObject_11$2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n flex-shrink: 0;\n margin-left: auto;\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n flex-shrink: 0;\n margin-left: auto;\n"])), semantic$7.spacing.layout.sm);
3951
+ })(templateObject_11$2 || (templateObject_11$2 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: ", ";\n margin-top: calc(", " - ", ");\n"], ["\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: ", ";\n margin-top: calc(", " - ", ");\n"
3952
+ // The dismiss button's centre lines up with the first line of content: the title, or the
3953
+ // message when there's no title (decision 0019). The slot is as tall as that line and the
3954
+ // button is centred in it, overflowing evenly into the padding, so it stays aligned at every
3955
+ // padding and line height. Being in the row, it also keeps text and actions from running under it.
3956
+ ])), semantic$9.spacing.layout.sm, semantic$9.spacing.layout.md, semantic$9.spacing.layout.xs);
3957
+ // The dismiss button's centre lines up with the first line of content: the title, or the
3958
+ // message when there's no title (decision 0019). The slot is as tall as that line and the
3959
+ // button is centred in it, overflowing evenly into the padding, so it stays aligned at every
3960
+ // padding and line height. Being in the row, it also keeps text and actions from running under it.
3961
+ var StyledDismissSlot = styled.div.withConfig({
3962
+ shouldForwardProp: function shouldForwardProp(prop) {
3963
+ return !prop.startsWith('$');
3964
+ },
3965
+ displayName: "Alert__StyledDismissSlot",
3966
+ componentId: "sc-18tq5d-6"
3967
+ })(templateObject_12$2 || (templateObject_12$2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n height: ", ";\n"], ["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n height: ", ";\n"
3968
+ // The glyph sits on the padding edge, mirroring the severity icon on the left. The inline
3969
+ // alert's padding is too small for that, so its button stays inside the padding.
3970
+ ])), function (_a) {
3971
+ var $lineHeight = _a.$lineHeight;
3972
+ return $lineHeight;
3973
+ });
3974
+ // The glyph sits on the padding edge, mirroring the severity icon on the left. The inline
3975
+ // alert's padding is too small for that, so its button stays inside the padding.
3833
3976
  var StyledDismissButton = styled(IconButton).withConfig({
3834
3977
  displayName: "Alert__StyledDismissButton",
3835
- componentId: "sc-18tq5d-6"
3836
- })(templateObject_12$2 || (templateObject_12$2 = __makeTemplateObject(["\n margin-left: ", ";\n\tposition: absolute;\n\tright: ", ";\n\ttop: ", ";\n"], ["\n margin-left: ", ";\n\tposition: absolute;\n\tright: ", ";\n\ttop: ", ";\n"])), semantic$7.spacing.layout.xs, semantic$7.spacing.layout.sm, semantic$7.spacing.layout.sm);
3978
+ componentId: "sc-18tq5d-7"
3979
+ })(templateObject_13$2 || (templateObject_13$2 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
3980
+ var $inline = _a.$inline;
3981
+ return $inline ? 0 : "calc((".concat(tokensJson.component.iconButton.sizes.small.minWidth, " - ").concat(semantic$9.size.icon.sm, ") / -2)");
3982
+ });
3837
3983
  var Alert = function Alert(_a) {
3838
3984
  var _b = _a.variant,
3839
3985
  variant = _b === void 0 ? 'info' : _b,
3986
+ _c = _a.appearance,
3987
+ appearance = _c === void 0 ? 'outlined' : _c,
3840
3988
  children = _a.children,
3841
3989
  title = _a.title,
3842
- _c = _a.dismissible,
3843
- dismissible = _c === void 0 ? false : _c,
3990
+ _d = _a.dismissible,
3991
+ dismissible = _d === void 0 ? false : _d,
3844
3992
  onDismiss = _a.onDismiss,
3845
3993
  action = _a.action,
3846
- _d = _a.inline,
3847
- inline = _d === void 0 ? false : _d,
3848
- _e = _a.ariaLive,
3849
- ariaLive = _e === void 0 ? 'polite' : _e,
3994
+ _e = _a.inline,
3995
+ inline = _e === void 0 ? false : _e,
3996
+ _f = _a.ariaLive,
3997
+ ariaLive = _f === void 0 ? 'polite' : _f,
3850
3998
  dataTestId = _a["data-testid"],
3851
- props = __rest(_a, ["variant", "children", "title", "dismissible", "onDismiss", "action", "inline", "ariaLive", 'data-testid']);
3852
- var _f = React.useState('visible'),
3853
- phase = _f[0],
3854
- setPhase = _f[1];
3855
- var _g = React.useState(false),
3856
- reducedExit = _g[0],
3857
- setReducedExit = _g[1];
3858
- var _h = React.useState(),
3859
- exitStyle = _h[0],
3860
- setExitStyle = _h[1];
3999
+ props = __rest(_a, ["variant", "appearance", "children", "title", "dismissible", "onDismiss", "action", "inline", "ariaLive", 'data-testid']);
4000
+ var _g = React.useState('visible'),
4001
+ phase = _g[0],
4002
+ setPhase = _g[1];
4003
+ var _h = React.useState(false),
4004
+ reducedExit = _h[0],
4005
+ setReducedExit = _h[1];
4006
+ var _j = React.useState(),
4007
+ exitStyle = _j[0],
4008
+ setExitStyle = _j[1];
3861
4009
  var alertRef = React.useRef(null);
3862
4010
  // While it exits, its controls leave the tab order and can't be activated
3863
4011
  useInert(alertRef, phase === 'exiting');
@@ -3914,7 +4062,7 @@ var Alert = function Alert(_a) {
3914
4062
  }
3915
4063
  };
3916
4064
  // Get the icon for the current variant
3917
- var iconName = variantIcons[variant];
4065
+ var iconName = variantIcons$1[variant];
3918
4066
  var alertIconColor = variantIconColors[variant];
3919
4067
  var alertTitleColor = variantTitleColors[variant];
3920
4068
  // Determine ARIA role based on variant and aria-live
@@ -3923,6 +4071,7 @@ var Alert = function Alert(_a) {
3923
4071
  role: role,
3924
4072
  "aria-live": ariaLive,
3925
4073
  "$variant": variant,
4074
+ "$appearance": appearance,
3926
4075
  "$inline": inline,
3927
4076
  "$isExiting": isExiting,
3928
4077
  "$reducedExit": reducedExit,
@@ -3945,23 +4094,158 @@ var Alert = function Alert(_a) {
3945
4094
  "aria-level": 6,
3946
4095
  color: alertTitleColor,
3947
4096
  children: title
3948
- }), jsx(StyledMessage, {
4097
+ }), jsx(StyledMessage$1, {
3949
4098
  children: children
4099
+ }), action && jsx(StyledActions, {
4100
+ children: action
3950
4101
  })]
3951
- }), (action || dismissible) && jsxs(StyledActions, {
3952
- children: [action, dismissible && jsx(StyledDismissButton, {
4102
+ }), dismissible && jsx(StyledDismissSlot, {
4103
+ "$lineHeight": title ? alert.title.lineHeight : alert.message.lineHeight,
4104
+ children: jsx(StyledDismissButton, {
3953
4105
  iconName: "close",
3954
4106
  size: "small",
3955
4107
  variant: "naked",
4108
+ "$inline": inline,
3956
4109
  onClick: handleDismiss,
3957
4110
  "aria-label": "Dismiss alert",
3958
4111
  "data-testid": dataTestId ? "".concat(dataTestId, "-dismiss") : undefined
3959
- })]
4112
+ })
3960
4113
  })]
3961
4114
  }));
3962
4115
  };
3963
4116
  Alert.displayName = 'Alert';
3964
- var templateObject_1$o, templateObject_2$j, templateObject_3$h, templateObject_4$e, templateObject_5$b, templateObject_6$8, templateObject_7$6, templateObject_8$5, templateObject_9$4, templateObject_10$2, templateObject_11$2, templateObject_12$2;
4117
+ var templateObject_1$p, templateObject_2$k, templateObject_3$i, templateObject_4$e, templateObject_5$b, templateObject_6$8, templateObject_7$6, templateObject_8$5, templateObject_9$4, templateObject_10$2, templateObject_11$2, templateObject_12$2, templateObject_13$2;
4118
+
4119
+ var semantic$8 = tokensJson.semantic;
4120
+ var color$3 = semantic$8.color,
4121
+ typography = semantic$8.typography,
4122
+ spacing$3 = semantic$8.spacing,
4123
+ size = semantic$8.size;
4124
+ var variantIcons = {
4125
+ error: 'crossCircle',
4126
+ warning: 'bell',
4127
+ info: 'info',
4128
+ success: 'checkRing'
4129
+ };
4130
+ var variantTextColors = {
4131
+ error: color$3.text.error,
4132
+ warning: color$3.text.warning,
4133
+ info: color$3.text.interactive,
4134
+ success: color$3.text.success
4135
+ };
4136
+ var sizeConfig = {
4137
+ small: {
4138
+ font: typography.caption,
4139
+ gap: spacing$3.layout.xs,
4140
+ icon: 'xs'
4141
+ },
4142
+ medium: {
4143
+ font: typography.small,
4144
+ gap: spacing$3.layout.sm,
4145
+ icon: 'sm'
4146
+ }
4147
+ };
4148
+ var StyledInlineAlert = styled.div.withConfig({
4149
+ shouldForwardProp: function shouldForwardProp(prop) {
4150
+ return !prop.startsWith('$');
4151
+ },
4152
+ displayName: "InlineAlert__StyledInlineAlert",
4153
+ componentId: "sc-eervmb-0"
4154
+ })(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n min-height: ", ";\n gap: ", ";\n font: ", ";\n color: ", ";\n"], ["\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n min-height: ", ";\n gap: ", ";\n font: ", ";\n color: ", ";\n"
4155
+ // One line of the message's font tall, so the icon centres on the first line at any size:
4156
+ // the zero-width space gives the box the font's line height without a fixed value
4157
+ ])), function (_a) {
4158
+ var $size = _a.$size,
4159
+ $empty = _a.$empty;
4160
+ return $empty ? '0' : size.label[$size];
4161
+ }, function (_a) {
4162
+ var $size = _a.$size;
4163
+ return sizeConfig[$size].gap;
4164
+ }, function (_a) {
4165
+ var $size = _a.$size;
4166
+ return sizeConfig[$size].font;
4167
+ }, function (_a) {
4168
+ var $variant = _a.$variant;
4169
+ return variantTextColors[$variant];
4170
+ });
4171
+ // One line of the message's font tall, so the icon centres on the first line at any size:
4172
+ // the zero-width space gives the box the font's line height without a fixed value
4173
+ var StyledIconLine = styled.span.withConfig({
4174
+ displayName: "InlineAlert__StyledIconLine",
4175
+ componentId: "sc-eervmb-1"
4176
+ })(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::after {\n content: '\\200B';\n }\n"], ["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::after {\n content: '\\\\200B';\n }\n"])));
4177
+ var StyledMessage = styled.span.withConfig({
4178
+ displayName: "InlineAlert__StyledMessage",
4179
+ componentId: "sc-eervmb-2"
4180
+ })(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["\n min-width: 0;\n"], ["\n min-width: 0;\n"
4181
+ /**
4182
+ * InlineAlert is a short, local message that sits next to what it's about: between paragraphs,
4183
+ * below a field or in a table cell (decision 0019). A severity icon and text in the severity
4184
+ * colour, with no background or border. For a title, an action or a dismiss button, use Alert.
4185
+ *
4186
+ * @example
4187
+ * ```tsx
4188
+ * <InlineAlert variant="success">Saved</InlineAlert>
4189
+ *
4190
+ * // Field feedback: the control references the message with aria-describedby
4191
+ * <input id="email" aria-describedby="email-error" aria-invalid="true" />
4192
+ * <InlineAlert id="email-error" variant="error" size="small">Enter a valid email address</InlineAlert>
4193
+ * ```
4194
+ */])));
4195
+ /**
4196
+ * InlineAlert is a short, local message that sits next to what it's about: between paragraphs,
4197
+ * below a field or in a table cell (decision 0019). A severity icon and text in the severity
4198
+ * colour, with no background or border. For a title, an action or a dismiss button, use Alert.
4199
+ *
4200
+ * @example
4201
+ * ```tsx
4202
+ * <InlineAlert variant="success">Saved</InlineAlert>
4203
+ *
4204
+ * // Field feedback: the control references the message with aria-describedby
4205
+ * <input id="email" aria-describedby="email-error" aria-invalid="true" />
4206
+ * <InlineAlert id="email-error" variant="error" size="small">Enter a valid email address</InlineAlert>
4207
+ * ```
4208
+ */
4209
+ var InlineAlert = function InlineAlert(_a) {
4210
+ var _b = _a.variant,
4211
+ variant = _b === void 0 ? 'info' : _b,
4212
+ _c = _a.size,
4213
+ alertSize = _c === void 0 ? 'medium' : _c,
4214
+ children = _a.children,
4215
+ _d = _a.ariaLive,
4216
+ ariaLive = _d === void 0 ? 'polite' : _d,
4217
+ id = _a.id,
4218
+ dataTestId = _a["data-testid"];
4219
+ // A live region is announced reliably only when it exists before its content changes, so with
4220
+ // no message it stays mounted as an empty region, with no icon and no minimum height
4221
+ var hasMessage = children !== undefined && children !== null && children !== false && children !== '';
4222
+ return jsx(StyledInlineAlert
4223
+ // Same roles as Alert; ariaLive sets how urgently changes are announced
4224
+ , {
4225
+ // Same roles as Alert; ariaLive sets how urgently changes are announced
4226
+ role: variant === 'error' ? 'alert' : 'status',
4227
+ "aria-live": ariaLive,
4228
+ id: id,
4229
+ "data-testid": dataTestId,
4230
+ "$variant": variant,
4231
+ "$size": alertSize,
4232
+ "$empty": !hasMessage,
4233
+ children: hasMessage && jsxs(Fragment, {
4234
+ children: [jsx(StyledIconLine, {
4235
+ "aria-hidden": "true",
4236
+ children: jsx(Icon, {
4237
+ name: variantIcons[variant],
4238
+ size: sizeConfig[alertSize].icon,
4239
+ iconColor: "inherit"
4240
+ })
4241
+ }), jsx(StyledMessage, {
4242
+ children: children
4243
+ })]
4244
+ })
4245
+ });
4246
+ };
4247
+ InlineAlert.displayName = 'InlineAlert';
4248
+ var templateObject_1$o, templateObject_2$j, templateObject_3$h;
3965
4249
 
3966
4250
  var BreadcrumbNavStyled = styled.nav.withConfig({
3967
4251
  displayName: "Breadcrumbs__BreadcrumbNavStyled",
@@ -4185,7 +4469,7 @@ var StyledCheckbox = styled.span.withConfig({
4185
4469
  return props.$state === 'disabled' ? 'not-allowed' : 'pointer';
4186
4470
  }, tokensJson.semantic.motion.duration.fast, tokensJson.semantic.motion.easing.easeOut, HiddenCheckboxInput, function (props) {
4187
4471
  return props.$state === 'error' ? tokensJson.component.input.error.hover.borderColor : props.$checked || props.$indeterminate ? tokensJson.semantic.border.strong : tokensJson.component.input.hover.borderColor;
4188
- }, HiddenCheckboxInput, tokensJson.component.input.focus.outline, tokensJson.component.input.focus.outlineOffset, function (props) {
4472
+ }, HiddenCheckboxInput, tokensJson.component.input.focus.outline, tokensJson.semantic.border.focusOffset, function (props) {
4189
4473
  return props.$state === 'error' ? tokensJson.component.input.error.focus.borderColor : tokensJson.component.input.focus.borderColor;
4190
4474
  }, function (props) {
4191
4475
  return props.$state === 'disabled' && "\n background-color: ".concat(tokensJson.component.input.disabled.backgroundColor, ";\n border-color: ").concat(tokensJson.component.input.disabled.borderColor, ";\n ");
@@ -4691,7 +4975,7 @@ var DateGroup = function DateGroup(_a) {
4691
4975
  };
4692
4976
  var templateObject_1$g, templateObject_2$e, templateObject_3$d, templateObject_4$b;
4693
4977
 
4694
- var semantic$6 = tokensJson.semantic;
4978
+ var semantic$7 = tokensJson.semantic;
4695
4979
  var StyledContainer$1 = styled.div.withConfig({
4696
4980
  shouldForwardProp: function shouldForwardProp(prop) {
4697
4981
  return !prop.startsWith('$');
@@ -4700,7 +4984,7 @@ var StyledContainer$1 = styled.div.withConfig({
4700
4984
  componentId: "sc-1u5hxh-0"
4701
4985
  })(templateObject_1$f || (templateObject_1$f = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n max-width: ", ";\n margin: 0 auto;\n padding: ", ";\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n max-width: ", ";\n margin: 0 auto;\n padding: ", ";\n"])), tokensJson.component.emptyState.maxWidth, function (_a) {
4702
4986
  var $size = _a.$size;
4703
- return $size === 'small' ? semantic$6.spacing.layout['4xl'] : $size === 'large' ? semantic$6.spacing.layout['8xl'] : semantic$6.spacing.layout['6xl'];
4987
+ return $size === 'small' ? semantic$7.spacing.layout['4xl'] : $size === 'large' ? semantic$7.spacing.layout['8xl'] : semantic$7.spacing.layout['6xl'];
4704
4988
  });
4705
4989
  var StyledIllustration = styled.div.withConfig({
4706
4990
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -4714,16 +4998,16 @@ var StyledIllustration = styled.div.withConfig({
4714
4998
  }, function (_a) {
4715
4999
  var $size = _a.$size;
4716
5000
  return $size === 'small' ? tokensJson.component.emptyState.illustration.small : $size === 'large' ? tokensJson.component.emptyState.illustration.large : tokensJson.component.emptyState.illustration.medium;
4717
- }, semantic$6.spacing.layout['2xl'], function (_a) {
5001
+ }, semantic$7.spacing.layout['2xl'], function (_a) {
4718
5002
  var $variant = _a.$variant;
4719
- return $variant === 'error' ? semantic$6.color.icon.error : $variant === 'success' ? semantic$6.color.icon.success : semantic$6.color.icon.subdued;
5003
+ return $variant === 'error' ? semantic$7.color.icon.error : $variant === 'success' ? semantic$7.color.icon.success : semantic$7.color.icon.subdued;
4720
5004
  });
4721
5005
  var StyledTextContainer = styled.div.withConfig({
4722
5006
  displayName: "EmptyState__StyledTextContainer",
4723
5007
  componentId: "sc-1u5hxh-2"
4724
5008
  })(templateObject_3$c || (templateObject_3$c = __makeTemplateObject(["\n max-width: ", ";\n margin-bottom: ", ";\n"], ["\n max-width: ", ";\n margin-bottom: ", ";\n"
4725
5009
  // Map illustration type to icon name
4726
- ])), tokensJson.component.emptyState.text.maxWidth, semantic$6.spacing.layout['2xl']);
5010
+ ])), tokensJson.component.emptyState.text.maxWidth, semantic$7.spacing.layout['2xl']);
4727
5011
  // Map illustration type to icon name
4728
5012
  var illustrationToIcon = {
4729
5013
  search: 'search',
@@ -4778,7 +5062,7 @@ var EmptyState = function EmptyState(_a) {
4778
5062
  children: title
4779
5063
  }), jsx("div", {
4780
5064
  style: {
4781
- marginTop: semantic$6.spacing.layout.md
5065
+ marginTop: semantic$7.spacing.layout.md
4782
5066
  },
4783
5067
  children: jsx(Typography, {
4784
5068
  variant: "body",
@@ -4903,6 +5187,9 @@ var _a = tokensJson.semantic,
4903
5187
  _b = tokensJson.component,
4904
5188
  input$1 = _b.input,
4905
5189
  field$3 = _b.field;
5190
+ // Spacing comes from the semantic scales: no component spacing tokens (decision 0022).
5191
+ // The 11px vertical padding is off-grid and keeps its deprecated token until #129.
5192
+ var controlPaddingX = tokensJson.semantic.spacing.component.lg;
4906
5193
  var duration = motion$1.duration,
4907
5194
  easing = motion$1.easing;
4908
5195
  var DropdownContainer = styled.div.withConfig({
@@ -4915,7 +5202,7 @@ var DropdownTrigger = styled.button.withConfig({
4915
5202
  },
4916
5203
  displayName: "Dropdown__DropdownTrigger",
4917
5204
  componentId: "sc-kz07c4-1"
4918
- })(templateObject_2$b || (templateObject_2$b = __makeTemplateObject(["\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n font: ", ";\n color: ", ";\n cursor: pointer;\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n &:disabled {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n cursor: ", ";\n }\n \n ", "\n"], ["\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n font: ", ";\n color: ", ";\n cursor: pointer;\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n &:disabled {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n cursor: ", ";\n }\n \n ", "\n"])), input$1["default"].paddingY, input$1["default"].paddingX, input$1["default"].backgroundColor, input$1["default"].borderWidth, function (_a) {
5205
+ })(templateObject_2$b || (templateObject_2$b = __makeTemplateObject(["\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n font: ", ";\n color: ", ";\n cursor: pointer;\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n &:disabled {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n cursor: not-allowed;\n }\n \n ", "\n"], ["\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n font: ", ";\n color: ", ";\n cursor: pointer;\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n &:disabled {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n cursor: not-allowed;\n }\n \n ", "\n"])), input$1["default"].paddingY, controlPaddingX, input$1["default"].backgroundColor, input$1["default"].borderWidth, function (_a) {
4919
5206
  var $hasError = _a.$hasError;
4920
5207
  return $hasError ? input$1.error.borderColor : input$1["default"].borderColor;
4921
5208
  }, input$1["default"].borderRadius, input$1["default"].font, input$1["default"].textColor, duration.normal, easing.easeInOut, duration.normal, easing.easeInOut, function (_a) {
@@ -4924,7 +5211,7 @@ var DropdownTrigger = styled.button.withConfig({
4924
5211
  }, function (_a) {
4925
5212
  var $hasError = _a.$hasError;
4926
5213
  return $hasError ? input$1.error.focus.borderColor : input$1.focus.borderColor;
4927
- }, input$1.focus.outline, input$1.focus.outlineOffset, input$1.disabled.backgroundColor, input$1.disabled.textColor, input$1.disabled.borderColor, input$1.disabled.cursor, function (_a) {
5214
+ }, input$1.focus.outline, border$1.focusOffset, input$1.disabled.backgroundColor, input$1.disabled.textColor, input$1.disabled.borderColor, function (_a) {
4928
5215
  var $isOpen = _a.$isOpen,
4929
5216
  $hasError = _a.$hasError;
4930
5217
  return $isOpen && "\n border-color: ".concat($hasError ? input$1.error.focus.borderColor : input$1.focus.borderColor, ";\n ");
@@ -4945,7 +5232,7 @@ var DropdownMenu = styled.div.withConfig({
4945
5232
  },
4946
5233
  displayName: "Dropdown__DropdownMenu",
4947
5234
  componentId: "sc-kz07c4-3"
4948
- })(templateObject_4$9 || (templateObject_4$9 = __makeTemplateObject(["\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n margin-top: ", ";\n overflow: hidden;\n opacity: ", ";\n visibility: ", ";\n transform: ", ";\n transition: all ", " ", ";\n max-height: ", ";\n overflow-y: auto;\n\n ", " {\n transform: none;\n }\n"], ["\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n margin-top: ", ";\n overflow: hidden;\n opacity: ", ";\n visibility: ", ";\n transform: ", ";\n transition: all ", " ", ";\n max-height: ", ";\n overflow-y: auto;\n\n ", " {\n transform: none;\n }\n"])), zIndex.dropdown, input$1["default"].backgroundColor, input$1["default"].borderWidth, input$1["default"].borderColor, input$1["default"].borderRadius, elevation$1.floating, spacing.xs, function (_a) {
5235
+ })(templateObject_4$9 || (templateObject_4$9 = __makeTemplateObject(["\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: ", ";\n background-color: ", ";\n /* A decorative outline: elevation separates the menu, and only the trigger is a control edge (decision 0025) */\n border: ", ";\n border-radius: ", ";\n box-shadow: ", ";\n margin-top: ", ";\n overflow: hidden;\n opacity: ", ";\n visibility: ", ";\n transform: ", ";\n transition: all ", " ", ";\n max-height: ", ";\n overflow-y: auto;\n\n ", " {\n transform: none;\n }\n"], ["\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: ", ";\n background-color: ", ";\n /* A decorative outline: elevation separates the menu, and only the trigger is a control edge (decision 0025) */\n border: ", ";\n border-radius: ", ";\n box-shadow: ", ";\n margin-top: ", ";\n overflow: hidden;\n opacity: ", ";\n visibility: ", ";\n transform: ", ";\n transition: all ", " ", ";\n max-height: ", ";\n overflow-y: auto;\n\n ", " {\n transform: none;\n }\n"])), zIndex.dropdown, input$1["default"].backgroundColor, border$1.subtle, input$1["default"].borderRadius, elevation$1.floating, spacing.xs, function (_a) {
4949
5236
  var $isOpen = _a.$isOpen;
4950
5237
  return $isOpen ? 1 : 0;
4951
5238
  }, function (_a) {
@@ -4961,7 +5248,7 @@ var DropdownOption = styled.button.withConfig({
4961
5248
  },
4962
5249
  displayName: "Dropdown__DropdownOption",
4963
5250
  componentId: "sc-kz07c4-4"
4964
- })(templateObject_5$8 || (templateObject_5$8 = __makeTemplateObject(["\n width: 100%;\n display: block;\n padding: ", " ", ";\n background-color: ", ";\n border: none;\n font: ", ";\n color: ", ";\n text-align: left;\n cursor: pointer;\n transition: background-color ", " ", ";\n \n &:hover {\n background-color: ", ";\n }\n \n &:focus {\n outline: none;\n background-color: ", ";\n }\n \n &:not(:last-child) {\n border-bottom: ", ";\n }\n"], ["\n width: 100%;\n display: block;\n padding: ", " ", ";\n background-color: ", ";\n border: none;\n font: ", ";\n color: ", ";\n text-align: left;\n cursor: pointer;\n transition: background-color ", " ", ";\n \n &:hover {\n background-color: ", ";\n }\n \n &:focus {\n outline: none;\n background-color: ", ";\n }\n \n &:not(:last-child) {\n border-bottom: ", ";\n }\n"])), input$1["default"].paddingY, input$1["default"].paddingX, function (_a) {
5251
+ })(templateObject_5$8 || (templateObject_5$8 = __makeTemplateObject(["\n width: 100%;\n display: block;\n padding: ", " ", ";\n background-color: ", ";\n border: none;\n font: ", ";\n color: ", ";\n text-align: left;\n cursor: pointer;\n transition: background-color ", " ", ";\n \n &:hover {\n background-color: ", ";\n }\n \n &:focus {\n outline: none;\n background-color: ", ";\n }\n \n &:not(:last-child) {\n border-bottom: ", ";\n }\n"], ["\n width: 100%;\n display: block;\n padding: ", " ", ";\n background-color: ", ";\n border: none;\n font: ", ";\n color: ", ";\n text-align: left;\n cursor: pointer;\n transition: background-color ", " ", ";\n \n &:hover {\n background-color: ", ";\n }\n \n &:focus {\n outline: none;\n background-color: ", ";\n }\n \n &:not(:last-child) {\n border-bottom: ", ";\n }\n"])), input$1["default"].paddingY, controlPaddingX, function (_a) {
4965
5252
  var $isSelected = _a.$isSelected,
4966
5253
  $isFocused = _a.$isFocused;
4967
5254
  if ($isFocused) return color$1.background.surface;
@@ -4974,7 +5261,7 @@ var StyledHelperText$3 = styled.div.withConfig({
4974
5261
  })(templateObject_6$7 || (templateObject_6$7 = __makeTemplateObject(["\n font: ", ";\n color: ", ";\n margin-top: ", ";\n"], ["\n font: ", ";\n color: ", ";\n margin-top: ", ";\n"])), field$3.helperText.typography, function (_a) {
4975
5262
  var $hasError = _a.$hasError;
4976
5263
  return $hasError ? field$3.helperText.colorError : field$3.helperText.color;
4977
- }, field$3.gap);
5264
+ }, spacing.sm);
4978
5265
  var Dropdown = function Dropdown(_a) {
4979
5266
  var options = _a.options,
4980
5267
  value = _a.value,
@@ -5097,7 +5384,7 @@ var Dropdown = function Dropdown(_a) {
5097
5384
  htmlFor: dropdownId,
5098
5385
  style: {
5099
5386
  display: 'block',
5100
- marginBottom: field$3.gap
5387
+ marginBottom: spacing.sm
5101
5388
  },
5102
5389
  children: jsx(Typography, {
5103
5390
  variant: "label",
@@ -5152,7 +5439,7 @@ var Dropdown = function Dropdown(_a) {
5152
5439
  };
5153
5440
  var templateObject_1$d, templateObject_2$b, templateObject_3$a, templateObject_4$9, templateObject_5$8, templateObject_6$7;
5154
5441
 
5155
- var semantic$5 = tokensJson.semantic;
5442
+ var semantic$6 = tokensJson.semantic;
5156
5443
  var StyledList = styled.ul.withConfig({
5157
5444
  shouldForwardProp: function shouldForwardProp(prop) {
5158
5445
  return !prop.startsWith('$');
@@ -5161,7 +5448,7 @@ var StyledList = styled.ul.withConfig({
5161
5448
  componentId: "sc-1irksg5-0"
5162
5449
  })(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n \n /* Divider styles */\n ", "\n"], ["\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n \n /* Divider styles */\n ", "\n"])), function (_a) {
5163
5450
  var $dividers = _a.$dividers;
5164
- return $dividers && "\n > li:not(:last-child) {\n border-bottom: ".concat(semantic$5.border.width.thin, " solid ").concat(semantic$5.color.border["default"], ";\n }\n ");
5451
+ return $dividers && "\n > li:not(:last-child) {\n border-bottom: ".concat(semantic$6.border.width.thin, " solid ").concat(semantic$6.color.border["default"], ";\n }\n ");
5165
5452
  });
5166
5453
  var List = function List(_a) {
5167
5454
  var children = _a.children,
@@ -5185,12 +5472,12 @@ var List = function List(_a) {
5185
5472
  List.displayName = 'List';
5186
5473
  var templateObject_1$c;
5187
5474
 
5188
- var semantic$4 = tokensJson.semantic;
5189
- var layout = semantic$4.spacing.layout,
5190
- color = semantic$4.color,
5191
- border = semantic$4.border,
5192
- elevation = semantic$4.elevation,
5193
- motion = semantic$4.motion;
5475
+ var semantic$5 = tokensJson.semantic;
5476
+ var layout = semantic$5.spacing.layout,
5477
+ color = semantic$5.color,
5478
+ border = semantic$5.border,
5479
+ elevation = semantic$5.elevation,
5480
+ motion = semantic$5.motion;
5194
5481
  // ---------------------------------------------------------------------------
5195
5482
  // Size map
5196
5483
  // ---------------------------------------------------------------------------
@@ -5214,7 +5501,7 @@ var scaleIn = keyframes(templateObject_2$a || (templateObject_2$a = __makeTempla
5214
5501
  var StyledOverlay$1 = styled.div.withConfig({
5215
5502
  displayName: "Modal__StyledOverlay",
5216
5503
  componentId: "sc-1d3g5gh-0"
5217
- })(templateObject_4$8 || (templateObject_4$8 = __makeTemplateObject(["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n ", "\n"], ["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n ", "\n"])), color.background.overlay, semantic$4.zIndex.modal, css(templateObject_3$9 || (templateObject_3$9 = __makeTemplateObject(["animation: ", " ", " ", "", ";"], ["animation: ", " ", " ", "", ";"])), fadeIn$1, motion.duration.normal, motion.easing.easeOut, function (_a) {
5504
+ })(templateObject_4$8 || (templateObject_4$8 = __makeTemplateObject(["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n ", "\n"], ["\n position: fixed;\n inset: 0;\n background-color: ", ";\n z-index: ", ";\n ", "\n"])), color.background.overlay, semantic$5.zIndex.modal, css(templateObject_3$9 || (templateObject_3$9 = __makeTemplateObject(["animation: ", " ", " ", "", ";"], ["animation: ", " ", " ", "", ";"])), fadeIn$1, motion.duration.normal, motion.easing.easeOut, function (_a) {
5218
5505
  var $isExiting = _a.$isExiting;
5219
5506
  return $isExiting && exitAnimation;
5220
5507
  }));
@@ -5224,7 +5511,7 @@ var StyledDialog = styled.div.withConfig({
5224
5511
  },
5225
5512
  displayName: "Modal__StyledDialog",
5226
5513
  componentId: "sc-1d3g5gh-1"
5227
- })(templateObject_6$6 || (templateObject_6$6 = __makeTemplateObject(["\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(1);\n z-index: ", ";\n\n width: ", ";\n max-width: calc(100vw - ", " * 2);\n max-height: calc(100vh - ", " * 2);\n\n display: flex;\n flex-direction: column;\n\n background-color: ", ";\n border-radius: ", ";\n box-shadow: ", ";\n overflow: hidden;\n\n ", "\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n /* Auto-fullscreen below md breakpoint (768px) */\n @media (max-width: ", ") {\n width: 100vw;\n height: 100vh;\n max-width: 100vw;\n max-height: 100vh;\n border-radius: 0;\n top: 0;\n left: 0;\n transform: none;\n animation: ", " ", " ", "", ";\n }\n\n &:focus {\n outline: none;\n }\n\n"], ["\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(1);\n z-index: ", ";\n\n width: ", ";\n max-width: calc(100vw - ", " * 2);\n max-height: calc(100vh - ", " * 2);\n\n display: flex;\n flex-direction: column;\n\n background-color: ", ";\n border-radius: ", ";\n box-shadow: ", ";\n overflow: hidden;\n\n ", "\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n /* Auto-fullscreen below md breakpoint (768px) */\n @media (max-width: ", ") {\n width: 100vw;\n height: 100vh;\n max-width: 100vw;\n max-height: 100vh;\n border-radius: 0;\n top: 0;\n left: 0;\n transform: none;\n animation: ", " ", " ", "", ";\n }\n\n &:focus {\n outline: none;\n }\n\n"])), semantic$4.zIndex.modal, function (_a) {
5514
+ })(templateObject_6$6 || (templateObject_6$6 = __makeTemplateObject(["\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(1);\n z-index: ", ";\n\n width: ", ";\n max-width: calc(100vw - ", " * 2);\n max-height: calc(100vh - ", " * 2);\n\n display: flex;\n flex-direction: column;\n\n background-color: ", ";\n border-radius: ", ";\n box-shadow: ", ";\n overflow: hidden;\n\n ", "\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n /* Auto-fullscreen below md breakpoint (768px) */\n @media (max-width: ", ") {\n width: 100vw;\n height: 100vh;\n max-width: 100vw;\n max-height: 100vh;\n border-radius: 0;\n top: 0;\n left: 0;\n transform: none;\n animation: ", " ", " ", "", ";\n }\n\n &:focus {\n outline: none;\n }\n\n"], ["\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(1);\n z-index: ", ";\n\n width: ", ";\n max-width: calc(100vw - ", " * 2);\n max-height: calc(100vh - ", " * 2);\n\n display: flex;\n flex-direction: column;\n\n background-color: ", ";\n border-radius: ", ";\n box-shadow: ", ";\n overflow: hidden;\n\n ", "\n\n ", " {\n animation: ", " ", " ", "", ";\n }\n\n /* Auto-fullscreen below md breakpoint (768px) */\n @media (max-width: ", ") {\n width: 100vw;\n height: 100vh;\n max-width: 100vw;\n max-height: 100vh;\n border-radius: 0;\n top: 0;\n left: 0;\n transform: none;\n animation: ", " ", " ", "", ";\n }\n\n &:focus {\n outline: none;\n }\n\n"])), semantic$5.zIndex.modal, function (_a) {
5228
5515
  var $width = _a.$width;
5229
5516
  return $width;
5230
5517
  }, layout.lg, layout.lg, color.background.subtle, border.radius.xl, elevation.overlay, css(templateObject_5$7 || (templateObject_5$7 = __makeTemplateObject(["animation: ", " ", " ", "", ";"], ["animation: ", " ", " ", "", ";"])), scaleIn, motion.duration.normal, motion.easing.easeOut, function (_a) {
@@ -5233,7 +5520,7 @@ var StyledDialog = styled.div.withConfig({
5233
5520
  }), reducedMotion, fadeIn$1, motion.duration.normal, motion.easing.easeOut, function (_a) {
5234
5521
  var $isExiting = _a.$isExiting;
5235
5522
  return $isExiting && exitAnimation;
5236
- }, semantic$4.breakpoint.md, fadeIn$1, motion.duration.normal, motion.easing.easeOut, function (_a) {
5523
+ }, semantic$5.breakpoint.md, fadeIn$1, motion.duration.normal, motion.easing.easeOut, function (_a) {
5237
5524
  var $isExiting = _a.$isExiting;
5238
5525
  return $isExiting && exitAnimation;
5239
5526
  });
@@ -5244,7 +5531,7 @@ var StyledHeader = styled.div.withConfig({
5244
5531
  var StyledBody = styled.div.withConfig({
5245
5532
  displayName: "Modal__StyledBody",
5246
5533
  componentId: "sc-1d3g5gh-3"
5247
- })(templateObject_8$4 || (templateObject_8$4 = __makeTemplateObject(["\n flex: 1 1 auto;\n overflow-y: auto;\n padding: ", " ", ";\n\n /* Scrollbar styling */\n &::-webkit-scrollbar {\n width: ", ";\n }\n &::-webkit-scrollbar-track {\n background: ", ";\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n &::-webkit-scrollbar-thumb:hover {\n background: ", ";\n }\n"], ["\n flex: 1 1 auto;\n overflow-y: auto;\n padding: ", " ", ";\n\n /* Scrollbar styling */\n &::-webkit-scrollbar {\n width: ", ";\n }\n &::-webkit-scrollbar-track {\n background: ", ";\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n &::-webkit-scrollbar-thumb:hover {\n background: ", ";\n }\n"])), layout.md, layout.lg, semantic$4.spacing.layout.sm, color.background.surface, color.border["default"], border.radius.circle, color.border.strong);
5534
+ })(templateObject_8$4 || (templateObject_8$4 = __makeTemplateObject(["\n flex: 1 1 auto;\n overflow-y: auto;\n padding: ", " ", ";\n\n /* Scrollbar styling */\n &::-webkit-scrollbar {\n width: ", ";\n }\n &::-webkit-scrollbar-track {\n background: ", ";\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n &::-webkit-scrollbar-thumb:hover {\n background: ", ";\n }\n"], ["\n flex: 1 1 auto;\n overflow-y: auto;\n padding: ", " ", ";\n\n /* Scrollbar styling */\n &::-webkit-scrollbar {\n width: ", ";\n }\n &::-webkit-scrollbar-track {\n background: ", ";\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n &::-webkit-scrollbar-thumb:hover {\n background: ", ";\n }\n"])), layout.md, layout.lg, semantic$5.spacing.layout.sm, color.background.surface, color.border["default"], border.radius.circle, color.border.strong);
5248
5535
  var StyledFooter = styled.div.withConfig({
5249
5536
  displayName: "Modal__StyledFooter",
5250
5537
  componentId: "sc-1d3g5gh-4"
@@ -5428,20 +5715,21 @@ var Modal = function Modal(_a) {
5428
5715
  Modal.displayName = 'Modal';
5429
5716
  var templateObject_1$b, templateObject_2$a, templateObject_3$9, templateObject_4$8, templateObject_5$7, templateObject_6$6, templateObject_7$5, templateObject_8$4, templateObject_9$3;
5430
5717
 
5431
- var input = tokensJson.component.input;
5718
+ var input = tokensJson.component.input,
5719
+ semantic$4 = tokensJson.semantic;
5432
5720
  var StyledInputBase = styled.input.withConfig({
5433
5721
  shouldForwardProp: function shouldForwardProp(prop) {
5434
5722
  return !prop.startsWith('$');
5435
5723
  },
5436
5724
  displayName: "InputBase__StyledInputBase",
5437
5725
  componentId: "sc-1bpf4e8-0"
5438
- })(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n /* Typography */\n font: ", ";\n color: ", ";\n \n /* Layout */\n width: 100%;\n padding: ", " ", ";\n \n /* Visual styling */\n background-color: ", ";\n \n border: ", " solid ", ";\n \n border-radius: ", ";\n \n /* Remove default appearance */\n appearance: none;\n outline: none;\n \n /* Transitions */\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n /* Placeholder */\n &::placeholder {\n color: ", ";\n opacity: 1;\n }\n \n /* Focus state */\n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n /* Hover state (only when not disabled) */\n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n /* Disabled state */\n &:disabled {\n cursor: ", ";\n }\n \n /* Remove number input spinners */\n &[type='number']::-webkit-inner-spin-button,\n &[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n \n &[type='number'] {\n -moz-appearance: textfield;\n }\n"], ["\n /* Typography */\n font: ", ";\n color: ", ";\n \n /* Layout */\n width: 100%;\n padding: ", " ", ";\n \n /* Visual styling */\n background-color: ", ";\n \n border: ", " solid ", ";\n \n border-radius: ", ";\n \n /* Remove default appearance */\n appearance: none;\n outline: none;\n \n /* Transitions */\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n /* Placeholder */\n &::placeholder {\n color: ", ";\n opacity: 1;\n }\n \n /* Focus state */\n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n /* Hover state (only when not disabled) */\n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n /* Disabled state */\n &:disabled {\n cursor: ", ";\n }\n \n /* Remove number input spinners */\n &[type='number']::-webkit-inner-spin-button,\n &[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n \n &[type='number'] {\n -moz-appearance: textfield;\n }\n"
5726
+ })(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n /* Typography */\n font: ", ";\n color: ", ";\n \n /* Layout */\n width: 100%;\n padding: ", " ", ";\n \n /* Visual styling */\n background-color: ", ";\n \n border: ", " solid ", ";\n \n border-radius: ", ";\n \n /* Remove default appearance */\n appearance: none;\n outline: none;\n \n /* Transitions */\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n /* Placeholder */\n &::placeholder {\n color: ", ";\n opacity: 1;\n }\n \n /* Focus state */\n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n /* Hover state (only when not disabled) */\n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n /* Disabled state */\n &:disabled {\n cursor: not-allowed;\n }\n \n /* Remove number input spinners */\n &[type='number']::-webkit-inner-spin-button,\n &[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n \n &[type='number'] {\n -moz-appearance: textfield;\n }\n"], ["\n /* Typography */\n font: ", ";\n color: ", ";\n \n /* Layout */\n width: 100%;\n padding: ", " ", ";\n \n /* Visual styling */\n background-color: ", ";\n \n border: ", " solid ", ";\n \n border-radius: ", ";\n \n /* Remove default appearance */\n appearance: none;\n outline: none;\n \n /* Transitions */\n transition: border-color ", " ", ",\n outline ", " ", ";\n \n /* Placeholder */\n &::placeholder {\n color: ", ";\n opacity: 1;\n }\n \n /* Focus state */\n &:focus {\n border-color: ", ";\n outline: ", ";\n outline-offset: ", ";\n }\n \n /* Hover state (only when not disabled) */\n &:hover:not(:disabled) {\n border-color: ", ";\n }\n \n /* Disabled state */\n &:disabled {\n cursor: not-allowed;\n }\n \n /* Remove number input spinners */\n &[type='number']::-webkit-inner-spin-button,\n &[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n \n &[type='number'] {\n -moz-appearance: textfield;\n }\n"
5439
5727
  /**
5440
5728
  * Base styled textarea with shared styling
5441
5729
  */])), input["default"].font, function (_a) {
5442
5730
  var $disabled = _a.$disabled;
5443
5731
  return $disabled ? input.disabled.textColor : input["default"].textColor;
5444
- }, input["default"].paddingY, input["default"].paddingX, function (_a) {
5732
+ }, input["default"].paddingY, semantic$4.spacing.component.lg, function (_a) {
5445
5733
  var $disabled = _a.$disabled;
5446
5734
  return $disabled ? input.disabled.backgroundColor : input["default"].backgroundColor;
5447
5735
  }, input["default"].borderWidth, function (_a) {
@@ -5453,10 +5741,10 @@ var StyledInputBase = styled.input.withConfig({
5453
5741
  }, input["default"].borderRadius, tokensJson.semantic.motion.duration.normal, tokensJson.semantic.motion.easing.easeInOut, tokensJson.semantic.motion.duration.normal, tokensJson.semantic.motion.easing.easeInOut, input.placeholder.textColor, function (_a) {
5454
5742
  var $hasError = _a.$hasError;
5455
5743
  return $hasError ? input.error.focus.borderColor : input.focus.borderColor;
5456
- }, input.focus.outline, input.focus.outlineOffset, function (_a) {
5744
+ }, input.focus.outline, semantic$4.border.focusOffset, function (_a) {
5457
5745
  var $hasError = _a.$hasError;
5458
5746
  return $hasError ? input.error.hover.borderColor : input.hover.borderColor;
5459
- }, input.disabled.cursor);
5747
+ });
5460
5748
  /**
5461
5749
  * Base styled textarea with shared styling
5462
5750
  */
@@ -5470,14 +5758,16 @@ var StyledTextAreaBase = styled.textarea.withConfig({
5470
5758
  var templateObject_1$a, templateObject_2$9;
5471
5759
 
5472
5760
  var field$2 = tokensJson.component.field;
5761
+ // Gaps come from the semantic spacing scale: no component spacing tokens (decision 0022)
5762
+ var gap$2 = tokensJson.semantic.spacing.layout;
5473
5763
  var StyledFieldContainer$2 = styled.div.withConfig({
5474
5764
  displayName: "NumberInput__StyledFieldContainer",
5475
5765
  componentId: "sc-qotc3w-0"
5476
- })(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), field$2.gap);
5766
+ })(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), gap$2.sm);
5477
5767
  var StyledLabel$3 = styled.label.withConfig({
5478
5768
  displayName: "NumberInput__StyledLabel",
5479
5769
  componentId: "sc-qotc3w-1"
5480
- })(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"])), field$2.label.gap, field$2.label.typography, field$2.label.color, field$2.label.colorDisabled);
5770
+ })(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"])), gap$2.xs, field$2.label.typography, field$2.label.color, field$2.label.colorDisabled);
5481
5771
  var StyledRequiredIndicator$2 = styled.span.withConfig({
5482
5772
  displayName: "NumberInput__StyledRequiredIndicator",
5483
5773
  componentId: "sc-qotc3w-2"
@@ -5789,14 +6079,16 @@ var PageTitle = function PageTitle(_a) {
5789
6079
  var templateObject_1$8;
5790
6080
 
5791
6081
  var field$1 = tokensJson.component.field;
6082
+ // Gaps come from the semantic spacing scale: no component spacing tokens (decision 0022)
6083
+ var gap$1 = tokensJson.semantic.spacing.layout;
5792
6084
  var StyledFieldContainer$1 = styled.div.withConfig({
5793
6085
  displayName: "PasswordField__StyledFieldContainer",
5794
6086
  componentId: "sc-1p15zk0-0"
5795
- })(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), field$1.gap);
6087
+ })(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), gap$1.sm);
5796
6088
  var StyledLabel$2 = styled.label.withConfig({
5797
6089
  displayName: "PasswordField__StyledLabel",
5798
6090
  componentId: "sc-1p15zk0-1"
5799
- })(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"])), field$1.label.gap, field$1.label.typography, field$1.label.color, field$1.label.colorDisabled);
6091
+ })(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"])), gap$1.xs, field$1.label.typography, field$1.label.color, field$1.label.colorDisabled);
5800
6092
  var StyledRequiredIndicator$1 = styled.span.withConfig({
5801
6093
  displayName: "PasswordField__StyledRequiredIndicator",
5802
6094
  componentId: "sc-1p15zk0-2"
@@ -5930,14 +6222,14 @@ var StyledInputWrapper = styled.div.withConfig({
5930
6222
  displayName: "SearchField__StyledInputWrapper",
5931
6223
  componentId: "sc-qhz9i8-1"
5932
6224
  })(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n padding: ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n transition: border-color ", " ", ", outline ", " ", ";\n \n ", "\n \n ", "\n \n &:hover:not([data-disabled='true']) {\n border-color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n padding: ", " ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-radius: ", ";\n transition: border-color ", " ", ", outline ", " ", ";\n \n ", "\n \n ", "\n \n &:hover:not([data-disabled='true']) {\n border-color: ", ";\n }\n"])), semantic$3.spacing.layout.sm, semantic$3.spacing.layout.sm, semantic$3.spacing.layout.md, component.input["default"].backgroundColor, component.input["default"].borderWidth, component.input["default"].borderColor, component.input["default"].borderRadius, semantic$3.motion.duration.normal, semantic$3.motion.easing.easeInOut, semantic$3.motion.duration.normal, semantic$3.motion.easing.easeInOut, function (props) {
5933
- return props.$isFocused && "\n border-color: ".concat(component.input.focus.borderColor, ";\n outline: ").concat(component.input.focus.outline, ";\n outline-offset: ").concat(component.input.focus.outlineOffset, ";\n ");
6225
+ return props.$isFocused && "\n border-color: ".concat(component.input.focus.borderColor, ";\n outline: ").concat(component.input.focus.outline, ";\n outline-offset: ").concat(semantic$3.border.focusOffset, ";\n ");
5934
6226
  }, function (props) {
5935
6227
  return props.$disabled && "\n background-color: ".concat(component.input.disabled.backgroundColor, ";\n border-color: ").concat(component.input.disabled.borderColor, ";\n cursor: not-allowed;\n ");
5936
6228
  }, component.input.hover.borderColor);
5937
6229
  var StyledInput = styled.input.withConfig({
5938
6230
  displayName: "SearchField__StyledInput",
5939
6231
  componentId: "sc-qhz9i8-2"
5940
- })(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n flex: 1;\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n \n &::placeholder {\n color: ", ";\n }\n \n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"], ["\n flex: 1;\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n \n &::placeholder {\n color: ", ";\n }\n \n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"])), semantic$3.typography.body, semantic$3.color.text["default"], semantic$3.color.text.subdued, semantic$3.color.text.disabled);
6232
+ })(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n flex: 1;\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n \n &::placeholder {\n color: ", ";\n /* Firefox fades placeholders to 0.54 by default, which would undo the 4.5:1 contrast */\n opacity: 1;\n }\n \n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"], ["\n flex: 1;\n border: none;\n background: transparent;\n font: ", ";\n color: ", ";\n outline: none;\n \n &::placeholder {\n color: ", ";\n /* Firefox fades placeholders to 0.54 by default, which would undo the 4.5:1 contrast */\n opacity: 1;\n }\n \n &:disabled {\n color: ", ";\n cursor: not-allowed;\n }\n"])), semantic$3.typography.body, semantic$3.color.text["default"], component.input.placeholder.textColor, semantic$3.color.text.disabled);
5941
6233
  var StyledSuggestionsList = styled.ul.withConfig({
5942
6234
  displayName: "SearchField__StyledSuggestionsList",
5943
6235
  componentId: "sc-qhz9i8-3"
@@ -6500,7 +6792,7 @@ var StyledTrack = styled.div.withConfig({
6500
6792
  componentId: "sc-6mh2d4-3"
6501
6793
  })(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n position: relative;\n width: 100%;\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n cursor: ", ";\n"], ["\n position: relative;\n width: 100%;\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n cursor: ", ";\n"])), semantic$1.spacing.layout.xs, function (_a) {
6502
6794
  var $disabled = _a.$disabled;
6503
- return $disabled ? semantic$1.color.background.disabled : semantic$1.color.border["default"];
6795
+ return $disabled ? semantic$1.color.background.disabled : semantic$1.color.background.progressTrack;
6504
6796
  }, semantic$1.border.radius.circle, function (_a) {
6505
6797
  var $disabled = _a.$disabled;
6506
6798
  return $disabled ? 'not-allowed' : 'pointer';
@@ -6510,7 +6802,7 @@ var StyledTrackFill = styled.div.withConfig({
6510
6802
  componentId: "sc-6mh2d4-4"
6511
6803
  })(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n position: absolute;\n height: 100%;\n background-color: ", ";\n border-radius: ", ";\n pointer-events: none;\n"], ["\n position: absolute;\n height: 100%;\n background-color: ", ";\n border-radius: ", ";\n pointer-events: none;\n"])), function (_a) {
6512
6804
  var $disabled = _a.$disabled;
6513
- return $disabled ? semantic$1.color.border["default"] : semantic$1.color.background.emphasis;
6805
+ return $disabled ? semantic$1.color.icon.disabled : semantic$1.color.background.emphasis;
6514
6806
  }, semantic$1.border.radius.circle);
6515
6807
  var StyledThumb = styled.div.withConfig({
6516
6808
  displayName: "Slider__StyledThumb",
@@ -6520,7 +6812,7 @@ var StyledThumb = styled.div.withConfig({
6520
6812
  return $disabled ? semantic$1.color.background.disabled : semantic$1.color.background.subtle;
6521
6813
  }, semantic$1.border.width.thick, function (_a) {
6522
6814
  var $disabled = _a.$disabled;
6523
- return $disabled ? semantic$1.color.border["default"] : semantic$1.color.background.emphasis;
6815
+ return $disabled ? semantic$1.color.icon.disabled : semantic$1.color.background.emphasis;
6524
6816
  }, semantic$1.border.radius.circle, function (_a) {
6525
6817
  var $disabled = _a.$disabled;
6526
6818
  return $disabled ? 'not-allowed' : 'grab';
@@ -6886,47 +7178,42 @@ var templateObject_1$4, templateObject_2$4, templateObject_3$4, templateObject_4
6886
7178
 
6887
7179
  var semantic = tokensJson.semantic;
6888
7180
  var StyledTabList = styled.div.withConfig({
6889
- shouldForwardProp: function shouldForwardProp(prop) {
6890
- return !prop.startsWith('$');
6891
- },
6892
7181
  displayName: "TabBar__StyledTabList",
6893
7182
  componentId: "sc-1g9ib0y-0"
6894
- })(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n border-bottom: ", ";\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n \n &::-webkit-scrollbar {\n height: ", ";\n }\n \n &::-webkit-scrollbar-track {\n background: ", ";\n }\n \n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n border-bottom: ", ";\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n \n &::-webkit-scrollbar {\n height: ", ";\n }\n \n &::-webkit-scrollbar-track {\n background: ", ";\n }\n \n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n"])), function (props) {
6895
- return props.$variant === 'pills' ? semantic.spacing.layout.sm : '0';
6896
- }, function (props) {
6897
- return props.$variant === 'underline' ? "".concat(semantic.border.width.thin, " solid ").concat(semantic.color.border.subtle) : 'none';
6898
- }, tokensJson.component.tabBar.scrollbar.height, semantic.color.background.subtle, semantic.color.border["default"], semantic.border.radius.sm);
7183
+ })(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n border-bottom: ", " solid ", ";\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n \n &::-webkit-scrollbar {\n height: ", ";\n }\n \n &::-webkit-scrollbar-track {\n background: ", ";\n }\n \n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n border-bottom: ", " solid ", ";\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n \n &::-webkit-scrollbar {\n height: ", ";\n }\n \n &::-webkit-scrollbar-track {\n background: ", ";\n }\n \n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: ", ";\n }\n"])), semantic.border.width.thin, semantic.color.border.subtle, tokensJson.component.tabBar.scrollbar.height, semantic.color.background.subtle, semantic.color.border["default"], semantic.border.radius.sm);
6899
7184
  var StyledTab = styled.button.withConfig({
6900
7185
  shouldForwardProp: function shouldForwardProp(prop) {
6901
7186
  return !prop.startsWith('$');
6902
7187
  },
6903
7188
  displayName: "TabBar__StyledTab",
6904
7189
  componentId: "sc-1g9ib0y-1"
6905
- })(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n padding: ", " ", ";\n font: ", ";\n white-space: nowrap;\n cursor: ", ";\n border: none;\n background: transparent;\n transition: ", ";\n position: relative;\n \n /* Variant-specific styles */\n ", "\n \n /* Disabled state */\n opacity: ", ";\n \n /* Focus state */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n z-index: 1;\n }\n \n /* Active/pressed state */\n &:active:not(:disabled) {\n transform: translateY(1px);\n }\n"], ["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n padding: ", " ", ";\n font: ", ";\n white-space: nowrap;\n cursor: ", ";\n border: none;\n background: transparent;\n transition: ", ";\n position: relative;\n \n /* Variant-specific styles */\n ", "\n \n /* Disabled state */\n opacity: ", ";\n \n /* Focus state */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n z-index: 1;\n }\n \n /* Active/pressed state */\n &:active:not(:disabled) {\n transform: translateY(1px);\n }\n"])), semantic.spacing.layout.sm, semantic.spacing.layout.md, semantic.spacing.layout.lg, semantic.typography.button2, function (props) {
7190
+ })(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n padding: ", " ", ";\n font: ", ";\n white-space: nowrap;\n cursor: ", ";\n border: none;\n background: transparent;\n transition: ", ";\n position: relative;\n \n /* Selected tab: the light-blue selected treatment plus a blue underline (decisions 0016, 0020).\n The text darkens with the fill on hover and press so every state stays at least 4.5:1. */\n border-radius: ", " ", " 0 0;\n background-color: ", ";\n color: ", ";\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: ", ";\n background-color: ", ";\n transition: ", ";\n }\n\n &:hover:not(:disabled) {\n background-color: ", ";\n color: ", ";\n }\n\n &:active:not(:disabled) {\n background-color: ", ";\n color: ", ";\n }\n\n /* Disabled state */\n opacity: ", ";\n \n /* Focus state */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n z-index: 1;\n }\n \n /* Pressed nudge */\n &:active:not(:disabled) {\n transform: translateY(1px);\n }\n"], ["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n padding: ", " ", ";\n font: ", ";\n white-space: nowrap;\n cursor: ", ";\n border: none;\n background: transparent;\n transition: ", ";\n position: relative;\n \n /* Selected tab: the light-blue selected treatment plus a blue underline (decisions 0016, 0020).\n The text darkens with the fill on hover and press so every state stays at least 4.5:1. */\n border-radius: ", " ", " 0 0;\n background-color: ", ";\n color: ", ";\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: ", ";\n background-color: ", ";\n transition: ", ";\n }\n\n &:hover:not(:disabled) {\n background-color: ", ";\n color: ", ";\n }\n\n &:active:not(:disabled) {\n background-color: ", ";\n color: ", ";\n }\n\n /* Disabled state */\n opacity: ", ";\n \n /* Focus state */\n &:focus-visible {\n outline: ", " solid ", ";\n outline-offset: ", ";\n z-index: 1;\n }\n \n /* Pressed nudge */\n &:active:not(:disabled) {\n transform: translateY(1px);\n }\n"])), semantic.spacing.layout.sm, semantic.spacing.layout.md, semantic.spacing.layout.lg, semantic.typography.button2, function (props) {
6906
7191
  return props.$disabled ? 'not-allowed' : 'pointer';
7192
+ }, semantic.motion.hover, semantic.border.radius.sm, semantic.border.radius.sm, function (props) {
7193
+ return props.$isActive ? semantic.color.background['interactive-subtle'] : 'transparent';
7194
+ }, function (props) {
7195
+ return props.$isActive ? semantic.color.text.interactive : semantic.color.text.subdued;
7196
+ }, semantic.border.width.thick, function (props) {
7197
+ return props.$isActive ? semantic.color.background.interactive : 'transparent';
6907
7198
  }, semantic.motion.hover, function (props) {
6908
- if (props.$variant === 'pills') {
6909
- return "\n border-radius: ".concat(semantic.border.radius.circle, ";\n background-color: ").concat(props.$isActive ? semantic.color.background.interactive : semantic.color.background.subtle, ";\n color: ").concat(props.$isActive ? semantic.color.text.inverse : semantic.color.text["default"], ";\n \n &:hover:not(:disabled) {\n background-color: ").concat(props.$isActive ? semantic.color.background['interactive-hover'] : semantic.color.background.surface, ";\n }\n ");
6910
- }
6911
- if (props.$variant === 'underline') {
6912
- return "\n color: ".concat(props.$isActive ? semantic.color.text.interactive : semantic.color.text.subdued, ";\n \n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: ").concat(semantic.border.width.thick, ";\n background-color: ").concat(props.$isActive ? semantic.color.background.interactive : 'transparent', ";\n transition: ").concat(semantic.motion.hover, ";\n }\n \n &:hover:not(:disabled) {\n color: ").concat(semantic.color.text.interactive, ";\n }\n ");
6913
- }
6914
- // default variant
6915
- return "\n border-radius: ".concat(semantic.border.radius.sm, " ").concat(semantic.border.radius.sm, " 0 0;\n background-color: ").concat(props.$isActive ? semantic.color.background.subtle : semantic.color.background["default"], ";\n color: ").concat(props.$isActive ? semantic.color.text["default"] : semantic.color.text.subdued, ";\n border: ").concat(semantic.border.width.thin, " solid ").concat(semantic.color.border["default"], ";\n border-bottom: ").concat(props.$isActive ? 'none' : "".concat(semantic.border.width.thin, " solid ").concat(semantic.color.border["default"]), ";\n margin-bottom: ").concat(props.$isActive ? '-1px' : '0', ";\n \n &:hover:not(:disabled) {\n background-color: ").concat(semantic.color.background.surface, ";\n color: ").concat(semantic.color.text["default"], ";\n }\n ");
7199
+ return props.$isActive ? semantic.color.background['interactive-subtle-hover'] : 'transparent';
7200
+ }, function (props) {
7201
+ return props.$isActive ? semantic.color.text['interactive-hover'] : semantic.color.text["default"];
7202
+ }, function (props) {
7203
+ return props.$isActive ? semantic.color.background['interactive-subtle-active'] : 'transparent';
7204
+ }, function (props) {
7205
+ return props.$isActive ? semantic.color.text['interactive-active'] : semantic.color.text["default"];
6916
7206
  }, function (props) {
6917
7207
  return props.$disabled ? '0.5' : '1';
6918
7208
  }, semantic.border.width.thick, semantic.color.border.strong, semantic.spacing.layout.xs);
6919
7209
  var StyledBadge = styled.span.withConfig({
6920
- shouldForwardProp: function shouldForwardProp(prop) {
6921
- return !prop.startsWith('$');
6922
- },
6923
7210
  displayName: "TabBar__StyledBadge",
6924
7211
  componentId: "sc-1g9ib0y-2"
6925
7212
  })(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: ", ";\n height: ", ";\n padding: 0 ", ";\n font: ", ";\n font-weight: ", ";\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: ", ";\n height: ", ";\n padding: 0 ", ";\n font: ", ";\n font-weight: ", ";\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n"
6926
7213
  /**
6927
7214
  * TabBar component for tabbed navigation
6928
7215
  *
6929
- * Provides accessible tab navigation with 3 visual variants, keyboard support,
7216
+ * Provides accessible tab navigation with an underline style, keyboard support,
6930
7217
  * and optional badge counts. Follows ARIA tablist pattern.
6931
7218
  *
6932
7219
  * @example
@@ -6941,16 +7228,13 @@ var StyledBadge = styled.span.withConfig({
6941
7228
  * ]}
6942
7229
  * activeTab={activeTab}
6943
7230
  * onTabChange={setActiveTab}
6944
- * variant="pills"
6945
7231
  * />
6946
7232
  * ```
6947
- */])), tokensJson.component.tabBar.badge.size, tokensJson.component.tabBar.badge.size, semantic.spacing.layout.xs, tokensJson.component.tabBar.badge.typography, tokensJson.component.tabBar.badge.fontWeight, semantic.border.radius.circle, function (props) {
6948
- return props.$variant === 'pills' && props.$isActive ? semantic.color.background['inverse-overlay'] : semantic.color.background.interactive;
6949
- }, semantic.color.text.inverse);
7233
+ */])), tokensJson.component.tabBar.badge.size, tokensJson.component.tabBar.badge.size, semantic.spacing.layout.xs, tokensJson.component.tabBar.badge.typography, tokensJson.component.tabBar.badge.fontWeight, semantic.border.radius.circle, semantic.color.background.interactive, semantic.color.text.inverse);
6950
7234
  /**
6951
7235
  * TabBar component for tabbed navigation
6952
7236
  *
6953
- * Provides accessible tab navigation with 3 visual variants, keyboard support,
7237
+ * Provides accessible tab navigation with an underline style, keyboard support,
6954
7238
  * and optional badge counts. Follows ARIA tablist pattern.
6955
7239
  *
6956
7240
  * @example
@@ -6965,27 +7249,26 @@ var StyledBadge = styled.span.withConfig({
6965
7249
  * ]}
6966
7250
  * activeTab={activeTab}
6967
7251
  * onTabChange={setActiveTab}
6968
- * variant="pills"
6969
7252
  * />
6970
7253
  * ```
6971
7254
  */
6972
7255
  var TabBar = function TabBar(_a) {
6973
7256
  var tabs = _a.tabs,
6974
7257
  activeTab = _a.activeTab,
6975
- onTabChange = _a.onTabChange,
6976
- _b = _a.variant,
6977
- variant = _b === void 0 ? 'default' : _b,
6978
- _c = _a["aria-label"],
6979
- ariaLabel = _c === void 0 ? 'Tab navigation' : _c,
7258
+ onTabChange = _a.onTabChange;
7259
+ // Deprecated: every variant renders as underline (decision 0020)
7260
+ _a.variant;
7261
+ var _b = _a["aria-label"],
7262
+ ariaLabel = _b === void 0 ? 'Tab navigation' : _b,
6980
7263
  dataTestId = _a["data-testid"];
6981
7264
  var tabRefs = useRef([]);
6982
- var _d = useState(function () {
7265
+ var _c = useState(function () {
6983
7266
  return tabs.findIndex(function (tab) {
6984
7267
  return tab.id === activeTab;
6985
7268
  });
6986
7269
  }),
6987
- focusedIndex = _d[0],
6988
- setFocusedIndex = _d[1];
7270
+ focusedIndex = _c[0],
7271
+ setFocusedIndex = _c[1];
6989
7272
  // Update focused index when active tab changes externally
6990
7273
  useEffect(function () {
6991
7274
  var newIndex = tabs.findIndex(function (tab) {
@@ -7060,7 +7343,6 @@ var TabBar = function TabBar(_a) {
7060
7343
  }
7061
7344
  };
7062
7345
  return jsx(StyledTabList, {
7063
- "$variant": variant,
7064
7346
  role: "tablist",
7065
7347
  "aria-label": ariaLabel,
7066
7348
  "data-testid": dataTestId,
@@ -7069,7 +7351,6 @@ var TabBar = function TabBar(_a) {
7069
7351
  ref: function ref(el) {
7070
7352
  tabRefs.current[index] = el;
7071
7353
  },
7072
- "$variant": variant,
7073
7354
  "$isActive": tab.id === activeTab,
7074
7355
  "$disabled": tab.disabled || false,
7075
7356
  role: "tab",
@@ -7085,8 +7366,6 @@ var TabBar = function TabBar(_a) {
7085
7366
  },
7086
7367
  "data-testid": "".concat(dataTestId, "-tab-").concat(tab.id),
7087
7368
  children: [tab.label, typeof tab.badge === 'number' && tab.badge > 0 && jsx(StyledBadge, {
7088
- "$variant": variant,
7089
- "$isActive": tab.id === activeTab,
7090
7369
  "aria-label": "".concat(tab.badge, " items"),
7091
7370
  children: tab.badge > 99 ? '99+' : tab.badge
7092
7371
  })]
@@ -7098,14 +7377,16 @@ TabBar.displayName = 'TabBar';
7098
7377
  var templateObject_1$3, templateObject_2$3, templateObject_3$3;
7099
7378
 
7100
7379
  var field = tokensJson.component.field;
7380
+ // Gaps come from the semantic spacing scale: no component spacing tokens (decision 0022)
7381
+ var gap = tokensJson.semantic.spacing.layout;
7101
7382
  var StyledFieldContainer = styled.div.withConfig({
7102
7383
  displayName: "TextField__StyledFieldContainer",
7103
7384
  componentId: "sc-1ys3b0-0"
7104
- })(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), field.gap);
7385
+ })(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", ";\n width: 100%;\n"])), gap.sm);
7105
7386
  var StyledLabel = styled.label.withConfig({
7106
7387
  displayName: "TextField__StyledLabel",
7107
7388
  componentId: "sc-1ys3b0-1"
7108
- })(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"])), field.label.gap, field.label.typography, field.label.color, field.label.colorDisabled);
7389
+ })(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n font: ", ";\n color: ", ";\n\n &[data-disabled='true'] {\n color: ", ";\n }\n"])), gap.xs, field.label.typography, field.label.color, field.label.colorDisabled);
7109
7390
  var StyledRequiredIndicator = styled.span.withConfig({
7110
7391
  displayName: "TextField__StyledRequiredIndicator",
7111
7392
  componentId: "sc-1ys3b0-2"
@@ -7238,9 +7519,9 @@ var StyledTruncatedText = styled.span.withConfig({
7238
7519
  displayName: "TransactionListItem__StyledTruncatedText",
7239
7520
  componentId: "sc-7yunm0-8"
7240
7521
  })(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"
7241
- // Map categories to CategoryBadge configurations
7522
+ // Map categories to CategoryLabel configurations
7242
7523
  ])));
7243
- // Map categories to CategoryBadge configurations
7524
+ // Map categories to CategoryLabel configurations
7244
7525
  var categoryConfig = {
7245
7526
  shopping: {
7246
7527
  color: 'purple',
@@ -7354,10 +7635,10 @@ var TransactionListItem = function TransactionListItem(_a) {
7354
7635
  variant: "body",
7355
7636
  children: merchant
7356
7637
  })
7357
- }), categoryData && jsx(CategoryBadge, {
7638
+ }), categoryData && jsx(CategoryLabel, {
7358
7639
  color: categoryData.color,
7359
7640
  icon: categoryData.icon,
7360
- size: "small",
7641
+ size: "medium",
7361
7642
  variant: "minimal",
7362
7643
  "aria-label": "Category: ".concat(categoryData.label),
7363
7644
  children: categoryData.label
@@ -7624,5 +7905,5 @@ var ResponsiveGrid = function ResponsiveGrid(_a) {
7624
7905
  };
7625
7906
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35;
7626
7907
 
7627
- export { Avatar as A, Badge as B, CategoryBadge as C, DateFormatter as D, EmptyState as E, FilterChip as F, GridCol as G, Modal as H, Icon as I, PageTitle as J, PasswordField as K, LegacyChip as L, MoneyDisplay as M, NumberInput as N, SearchField as O, Picture as P, Sheet as Q, ResponsiveGrid as R, Stack as S, Tag as T, Slider as U, TabBar as V, TextField as W, StyledInputBase as X, StyledTextAreaBase as Y, TransactionListItem as Z, Grid as a, Box as b, Button as c, Chip as d, BooleanChip as e, Container$1 as f, IconButton as g, ProgressBar as h, Divider as i, StatusBadge as j, Typography as k, AccountCard as l, ActionSheet as m, AgentInput as n, Alert as o, Breadcrumbs as p, CardSmall as q, CardLarge as r, Checkbox as s, ChipGroup as t, CodeBlock as u, DateGroup as v, FeatureBlock as w, Dropdown as x, List as y, ListItem as z };
7908
+ export { StyledInputBase as $, Avatar as A, Badge as B, CategoryBadge as C, DateFormatter as D, EmptyState as E, FilterChip as F, GridCol as G, FeatureBlock as H, InputChip as I, Dropdown as J, List as K, LegacyChip as L, MoneyDisplay as M, ListItem as N, Modal as O, Picture as P, NumberInput as Q, ResponsiveGrid as R, Stack as S, Tag as T, PageTitle as U, PasswordField as V, SearchField as W, Sheet as X, Slider as Y, TabBar as Z, TextField as _, Grid as a, StyledTextAreaBase as a0, TransactionListItem as a1, Box as b, Button as c, CategoryLabel as d, Chip as e, BooleanChip as f, Container$1 as g, Icon as h, IconButton as i, ProgressBar as j, Divider as k, StatusBadge as l, StatusLabel as m, Typography as n, AccountCard as o, ActionSheet as p, AgentInput as q, Alert as r, InlineAlert as s, Breadcrumbs as t, CardSmall as u, CardLarge as v, Checkbox as w, ChipGroup as x, CodeBlock as y, DateGroup as z };
7628
7909
  //# sourceMappingURL=client.esm.js.map