@charcoal-ui/react 3.5.0 → 3.6.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 (71) hide show
  1. package/dist/components/Button/index.d.ts.map +1 -1
  2. package/dist/components/Checkbox/index.d.ts.map +1 -1
  3. package/dist/components/Checkbox/index.story.d.ts +1 -0
  4. package/dist/components/Checkbox/index.story.d.ts.map +1 -1
  5. package/dist/components/DropdownSelector/DropdownMenuItem.d.ts.map +1 -1
  6. package/dist/components/DropdownSelector/ListItem/index.d.ts.map +1 -1
  7. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  8. package/dist/components/DropdownSelector/index.d.ts.map +1 -1
  9. package/dist/components/FieldLabel/index.d.ts.map +1 -1
  10. package/dist/components/IconButton/index.d.ts.map +1 -1
  11. package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
  12. package/dist/components/Modal/ModalPlumbing.d.ts.map +1 -1
  13. package/dist/components/Modal/index.d.ts.map +1 -1
  14. package/dist/components/Modal/index.story.d.ts +1 -0
  15. package/dist/components/Modal/index.story.d.ts.map +1 -1
  16. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  17. package/dist/components/MultiSelect/index.story.d.ts +2 -0
  18. package/dist/components/MultiSelect/index.story.d.ts.map +1 -1
  19. package/dist/components/Radio/index.d.ts.map +1 -1
  20. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  21. package/dist/components/Switch/index.d.ts.map +1 -1
  22. package/dist/components/TagItem/index.d.ts.map +1 -1
  23. package/dist/components/TextField/TextField.story.d.ts.map +1 -1
  24. package/dist/components/TextField/index.d.ts.map +1 -1
  25. package/dist/index.cjs.js +741 -317
  26. package/dist/index.cjs.js.map +1 -1
  27. package/dist/index.esm.js +728 -304
  28. package/dist/index.esm.js.map +1 -1
  29. package/dist/styled.d.ts +4 -4
  30. package/package.json +9 -9
  31. package/src/components/Button/__snapshots__/index.story.storyshot +312 -592
  32. package/src/components/Button/index.tsx +50 -14
  33. package/src/components/Checkbox/__snapshots__/index.story.storyshot +209 -40
  34. package/src/components/Checkbox/__snapshots__/snapshot.test.tsx.snap +410 -80
  35. package/src/components/Checkbox/index.story.tsx +24 -0
  36. package/src/components/Checkbox/index.tsx +47 -17
  37. package/src/components/Clickable/__snapshots__/index.story.storyshot +4 -0
  38. package/src/components/Clickable/index.tsx +1 -0
  39. package/src/components/DropdownSelector/DropdownMenuItem.tsx +19 -3
  40. package/src/components/DropdownSelector/ListItem/__snapshots__/index.story.storyshot +3 -10
  41. package/src/components/DropdownSelector/ListItem/index.tsx +6 -4
  42. package/src/components/DropdownSelector/MenuItemGroup/index.tsx +1 -1
  43. package/src/components/DropdownSelector/MenuList/__snapshots__/index.story.storyshot +4 -13
  44. package/src/components/DropdownSelector/Popover/__snapshots__/index.story.storyshot +20 -37
  45. package/src/components/DropdownSelector/Popover/index.tsx +5 -8
  46. package/src/components/DropdownSelector/__snapshots__/index.story.storyshot +60 -191
  47. package/src/components/DropdownSelector/index.tsx +70 -20
  48. package/src/components/FieldLabel/index.tsx +77 -12
  49. package/src/components/IconButton/__snapshots__/index.story.storyshot +30 -54
  50. package/src/components/IconButton/index.tsx +51 -26
  51. package/src/components/LoadingSpinner/index.tsx +3 -6
  52. package/src/components/Modal/Dialog/index.tsx +1 -1
  53. package/src/components/Modal/ModalPlumbing.tsx +26 -5
  54. package/src/components/Modal/__snapshots__/index.story.storyshot +2454 -108
  55. package/src/components/Modal/index.story.tsx +27 -0
  56. package/src/components/Modal/index.tsx +19 -4
  57. package/src/components/MultiSelect/__snapshots__/index.story.storyshot +528 -25
  58. package/src/components/MultiSelect/index.story.tsx +60 -0
  59. package/src/components/MultiSelect/index.tsx +82 -22
  60. package/src/components/Radio/__snapshots__/index.story.storyshot +32 -49
  61. package/src/components/Radio/index.tsx +71 -23
  62. package/src/components/SegmentedControl/__snapshots__/index.story.storyshot +18 -19
  63. package/src/components/SegmentedControl/index.tsx +35 -15
  64. package/src/components/Switch/__snapshots__/index.story.storyshot +6 -18
  65. package/src/components/Switch/index.tsx +10 -15
  66. package/src/components/TagItem/__snapshots__/index.story.storyshot +39 -158
  67. package/src/components/TagItem/index.tsx +84 -19
  68. package/src/components/TextArea/__snapshots__/TextArea.story.storyshot +38 -76
  69. package/src/components/TextField/TextField.story.tsx +35 -18
  70. package/src/components/TextField/__snapshots__/TextField.story.storyshot +71 -128
  71. package/src/components/TextField/index.tsx +0 -1
package/dist/index.cjs.js CHANGED
@@ -110,7 +110,7 @@ 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"));
113
+ var import_styled_components3 = __toESM(require("styled-components"));
114
114
 
115
115
  // src/_lib/index.ts
116
116
  function unreachable(value) {
@@ -134,14 +134,9 @@ function countCodePointsInString(string) {
134
134
  return Array.from(string).length;
135
135
  }
136
136
 
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);
141
-
142
137
  // src/components/Clickable/index.tsx
143
138
  var React2 = __toESM(require("react"));
144
- var import_styled_components3 = __toESM(require("styled-components"));
139
+ var import_styled_components2 = __toESM(require("styled-components"));
145
140
  var import_utils = require("@charcoal-ui/utils");
146
141
  var import_jsx_runtime3 = require("react/jsx-runtime");
147
142
  var Clickable = React2.forwardRef(
@@ -167,7 +162,7 @@ var Clickable = React2.forwardRef(
167
162
  }
168
163
  );
169
164
  var Clickable_default = Clickable;
170
- var StyledClickableDiv = import_styled_components3.default.div`
165
+ var StyledClickableDiv = import_styled_components2.default.div`
171
166
  cursor: pointer;
172
167
 
173
168
  ${import_utils.disabledSelector} {
@@ -184,6 +179,7 @@ var StyledClickableDiv = import_styled_components3.default.div`
184
179
  text-rendering: inherit;
185
180
  letter-spacing: inherit;
186
181
  word-spacing: inherit;
182
+ text-decoration: none;
187
183
 
188
184
  &:focus {
189
185
  outline: none;
@@ -223,7 +219,8 @@ var Button = (0, import_react2.forwardRef)(function Button2({
223
219
  {
224
220
  ...rest,
225
221
  disabled,
226
- $variant: variant,
222
+ $background: variantToBackground(variant),
223
+ $color: variantToFont(variant),
227
224
  $size: size,
228
225
  $fullWidth: fixed,
229
226
  ref,
@@ -232,7 +229,15 @@ var Button = (0, import_react2.forwardRef)(function Button2({
232
229
  );
233
230
  });
234
231
  var Button_default = Button;
235
- var StyledButton = (0, import_styled_components4.default)(Clickable_default)`
232
+ var horizontalPaddingSmall = import_styled_components3.css`
233
+ padding-right: 16px;
234
+ padding-left: 16px;
235
+ `;
236
+ var horizontalPaddingMedium = import_styled_components3.css`
237
+ padding-right: 24px;
238
+ padding-left: 24px;
239
+ `;
240
+ var StyledButton = (0, import_styled_components3.default)(Clickable_default)`
236
241
  width: ${(p) => p.$fullWidth ? "stretch" : "min-content"};
237
242
  display: inline-grid;
238
243
  align-items: center;
@@ -240,16 +245,40 @@ var StyledButton = (0, import_styled_components4.default)(Clickable_default)`
240
245
  cursor: pointer;
241
246
  user-select: none;
242
247
  white-space: nowrap;
248
+ border-radius: 999999px;
249
+ font-size: 14px;
250
+ line-height: 22px;
251
+ font-weight: bold;
252
+
253
+ ${(p) => p.$size === "M" ? horizontalPaddingMedium : horizontalPaddingSmall}
254
+
255
+ color: var(--charcoal-${(p) => p.$color});
256
+ background-color: var(--charcoal-${(p) => p.$background});
257
+ transition: 0.2s color, 0.2s background-color, 0.2s box-shadow;
258
+
259
+ &:not(:disabled):not([aria-disabled]),
260
+ &[aria-disabled='false'] {
261
+ &:active,
262
+ &:focus,
263
+ &:focus-visible {
264
+ outline: none;
265
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
266
+ }
267
+
268
+ &:hover {
269
+ color: var(--charcoal-${(p) => p.$color}-hover);
270
+ background-color: var(--charcoal-${(p) => p.$background}-hover);
271
+ }
272
+ &:active {
273
+ color: var(--charcoal-${(p) => p.$color}-press);
274
+ background-color: var(--charcoal-${(p) => p.$background}-press);
275
+ }
276
+ }
243
277
 
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
- ])}
278
+ &:disabled,
279
+ &[aria-disabled]:not([aria-disabled='false']) {
280
+ opacity: 0.32;
281
+ }
253
282
 
254
283
  /* よく考えたらheight=32って定義が存在しないな... */
255
284
  height: ${(p) => p.$size === "M" ? 40 : 32}px;
@@ -289,63 +318,83 @@ function variantToFont(variant) {
289
318
 
290
319
  // src/components/IconButton/index.tsx
291
320
  var import_react3 = require("react");
292
- var import_styled_components5 = __toESM(require("styled-components"));
321
+ var import_styled_components4 = __toESM(require("styled-components"));
293
322
  var import_jsx_runtime5 = require("react/jsx-runtime");
294
323
  var IconButton = (0, import_react3.forwardRef)(
295
324
  function IconButtonInner({ variant = "Default", size = "M", icon, ...rest }, ref) {
296
325
  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 }) });
