@charcoal-ui/react 2.9.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/components/Button/index.test.d.ts +4 -0
  2. package/dist/components/Button/index.test.d.ts.map +1 -0
  3. package/dist/components/Checkbox/index.d.ts +1 -0
  4. package/dist/components/Checkbox/index.d.ts.map +1 -1
  5. package/dist/components/Checkbox/index.story.d.ts +1 -0
  6. package/dist/components/Checkbox/index.story.d.ts.map +1 -1
  7. package/dist/components/LoadingSpinner/index.d.ts +8 -6
  8. package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
  9. package/dist/components/LoadingSpinner/index.story.d.ts +2 -2
  10. package/dist/components/LoadingSpinner/index.story.d.ts.map +1 -1
  11. package/dist/components/Modal/index.d.ts +17 -26
  12. package/dist/components/Modal/index.d.ts.map +1 -1
  13. package/dist/components/Modal/index.story.d.ts +13 -2
  14. package/dist/components/Modal/index.story.d.ts.map +1 -1
  15. package/dist/components/MultiSelect/index.d.ts +15 -1
  16. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  17. package/dist/components/MultiSelect/index.story.d.ts +15 -2
  18. package/dist/components/MultiSelect/index.story.d.ts.map +1 -1
  19. package/dist/components/Radio/index.d.ts +10 -1
  20. package/dist/components/Radio/index.d.ts.map +1 -1
  21. package/dist/components/Radio/index.story.d.ts +9 -2
  22. package/dist/components/Radio/index.story.d.ts.map +1 -1
  23. package/dist/components/SegmentedControl/index.d.ts +1 -0
  24. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  25. package/dist/components/Switch/index.d.ts +2 -1
  26. package/dist/components/Switch/index.d.ts.map +1 -1
  27. package/dist/components/Switch/index.story.d.ts +2 -2
  28. package/dist/components/Switch/index.story.d.ts.map +1 -1
  29. package/dist/index.cjs.js +167 -141
  30. package/dist/index.cjs.js.map +1 -1
  31. package/dist/index.esm.js +185 -154
  32. package/dist/index.esm.js.map +1 -1
  33. package/package.json +6 -6
  34. package/src/components/Button/__snapshots__/index.test.tsx.snap +385 -0
  35. package/src/components/Button/index.test.tsx +25 -0
  36. package/src/components/Checkbox/index.story.tsx +1 -0
  37. package/src/components/Checkbox/index.tsx +2 -1
  38. package/src/components/LoadingSpinner/index.story.tsx +7 -1
  39. package/src/components/LoadingSpinner/index.tsx +27 -11
  40. package/src/components/Modal/index.tsx +18 -12
  41. package/src/components/MultiSelect/index.story.tsx +11 -3
  42. package/src/components/MultiSelect/index.tsx +77 -61
  43. package/src/components/Radio/index.story.tsx +3 -0
  44. package/src/components/Radio/index.tsx +11 -9
  45. package/src/components/SegmentedControl/index.tsx +15 -5
  46. package/src/components/Switch/index.tsx +37 -32
  47. package/src/components/TextField/index.story.tsx +1 -1
