@marigold/components 1.0.1 → 1.2.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.
package/dist/index.js CHANGED
@@ -85,6 +85,7 @@ __export(src_exports, {
85
85
  SSRProvider: () => import_ssr.SSRProvider,
86
86
  Select: () => Select,
87
87
  Slider: () => Slider,
88
+ Split: () => Split,
88
89
  Stack: () => Stack,
89
90
  Switch: () => Switch,
90
91
  Table: () => Table,
@@ -289,6 +290,7 @@ var import_react10 = __toESM(require("react"));
289
290
  var import_checkbox3 = require("@react-aria/checkbox");
290
291
  var import_focus2 = require("@react-aria/focus");
291
292
  var import_interactions = require("@react-aria/interactions");
293
+ var import_utils2 = require("@react-aria/utils");
292
294
  var import_toggle = require("@react-stately/toggle");
293
295
  var import_system7 = require("@marigold/system");
294
296
 
@@ -411,7 +413,7 @@ var Icon = (_a) => {
411
413
  css
412
414
  }, props), indeterminate ? /* @__PURE__ */ import_react10.default.createElement(IndeterminateMark, null) : checked ? /* @__PURE__ */ import_react10.default.createElement(CheckMark, null) : null);
413
415
  };
414
- var Checkbox = (_a) => {
416
+ var Checkbox = (0, import_react10.forwardRef)((_a, ref) => {
415
417
  var _b = _a, {
416
418
  size,
417
419
  variant,
@@ -433,7 +435,7 @@ var Checkbox = (_a) => {
433
435
  "required",
434
436
  "error"
435
437
  ]);
436
- const ref = import_react10.default.useRef(null);
438
+ const inputRef = (0, import_utils2.useObjectRef)(ref);
437
439
  const checkboxProps = {
438
440
  isIndeterminate: indeterminate,
439
441
  isDisabled: disabled,
@@ -444,14 +446,17 @@ var Checkbox = (_a) => {
444
446
  const groupState = useCheckboxGroupContext();
445
447
  const { inputProps } = groupState ? (0, import_checkbox3.useCheckboxGroupItem)(__spreadProps(__spreadValues(__spreadValues({}, props), checkboxProps), {
446
448
  value: props.value
447
- }), groupState, ref) : (0, import_checkbox3.useCheckbox)(__spreadValues(__spreadValues({
449
+ }), groupState, inputRef) : (0, import_checkbox3.useCheckbox)(__spreadValues(__spreadValues({
448
450
  isSelected: checked,
449
451
  defaultSelected: defaultChecked
450
452
  }, checkboxProps), props), (0, import_toggle.useToggleState)(__spreadValues({
451
453
  isSelected: checked,
452
454
  defaultSelected: defaultChecked
453
- }, props)), ref);
454
- const styles = (0, import_system7.useComponentStyles)("Checkbox", { variant: (groupState == null ? void 0 : groupState.variant) || variant, size: (groupState == null ? void 0 : groupState.size) || size }, { parts: ["container", "label", "checkbox"] });
455
+ }, props)), inputRef);
456
+ const styles = (0, import_system7.useComponentStyles)("Checkbox", {
457
+ variant: (groupState == null ? void 0 : groupState.variant) || variant,
458
+ size: (groupState == null ? void 0 : groupState.size) || size
459
+ }, { parts: ["container", "label", "checkbox"] });
455
460
  const { hoverProps, isHovered } = (0, import_interactions.useHover)({});
456
461
  const { isFocusVisible, focusProps } = (0, import_focus2.useFocusRing)();
457
462
  const stateProps = (0, import_system7.useStateProps)({
@@ -474,7 +479,7 @@ var Checkbox = (_a) => {
474
479
  css: styles.container
475
480
  }, hoverProps), stateProps), /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues(__spreadValues({
476
481
  as: "input",
477
- ref,
482
+ ref: inputRef,
478
483
  css: {
479
484
  position: "absolute",
480
485
  width: "100%",
@@ -492,7 +497,7 @@ var Checkbox = (_a) => {
492
497
  }, stateProps)), props.children && /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues({
493
498
  css: styles.label
494
499
  }, stateProps), props.children));
495
- };
500
+ });
496
501
 
497
502
  // src/Columns/Columns.tsx
498
503
  var import_react11 = __toESM(require("react"));
@@ -632,7 +637,7 @@ var Headline = (_a) => {
632
637
  ]);
633
638
  const styles = (0, import_system10.useComponentStyles)("Headline", {
634
639
  variant,
635
- size: size != null ? size : `level-${level}`
640
+ size: size ?? `level-${level}`
636
641
  });
637
642
  return /* @__PURE__ */ import_react15.default.createElement(import_system10.Box, __spreadProps(__spreadValues({
638
643
  as: `h${level}`
@@ -655,7 +660,7 @@ var import_overlays4 = require("@react-stately/overlays");
655
660
  var import_react18 = __toESM(require("react"));
656
661
  var import_focus3 = require("@react-aria/focus");
657
662
  var import_overlays = require("@react-aria/overlays");
658
- var import_utils2 = require("@react-aria/utils");
663
+ var import_utils3 = require("@react-aria/utils");
659
664
 
660
665
  // src/Overlay/Underlay.tsx
661
666
  var import_react17 = __toESM(require("react"));
@@ -676,7 +681,7 @@ var Underlay = (_a) => {
676
681
  // src/Overlay/Modal.tsx
677
682
  var Modal = (0, import_react18.forwardRef)((_a, ref) => {
678
683
  var _b = _a, { children, open, dismissable, keyboardDismissable, onClose } = _b, props = __objRest(_b, ["children", "open", "dismissable", "keyboardDismissable", "onClose"]);
679
- const modalRef = (0, import_utils2.useObjectRef)(ref);
684
+ const modalRef = (0, import_utils3.useObjectRef)(ref);
680
685
  const { overlayProps, underlayProps } = (0, import_overlays.useOverlay)({
681
686
  isOpen: open,
682
687
  onClose,
@@ -700,7 +705,7 @@ var Modal = (0, import_react18.forwardRef)((_a, ref) => {
700
705
  pointerEvents: "none"
701
706
  },
702
707
  ref: modalRef
703
- }, (0, import_utils2.mergeProps)(props, overlayProps, modalProps)), /* @__PURE__ */ import_react18.default.createElement("div", {
708
+ }, (0, import_utils3.mergeProps)(props, overlayProps, modalProps)), /* @__PURE__ */ import_react18.default.createElement("div", {
704
709
  style: { pointerEvents: "auto" }
705
710
  }, children)));
706
711
  });
@@ -712,7 +717,7 @@ var Overlay = (_a) => {
712
717
  var _b = _a, {
713
718
  children,
714
719
  open = false,
715
- container = document.body
720
+ container
716
721
  } = _b, props = __objRest(_b, [
717
722
  "children",
718
723
  "open",
@@ -729,7 +734,7 @@ var Overlay = (_a) => {
729
734
  // src/Overlay/Popover.tsx
730
735
  var import_react20 = __toESM(require("react"));
731
736
  var import_overlays3 = require("@react-aria/overlays");
732
- var import_utils3 = require("@react-aria/utils");
737
+ var import_utils4 = require("@react-aria/utils");
733
738
  var Popover = (0, import_react20.forwardRef)((_a, ref) => {
734
739
  var _b = _a, {
735
740
  children,
@@ -761,7 +766,7 @@ var Popover = (0, import_react20.forwardRef)((_a, ref) => {
761
766
  }, /* @__PURE__ */ import_react20.default.createElement(import_system.Box, __spreadValues({
762
767
  ref: popoverRef,
763
768
  role: "presentation"
764
- }, (0, import_utils3.mergeProps)(props, overlayProps, modalProps, style)), children));
769
+ }, (0, import_utils4.mergeProps)(props, overlayProps, modalProps, style)), children));
765
770
  });
766
771
 
767
772
  // src/Dialog/DialogTrigger.tsx
@@ -1030,7 +1035,7 @@ var MenuTrigger = ({ disabled, children }) => {
1030
1035
  var import_react31 = __toESM(require("react"));
1031
1036
  var import_focus4 = require("@react-aria/focus");
1032
1037
  var import_menu3 = require("@react-aria/menu");
1033
- var import_utils4 = require("@react-aria/utils");
1038
+ var import_utils5 = require("@react-aria/utils");
1034
1039
  var import_system18 = require("@marigold/system");
1035
1040
  var MenuItem = ({ item, state, onAction, css }) => {
1036
1041
  const ref = (0, import_react31.useRef)(null);
@@ -1053,7 +1058,7 @@ var MenuItem = ({ item, state, onAction, css }) => {
1053
1058
  }
1054
1059
  },
1055
1060
  css
1056
- }, (0, import_utils4.mergeProps)(menuItemProps, focusProps)), stateProps), item.rendered);
1061
+ }, (0, import_utils5.mergeProps)(menuItemProps, focusProps)), stateProps), item.rendered);
1057
1062
  };