326
+ 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
327
  }
299
328
  );
300
329
  var IconButton_default = IconButton;
301
- var StyledIconButton = (0, import_styled_components5.default)(Clickable_default).attrs(styledProps)`
330
+ var StyledIconButton = (0, import_styled_components4.default)(Clickable_default).attrs(styledProps)`
302
331
  user-select: none;
303
332
 
304
- width: ${(p) => p.width}px;
305
- height: ${(p) => p.height}px;
333
+ width: ${(p) => p.$width}px;
334
+ height: ${(p) => p.$height}px;
306
335
  display: flex;
307
336
  align-items: center;
308
337
  justify-content: center;
338
+ color: var(${({ $font }) => `--charcoal-${$font}`});
339
+ background-color: var(${({ $background }) => `--charcoal-${$background}`});
340
+ border-radius: 999999px;
341
+ transition: 0.2s background-color, 0.2s box-shadow;
342
+
343
+ &:not(:disabled):not([aria-disabled]),
344
+ &[aria-disabled='false'] {
345
+ &:hover {
346
+ background-color: var(
347
+ ${({ $background }) => `--charcoal-${$background}-hover`}
348
+ );
349
+ }
350
+ &:active {
351
+ background-color: var(
352
+ ${({ $background }) => `--charcoal-${$background}-press`}
353
+ );
354
+ }
355
+ &:focus,
356
+ &:active,
357
+ &:focus-visible {
358
+ outline: none;
359
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
360
+ }
361
+ }
309
362
 
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
- ])}
363
+ &:disabled,
364
+ &[aria-disabled]:not([aria-disabled='false']) {
365
+ opacity: 0.32;
366
+ }
317
367
  `;
318
- function styledProps(props) {
368
+ function styledProps({ $size, $variant }) {
319
369
  return {
320
- ...props,
321
- ...variantToProps(props.variant),
322
- ...sizeToProps(props.size)
370
+ ...variantToProps($variant),
371
+ ...sizeToProps($size)
323
372
  };
324
373
  }
325
374
  function variantToProps(variant) {
326
375
  switch (variant) {
327
376
  case "Default":
328
- return { font: "text3", background: "transparent" };
377
+ return { $font: "text3", $background: "transparent" };
329
378
  case "Overlay":
330
- return { font: "text5", background: "surface4" };
379
+ return { $font: "text5", $background: "surface4" };
331
380
  }
332
381
  }
333
382
  function sizeToProps(size) {
334
383
  switch (size) {
335
384
  case "XS":
336
385
  return {
337
- width: 20,
338
- height: 20
386
+ $width: 20,
387
+ $height: 20
339
388
  };
340
389
  case "S":
341
390
  return {
342
- width: 32,
343
- height: 32
391
+ $width: 32,
392
+ $height: 32
344
393
  };
345
394
  case "M":
346
395
  return {
347
- width: 40,
348
- height: 40
396
+ $width: 40,
397
+ $height: 40
349
398
  };
350
399
  }
351
400
  }
@@ -375,9 +424,8 @@ function validateIconSize(size, icon) {
375
424
  // src/components/Radio/index.tsx
376
425
  var import_react4 = require("react");
377
426
  var React3 = __toESM(require("react"));
378
- var import_styled_components6 = __toESM(require("styled-components"));
427
+ var import_styled_components5 = __toESM(require("styled-components"));
379
428
  var import_warning = __toESM(require("warning"));
380
- var import_utils2 = require("@charcoal-ui/utils");
381
429
  var import_jsx_runtime6 = require("react/jsx-runtime");
382
430
  var Radio = (0, import_react4.forwardRef)(function RadioInner({ value, disabled = false, children, className }, ref) {
383
431
  const {
@@ -418,16 +466,19 @@ var Radio = (0, import_react4.forwardRef)(function RadioInner({ value, disabled
418
466
  ] });
419
467
  });
420
468
  var Radio_default = (0, import_react4.memo)(Radio);
421
- var RadioRoot = import_styled_components6.default.label`
469
+ var RadioRoot = import_styled_components5.default.label`
422
470
  display: grid;
423
471
  grid-template-columns: auto 1fr;
424
- grid-gap: ${({ theme: theme3 }) => (0, import_utils2.px)(theme3.spacing[4])};
472
+ grid-gap: 4px;
425
473
  align-items: center;
426
474
  cursor: pointer;
427
475
 
428
- ${theme((o) => [o.disabled])}
476
+ &:disabled,
477
+ &[aria-disabled]:not([aria-disabled='false']) {
478
+ opacity: 0.32;
479
+ }
429
480
  `;
430
- var RadioInput = import_styled_components6.default.input.attrs({ type: "radio" })`
481
+ var RadioInput = import_styled_components5.default.input.attrs({ type: "radio" })`
431
482
  /** Make prior to browser default style */