package/dist/index.cjs.js CHANGED
@@ -35,21 +35,21 @@ __export(src_exports, {
35
35
  DropdownSelectorItem: () => DropdownSelectorItem,
36
36
  Icon: () => Icon_default,
37
37
  IconButton: () => IconButton_default,
38
- LoadingSpinner: () => LoadingSpinner,
38
+ LoadingSpinner: () => LoadingSpinner_default,
39
39
  LoadingSpinnerIcon: () => LoadingSpinnerIcon,
40
- Modal: () => Modal,
40
+ Modal: () => Modal_default,
41
41
  ModalAlign: () => ModalAlign,
42
42
  ModalBody: () => ModalBody,
43
43
  ModalButtons: () => ModalButtons,
44
44
  ModalHeader: () => ModalHeader,
45
- MultiSelect: () => MultiSelect,
45
+ MultiSelect: () => MultiSelect_default,
46
46
  MultiSelectGroup: () => MultiSelectGroup,
47
47
  OverlayProvider: () => import_overlays.OverlayProvider,
48
- Radio: () => Radio,
48
+ Radio: () => Radio_default,
49
49
  RadioGroup: () => RadioGroup,
50
50
  SSRProvider: () => import_ssr.SSRProvider,
51
51
  SegmentedControl: () => SegmentedControl_default,
52
- Switch: () => SwitchCheckbox,
52
+ Switch: () => Switch_default,
53
53
  TagItem: () => TagItem_default,
54
54
  TextField: () => TextField_default,
55
55
  useComponentAbstraction: () => useComponentAbstraction
@@ -376,12 +376,7 @@ var import_react6 = __toESM(require("react"));
376
376
  var import_styled_components6 = __toESM(require("styled-components"));
377
377
  var import_warning = __toESM(require("warning"));
378
378
  var import_utils2 = require("@charcoal-ui/utils");
379
- function Radio({
380
- value,
381
- forceChecked = false,
382
- disabled = false,
383
- children
384
- }) {
379
+ var Radio = (0, import_react6.forwardRef)(function RadioInner({ value, forceChecked = false, disabled = false, children, className }, ref) {
385
380
  const {
386
381
  name,
387
382
  selected,
@@ -403,7 +398,7 @@ function Radio({
403
398
  },
404
399
  [onChange]
405
400
  );
406
- return /* @__PURE__ */ import_react6.default.createElement(RadioRoot, { "aria-disabled": isDisabled || isReadonly }, /* @__PURE__ */ import_react6.default.createElement(
401
+ return /* @__PURE__ */ import_react6.default.createElement(RadioRoot, { "aria-disabled": isDisabled || isReadonly, className }, /* @__PURE__ */ import_react6.default.createElement(
407
402
  RadioInput,
408
403
  {
409
404
  name,
@@ -411,10 +406,12 @@ function Radio({
411
406
  checked: forceChecked || isSelected,
412
407
  hasError,
413
408
  onChange: handleChange,
414
- disabled: isDisabled || isReadonly
409
+ disabled: isDisabled || isReadonly,
410
+ ref
415
411
  }
416
412
  ), children != null && /* @__PURE__ */ import_react6.default.createElement(RadioLabel, null, children));
417
- }
413
+ });
414
+ var Radio_default = (0, import_react6.memo)(Radio);
418
415
  var RadioRoot = import_styled_components6.default.label`
419
416
  display: grid;
420
417
  grid-template-columns: auto 1fr;
@@ -556,63 +553,68 @@ var MultiSelectGroupContext = (0, import_react7.createContext)({
556
553
  });
557
554
 
558
555
  // src/components/MultiSelect/index.tsx
559
- function MultiSelect({
560
- value,
561
- forceChecked = false,
562
- disabled = false,
563
- onChange,
564
- variant = "default",
565
- children
566
- }) {
567
- const {
568
- name,
569
- selected,
570
- disabled: parentDisabled,
571
- readonly,
572
- hasError,
573
- onChange: parentOnChange
574
- } = (0, import_react8.useContext)(MultiSelectGroupContext);
575
- (0, import_warning2.default)(
576
- name !== void 0,
577
- `"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`
578
- );
579
- const isSelected = selected.includes(value) || forceChecked;
580
- const isDisabled = disabled || parentDisabled || readonly;
581
- const handleChange = (0, import_react8.useCallback)(
582
- (event) => {
583
- if (!(event.currentTarget instanceof HTMLInputElement)) {
584
- return;
556
+ var MultiSelect = (0, import_react8.forwardRef)(
557
+ function MultiSelectInner({
558
+ value,
559
+ forceChecked = false,
560
+ disabled = false,
561
+ onChange,
562
+ variant = "default",
563
+ className,
564
+ children
565
+ }, ref) {
566
+ const {
567
+ name,
568
+ selected,
569
+ disabled: parentDisabled,
570
+ readonly,
571
+ hasError,
572
+ onChange: parentOnChange
573
+ } = (0, import_react8.useContext)(MultiSelectGroupContext);
574
+ (0, import_warning2.default)(
575
+ name !== void 0,
576
+ `"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`
577
+ );
578
+ const isSelected = selected.includes(value) || forceChecked;
579
+ const isDisabled = disabled || parentDisabled || readonly;
580
+ const handleChange = (0, import_react8.useCallback)(
581
+ (event) => {
582
+ if (!(event.currentTarget instanceof HTMLInputElement)) {
583
+ return;
584
+ }
585
+ if (onChange)
586
+ onChange({ value, selected: event.currentTarget.checked });
587
+ parentOnChange({ value, selected: event.currentTarget.checked });
588
+ },
589
+ [onChange, parentOnChange, value]
590
+ );
591
+ return /* @__PURE__ */ import_react8.default.createElement(MultiSelectRoot, { "aria-disabled": isDisabled, className }, /* @__PURE__ */ import_react8.default.createElement(
592
+ MultiSelectInput,
593
+ {
594
+ ...{
595
+ name,
596
+ value,
597
+ hasError
598
+ },
599
+ checked: isSelected,
600
+ disabled: isDisabled,
601
+ onChange: handleChange,
602
+ overlay: variant === "overlay",
603
+ "aria-invalid": hasError,
604
+ ref
585
605
  }
586
- if (onChange)
587
- onChange({ value, selected: event.currentTarget.checked });
588
- parentOnChange({ value, selected: event.currentTarget.checked });
589
- },
590
- [onChange, parentOnChange, value]
591
- );
592
- return /* @__PURE__ */ import_react8.default.createElement(MultiSelectRoot, { "aria-disabled": isDisabled }, /* @__PURE__ */ import_react8.default.createElement(
593
- MultiSelectInput,
594
- {
595
- ...{
596
- name,
597
- value,
598
- hasError
606
+ ), /* @__PURE__ */ import_react8.default.createElement(
607
+ MultiSelectInputOverlay,
608
+ {
609
+ overlay: variant === "overlay",
610
+ hasError,
611
+ "aria-hidden": true
599
612
  },
600
- checked: isSelected,
601
- disabled: isDisabled,
602
- onChange: handleChange,
603
- overlay: variant === "overlay",
604
- "aria-invalid": hasError
605
- }
606
- ), /* @__PURE__ */ import_react8.default.createElement(
607
- MultiSelectInputOverlay,
608
- {
609
- overlay: variant === "overlay",
610
- hasError,
611
- "aria-hidden": true
612
- },
613
- /* @__PURE__ */ import_react8.default.createElement("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 })
614
- ), Boolean(children) && /* @__PURE__ */ import_react8.default.createElement(MultiSelectLabel, null, children));
615
- }
613
+ /* @__PURE__ */ import_react8.default.createElement("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 })
614
+ ), Boolean(children) && /* @__PURE__ */ import_react8.default.createElement(MultiSelectLabel, null, children));
615
+ }
616
+ );
617
+ var MultiSelect_default = (0, import_react8.memo)(MultiSelect);
616
618
  var MultiSelectRoot = import_styled_components7.default.label`
617
619
  display: grid;
618
620
  grid-template-columns: auto 1fr;
@@ -729,24 +731,28 @@ var import_react9 = __toESM(require("react"));
729
731
  var import_react_stately = require("react-stately");
730
732
  var import_styled_components8 = __toESM(require("styled-components"));
731
733
  var import_utils4 = require("@charcoal-ui/utils");
732
- function SwitchCheckbox(props) {
733
- const { disabled, className } = props;
734
- const ariaSwitchProps = (0, import_react9.useMemo)(
735
- () => ({
736
- ...props,
737
- "aria-label": "children" in props ? void 0 : props.label,
738
- isDisabled: props.disabled,
739
- isSelected: props.checked
740
- }),
741
- [props]
742
- );
743
- const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
744
- const ref = (0, import_react9.useRef)(null);
745
- const {
746
- inputProps: { className: _className, type: _type, ...rest }
747
- } = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
748
- return /* @__PURE__ */ import_react9.default.createElement(Label, { className, "aria-disabled": disabled }, /* @__PURE__ */ import_react9.default.createElement(SwitchInput, { ...rest, ref }), "children" in props ? /* @__PURE__ */ import_react9.default.createElement(LabelInner, null, props.children) : void 0);
749
- }
734
+ var import_utils5 = require("@react-aria/utils");
735
+ var SwitchCheckbox = (0, import_react9.forwardRef)(
736
+ function SwitchCheckboxInner(props, external) {
737
+ const { disabled, className } = props;
738
+ const ariaSwitchProps = (0, import_react9.useMemo)(
739
+ () => ({
740
+ ...props,
741
+ "aria-label": "children" in props ? void 0 : props.label,
742
+ isDisabled: props.disabled,
743
+ isSelected: props.checked
744
+ }),
745
+ [props]
746
+ );
747
+ const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
748
+ const ref = (0, import_utils5.useObjectRef)(external);
749
+ const {
750
+ inputProps: { className: _className, type: _type, ...rest }
751
+ } = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
752
+ return /* @__PURE__ */ import_react9.default.createElement(Label, { className, "aria-disabled": disabled }, /* @__PURE__ */ import_react9.default.createElement(SwitchInput, { ...rest, ref }), "children" in props ? /* @__PURE__ */ import_react9.default.createElement(LabelInner, null, props.children) : void 0);
753
+ }
754
+ );
755
+ var Switch_default = (0, import_react9.memo)(SwitchCheckbox);
750
756
  var Label = import_styled_components8.default.label`
751
757
  display: inline-grid;
752
758
  grid-template-columns: auto 1fr;
@@ -910,7 +916,7 @@ var TextField = import_react11.default.forwardRef(
910
916
  }
911
917
  );
912
918
  var TextField_default = TextField;
913
- var SingleLineTextField = import_react11.default.forwardRef(function SingleLineTextFieldInner({ onChange, ...props }, forwardRef4) {
919
+ var SingleLineTextField = import_react11.default.forwardRef(function SingleLineTextFieldInner({ onChange, ...props }, forwardRef9) {
914
920
  const {
915
921
  className,
916
922
  showLabel = false,
@@ -994,7 +1000,7 @@ var SingleLineTextField = import_react11.default.forwardRef(function SingleLineT
994
1000
  ), /* @__PURE__ */ import_react11.default.createElement(StyledInputContainer, null, /* @__PURE__ */ import_react11.default.createElement(PrefixContainer, { ref: prefixRef }, /* @__PURE__ */ import_react11.default.createElement(Affix, null, prefix)), /* @__PURE__ */ import_react11.default.createElement(
995
1001
  StyledInput,
996
1002
  {
997
- ref: mergeRefs(forwardRef4, ariaRef),
1003
+ ref: mergeRefs(forwardRef9, ariaRef),
998
1004
  invalid,
999
1005
  extraLeftPadding: prefixWidth,
1000
1006
  extraRightPadding: suffixWidth,
@@ -1009,7 +1015,7 @@ var SingleLineTextField = import_react11.default.forwardRef(function SingleLineT
1009
1015
  assistiveText
1010
1016
  ));
1011
1017
  });
1012
- var MultiLineTextField = import_react11.default.forwardRef(function MultiLineTextFieldInner({ onChange, ...props }, forwardRef4) {
1018
+ var MultiLineTextField = import_react11.default.forwardRef(function MultiLineTextFieldInner({ onChange, ...props }, forwardRef9) {
1013
1019
  const {
1014
1020
  className,
1015
1021
  showCount = false,
@@ -1095,7 +1101,7 @@ var MultiLineTextField = import_react11.default.forwardRef(function MultiLineTex
1095
1101
  /* @__PURE__ */ import_react11.default.createElement(
1096
1102
  StyledTextarea,
1097
1103
  {
1098
- ref: mergeRefs(textareaRef, forwardRef4, ariaRef),
1104
+ ref: mergeRefs(textareaRef, forwardRef9, ariaRef),
1099
1105
  rows,
1100
1106
  noBottomPadding: showCount,
1101
1107
  ...inputProps
@@ -1292,25 +1298,22 @@ function columnSystem(span, column, gutter) {
1292
1298
  }
1293
1299
 
1294
1300
  // src/components/Modal/index.tsx
1295
- var import_utils5 = require("@charcoal-ui/utils");
1301
+ var import_utils6 = require("@charcoal-ui/utils");
1296
1302
  var import_styled11 = require("@charcoal-ui/styled");
1297
1303
  var import_react_spring = require("react-spring");
1304
+ var import_utils7 = require("@react-aria/utils");
1298
1305
  var DEFAULT_Z_INDEX = 10;
1299
- function Modal({
1300
- children,
1301
- zIndex = DEFAULT_Z_INDEX,
1302
- portalContainer,
1303
- ...props
1304
- }) {
1306
+ var Modal = (0, import_react13.forwardRef)(function ModalInner({ children, zIndex = DEFAULT_Z_INDEX, portalContainer, ...props }, external) {
1305
1307
  const {
1306
1308
  title,
1307
1309
  size = "M",
1308
1310
  bottomSheet = false,
1309
1311
  isDismissable,
1310
1312
  onClose,
1313
+ className,
1311
1314
  isOpen = false
1312
1315
  } = props;
1313
- const ref = (0, import_react13.useRef)(null);
1316
+ const ref = (0, import_utils7.useObjectRef)(external);
1314
1317
  const { overlayProps, underlayProps } = (0, import_overlays2.useOverlay)(props, ref);
1315
1318
  const { modalProps } = (0, import_overlays2.useModalOverlay)(
1316
1319
  props,
@@ -1328,7 +1331,7 @@ function Modal({
1328
1331
  );
1329
1332
  const { dialogProps, titleProps } = (0, import_dialog.useDialog)(props, ref);
1330
1333
  const theme4 = (0, import_styled_components11.useTheme)();
1331
- const isMobile = (0, import_styled11.useMedia)((0, import_utils5.maxWidth)(theme4.breakpoint.screen1)) ?? false;
1334
+ const isMobile = (0, import_styled11.useMedia)((0, import_utils6.maxWidth)(theme4.breakpoint.screen1)) ?? false;
1332
1335
  const transitionEnabled = isMobile && bottomSheet !== false;
1333
1336
  const transition = (0, import_react_spring.useTransition)(isOpen, {
1334
1337
  from: {
@@ -1363,7 +1366,8 @@ function Modal({
1363
1366
  ...dialogProps,
1364
1367
  style: transitionEnabled ? { transform } : {},
1365
1368
  size,
1366
- bottomSheet
1369
+ bottomSheet,
1370
+ className
1367
1371
  },
1368
1372
  /* @__PURE__ */ import_react13.default.createElement(
1369
1373
  ModalContext.Provider,
@@ -1383,7 +1387,8 @@ function Modal({
1383
1387
  )))
1384
1388
  ))
1385
1389
  );
1386
- }
1390
+ });
1391
+ var Modal_default = (0, import_react13.memo)(Modal);
1387
1392
  var ModalContext = import_react13.default.createContext({
1388
1393
  titleProps: {},
1389
1394
  title: "",
@@ -1423,7 +1428,7 @@ var DialogContainer = import_styled_components11.default.div`
1423
1428
  }
1424
1429
  }}px;
1425
1430
 
1426
- @media ${({ theme: theme4 }) => (0, import_utils5.maxWidth)(theme4.breakpoint.screen1)} {
1431
+ @media ${({ theme: theme4 }) => (0, import_utils6.maxWidth)(theme4.breakpoint.screen1)} {
1427
1432
  width: calc(100% - 48px);
1428
1433
  ${(p) => p.bottomSheet !== false && import_styled_components11.css`
1429
1434
  margin: 0;
@@ -1441,7 +1446,7 @@ var ModalDialog = (0, import_react_spring.animated)(import_styled_components11.d
1441
1446
  padding: 24px 0;
1442
1447
 
1443
1448
  ${theme((o) => [o.bg.background1, o.borderRadius(24)])}
1444
- @media ${({ theme: theme4 }) => (0, import_utils5.maxWidth)(theme4.breakpoint.screen1)} {
1449
+ @media ${({ theme: theme4 }) => (0, import_utils6.maxWidth)(theme4.breakpoint.screen1)} {
1445
1450
  ${(p) => p.bottomSheet !== false && import_styled_components11.css`
1446
1451
  border-radius: 0;
1447
1452
  ${p.bottomSheet === "full" && import_styled_components11.css`
@@ -1499,13 +1504,22 @@ var ModalButtons = import_styled_components12.default.div`
1499
1504
  // src/components/LoadingSpinner/index.tsx
1500
1505
  var import_react15 = __toESM(require("react"));
1501
1506
  var import_styled_components13 = __toESM(require("styled-components"));
1502
- function LoadingSpinner({
1503
- size = 48,
1504
- padding = 16,
1505
- transparent = false
1506
- }) {
1507
- return /* @__PURE__ */ import_react15.default.createElement(LoadingSpinnerRoot, { size, padding, transparent }, /* @__PURE__ */ import_react15.default.createElement(LoadingSpinnerIcon, null));
1508
- }
1507
+ var LoadingSpinner = (0, import_react15.forwardRef)(
1508
+ function LoadingSpinnerInner({ size = 48, padding = 16, transparent = false, className }, ref) {
1509
+ return /* @__PURE__ */ import_react15.default.createElement(
1510
+ LoadingSpinnerRoot,
1511
+ {
1512
+ size,
1513
+ padding,
1514
+ transparent,
1515
+ className,
1516
+ ref
1517
+ },
1518
+ /* @__PURE__ */ import_react15.default.createElement(LoadingSpinnerIcon, null)
1519
+ );
1520
+ }
1521
+ );
1522
+ var LoadingSpinner_default = (0, import_react15.memo)(LoadingSpinner);
1509
1523
  var LoadingSpinnerRoot = import_styled_components13.default.div.attrs({ role: "progressbar" })`
1510
1524
  box-sizing: content-box;
1511
1525
  margin: auto;
@@ -1562,7 +1576,7 @@ var LoadingSpinnerIcon = import_react15.default.forwardRef(function LoadingSpinn
1562
1576
  var import_react20 = __toESM(require("react"));
1563
1577
  var import_styled_components19 = __toESM(require("styled-components"));
1564
1578
  var import_react_stately2 = require("react-stately");
1565
- var import_utils8 = require("@charcoal-ui/utils");
1579
+ var import_utils10 = require("@charcoal-ui/utils");
1566
1580
  var import_visually_hidden2 = require("@react-aria/visually-hidden");
1567
1581
  var import_select = require("@react-aria/select");
1568
1582
  var import_button = require("@react-aria/button");
@@ -1582,19 +1596,19 @@ var import_styled_components16 = __toESM(require("styled-components"));
1582
1596
  var import_react16 = __toESM(require("react"));
1583
1597
  var import_styled_components14 = __toESM(require("styled-components"));
1584
1598
  var import_listbox = require("@react-aria/listbox");
1585
- var import_utils6 = require("@react-aria/utils");
1599
+ var import_utils8 = require("@react-aria/utils");
1586
1600
  var import_focus2 = require("@react-aria/focus");
1587
- var import_utils7 = require("@charcoal-ui/utils");
1601
+ var import_utils9 = require("@charcoal-ui/utils");
1588
1602
  function Option({ item, state, mode }) {
1589
1603
  const ref = (0, import_react16.useRef)(null);
1590
1604
  const { optionProps, isSelected } = (0, import_listbox.useOption)(item, state, ref);
1591
1605
  const { focusProps } = (0, import_focus2.useFocusRing)();
1592
- return /* @__PURE__ */ import_react16.default.createElement(OptionRoot, { ...(0, import_utils6.mergeProps)(optionProps, focusProps), ref, mode }, /* @__PURE__ */ import_react16.default.createElement(OptionCheckIcon, { name: "16/Check", isSelected }), /* @__PURE__ */ import_react16.default.createElement(OptionText, null, item.rendered));
1606
+ return /* @__PURE__ */ import_react16.default.createElement(OptionRoot, { ...(0, import_utils8.mergeProps)(optionProps, focusProps), ref, mode }, /* @__PURE__ */ import_react16.default.createElement(OptionCheckIcon, { name: "16/Check", isSelected }), /* @__PURE__ */ import_react16.default.createElement(OptionText, null, item.rendered));
1593
1607
  }
1594
1608
  var OptionRoot = import_styled_components14.default.li`
1595
1609
  display: flex;
1596
1610
  align-items: center;
1597
- gap: ${({ theme: theme4 }) => (0, import_utils7.px)(theme4.spacing[4])};
1611
+ gap: ${({ theme: theme4 }) => (0, import_utils9.px)(theme4.spacing[4])};
1598
1612
  height: 40px;
1599
1613
  cursor: pointer;
1600
1614
  outline: none;
@@ -1828,7 +1842,7 @@ var DropdownSelectorRoot = import_styled_components19.default.div`
1828
1842
  display: inline-block;
1829
1843
  width: 100%;
1830
1844
 
1831
- ${import_utils8.disabledSelector} {
1845
+ ${import_utils10.disabledSelector} {
1832
1846
  cursor: default;
1833
1847
  ${theme((o) => o.disabled)}
1834
1848
  }
@@ -1851,7 +1865,7 @@ var DropdownButton = import_styled_components19.default.button`
1851
1865
  box-sizing: border-box;
1852
1866
  cursor: pointer;
1853
1867
 
1854
- ${import_utils8.disabledSelector} {
1868
+ ${import_utils10.disabledSelector} {
1855
1869
  cursor: default;
1856
1870
  }
1857
1871
 
@@ -1885,7 +1899,7 @@ var import_react22 = __toESM(require("react"));
1885
1899
  var import_react_stately3 = require("react-stately");
1886
1900
  var import_radio = require("@react-aria/radio");
1887
1901
  var import_styled_components20 = __toESM(require("styled-components"));
1888
- var import_utils9 = require("@charcoal-ui/utils");
1902
+ var import_utils11 = require("@charcoal-ui/utils");
1889
1903
 
1890
1904
  // src/components/SegmentedControl/RadioGroupContext.tsx
1891
1905
  var import_react21 = __toESM(require("react"));
@@ -1923,23 +1937,35 @@ var SegmentedControl = (0, import_react22.forwardRef)(
1923
1937
  (d) => typeof d === "string" ? { value: d, label: d } : d
1924
1938
  );
1925
1939
  }, [props.data]);
1926
- return /* @__PURE__ */ import_react22.default.createElement(SegmentedControlRoot, { ref, ...radioGroupProps }, /* @__PURE__ */ import_react22.default.createElement(RadioProvider, { value: state }, segmentedControlItems.map((item) => /* @__PURE__ */ import_react22.default.createElement(
1927
- Segmented,
1940
+ return /* @__PURE__ */ import_react22.default.createElement(
1941
+ SegmentedControlRoot,
1928
1942
  {
1929
- key: item.value,
1930
- value: item.value,
1931
- disabled: item.disabled
1943
+ ref,
1944
+ ...radioGroupProps,
1945
+ className: props.className
1932
1946
  },
1933
- item.label
1934
- ))));
1947
+ /* @__PURE__ */ import_react22.default.createElement(RadioProvider, { value: state }, segmentedControlItems.map((item) => /* @__PURE__ */ import_react22.default.createElement(
1948
+ Segmented,
1949
+ {
1950
+ key: item.value,
1951
+ value: item.value,
1952
+ disabled: item.disabled
1953
+ },
1954
+ item.label
1955
+ )))
1956
+ );
1935
1957
  }
1936
1958
  );
1937
1959
  var SegmentedControl_default = (0, import_react22.memo)(SegmentedControl);
1938
- var Segmented = ({ children, ...props }) => {
1960
+ var Segmented = (props) => {
1939
1961
  const state = useRadioContext();
1940
1962
  const ref = (0, import_react22.useRef)(null);
1941
1963
  const ariaRadioProps = (0, import_react22.useMemo)(
1942
- () => ({ ...props, isDisabled: props.disabled }),
1964
+ () => ({
1965
+ value: props.value,
1966
+ isDisabled: props.disabled,
1967
+ children: props.children
1968
+ }),
1943
1969
  [props]
1944
1970
  );
1945
1971
  const { inputProps, isDisabled, isSelected } = (0, import_radio.useRadio)(
@@ -1954,7 +1980,7 @@ var Segmented = ({ children, ...props }) => {
1954
1980
  checked: isSelected
1955
1981
  },
1956
1982
  /* @__PURE__ */ import_react22.default.createElement(SegmentedInput, { ...inputProps, ref }),
1957
- /* @__PURE__ */ import_react22.default.createElement(RadioLabel2, null, /* @__PURE__ */ import_react22.default.createElement(SegmentedLabelInner, null, children))
1983
+ /* @__PURE__ */ import_react22.default.createElement(RadioLabel2, null, /* @__PURE__ */ import_react22.default.createElement(SegmentedLabelInner, null, props.children))
1958
1984
  );
1959
1985
  };
1960
1986
  var SegmentedControlRoot = import_styled_components20.default.div`
@@ -1970,7 +1996,7 @@ var SegmentedRoot = import_styled_components20.default.label`
1970
1996
  cursor: pointer;
1971
1997
  height: 32px;
1972
1998
 
1973
- ${import_utils9.disabledSelector} {
1999
+ ${import_utils11.disabledSelector} {
1974
2000
  cursor: default;
1975
2001
  }
1976
2002
 
@@ -2010,9 +2036,9 @@ var SegmentedLabelInner = import_styled_components20.default.div`
2010
2036
  var import_react23 = __toESM(require("react"));
2011
2037
  var import_styled_components21 = __toESM(require("styled-components"));
2012
2038
  var import_checkbox = require("@react-aria/checkbox");
2013
- var import_utils10 = require("@react-aria/utils");
2039
+ var import_utils12 = require("@react-aria/utils");
2014
2040
  var import_react_stately4 = require("react-stately");
2015
- var import_utils11 = require("@charcoal-ui/utils");
2041
+ var import_utils13 = require("@charcoal-ui/utils");
2016
2042
  var Checkbox = (0, import_react23.forwardRef)(
2017
2043
  function CheckboxInner(props, ref) {
2018
2044
  const ariaCheckboxProps = (0, import_react23.useMemo)(
@@ -2026,10 +2052,10 @@ var Checkbox = (0, import_react23.forwardRef)(
2026
2052
  [props]
2027
2053
  );
2028
2054
  const state = (0, import_react_stately4.useToggleState)(ariaCheckboxProps);
2029
- const objectRef = (0, import_utils10.useObjectRef)(ref);
2055
+ const objectRef = (0, import_utils12.useObjectRef)(ref);
2030
2056
  const { inputProps } = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
2031
2057
  const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
2032
- return /* @__PURE__ */ import_react23.default.createElement(InputRoot, { "aria-disabled": isDisabled }, /* @__PURE__ */ import_react23.default.createElement(CheckboxRoot, null, /* @__PURE__ */ import_react23.default.createElement(CheckboxInput, { type: "checkbox", ...inputProps }), /* @__PURE__ */ import_react23.default.createElement(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked }, /* @__PURE__ */ import_react23.default.createElement(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }))), "children" in props && /* @__PURE__ */ import_react23.default.createElement(InputLabel, null, props.children));
2058
+ return /* @__PURE__ */ import_react23.default.createElement(InputRoot, { "aria-disabled": isDisabled, className: props.className }, /* @__PURE__ */ import_react23.default.createElement(CheckboxRoot, null, /* @__PURE__ */ import_react23.default.createElement(CheckboxInput, { type: "checkbox", ...inputProps }), /* @__PURE__ */ import_react23.default.createElement(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked }, /* @__PURE__ */ import_react23.default.createElement(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }))), "children" in props && /* @__PURE__ */ import_react23.default.createElement(InputLabel, null, props.children));
2033
2059
  }
2034
2060
  );
2035
2061
  var Checkbox_default = (0, import_react23.memo)(Checkbox);
@@ -2041,11 +2067,11 @@ var InputRoot = import_styled_components21.default.label`
2041
2067
  display: flex;
2042
2068
 
2043
2069
  cursor: pointer;
2044
- ${import_utils11.disabledSelector} {
2070
+ ${import_utils13.disabledSelector} {
2045
2071
  cursor: default;
2046
2072
  }
2047
2073
 
2048
- gap: ${({ theme: theme4 }) => (0, import_utils11.px)(theme4.spacing[4])};
2074
+ gap: ${({ theme: theme4 }) => (0, import_utils13.px)(theme4.spacing[4])};
2049
2075
  ${theme((o) => [o.disabled])}
2050
2076
  `;
2051
2077
  var CheckboxRoot = import_styled_components21.default.div`
@@ -2097,9 +2123,9 @@ var InputLabel = import_styled_components21.default.div`
2097
2123
 
2098
2124
  // src/components/TagItem/index.tsx
2099
2125
  var import_react24 = __toESM(require("react"));
2100
- var import_utils12 = require("@react-aria/utils");
2126
+ var import_utils14 = require("@react-aria/utils");
2101
2127
  var import_styled_components22 = __toESM(require("styled-components"));
2102
- var import_utils13 = require("@charcoal-ui/utils");
2128
+ var import_utils15 = require("@charcoal-ui/utils");
2103
2129
  var import_button2 = require("@react-aria/button");
2104
2130
  var sizeMap = {
2105
2131
  S: 32,
@@ -2117,7 +2143,7 @@ var TagItem = (0, import_react24.forwardRef)(
2117
2143
  className,
2118
2144
  ...props
2119
2145
  }, _ref) {
2120
- const ref = (0, import_utils12.useObjectRef)(_ref);
2146
+ const ref = (0, import_utils14.useObjectRef)(_ref);
2121
2147
  const ariaButtonProps = (0, import_react24.useMemo)(
2122
2148
  () => ({
2123
2149
  elementType: "a",
@@ -2163,7 +2189,7 @@ var TagItemRoot = import_styled_components22.default.a`
2163
2189
  ...status === "active" ? [o.padding.left(16), o.padding.right(8)] : []
2164
2190
  ])}
2165
2191
 
2166
- ${import_utils13.disabledSelector} {
2192
+ ${import_utils15.disabledSelector} {
2167
2193
  ${theme((o) => [o.disabled])}
2168
2194
  cursor: default;
2169
2195
  }
@@ -2197,7 +2223,7 @@ var Background = import_styled_components22.default.div`
2197
2223
  `;
2198
2224
  var Inner = import_styled_components22.default.div`
2199
2225
  display: inline-flex;
2200
- gap: ${({ theme: theme4 }) => (0, import_utils13.px)(theme4.spacing[8])};
2226
+ gap: ${({ theme: theme4 }) => (0, import_utils15.px)(theme4.spacing[8])};
2201
2227
  align-items: center;
2202
2228
  z-index: 2;
2203
2229
  `;