1058
1063
 
1059
1064
  // src/Menu/Menu.tsx
@@ -1139,7 +1144,7 @@ var import_focus6 = require("@react-aria/focus");
1139
1144
  var import_interactions5 = require("@react-aria/interactions");
1140
1145
  var import_i18n = require("@react-aria/i18n");
1141
1146
  var import_numberfield = require("@react-aria/numberfield");
1142
- var import_utils6 = require("@react-aria/utils");
1147
+ var import_utils7 = require("@react-aria/utils");
1143
1148
  var import_numberfield2 = require("@react-stately/numberfield");
1144
1149
  var import_system24 = require("@marigold/system");
1145
1150
 
@@ -1223,7 +1228,7 @@ var FieldBase = ({
1223
1228
  var import_react36 = __toESM(require("react"));
1224
1229
  var import_button3 = require("@react-aria/button");
1225
1230
  var import_interactions4 = require("@react-aria/interactions");
1226
- var import_utils5 = require("@react-aria/utils");
1231
+ var import_utils6 = require("@react-aria/utils");
1227
1232
  var import_system23 = require("@marigold/system");
1228
1233
  var Plus = () => /* @__PURE__ */ import_react36.default.createElement(import_system23.Box, {
1229
1234
  as: "svg",
@@ -1264,7 +1269,7 @@ var StepButton = (_a) => {
1264
1269
  cursor: props.isDisabled ? "not-allowed" : "pointer"
1265
1270
  },
1266
1271
  css
1267
- }, (0, import_utils5.mergeProps)(buttonProps, hoverProps)), stateProps), /* @__PURE__ */ import_react36.default.createElement(Icon3, null));
1272
+ }, (0, import_utils6.mergeProps)(buttonProps, hoverProps)), stateProps), /* @__PURE__ */ import_react36.default.createElement(Icon3, null));
1268
1273
  };
1269
1274
 
1270
1275
  // src/NumberField/NumberField.tsx
@@ -1296,7 +1301,7 @@ var NumberField = (0, import_react37.forwardRef)((_a, ref) => {
1296
1301
  }, rest);
1297
1302
  const showStepper = !hideStepper;
1298
1303
  const { locale } = (0, import_i18n.useLocale)();
1299
- const inputRef = (0, import_utils6.useObjectRef)(ref);
1304
+ const inputRef = (0, import_utils7.useObjectRef)(ref);
1300
1305
  const state = (0, import_numberfield2.useNumberFieldState)(__spreadProps(__spreadValues({}, props), { locale }));
1301
1306
  const {
1302
1307
  labelProps,
@@ -1344,7 +1349,7 @@ var NumberField = (0, import_react37.forwardRef)((_a, ref) => {
1344
1349
  }
1345
1350
  },
1346
1351
  css: styles.group
1347
- }, (0, import_utils6.mergeProps)(groupProps, focusProps, hoverProps)), stateProps), showStepper && /* @__PURE__ */ import_react37.default.createElement(StepButton, __spreadValues({
1352
+ }, (0, import_utils7.mergeProps)(groupProps, focusProps, hoverProps)), stateProps), showStepper && /* @__PURE__ */ import_react37.default.createElement(StepButton, __spreadValues({
1348
1353
  direction: "down",
1349
1354
  css: styles.stepper
1350
1355
  }, decrementButtonProps)), /* @__PURE__ */ import_react37.default.createElement(Input, __spreadValues(__spreadValues({
@@ -1366,14 +1371,24 @@ var import_react38 = __toESM(require("react"));
1366
1371
  var import_overlays7 = require("@react-aria/overlays");
1367
1372
  var import_system25 = require("@marigold/system");
1368
1373
  function MarigoldProvider({
1374
+ children,
1369
1375
  theme,
1370
- children
1376
+ selector,
1377
+ normalizeDocument = true
1371
1378
  }) {
1379
+ var _a;
1372
1380
  const outer = (0, import_system25.useTheme)();
1373
1381
  const isTopLevel = outer.theme === import_system25.__defaultTheme;
1382
+ if (((_a = outer.theme) == null ? void 0 : _a.root) && !isTopLevel && !selector) {
1383
+ throw new Error(`[MarigoldProvider] You cannot nest a MarigoldProvider inside another MarigoldProvider without a "selector"!
1384
+ Nested themes with a "root" property must specify a "selector" to prevent accidentally overriding global CSS`);
1385
+ }
1374
1386
  return /* @__PURE__ */ import_react38.default.createElement(import_system25.ThemeProvider, {
1375
1387
  theme
1376
- }, isTopLevel ? /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, /* @__PURE__ */ import_react38.default.createElement(import_system25.Global, null), /* @__PURE__ */ import_react38.default.createElement(import_overlays7.OverlayProvider, null, children)) : children);
1388
+ }, /* @__PURE__ */ import_react38.default.createElement(import_system25.Global, {
1389
+ normalizeDocument: isTopLevel && normalizeDocument,
1390
+ selector
1391
+ }), isTopLevel ? /* @__PURE__ */ import_react38.default.createElement(import_overlays7.OverlayProvider, null, children) : children);
1377
1392
  }
1378
1393
 
1379
1394
  // src/Radio/Radio.tsx
@@ -1381,6 +1396,7 @@ var import_react41 = __toESM(require("react"));
1381
1396
  var import_interactions6 = require("@react-aria/interactions");
1382
1397
  var import_focus7 = require("@react-aria/focus");
1383
1398
  var import_radio3 = require("@react-aria/radio");
1399
+ var import_utils8 = require("@react-aria/utils");
1384
1400
  var import_system28 = require("@marigold/system");
1385
1401
 
1386
1402
  // src/Radio/Context.ts
@@ -1471,7 +1487,7 @@ var Icon2 = (_a) => {
1471
1487
  css
1472
1488
  }, props), checked ? /* @__PURE__ */ import_react41.default.createElement(Dot, null) : null);
1473
1489
  };
1474
- var Radio = (_a) => {
1490
+ var Radio = (0, import_react41.forwardRef)((_a, ref) => {
1475
1491
  var _b = _a, { width, disabled } = _b, props = __objRest(_b, ["width", "disabled"]);
1476
1492
  const _a2 = useRadioGroupContext(), {
1477
1493
  variant,
@@ -1484,8 +1500,8 @@ var Radio = (_a) => {
1484
1500
  "error",
1485
1501
  "width"
1486
1502
  ]);
1487
- const ref = (0, import_react41.useRef)(null);
1488
- const { inputProps } = (0, import_radio3.useRadio)(__spreadValues({ isDisabled: disabled }, props), state, ref);
1503
+ const inputRef = (0, import_utils8.useObjectRef)(ref);
1504
+ const { inputProps } = (0, import_radio3.useRadio)(__spreadValues({ isDisabled: disabled }, props), state, inputRef);
1489
1505
  const styles = (0, import_system28.useComponentStyles)("Radio", { variant: variant || props.variant, size: size || props.size }, { parts: ["container", "label", "radio"] });
1490
1506
  const { hoverProps, isHovered } = (0, import_interactions6.useHover)({});
1491
1507
  const { isFocusVisible, focusProps } = (0, import_focus7.useFocusRing)();
@@ -1509,7 +1525,7 @@ var Radio = (_a) => {
1509
1525
  css: styles.container
1510
1526
  }, hoverProps), stateProps), /* @__PURE__ */ import_react41.default.createElement(import_system28.Box, __spreadValues(__spreadValues({
1511
1527
  as: "input",
1512
- ref,
1528
+ ref: inputRef,
1513
1529
  css: {
1514
1530
  position: "absolute",
1515
1531
  width: "100%",
@@ -1526,7 +1542,7 @@ var Radio = (_a) => {
1526
1542
  }, stateProps)), /* @__PURE__ */ import_react41.default.createElement(import_system28.Box, __spreadValues({
1527
1543
  css: styles.label
1528
1544
  }, stateProps), props.children));
1529
- };
1545
+ });
1530
1546
  Radio.Group = RadioGroup;