432
483
  &[type='radio'] {
433
484
  appearance: none;
@@ -440,46 +491,92 @@ var RadioInput = import_styled_components6.default.input.attrs({ type: "radio" }
440
491
  width: 20px;
441
492
  height: 20px;
442
493
  cursor: pointer;
494
+ border-radius: 999999px;
495
+ background-color: var(--charcoal-surface1);
496
+ transition: 0.2s background-color, 0.2s box-shadow;
497
+
498
+ &:not(:disabled):not([aria-disabled]),
499
+ &[aria-disabled='false'] {
500
+ ${({ invalid = false }) => invalid && import_styled_components5.css`
501
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
502
+ `}
443
503
 
444
- ${({ invalid = false }) => theme((o) => [
445
- o.borderRadius("oval"),
446
- o.bg.surface1.hover.press,
447
- invalid && o.outline.assertive
448
- ])};
504
+ &:hover {
505
+ background-color: var(--charcoal-surface1-hover);
506
+ }
507
+ &:active {
508
+ background-color: var(--charcoal-surface1-press);
509
+ }
510
+ &:focus,
511
+ &:active,
512
+ &:focus-visible {
513
+ outline: none;
514
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
515
+ }
516
+ }
449
517
 
450
518
  &:not(:checked) {
451
519
  border-width: 2px;
452
520
  border-style: solid;
453
- border-color: ${({ theme: theme3 }) => theme3.color.text3};
521
+ border-color: var(--charcoal-text3);
454
522
  }
455
523
 
456
524
  &:checked {
457
- ${theme((o) => o.bg.brand.hover.press)}
458
-
525
+ background-color: var(--charcoal-brand);
459
526
  &::after {
460
527
  content: '';
461
528
  display: block;
462
529
  width: 8px;
463
530
  height: 8px;
464
531
  pointer-events: none;
532
+ background-color: var(--charcoal-text5);
533
+ border-radius: 999999px;
534
+ transition: 0.2s background-color, 0.2s box-shadow;
535
+ }
465
536
 
466
- ${theme((o) => [o.bg.text5.hover.press, o.borderRadius("oval")])}
537
+ &:not(:disabled):not([aria-disabled]),
538
+ &[aria-disabled='false'] {
539
+ &:hover {
540
+ background-color: var(--charcoal-brand-hover);
541
+ &::after {
542
+ background-color: var(--charcoal-text5-hover);
543
+ }
544
+ }
545
+ &:active {
546
+ background-color: var(--charcoal-brand-press);
547
+ &::after {
548
+ background-color: var(--charcoal-text5-press);
549
+ }
550
+ }
467
551
  }
468
552
  }
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
553
  }
475
554
  `;
476
- var RadioLabel = import_styled_components6.default.div`
477
- ${theme((o) => [o.typography(14), o.font.text2])}
555
+ var RadioLabel = import_styled_components5.default.div`
556
+ font-size: 14px;
557
+ line-height: 22px;
558
+ display: flow-root;
559
+ color: var(--charcoal-text2);
560
+
561
+ &::before {
562
+ display: block;
563
+ width: 0;
564
+ height: 0;
565
+ content: '';
566
+ margin-top: -4px;
567
+ }
568
+ &::after {
569
+ display: block;
570
+ width: 0;
571
+ height: 0;
572
+ content: '';
573
+ margin-bottom: -4px;
574
+ }
478
575
  `;
479
- var StyledRadioGroup = import_styled_components6.default.div`
576
+ var StyledRadioGroup = import_styled_components5.default.div`
480
577
  display: grid;
481
578
  grid-template-columns: 1fr;
482
- grid-gap: ${({ theme: theme3 }) => (0, import_utils2.px)(theme3.spacing[8])};
579
+ grid-gap: 8px;
483
580
  `;
484
581
  var RadioGroupContext = React3.createContext({
485
582
  name: void 0,
@@ -538,9 +635,9 @@ function RadioGroup({
538
635
 
539
636
  // src/components/MultiSelect/index.tsx
540
637
  var import_react6 = require("react");
541
- var import_styled_components7 = __toESM(require("styled-components"));
638
+ var import_styled_components6 = __toESM(require("styled-components"));
542
639
  var import_warning2 = __toESM(require("warning"));
543
- var import_utils3 = require("@charcoal-ui/utils");
640
+ var import_utils2 = require("@charcoal-ui/utils");
544
641
 
545
642
  // src/components/MultiSelect/context.ts
546
643
  var import_react5 = require("react");
@@ -624,44 +721,96 @@ var MultiSelect = (0, import_react6.forwardRef)(
624
721
  }
625
722
  );
626
723
  var MultiSelect_default = (0, import_react6.memo)(MultiSelect);
627
- var MultiSelectRoot = import_styled_components7.default.label`
724
+ var MultiSelectRoot = import_styled_components6.default.label`
628
725
  display: grid;
629
726
  grid-template-columns: auto 1fr;
630
727
  align-items: center;
631
728
  position: relative;
632
729
  cursor: pointer;
633
- ${import_utils3.disabledSelector} {
730
+ gap: ${({ theme }) => (0, import_utils2.px)(theme.spacing[4])};
731
+ &:disabled,
732
+ &[aria-disabled]:not([aria-disabled='false']) {
733
+ opacity: 0.32;
634
734
  cursor: default;
635
735
  }
636
- gap: ${({ theme: theme3 }) => (0, import_utils3.px)(theme3.spacing[4])};
637
- ${theme((o) => o.disabled)}
638
736
  `;
639
- var MultiSelectLabel = import_styled_components7.default.div`
737
+ var MultiSelectLabel = import_styled_components6.default.div`
640
738
  display: flex;
641
739
  align-items: center;
642
- ${theme((o) => [o.typography(14), o.font.text2])}
740
+ font-size: 14px;
741
+ line-height: 22px;
742
+ display: flow-root;
743
+ color: var(--charcoal-text2);
744
+
745
+ &::before {
746
+ display: block;
747
+ width: 0;
748
+ height: 0;
749
+ content: '';
750
+ margin-top: -4px;
751
+ }
752
+ &::after {
753
+ display: block;
754
+ width: 0;
755
+ height: 0;
756
+ content: '';
757
+ margin-bottom: -4px;
758
+ }
643
759
  `;
644
- var MultiSelectInput = import_styled_components7.default.input.attrs({ type: "checkbox" })`
760
+ var MultiSelectInput = import_styled_components6.default.input.attrs({ type: "checkbox" })`
645
761
  &[type='checkbox'] {
646
762
  appearance: none;
647
763
  display: block;
648
764
  width: 20px;
649
765
  height: 20px;
650
766
  margin: 0;
767
+ background-color: var(--charcoal-text3);
768
+ border-radius: 999999px;
769
+ transition: 0.2s background-color, 0.2s box-shadow;
651
770
 
652
771
  &:checked {
653
- ${theme((o) => o.bg.brand.hover.press)}
772
+ background-color: var(--charcoal-brand);
773
+ &:hover {
774
+ &:not(:disabled):not([aria-disabled]),
775
+ &[aria-disabled='false'] {
776
+ background-color: var(--charcoal-brand-hover);
777
+ }
778
+ }
779
+
780
+ &:active {
781
+ &:not(:disabled):not([aria-disabled]),
782
+ &[aria-disabled='false'] {
783
+ background-color: var(--charcoal-brand-press);
784
+ }
785
+ }
654
786
  }
655
787
 
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
- ])};
788
+ &:hover {
789
+ &:not(:disabled):not([aria-disabled]),
790
+ &[aria-disabled='false'] {
791
+ background-color: var(--charcoal-text3-hover);
792
+ }
793
+ }
794
+
795
+ &:active {
796
+ &:not(:disabled):not([aria-disabled]),
797
+ &[aria-disabled='false'] {
798
+ background-color: var(--charcoal-text3-press);
799
+ }
800
+ }
801
+
802
+ ${({ invalid, overlay }) => invalid && !overlay && import_styled_components6.css`
803
+ &:not(:disabled):not([aria-disabled]),
804
+ &[aria-disabled='false'] {
805
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
806
+ }
807
+ `}
808
+ ${({ overlay }) => overlay && import_styled_components6.css`
809
+ background-color: var(--charcoal-surface4);
810
+ `}
662
811
  }
663
812
  `;
664
- var MultiSelectInputOverlay = import_styled_components7.default.div`
813
+ var MultiSelectInputOverlay = import_styled_components6.default.div`
665
814
  position: absolute;
666
815
  top: -2px;
667
816
  left: -2px;
@@ -669,17 +818,20 @@ var MultiSelectInputOverlay = import_styled_components7.default.div`
669
818
  display: flex;
670
819
  align-items: center;
671
820
  justify-content: center;
821
+ width: 24px;
822
+ height: 24px;
823
+ border-radius: 999999px;
824
+ color: var(--charcoal-text5);
825
+ transition: 0.2s box-shadow;
826
+ ${({ invalid, overlay }) => invalid && overlay && import_styled_components6.css`
827
+ &:not(:disabled):not([aria-disabled]),
828
+ &[aria-disabled='false'] {
829
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
830
+ }
831
+ `}
672
832
 
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};
833
+ ${({ overlay }) => overlay && import_styled_components6.css`
834
+ border-color: var(--charcoal-text5);
683
835
  border-width: 2px;
684
836
  border-style: solid;
685
837
  `}
@@ -730,9 +882,8 @@ function MultiSelectGroup({
730
882
  var import_switch = require("@react-aria/switch");
731
883
  var import_react7 = require("react");
732
884
  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");
885
+ var import_styled_components7 = __toESM(require("styled-components"));
886
+ var import_utils3 = require("@react-aria/utils");
736
887
  var import_jsx_runtime8 = require("react/jsx-runtime");
737
888
  var SwitchCheckbox = (0, import_react7.forwardRef)(
738
889
  function SwitchCheckboxInner(props, external) {
@@ -747,7 +898,7 @@ var SwitchCheckbox = (0, import_react7.forwardRef)(
747
898
  [props]
748
899
  );
749
900
  const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
750
- const ref = (0, import_utils5.useObjectRef)(external);
901
+ const ref = (0, import_utils3.useObjectRef)(external);
751
902
  const {
752
903
  inputProps: { className: _className, type: _type, ...rest }
753
904
  } = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
@@ -758,33 +909,30 @@ var SwitchCheckbox = (0, import_react7.forwardRef)(
758
909
  }
759
910
  );
760
911
  var Switch_default = (0, import_react7.memo)(SwitchCheckbox);
761
- var Label = import_styled_components8.default.label`
912
+ var Label = import_styled_components7.default.label`
762
913
  display: inline-grid;
763
914
  grid-template-columns: auto 1fr;
764
915
  align-items: center;
765
916
  cursor: pointer;
766
917
  outline: 0;
767
918
 
768
- ${theme((o) => o.disabled)}
919
+ &:disabled,
920
+ &[aria-disabled]:not([aria-disabled='false']) {
921
+ opacity: 0.32;
922
+ cursor: default;
923
+ }
769
924
 
770
925
  :active > input {
771
926
  box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
772
927
  }
773
-
774
- ${import_utils4.disabledSelector} {
775
- cursor: default;
776
- }
777
928
  `;
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
- ])}
929
+ var LabelInner = import_styled_components7.default.div`
930
+ font-size: 14px;
931
+ line-height: 22px;
932
+ color: var(--charcoal-text2);
933
+ margin-left: 4px;
784
934
  `;
785
- var SwitchInput = import_styled_components8.default.input.attrs({
786
- type: "checkbox"
787
- })`
935
+ var SwitchInput = import_styled_components7.default.input.attrs({ type: "checkbox" })`
788
936
  appearance: none;
789
937
  display: inline-flex;
790
938
  position: relative;
@@ -851,12 +999,11 @@ var import_textfield = require("@react-aria/textfield");
851
999
  var import_visually_hidden = require("@react-aria/visually-hidden");
852
1000
  var import_react9 = require("react");
853
1001
  var React5 = __toESM(require("react"));
854
- var import_styled_components10 = __toESM(require("styled-components"));
1002
+ var import_styled_components9 = __toESM(require("styled-components"));
855
1003
 
856
1004
  // src/components/FieldLabel/index.tsx
857
1005
  var React4 = __toESM(require("react"));
858
- var import_styled_components9 = __toESM(require("styled-components"));
859
- var import_styled8 = require("@charcoal-ui/styled");
1006
+ var import_styled_components8 = __toESM(require("styled-components"));
860
1007
  var import_jsx_runtime9 = require("react/jsx-runtime");
861
1008
  var FieldLabel = React4.forwardRef(
862
1009
  function FieldLabel2({
@@ -876,30 +1023,97 @@ var FieldLabel = React4.forwardRef(
876
1023
  }
877
1024
  );
878
1025
  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])}
1026
+ var Label2 = import_styled_components8.default.label`
1027
+ font-size: 14px;
1028
+ line-height: 22px;
1029
+ font-weight: bold;
1030
+ display: flow-root;
1031
+ color: var(--charcoal-text1);
1032
+
1033
+ &::before {
1034
+ display: block;
1035
+ width: 0;
1036
+ height: 0;
1037
+ content: '';
1038
+ margin-top: -4px;
1039
+ }
1040
+ &::after {
1041
+ display: block;
1042
+ width: 0;
1043
+ height: 0;
1044
+ content: '';
1045
+ margin-bottom: -4px;
1046
+ }
882
1047
  `;
883
- var RequiredText = import_styled_components9.default.span`
884
- ${theme2((o) => [o.typography(14), o.font.text2])}
1048
+ var RequiredText = import_styled_components8.default.span`
1049
+ font-size: 14px;
1050
+ line-height: 22px;
1051
+ display: flow-root;
1052
+ color: var(--charcoal-text2);
1053
+
1054
+ &::before {
1055
+ display: block;
1056
+ width: 0;
1057
+ height: 0;
1058
+ content: '';
1059
+ margin-top: -4px;
1060
+ }
1061
+ &::after {
1062
+ display: block;
1063
+ width: 0;
1064
+ height: 0;
1065
+ content: '';
1066
+ margin-bottom: -4px;
1067
+ }
885
1068
  `;
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
- ])}
1069
+ var SubLabelClickable = import_styled_components8.default.div`
1070
+ font-size: 14px;
1071
+ line-height: 22px;
1072
+ display: flow-root;
1073
+ color: var(--charcoal-text3);
1074
+ transition: 0.2s color, 0.2s box-shadow;
1075
+
1076
+ &::before {
1077
+ display: block;
1078
+ width: 0;
1079
+ height: 0;
1080
+ content: '';
1081
+ margin-top: -4px;
1082
+ }
1083
+ &::after {
1084
+ display: block;
1085
+ width: 0;
1086
+ height: 0;
1087
+ content: '';
1088
+ margin-bottom: -4px;
1089
+ }
1090
+
1091
+ &:not(:disabled):not([aria-disabled]),
1092
+ &[aria-disabled='false'] {
1093
+ &:hover {
1094
+ color: var(--charcoal-text3-hover);
1095
+ }
1096
+ &:active {
1097
+ color: var(--charcoal-text3-press);
1098
+ }
1099
+ &:active,
1100
+ &:focus,
1101
+ &:focus-visible {
1102
+ outline: none;
1103
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
1104
+ }
1105
+ }
892
1106
  `;
893
- var FieldLabelWrapper = import_styled_components9.default.div`
1107
+ var FieldLabelWrapper = import_styled_components8.default.div`
894
1108
  display: inline-flex;
895
1109
  align-items: center;
896
1110
 
897
1111
  > ${RequiredText} {
898
- ${theme2((o) => o.margin.left(4))}
1112
+ margin-left: 4px;
899
1113
  }
900
1114
 
901
1115
  > ${SubLabelClickable} {
902
- ${theme2((o) => o.margin.left("auto"))}
1116
+ margin-left: auto;
903
1117
  }
904
1118
  `;
