@charcoal-ui/react 3.5.0 → 3.7.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 (100) hide show
  1. package/dist/_lib/compat.d.ts +1 -0
  2. package/dist/_lib/compat.d.ts.map +1 -1
  3. package/dist/components/Button/StyledButton.d.ts +12 -0
  4. package/dist/components/Button/StyledButton.d.ts.map +1 -0
  5. package/dist/components/Button/index.d.ts +2 -2
  6. package/dist/components/Button/index.d.ts.map +1 -1
  7. package/dist/components/Button/lib/variantToBackground.d.ts +3 -0
  8. package/dist/components/Button/lib/variantToBackground.d.ts.map +1 -0
  9. package/dist/components/Button/lib/variantToFont.d.ts +3 -0
  10. package/dist/components/Button/lib/variantToFont.d.ts.map +1 -0
  11. package/dist/components/Checkbox/index.d.ts.map +1 -1
  12. package/dist/components/Checkbox/index.story.d.ts +6 -15
  13. package/dist/components/Checkbox/index.story.d.ts.map +1 -1
  14. package/dist/components/Clickable/index.story.d.ts +4 -6
  15. package/dist/components/Clickable/index.story.d.ts.map +1 -1
  16. package/dist/components/DropdownSelector/DropdownMenuItem.d.ts.map +1 -1
  17. package/dist/components/DropdownSelector/ListItem/index.d.ts.map +1 -1
  18. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  19. package/dist/components/DropdownSelector/index.d.ts.map +1 -1
  20. package/dist/components/DropdownSelector/index.story.d.ts +1 -0
  21. package/dist/components/DropdownSelector/index.story.d.ts.map +1 -1
  22. package/dist/components/FieldLabel/index.d.ts.map +1 -1
  23. package/dist/components/Icon/index.story.d.ts +1 -1
  24. package/dist/components/IconButton/index.d.ts.map +1 -1
  25. package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
  26. package/dist/components/Modal/ModalPlumbing.d.ts.map +1 -1
  27. package/dist/components/Modal/index.d.ts.map +1 -1
  28. package/dist/components/Modal/index.story.d.ts +1 -0
  29. package/dist/components/Modal/index.story.d.ts.map +1 -1
  30. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  31. package/dist/components/MultiSelect/index.story.d.ts +2 -0
  32. package/dist/components/MultiSelect/index.story.d.ts.map +1 -1
  33. package/dist/components/Radio/index.d.ts.map +1 -1
  34. package/dist/components/SegmentedControl/RadioGroupContext.d.ts +1 -1
  35. package/dist/components/SegmentedControl/RadioGroupContext.d.ts.map +1 -1
  36. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  37. package/dist/components/Switch/index.d.ts.map +1 -1
  38. package/dist/components/TagItem/index.d.ts.map +1 -1
  39. package/dist/components/TextField/TextField.story.d.ts.map +1 -1
  40. package/dist/components/TextField/index.d.ts.map +1 -1
  41. package/dist/index.cjs.js +1026 -384
  42. package/dist/index.cjs.js.map +1 -1
  43. package/dist/index.esm.js +991 -349
  44. package/dist/index.esm.js.map +1 -1
  45. package/dist/styled.d.ts +4 -4
  46. package/package.json +18 -21
  47. package/src/_lib/compat.ts +8 -0
  48. package/src/components/Button/StyledButton.tsx +66 -0
  49. package/src/components/Button/__snapshots__/index.story.storyshot +312 -592
  50. package/src/components/Button/index.tsx +14 -70
  51. package/src/components/Button/lib/variantToBackground.tsx +19 -0
  52. package/src/components/Button/lib/variantToFont.tsx +19 -0
  53. package/src/components/Checkbox/__snapshots__/index.story.storyshot +209 -40
  54. package/src/components/Checkbox/index.story.tsx +82 -64
  55. package/src/components/Checkbox/index.tsx +47 -17
  56. package/src/components/Clickable/__snapshots__/index.story.storyshot +4 -0
  57. package/src/components/Clickable/index.story.tsx +12 -9
  58. package/src/components/Clickable/index.tsx +1 -0
  59. package/src/components/DropdownSelector/DropdownMenuItem.tsx +6 -3
  60. package/src/components/DropdownSelector/ListItem/__snapshots__/index.story.storyshot +3 -10
  61. package/src/components/DropdownSelector/ListItem/index.tsx +6 -4
  62. package/src/components/DropdownSelector/MenuItemGroup/index.tsx +1 -1
  63. package/src/components/DropdownSelector/MenuList/__snapshots__/index.story.storyshot +4 -13
  64. package/src/components/DropdownSelector/Popover/__snapshots__/index.story.storyshot +20 -37
  65. package/src/components/DropdownSelector/Popover/index.tsx +5 -8
  66. package/src/components/DropdownSelector/__snapshots__/index.story.storyshot +227 -294
  67. package/src/components/DropdownSelector/index.story.tsx +33 -0
  68. package/src/components/DropdownSelector/index.tsx +63 -20
  69. package/src/components/FieldLabel/index.tsx +77 -12
  70. package/src/components/IconButton/__snapshots__/index.story.storyshot +30 -54
  71. package/src/components/IconButton/index.tsx +51 -26
  72. package/src/components/LoadingSpinner/index.tsx +3 -6
  73. package/src/components/Modal/Dialog/index.tsx +1 -1
  74. package/src/components/Modal/ModalPlumbing.tsx +26 -5
  75. package/src/components/Modal/__snapshots__/index.story.storyshot +2450 -108
  76. package/src/components/Modal/index.story.tsx +27 -0
  77. package/src/components/Modal/index.tsx +19 -4
  78. package/src/components/MultiSelect/__snapshots__/index.story.storyshot +528 -25
  79. package/src/components/MultiSelect/index.story.tsx +60 -0
  80. package/src/components/MultiSelect/index.tsx +82 -22
  81. package/src/components/Radio/__snapshots__/index.story.storyshot +32 -49
  82. package/src/components/Radio/index.tsx +71 -23
  83. package/src/components/SegmentedControl/RadioGroupContext.tsx +1 -1
  84. package/src/components/SegmentedControl/__snapshots__/index.story.storyshot +9 -10
  85. package/src/components/SegmentedControl/index.tsx +36 -16
  86. package/src/components/Switch/__snapshots__/index.story.storyshot +6 -18
  87. package/src/components/Switch/index.tsx +10 -15
  88. package/src/components/TagItem/__snapshots__/index.story.storyshot +39 -158
  89. package/src/components/TagItem/index.tsx +84 -19
  90. package/src/components/TextArea/__snapshots__/TextArea.story.storyshot +55 -91
  91. package/src/components/TextField/TextField.story.tsx +35 -18
  92. package/src/components/TextField/__snapshots__/TextField.story.storyshot +92 -148
  93. package/src/components/TextField/index.tsx +0 -1
  94. package/dist/components/Checkbox/performance.test.d.ts +0 -4
  95. package/dist/components/Checkbox/performance.test.d.ts.map +0 -1
  96. package/dist/components/Checkbox/snapshot.test.d.ts +0 -2
  97. package/dist/components/Checkbox/snapshot.test.d.ts.map +0 -1
  98. package/src/components/Checkbox/__snapshots__/snapshot.test.tsx.snap +0 -763
  99. package/src/components/Checkbox/performance.test.tsx +0 -30
  100. package/src/components/Checkbox/snapshot.test.tsx +0 -66