1531
1547
 
1532
1548
  // src/Select/Select.tsx
@@ -1538,12 +1554,12 @@ var import_overlays8 = require("@react-aria/overlays");
1538
1554
  var import_select = require("@react-aria/select");
1539
1555
  var import_select2 = require("@react-stately/select");
1540
1556
  var import_collections2 = require("@react-stately/collections");
1541
- var import_utils8 = require("@react-aria/utils");
1557
+ var import_utils10 = require("@react-aria/utils");
1542
1558
  var import_system32 = require("@marigold/system");
1543
1559
 
1544
1560
  // src/ListBox/ListBox.tsx
1545
1561
  var import_react45 = __toESM(require("react"));
1546
- var import_utils7 = require("@react-aria/utils");
1562
+ var import_utils9 = require("@react-aria/utils");
1547
1563
  var import_system31 = require("@marigold/system");
1548
1564
  var import_listbox3 = require("@react-aria/listbox");
1549
1565
 
@@ -1605,7 +1621,7 @@ var ListBoxSection = ({ section, state }) => {
1605
1621
  // src/ListBox/ListBox.tsx
1606
1622
  var ListBox = (0, import_react45.forwardRef)((_a, ref) => {
1607
1623
  var _b = _a, { state, variant, size } = _b, props = __objRest(_b, ["state", "variant", "size"]);
1608
- const innerRef = (0, import_utils7.useObjectRef)(ref);
1624
+ const innerRef = (0, import_utils9.useObjectRef)(ref);
1609
1625
  const { listBoxProps } = (0, import_listbox3.useListBox)(props, state, innerRef);
1610
1626
  const styles = (0, import_system31.useComponentStyles)("ListBox", { variant, size }, { parts: ["container", "list", "option", "section", "sectionTitle"] });
1611
1627
  return /* @__PURE__ */ import_react45.default.createElement(ListBoxContext.Provider, {
@@ -1652,25 +1668,10 @@ var Chevron = ({ css }) => /* @__PURE__ */ import_react46.default.createElement(
1652
1668
  strokeLinejoin: "round",
1653
1669
  d: "M19 9l-7 7-7-7"
1654
1670
  }));
1655
- var Select = (_a) => {
1656
- var _b = _a, {
1657
- variant,
1658
- size,
1659
- width,
1660
- open,
1661
- disabled,
1662
- required,
1663
- error
1664
- } = _b, rest = __objRest(_b, [
1665
- "variant",
1666
- "size",
1667
- "width",
1668
- "open",
1669
- "disabled",
1670
- "required",
1671
- "error"
1672
- ]);
1671
+ var Select = (0, import_react46.forwardRef)((_a, ref) => {
1672
+ var _b = _a, { variant, size, width, open, disabled, required, error } = _b, rest = __objRest(_b, ["variant", "size", "width", "open", "disabled", "required", "error"]);
1673
1673
  const formatMessage = (0, import_i18n2.useMessageFormatter)(messages);
1674
+ const buttonRef = (0, import_utils10.useObjectRef)(ref);
1674
1675
  const props = __spreadValues({
1675
1676
  isOpen: open,
1676
1677
  isDisabled: disabled,
@@ -1679,7 +1680,6 @@ var Select = (_a) => {
1679
1680
  placeholder: rest.placeholder || formatMessage("placeholder")
1680
1681
  }, rest);
1681
1682
  const state = (0, import_select2.useSelectState)(props);
1682
- const buttonRef = (0, import_react46.useRef)(null);
1683
1683
  const {
1684
1684
  labelProps,
1685
1685
  triggerProps,
@@ -1735,7 +1735,7 @@ var Select = (_a) => {
1735
1735
  },
1736
1736
  css: styles.button,
1737
1737
  ref: buttonRef
1738
- }, (0, import_utils8.mergeProps)(buttonProps, focusProps)), stateProps), /* @__PURE__ */ import_react46.default.createElement(import_system32.Box, __spreadValues({
1738
+ }, (0, import_utils10.mergeProps)(buttonProps, focusProps)), stateProps), /* @__PURE__ */ import_react46.default.createElement(import_system32.Box, __spreadValues({
1739
1739
  css: {
1740
1740
  overflow: "hidden",
1741
1741
  whiteSpace: "nowrap"
@@ -1760,7 +1760,7 @@ var Select = (_a) => {
1760
1760
  }, menuProps)), /* @__PURE__ */ import_react46.default.createElement(import_overlays8.DismissButton, {
1761
1761
  onDismiss: state.close
1762
1762
  }))));
1763
- };
1763
+ });
1764
1764
  Select.Option = import_collections2.Item;
1765
1765
  Select.Section = import_collections2.Section;
1766
1766
 
@@ -1769,12 +1769,13 @@ var import_react48 = __toESM(require("react"));
1769
1769
  var import_slider2 = require("@react-aria/slider");
1770
1770
  var import_slider3 = require("@react-stately/slider");
1771
1771
  var import_i18n3 = require("@react-aria/i18n");
1772
+ var import_utils12 = require("@react-aria/utils");
1772
1773
  var import_system34 = require("@marigold/system");
1773
1774
 
1774
1775
  // src/Slider/Thumb.tsx
1775
1776
  var import_react47 = __toESM(require("react"));
1776
1777
  var import_slider = require("@react-aria/slider");
1777
- var import_utils9 = require("@react-aria/utils");
1778
+ var import_utils11 = require("@react-aria/utils");
1778
1779
  var import_system33 = require("@marigold/system");
1779
1780
 
1780
1781
  // src/VisuallyHidden/VisuallyHidden.tsx
@@ -1814,22 +1815,14 @@ var Thumb = (_a) => {
1814
1815
  as: "input",
1815
1816
  type: "range",
1816
1817
  ref: inputRef
1817
- }, (0, import_utils9.mergeProps)(inputProps, focusProps))))));
1818
+ }, (0, import_utils11.mergeProps)(inputProps, focusProps))))));
1818
1819
  };
1819
1820
 
1820
1821
  // src/Slider/Slider.tsx
1821
- var Slider = (_a) => {
1822
- var _b = _a, {
1823
- variant,
1824
- size,
1825
- width = "100%"
1826
- } = _b, props = __objRest(_b, [
1827
- "variant",
1828
- "size",
1829
- "width"
1830
- ]);
1822
+ var Slider = (0, import_react48.forwardRef)((_a, ref) => {
1823
+ var _b = _a, { variant, size, width = "100%" } = _b, props = __objRest(_b, ["variant", "size", "width"]);
1831
1824
  const { formatOptions } = props;
1832
- const trackRef = (0, import_react48.useRef)(null);
1825
+ const trackRef = (0, import_utils12.useObjectRef)(ref);
1833
1826
  const numberFormatter = (0, import_i18n3.useNumberFormatter)(formatOptions);
1834
1827
  const state = (0, import_slider3.useSliderState)(__spreadProps(__spreadValues({}, props), { numberFormatter }));
1835
1828
  const { groupProps, trackProps, labelProps, outputProps } = (0, import_slider2.useSlider)(__spreadValues({
@@ -1869,10 +1862,18 @@ var Slider = (_a) => {
1869
1862
  disabled: props.disabled,
1870
1863
  styles: styles.thumb
1871
1864
  })));
1872
- };
1865
+ });
1873
1866
 
1874
- // src/Stack/Stack.tsx
1867
+ // src/Split/Split.tsx
1875
1868
  var import_react49 = __toESM(require("react"));