905
1119
 
@@ -1027,16 +1241,16 @@ var TextField = React5.forwardRef(
1027
1241
  }
1028
1242
  );
1029
1243
  var TextField_default = TextField;
1030
- var TextFieldRoot = import_styled_components10.default.div`
1244
+ var TextFieldRoot = import_styled_components9.default.div`
1031
1245
  display: flex;
1032
1246
  flex-direction: column;
1033
1247
 
1034
1248
  ${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
1035
1249
  `;
1036
- var TextFieldLabel = (0, import_styled_components10.default)(FieldLabel_default)`
1250
+ var TextFieldLabel = (0, import_styled_components9.default)(FieldLabel_default)`
1037
1251
  margin-bottom: 8px;
1038
1252
  `;
1039
- var StyledInputContainer = import_styled_components10.default.div`
1253
+ var StyledInputContainer = import_styled_components9.default.div`
1040
1254
  display: grid;
1041
1255
  grid-template-columns: ${(p) => [p.hasPrefix && "auto", "1fr", p.hasSuffix && "auto"].filter(Boolean).join(" ")};
1042
1256
  height: 40px;
@@ -1067,21 +1281,20 @@ var StyledInputContainer = import_styled_components10.default.div`
1067
1281
  ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1068
1282
  }
1069
1283
 
1070
- ${(p) => p.invalid && import_styled_components10.css`
1284
+ ${(p) => p.invalid && import_styled_components9.css`
1071
1285
  box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1072
1286
  `}
1073
1287
  `;
1074
- var PrefixContainer = import_styled_components10.default.div`
1288
+ var PrefixContainer = import_styled_components9.default.div`
1075
1289
  display: flex;
1076
- padding-left: 8px;
1077
1290
  align-items: center;
1078
1291
  `;
1079
- var SuffixContainer = import_styled_components10.default.span`
1292
+ var SuffixContainer = import_styled_components9.default.span`
1080
1293
  display: flex;
1081
1294
  align-items: center;
1082
1295
  gap: 8px;
1083
1296
  `;
1084
- var StyledInput = import_styled_components10.default.input`
1297
+ var StyledInput = import_styled_components9.default.input`
1085
1298
  border: none;
1086
1299
  box-sizing: border-box;
1087
1300
  outline: none;
@@ -1107,12 +1320,12 @@ var StyledInput = import_styled_components10.default.input`
1107
1320
  color: var(--charcoal-text3);
1108
1321
  }
1109
1322
  `;
1110
- var SingleLineCounter = import_styled_components10.default.span`
1323
+ var SingleLineCounter = import_styled_components9.default.span`
1111
1324
  line-height: 22px;
1112
1325
  font-size: 14px;
1113
1326
  color: var(--charcoal-text3);
1114
1327
  `;
1115
- var AssistiveText = import_styled_components10.default.p`
1328
+ var AssistiveText = import_styled_components9.default.p`
1116
1329
  font-size: 14px;
1117
1330
  line-height: 22px;
1118
1331
  margin-top: 4px;
@@ -1124,7 +1337,7 @@ var AssistiveText = import_styled_components10.default.p`
1124
1337
  var import_textfield2 = require("@react-aria/textfield");
1125
1338
  var import_visually_hidden2 = require("@react-aria/visually-hidden");
1126
1339
  var import_react10 = require("react");
1127
- var import_styled_components11 = __toESM(require("styled-components"));
1340
+ var import_styled_components10 = __toESM(require("styled-components"));
1128
1341
  var import_jsx_runtime11 = require("react/jsx-runtime");
1129
1342
  var TextArea = (0, import_react10.forwardRef)(
1130
1343
  function TextAreaInner({ onChange, ...props }, forwardRef18) {
@@ -1243,13 +1456,13 @@ var TextArea = (0, import_react10.forwardRef)(
1243
1456
  }
1244
1457
  );
1245
1458
  var TextArea_default = TextArea;
1246
- var TextFieldRoot2 = import_styled_components11.default.div`
1459
+ var TextFieldRoot2 = import_styled_components10.default.div`
1247
1460
  display: flex;
1248
1461
  flex-direction: column;
1249
1462
 
1250
1463
  ${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
1251
1464
  `;
1252
- var StyledTextareaContainer = import_styled_components11.default.div`
1465
+ var StyledTextareaContainer = import_styled_components10.default.div`
1253
1466
  position: relative;
1254
1467
  overflow: hidden;
1255
1468
 
@@ -1258,7 +1471,7 @@ var StyledTextareaContainer = import_styled_components11.default.div`
1258
1471
  border-radius: 4px;
1259
1472
  transition: 0.2s background-color, 0.2s box-shadow;
1260
1473
 
1261
- ${({ rows }) => import_styled_components11.css`
1474
+ ${({ rows }) => import_styled_components10.css`
1262
1475
  height: calc(22px * ${rows} + 18px);
1263
1476
  `};
1264
1477
 
@@ -1272,11 +1485,11 @@ var StyledTextareaContainer = import_styled_components11.default.div`
1272
1485
  ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1273
1486
  }
1274
1487
 
1275
- ${(p) => p.invalid && import_styled_components11.css`
1488
+ ${(p) => p.invalid && import_styled_components10.css`
1276
1489
  box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1277
1490
  `}
1278
1491
  `;
1279
- var StyledTextarea = import_styled_components11.default.textarea`
1492
+ var StyledTextarea = import_styled_components10.default.textarea`
1280
1493
  border: none;
1281
1494
  outline: none;
1282
1495
  resize: none;
@@ -1293,7 +1506,7 @@ var StyledTextarea = import_styled_components11.default.textarea`
1293
1506
  padding: calc(9px / 0.875) calc(8px / 0.875)
1294
1507
  ${(p) => p.noBottomPadding ? 0 : ""};
1295
1508
 
1296
- ${({ rows = 1, noBottomPadding }) => import_styled_components11.css`
1509
+ ${({ rows = 1, noBottomPadding }) => import_styled_components10.css`
1297
1510
  height: calc(22px / 0.875 * ${rows} + ${noBottomPadding ? 9 : 20}px);
1298
1511
  `};
1299
1512
 
@@ -1306,7 +1519,7 @@ var StyledTextarea = import_styled_components11.default.textarea`
1306
1519
  color: var(--charcoal-text3);
1307
1520
  }