package/dist/index.cjs.js CHANGED
@@ -110,7 +110,6 @@ function CharcoalProvider({
110
110
 
111
111
  // src/components/Button/index.tsx
112
112
  var import_react2 = require("react");
113
- var import_styled_components4 = __toESM(require("styled-components"));
114
113
 
115
114
  // src/_lib/index.ts
116
115
  function unreachable(value) {
@@ -134,14 +133,48 @@ function countCodePointsInString(string) {
134
133
  return Array.from(string).length;
135
134
  }
136
135
 
137
- // src/styled.ts
138
- var import_styled_components2 = __toESM(require("styled-components"));
139
- var import_styled2 = require("@charcoal-ui/styled");
140
- var theme = (0, import_styled2.createTheme)(import_styled_components2.default);
136
+ // src/components/Button/lib/variantToFont.tsx
137
+ function variantToFont(variant) {
138
+ switch (variant) {
139
+ case "Overlay":
140
+ return "text5";
141
+ case "Default":
142
+ return "text2";
143
+ case "Primary":
144
+ return "text5";
145
+ case "Navigation":
146
+ return "text5";
147
+ case "Danger":
148
+ return "text5";
149
+ default:
150
+ return unreachable(variant);
151
+ }
152
+ }
153
+
154
+ // src/components/Button/lib/variantToBackground.tsx
155
+ function variantToBackground(variant) {
156
+ switch (variant) {
157
+ case "Overlay":
158
+ return "surface4";
159
+ case "Default":
160
+ return "surface3";
161
+ case "Primary":
162
+ return "brand";
163
+ case "Navigation":
164
+ return "surface6";
165
+ case "Danger":
166
+ return "assertive";
167
+ default:
168
+ return unreachable(variant);
169
+ }
170
+ }
171
+
172
+ // src/components/Button/StyledButton.tsx
173
+ var import_styled_components3 = __toESM(require("styled-components"));
141
174
 
142
175
  // src/components/Clickable/index.tsx
143
176
  var React2 = __toESM(require("react"));
144
- var import_styled_components3 = __toESM(require("styled-components"));
177
+ var import_styled_components2 = __toESM(require("styled-components"));
145
178
  var import_utils = require("@charcoal-ui/utils");
146
179
  var import_jsx_runtime3 = require("react/jsx-runtime");
147
180
  var Clickable = React2.forwardRef(
@@ -167,7 +200,7 @@ var Clickable = React2.forwardRef(
167
200
  }
168
201
  );
169
202
  var Clickable_default = Clickable;
170
- var StyledClickableDiv = import_styled_components3.default.div`
203
+ var StyledClickableDiv = import_styled_components2.default.div`
171
204
  cursor: pointer;
172
205
 
173
206
  ${import_utils.disabledSelector} {
@@ -184,6 +217,7 @@ var StyledClickableDiv = import_styled_components3.default.div`
184
217
  text-rendering: inherit;
185
218
  letter-spacing: inherit;
186
219
  word-spacing: inherit;
220
+ text-decoration: none;
187
221
 
188
222
  &:focus {
189
223
  outline: none;
@@ -208,6 +242,59 @@ var StyledClickableDiv = import_styled_components3.default.div`
208
242
  }
209
243
  `;
210
244
 
245
+ // src/components/Button/StyledButton.tsx
246
+ var horizontalPaddingSmall = import_styled_components3.css`
247
+ padding-right: 16px;
248
+ padding-left: 16px;
249
+ `;
250
+ var horizontalPaddingMedium = import_styled_components3.css`
251
+ padding-right: 24px;
252
+ padding-left: 24px;
253
+ `;
254
+ var StyledButton = (0, import_styled_components3.default)(Clickable_default)`
255
+ width: ${(p) => p.$fullWidth ? "stretch" : "min-content"};
256
+ display: inline-grid;
257
+ align-items: center;
258
+ justify-content: center;
259
+ cursor: pointer;
260
+ user-select: none;
261
+ white-space: nowrap;
262
+ border-radius: 999999px;
263
+ font-size: 14px;
264
+ line-height: 22px;
265
+ font-weight: bold;
266
+
267
+ ${(p) => p.$size === "M" ? horizontalPaddingMedium : horizontalPaddingSmall}
268
+ color: var(--charcoal-${(p) => p.$color});
269
+ background-color: var(--charcoal-${(p) => p.$background});
270
+ transition: 0.2s color, 0.2s background-color, 0.2s box-shadow;
271
+
272
+ &:not(:disabled):not([aria-disabled]),
273
+ &[aria-disabled='false'] {
274
+ &:active,
275
+ &:focus,
276
+ &:focus-visible {
277
+ outline: none;
278
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
279
+ }
280
+
281
+ &:hover {
282
+ color: var(--charcoal-${(p) => p.$color}-hover);
283
+ background-color: var(--charcoal-${(p) => p.$background}-hover);
284
+ }
285
+ &:active {
286
+ color: var(--charcoal-${(p) => p.$color}-press);
287
+ background-color: var(--charcoal-${(p) => p.$background}-press);
288
+ }
289
+ }
290
+
291
+ &:disabled,
292
+ &[aria-disabled]:not([aria-disabled='false']) {
293
+ opacity: 0.32;
294
+ }
295
+ height: ${(p) => p.$size === "M" ? 40 : 32}px;
296
+ `;
297
+
211
298
  // src/components/Button/index.tsx
212
299
  var import_jsx_runtime4 = require("react/jsx-runtime");
213
300
  var Button = (0, import_react2.forwardRef)(function Button2({
@@ -223,7 +310,8 @@ var Button = (0, import_react2.forwardRef)(function Button2({
223
310
  {
224
311
  ...rest,
225
312
  disabled,
226
- $variant: variant,
313
+ $background: variantToBackground(variant),
314
+ $color: variantToFont(variant),
227
315
  $size: size,
228
316
  $fullWidth: fixed,
229
317
  ref,
@@ -232,120 +320,86 @@ var Button = (0, import_react2.forwardRef)(function Button2({
232
320
  );
233
321
  });
234
322
  var Button_default = Button;
235
- var StyledButton = (0, import_styled_components4.default)(Clickable_default)`
236
- width: ${(p) => p.$fullWidth ? "stretch" : "min-content"};
237
- display: inline-grid;
238
- align-items: center;
239
- justify-content: center;
240
- cursor: pointer;
241
- user-select: none;
242
- white-space: nowrap;
243
-
244
- ${(p) => theme((o) => [
245
- o.font[variantToFont(p.$variant)].hover.press,
246
- o.bg[variantToBackground(p.$variant)].hover.press,
247
- o.typography(14).bold.preserveHalfLeading,
248
- o.padding.horizontal(p.$size === "M" ? 24 : 16),
249
- o.disabled,
250
- o.borderRadius("oval"),
251
- o.outline.default.focus
252
- ])}
253
-
254
- /* よく考えたらheight=32って定義が存在しないな... */
255
- height: ${(p) => p.$size === "M" ? 40 : 32}px;
256
- `;
257
- function variantToBackground(variant) {
258
- switch (variant) {
259
- case "Overlay":
260
- return "surface4";
261
- case "Default":
262
- return "surface3";
263
- case "Primary":
264
- return "brand";
265
- case "Navigation":
266
- return "surface6";
267
- case "Danger":
268
- return "assertive";
269
- default:
270
- return unreachable(variant);
271
- }
272
- }
273
- function variantToFont(variant) {
274
- switch (variant) {
275
- case "Overlay":
276
- return "text5";
277
- case "Default":
278
- return "text2";
279
- case "Primary":
280
- return "text5";
281
- case "Navigation":
282
- return "text5";
283
- case "Danger":
284
- return "text5";
285
- default:
286
- return unreachable(variant);
287
- }
288
- }
289
323
 
290
324
  // src/components/IconButton/index.tsx
291
325
  var import_react3 = require("react");
292
- var import_styled_components5 = __toESM(require("styled-components"));
326
+ var import_styled_components4 = __toESM(require("styled-components"));
293
327
  var import_jsx_runtime5 = require("react/jsx-runtime");
294
328
  var IconButton = (0, import_react3.forwardRef)(
295
329
  function IconButtonInner({ variant = "Default", size = "M", icon, ...rest }, ref) {
296
330
  validateIconSize(size, icon);
297
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StyledIconButton, { ...rest, ref, variant, size, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("pixiv-icon", { name: icon }) });
331
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StyledIconButton, { ...rest, ref, $size: size, $variant: variant, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("pixiv-icon", { name: icon }) });
298
332
  }
299
333
  );
300
334
  var IconButton_default = IconButton;
301
- var StyledIconButton = (0, import_styled_components5.default)(Clickable_default).attrs(styledProps)`
335
+ var StyledIconButton = (0, import_styled_components4.default)(Clickable_default).attrs(styledProps)`
302
336
  user-select: none;
303
337
 
304
- width: ${(p) => p.width}px;
305
- height: ${(p) => p.height}px;
338
+ width: ${(p) => p.$width}px;
339
+ height: ${(p) => p.$height}px;
306
340
  display: flex;
307
341
  align-items: center;
308
342
  justify-content: center;
343
+ color: var(${({ $font }) => `--charcoal-${$font}`});
344
+ background-color: var(${({ $background }) => `--charcoal-${$background}`});
345
+ border-radius: 999999px;
346
+ transition: 0.2s background-color, 0.2s box-shadow;
347
+
348
+ &:not(:disabled):not([aria-disabled]),
349
+ &[aria-disabled='false'] {
350
+ &:hover {
351
+ background-color: var(
352
+ ${({ $background }) => `--charcoal-${$background}-hover`}
353
+ );
354
+ }
355
+ &:active {
356
+ background-color: var(
357
+ ${({ $background }) => `--charcoal-${$background}-press`}
358
+ );
359
+ }
360
+ &:focus,
361
+ &:active,
362
+ &:focus-visible {
363
+ outline: none;
364
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
365
+ }
366
+ }
309
367
 
310
- ${({ font, background }) => theme((o) => [
311
- o.font[font],
312
- o.bg[background].hover.press,
313
- o.disabled,
314
- o.borderRadius("oval"),
315
- o.outline.default.focus
316
- ])}
368
+ &:disabled,
369
+ &[aria-disabled]:not([aria-disabled='false']) {
370
+ opacity: 0.32;
371
+ }
317
372
  `;
318
- function styledProps(props) {
373
+ function styledProps({ $size, $variant }) {
319
374
  return {
320
- ...props,
321
- ...variantToProps(props.variant),
322
- ...sizeToProps(props.size)
375
+ ...variantToProps($variant),
376
+ ...sizeToProps($size)
323
377
  };
324
378
  }
325
379
  function variantToProps(variant) {
326
380
  switch (variant) {
327
381
  case "Default":
328
- return { font: "text3", background: "transparent" };
382
+ return { $font: "text3", $background: "transparent" };
329
383
  case "Overlay":
330
- return { font: "text5", background: "surface4" };
384
+ return { $font: "text5", $background: "surface4" };
331
385
  }
332
386
  }
333
387
  function sizeToProps(size) {
334
388
  switch (size) {
335
389
  case "XS":
336
390
  return {
337
- width: 20,
338
- height: 20
391
+ $width: 20,
392
+ $height: 20
339
393
  };
340
394
  case "S":
341
395
  return {
342
- width: 32,
343
- height: 32
396
+ $width: 32,
397
+ $height: 32
344
398
  };
345
399
  case "M":
346
400
  return {
347
- width: 40,
348
- height: 40
401
+ $width: 40,
402
+ $height: 40
349
403
  };
350
404
  }
351
405
  }
@@ -375,9 +429,8 @@ function validateIconSize(size, icon) {
375
429
  // src/components/Radio/index.tsx
376
430
  var import_react4 = require("react");
377
431
  var React3 = __toESM(require("react"));
378
- var import_styled_components6 = __toESM(require("styled-components"));
432
+ var import_styled_components5 = __toESM(require("styled-components"));
379
433
  var import_warning = __toESM(require("warning"));
380
- var import_utils2 = require("@charcoal-ui/utils");
381
434
  var import_jsx_runtime6 = require("react/jsx-runtime");
382
435
  var Radio = (0, import_react4.forwardRef)(function RadioInner({ value, disabled = false, children, className }, ref) {
383
436
  const {
@@ -418,16 +471,19 @@ var Radio = (0, import_react4.forwardRef)(function RadioInner({ value, disabled
418
471
  ] });
419
472
  });
420
473
  var Radio_default = (0, import_react4.memo)(Radio);
421
- var RadioRoot = import_styled_components6.default.label`
474
+ var RadioRoot = import_styled_components5.default.label`
422
475
  display: grid;
423
476
  grid-template-columns: auto 1fr;
424
- grid-gap: ${({ theme: theme3 }) => (0, import_utils2.px)(theme3.spacing[4])};
477
+ grid-gap: 4px;
425
478
  align-items: center;
426
479
  cursor: pointer;
427
480
 
428
- ${theme((o) => [o.disabled])}
481
+ &:disabled,
482
+ &[aria-disabled]:not([aria-disabled='false']) {
483
+ opacity: 0.32;
484
+ }
429
485
  `;
430
- var RadioInput = import_styled_components6.default.input.attrs({ type: "radio" })`
486
+ var RadioInput = import_styled_components5.default.input.attrs({ type: "radio" })`
431
487
  /** Make prior to browser default style */
432
488
  &[type='radio'] {
433
489
  appearance: none;
@@ -440,46 +496,92 @@ var RadioInput = import_styled_components6.default.input.attrs({ type: "radio" }
440
496
  width: 20px;
441
497
  height: 20px;
442
498
  cursor: pointer;
499
+ border-radius: 999999px;
500
+ background-color: var(--charcoal-surface1);
501
+ transition: 0.2s background-color, 0.2s box-shadow;
502
+
503
+ &:not(:disabled):not([aria-disabled]),
504
+ &[aria-disabled='false'] {
505
+ ${({ invalid = false }) => invalid && import_styled_components5.css`
506
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
507
+ `}
443
508
 
444
- ${({ invalid = false }) => theme((o) => [
445
- o.borderRadius("oval"),
446
- o.bg.surface1.hover.press,
447
- invalid && o.outline.assertive
448
- ])};
509
+ &:hover {
510
+ background-color: var(--charcoal-surface1-hover);
511
+ }
512
+ &:active {
513
+ background-color: var(--charcoal-surface1-press);
514
+ }
515
+ &:focus,
516
+ &:active,
517
+ &:focus-visible {
518
+ outline: none;
519
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
520
+ }
521
+ }
449
522
 
450
523
  &:not(:checked) {
451
524
  border-width: 2px;
452
525
  border-style: solid;
453
- border-color: ${({ theme: theme3 }) => theme3.color.text3};
526
+ border-color: var(--charcoal-text3);
454
527
  }
455
528
 
456
529
  &:checked {
457
- ${theme((o) => o.bg.brand.hover.press)}
458
-
530
+ background-color: var(--charcoal-brand);
459
531
  &::after {
460
532
  content: '';
461
533
  display: block;
462
534
  width: 8px;
463
535
  height: 8px;
464
536
  pointer-events: none;
537
+ background-color: var(--charcoal-text5);
538
+ border-radius: 999999px;
539
+ transition: 0.2s background-color, 0.2s box-shadow;
540
+ }
465
541
 
466
- ${theme((o) => [o.bg.text5.hover.press, o.borderRadius("oval")])}
542
+ &:not(:disabled):not([aria-disabled]),
543
+ &[aria-disabled='false'] {
544
+ &:hover {
545
+ background-color: var(--charcoal-brand-hover);
546
+ &::after {
547
+ background-color: var(--charcoal-text5-hover);
548
+ }
549
+ }
550
+ &:active {
551
+ background-color: var(--charcoal-brand-press);
552
+ &::after {
553
+ background-color: var(--charcoal-text5-press);
554
+ }
555
+ }
467
556
  }
468
557
  }
469
-
470
- ${theme((o) => o.outline.default.focus)}
471
-
472
- /* FIXME: o.outline.default.focus の transition に o.bg.brand の transition が打ち消されてしまう */
473
- transition: all 0.2s !important;
474
558
  }
475
559
  `;
476
- var RadioLabel = import_styled_components6.default.div`
477
- ${theme((o) => [o.typography(14), o.font.text2])}
560
+ var RadioLabel = import_styled_components5.default.div`
561
+ font-size: 14px;
562
+ line-height: 22px;
563
+ display: flow-root;
564
+ color: var(--charcoal-text2);
565
+
566
+ &::before {
567
+ display: block;
568
+ width: 0;
569
+ height: 0;
570
+ content: '';
571
+ margin-top: -4px;
572
+ }
573
+ &::after {
574
+ display: block;
575
+ width: 0;
576
+ height: 0;
577
+ content: '';
578
+ margin-bottom: -4px;
579
+ }
478
580
  `;
479
- var StyledRadioGroup = import_styled_components6.default.div`
581
+ var StyledRadioGroup = import_styled_components5.default.div`
480
582
  display: grid;
481
583
  grid-template-columns: 1fr;
482
- grid-gap: ${({ theme: theme3 }) => (0, import_utils2.px)(theme3.spacing[8])};
584
+ grid-gap: 8px;
483
585
  `;
484
586
  var RadioGroupContext = React3.createContext({
485
587
  name: void 0,
@@ -538,9 +640,9 @@ function RadioGroup({
538
640
 
539
641
  // src/components/MultiSelect/index.tsx
540
642
  var import_react6 = require("react");
541
- var import_styled_components7 = __toESM(require("styled-components"));
643
+ var import_styled_components6 = __toESM(require("styled-components"));
542
644
  var import_warning2 = __toESM(require("warning"));
543
- var import_utils3 = require("@charcoal-ui/utils");
645
+ var import_utils2 = require("@charcoal-ui/utils");
544
646
 
545
647
  // src/components/MultiSelect/context.ts
546
648
  var import_react5 = require("react");
@@ -624,44 +726,96 @@ var MultiSelect = (0, import_react6.forwardRef)(
624
726
  }
625
727
  );
626
728
  var MultiSelect_default = (0, import_react6.memo)(MultiSelect);
627
- var MultiSelectRoot = import_styled_components7.default.label`
729
+ var MultiSelectRoot = import_styled_components6.default.label`
628
730
  display: grid;
629
731
  grid-template-columns: auto 1fr;
630
732
  align-items: center;
631
733
  position: relative;
632
734
  cursor: pointer;
633
- ${import_utils3.disabledSelector} {
735
+ gap: ${({ theme }) => (0, import_utils2.px)(theme.spacing[4])};
736
+ &:disabled,
737
+ &[aria-disabled]:not([aria-disabled='false']) {
738
+ opacity: 0.32;
634
739
  cursor: default;
635
740
  }
636
- gap: ${({ theme: theme3 }) => (0, import_utils3.px)(theme3.spacing[4])};
637
- ${theme((o) => o.disabled)}
638
741
  `;
639
- var MultiSelectLabel = import_styled_components7.default.div`
742
+ var MultiSelectLabel = import_styled_components6.default.div`
640
743
  display: flex;
641
744
  align-items: center;
642
- ${theme((o) => [o.typography(14), o.font.text2])}
745
+ font-size: 14px;
746
+ line-height: 22px;
747
+ display: flow-root;
748
+ color: var(--charcoal-text2);
749
+
750
+ &::before {
751
+ display: block;
752
+ width: 0;
753
+ height: 0;
754
+ content: '';
755
+ margin-top: -4px;
756
+ }
757
+ &::after {
758
+ display: block;
759
+ width: 0;
760
+ height: 0;
761
+ content: '';
762
+ margin-bottom: -4px;
763
+ }
643
764
  `;
644
- var MultiSelectInput = import_styled_components7.default.input.attrs({ type: "checkbox" })`
765
+ var MultiSelectInput = import_styled_components6.default.input.attrs({ type: "checkbox" })`
645
766
  &[type='checkbox'] {
646
767
  appearance: none;
647
768
  display: block;
648
769
  width: 20px;
649
770
  height: 20px;
650
771
  margin: 0;
772
+ background-color: var(--charcoal-text3);
773
+ border-radius: 999999px;
774
+ transition: 0.2s background-color, 0.2s box-shadow;
651
775
 
652
776
  &:checked {
653
- ${theme((o) => o.bg.brand.hover.press)}
777
+ background-color: var(--charcoal-brand);
778
+ &:hover {
779
+ &:not(:disabled):not([aria-disabled]),
780
+ &[aria-disabled='false'] {
781
+ background-color: var(--charcoal-brand-hover);
782
+ }
783
+ }
784
+
785
+ &:active {
786
+ &:not(:disabled):not([aria-disabled]),
787
+ &[aria-disabled='false'] {
788
+ background-color: var(--charcoal-brand-press);
789
+ }
790
+ }
654
791
  }
655
792
 
656
- ${({ invalid, overlay }) => theme((o) => [
657
- o.bg.text3.hover.press,
658
- o.borderRadius("oval"),
659
- invalid && !overlay && o.outline.assertive,
660
- overlay && o.bg.surface4
661
- ])};
793
+ &:hover {
794
+ &:not(:disabled):not([aria-disabled]),
795
+ &[aria-disabled='false'] {
796
+ background-color: var(--charcoal-text3-hover);
797
+ }
798
+ }
799
+
800
+ &:active {
801
+ &:not(:disabled):not([aria-disabled]),
802
+ &[aria-disabled='false'] {
803
+ background-color: var(--charcoal-text3-press);
804
+ }
805
+ }
806
+
807
+ ${({ invalid, overlay }) => invalid && !overlay && import_styled_components6.css`
808
+ &:not(:disabled):not([aria-disabled]),
809
+ &[aria-disabled='false'] {
810
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
811
+ }
812
+ `}
813
+ ${({ overlay }) => overlay && import_styled_components6.css`
814
+ background-color: var(--charcoal-surface4);
815
+ `}
662
816
  }
663
817
  `;
664
- var MultiSelectInputOverlay = import_styled_components7.default.div`
818
+ var MultiSelectInputOverlay = import_styled_components6.default.div`
665
819
  position: absolute;
666
820
  top: -2px;
667
821
  left: -2px;
@@ -669,17 +823,20 @@ var MultiSelectInputOverlay = import_styled_components7.default.div`
669
823
  display: flex;
670
824
  align-items: center;
671
825
  justify-content: center;
826
+ width: 24px;
827
+ height: 24px;
828
+ border-radius: 999999px;
829
+ color: var(--charcoal-text5);
830
+ transition: 0.2s box-shadow;
831
+ ${({ invalid, overlay }) => invalid && overlay && import_styled_components6.css`
832
+ &:not(:disabled):not([aria-disabled]),
833
+ &[aria-disabled='false'] {
834
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
835
+ }
836
+ `}
672
837
 
673
- ${({ invalid, overlay }) => theme((o) => [
674
- o.width.px(24),
675
- o.height.px(24),
676
- o.borderRadius("oval"),
677
- o.font.text5,
678
- invalid && overlay && o.outline.assertive
679
- ])}
680
-
681
- ${({ overlay }) => overlay && import_styled_components7.css`
682
- border-color: ${({ theme: theme3 }) => theme3.color.text5};
838
+ ${({ overlay }) => overlay && import_styled_components6.css`
839
+ border-color: var(--charcoal-text5);
683
840
  border-width: 2px;
684
841
  border-style: solid;
685
842
  `}
@@ -730,9 +887,8 @@ function MultiSelectGroup({
730
887
  var import_switch = require("@react-aria/switch");
731
888
  var import_react7 = require("react");
732
889
  var import_react_stately = require("react-stately");
733
- var import_styled_components8 = __toESM(require("styled-components"));
734
- var import_utils4 = require("@charcoal-ui/utils");
735
- var import_utils5 = require("@react-aria/utils");
890
+ var import_styled_components7 = __toESM(require("styled-components"));
891
+ var import_utils3 = require("@react-aria/utils");
736
892
  var import_jsx_runtime8 = require("react/jsx-runtime");
737
893
  var SwitchCheckbox = (0, import_react7.forwardRef)(
738
894
  function SwitchCheckboxInner(props, external) {
@@ -747,7 +903,7 @@ var SwitchCheckbox = (0, import_react7.forwardRef)(
747
903
  [props]
748
904
  );
749
905
  const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
750
- const ref = (0, import_utils5.useObjectRef)(external);
906
+ const ref = (0, import_utils3.useObjectRef)(external);
751
907
  const {
752
908
  inputProps: { className: _className, type: _type, ...rest }
753
909
  } = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
@@ -758,33 +914,30 @@ var SwitchCheckbox = (0, import_react7.forwardRef)(
758
914
  }
759
915
  );
760
916
  var Switch_default = (0, import_react7.memo)(SwitchCheckbox);
761
- var Label = import_styled_components8.default.label`
917
+ var Label = import_styled_components7.default.label`
762
918
  display: inline-grid;
763
919
  grid-template-columns: auto 1fr;
764
920
  align-items: center;
765
921
  cursor: pointer;
766
922
  outline: 0;
767
923
 
768
- ${theme((o) => o.disabled)}
924
+ &:disabled,
925
+ &[aria-disabled]:not([aria-disabled='false']) {
926
+ opacity: 0.32;
927
+ cursor: default;
928
+ }
769
929
 
770
930
  :active > input {
771
931
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
772
932
  }
773
-
774
- ${import_utils4.disabledSelector} {
775
- cursor: default;
776
- }
777
933
  `;
778
- var LabelInner = import_styled_components8.default.div`
779
- ${theme((o) => [
780
- o.typography(14).preserveHalfLeading,
781
- o.font.text2,
782
- o.margin.left(4)
783
- ])}
934
+ var LabelInner = import_styled_components7.default.div`
935
+ font-size: 14px;
936
+ line-height: 22px;
937
+ color: var(--charcoal-text2);
938
+ margin-left: 4px;
784
939
  `;
785
- var SwitchInput = import_styled_components8.default.input.attrs({
786
- type: "checkbox"
787
- })`
940
+ var SwitchInput = import_styled_components7.default.input.attrs({ type: "checkbox" })`
788
941
  appearance: none;
789
942
  display: inline-flex;
790
943
  position: relative;
@@ -851,12 +1004,11 @@ var import_textfield = require("@react-aria/textfield");
851
1004
  var import_visually_hidden = require("@react-aria/visually-hidden");
852
1005
  var import_react9 = require("react");
853
1006
  var React5 = __toESM(require("react"));
854
- var import_styled_components10 = __toESM(require("styled-components"));
1007
+ var import_styled_components9 = __toESM(require("styled-components"));
855
1008
 
856
1009
  // src/components/FieldLabel/index.tsx
857
1010
  var React4 = __toESM(require("react"));
858
- var import_styled_components9 = __toESM(require("styled-components"));
859
- var import_styled8 = require("@charcoal-ui/styled");
1011
+ var import_styled_components8 = __toESM(require("styled-components"));
860
1012
  var import_jsx_runtime9 = require("react/jsx-runtime");
861
1013
  var FieldLabel = React4.forwardRef(
862
1014
  function FieldLabel2({
@@ -876,30 +1028,97 @@ var FieldLabel = React4.forwardRef(
876
1028
  }
877
1029
  );
878
1030
  var FieldLabel_default = FieldLabel;
879
- var theme2 = (0, import_styled8.createTheme)(import_styled_components9.default);
880
- var Label2 = import_styled_components9.default.label`
881
- ${theme2((o) => [o.typography(14).bold, o.font.text1])}
1031
+ var Label2 = import_styled_components8.default.label`
1032
+ font-size: 14px;
1033
+ line-height: 22px;
1034
+ font-weight: bold;
1035
+ display: flow-root;
1036
+ color: var(--charcoal-text1);
1037
+
1038
+ &::before {
1039
+ display: block;
1040
+ width: 0;
1041
+ height: 0;
1042
+ content: '';
1043
+ margin-top: -4px;
1044
+ }
1045
+ &::after {
1046
+ display: block;
1047
+ width: 0;
1048
+ height: 0;
1049
+ content: '';
1050
+ margin-bottom: -4px;
1051
+ }
882
1052
  `;
883
- var RequiredText = import_styled_components9.default.span`
884
- ${theme2((o) => [o.typography(14), o.font.text2])}
1053
+ var RequiredText = import_styled_components8.default.span`
1054
+ font-size: 14px;
1055
+ line-height: 22px;
1056
+ display: flow-root;
1057
+ color: var(--charcoal-text2);
1058
+
1059
+ &::before {
1060
+ display: block;
1061
+ width: 0;
1062
+ height: 0;
1063
+ content: '';
1064
+ margin-top: -4px;
1065
+ }
1066
+ &::after {
1067
+ display: block;
1068
+ width: 0;
1069
+ height: 0;
1070
+ content: '';
1071
+ margin-bottom: -4px;
1072
+ }
885
1073
  `;
886
- var SubLabelClickable = import_styled_components9.default.div`
887
- ${theme2((o) => [
888
- o.typography(14),
889
- o.font.text3.hover.press,
890
- o.outline.default.focus
891
- ])}
1074
+ var SubLabelClickable = import_styled_components8.default.div`
1075
+ font-size: 14px;
1076
+ line-height: 22px;
1077
+ display: flow-root;
1078
+ color: var(--charcoal-text3);
1079
+ transition: 0.2s color, 0.2s box-shadow;
1080
+
1081
+ &::before {
1082
+ display: block;
1083
+ width: 0;
1084
+ height: 0;
1085
+ content: '';
1086
+ margin-top: -4px;
1087
+ }
1088
+ &::after {
1089
+ display: block;
1090
+ width: 0;
1091
+ height: 0;
1092
+ content: '';
1093
+ margin-bottom: -4px;
1094
+ }
1095
+
1096
+ &:not(:disabled):not([aria-disabled]),
1097
+ &[aria-disabled='false'] {
1098
+ &:hover {
1099
+ color: var(--charcoal-text3-hover);
1100
+ }
1101
+ &:active {
1102
+ color: var(--charcoal-text3-press);
1103
+ }
1104
+ &:active,
1105
+ &:focus,
1106
+ &:focus-visible {
1107
+ outline: none;
1108
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1109
+ }
1110
+ }
892
1111
  `;
893
- var FieldLabelWrapper = import_styled_components9.default.div`
1112
+ var FieldLabelWrapper = import_styled_components8.default.div`
894
1113
  display: inline-flex;
895
1114
  align-items: center;
896
1115
 
897
1116
  > ${RequiredText} {
898
- ${theme2((o) => o.margin.left(4))}
1117
+ margin-left: 4px;
899
1118
  }
900
1119
 
901
1120
  > ${SubLabelClickable} {
902
- ${theme2((o) => o.margin.left("auto"))}
1121
+ margin-left: auto;
903
1122
  }
904
1123
  `;
905
1124
 
@@ -1027,16 +1246,16 @@ var TextField = React5.forwardRef(
1027
1246
  }
1028
1247
  );
1029
1248
  var TextField_default = TextField;
1030
- var TextFieldRoot = import_styled_components10.default.div`
1249
+ var TextFieldRoot = import_styled_components9.default.div`
1031
1250
  display: flex;
1032
1251
  flex-direction: column;
1033
1252
 
1034
1253
  ${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
1035
1254
  `;
1036
- var TextFieldLabel = (0, import_styled_components10.default)(FieldLabel_default)`
1255
+ var TextFieldLabel = (0, import_styled_components9.default)(FieldLabel_default)`
1037
1256
  margin-bottom: 8px;
1038
1257
  `;
1039
- var StyledInputContainer = import_styled_components10.default.div`
1258
+ var StyledInputContainer = import_styled_components9.default.div`
1040
1259
  display: grid;
1041
1260
  grid-template-columns: ${(p) => [p.hasPrefix && "auto", "1fr", p.hasSuffix && "auto"].filter(Boolean).join(" ")};
1042
1261
  height: 40px;
@@ -1067,21 +1286,20 @@ var StyledInputContainer = import_styled_components10.default.div`
1067
1286
  ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1068
1287
  }
1069
1288
 
1070
- ${(p) => p.invalid && import_styled_components10.css`
1289
+ ${(p) => p.invalid && import_styled_components9.css`
1071
1290
  box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1072
1291
  `}
1073
1292
  `;
1074
- var PrefixContainer = import_styled_components10.default.div`
1293
+ var PrefixContainer = import_styled_components9.default.div`
1075
1294
  display: flex;
1076
- padding-left: 8px;
1077
1295
  align-items: center;
1078
1296
  `;
1079
- var SuffixContainer = import_styled_components10.default.span`
1297
+ var SuffixContainer = import_styled_components9.default.span`
1080
1298
  display: flex;
1081
1299
  align-items: center;
1082
1300
  gap: 8px;
1083
1301
  `;
1084
- var StyledInput = import_styled_components10.default.input`
1302
+ var StyledInput = import_styled_components9.default.input`
1085
1303
  border: none;
1086
1304
  box-sizing: border-box;
1087
1305
  outline: none;
@@ -1107,12 +1325,12 @@ var StyledInput = import_styled_components10.default.input`
1107
1325
  color: var(--charcoal-text3);
1108
1326
  }
1109
1327
  `;
1110
- var SingleLineCounter = import_styled_components10.default.span`
1328
+ var SingleLineCounter = import_styled_components9.default.span`
1111
1329
  line-height: 22px;
1112
1330
  font-size: 14px;
1113
1331
  color: var(--charcoal-text3);
1114
1332
  `;
1115
- var AssistiveText = import_styled_components10.default.p`
1333
+ var AssistiveText = import_styled_components9.default.p`
1116
1334
  font-size: 14px;
1117
1335
  line-height: 22px;
1118
1336
  margin-top: 4px;
@@ -1124,7 +1342,7 @@ var AssistiveText = import_styled_components10.default.p`
1124
1342
  var import_textfield2 = require("@react-aria/textfield");
1125
1343
  var import_visually_hidden2 = require("@react-aria/visually-hidden");
1126
1344
  var import_react10 = require("react");
1127
- var import_styled_components11 = __toESM(require("styled-components"));
1345
+ var import_styled_components10 = __toESM(require("styled-components"));
1128
1346
  var import_jsx_runtime11 = require("react/jsx-runtime");
1129
1347
  var TextArea = (0, import_react10.forwardRef)(
1130
1348
  function TextAreaInner({ onChange, ...props }, forwardRef18) {
@@ -1243,13 +1461,13 @@ var TextArea = (0, import_react10.forwardRef)(
1243
1461
  }
1244
1462
  );
1245
1463
  var TextArea_default = TextArea;
1246
- var TextFieldRoot2 = import_styled_components11.default.div`
1464
+ var TextFieldRoot2 = import_styled_components10.default.div`
1247
1465
  display: flex;
1248
1466
  flex-direction: column;
1249
1467
 
1250
1468
  ${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
1251
1469
  `;
1252
- var StyledTextareaContainer = import_styled_components11.default.div`
1470
+ var StyledTextareaContainer = import_styled_components10.default.div`
1253
1471
  position: relative;
1254
1472
  overflow: hidden;
1255
1473
 
@@ -1258,7 +1476,7 @@ var StyledTextareaContainer = import_styled_components11.default.div`
1258
1476
  border-radius: 4px;
1259
1477
  transition: 0.2s background-color, 0.2s box-shadow;
1260
1478
 
1261
- ${({ rows }) => import_styled_components11.css`
1479
+ ${({ rows }) => import_styled_components10.css`
1262
1480
  height: calc(22px * ${rows} + 18px);
1263
1481
  `};
1264
1482
 
@@ -1272,11 +1490,11 @@ var StyledTextareaContainer = import_styled_components11.default.div`
1272
1490
  ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1273
1491
  }
1274
1492
 
1275
- ${(p) => p.invalid && import_styled_components11.css`
1493
+ ${(p) => p.invalid && import_styled_components10.css`
1276
1494
  box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1277
1495
  `}
1278
1496
  `;
1279
- var StyledTextarea = import_styled_components11.default.textarea`
1497
+ var StyledTextarea = import_styled_components10.default.textarea`
1280
1498
  border: none;
1281
1499
  outline: none;
1282
1500
  resize: none;
@@ -1293,7 +1511,7 @@ var StyledTextarea = import_styled_components11.default.textarea`
1293
1511
  padding: calc(9px / 0.875) calc(8px / 0.875)
1294
1512
  ${(p) => p.noBottomPadding ? 0 : ""};
1295
1513
 
1296
- ${({ rows = 1, noBottomPadding }) => import_styled_components11.css`
1514
+ ${({ rows = 1, noBottomPadding }) => import_styled_components10.css`
1297
1515
  height: calc(22px / 0.875 * ${rows} + ${noBottomPadding ? 9 : 20}px);
1298
1516
  `};
1299
1517
 
@@ -1306,7 +1524,7 @@ var StyledTextarea = import_styled_components11.default.textarea`
1306
1524
  color: var(--charcoal-text3);
1307
1525
  }
1308
1526
  `;
1309
- var MultiLineCounter = import_styled_components11.default.span`
1527
+ var MultiLineCounter = import_styled_components10.default.span`
1310
1528
  position: absolute;
1311
1529
  bottom: 9px;
1312
1530
  right: 8px;
@@ -1339,15 +1557,15 @@ var Icon_default = Icon;
1339
1557
  var import_react12 = require("react");
1340
1558
  var React9 = __toESM(require("react"));
1341
1559
  var import_overlays2 = require("@react-aria/overlays");
1342
- var import_styled_components13 = __toESM(require("styled-components"));
1343
- var import_utils7 = require("@charcoal-ui/utils");
1344
- var import_styled10 = require("@charcoal-ui/styled");
1560
+ var import_styled_components12 = __toESM(require("styled-components"));
1561
+ var import_utils5 = require("@charcoal-ui/utils");
1562
+ var import_styled2 = require("@charcoal-ui/styled");
1345
1563
  var import_react_spring2 = require("react-spring");
1346
- var import_utils8 = require("@react-aria/utils");
1564
+ var import_utils6 = require("@react-aria/utils");
1347
1565
 
1348
1566
  // src/components/Modal/Dialog/index.tsx
1349
1567
  var import_react11 = require("react");
1350
- var import_styled_components12 = __toESM(require("styled-components"));
1568
+ var import_styled_components11 = __toESM(require("styled-components"));
1351
1569
  var import_dialog = require("@react-aria/dialog");
1352
1570
 
1353
1571
  // ../foundation/src/grid.ts
@@ -1358,7 +1576,7 @@ function columnSystem(span, column, gutter) {
1358
1576
  }
1359
1577
 
1360
1578
  // src/components/Modal/Dialog/index.tsx
1361
- var import_utils6 = require("@charcoal-ui/utils");
1579
+ var import_utils4 = require("@charcoal-ui/utils");
1362
1580
  var import_react_spring = require("react-spring");
1363
1581
 
1364
1582
  // src/_lib/useForwardedRef.tsx
@@ -1399,7 +1617,7 @@ var Dialog = (0, import_react11.forwardRef)(function Dialog2(props, forwardRef18
1399
1617
  }
1400
1618
  );
1401
1619
  });
1402
- var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components12.default.div`
1620
+ var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components11.default.div`
1403
1621
  margin: auto;
1404
1622
  position: relative;
1405
1623
  height: fit-content;
@@ -1420,18 +1638,18 @@ var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_co
1420
1638
  }
1421
1639
  }}px;
1422
1640
 
1423
- background-color: ${({ theme: theme3 }) => theme3.color.background1};
1641
+ background-color: var(--charcoal-surface1);
1424
1642
  border-radius: 24px;
1425
1643
 
1426
- @media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
1644
+ @media ${({ theme }) => (0, import_utils4.maxWidth)(theme.breakpoint.screen1)} {
1427
1645
  max-width: 440px;
1428
1646
  width: calc(100% - 48px);
1429
- ${(p) => p.bottomSheet !== false && import_styled_components12.css`
1647
+ ${(p) => p.bottomSheet !== false && import_styled_components11.css`
1430
1648
  max-width: unset;
1431
1649
  width: 100%;
1432
1650
  border-radius: 0;
1433
1651
  margin: auto 0 0 0;
1434
- ${p.bottomSheet === "full" && import_styled_components12.css`
1652
+ ${p.bottomSheet === "full" && import_styled_components11.css`
1435
1653
  min-height: 100%;
1436
1654
  `}
1437
1655
  `}
@@ -1460,9 +1678,12 @@ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zInde
1460
1678
  className,
1461
1679
  isOpen = false
1462
1680
  } = props;
1463
- const ref = (0, import_utils8.useObjectRef)(external);
1681
+ const ref = (0, import_utils6.useObjectRef)(external);
1464
1682
  const { modalProps, underlayProps } = (0, import_overlays2.useModalOverlay)(
1465
- props,
1683
+ {
1684
+ ...props,
1685
+ isKeyboardDismissDisabled: isDismissable === void 0 || isDismissable === false
1686
+ },
1466
1687
  {
1467
1688
  close: onClose,
1468
1689
  isOpen,
@@ -1475,8 +1696,8 @@ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zInde
1475
1696
  },
1476
1697
  ref
1477
1698
  );
1478
- const theme3 = (0, import_styled_components13.useTheme)();
1479
- const isMobile = (0, import_styled10.useMedia)((0, import_utils7.maxWidth)(theme3.breakpoint.screen1)) ?? false;
1699
+ const theme = (0, import_styled_components12.useTheme)();
1700
+ const isMobile = (0, import_styled2.useMedia)((0, import_utils5.maxWidth)(theme.breakpoint.screen1)) ?? false;
1480
1701
  const transitionEnabled = isMobile && bottomSheet !== false;
1481
1702
  const showDismiss = !isMobile || bottomSheet !== true;
1482
1703
  const transition = (0, import_react_spring2.useTransition)(isOpen, {
@@ -1555,7 +1776,7 @@ var ModalContext = React9.createContext({
1555
1776
  showDismiss: true,
1556
1777
  bottomSheet: false
1557
1778
  });
1558
- var ModalBackground = (0, import_react_spring2.animated)(import_styled_components13.default.div`
1779
+ var ModalBackground = (0, import_react_spring2.animated)(import_styled_components12.default.div`
1559
1780
  z-index: ${({ zIndex }) => zIndex};
1560
1781
  overflow: auto;
1561
1782
  display: flex;
@@ -1569,71 +1790,104 @@ var ModalBackground = (0, import_react_spring2.animated)(import_styled_component
1569
1790
  padding: 40px 0;
1570
1791
  box-sizing: border-box;
1571
1792
 
1572
- background-color: ${({ theme: theme3 }) => theme3.color.surface4};
1793
+ background-color: var(--charcoal-surface4);
1573
1794
 
1574
- @media ${({ theme: theme3 }) => (0, import_utils7.maxWidth)(theme3.breakpoint.screen1)} {
1575
- ${(p) => p.$bottomSheet !== false && import_styled_components13.css`
1795
+ @media ${({ theme }) => (0, import_utils5.maxWidth)(theme.breakpoint.screen1)} {
1796
+ ${(p) => p.$bottomSheet !== false && import_styled_components12.css`
1576
1797
  padding: 0;
1577
1798
  `}
1578
1799
  }
1579
1800
  `);
1580
- var ModalCrossButton = (0, import_styled_components13.default)(IconButton_default)`
1801
+ var ModalCrossButton = (0, import_styled_components12.default)(IconButton_default)`
1581
1802
  position: absolute;
1582
1803
  top: 8px;
1583
1804
  right: 8px;
1584
1805
 
1585
- ${theme((o) => [o.font.text3.hover.press])}
1806
+ color: var(--charcoal-text3);
1807
+ transition: 0.2s color;
1808
+
1809
+ &:not(:disabled):not([aria-disabled]),
1810
+ &[aria-disabled='false'] {
1811
+ &:hover {
1812
+ color: var(--charcoal-text3-hover);
1813
+ }
1814
+ &:active {
1815
+ color: var(--charcoal-text3-press);
1816
+ }
1817
+ }
1586
1818
  `;
1587
1819
  function ModalTitle(props) {
1588
1820
  const { titleProps, title } = (0, import_react12.useContext)(ModalContext);
1589
1821
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalHeading, { ...titleProps, ...props, children: title });
1590
1822
  }
1591
- var ModalHeading = import_styled_components13.default.h3`
1823
+ var ModalHeading = import_styled_components12.default.h3`
1592
1824
  margin: 0;
1593
1825
  font-weight: inherit;
1594
1826
  font-size: inherit;
1595
1827
  `;
1596
1828
 
1597
1829
  // src/components/Modal/ModalPlumbing.tsx
1598
- var import_styled_components14 = __toESM(require("styled-components"));
1830
+ var import_styled_components13 = __toESM(require("styled-components"));
1599
1831
  var import_react13 = require("react");
1600
- var import_utils9 = require("@charcoal-ui/utils");
1832
+ var import_utils7 = require("@charcoal-ui/utils");
1601
1833
  var import_jsx_runtime15 = require("react/jsx-runtime");
1602
1834
  function ModalHeader() {
1603
1835
  const modalCtx = (0, import_react13.useContext)(ModalContext);
1604
1836
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ModalHeaderRoot, { $bottomSheet: modalCtx.bottomSheet, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledModalTitle, {}) });
1605
1837
  }
1606
- var ModalHeaderRoot = import_styled_components14.default.div`
1838
+ var ModalHeaderRoot = import_styled_components13.default.div`
1607
1839
  height: 64px;
1608
1840
  display: grid;
1609
1841
  align-content: center;
1610
1842
  justify-content: center;
1611
- @media ${({ theme: theme3 }) => (0, import_utils9.maxWidth)(theme3.breakpoint.screen1)} {
1612
- ${(p) => p.$bottomSheet !== false && import_styled_components14.css`
1843
+ @media ${({ theme }) => (0, import_utils7.maxWidth)(theme.breakpoint.screen1)} {
1844
+ ${(p) => p.$bottomSheet !== false && import_styled_components13.css`
1613
1845
  height: 48px;
1614
1846
  `}
1615
1847
  }
1616
1848
  `;
1617
- var StyledModalTitle = (0, import_styled_components14.default)(ModalTitle)`
1618
- ${theme((o) => [o.font.text1, o.typography(16).bold])}
1849
+ var StyledModalTitle = (0, import_styled_components13.default)(ModalTitle)`
1850
+ color: var(--charcoal-text1);
1851
+ font-size: 16px;
1852
+ line-height: 24px;
1853
+ font-weight: bold;
1854
+ display: flow-root;
1855
+
1856
+ &::before {
1857
+ display: block;
1858
+ width: 0;
1859
+ height: 0;
1860
+ content: '';
1861
+ margin-top: -4px;
1862
+ }
1863
+ &::after {
1864
+ display: block;
1865
+ width: 0;
1866
+ height: 0;
1867
+ content: '';
1868
+ margin-bottom: -4px;
1869
+ }
1619
1870
  `;
1620
- var ModalAlign = import_styled_components14.default.div`
1621
- ${theme((o) => [o.padding.horizontal(16)])}
1871
+ var ModalAlign = import_styled_components13.default.div`
1872
+ padding-left: 16px;
1873
+ padding-right: 16px;
1622
1874
  `;
1623
- var ModalBody = import_styled_components14.default.div`
1624
- ${theme((o) => [o.padding.bottom(40)])}
1875
+ var ModalBody = import_styled_components13.default.div`
1876
+ padding-bottom: 40px;
1625
1877
  `;
1626
- var ModalButtons = import_styled_components14.default.div`
1878
+ var ModalButtons = import_styled_components13.default.div`
1627
1879
  display: grid;
1628
1880
  grid-auto-flow: row;
1629
1881
  grid-row-gap: 8px;
1630
1882
 
1631
- ${theme((o) => [o.padding.horizontal(16).top(16)])}
1883
+ padding-top: 16px;
1884
+ padding-left: 16px;
1885
+ padding-right: 16px;
1632
1886
  `;
1633
1887
 
1634
1888
  // src/components/LoadingSpinner/index.tsx
1635
1889
  var import_react14 = require("react");
1636
- var import_styled_components15 = __toESM(require("styled-components"));
1890
+ var import_styled_components14 = __toESM(require("styled-components"));
1637
1891
  var import_jsx_runtime16 = require("react/jsx-runtime");
1638
1892
  var LoadingSpinner = (0, import_react14.forwardRef)(
1639
1893
  function LoadingSpinnerInner({ size = 48, padding = 16, transparent = false, className }, ref) {
@@ -1651,7 +1905,7 @@ var LoadingSpinner = (0, import_react14.forwardRef)(
1651
1905
  }
1652
1906
  );
1653
1907
  var LoadingSpinner_default = (0, import_react14.memo)(LoadingSpinner);
1654
- var LoadingSpinnerRoot = import_styled_components15.default.div.attrs({ role: "progressbar" })`
1908
+ var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({ role: "progressbar" })`
1655
1909
  box-sizing: content-box;
1656
1910
  margin: auto;
1657
1911
  padding: ${(props) => props.padding}px;
@@ -1660,12 +1914,10 @@ var LoadingSpinnerRoot = import_styled_components15.default.div.attrs({ role: "p
1660
1914
  width: ${(props) => props.size}px;
1661
1915
  height: ${(props) => props.size}px;
1662
1916
  opacity: 0.84;
1663
- ${({ transparent }) => theme((o) => [
1664
- o.font.text4,
1665
- transparent ? o.bg.transparent : o.bg.background1
1666
- ])}
1917
+ color: var(--charcoal-text4);
1918
+ background-color: ${({ transparent }) => `var(--charcoal-${transparent ? "transparent" : "background1"})`};
1667
1919
  `;
1668
- var scaleOut = import_styled_components15.keyframes`
1920
+ var scaleOut = import_styled_components14.keyframes`
1669
1921
  from {
1670
1922
  transform: scale(0);
1671
1923
  opacity: 1;
@@ -1676,7 +1928,7 @@ var scaleOut = import_styled_components15.keyframes`
1676
1928
  opacity: 0;
1677
1929
  }
1678
1930
  `;
1679
- var Icon2 = import_styled_components15.default.div.attrs({ role: "presentation" })`
1931
+ var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation" })`
1680
1932
  width: 1em;
1681
1933
  height: 1em;
1682
1934
  border-radius: 1em;
@@ -1707,8 +1959,8 @@ var LoadingSpinnerIcon = (0, import_react14.forwardRef)(
1707
1959
 
1708
1960
  // src/components/DropdownSelector/index.tsx
1709
1961
  var import_react20 = require("react");
1710
- var import_styled_components18 = __toESM(require("styled-components"));
1711
- var import_utils10 = require("@charcoal-ui/utils");
1962
+ var import_styled_components17 = __toESM(require("styled-components"));
1963
+ var import_utils8 = require("@charcoal-ui/utils");
1712
1964
 
1713
1965
  // src/components/DropdownSelector/DropdownPopover.tsx
1714
1966
  var import_react17 = require("react");
@@ -1716,7 +1968,7 @@ var import_react17 = require("react");
1716
1968
  // src/components/DropdownSelector/Popover/index.tsx
1717
1969
  var import_react16 = require("react");
1718
1970
  var import_overlays3 = require("@react-aria/overlays");
1719
- var import_styled_components16 = __toESM(require("styled-components"));
1971
+ var import_styled_components15 = __toESM(require("styled-components"));
1720
1972
 
1721
1973
  // src/components/DropdownSelector/Popover/usePreventScroll.tsx
1722
1974
  var import_react15 = require("react");
@@ -1778,18 +2030,16 @@ function Popover(props) {
1778
2030
  ] })
1779
2031
  ] });
1780
2032
  }
1781
- var DropdownPopoverDiv = import_styled_components16.default.div`
2033
+ var DropdownPopoverDiv = import_styled_components15.default.div`
1782
2034
  margin: 4px 0;
1783
2035
  list-style: none;
1784
2036
  overflow: auto;
1785
2037
  max-height: inherit;
1786
-
1787
- ${theme((o) => [
1788
- o.bg.background1,
1789
- o.border.default,
1790
- o.borderRadius(8),
1791
- o.padding.vertical(8)
1792
- ])}
2038
+ background-color: var(--charcoal-background1);
2039
+ border: solid 1px var(--charcoal-border-default);
2040
+ border-radius: 8px;
2041
+ padding-top: 8px;
2042
+ padding-bottom: 8px;
1793
2043
  `;
1794
2044
 
1795
2045
  // src/components/DropdownSelector/DropdownPopover.tsx
@@ -1853,7 +2103,7 @@ function findPreviewRecursive(children, value) {
1853
2103
 
1854
2104
  // src/components/DropdownSelector/MenuList/index.tsx
1855
2105
  var import_react19 = require("react");
1856
- var import_styled_components17 = __toESM(require("styled-components"));
2106
+ var import_styled_components16 = __toESM(require("styled-components"));
1857
2107
 
1858
2108
  // src/components/DropdownSelector/MenuList/MenuListContext.ts
1859
2109
  var import_react18 = require("react");
@@ -1905,7 +2155,7 @@ function MenuList(props) {
1905
2155
  }
1906
2156
  ) });
1907
2157
  }
1908
- var StyledUl = import_styled_components17.default.ul`
2158
+ var StyledUl = import_styled_components16.default.ul`
1909
2159
  padding: 0;
1910
2160
  margin: 0;
1911
2161
  `;
@@ -1968,21 +2218,20 @@ function DropdownSelector(props) {
1968
2218
  props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AssertiveText, { invalid: props.invalid, children: props.assistiveText })
1969
2219
  ] });
1970
2220
  }
1971
- var DropdownSelectorRoot = import_styled_components18.default.div`
2221
+ var DropdownSelectorRoot = import_styled_components17.default.div`
1972
2222
  display: inline-block;
1973
2223
  width: 100%;
1974
2224
 
1975
- ${import_utils10.disabledSelector} {
2225
+ ${import_utils8.disabledSelector} {
1976
2226
  cursor: default;
1977
- ${theme((o) => o.disabled)}
2227
+ opacity: 0.32;
1978
2228
  }
1979
2229
  `;
1980
- var DropdownFieldLabel = (0, import_styled_components18.default)(FieldLabel_default)`
2230
+ var DropdownFieldLabel = (0, import_styled_components17.default)(FieldLabel_default)`
1981
2231
  width: 100%;
1982
-
1983
- ${theme((o) => o.margin.bottom(8))}
2232
+ margin-bottom: 8px;
1984
2233
  `;
1985
- var DropdownButton = import_styled_components18.default.button`
2234
+ var DropdownButton = import_styled_components17.default.button`
1986
2235
  display: flex;
1987
2236
  justify-content: space-between;
1988
2237
  align-items: center;
@@ -1992,65 +2241,111 @@ var DropdownButton = import_styled_components18.default.button`
1992
2241
  box-sizing: border-box;
1993
2242
  border: none;
1994
2243
  cursor: pointer;
2244
+ gap: 4px;
1995
2245
 
1996
- ${import_utils10.disabledSelector} {
2246
+ ${import_utils8.disabledSelector} {
1997
2247
  cursor: default;
1998
2248
  }
1999
2249
 
2000
- ${({ invalid }) => theme((o) => [
2001
- o.padding.horizontal(8),
2002
- o.outline.default.focus,
2003
- o.bg.surface3,
2004
- o.borderRadius(4),
2005
- invalid === true && o.outline.assertive
2006
- ])}
2250
+ padding-right: 8px;
2251
+ padding-left: 8px;
2252
+ background-color: var(--charcoal-surface3);
2253
+ border-radius: 4px;
2254
+
2255
+ transition: 0.2s box-shadow, 0.2s background-color;
2256
+
2257
+ &:not(:disabled):not([aria-disabled]),
2258
+ &[aria-disabled='false'] {
2259
+ &:focus,
2260
+ &:active,
2261
+ &:focus-visible {
2262
+ outline: none;
2263
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2264
+ }
2265
+ &:hover {
2266
+ background-color: var(--charcoal-surface3-hover);
2267
+ }
2268
+ }
2269
+
2270
+ ${({ invalid }) => invalid === true && import_styled_components17.css`
2271
+ &:not(:disabled):not([aria-disabled]),
2272
+ &[aria-disabled='false'] {
2273
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2274
+ }
2275
+ `}
2007
2276
  `;
2008
- var DropdownButtonText = import_styled_components18.default.span`
2277
+ var DropdownButtonText = import_styled_components17.default.span`
2009
2278
  text-align: left;
2010
-
2011
- ${theme((o) => [o.typography(14), o.font.text2])}
2279
+ font-size: 14px;
2280
+ line-height: 22px;
2281
+ display: flow-root;
2282
+ color: var(--charcoal-text2);
2283
+ overflow: hidden;
2284
+ text-overflow: ellipsis;
2285
+ white-space: nowrap;
2012
2286
  `;
2013
- var DropdownButtonIcon = (0, import_styled_components18.default)(Icon_default)`
2014
- ${theme((o) => [o.font.text2])}
2287
+ var DropdownButtonIcon = (0, import_styled_components17.default)(Icon_default)`
2288
+ color: var(--charcoal-text2);
2015
2289
  `;
2016
- var AssertiveText = import_styled_components18.default.div`
2017
- ${({ invalid }) => theme((o) => [
2018
- o.typography(14),
2019
- o.margin.top(8),
2020
- invalid === true ? o.font.assertive : o.font.text2
2021
- ])}
2290
+ var AssertiveText = import_styled_components17.default.div`
2291
+ margin-top: 8px;
2292
+ font-size: 14px;
2293
+ color: var(--charcoal-text2);
2294
+ line-height: 22px;
2295
+ display: flow-root;
2296
+ &::before {
2297
+ display: block;
2298
+ width: 0;
2299
+ height: 0;
2300
+ content: '';
2301
+ margin-top: -4px;
2302
+ }
2303
+ &::after {
2304
+ display: block;
2305
+ width: 0;
2306
+ height: 0;
2307
+ content: '';
2308
+ margin-bottom: -4px;
2309
+ }
2310
+
2311
+ ${({ invalid }) => invalid === true && import_styled_components17.css`
2312
+ color: var(--charcoal-assertive);
2313
+ `}
2022
2314
  `;
2023
2315
 
2024
2316
  // src/components/DropdownSelector/DropdownMenuItem.tsx
2025
- var import_styled_components20 = __toESM(require("styled-components"));
2317
+ var import_styled_components19 = __toESM(require("styled-components"));
2026
2318
 
2027
2319
  // src/components/DropdownSelector/ListItem/index.tsx
2028
- var import_styled_components19 = __toESM(require("styled-components"));
2320
+ var import_styled_components18 = __toESM(require("styled-components"));
2029
2321
  var import_jsx_runtime21 = require("react/jsx-runtime");
2030
2322
  function ListItem(props) {
2031
2323
  const { children, ...rest } = props;
2032
2324
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ItemDiv, { ...rest, children: props.children }) });
2033
2325
  }
2034
- var StyledLi = import_styled_components19.default.li`
2326
+ var StyledLi = import_styled_components18.default.li`
2035
2327
  list-style: none;
2036
2328
  `;
2037
- var ItemDiv = import_styled_components19.default.div`
2329
+ var ItemDiv = import_styled_components18.default.div`
2038
2330
  display: flex;
2039
2331
  align-items: center;
2040
2332
  min-height: 40px;
2041
2333
  cursor: pointer;
2042
2334
  outline: none;
2043
2335
 
2044
- ${theme((o) => [o.padding.horizontal(16), o.disabled])}
2336
+ padding-right: 16px;
2337
+ padding-left: 16px;
2045
2338
 
2046
- &[aria-disabled="true"] {
2339
+ &:disabled,
2340
+ &[aria-disabled]:not([aria-disabled='false']) {
2341
+ opacity: 0.32;
2047
2342
  cursor: default;
2048
2343
  }
2049
2344
 
2050
2345
  :hover,
2051
2346
  :focus,
2052
2347
  :focus-within {
2053
- ${theme((o) => [o.bg.surface3])}
2348
+ background-color: var(--charcoal-surface3);
2054
2349
  }
2055
2350
  `;
2056
2351
 
@@ -2151,20 +2446,24 @@ function DropdownMenuItem(props) {
2151
2446
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledSpan, { isSelected, children: props.children })
2152
2447
  ] });
2153
2448
  }
2154
- var StyledSpan = import_styled_components20.default.span`
2155
- ${theme((o) => [o.typography(14), o.font.text2])};
2449
+ var StyledSpan = import_styled_components19.default.span`
2450
+ font-size: 14px;
2451
+ line-height: 22px;
2452
+ color: var(--charcoal-text2);
2453
+ padding: 9px 0;
2454
+
2156
2455
  display: flex;
2157
2456
  align-items: center;
2158
2457
  width: 100%;
2159
2458
  margin-left: ${({ isSelected }) => isSelected === true ? 0 : 20}px;
2160
2459
  `;
2161
- var Text2ColorIcon = (0, import_styled_components20.default)(Icon_default)`
2162
- ${theme((o) => [o.font.text2])}
2460
+ var Text2ColorIcon = (0, import_styled_components19.default)(Icon_default)`
2461
+ color: var(--charcoal-text2);
2163
2462
  padding-right: 4px;
2164
2463
  `;
2165
2464
 
2166
2465
  // src/components/DropdownSelector/MenuItemGroup/index.tsx
2167
- var import_styled_components21 = __toESM(require("styled-components"));
2466
+ var import_styled_components20 = __toESM(require("styled-components"));
2168
2467
  var import_jsx_runtime24 = require("react/jsx-runtime");
2169
2468
  function MenuItemGroup(props) {
2170
2469
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(StyledLi2, { role: "presentation", children: [
@@ -2172,35 +2471,267 @@ function MenuItemGroup(props) {
2172
2471
  /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledUl2, { role: "group", children: props.children })
2173
2472
  ] });
2174
2473
  }
2175
- var TextSpan = import_styled_components21.default.span`
2474
+ var TextSpan = import_styled_components20.default.span`
2176
2475
  display: block;
2177
- color: ${({ theme: theme3 }) => theme3.color.text3};
2476
+ color: var(--charcoal-text3);
2178
2477
  font-size: 12px;
2179
2478
  font-weight: bold;
2180
2479
  padding: 12px 0 8px 16px;
2181
2480
  `;
2182
- var StyledUl2 = import_styled_components21.default.ul`
2481
+ var StyledUl2 = import_styled_components20.default.ul`
2183
2482
  padding-left: 0;
2184
2483
  margin: 0;
2185
2484
  box-sizing: border-box;
2186
2485
  list-style: none;
2187
2486
  overflow: hidden;
2188
2487
  `;
2189
- var StyledLi2 = import_styled_components21.default.li`
2488
+ var StyledLi2 = import_styled_components20.default.li`
2190
2489
  display: block;
2191
2490
  `;
2192
2491
 
2193
2492
  // src/components/SegmentedControl/index.tsx
2493
+ var import_react27 = require("react");
2494
+
2495
+ // ../../node_modules/@react-stately/form/dist/import.mjs
2496
+ var import_react23 = require("react");
2497
+ var $e5be200c675c3b3a$export$aca958c65c314e6c = {
2498
+ badInput: false,
2499
+ customError: false,
2500
+ patternMismatch: false,
2501
+ rangeOverflow: false,
2502
+ rangeUnderflow: false,
2503
+ stepMismatch: false,
2504
+ tooLong: false,
2505
+ tooShort: false,
2506
+ typeMismatch: false,
2507
+ valueMissing: false,
2508
+ valid: true
2509
+ };
2510
+ var $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE = {
2511
+ ...$e5be200c675c3b3a$export$aca958c65c314e6c,
2512
+ customError: true,
2513
+ valid: false
2514
+ };
2515
+ var $e5be200c675c3b3a$export$dad6ae84456c676a = {
2516
+ isInvalid: false,
2517
+ validationDetails: $e5be200c675c3b3a$export$aca958c65c314e6c,
2518
+ validationErrors: []
2519
+ };
2520
+ var $e5be200c675c3b3a$export$571b5131b7e65c11 = (0, import_react23.createContext)({});
2521
+ var $e5be200c675c3b3a$export$a763b9476acd3eb = "__formValidationState" + Date.now();
2522
+ function $e5be200c675c3b3a$export$fc1a364ae1f3ff10(props) {
2523
+ if (props[$e5be200c675c3b3a$export$a763b9476acd3eb]) {
2524
+ let { realtimeValidation, displayValidation, updateValidation, resetValidation, commitValidation } = props[$e5be200c675c3b3a$export$a763b9476acd3eb];
2525
+ return {
2526
+ realtimeValidation,
2527
+ displayValidation,
2528
+ updateValidation,
2529
+ resetValidation,
2530
+ commitValidation
2531
+ };
2532
+ }
2533
+ return $e5be200c675c3b3a$var$useFormValidationStateImpl(props);
2534
+ }
2535
+ function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
2536
+ let { isInvalid, validationState, name, value, builtinValidation, validate, validationBehavior = "aria" } = props;
2537
+ if (validationState)
2538
+ isInvalid || (isInvalid = validationState === "invalid");
2539
+ let controlledError = isInvalid ? {
2540
+ isInvalid: true,
2541
+ validationErrors: [],
2542
+ validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
2543
+ } : null;
2544
+ let clientError = (0, import_react23.useMemo)(() => $e5be200c675c3b3a$var$getValidationResult($e5be200c675c3b3a$var$runValidate(validate, value)), [
2545
+ validate,
2546
+ value
2547
+ ]);
2548
+ if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid)
2549
+ builtinValidation = null;
2550
+ let serverErrors = (0, import_react23.useContext)($e5be200c675c3b3a$export$571b5131b7e65c11);
2551
+ let serverErrorMessages = (0, import_react23.useMemo)(() => {
2552
+ if (name)
2553
+ return Array.isArray(name) ? name.flatMap((name2) => $e5be200c675c3b3a$var$asArray(serverErrors[name2])) : $e5be200c675c3b3a$var$asArray(serverErrors[name]);
2554
+ return [];
2555
+ }, [
2556
+ serverErrors,
2557
+ name
2558
+ ]);
2559
+ let [lastServerErrors, setLastServerErrors] = (0, import_react23.useState)(serverErrors);
2560
+ let [isServerErrorCleared, setServerErrorCleared] = (0, import_react23.useState)(false);
2561
+ if (serverErrors !== lastServerErrors) {
2562
+ setLastServerErrors(serverErrors);
2563
+ setServerErrorCleared(false);
2564
+ }
2565
+ let serverError = (0, import_react23.useMemo)(() => $e5be200c675c3b3a$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [
2566
+ isServerErrorCleared,
2567
+ serverErrorMessages
2568
+ ]);
2569
+ let nextValidation = (0, import_react23.useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);
2570
+ let [currentValidity, setCurrentValidity] = (0, import_react23.useState)($e5be200c675c3b3a$export$dad6ae84456c676a);
2571
+ let lastError = (0, import_react23.useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);
2572
+ let commitValidation = () => {
2573
+ if (!commitQueued)
2574
+ return;
2575
+ setCommitQueued(false);
2576
+ let error = clientError || builtinValidation || nextValidation.current;
2577
+ if (!$e5be200c675c3b3a$var$isEqualValidation(error, lastError.current)) {
2578
+ lastError.current = error;
2579
+ setCurrentValidity(error);
2580
+ }
2581
+ };
2582
+ let [commitQueued, setCommitQueued] = (0, import_react23.useState)(false);
2583
+ (0, import_react23.useEffect)(commitValidation);
2584
+ let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $e5be200c675c3b3a$export$dad6ae84456c676a;
2585
+ let displayValidation = validationBehavior === "native" ? controlledError || serverError || currentValidity : controlledError || serverError || clientError || builtinValidation || currentValidity;
2586
+ return {
2587
+ realtimeValidation,
2588
+ displayValidation,
2589
+ updateValidation(value2) {
2590
+ if (validationBehavior === "aria" && !$e5be200c675c3b3a$var$isEqualValidation(currentValidity, value2))
2591
+ setCurrentValidity(value2);
2592
+ else
2593
+ nextValidation.current = value2;
2594
+ },
2595
+ resetValidation() {
2596
+ let error = $e5be200c675c3b3a$export$dad6ae84456c676a;
2597
+ if (!$e5be200c675c3b3a$var$isEqualValidation(error, lastError.current)) {
2598
+ lastError.current = error;
2599
+ setCurrentValidity(error);
2600
+ }
2601
+ if (validationBehavior === "native")
2602
+ setCommitQueued(false);
2603
+ setServerErrorCleared(true);
2604
+ },
2605
+ commitValidation() {
2606
+ if (validationBehavior === "native")
2607
+ setCommitQueued(true);
2608
+ setServerErrorCleared(true);
2609
+ }
2610
+ };
2611
+ }
2612
+ function $e5be200c675c3b3a$var$asArray(v) {
2613
+ if (!v)
2614
+ return [];
2615
+ return Array.isArray(v) ? v : [
2616
+ v
2617
+ ];
2618
+ }
2619
+ function $e5be200c675c3b3a$var$runValidate(validate, value) {
2620
+ if (typeof validate === "function") {
2621
+ let e = validate(value);
2622
+ if (e && typeof e !== "boolean")
2623
+ return $e5be200c675c3b3a$var$asArray(e);
2624
+ }
2625
+ return [];
2626
+ }
2627
+ function $e5be200c675c3b3a$var$getValidationResult(errors) {
2628
+ return errors.length ? {
2629
+ isInvalid: true,
2630
+ validationErrors: errors,
2631
+ validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
2632
+ } : null;
2633
+ }
2634
+ function $e5be200c675c3b3a$var$isEqualValidation(a, b) {
2635
+ if (a === b)
2636
+ return true;
2637
+ return a && b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a2, i) => a2 === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v]) => b.validationDetails[k] === v);
2638
+ }
2639
+
2640
+ // ../../node_modules/@react-stately/utils/dist/import.mjs
2194
2641
  var import_react24 = require("react");
2195
- var import_react_stately2 = require("react-stately");
2196
- var import_radio = require("@react-aria/radio");
2197
- var import_styled_components22 = __toESM(require("styled-components"));
2198
- var import_utils11 = require("@charcoal-ui/utils");
2642
+ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {
2643
+ let [stateValue, setStateValue] = (0, import_react24.useState)(value || defaultValue);
2644
+ let isControlledRef = (0, import_react24.useRef)(value !== void 0);
2645
+ let isControlled = value !== void 0;
2646
+ (0, import_react24.useEffect)(() => {
2647
+ let wasControlled = isControlledRef.current;
2648
+ if (wasControlled !== isControlled)
2649
+ console.warn(`WARN: A component changed from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`);
2650
+ isControlledRef.current = isControlled;
2651
+ }, [
2652
+ isControlled
2653
+ ]);
2654
+ let currentValue = isControlled ? value : stateValue;
2655
+ let setValue = (0, import_react24.useCallback)((value2, ...args) => {
2656
+ let onChangeCaller = (value3, ...onChangeArgs) => {
2657
+ if (onChange) {
2658
+ if (!Object.is(currentValue, value3))
2659
+ onChange(value3, ...onChangeArgs);
2660
+ }
2661
+ if (!isControlled)
2662
+ currentValue = value3;
2663
+ };
2664
+ if (typeof value2 === "function") {
2665
+ console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320");
2666
+ let updateFunction = (oldValue, ...functionArgs) => {
2667
+ let interceptedValue = value2(isControlled ? currentValue : oldValue, ...functionArgs);
2668
+ onChangeCaller(interceptedValue, ...args);
2669
+ if (!isControlled)
2670
+ return interceptedValue;
2671
+ return oldValue;
2672
+ };
2673
+ setStateValue(updateFunction);
2674
+ } else {
2675
+ if (!isControlled)
2676
+ setStateValue(value2);
2677
+ onChangeCaller(value2, ...args);
2678
+ }
2679
+ }, [
2680
+ isControlled,
2681
+ currentValue,
2682
+ onChange
2683
+ ]);
2684
+ return [
2685
+ currentValue,
2686
+ setValue
2687
+ ];
2688
+ }
2689
+
2690
+ // ../../node_modules/@react-stately/radio/dist/import.mjs
2691
+ var import_react25 = require("react");
2692
+ var $a54cdc5c1942b639$var$instance = Math.round(Math.random() * 1e10);
2693
+ var $a54cdc5c1942b639$var$i = 0;
2694
+ function $a54cdc5c1942b639$export$bca9d026f8e704eb(props) {
2695
+ let name = (0, import_react25.useMemo)(() => props.name || `radio-group-${$a54cdc5c1942b639$var$instance}-${++$a54cdc5c1942b639$var$i}`, [
2696
+ props.name
2697
+ ]);
2698
+ var _props_defaultValue;
2699
+ let [selectedValue, setSelected] = (0, $458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, (_props_defaultValue = props.defaultValue) !== null && _props_defaultValue !== void 0 ? _props_defaultValue : null, props.onChange);
2700
+ let [lastFocusedValue, setLastFocusedValue] = (0, import_react25.useState)(null);
2701
+ let validation = (0, $e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
2702
+ ...props,
2703
+ value: selectedValue
2704
+ });
2705
+ let setSelectedValue = (value) => {
2706
+ if (!props.isReadOnly && !props.isDisabled) {
2707
+ setSelected(value);
2708
+ validation.commitValidation();
2709
+ }
2710
+ };
2711
+ let isInvalid = validation.displayValidation.isInvalid;
2712
+ return {
2713
+ ...validation,
2714
+ name,
2715
+ selectedValue,
2716
+ setSelectedValue,
2717
+ lastFocusedValue,
2718
+ setLastFocusedValue,
2719
+ isDisabled: props.isDisabled || false,
2720
+ isReadOnly: props.isReadOnly || false,
2721
+ isRequired: props.isRequired || false,
2722
+ validationState: props.validationState || (isInvalid ? "invalid" : null),
2723
+ isInvalid
2724
+ };
2725
+ }
2726
+
2727
+ // src/components/SegmentedControl/index.tsx
2728
+ var import_radio2 = require("@react-aria/radio");
2729
+ var import_styled_components21 = __toESM(require("styled-components"));
2199
2730
 
2200
2731
  // src/components/SegmentedControl/RadioGroupContext.tsx
2201
- var import_react23 = require("react");
2732
+ var import_react26 = require("react");
2202
2733
  var import_jsx_runtime25 = require("react/jsx-runtime");
2203
- var RadioContext = (0, import_react23.createContext)(null);
2734
+ var RadioContext = (0, import_react26.createContext)(null);
2204
2735
  var RadioProvider = ({
2205
2736
  value,
2206
2737
  children
@@ -2208,7 +2739,7 @@ var RadioProvider = ({
2208
2739
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RadioContext.Provider, { value, children });
2209
2740
  };
2210
2741
  var useRadioContext = () => {
2211
- const state = (0, import_react23.useContext)(RadioContext);
2742
+ const state = (0, import_react26.useContext)(RadioContext);
2212
2743
  if (state === null)
2213
2744
  throw new Error("`<RadioProvider>` is not likely mounted.");
2214
2745
  return state;
@@ -2216,9 +2747,9 @@ var useRadioContext = () => {
2216
2747
 
2217
2748
  // src/components/SegmentedControl/index.tsx
2218
2749
  var import_jsx_runtime26 = require("react/jsx-runtime");
2219
- var SegmentedControl = (0, import_react24.forwardRef)(
2750
+ var SegmentedControl = (0, import_react27.forwardRef)(
2220
2751
  function SegmentedControlInner(props, ref) {
2221
- const ariaRadioGroupProps = (0, import_react24.useMemo)(
2752
+ const ariaRadioGroupProps = (0, import_react27.useMemo)(
2222
2753
  () => ({
2223
2754
  ...props,
2224
2755
  isDisabled: props.disabled,
@@ -2228,9 +2759,9 @@ var SegmentedControl = (0, import_react24.forwardRef)(
2228
2759
  }),
2229
2760
  [props]
2230
2761
  );
2231
- const state = (0, import_react_stately2.useRadioGroupState)(ariaRadioGroupProps);
2232
- const { radioGroupProps } = (0, import_radio.useRadioGroup)(ariaRadioGroupProps, state);
2233
- const segmentedControlItems = (0, import_react24.useMemo)(() => {
2762
+ const state = $a54cdc5c1942b639$export$bca9d026f8e704eb(ariaRadioGroupProps);
2763
+ const { radioGroupProps } = (0, import_radio2.useRadioGroup)(ariaRadioGroupProps, state);
2764
+ const segmentedControlItems = (0, import_react27.useMemo)(() => {
2234
2765
  return props.data.map(
2235
2766
  (d) => typeof d === "string" ? { value: d, label: d } : d
2236
2767
  );
@@ -2254,11 +2785,11 @@ var SegmentedControl = (0, import_react24.forwardRef)(
2254
2785
  );
2255
2786
  }
2256
2787
  );
2257
- var SegmentedControl_default = (0, import_react24.memo)(SegmentedControl);
2788
+ var SegmentedControl_default = (0, import_react27.memo)(SegmentedControl);
2258
2789
  var Segmented = (props) => {
2259
2790
  const state = useRadioContext();
2260
- const ref = (0, import_react24.useRef)(null);
2261
- const ariaRadioProps = (0, import_react24.useMemo)(
2791
+ const ref = (0, import_react27.useRef)(null);
2792
+ const ariaRadioProps = (0, import_react27.useMemo)(
2262
2793
  () => ({
2263
2794
  value: props.value,
2264
2795
  isDisabled: props.disabled,
@@ -2266,7 +2797,7 @@ var Segmented = (props) => {
2266
2797
  }),
2267
2798
  [props]
2268
2799
  );
2269
- const { inputProps, isDisabled, isSelected } = (0, import_radio.useRadio)(
2800
+ const { inputProps, isDisabled, isSelected } = (0, import_radio2.useRadio)(
2270
2801
  ariaRadioProps,
2271
2802
  state,
2272
2803
  ref
@@ -2283,32 +2814,36 @@ var Segmented = (props) => {
2283
2814
  }
2284
2815
  );
2285
2816
  };
2286
- var SegmentedControlRoot = import_styled_components22.default.div`
2817
+ var SegmentedControlRoot = import_styled_components21.default.div`
2287
2818
  display: inline-flex;
2288
2819
  align-items: center;
2289
2820
 
2290
- ${theme((o) => [o.bg.surface3, o.borderRadius(16)])}
2821
+ background-color: var(--charcoal-surface3);
2822
+ border-radius: 16px;
2291
2823
  `;
2292
- var SegmentedRoot = import_styled_components22.default.label`
2824
+ var SegmentedRoot = import_styled_components21.default.label`
2293
2825
  position: relative;
2294
2826
  display: flex;
2295
2827
  align-items: center;
2296
2828
  cursor: pointer;
2297
2829
  height: 32px;
2298
2830
 
2299
- ${import_utils11.disabledSelector} {
2831
+ padding-right: 16px;
2832
+ padding-left: 16px;
2833
+ border-radius: 16px;
2834
+ &:disabled,
2835
+ &[aria-disabled]:not([aria-disabled='false']) {
2300
2836
  cursor: default;
2837
+ opacity: 0.32;
2301
2838
  }
2839
+ color: var(--charcoal-text2);
2302
2840
 
2303
- ${({ checked }) => theme((o) => [
2304
- o.padding.horizontal(16),
2305
- o.borderRadius(16),
2306
- o.disabled,
2307
- checked === true && o.bg.brand,
2308
- checked === true ? o.font.text5 : o.font.text2
2309
- ])}
2841
+ ${({ checked = false }) => checked && import_styled_components21.css`
2842
+ background-color: var(--charcoal-brand);
2843
+ color: var(--charcoal-text5);
2844
+ `}
2310
2845
  `;
2311
- var SegmentedInput = import_styled_components22.default.input`
2846
+ var SegmentedInput = import_styled_components21.default.input`
2312
2847
  position: absolute;
2313
2848
 
2314
2849
  height: 0px;
@@ -2322,29 +2857,47 @@ var SegmentedInput = import_styled_components22.default.input`
2322
2857
  white-space: nowrap;
2323
2858
  opacity: 0;
2324
2859
  `;
2325
- var RadioLabel2 = import_styled_components22.default.div`
2860
+ var RadioLabel2 = import_styled_components21.default.div`
2326
2861
  background: transparent;
2327
2862
  display: flex;
2328
2863
  align-items: center;
2329
2864
  height: 22px;
2330
2865
  `;
2331
- var SegmentedLabelInner = import_styled_components22.default.div`
2332
- ${theme((o) => [o.typography(14)])}
2866
+ var SegmentedLabelInner = import_styled_components21.default.div`
2867
+ font-size: 14px;
2868
+ line-height: 22px;
2869
+ display: flow-root;
2870
+
2871
+ &::before {
2872
+ display: block;
2873
+ width: 0;
2874
+ height: 0;
2875
+ content: '';
2876
+ margin-top: -4px;
2877
+ }
2878
+ &::after {
2879
+ display: block;
2880
+ width: 0;
2881
+ height: 0;
2882
+ content: '';
2883
+ margin-bottom: -4px;
2884
+ }
2333
2885
  `;
2334
2886
 
2335
2887
  // src/components/Checkbox/index.tsx
2336
- var import_react25 = require("react");
2337
- var import_styled_components23 = __toESM(require("styled-components"));
2888
+ var import_react28 = require("react");
2889
+ var import_styled_components22 = __toESM(require("styled-components"));
2338
2890
  var import_checkbox = require("@react-aria/checkbox");
2339
- var import_utils12 = require("@react-aria/utils");
2340
- var import_react_stately3 = require("react-stately");
2341
- var import_utils13 = require("@charcoal-ui/utils");
2891
+ var import_utils10 = require("@react-aria/utils");
2892
+ var import_react_stately2 = require("react-stately");
2893
+ var import_utils11 = require("@charcoal-ui/utils");
2342
2894
  var import_jsx_runtime27 = require("react/jsx-runtime");
2343
- var Checkbox = (0, import_react25.forwardRef)(
2895
+ var Checkbox = (0, import_react28.forwardRef)(
2344
2896
  function CheckboxInner({ invalid = false, ...props }, ref) {
2345
- const ariaCheckboxProps = (0, import_react25.useMemo)(
2897
+ const ariaCheckboxProps = (0, import_react28.useMemo)(
2346
2898
  () => ({
2347
2899
  ...props,
2900
+ isInValid: invalid,
2348
2901
  isSelected: props.checked,
2349
2902
  defaultSelected: props.defaultChecked,
2350
2903
  validationState: invalid ? "invalid" : "valid",
@@ -2353,39 +2906,42 @@ var Checkbox = (0, import_react25.forwardRef)(
2353
2906
  }),
2354
2907
  [invalid, props]
2355
2908
  );
2356
- const state = (0, import_react_stately3.useToggleState)(ariaCheckboxProps);
2357
- const objectRef = (0, import_utils12.useObjectRef)(ref);
2909
+ const state = (0, import_react_stately2.useToggleState)(ariaCheckboxProps);
2910
+ const objectRef = (0, import_utils10.useObjectRef)(ref);
2358
2911
  const { inputProps } = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
2359
2912
  const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
2360
2913
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(InputRoot, { "aria-disabled": isDisabled, className: props.className, children: [
2361
2914
  /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(CheckboxRoot, { children: [
2362
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInput, { type: "checkbox", ...inputProps, invalid }),
2915
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInput, { type: "checkbox", ...inputProps }),
2363
2916
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }) })
2364
2917
  ] }),
2365
2918
  "children" in props && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(InputLabel, { children: props.children })
2366
2919
  ] });
2367
2920
  }
2368
2921
  );
2369
- var Checkbox_default = (0, import_react25.memo)(Checkbox);
2370
- var hiddenCss = import_styled_components23.css`
2922
+ var Checkbox_default = (0, import_react28.memo)(Checkbox);
2923
+ var hiddenCss = import_styled_components22.css`
2371
2924
  visibility: hidden;
2372
2925
  `;
2373
- var InputRoot = import_styled_components23.default.label`
2926
+ var InputRoot = import_styled_components22.default.label`
2374
2927
  position: relative;
2375
2928
  display: flex;
2376
2929
 
2377
2930
  cursor: pointer;
2378
- ${import_utils13.disabledSelector} {
2931
+ ${import_utils11.disabledSelector} {
2379
2932
  cursor: default;
2380
2933
  }
2381
2934
 
2382
- gap: ${({ theme: theme3 }) => (0, import_utils13.px)(theme3.spacing[4])};
2383
- ${theme((o) => [o.disabled])}
2935
+ gap: 4px;
2936
+ &:disabled,
2937
+ &[aria-disabled]:not([aria-disabled='false']) {
2938
+ opacity: 0.32;
2939
+ }
2384
2940
  `;
2385
- var CheckboxRoot = import_styled_components23.default.div`
2941
+ var CheckboxRoot = import_styled_components22.default.div`
2386
2942
  position: relative;
2387
2943
  `;
2388
- var CheckboxInput = import_styled_components23.default.input`
2944
+ var CheckboxInput = import_styled_components22.default.input`
2389
2945
  &[type='checkbox'] {
2390
2946
  appearance: none;
2391
2947
  display: block;
@@ -2393,23 +2949,50 @@ var CheckboxInput = import_styled_components23.default.input`
2393
2949
  margin: 0;
2394
2950
  width: 20px;
2395
2951
  height: 20px;
2952
+ border-radius: 4px;
2953
+ transition: 0.2s box-shadow, 0.2s background-color;
2396
2954
 
2397
2955
  &:checked {
2398
- ${theme((o) => o.bg.brand.hover.press)}
2956
+ background-color: var(--charcoal-brand);
2957
+
2958
+ &:not(:disabled):not([aria-disabled]),
2959
+ &[aria-disabled='false'] {
2960
+ &:hover {
2961
+ background-color: var(--charcoal-brand-hover);
2962
+ }
2963
+ &:active {
2964
+ background-color: var(--charcoal-brand-press);
2965
+ }
2966
+ }
2399
2967
  }
2968
+
2969
+ &:not(:disabled):not([aria-disabled]),
2970
+ &[aria-disabled='false'] {
2971
+ &:focus,
2972
+ &:active {
2973
+ outline: none;
2974
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2975
+ &:not(:focus-visible) {
2976
+ outline: none;
2977
+ }
2978
+ }
2979
+ &:focus-visible {
2980
+ outline: none;
2981
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2982
+ }
2983
+ &[aria-invalid='true'] {
2984
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2985
+ }
2986
+ }
2987
+
2400
2988
  &:not(:checked) {
2401
2989
  border-width: 2px;
2402
2990
  border-style: solid;
2403
- border-color: ${({ theme: theme3 }) => theme3.color.text4};
2991
+ border-color: var(--charcoal-text4);
2404
2992
  }
2405
- ${theme((o) => [o.outline.default.focus, o.borderRadius(4)])}
2406
- ${(p) => p.invalid && theme((o) => [o.outline.assertive])}
2407
-
2408
- /* FIXME: o.outline.default.focus の transition に o.bg.brand の transition が打ち消されてしまう */
2409
- transition: all 0.2s !important;
2410
2993
  }
2411
2994
  `;
2412
- var CheckboxInputOverlay = import_styled_components23.default.div`
2995
+ var CheckboxInputOverlay = import_styled_components22.default.div`
2413
2996
  position: absolute;
2414
2997
  top: -2px;
2415
2998
  left: -2px;
@@ -2417,31 +3000,31 @@ var CheckboxInputOverlay = import_styled_components23.default.div`
2417
3000
  display: flex;
2418
3001
  align-items: center;
2419
3002
  justify-content: center;
2420
-
2421
- ${theme((o) => [o.width.px(24), o.height.px(24), o.font.text5])}
3003
+ width: 24px;
3004
+ height: 24px;
3005
+ color: var(--charcoal-text5);
2422
3006
 
2423
3007
  ${({ checked }) => checked !== true && hiddenCss};
2424
3008
  `;
2425
- var InputLabel = import_styled_components23.default.div`
2426
- ${theme((o) => [o.font.text2])}
2427
-
3009
+ var InputLabel = import_styled_components22.default.div`
3010
+ color: var(--charcoal-text2);
2428
3011
  font-size: 14px;
2429
3012
  /** checkbox の height が 20px なのでcheckbox と text が揃っているように見せるために行ボックスの高さを 20px にしている */
2430
3013
  line-height: 20px;
2431
3014
  `;
2432
3015
 
2433
3016
  // src/components/TagItem/index.tsx
2434
- var import_react26 = require("react");
2435
- var import_utils14 = require("@react-aria/utils");
2436
- var import_styled_components24 = __toESM(require("styled-components"));
2437
- var import_utils15 = require("@charcoal-ui/utils");
3017
+ var import_react29 = require("react");
3018
+ var import_utils12 = require("@react-aria/utils");
3019
+ var import_styled_components23 = __toESM(require("styled-components"));
3020
+ var import_utils13 = require("@charcoal-ui/utils");
2438
3021
  var import_button = require("@react-aria/button");
2439
3022
  var import_jsx_runtime28 = require("react/jsx-runtime");
2440
3023
  var sizeMap = {
2441
3024
  S: 32,
2442
3025
  M: 40
2443
3026
  };
2444
- var TagItem = (0, import_react26.forwardRef)(
3027
+ var TagItem = (0, import_react29.forwardRef)(
2445
3028
  function TagItemInner({
2446
3029
  label,
2447
3030
  translatedLabel,
@@ -2453,8 +3036,8 @@ var TagItem = (0, import_react26.forwardRef)(
2453
3036
  className,
2454
3037
  ...props
2455
3038
  }, _ref) {
2456
- const ref = (0, import_utils14.useObjectRef)(_ref);
2457
- const ariaButtonProps = (0, import_react26.useMemo)(
3039
+ const ref = (0, import_utils12.useObjectRef)(_ref);
3040
+ const ariaButtonProps = (0, import_react29.useMemo)(
2458
3041
  () => ({
2459
3042
  elementType: "a",
2460
3043
  isDisabled: disabled,
@@ -2486,8 +3069,21 @@ var TagItem = (0, import_react26.forwardRef)(
2486
3069
  );
2487
3070
  }
2488
3071
  );
2489
- var TagItem_default = (0, import_react26.memo)(TagItem);
2490
- var TagItemRoot = import_styled_components24.default.a`
3072
+ var TagItem_default = (0, import_react29.memo)(TagItem);
3073
+ var horizontalPadding = ({ left, right }) => import_styled_components23.css`
3074
+ padding-right: ${(0, import_utils13.px)(right)};
3075
+ padding-left: ${(0, import_utils13.px)(left)};
3076
+ `;
3077
+ var tagItemRootSize = (size) => {
3078
+ switch (size) {
3079
+ case "M":
3080
+ return horizontalPadding({ left: 24, right: 24 });
3081
+ case "S":
3082
+ return horizontalPadding({ left: 16, right: 16 });
3083
+ }
3084
+ };
3085
+ var activeTagItemRoot = horizontalPadding({ left: 16, right: 8 });
3086
+ var TagItemRoot = import_styled_components23.default.a`
2491
3087
  isolation: isolate;
2492
3088
  position: relative;
2493
3089
  height: ${({ size }) => sizeMap[size]}px;
@@ -2497,22 +3093,30 @@ var TagItemRoot = import_styled_components24.default.a`
2497
3093
  text-decoration: none;
2498
3094
  cursor: pointer;
2499
3095
  overflow: hidden;
3096
+ border-radius: 4px;
3097
+ ${({ size, status }) => status !== "active" && tagItemRootSize(size)}
3098
+ ${({ status }) => status === "active" && activeTagItemRoot}
3099
+ color: ${({ status }) => status === "inactive" ? "var(--charcoal-text2)" : "var(--charcoal-text5)"};
3100
+
3101
+ transition: 0.2s box-shadow;
3102
+
3103
+ &:not(:disabled):not([aria-disabled]),
3104
+ &[aria-disabled='false'] {
3105
+ &:focus,
3106
+ &:active,
3107
+ &:focus-visible {
3108
+ outline: none;
3109
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
3110
+ }
3111
+ }
2500
3112
 
2501
- ${({ size, status }) => theme((o) => [
2502
- o.outline.default.focus,
2503
- o.borderRadius(4),
2504
- status !== "active" && size === "M" && o.padding.horizontal(24),
2505
- status !== "active" && size === "S" && o.padding.horizontal(16),
2506
- status === "inactive" ? o.font.text2 : o.font.text5,
2507
- ...status === "active" ? [o.padding.left(16), o.padding.right(8)] : []
2508
- ])}
2509
-
2510
- ${import_utils15.disabledSelector} {
2511
- ${theme((o) => [o.disabled])}
3113
+ &:disabled,
3114
+ &[aria-disabled]:not([aria-disabled='false']) {
3115
+ opacity: 0.32;
2512
3116
  cursor: default;
2513
3117
  }
2514
3118
  `;
2515
- var Background = import_styled_components24.default.div`
3119
+ var Background = import_styled_components23.default.div`
2516
3120
  position: absolute;
2517
3121
  z-index: 1;
2518
3122
  top: 0;
@@ -2521,10 +3125,13 @@ var Background = import_styled_components24.default.div`
2521
3125
  height: 100%;
2522
3126
 
2523
3127
  background-color: ${({ bgColor }) => bgColor};
2524
- ${({ status }) => status === "inactive" && theme((o) => o.bg.surface3)}
3128
+ ${({ status }) => status === "inactive" && import_styled_components23.css`
3129
+ background-color: var(--charcoal-surface3);
3130
+ `}
3131
+
3132
+ ${({ bgImage }) => bgImage !== void 0 && import_styled_components23.css`
3133
+ background-color: var(--charcoal-surface4);
2525
3134
 
2526
- ${({ bgImage }) => bgImage !== void 0 && import_styled_components24.css`
2527
- ${theme((o) => [o.bg.surface4])}
2528
3135
  &::before {
2529
3136
  content: '';
2530
3137
  position: absolute;
@@ -2539,25 +3146,43 @@ var Background = import_styled_components24.default.div`
2539
3146
  }
2540
3147
  `}
2541
3148
  `;
2542
- var Inner = import_styled_components24.default.div`
3149
+ var Inner = import_styled_components23.default.div`
2543
3150
  display: inline-flex;
2544
- gap: ${({ theme: theme3 }) => (0, import_utils15.px)(theme3.spacing[8])};
3151
+ gap: 8px;
2545
3152
  align-items: center;
2546
3153
  z-index: 2;
2547
3154
  `;
2548
- var labelCSS = import_styled_components24.css`
2549
- ${theme((o) => [o.typography(14).bold])}
3155
+ var labelCSS = import_styled_components23.css`
3156
+ font-size: 14px;
3157
+ line-height: 22px;
3158
+ font-weight: bold;
3159
+ display: flow-root;
3160
+
3161
+ &::before {
3162
+ display: block;
3163
+ width: 0;
3164
+ height: 0;
3165
+ content: '';
3166
+ margin-top: -4px;
3167
+ }
3168
+ &::after {
3169
+ display: block;
3170
+ width: 0;
3171
+ height: 0;
3172
+ content: '';
3173
+ margin-bottom: -4px;
3174
+ }
2550
3175
  `;
2551
- var translateLabelCSS = import_styled_components24.css`
3176
+ var translateLabelCSS = import_styled_components23.css`
2552
3177
  display: flex;
2553
3178
  align-items: center;
2554
3179
  flex-direction: column;
2555
3180
  font-size: 10px;
2556
3181
  `;
2557
- var LabelWrapper = import_styled_components24.default.div`
3182
+ var LabelWrapper = import_styled_components23.default.div`
2558
3183
  ${({ isTranslate }) => isTranslate ?? false ? translateLabelCSS : labelCSS}
2559
3184
  `;
2560
- var Label3 = import_styled_components24.default.span`
3185
+ var Label3 = import_styled_components23.default.span`
2561
3186
  max-width: 152px;
2562
3187
  overflow: hidden;
2563
3188
  text-overflow: ellipsis;
@@ -2566,8 +3191,25 @@ var Label3 = import_styled_components24.default.span`
2566
3191
  color: inherit;
2567
3192
  line-height: inherit;
2568
3193
  `;
2569
- var TranslatedLabel = import_styled_components24.default.div`
2570
- ${theme((o) => [o.typography(12).bold])}
3194
+ var TranslatedLabel = import_styled_components23.default.div`
3195
+ font-size: 12px;
3196
+ line-height: 20px;
3197
+ font-weight: bold;
3198
+ display: flow-root;
3199
+ &::before {
3200
+ display: block;
3201
+ width: 0;
3202
+ height: 0;
3203
+ content: '';
3204
+ margin-top: -4px;
3205
+ }
3206
+ &::after {
3207
+ display: block;
3208
+ width: 0;
3209
+ height: 0;
3210
+ content: '';
3211
+ margin-bottom: -4px;
3212
+ }
2571
3213
  `;
2572
3214
  // Annotate the CommonJS export names for ESM import in node:
2573
3215
  0 && (module.exports = {