1869
+ var import_system35 = require("@marigold/system");
1870
+ var Split = (props) => /* @__PURE__ */ import_react49.default.createElement(import_system35.Box, __spreadProps(__spreadValues({}, props), {
1871
+ role: "separator",
1872
+ css: { flexGrow: 1 }
1873
+ }));
1874
+
1875
+ // src/Stack/Stack.tsx
1876
+ var import_react50 = __toESM(require("react"));
1876
1877
  var ALIGNMENT_X2 = {
1877
1878
  left: "flex-start",
1878
1879
  center: "center",
@@ -1897,7 +1898,7 @@ var Stack = (_a) => {
1897
1898
  "alignY",
1898
1899
  "stretch"
1899
1900
  ]);
1900
- return /* @__PURE__ */ import_react49.default.createElement(import_system.Box, __spreadValues({
1901
+ return /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues({
1901
1902
  css: {
1902
1903
  display: "flex",
1903
1904
  flexDirection: "column",
@@ -1911,12 +1912,13 @@ var Stack = (_a) => {
1911
1912
  };
1912
1913
 
1913
1914
  // src/Switch/Switch.tsx
1914
- var import_react50 = __toESM(require("react"));
1915
+ var import_react51 = __toESM(require("react"));
1915
1916
  var import_focus10 = require("@react-aria/focus");
1916
1917
  var import_switch = require("@react-aria/switch");
1918
+ var import_utils13 = require("@react-aria/utils");
1917
1919
  var import_toggle2 = require("@react-stately/toggle");
1918
- var import_system35 = require("@marigold/system");
1919
- var Switch = (_a) => {
1920
+ var import_system36 = require("@marigold/system");
1921
+ var Switch = (0, import_react51.forwardRef)((_a, ref) => {
1920
1922
  var _b = _a, {
1921
1923
  variant,
1922
1924
  size,
@@ -1934,7 +1936,7 @@ var Switch = (_a) => {
1934
1936
  "readOnly",
1935
1937
  "defaultChecked"
1936
1938
  ]);
1937
- const ref = (0, import_react50.useRef)(null);
1939
+ const inputRef = (0, import_utils13.useObjectRef)(ref);
1938
1940
  const props = __spreadValues({
1939
1941
  isSelected: checked,
1940
1942
  isDisabled: disabled,
@@ -1942,16 +1944,16 @@ var Switch = (_a) => {
1942
1944
  defaultSelected: defaultChecked
1943
1945
  }, rest);
1944
1946
  const state = (0, import_toggle2.useToggleState)(props);
1945
- const { inputProps } = (0, import_switch.useSwitch)(props, state, ref);
1947
+ const { inputProps } = (0, import_switch.useSwitch)(props, state, inputRef);
1946
1948
  const { isFocusVisible, focusProps } = (0, import_focus10.useFocusRing)();
1947
- const stateProps = (0, import_system35.useStateProps)({
1949
+ const stateProps = (0, import_system36.useStateProps)({
1948
1950
  checked: state.isSelected,
1949
1951
  disabled,
1950
1952
  readOnly,
1951
1953
  focus: isFocusVisible
1952
1954
  });
1953
- const styles = (0, import_system35.useComponentStyles)("Switch", { variant, size }, { parts: ["container", "label", "track", "thumb"] });
1954
- return /* @__PURE__ */ import_react50.default.createElement(import_system.Box, {
1955
+ const styles = (0, import_system36.useComponentStyles)("Switch", { variant, size }, { parts: ["container", "label", "track", "thumb"] });
1956
+ return /* @__PURE__ */ import_react51.default.createElement(import_system.Box, {
1955
1957
  as: "label",
1956
1958
  __baseCSS: {
1957
1959
  display: "flex",
@@ -1962,9 +1964,9 @@ var Switch = (_a) => {
1962
1964
  width
1963
1965
  },
1964
1966
  css: styles.container
1965
- }, /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1967
+ }, /* @__PURE__ */ import_react51.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1966
1968
  as: "input",
1967
- ref,
1969
+ ref: inputRef,
1968
1970
  css: {
1969
1971
  position: "absolute",
1970
1972
  width: "100%",
@@ -1975,9 +1977,9 @@ var Switch = (_a) => {
1975
1977
  opacity: 1e-4,
1976
1978
  cursor: inputProps.disabled ? "not-allowed" : "pointer"
1977
1979
  }
1978
- }, inputProps), focusProps)), props.children && /* @__PURE__ */ import_react50.default.createElement(import_system.Box, {
1980
+ }, inputProps), focusProps)), props.children && /* @__PURE__ */ import_react51.default.createElement(import_system.Box, {
1979
1981
  css: styles.label
1980
- }, props.children), /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues({
1982
+ }, props.children), /* @__PURE__ */ import_react51.default.createElement(import_system.Box, __spreadValues({
1981
1983
  __baseCSS: {
1982
1984
  position: "relative",
1983
1985
  width: 48,
@@ -1986,7 +1988,7 @@ var Switch = (_a) => {
1986
1988
  borderRadius: 20
1987
1989
  },
1988
1990
  css: styles.track
1989
- }, stateProps), /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues({
1991
+ }, stateProps), /* @__PURE__ */ import_react51.default.createElement(import_system.Box, __spreadValues({
1990
1992
  __baseCSS: {
1991
1993
  display: "block",
1992
1994
  position: "absolute",
@@ -2005,55 +2007,55 @@ var Switch = (_a) => {
2005
2007
  },
2006
2008
  css: styles.thumb
2007
2009
  }, stateProps))));
2008
- };
2010
+ });
2009
2011
 
2010
2012
  // src/Table/Table.tsx
2011
- var import_react60 = __toESM(require("react"));
2013
+ var import_react61 = __toESM(require("react"));
2012
2014
  var import_table9 = require("@react-aria/table");
2013
2015
  var import_table10 = require("@react-stately/table");
2014
- var import_system41 = require("@marigold/system");
2016
+ var import_system42 = require("@marigold/system");
2015
2017
 
2016
2018
  // src/Table/Context.tsx
2017
- var import_react51 = require("react");
2018
- var TableContext = (0, import_react51.createContext)({});
2019
- var useTableContext = () => (0, import_react51.useContext)(TableContext);
2019
+ var import_react52 = require("react");
2020
+ var TableContext = (0, import_react52.createContext)({});
2021
+ var useTableContext = () => (0, import_react52.useContext)(TableContext);
2020
2022
 
2021
2023
  // src/Table/TableBody.tsx
2022
- var import_react52 = __toESM(require("react"));
2024
+ var import_react53 = __toESM(require("react"));
2023
2025
  var import_table = require("@react-aria/table");
2024
2026
  var TableBody = ({ children }) => {
2025
2027
  const { rowGroupProps } = (0, import_table.useTableRowGroup)();
2026
- return /* @__PURE__ */ import_react52.default.createElement("tbody", __spreadValues({}, rowGroupProps), children);
2028
+ return /* @__PURE__ */ import_react53.default.createElement("tbody", __spreadValues({}, rowGroupProps), children);
2027
2029
  };
2028
2030
 
2029
2031
  // src/Table/TableCell.tsx
2030
- var import_react53 = __toESM(require("react"));
2032
+ var import_react54 = __toESM(require("react"));
2031
2033
  var import_table2 = require("@react-aria/table");
2032
2034
  var import_focus11 = require("@react-aria/focus");
2033
- var import_utils10 = require("@react-aria/utils");
2034
- var import_system36 = require("@marigold/system");
2035
+ var import_utils14 = require("@react-aria/utils");
2036
+ var import_system37 = require("@marigold/system");
2035
2037
  var TableCell = ({ cell }) => {
2036
- const ref = (0, import_react53.useRef)(null);
2038
+ const ref = (0, import_react54.useRef)(null);
2037
2039
  const { state, styles } = useTableContext();
2038
2040
  const disabled = state.disabledKeys.has(cell.parentKey);
2039
2041
  const { gridCellProps } = (0, import_table2.useTableCell)({
2040
2042
  node: cell
2041
2043
  }, state, ref);
2042
2044
  const { focusProps, isFocusVisible } = (0, import_focus11.useFocusRing)();
2043
- const stateProps = (0, import_system36.useStateProps)({ disabled, focusVisible: isFocusVisible });
2044
- return /* @__PURE__ */ import_react53.default.createElement(import_system36.Box, __spreadValues(__spreadValues({
2045
+ const stateProps = (0, import_system37.useStateProps)({ disabled, focusVisible: isFocusVisible });
2046
+ return /* @__PURE__ */ import_react54.default.createElement(import_system37.Box, __spreadValues(__spreadValues({
2045
2047
  as: "td",
2046
2048
  ref,
2047
2049
  css: styles.cell
2048
- }, (0, import_utils10.mergeProps)(gridCellProps, focusProps)), stateProps), cell.rendered);
2050
+ }, (0, import_utils14.mergeProps)(gridCellProps, focusProps)), stateProps), cell.rendered);
2049
2051
  };
2050
2052
 
2051
2053
  // src/Table/TableCheckboxCell.tsx
2052
- var import_react54 = __toESM(require("react"));
2054
+ var import_react55 = __toESM(require("react"));
2053
2055
  var import_table3 = require("@react-aria/table");
2054
2056
  var import_focus12 = require("@react-aria/focus");
2055
- var import_utils11 = require("@react-aria/utils");
2056
- var import_system37 = require("@marigold/system");
2057
+ var import_utils15 = require("@react-aria/utils");
2058
+ var import_system38 = require("@marigold/system");
2057
2059
 
2058
2060
  // src/Table/utils.ts
2059
2061
  var mapCheckboxProps = (_a) => {
@@ -2081,7 +2083,7 @@ var mapCheckboxProps = (_a) => {
2081
2083
 
2082
2084
  // src/Table/TableCheckboxCell.tsx
2083
2085
  var TableCheckboxCell = ({ cell }) => {
2084
- const ref = (0, import_react54.useRef)(null);
2086
+ const ref = (0, import_react55.useRef)(null);
2085
2087
  const { state, styles } = useTableContext();
2086
2088
  const disabled = state.disabledKeys.has(cell.parentKey);
2087
2089
  const { gridCellProps } = (0, import_table3.useTableCell)({
@@ -2089,8 +2091,8 @@ var TableCheckboxCell = ({ cell }) => {
2089
2091
  }, state, ref);
2090
2092
  const { checkboxProps } = mapCheckboxProps((0, import_table3.useTableSelectionCheckbox)({ key: cell.parentKey }, state));
2091
2093
  const { focusProps, isFocusVisible } = (0, import_focus12.useFocusRing)();
2092
- const stateProps = (0, import_system37.useStateProps)({ disabled, focusVisible: isFocusVisible });
2093
- return /* @__PURE__ */ import_react54.default.createElement(import_system37.Box, __spreadValues(__spreadValues({
2094
+ const stateProps = (0, import_system38.useStateProps)({ disabled, focusVisible: isFocusVisible });
2095
+ return /* @__PURE__ */ import_react55.default.createElement(import_system38.Box, __spreadValues(__spreadValues({
2094
2096
  as: "td",
2095
2097
  ref,
2096
2098
  __baseCSS: {
@@ -2099,65 +2101,82 @@ var TableCheckboxCell = ({ cell }) => {
2099
2101
  lineHeight: 1
2100
2102
  },
2101
2103
  css: styles.cell
2102
- }, (0, import_utils11.mergeProps)(gridCellProps, focusProps)), stateProps), /* @__PURE__ */ import_react54.default.createElement(Checkbox, __spreadValues({}, checkboxProps)));
2104
+ }, (0, import_utils15.mergeProps)(gridCellProps, focusProps)), stateProps), /* @__PURE__ */ import_react55.default.createElement(Checkbox, __spreadValues({}, checkboxProps)));
2103
2105
  };
2104
2106
 
2105
2107
  // src/Table/TableColumnHeader.tsx
2106
- var import_react55 = __toESM(require("react"));
2108
+ var import_react56 = __toESM(require("react"));
2107
2109
  var import_focus13 = require("@react-aria/focus");
2108
2110
  var import_interactions7 = require("@react-aria/interactions");
2109
2111
  var import_table4 = require("@react-aria/table");
2110
- var import_utils13 = require("@react-aria/utils");
2111
- var import_system38 = require("@marigold/system");
2112
+ var import_utils17 = require("@react-aria/utils");
2113
+ var import_system39 = require("@marigold/system");
2114
+ var SortIndicator = ({
2115
+ direction = "ascending",
2116
+ visible
2117
+ }) => /* @__PURE__ */ import_react56.default.createElement(import_system39.Box, {
2118
+ as: "span",
2119
+ role: "presentation",
2120
+ "aria-hidden": "true",
2121
+ css: {
2122
+ color: "currentColor",
2123
+ paddingInlineStart: "0.5ch",
2124
+ visibility: visible ? "visible" : "hidden"
2125
+ }
2126
+ }, direction === "ascending" ? "\u25B2" : "\u25BC");
2112
2127
  var TableColumnHeader = ({ column }) => {
2113
- const ref = (0, import_react55.useRef)(null);
2128
+ var _a, _b;
2129
+ const ref = (0, import_react56.useRef)(null);
2114
2130
  const { state, styles } = useTableContext();
2115
2131
  const { columnHeaderProps } = (0, import_table4.useTableColumnHeader)({
2116
2132
  node: column
2117
2133
  }, state, ref);
2118
2134
  const { hoverProps, isHovered } = (0, import_interactions7.useHover)({});
2119
2135
  const { focusProps, isFocusVisible } = (0, import_focus13.useFocusRing)();
2120
- const stateProps = (0, import_system38.useStateProps)({
2136
+ const stateProps = (0, import_system39.useStateProps)({
2121
2137
  hover: isHovered,
2122
2138
  focusVisible: isFocusVisible
2123
2139
  });
2124
- return /* @__PURE__ */ import_react55.default.createElement(import_system38.Box, __spreadValues(__spreadValues({
2140
+ return /* @__PURE__ */ import_react56.default.createElement(import_system39.Box, __spreadValues(__spreadValues({
2125
2141
  as: "th",
2126
2142
  colSpan: column.colspan,
2127
2143
  ref,
2128
2144
  css: styles.header
2129
- }, (0, import_utils13.mergeProps)(columnHeaderProps, hoverProps, focusProps)), stateProps), column.rendered);
2145
+ }, (0, import_utils17.mergeProps)(columnHeaderProps, hoverProps, focusProps)), stateProps), column.rendered, column.props.allowsSorting && /* @__PURE__ */ import_react56.default.createElement(SortIndicator, {
2146
+ direction: (_a = state.sortDescriptor) == null ? void 0 : _a.direction,
2147
+ visible: ((_b = state.sortDescriptor) == null ? void 0 : _b.column) === column.key
2148
+ }));
2130
2149
  };
2131
2150
 
2132
2151
  // src/Table/TableHeader.tsx
2133
- var import_react56 = __toESM(require("react"));
2152
+ var import_react57 = __toESM(require("react"));
2134
2153
  var import_table5 = require("@react-aria/table");
2135
2154
  var TableHeader = ({ children }) => {
2136
2155
  const { rowGroupProps } = (0, import_table5.useTableRowGroup)();
2137
- return /* @__PURE__ */ import_react56.default.createElement("thead", __spreadValues({}, rowGroupProps), children);
2156
+ return /* @__PURE__ */ import_react57.default.createElement("thead", __spreadValues({}, rowGroupProps), children);
2138
2157
  };
2139
2158
 
2140
2159
  // src/Table/TableHeaderRow.tsx
2141
- var import_react57 = __toESM(require("react"));
2160
+ var import_react58 = __toESM(require("react"));
2142
2161
  var import_table6 = require("@react-aria/table");
2143
2162
  var TableHeaderRow = ({ item, children }) => {
2144
2163
  const { state } = useTableContext();
2145
- const ref = (0, import_react57.useRef)(null);
2164
+ const ref = (0, import_react58.useRef)(null);
2146
2165
  const { rowProps } = (0, import_table6.useTableHeaderRow)({ node: item }, state, ref);
2147
- return /* @__PURE__ */ import_react57.default.createElement("tr", __spreadProps(__spreadValues({}, rowProps), {
2166
+ return /* @__PURE__ */ import_react58.default.createElement("tr", __spreadProps(__spreadValues({}, rowProps), {
2148
2167
  ref
2149
2168
  }), children);
2150
2169
  };
2151
2170
 
2152
2171
  // src/Table/TableRow.tsx
2153
- var import_react58 = __toESM(require("react"));
2172
+ var import_react59 = __toESM(require("react"));
2154
2173
  var import_focus14 = require("@react-aria/focus");
2155
2174
  var import_interactions8 = require("@react-aria/interactions");
2156
2175
  var import_table7 = require("@react-aria/table");
2157
- var import_utils14 = require("@react-aria/utils");
2158
- var import_system39 = require("@marigold/system");
2176
+ var import_utils18 = require("@react-aria/utils");
2177
+ var import_system40 = require("@marigold/system");
2159
2178
  var TableRow = ({ children, row }) => {
2160
- const ref = (0, import_react58.useRef)(null);
2179
+ const ref = (0, import_react59.useRef)(null);
2161
2180
  const { state, styles } = useTableContext();
2162
2181
  const { rowProps, isPressed } = (0, import_table7.useTableRow)({
2163
2182
  node: row
@@ -2166,29 +2185,29 @@ var TableRow = ({ children, row }) => {
2166
2185
  const selected = state.selectionManager.isSelected(row.key);
2167
2186
  const { focusProps, isFocusVisible } = (0, import_focus14.useFocusRing)({ within: true });
2168
2187
  const { hoverProps, isHovered } = (0, import_interactions8.useHover)({ isDisabled: disabled });
2169
- const stateProps = (0, import_system39.useStateProps)({
2188
+ const stateProps = (0, import_system40.useStateProps)({
2170
2189
  disabled,
2171
2190
  selected,
2172
2191
  hover: isHovered,
2173
2192
  focusVisible: isFocusVisible,
2174
2193
  active: isPressed
2175
2194
  });
2176
- return /* @__PURE__ */ import_react58.default.createElement(import_system39.Box, __spreadValues(__spreadValues({
2195
+ return /* @__PURE__ */ import_react59.default.createElement(import_system40.Box, __spreadValues(__spreadValues({
2177
2196
  as: "tr",
2178
2197
  ref,
2179
2198
  css: styles.row
2180
- }, (0, import_utils14.mergeProps)(rowProps, focusProps, hoverProps)), stateProps), children);
2199
+ }, (0, import_utils18.mergeProps)(rowProps, focusProps, hoverProps)), stateProps), children);
2181
2200
  };
2182
2201
 
2183
2202
  // src/Table/TableSelectAllCell.tsx
2184
- var import_react59 = __toESM(require("react"));
2203
+ var import_react60 = __toESM(require("react"));
2185
2204
  var import_focus15 = require("@react-aria/focus");
2186
2205
  var import_interactions9 = require("@react-aria/interactions");
2187
2206
  var import_table8 = require("@react-aria/table");
2188
- var import_utils15 = require("@react-aria/utils");
2189
- var import_system40 = require("@marigold/system");
2207
+ var import_utils19 = require("@react-aria/utils");
2208
+ var import_system41 = require("@marigold/system");
2190
2209
  var TableSelectAllCell = ({ column }) => {
2191
- const ref = (0, import_react59.useRef)(null);
2210
+ const ref = (0, import_react60.useRef)(null);
2192
2211
  const { state, styles } = useTableContext();
2193
2212
  const { columnHeaderProps } = (0, import_table8.useTableColumnHeader)({
2194
2213
  node: column
@@ -2196,11 +2215,11 @@ var TableSelectAllCell = ({ column }) => {
2196
2215
  const { checkboxProps } = mapCheckboxProps((0, import_table8.useTableSelectAllCheckbox)(state));
2197
2216
  const { hoverProps, isHovered } = (0, import_interactions9.useHover)({});
2198
2217
  const { focusProps, isFocusVisible } = (0, import_focus15.useFocusRing)();
2199
- const stateProps = (0, import_system40.useStateProps)({
2218
+ const stateProps = (0, import_system41.useStateProps)({
2200
2219
  hover: isHovered,
2201
2220
  focusVisible: isFocusVisible
2202
2221
  });
2203
- return /* @__PURE__ */ import_react59.default.createElement(import_system40.Box, __spreadValues(__spreadValues({
2222
+ return /* @__PURE__ */ import_react60.default.createElement(import_system41.Box, __spreadValues(__spreadValues({
2204
2223
  as: "th",
2205
2224
  ref,
2206
2225
  __baseCSS: {
@@ -2209,46 +2228,58 @@ var TableSelectAllCell = ({ column }) => {
2209
2228
  lineHeight: 1
2210
2229
  },
2211
2230
  css: styles.header
2212
- }, (0, import_utils15.mergeProps)(columnHeaderProps, hoverProps, focusProps)), stateProps), /* @__PURE__ */ import_react59.default.createElement(Checkbox, __spreadValues({}, checkboxProps)));
2231
+ }, (0, import_utils19.mergeProps)(columnHeaderProps, hoverProps, focusProps)), stateProps), /* @__PURE__ */ import_react60.default.createElement(Checkbox, __spreadValues({}, checkboxProps)));
2213
2232
  };
2214
2233
 
2215
2234
  // src/Table/Table.tsx
2216
2235
  var Table = (_a) => {
2217
- var _b = _a, { variant, size } = _b, props = __objRest(_b, ["variant", "size"]);
2218
- const tableRef = (0, import_react60.useRef)(null);
2236
+ var _b = _a, {
2237
+ variant,
2238
+ size,
2239
+ stretch
2240
+ } = _b, props = __objRest(_b, [
2241
+ "variant",
2242
+ "size",
2243
+ "stretch"
2244
+ ]);
2245
+ const tableRef = (0, import_react61.useRef)(null);
2219
2246
  const state = (0, import_table10.useTableState)(__spreadProps(__spreadValues({}, props), {
2220
2247
  showSelectionCheckboxes: props.selectionMode === "multiple" && props.selectionBehavior !== "replace"
2221
2248
  }));
2222
2249
  const { gridProps } = (0, import_table9.useTable)(props, state, tableRef);
2223
- const styles = (0, import_system41.useComponentStyles)("Table", { variant, size }, { parts: ["table", "header", "row", "cell"] });
2250
+ const styles = (0, import_system42.useComponentStyles)("Table", { variant, size }, { parts: ["table", "header", "row", "cell"] });
2224
2251
  const { collection } = state;
2225
- return /* @__PURE__ */ import_react60.default.createElement(TableContext.Provider, {
2252
+ return /* @__PURE__ */ import_react61.default.createElement(TableContext.Provider, {
2226
2253
  value: { state, styles }
2227
- }, /* @__PURE__ */ import_react60.default.createElement(import_system41.Box, __spreadValues({
2254
+ }, /* @__PURE__ */ import_react61.default.createElement(import_system42.Box, __spreadValues({
2228
2255
  as: "table",
2229
2256
  ref: tableRef,
2257
+ __baseCSS: {
2258
+ borderCollapse: "collapse",
2259
+ width: stretch ? "100%" : void 0
2260
+ },
2230
2261
  css: styles.table
2231
- }, gridProps), /* @__PURE__ */ import_react60.default.createElement(TableHeader, null, collection.headerRows.map((headerRow) => /* @__PURE__ */ import_react60.default.createElement(TableHeaderRow, {
2262
+ }, gridProps), /* @__PURE__ */ import_react61.default.createElement(TableHeader, null, collection.headerRows.map((headerRow) => /* @__PURE__ */ import_react61.default.createElement(TableHeaderRow, {
2232
2263
  key: headerRow.key,
2233
2264
  item: headerRow
2234
2265
  }, [...headerRow.childNodes].map((column) => {
2235
2266
  var _a2;
2236
- return ((_a2 = column.props) == null ? void 0 : _a2.isSelectionCell) ? /* @__PURE__ */ import_react60.default.createElement(TableSelectAllCell, {
2267
+ return ((_a2 = column.props) == null ? void 0 : _a2.isSelectionCell) ? /* @__PURE__ */ import_react61.default.createElement(TableSelectAllCell, {
2237
2268
  key: column.key,
2238
2269
  column
2239
- }) : /* @__PURE__ */ import_react60.default.createElement(TableColumnHeader, {
2270
+ }) : /* @__PURE__ */ import_react61.default.createElement(TableColumnHeader, {
2240
2271
  key: column.key,
2241
2272
  column
2242
2273
  });
2243
- })))), /* @__PURE__ */ import_react60.default.createElement(TableBody, null, [...collection.body.childNodes].map((row) => /* @__PURE__ */ import_react60.default.createElement(TableRow, {
2274
+ })))), /* @__PURE__ */ import_react61.default.createElement(TableBody, null, [...collection.body.childNodes].map((row) => /* @__PURE__ */ import_react61.default.createElement(TableRow, {
2244
2275
  key: row.key,
2245
2276
  row
2246
2277
  }, [...row.childNodes].map((cell) => {
2247
2278
  var _a2;
2248
- return ((_a2 = cell.props) == null ? void 0 : _a2.isSelectionCell) ? /* @__PURE__ */ import_react60.default.createElement(TableCheckboxCell, {
2279
+ return ((_a2 = cell.props) == null ? void 0 : _a2.isSelectionCell) ? /* @__PURE__ */ import_react61.default.createElement(TableCheckboxCell, {
2249
2280
  key: cell.key,
2250
2281
  cell
2251
- }) : /* @__PURE__ */ import_react60.default.createElement(TableCell, {
2282
+ }) : /* @__PURE__ */ import_react61.default.createElement(TableCell, {
2252
2283
  key: cell.key,
2253
2284
  cell
2254
2285
  });
@@ -2261,9 +2292,9 @@ Table.Header = import_table10.TableHeader;
2261
2292
  Table.Row = import_table10.Row;
2262
2293
 
2263
2294
  // src/Text/Text.tsx
2264
- var import_react61 = __toESM(require("react"));
2265
- var import_system42 = require("@marigold/system");
2295
+ var import_react62 = __toESM(require("react"));
2266
2296
  var import_system43 = require("@marigold/system");
2297
+ var import_system44 = require("@marigold/system");
2267
2298
  var Text = (_a) => {
2268
2299
  var _b = _a, {
2269
2300
  variant,
@@ -2284,11 +2315,11 @@ var Text = (_a) => {
2284
2315
  "outline",
2285
2316
  "children"
2286
2317
  ]);
2287
- const styles = (0, import_system42.useComponentStyles)("Text", {
2318
+ const styles = (0, import_system43.useComponentStyles)("Text", {
2288
2319
  variant,
2289
2320
  size
2290
2321
  });
2291
- return /* @__PURE__ */ import_react61.default.createElement(import_system43.Box, __spreadProps(__spreadValues({
2322
+ return /* @__PURE__ */ import_react62.default.createElement(import_system44.Box, __spreadProps(__spreadValues({
2292
2323
  as: "p"
2293
2324
  }, props), {
2294
2325
  css: __spreadValues({ color, cursor, outline, fontSize, textAlign: align }, styles)
@@ -2296,12 +2327,13 @@ var Text = (_a) => {
2296
2327
  };
2297
2328
 
2298
2329
  // src/TextArea/TextArea.tsx
2299
- var import_react62 = __toESM(require("react"));
2300
- var import_textfield = require("@react-aria/textfield");
2301
- var import_system44 = require("@marigold/system");
2330
+ var import_react63 = __toESM(require("react"));
2302
2331
  var import_interactions10 = require("@react-aria/interactions");
2303
2332
  var import_focus16 = require("@react-aria/focus");
2304
- var TextArea = (_a) => {
2333
+ var import_textfield = require("@react-aria/textfield");
2334
+ var import_utils21 = require("@react-aria/utils");
2335
+ var import_system45 = require("@marigold/system");
2336
+ var TextArea = (0, import_react63.forwardRef)((_a, ref) => {
2305
2337
  var _b = _a, {
2306
2338
  variant,
2307
2339
  size,
@@ -2322,25 +2354,25 @@ var TextArea = (_a) => {
2322
2354
  "rows"
2323
2355
  ]);
2324
2356
  const { label, description, errorMessage } = props;
2325
- const ref = (0, import_react62.useRef)(null);
2357
+ const textAreaRef = (0, import_utils21.useObjectRef)(ref);
2326
2358
  const { labelProps, inputProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(__spreadValues({
2327
2359
  inputElementType: "textarea",
2328
2360
  isDisabled: disabled,
2329
2361
  isRequired: required,
2330
2362
  isReadOnly: readOnly,
2331
2363
  validationState: error ? "invalid" : "valid"
2332
- }, props), ref);
2364
+ }, props), textAreaRef);
2333
2365
  const { hoverProps, isHovered } = (0, import_interactions10.useHover)({});
2334
2366
  const { focusProps, isFocusVisible } = (0, import_focus16.useFocusRing)();
2335
- const stateProps = (0, import_system44.useStateProps)({
2367
+ const stateProps = (0, import_system45.useStateProps)({
2336
2368
  hover: isHovered,
2337
2369
  focus: isFocusVisible,
2338
2370
  disabled,
2339
2371
  readOnly,
2340
2372
  error
2341
2373
  });
2342
- const styles = (0, import_system44.useComponentStyles)("TextArea", { variant, size });
2343
- return /* @__PURE__ */ import_react62.default.createElement(FieldBase, {
2374
+ const styles = (0, import_system45.useComponentStyles)("TextArea", { variant, size });
2375
+ return /* @__PURE__ */ import_react63.default.createElement(FieldBase, {
2344
2376
  label,
2345
2377
  labelProps,
2346
2378
  required,
@@ -2353,59 +2385,44 @@ var TextArea = (_a) => {
2353
2385
  variant,
2354
2386
  size,
2355
2387
  width
2356
- }, /* @__PURE__ */ import_react62.default.createElement(import_system44.Box, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2388
+ }, /* @__PURE__ */ import_react63.default.createElement(import_system45.Box, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2357
2389
  as: "textarea",
2358
2390
  css: styles,
2359
- ref,
2391
+ ref: textAreaRef,
2360
2392
  rows
2361
2393
  }, inputProps), focusProps), hoverProps), stateProps)));
2362
- };
2394
+ });
2363
2395
 
2364
2396
  // src/TextField/TextField.tsx
2365
- var import_react63 = __toESM(require("react"));
2397
+ var import_react64 = __toESM(require("react"));
2366
2398
  var import_interactions11 = require("@react-aria/interactions");
2367
2399
  var import_focus17 = require("@react-aria/focus");
2368
2400
  var import_textfield2 = require("@react-aria/textfield");
2369
- var import_system45 = require("@marigold/system");
2370
- var TextField = (_a) => {
2371
- var _b = _a, {
2372
- variant,
2373
- size,
2374
- width,
2375
- disabled,
2376
- required,
2377
- readOnly,
2378
- error
2379
- } = _b, props = __objRest(_b, [
2380
- "variant",
2381
- "size",
2382
- "width",
2383
- "disabled",
2384
- "required",
2385
- "readOnly",
2386
- "error"
2387
- ]);
2401
+ var import_utils22 = require("@react-aria/utils");
2402
+ var import_system46 = require("@marigold/system");
2403
+ var TextField = (0, import_react64.forwardRef)((_a, ref) => {
2404
+ var _b = _a, { variant, size, width, disabled, required, readOnly, error } = _b, props = __objRest(_b, ["variant", "size", "width", "disabled", "required", "readOnly", "error"]);
2388
2405
  const { label, description, errorMessage, autoFocus } = props;
2389
- const ref = (0, import_react63.useRef)(null);
2406
+ const inputRef = (0, import_utils22.useObjectRef)(ref);
2390
2407
  const { labelProps, inputProps, descriptionProps, errorMessageProps } = (0, import_textfield2.useTextField)(__spreadValues({
2391
2408
  isDisabled: disabled,
2392
2409
  isRequired: required,
2393
2410
  isReadOnly: readOnly,
2394
2411
  validationState: error ? "invalid" : "valid"
2395
- }, props), ref);
2412
+ }, props), inputRef);
2396
2413
  const { hoverProps, isHovered } = (0, import_interactions11.useHover)({});
2397
2414
  const { focusProps, isFocusVisible } = (0, import_focus17.useFocusRing)({
2398
2415
  isTextInput: true,
2399
2416
  autoFocus
2400
2417
  });
2401
- const stateProps = (0, import_system45.useStateProps)({
2418
+ const stateProps = (0, import_system46.useStateProps)({
2402
2419
  hover: isHovered,
2403
2420
  focus: isFocusVisible,
2404
2421
  disabled,
2405
2422
  readOnly,
2406
2423
  error
2407
2424
  });
2408
- return /* @__PURE__ */ import_react63.default.createElement(FieldBase, {
2425
+ return /* @__PURE__ */ import_react64.default.createElement(FieldBase, {
2409
2426
  label,
2410
2427
  labelProps,
2411
2428
  required,
@@ -2418,18 +2435,18 @@ var TextField = (_a) => {
2418
2435
  variant,
2419
2436
  size,
2420
2437
  width
2421
- }, /* @__PURE__ */ import_react63.default.createElement(Input, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2422
- ref,
2438
+ }, /* @__PURE__ */ import_react64.default.createElement(Input, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2439
+ ref: inputRef,
2423
2440
  variant,
2424
2441
  size
2425
2442
  }, inputProps), focusProps), hoverProps), stateProps)));
2426
- };
2443
+ });
2427
2444
 
2428
2445
  // src/Tiles/Tiles.tsx
2429
- var import_react64 = __toESM(require("react"));
2430
- var Tiles = import_react64.default.forwardRef((_a, ref) => {
2446
+ var import_react65 = __toESM(require("react"));
2447
+ var Tiles = import_react65.default.forwardRef((_a, ref) => {
2431
2448
  var _b = _a, { space = "none", itemMinWidth = "250px", children } = _b, props = __objRest(_b, ["space", "itemMinWidth", "children"]);
2432
- return /* @__PURE__ */ import_react64.default.createElement(import_system.Box, __spreadValues({
2449
+ return /* @__PURE__ */ import_react65.default.createElement(import_system.Box, __spreadValues({
2433
2450
  ref,
2434
2451
  display: "grid",
2435
2452
  __baseCSS: {
@@ -2440,17 +2457,17 @@ var Tiles = import_react64.default.forwardRef((_a, ref) => {
2440
2457
  });
2441
2458
 
2442
2459
  // src/Tooltip/Tooltip.tsx
2443
- var import_react67 = __toESM(require("react"));
2460
+ var import_react68 = __toESM(require("react"));
2444
2461
  var import_tooltip3 = require("@react-aria/tooltip");
2445
- var import_system46 = require("@marigold/system");
2462
+ var import_system47 = require("@marigold/system");
2446
2463
 
2447
2464
  // src/Tooltip/Context.ts
2448
- var import_react65 = require("react");
2449
- var TooltipContext = (0, import_react65.createContext)({});
2450
- var useTooltipContext = () => (0, import_react65.useContext)(TooltipContext);
2465
+ var import_react66 = require("react");
2466
+ var TooltipContext = (0, import_react66.createContext)({});
2467
+ var useTooltipContext = () => (0, import_react66.useContext)(TooltipContext);
2451
2468
 
2452
2469
  // src/Tooltip/TooltipTrigger.tsx
2453
- var import_react66 = __toESM(require("react"));
2470
+ var import_react67 = __toESM(require("react"));
2454
2471
  var import_focus18 = require("@react-aria/focus");
2455
2472
  var import_overlays9 = require("@react-aria/overlays");
2456
2473
  var import_tooltip = require("@react-aria/tooltip");
@@ -2469,15 +2486,15 @@ var TooltipTrigger = (_a) => {
2469
2486
  "placement",
2470
2487
  "children"
2471
2488
  ]);
2472
- const [tooltipTrigger, tooltip] = import_react66.default.Children.toArray(children);
2489
+ const [tooltipTrigger, tooltip] = import_react67.default.Children.toArray(children);
2473
2490
  const props = __spreadProps(__spreadValues({}, rest), {
2474
2491
  isDisabled: disabled,
2475
2492
  isOpen: open,
2476
2493
  delay,
2477
2494
  placement
2478
2495
  });
2479
- const tooltipTriggerRef = (0, import_react66.useRef)(null);
2480
- const overlayRef = (0, import_react66.useRef)(null);
2496
+ const tooltipTriggerRef = (0, import_react67.useRef)(null);
2497
+ const overlayRef = (0, import_react67.useRef)(null);
2481
2498
  const state = (0, import_tooltip2.useTooltipTriggerState)(props);
2482
2499
  const { triggerProps, tooltipProps } = (0, import_tooltip.useTooltipTrigger)(props, state, tooltipTriggerRef);
2483
2500
  const {
@@ -2492,16 +2509,16 @@ var TooltipTrigger = (_a) => {
2492
2509
  isOpen: state.isOpen,
2493
2510
  overlayRef
2494
2511
  });
2495
- return /* @__PURE__ */ import_react66.default.createElement(import_focus18.FocusableProvider, __spreadValues({
2512
+ return /* @__PURE__ */ import_react67.default.createElement(import_focus18.FocusableProvider, __spreadValues({
2496
2513
  ref: tooltipTriggerRef
2497
- }, triggerProps), tooltipTrigger, /* @__PURE__ */ import_react66.default.createElement(TooltipContext.Provider, {
2514
+ }, triggerProps), tooltipTrigger, /* @__PURE__ */ import_react67.default.createElement(TooltipContext.Provider, {
2498
2515
  value: __spreadValues(__spreadValues({
2499
2516
  state,
2500
2517
  overlayRef,
2501
2518
  arrowProps,
2502
2519
  placement: overlayPlacement
2503
2520
  }, tooltipProps), positionProps)
2504
- }, /* @__PURE__ */ import_react66.default.createElement(Overlay, {
2521
+ }, /* @__PURE__ */ import_react67.default.createElement(Overlay, {
2505
2522
  open: state.isOpen
2506
2523
  }, tooltip)));
2507
2524
  };
@@ -2510,12 +2527,12 @@ var TooltipTrigger = (_a) => {
2510
2527
  var Tooltip = ({ children, variant, size }) => {
2511
2528
  const _a = useTooltipContext(), { arrowProps, state, overlayRef, placement } = _a, rest = __objRest(_a, ["arrowProps", "state", "overlayRef", "placement"]);
2512
2529
  const { tooltipProps } = (0, import_tooltip3.useTooltip)({}, state);
2513
- const styles = (0, import_system46.useComponentStyles)("Tooltip", { variant, size }, { parts: ["container", "arrow"] });
2514
- return /* @__PURE__ */ import_react67.default.createElement(import_system46.Box, __spreadProps(__spreadValues(__spreadValues({}, tooltipProps), rest), {
2530
+ const styles = (0, import_system47.useComponentStyles)("Tooltip", { variant, size }, { parts: ["container", "arrow"] });
2531
+ return /* @__PURE__ */ import_react68.default.createElement(import_system47.Box, __spreadProps(__spreadValues(__spreadValues({}, tooltipProps), rest), {
2515
2532
  ref: overlayRef,
2516
2533
  css: styles.container,
2517
2534
  "data-placement": placement
2518
- }), /* @__PURE__ */ import_react67.default.createElement("div", null, children), /* @__PURE__ */ import_react67.default.createElement(import_system46.Box, __spreadProps(__spreadValues({}, arrowProps), {
2535
+ }), /* @__PURE__ */ import_react68.default.createElement("div", null, children), /* @__PURE__ */ import_react68.default.createElement(import_system47.Box, __spreadProps(__spreadValues({}, arrowProps), {
2519
2536
  __baseCSS: {
2520
2537
  position: "absolute",
2521
2538
  height: 0,
@@ -2565,6 +2582,7 @@ Tooltip.Trigger = TooltipTrigger;
2565
2582
  SSRProvider,
2566
2583
  Select,
2567
2584
  Slider,
2585
+ Split,
2568
2586
  Stack,
2569
2587
  Switch,
2570
2588
  Table,