1308
1521
  `;
1309
- var MultiLineCounter = import_styled_components11.default.span`
1522
+ var MultiLineCounter = import_styled_components10.default.span`
1310
1523
  position: absolute;
1311
1524
  bottom: 9px;
1312
1525
  right: 8px;
@@ -1339,15 +1552,15 @@ var Icon_default = Icon;
1339
1552
  var import_react12 = require("react");
1340
1553
  var React9 = __toESM(require("react"));
1341
1554
  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");
1555
+ var import_styled_components12 = __toESM(require("styled-components"));
1556
+ var import_utils5 = require("@charcoal-ui/utils");
1557
+ var import_styled2 = require("@charcoal-ui/styled");
1345
1558
  var import_react_spring2 = require("react-spring");
1346
- var import_utils8 = require("@react-aria/utils");
1559
+ var import_utils6 = require("@react-aria/utils");
1347
1560
 
1348
1561
  // src/components/Modal/Dialog/index.tsx
1349
1562
  var import_react11 = require("react");
1350
- var import_styled_components12 = __toESM(require("styled-components"));
1563
+ var import_styled_components11 = __toESM(require("styled-components"));
1351
1564
  var import_dialog = require("@react-aria/dialog");
1352
1565
 
1353
1566
  // ../foundation/src/grid.ts
@@ -1358,7 +1571,7 @@ function columnSystem(span, column, gutter) {
1358
1571
  }
1359
1572
 
1360
1573
  // src/components/Modal/Dialog/index.tsx
1361
- var import_utils6 = require("@charcoal-ui/utils");
1574
+ var import_utils4 = require("@charcoal-ui/utils");
1362
1575
  var import_react_spring = require("react-spring");
1363
1576
 
1364
1577
  // src/_lib/useForwardedRef.tsx
@@ -1399,7 +1612,7 @@ var Dialog = (0, import_react11.forwardRef)(function Dialog2(props, forwardRef18
1399
1612
  }
1400
1613
  );
1401
1614
  });
1402
- var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components12.default.div`
1615
+ var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components11.default.div`
1403
1616
  margin: auto;
1404
1617
  position: relative;
1405
1618
  height: fit-content;
@@ -1420,18 +1633,18 @@ var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_co
1420
1633
  }
1421
1634
  }}px;
1422
1635
 
1423
- background-color: ${({ theme: theme3 }) => theme3.color.background1};
1636
+ background-color: var(--charcoal-surface1);
1424
1637
  border-radius: 24px;
1425
1638
 
1426
- @media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
1639
+ @media ${({ theme }) => (0, import_utils4.maxWidth)(theme.breakpoint.screen1)} {
1427
1640
  max-width: 440px;
1428
1641
  width: calc(100% - 48px);
1429
- ${(p) => p.bottomSheet !== false && import_styled_components12.css`
1642
+ ${(p) => p.bottomSheet !== false && import_styled_components11.css`
1430
1643
  max-width: unset;
1431
1644
  width: 100%;
1432
1645
  border-radius: 0;
1433
1646
  margin: auto 0 0 0;
1434
- ${p.bottomSheet === "full" && import_styled_components12.css`
1647
+ ${p.bottomSheet === "full" && import_styled_components11.css`
1435
1648
  min-height: 100%;
1436
1649
  `}
1437
1650
  `}
@@ -1460,9 +1673,12 @@ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zInde
1460
1673
  className,
1461
1674
  isOpen = false
1462
1675
  } = props;
1463
- const ref = (0, import_utils8.useObjectRef)(external);
1676
+ const ref = (0, import_utils6.useObjectRef)(external);
1464
1677
  const { modalProps, underlayProps } = (0, import_overlays2.useModalOverlay)(
1465
- props,
1678
+ {
1679
+ ...props,
1680
+ isKeyboardDismissDisabled: isDismissable === void 0 || isDismissable === false
1681
+ },
1466
1682
  {
1467
1683
  close: onClose,
1468
1684
  isOpen,
@@ -1475,8 +1691,8 @@ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zInde
1475
1691
  },
1476
1692
  ref
1477
1693
  );
1478
- const theme3 = (0, import_styled_components13.useTheme)();
1479
- const isMobile = (0, import_styled10.useMedia)((0, import_utils7.maxWidth)(theme3.breakpoint.screen1)) ?? false;
1694
+ const theme = (0, import_styled_components12.useTheme)();
1695
+ const isMobile = (0, import_styled2.useMedia)((0, import_utils5.maxWidth)(theme.breakpoint.screen1)) ?? false;
1480
1696
  const transitionEnabled = isMobile && bottomSheet !== false;
1481
1697
  const showDismiss = !isMobile || bottomSheet !== true;
1482
1698
  const transition = (0, import_react_spring2.useTransition)(isOpen, {
@@ -1555,7 +1771,7 @@ var ModalContext = React9.createContext({
1555
1771
  showDismiss: true,
1556
1772
  bottomSheet: false
1557
1773
  });
1558
- var ModalBackground = (0, import_react_spring2.animated)(import_styled_components13.default.div`
1774
+ var ModalBackground = (0, import_react_spring2.animated)(import_styled_components12.default.div`
1559
1775
  z-index: ${({ zIndex }) => zIndex};
1560
1776
  overflow: auto;
1561
1777
  display: flex;
@@ -1569,71 +1785,104 @@ var ModalBackground = (0, import_react_spring2.animated)(import_styled_component
1569
1785
  padding: 40px 0;
1570
1786
  box-sizing: border-box;
1571
1787
 
1572
- background-color: ${({ theme: theme3 }) => theme3.color.surface4};
1788
+ background-color: var(--charcoal-surface4);
1573
1789
 
1574
- @media ${({ theme: theme3 }) => (0, import_utils7.maxWidth)(theme3.breakpoint.screen1)} {
1575
- ${(p) => p.$bottomSheet !== false && import_styled_components13.css`
1790
+ @media ${({ theme }) => (0, import_utils5.maxWidth)(theme.breakpoint.screen1)} {
1791
+ ${(p) => p.$bottomSheet !== false && import_styled_components12.css`
1576
1792
  padding: 0;
1577
1793
  `}
1578
1794
  }
1579
1795
  `);
1580
- var ModalCrossButton = (0, import_styled_components13.default)(IconButton_default)`
1796
+ var ModalCrossButton = (0, import_styled_components12.default)(IconButton_default)`
1581
1797
  position: absolute;
1582
1798
  top: 8px;
1583
1799
  right: 8px;
1584
1800
 
1585
- ${theme((o) => [o.font.text3.hover.press])}
1801
+ color: var(--charcoal-text3);
1802
+ transition: 0.2s color;
1803
+
1804
+ &:not(:disabled):not([aria-disabled]),
1805
+ &[aria-disabled='false'] {
1806
+ &:hover {
1807
+ color: var(--charcoal-text3-hover);
1808
+ }
1809
+ &:active {
1810
+ color: var(--charcoal-text3-press);
1811
+ }
1812
+ }
1586
1813
  `;
1587
1814
  function ModalTitle(props) {
1588
1815
  const { titleProps, title } = (0, import_react12.useContext)(ModalContext);
1589
1816
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalHeading, { ...titleProps, ...props, children: title });
1590
1817
  }
1591
- var ModalHeading = import_styled_components13.default.h3`
1818
+ var ModalHeading = import_styled_components12.default.h3`
1592
1819
  margin: 0;
1593
1820
  font-weight: inherit;
1594
1821
  font-size: inherit;
1595
1822
  `;
1596
1823
 
1597
1824
  // src/components/Modal/ModalPlumbing.tsx
1598
- var import_styled_components14 = __toESM(require("styled-components"));
1825
+ var import_styled_components13 = __toESM(require("styled-components"));
1599
1826
  var import_react13 = require("react");
1600
- var import_utils9 = require("@charcoal-ui/utils");
1827
+ var import_utils7 = require("@charcoal-ui/utils");
1601
1828
  var import_jsx_runtime15 = require("react/jsx-runtime");
1602
1829
  function ModalHeader() {
1603
1830
  const modalCtx = (0, import_react13.useContext)(ModalContext);
1604
1831
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ModalHeaderRoot, { $bottomSheet: modalCtx.bottomSheet, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledModalTitle, {}) });
1605
1832
  }
1606
- var ModalHeaderRoot = import_styled_components14.default.div`
1833
+ var ModalHeaderRoot = import_styled_components13.default.div`
1607
1834
  height: 64px;
1608
1835
  display: grid;
1609
1836
  align-content: center;
1610
1837
  justify-content: center;
1611
- @media ${({ theme: theme3 }) => (0, import_utils9.maxWidth)(theme3.breakpoint.screen1)} {
1612
- ${(p) => p.$bottomSheet !== false && import_styled_components14.css`
1838
+ @media ${({ theme }) => (0, import_utils7.maxWidth)(theme.breakpoint.screen1)} {
1839
+ ${(p) => p.$bottomSheet !== false && import_styled_components13.css`
1613
1840
  height: 48px;
1614
1841
  `}
1615
1842
  }
1616
1843
  `;
1617
- var StyledModalTitle = (0, import_styled_components14.default)(ModalTitle)`
1618
- ${theme((o) => [o.font.text1, o.typography(16).bold])}
1844
+ var StyledModalTitle = (0, import_styled_components13.default)(ModalTitle)`
1845
+ color: var(--charcoal-text1);
1846
+ font-size: 16px;
1847
+ line-height: 24px;
1848
+ font-weight: bold;
1849
+ display: flow-root;
1850
+
1851
+ &::before {
1852
+ display: block;
1853
+ width: 0;
1854
+ height: 0;
1855
+ content: '';
1856
+ margin-top: -4px;
1857
+ }
1858
+ &::after {
1859
+ display: block;
1860
+ width: 0;
1861
+ height: 0;
1862
+ content: '';
1863
+ margin-bottom: -4px;
1864
+ }
1619
1865
  `;
1620
- var ModalAlign = import_styled_components14.default.div`
1621
- ${theme((o) => [o.padding.horizontal(16)])}
1866
+ var ModalAlign = import_styled_components13.default.div`
1867
+ padding-left: 16px;
1868
+ padding-right: 16px;
1622
1869
  `;
1623
- var ModalBody = import_styled_components14.default.div`
1624
- ${theme((o) => [o.padding.bottom(40)])}
1870
+ var ModalBody = import_styled_components13.default.div`
1871
+ padding-bottom: 40px;
1625
1872
  `;
1626
- var ModalButtons = import_styled_components14.default.div`
1873
+ var ModalButtons = import_styled_components13.default.div`
1627
1874
  display: grid;
1628
1875
  grid-auto-flow: row;
1629
1876
  grid-row-gap: 8px;
1630
1877
 
1631
- ${theme((o) => [o.padding.horizontal(16).top(16)])}
1878
+ padding-top: 16px;
1879
+ padding-left: 16px;
1880
+ padding-right: 16px;
1632
1881
  `;
1633
1882
 
1634
1883
  // src/components/LoadingSpinner/index.tsx
1635
1884
  var import_react14 = require("react");
1636
- var import_styled_components15 = __toESM(require("styled-components"));
1885
+ var import_styled_components14 = __toESM(require("styled-components"));
1637
1886
  var import_jsx_runtime16 = require("react/jsx-runtime");
1638
1887
  var LoadingSpinner = (0, import_react14.forwardRef)(
1639
1888
  function LoadingSpinnerInner({ size = 48, padding = 16, transparent = false, className }, ref) {
@@ -1651,7 +1900,7 @@ var LoadingSpinner = (0, import_react14.forwardRef)(
1651
1900
  }
1652
1901
  );
1653
1902
  var LoadingSpinner_default = (0, import_react14.memo)(LoadingSpinner);
1654
- var LoadingSpinnerRoot = import_styled_components15.default.div.attrs({ role: "progressbar" })`
1903
+ var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({ role: "progressbar" })`
1655
1904
  box-sizing: content-box;
1656
1905
  margin: auto;
1657
1906
  padding: ${(props) => props.padding}px;
@@ -1660,12 +1909,10 @@ var LoadingSpinnerRoot = import_styled_components15.default.div.attrs({ role: "p
1660
1909
  width: ${(props) => props.size}px;
1661
1910
  height: ${(props) => props.size}px;
1662
1911
  opacity: 0.84;
1663
- ${({ transparent }) => theme((o) => [
1664
- o.font.text4,
1665
- transparent ? o.bg.transparent : o.bg.background1
1666
- ])}
1912
+ color: var(--charcoal-text4);
1913
+ background-color: ${({ transparent }) => `var(--charcoal-${transparent ? "transparent" : "background1"})`};
1667
1914
  `;
1668
- var scaleOut = import_styled_components15.keyframes`
1915
+ var scaleOut = import_styled_components14.keyframes`
1669
1916
  from {
1670
1917
  transform: scale(0);
1671
1918
  opacity: 1;
@@ -1676,7 +1923,7 @@ var scaleOut = import_styled_components15.keyframes`
1676
1923
  opacity: 0;
1677
1924
  }
1678
1925
  `;
1679
- var Icon2 = import_styled_components15.default.div.attrs({ role: "presentation" })`
1926
+ var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation" })`
1680
1927
  width: 1em;
1681
1928
  height: 1em;
1682
1929
  border-radius: 1em;
@@ -1707,8 +1954,8 @@ var LoadingSpinnerIcon = (0, import_react14.forwardRef)(
1707
1954
 
1708
1955
  // src/components/DropdownSelector/index.tsx
1709
1956
  var import_react20 = require("react");
1710
- var import_styled_components18 = __toESM(require("styled-components"));
1711
- var import_utils10 = require("@charcoal-ui/utils");
1957
+ var import_styled_components17 = __toESM(require("styled-components"));
1958
+ var import_utils8 = require("@charcoal-ui/utils");
1712
1959
 
1713
1960
  // src/components/DropdownSelector/DropdownPopover.tsx
1714
1961
  var import_react17 = require("react");
@@ -1716,7 +1963,7 @@ var import_react17 = require("react");
1716
1963
  // src/components/DropdownSelector/Popover/index.tsx
1717
1964
  var import_react16 = require("react");
1718
1965
  var import_overlays3 = require("@react-aria/overlays");
1719
- var import_styled_components16 = __toESM(require("styled-components"));
1966
+ var import_styled_components15 = __toESM(require("styled-components"));
1720
1967
 
1721
1968
  // src/components/DropdownSelector/Popover/usePreventScroll.tsx
1722
1969
  var import_react15 = require("react");
@@ -1778,18 +2025,16 @@ function Popover(props) {
1778
2025
  ] })
1779
2026
  ] });
1780
2027
  }
1781
- var DropdownPopoverDiv = import_styled_components16.default.div`
2028
+ var DropdownPopoverDiv = import_styled_components15.default.div`
1782
2029
  margin: 4px 0;
1783
2030
  list-style: none;
1784
2031
  overflow: auto;
1785
2032
  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
- ])}
2033
+ background-color: var(--charcoal-background1);
2034
+ border: solid 1px var(--charcoal-border-default);
2035
+ border-radius: 8px;
2036
+ padding-top: 8px;
2037
+ padding-bottom: 8px;
1793
2038
  `;
1794
2039
 
1795
2040
  // src/components/DropdownSelector/DropdownPopover.tsx
@@ -1853,7 +2098,7 @@ function findPreviewRecursive(children, value) {
1853
2098
 
1854
2099
  // src/components/DropdownSelector/MenuList/index.tsx
1855
2100
  var import_react19 = require("react");
1856
- var import_styled_components17 = __toESM(require("styled-components"));
2101
+ var import_styled_components16 = __toESM(require("styled-components"));
1857
2102
 
1858
2103
  // src/components/DropdownSelector/MenuList/MenuListContext.ts
1859
2104
  var import_react18 = require("react");
@@ -1905,7 +2150,7 @@ function MenuList(props) {
1905
2150
  }
1906
2151
  ) });
1907
2152
  }
1908
- var StyledUl = import_styled_components17.default.ul`
2153
+ var StyledUl = import_styled_components16.default.ul`
1909
2154
  padding: 0;
1910
2155
  margin: 0;
1911
2156
  `;
@@ -1968,21 +2213,20 @@ function DropdownSelector(props) {
1968
2213
  props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AssertiveText, { invalid: props.invalid, children: props.assistiveText })
1969
2214
  ] });
1970
2215
  }
1971
- var DropdownSelectorRoot = import_styled_components18.default.div`
2216
+ var DropdownSelectorRoot = import_styled_components17.default.div`
1972
2217
  display: inline-block;
1973
2218
  width: 100%;
1974
2219
 
1975
- ${import_utils10.disabledSelector} {
2220
+ ${import_utils8.disabledSelector} {
1976
2221
  cursor: default;
1977
- ${theme((o) => o.disabled)}
2222
+ opacity: 0.32;
1978
2223
  }
1979
2224
  `;
1980
- var DropdownFieldLabel = (0, import_styled_components18.default)(FieldLabel_default)`
2225
+ var DropdownFieldLabel = (0, import_styled_components17.default)(FieldLabel_default)`
1981
2226
  width: 100%;
1982
-
1983
- ${theme((o) => o.margin.bottom(8))}
2227
+ margin-bottom: 8px;
1984
2228
  `;
1985
- var DropdownButton = import_styled_components18.default.button`
2229
+ var DropdownButton = import_styled_components17.default.button`
1986
2230
  display: flex;
1987
2231
  justify-content: space-between;
1988
2232
  align-items: center;
@@ -1993,64 +2237,117 @@ var DropdownButton = import_styled_components18.default.button`
1993
2237
  border: none;
1994
2238
  cursor: pointer;
1995
2239
 
1996
- ${import_utils10.disabledSelector} {
2240
+ ${import_utils8.disabledSelector} {
1997
2241
  cursor: default;
1998
2242
  }
1999
2243
 
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
- ])}
2244
+ padding-right: 8px;
2245
+ padding-left: 8px;
2246
+ background-color: var(--charcoal-surface3);
2247
+ border-radius: 4px;
2248
+
2249
+ transition: 0.2s box-shadow;
2250
+
2251
+ &:not(:disabled):not([aria-disabled]),
2252
+ &[aria-disabled='false'] {
2253
+ &:focus,
2254
+ &:active,
2255
+ &:focus-visible {
2256
+ outline: none;
2257
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2258
+ }
2259
+ }
2260
+
2261
+ ${({ invalid }) => invalid === true && import_styled_components17.css`
2262
+ &:not(:disabled):not([aria-disabled]),
2263
+ &[aria-disabled='false'] {
2264
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2265
+ }
2266
+ `}
2007
2267
  `;
2008
- var DropdownButtonText = import_styled_components18.default.span`
2268
+ var DropdownButtonText = import_styled_components17.default.span`
2009
2269
  text-align: left;
2010
-
2011
- ${theme((o) => [o.typography(14), o.font.text2])}
2270
+ font-size: 14px;
2271
+ line-height: 22px;
2272
+ display: flow-root;
2273
+ color: var(--charcoal-text2);
2274
+ &::before {
2275
+ display: block;
2276
+ width: 0;
2277
+ height: 0;
2278
+ content: '';
2279
+ margin-top: -4px;
2280
+ }
2281
+ &::after {
2282
+ display: block;
2283
+ width: 0;
2284
+ height: 0;
2285
+ content: '';
2286
+ margin-bottom: -4px;
2287
+ }
2012
2288
  `;
2013
- var DropdownButtonIcon = (0, import_styled_components18.default)(Icon_default)`
2014
- ${theme((o) => [o.font.text2])}
2289
+ var DropdownButtonIcon = (0, import_styled_components17.default)(Icon_default)`
2290
+ color: var(--charcoal-text2);
2015
2291
  `;
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
- ])}
2292
+ var AssertiveText = import_styled_components17.default.div`
2293
+ margin-top: 8px;
2294
+ font-size: 14px;
2295
+ color: var(--charcoal-text2);
2296
+ line-height: 22px;
2297
+ display: flow-root;
2298
+ &::before {
2299
+ display: block;
2300
+ width: 0;
2301
+ height: 0;
2302
+ content: '';
2303
+ margin-top: -4px;
2304
+ }
2305
+ &::after {
2306
+ display: block;
2307
+ width: 0;
2308
+ height: 0;
2309
+ content: '';
2310
+ margin-bottom: -4px;
2311
+ }
2312
+
2313
+ ${({ invalid }) => invalid === true && import_styled_components17.css`
2314
+ color: var(--charcoal-assertive);
2315
+ `}
2022
2316
  `;
2023
2317
 
2024
2318
  // src/components/DropdownSelector/DropdownMenuItem.tsx
2025
- var import_styled_components20 = __toESM(require("styled-components"));
2319
+ var import_styled_components19 = __toESM(require("styled-components"));
2026
2320
 
2027
2321
  // src/components/DropdownSelector/ListItem/index.tsx
2028
- var import_styled_components19 = __toESM(require("styled-components"));
2322
+ var import_styled_components18 = __toESM(require("styled-components"));
2029
2323
  var import_jsx_runtime21 = require("react/jsx-runtime");
2030
2324
  function ListItem(props) {
2031
2325
  const { children, ...rest } = props;
2032
2326
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ItemDiv, { ...rest, children: props.children }) });
2033
2327
  }
2034
- var StyledLi = import_styled_components19.default.li`
2328
+ var StyledLi = import_styled_components18.default.li`
2035
2329
  list-style: none;
2036
2330
  `;
2037
- var ItemDiv = import_styled_components19.default.div`
2331
+ var ItemDiv = import_styled_components18.default.div`
2038
2332
  display: flex;
2039
2333
  align-items: center;
2040
2334
  min-height: 40px;
2041
2335
  cursor: pointer;
2042
2336
  outline: none;
2043
2337
 
2044
- ${theme((o) => [o.padding.horizontal(16), o.disabled])}
2338
+ padding-right: 16px;
2339
+ padding-left: 16px;
2045
2340
 
2046
- &[aria-disabled="true"] {
2341
+ &:disabled,
2342
+ &[aria-disabled]:not([aria-disabled='false']) {
2343
+ opacity: 0.32;
2047
2344
  cursor: default;
2048
2345
  }
2049
2346
 
2050
2347
  :hover,
2051
2348
  :focus,
2052
2349
  :focus-within {
2053
- ${theme((o) => [o.bg.surface3])}
2350
+ background-color: var(--charcoal-surface3);
2054
2351
  }
2055
2352
  `;
2056
2353
 
@@ -2151,20 +2448,37 @@ function DropdownMenuItem(props) {
2151
2448
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledSpan, { isSelected, children: props.children })
2152
2449
  ] });
2153
2450
  }
2154
- var StyledSpan = import_styled_components20.default.span`
2155
- ${theme((o) => [o.typography(14), o.font.text2])};
2451
+ var StyledSpan = import_styled_components19.default.span`
2452
+ font-size: 14px;
2453
+ line-height: 22px;
2454
+ color: var(--charcoal-text2);
2455
+ &::before {
2456
+ display: block;
2457
+ width: 0;
2458
+ height: 0;
2459
+ content: '';
2460
+ margin-top: -4px;
2461
+ }
2462
+ &::after {
2463
+ display: block;
2464
+ width: 0;
2465
+ height: 0;
2466
+ content: '';
2467
+ margin-bottom: -4px;
2468
+ }
2469
+
2156
2470
  display: flex;
2157
2471
  align-items: center;
2158
2472
  width: 100%;
2159
2473
  margin-left: ${({ isSelected }) => isSelected === true ? 0 : 20}px;
2160
2474
  `;
2161
- var Text2ColorIcon = (0, import_styled_components20.default)(Icon_default)`
2162
- ${theme((o) => [o.font.text2])}
2475
+ var Text2ColorIcon = (0, import_styled_components19.default)(Icon_default)`
2476
+ color: var(--charcoal-text2);
2163
2477
  padding-right: 4px;
2164
2478
  `;
2165
2479
 
2166
2480
  // src/components/DropdownSelector/MenuItemGroup/index.tsx
2167
- var import_styled_components21 = __toESM(require("styled-components"));
2481
+ var import_styled_components20 = __toESM(require("styled-components"));
2168
2482
  var import_jsx_runtime24 = require("react/jsx-runtime");
2169
2483
  function MenuItemGroup(props) {
2170
2484
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(StyledLi2, { role: "presentation", children: [
@@ -2172,21 +2486,21 @@ function MenuItemGroup(props) {
2172
2486
  /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledUl2, { role: "group", children: props.children })
2173
2487
  ] });
2174
2488
  }
2175
- var TextSpan = import_styled_components21.default.span`
2489
+ var TextSpan = import_styled_components20.default.span`
2176
2490
  display: block;
2177
- color: ${({ theme: theme3 }) => theme3.color.text3};
2491
+ color: var(--charcoal-text3);
2178
2492
  font-size: 12px;
2179
2493
  font-weight: bold;
2180
2494
  padding: 12px 0 8px 16px;
2181
2495
  `;
2182
- var StyledUl2 = import_styled_components21.default.ul`
2496
+ var StyledUl2 = import_styled_components20.default.ul`
2183
2497
  padding-left: 0;
2184
2498
  margin: 0;
2185
2499
  box-sizing: border-box;
2186
2500
  list-style: none;
2187
2501
  overflow: hidden;
2188
2502
  `;
2189
- var StyledLi2 = import_styled_components21.default.li`
2503
+ var StyledLi2 = import_styled_components20.default.li`
2190
2504
  display: block;
2191
2505
  `;
2192
2506
 
@@ -2194,8 +2508,7 @@ var StyledLi2 = import_styled_components21.default.li`
2194
2508
  var import_react24 = require("react");
2195
2509
  var import_react_stately2 = require("react-stately");
2196
2510
  var import_radio = require("@react-aria/radio");
2197
- var import_styled_components22 = __toESM(require("styled-components"));
2198
- var import_utils11 = require("@charcoal-ui/utils");
2511
+ var import_styled_components21 = __toESM(require("styled-components"));
2199
2512
 
2200
2513
  // src/components/SegmentedControl/RadioGroupContext.tsx
2201
2514
  var import_react23 = require("react");
@@ -2283,32 +2596,36 @@ var Segmented = (props) => {
2283
2596
  }
2284
2597
  );
2285
2598
  };
2286
- var SegmentedControlRoot = import_styled_components22.default.div`
2599
+ var SegmentedControlRoot = import_styled_components21.default.div`
2287
2600
  display: inline-flex;
2288
2601
  align-items: center;
2289
2602
 
2290
- ${theme((o) => [o.bg.surface3, o.borderRadius(16)])}
2603
+ background-color: var(--charcoal-surface3);
2604
+ border-radius: 16px;
2291
2605
  `;
2292
- var SegmentedRoot = import_styled_components22.default.label`
2606
+ var SegmentedRoot = import_styled_components21.default.label`
2293
2607
  position: relative;
2294
2608
  display: flex;
2295
2609
  align-items: center;
2296
2610
  cursor: pointer;
2297
2611
  height: 32px;
2298
2612
 
2299
- ${import_utils11.disabledSelector} {
2613
+ padding-right: 16px;
2614
+ padding-left: 16px;
2615
+ border-radius: 16px;
2616
+ &:disabled,
2617
+ &[aria-disabled]:not([aria-disabled='false']) {
2300
2618
  cursor: default;
2619
+ opacity: 0.32;
2301
2620
  }
2621
+ color: var(--charcoal-text2);
2302
2622
 
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
- ])}
2623
+ ${({ checked = false }) => checked && import_styled_components21.css`
2624
+ background-color: var(--charcoal-brand);
2625
+ color: var(--charcoal-text5);
2626
+ `}
2310
2627
  `;
2311
- var SegmentedInput = import_styled_components22.default.input`
2628
+ var SegmentedInput = import_styled_components21.default.input`
2312
2629
  position: absolute;
2313
2630
 
2314
2631
  height: 0px;
@@ -2322,29 +2639,47 @@ var SegmentedInput = import_styled_components22.default.input`
2322
2639
  white-space: nowrap;
2323
2640
  opacity: 0;
2324
2641
  `;
2325
- var RadioLabel2 = import_styled_components22.default.div`
2642
+ var RadioLabel2 = import_styled_components21.default.div`
2326
2643
  background: transparent;
2327
2644
  display: flex;
2328
2645
  align-items: center;
2329
2646
  height: 22px;
2330
2647
  `;
2331
- var SegmentedLabelInner = import_styled_components22.default.div`
2332
- ${theme((o) => [o.typography(14)])}
2648
+ var SegmentedLabelInner = import_styled_components21.default.div`
2649
+ font-size: 14px;
2650
+ line-height: 22px;
2651
+ display: flow-root;
2652
+
2653
+ &::before {
2654
+ display: block;
2655
+ width: 0;
2656
+ height: 0;
2657
+ content: '';
2658
+ margin-top: -4px;
2659
+ }
2660
+ &::after {
2661
+ display: block;
2662
+ width: 0;
2663
+ height: 0;
2664
+ content: '';
2665
+ margin-bottom: -4px;
2666
+ }
2333
2667
  `;
2334
2668
 
2335
2669
  // src/components/Checkbox/index.tsx
2336
2670
  var import_react25 = require("react");
2337
- var import_styled_components23 = __toESM(require("styled-components"));
2671
+ var import_styled_components22 = __toESM(require("styled-components"));
2338
2672
  var import_checkbox = require("@react-aria/checkbox");
2339
- var import_utils12 = require("@react-aria/utils");
2673
+ var import_utils9 = require("@react-aria/utils");
2340
2674
  var import_react_stately3 = require("react-stately");
2341
- var import_utils13 = require("@charcoal-ui/utils");
2675
+ var import_utils10 = require("@charcoal-ui/utils");
2342
2676
  var import_jsx_runtime27 = require("react/jsx-runtime");
2343
2677
  var Checkbox = (0, import_react25.forwardRef)(
2344
2678
  function CheckboxInner({ invalid = false, ...props }, ref) {
2345
2679
  const ariaCheckboxProps = (0, import_react25.useMemo)(
2346
2680
  () => ({
2347
2681
  ...props,
2682
+ isInValid: invalid,
2348
2683
  isSelected: props.checked,
2349
2684
  defaultSelected: props.defaultChecked,
2350
2685
  validationState: invalid ? "invalid" : "valid",
@@ -2354,12 +2689,12 @@ var Checkbox = (0, import_react25.forwardRef)(
2354
2689
  [invalid, props]
2355
2690
  );
2356
2691
  const state = (0, import_react_stately3.useToggleState)(ariaCheckboxProps);
2357
- const objectRef = (0, import_utils12.useObjectRef)(ref);
2692
+ const objectRef = (0, import_utils9.useObjectRef)(ref);
2358
2693
  const { inputProps } = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
2359
2694
  const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
2360
2695
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(InputRoot, { "aria-disabled": isDisabled, className: props.className, children: [
2361
2696
  /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(CheckboxRoot, { children: [
2362
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInput, { type: "checkbox", ...inputProps, invalid }),
2697
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInput, { type: "checkbox", ...inputProps }),
2363
2698
  /* @__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
2699
  ] }),
2365
2700
  "children" in props && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(InputLabel, { children: props.children })
@@ -2367,25 +2702,28 @@ var Checkbox = (0, import_react25.forwardRef)(
2367
2702
  }
2368
2703
  );
2369
2704
  var Checkbox_default = (0, import_react25.memo)(Checkbox);
2370
- var hiddenCss = import_styled_components23.css`
2705
+ var hiddenCss = import_styled_components22.css`
2371
2706
  visibility: hidden;
2372
2707
  `;
2373
- var InputRoot = import_styled_components23.default.label`
2708
+ var InputRoot = import_styled_components22.default.label`
2374
2709
  position: relative;
2375
2710
  display: flex;
2376
2711
 
2377
2712
  cursor: pointer;
2378
- ${import_utils13.disabledSelector} {
2713
+ ${import_utils10.disabledSelector} {
2379
2714
  cursor: default;
2380
2715
  }
2381
2716
 
2382
- gap: ${({ theme: theme3 }) => (0, import_utils13.px)(theme3.spacing[4])};
2383
- ${theme((o) => [o.disabled])}
2717
+ gap: 4px;
2718
+ &:disabled,
2719
+ &[aria-disabled]:not([aria-disabled='false']) {
2720
+ opacity: 0.32;
2721
+ }
2384
2722
  `;
2385
- var CheckboxRoot = import_styled_components23.default.div`
2723
+ var CheckboxRoot = import_styled_components22.default.div`
2386
2724
  position: relative;
2387
2725
  `;
2388
- var CheckboxInput = import_styled_components23.default.input`
2726
+ var CheckboxInput = import_styled_components22.default.input`
2389
2727
  &[type='checkbox'] {
2390
2728
  appearance: none;
2391
2729
  display: block;
@@ -2393,23 +2731,50 @@ var CheckboxInput = import_styled_components23.default.input`
2393
2731
  margin: 0;
2394
2732
  width: 20px;
2395
2733
  height: 20px;
2734
+ border-radius: 4px;
2735
+ transition: 0.2s box-shadow, 0.2s background-color;
2396
2736
 
2397
2737
  &:checked {
2398
- ${theme((o) => o.bg.brand.hover.press)}
2738
+ background-color: var(--charcoal-brand);
2739
+
2740
+ &:not(:disabled):not([aria-disabled]),
2741
+ &[aria-disabled='false'] {
2742
+ &:hover {
2743
+ background-color: var(--charcoal-brand-hover);
2744
+ }
2745
+ &:active {
2746
+ background-color: var(--charcoal-brand-press);
2747
+ }
2748
+ }
2749
+ }
2750
+
2751
+ &:not(:disabled):not([aria-disabled]),
2752
+ &[aria-disabled='false'] {
2753
+ &:focus,
2754
+ &:active {
2755
+ outline: none;
2756
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2757
+ &:not(:focus-visible) {
2758
+ outline: none;
2759
+ }
2760
+ }
2761
+ &:focus-visible {
2762
+ outline: none;
2763
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2764
+ }
2765
+ &[aria-invalid='true'] {
2766
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
2767
+ }
2399
2768
  }
2769
+
2400
2770
  &:not(:checked) {
2401
2771
  border-width: 2px;
2402
2772
  border-style: solid;
2403
- border-color: ${({ theme: theme3 }) => theme3.color.text4};
2773
+ border-color: var(--charcoal-text4);
2404
2774
  }
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
2775
  }
2411
2776
  `;
2412
- var CheckboxInputOverlay = import_styled_components23.default.div`
2777
+ var CheckboxInputOverlay = import_styled_components22.default.div`
2413
2778
  position: absolute;
2414
2779
  top: -2px;
2415
2780
  left: -2px;
@@ -2417,14 +2782,14 @@ var CheckboxInputOverlay = import_styled_components23.default.div`
2417
2782
  display: flex;
2418
2783
  align-items: center;
2419
2784
  justify-content: center;
2420
-
2421
- ${theme((o) => [o.width.px(24), o.height.px(24), o.font.text5])}
2785
+ width: 24px;
2786
+ height: 24px;
2787
+ color: var(--charcoal-text5);
2422
2788
 
2423
2789
  ${({ checked }) => checked !== true && hiddenCss};
2424
2790
  `;
2425
- var InputLabel = import_styled_components23.default.div`
2426
- ${theme((o) => [o.font.text2])}
2427
-
2791
+ var InputLabel = import_styled_components22.default.div`
2792
+ color: var(--charcoal-text2);
2428
2793
  font-size: 14px;
2429
2794
  /** checkbox の height が 20px なのでcheckbox と text が揃っているように見せるために行ボックスの高さを 20px にしている */
2430
2795
  line-height: 20px;
@@ -2432,9 +2797,9 @@ var InputLabel = import_styled_components23.default.div`
2432
2797
 
2433
2798
  // src/components/TagItem/index.tsx
2434
2799
  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");
2800
+ var import_utils11 = require("@react-aria/utils");
2801
+ var import_styled_components23 = __toESM(require("styled-components"));
2802
+ var import_utils12 = require("@charcoal-ui/utils");
2438
2803
  var import_button = require("@react-aria/button");
2439
2804
  var import_jsx_runtime28 = require("react/jsx-runtime");
2440
2805
  var sizeMap = {
@@ -2453,7 +2818,7 @@ var TagItem = (0, import_react26.forwardRef)(
2453
2818
  className,
2454
2819
  ...props
2455
2820
  }, _ref) {
2456
- const ref = (0, import_utils14.useObjectRef)(_ref);
2821
+ const ref = (0, import_utils11.useObjectRef)(_ref);
2457
2822
  const ariaButtonProps = (0, import_react26.useMemo)(
2458
2823
  () => ({
2459
2824
  elementType: "a",
@@ -2487,7 +2852,20 @@ var TagItem = (0, import_react26.forwardRef)(
2487
2852
  }
2488
2853
  );
2489
2854
  var TagItem_default = (0, import_react26.memo)(TagItem);
2490
- var TagItemRoot = import_styled_components24.default.a`
2855
+ var horizontalPadding = ({ left, right }) => import_styled_components23.css`
2856
+ padding-right: ${(0, import_utils12.px)(right)};
2857
+ padding-left: ${(0, import_utils12.px)(left)};
2858
+ `;
2859
+ var tagItemRootSize = (size) => {
2860
+ switch (size) {
2861
+ case "M":
2862
+ return horizontalPadding({ left: 24, right: 24 });
2863
+ case "S":
2864
+ return horizontalPadding({ left: 16, right: 16 });
2865
+ }
2866
+ };
2867
+ var activeTagItemRoot = horizontalPadding({ left: 16, right: 8 });
2868
+ var TagItemRoot = import_styled_components23.default.a`
2491
2869
  isolation: isolate;
2492
2870
  position: relative;
2493
2871
  height: ${({ size }) => sizeMap[size]}px;
@@ -2497,22 +2875,30 @@ var TagItemRoot = import_styled_components24.default.a`
2497
2875
  text-decoration: none;
2498
2876
  cursor: pointer;
2499
2877
  overflow: hidden;
2878
+ border-radius: 4px;
2879
+ ${({ size, status }) => status !== "active" && tagItemRootSize(size)}
2880
+ ${({ status }) => status === "active" && activeTagItemRoot}
2881
+ color: ${({ status }) => status === "inactive" ? "var(--charcoal-text2)" : "var(--charcoal-text5)"};
2882
+
2883
+ transition: 0.2s box-shadow;
2884
+
2885
+ &:not(:disabled):not([aria-disabled]),
2886
+ &[aria-disabled='false'] {
2887
+ &:focus,
2888
+ &:active,
2889
+ &:focus-visible {
2890
+ outline: none;
2891
+ box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
2892
+ }
2893
+ }
2500
2894
 
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])}
2895
+ &:disabled,
2896
+ &[aria-disabled]:not([aria-disabled='false']) {
2897
+ opacity: 0.32;
2512
2898
  cursor: default;
2513
2899
  }
2514
2900
  `;
2515
- var Background = import_styled_components24.default.div`
2901
+ var Background = import_styled_components23.default.div`
2516
2902
  position: absolute;
2517
2903
  z-index: 1;
2518
2904
  top: 0;
@@ -2521,10 +2907,13 @@ var Background = import_styled_components24.default.div`
2521
2907
  height: 100%;
2522
2908
 
2523
2909
  background-color: ${({ bgColor }) => bgColor};
2524
- ${({ status }) => status === "inactive" && theme((o) => o.bg.surface3)}
2910
+ ${({ status }) => status === "inactive" && import_styled_components23.css`
2911
+ background-color: var(--charcoal-surface3);
2912
+ `}
2913
+
2914
+ ${({ bgImage }) => bgImage !== void 0 && import_styled_components23.css`
2915
+ background-color: var(--charcoal-surface4);
2525
2916
 
2526
- ${({ bgImage }) => bgImage !== void 0 && import_styled_components24.css`
2527
- ${theme((o) => [o.bg.surface4])}
2528
2917
  &::before {
2529
2918
  content: '';
2530
2919
  position: absolute;
@@ -2539,25 +2928,43 @@ var Background = import_styled_components24.default.div`
2539
2928
  }
2540
2929
  `}
2541
2930
  `;
2542
- var Inner = import_styled_components24.default.div`
2931
+ var Inner = import_styled_components23.default.div`
2543
2932
  display: inline-flex;
2544
- gap: ${({ theme: theme3 }) => (0, import_utils15.px)(theme3.spacing[8])};
2933
+ gap: 8px;
2545
2934
  align-items: center;
2546
2935
  z-index: 2;
2547
2936
  `;
2548
- var labelCSS = import_styled_components24.css`
2549
- ${theme((o) => [o.typography(14).bold])}
2937
+ var labelCSS = import_styled_components23.css`
2938
+ font-size: 14px;
2939
+ line-height: 22px;
2940
+ font-weight: bold;
2941
+ display: flow-root;
2942
+
2943
+ &::before {
2944
+ display: block;
2945
+ width: 0;
2946
+ height: 0;
2947
+ content: '';
2948
+ margin-top: -4px;
2949
+ }
2950
+ &::after {
2951
+ display: block;
2952
+ width: 0;
2953
+ height: 0;
2954
+ content: '';
2955
+ margin-bottom: -4px;
2956
+ }
2550
2957
  `;
2551
- var translateLabelCSS = import_styled_components24.css`
2958
+ var translateLabelCSS = import_styled_components23.css`
2552
2959
  display: flex;
2553
2960
  align-items: center;
2554
2961
  flex-direction: column;
2555
2962
  font-size: 10px;
2556
2963
  `;
2557
- var LabelWrapper = import_styled_components24.default.div`
2964
+ var LabelWrapper = import_styled_components23.default.div`
2558
2965
  ${({ isTranslate }) => isTranslate ?? false ? translateLabelCSS : labelCSS}
2559
2966
  `;
2560
- var Label3 = import_styled_components24.default.span`
2967
+ var Label3 = import_styled_components23.default.span`
2561
2968
  max-width: 152px;
2562
2969
  overflow: hidden;
2563
2970
  text-overflow: ellipsis;
@@ -2566,8 +2973,25 @@ var Label3 = import_styled_components24.default.span`
2566
2973
  color: inherit;
2567
2974
  line-height: inherit;
2568
2975
  `;
2569
- var TranslatedLabel = import_styled_components24.default.div`
2570
- ${theme((o) => [o.typography(12).bold])}
2976
+ var TranslatedLabel = import_styled_components23.default.div`
2977
+ font-size: 12px;
2978
+ line-height: 20px;
2979
+ font-weight: bold;
2980
+ display: flow-root;
2981
+ &::before {
2982
+ display: block;
2983
+ width: 0;
2984
+ height: 0;
2985
+ content: '';
2986
+ margin-top: -4px;
2987
+ }
2988
+ &::after {
2989
+ display: block;
2990
+ width: 0;
2991
+ height: 0;
2992
+ content: '';
2993
+ margin-bottom: -4px;
2994
+ }
2571
2995
  `;
2572
2996
  // Annotate the CommonJS export names for ESM import in node:
2573
2997
  0 && (module.exports = {