@marigold/components 1.0.0-beta.0 → 1.0.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
@@ -94,8 +94,6 @@ __export(src_exports, {
94
94
  ThemeProvider: () => import_system26.ThemeProvider,
95
95
  Tiles: () => Tiles,
96
96
  Tooltip: () => Tooltip,
97
- TooltipContext: () => TooltipContext,
98
- TooltipTrigger: () => TooltipTrigger,
99
97
  Underlay: () => Underlay,
100
98
  VisuallyHidden: () => import_visually_hidden.VisuallyHidden,
101
99
  useCheckboxGroupContext: () => useCheckboxGroupContext,
@@ -397,7 +395,6 @@ var IndeterminateMark = () => /* @__PURE__ */ import_react10.default.createEleme
397
395
  }));
398
396
  var Icon = (_a) => {
399
397
  var _b = _a, { css, checked, indeterminate } = _b, props = __objRest(_b, ["css", "checked", "indeterminate"]);
400
- const icon = indeterminate ? /* @__PURE__ */ import_react10.default.createElement(IndeterminateMark, null) : /* @__PURE__ */ import_react10.default.createElement(CheckMark, null);
401
398
  return /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues({
402
399
  "aria-hidden": "true",
403
400
  __baseCSS: {
@@ -412,7 +409,7 @@ var Icon = (_a) => {
412
409
  p: 1
413
410
  },
414
411
  css
415
- }, props), checked ? icon : null);
412
+ }, props), indeterminate ? /* @__PURE__ */ import_react10.default.createElement(IndeterminateMark, null) : checked ? /* @__PURE__ */ import_react10.default.createElement(CheckMark, null) : null);
416
413
  };
417
414
  var Checkbox = (_a) => {
418
415
  var _b = _a, {
@@ -492,7 +489,7 @@ var Checkbox = (_a) => {
492
489
  checked: inputProps.checked,
493
490
  indeterminate,
494
491
  css: styles.checkbox
495
- }, stateProps)), /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues({
492
+ }, stateProps)), props.children && /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues({
496
493
  css: styles.label
497
494
  }, stateProps), props.children));
498
495
  };
@@ -868,7 +865,7 @@ var Divider = (_a) => {
868
865
  var _b = _a, { variant } = _b, props = __objRest(_b, ["variant"]);
869
866
  const { separatorProps } = (0, import_separator.useSeparator)(props);
870
867
  const styles = (0, import_system13.useComponentStyles)("Divider", { variant });
871
- return /* @__PURE__ */ import_react23.default.createElement(import_system.Box, __spreadValues(__spreadValues({
868
+ return /* @__PURE__ */ import_react23.default.createElement(import_system13.Box, __spreadValues(__spreadValues({
872
869
  css: styles
873
870
  }, props), separatorProps));
874
871
  };
@@ -900,7 +897,12 @@ var Image = (_a) => {
900
897
 
901
898
  // src/Inline/Inline.tsx
902
899
  var import_react26 = __toESM(require("react"));
903
- var ALIGNMENT2 = {
900
+ var ALIGNMENT_X = {
901
+ left: "flex-start",
902
+ center: "center",
903
+ right: "flex-end"
904
+ };
905
+ var ALIGNMENT_Y = {
904
906
  top: "flex-start",
905
907
  center: "center",
906
908
  bottom: "flex-end"
@@ -908,17 +910,23 @@ var ALIGNMENT2 = {
908
910
  var Inline = (_a) => {
909
911
  var _b = _a, {
910
912
  space = "none",
911
- align = "center",
913
+ alignX = "left",
914
+ alignY = "center",
912
915
  children
913
916
  } = _b, props = __objRest(_b, [
914
917
  "space",
915
- "align",
918
+ "alignX",
919
+ "alignY",
916
920
  "children"
917
921
  ]);
918
922
  return /* @__PURE__ */ import_react26.default.createElement(import_system.Box, __spreadValues({
919
- __baseCSS: { gap: space, flexWrap: "wrap" },
920
- display: "inline-flex",
921
- alignItems: ALIGNMENT2[align]
923
+ css: {
924
+ display: "flex",
925
+ flexWrap: "wrap",
926
+ gap: space,
927
+ alignItems: ALIGNMENT_Y[alignY],
928
+ justifyContent: ALIGNMENT_X[alignX]
929
+ }
922
930
  }, props), children);
923
931
  };
924
932
 
@@ -1177,9 +1185,10 @@ var HelpText = (_a) => {
1177
1185
 
1178
1186
  // src/FieldBase/FieldBase.tsx
1179
1187
  var FieldBase = ({
1188
+ children,
1180
1189
  variant,
1181
1190
  size,
1182
- children,
1191
+ width = "100%",
1183
1192
  disabled,
1184
1193
  required,
1185
1194
  label,
@@ -1193,7 +1202,7 @@ var FieldBase = ({
1193
1202
  }) => {
1194
1203
  const hasHelpText = !!description || errorMessage && error;
1195
1204
  return /* @__PURE__ */ import_react35.default.createElement(import_system22.Box, {
1196
- css: { display: "flex", flexDirection: "column", width: "100%" }
1205
+ css: { display: "flex", flexDirection: "column", width }
1197
1206
  }, label && /* @__PURE__ */ import_react35.default.createElement(Label, __spreadValues(__spreadValues({
1198
1207
  required,
1199
1208
  variant,
@@ -1261,20 +1270,22 @@ var StepButton = (_a) => {
1261
1270
  // src/NumberField/NumberField.tsx
1262
1271
  var NumberField = (0, import_react37.forwardRef)((_a, ref) => {
1263
1272
  var _b = _a, {
1273
+ variant,
1274
+ size,
1275
+ width,
1264
1276
  disabled,
1265
1277
  required,
1266
1278
  readOnly,
1267
1279
  error,
1268
- variant,
1269
- size,
1270
1280
  hideStepper
1271
1281
  } = _b, rest = __objRest(_b, [
1282
+ "variant",
1283
+ "size",
1284
+ "width",
1272
1285
  "disabled",
1273
1286
  "required",
1274
1287
  "readOnly",
1275
1288
  "error",
1276
- "variant",
1277
- "size",
1278
1289
  "hideStepper"
1279
1290
  ]);
1280
1291
  const props = __spreadValues({
@@ -1321,7 +1332,8 @@ var NumberField = (0, import_react37.forwardRef)((_a, ref) => {
1321
1332
  errorMessageProps,
1322
1333
  stateProps,
1323
1334
  variant,
1324
- size
1335
+ size,
1336
+ width
1325
1337
  }, /* @__PURE__ */ import_react37.default.createElement(import_system24.Box, __spreadValues(__spreadValues({
1326
1338
  "data-group": true,
1327
1339
  __baseCSS: {
@@ -1365,23 +1377,29 @@ function MarigoldProvider({
1365
1377
  }
1366
1378
 
1367
1379
  // src/Radio/Radio.tsx
1368
- var import_react40 = __toESM(require("react"));
1380
+ var import_react41 = __toESM(require("react"));
1381
+ var import_interactions6 = require("@react-aria/interactions");
1382
+ var import_focus7 = require("@react-aria/focus");
1369
1383
  var import_radio3 = require("@react-aria/radio");
1370
1384
  var import_system28 = require("@marigold/system");
1371
1385
 
1386
+ // src/Radio/Context.ts
1387
+ var import_react39 = require("react");
1388
+ var RadioGroupContext = (0, import_react39.createContext)(null);
1389
+ var useRadioGroupContext = () => (0, import_react39.useContext)(RadioGroupContext);
1390
+
1372
1391
  // src/Radio/RadioGroup.tsx
1373
- var import_react39 = __toESM(require("react"));
1392
+ var import_react40 = __toESM(require("react"));
1374
1393
  var import_radio = require("@react-aria/radio");
1375
1394
  var import_radio2 = require("@react-stately/radio");
1376
1395
  var import_system27 = require("@marigold/system");
1377
- var RadioGroupContext = import_react39.default.createContext(null);
1378
- var useRadioGroupContext = () => (0, import_react39.useContext)(RadioGroupContext);
1379
1396
  var RadioGroup = (_a) => {
1380
1397
  var _b = _a, {
1381
1398
  children,
1382
1399
  orientation = "vertical",
1383
1400
  size,
1384
1401
  variant,
1402
+ width,
1385
1403
  required,
1386
1404
  disabled,
1387
1405
  readOnly,
@@ -1391,6 +1409,7 @@ var RadioGroup = (_a) => {
1391
1409
  "orientation",
1392
1410
  "size",
1393
1411
  "variant",
1412
+ "width",
1394
1413
  "required",
1395
1414
  "disabled",
1396
1415
  "readOnly",
@@ -1405,12 +1424,12 @@ var RadioGroup = (_a) => {
1405
1424
  const state = (0, import_radio2.useRadioGroupState)(props);
1406
1425
  const { radioGroupProps, labelProps } = (0, import_radio.useRadioGroup)(props, state);
1407
1426
  const styles = (0, import_system27.useComponentStyles)("RadioGroup", { variant, size }, { parts: ["container", "group"] });
1408
- return /* @__PURE__ */ import_react39.default.createElement(import_system27.Box, __spreadProps(__spreadValues({}, radioGroupProps), {
1427
+ return /* @__PURE__ */ import_react40.default.createElement(import_system27.Box, __spreadProps(__spreadValues({}, radioGroupProps), {
1409
1428
  css: styles.container
1410
- }), props.label && /* @__PURE__ */ import_react39.default.createElement(Label, __spreadValues({
1429
+ }), props.label && /* @__PURE__ */ import_react40.default.createElement(Label, __spreadValues({
1411
1430
  as: "span",
1412
1431
  required
1413
- }, labelProps), props.label), /* @__PURE__ */ import_react39.default.createElement(import_system27.Box, {
1432
+ }, labelProps), props.label), /* @__PURE__ */ import_react40.default.createElement(import_system27.Box, {
1414
1433
  role: "presentation",
1415
1434
  "data-orientation": orientation,
1416
1435
  __baseCSS: {
@@ -1420,17 +1439,15 @@ var RadioGroup = (_a) => {
1420
1439
  gap: orientation === "vertical" ? "0.5ch" : "1.5ch"
1421
1440
  },
1422
1441
  css: styles.group
1423
- }, /* @__PURE__ */ import_react39.default.createElement(RadioGroupContext.Provider, {
1424
- value: __spreadValues({ variant, size, error }, state)
1442
+ }, /* @__PURE__ */ import_react40.default.createElement(RadioGroupContext.Provider, {
1443
+ value: __spreadValues({ variant, size, width, error }, state)
1425
1444
  }, children)));
1426
1445
  };
1427
1446
 
1428
1447
  // src/Radio/Radio.tsx
1429
- var import_interactions6 = require("@react-aria/interactions");
1430
- var import_focus7 = require("@react-aria/focus");
1431
- var Dot = () => /* @__PURE__ */ import_react40.default.createElement("svg", {
1448
+ var Dot = () => /* @__PURE__ */ import_react41.default.createElement("svg", {
1432
1449
  viewBox: "0 0 6 6"
1433
- }, /* @__PURE__ */ import_react40.default.createElement("circle", {
1450
+ }, /* @__PURE__ */ import_react41.default.createElement("circle", {
1434
1451
  fill: "currentColor",
1435
1452
  cx: "3",
1436
1453
  cy: "3",
@@ -1438,7 +1455,7 @@ var Dot = () => /* @__PURE__ */ import_react40.default.createElement("svg", {
1438
1455
  }));
1439
1456
  var Icon2 = (_a) => {
1440
1457
  var _b = _a, { checked, css } = _b, props = __objRest(_b, ["checked", "css"]);
1441
- return /* @__PURE__ */ import_react40.default.createElement(import_system28.Box, __spreadValues({
1458
+ return /* @__PURE__ */ import_react41.default.createElement(import_system28.Box, __spreadValues({
1442
1459
  "aria-hidden": "true",
1443
1460
  __baseCSS: {
1444
1461
  width: 16,
@@ -1452,12 +1469,22 @@ var Icon2 = (_a) => {
1452
1469
  p: 4
1453
1470
  },
1454
1471
  css
1455
- }, props), checked ? /* @__PURE__ */ import_react40.default.createElement(Dot, null) : null);
1472
+ }, props), checked ? /* @__PURE__ */ import_react41.default.createElement(Dot, null) : null);
1456
1473
  };
1457
1474
  var Radio = (_a) => {
1458
- var _b = _a, { disabled } = _b, props = __objRest(_b, ["disabled"]);
1459
- const _a2 = useRadioGroupContext(), { variant, size, error } = _a2, state = __objRest(_a2, ["variant", "size", "error"]);
1460
- const ref = (0, import_react40.useRef)(null);
1475
+ var _b = _a, { width, disabled } = _b, props = __objRest(_b, ["width", "disabled"]);
1476
+ const _a2 = useRadioGroupContext(), {
1477
+ variant,
1478
+ size,
1479
+ error,
1480
+ width: groupWidth
1481
+ } = _a2, state = __objRest(_a2, [
1482
+ "variant",
1483
+ "size",
1484
+ "error",
1485
+ "width"
1486
+ ]);
1487
+ const ref = (0, import_react41.useRef)(null);
1461
1488
  const { inputProps } = (0, import_radio3.useRadio)(__spreadValues({ isDisabled: disabled }, props), state, ref);
1462
1489
  const styles = (0, import_system28.useComponentStyles)("Radio", { variant: variant || props.variant, size: size || props.size }, { parts: ["container", "label", "radio"] });
1463
1490
  const { hoverProps, isHovered } = (0, import_interactions6.useHover)({});
@@ -1470,16 +1497,17 @@ var Radio = (_a) => {
1470
1497
  readOnly: props.readOnly,
1471
1498
  error
1472
1499
  });
1473
- return /* @__PURE__ */ import_react40.default.createElement(import_system28.Box, __spreadValues(__spreadValues({
1500
+ return /* @__PURE__ */ import_react41.default.createElement(import_system28.Box, __spreadValues(__spreadValues({
1474
1501
  as: "label",
1475
1502
  __baseCSS: {
1476
1503
  display: "flex",
1477
1504
  alignItems: "center",
1478
1505
  gap: "1ch",
1479
- position: "relative"
1506
+ position: "relative",
1507
+ width: width || groupWidth || "100%"
1480
1508
  },
1481
1509
  css: styles.container
1482
- }, hoverProps), stateProps), /* @__PURE__ */ import_react40.default.createElement(import_system28.Box, __spreadValues(__spreadValues({
1510
+ }, hoverProps), stateProps), /* @__PURE__ */ import_react41.default.createElement(import_system28.Box, __spreadValues(__spreadValues({
1483
1511
  as: "input",
1484
1512
  ref,
1485
1513
  css: {
@@ -1492,17 +1520,17 @@ var Radio = (_a) => {
1492
1520
  opacity: 1e-4,
1493
1521
  cursor: inputProps.disabled ? "not-allowed" : "pointer"
1494
1522
  }
1495
- }, inputProps), focusProps)), /* @__PURE__ */ import_react40.default.createElement(Icon2, __spreadValues({
1523
+ }, inputProps), focusProps)), /* @__PURE__ */ import_react41.default.createElement(Icon2, __spreadValues({
1496
1524
  checked: inputProps.checked,
1497
1525
  css: styles.radio
1498
- }, stateProps)), /* @__PURE__ */ import_react40.default.createElement(import_system28.Box, __spreadValues({
1526
+ }, stateProps)), /* @__PURE__ */ import_react41.default.createElement(import_system28.Box, __spreadValues({
1499
1527
  css: styles.label
1500
1528
  }, stateProps), props.children));
1501
1529
  };
1502
1530
  Radio.Group = RadioGroup;
1503
1531
 
1504
1532
  // src/Select/Select.tsx
1505
- var import_react45 = __toESM(require("react"));
1533
+ var import_react46 = __toESM(require("react"));
1506
1534
  var import_button4 = require("@react-aria/button");
1507
1535
  var import_focus8 = require("@react-aria/focus");
1508
1536
  var import_i18n2 = require("@react-aria/i18n");
@@ -1514,27 +1542,27 @@ var import_utils8 = require("@react-aria/utils");
1514
1542
  var import_system32 = require("@marigold/system");
1515
1543
 
1516
1544
  // src/ListBox/ListBox.tsx
1517
- var import_react44 = __toESM(require("react"));
1545
+ var import_react45 = __toESM(require("react"));
1518
1546
  var import_utils7 = require("@react-aria/utils");
1519
1547
  var import_system31 = require("@marigold/system");
1520
1548
  var import_listbox3 = require("@react-aria/listbox");
1521
1549
 
1522
1550
  // src/ListBox/Context.ts
1523
- var import_react41 = require("react");
1524
- var ListBoxContext = (0, import_react41.createContext)({});
1525
- var useListBoxContext = () => (0, import_react41.useContext)(ListBoxContext);
1551
+ var import_react42 = require("react");
1552
+ var ListBoxContext = (0, import_react42.createContext)({});
1553
+ var useListBoxContext = () => (0, import_react42.useContext)(ListBoxContext);
1526
1554
 
1527
1555
  // src/ListBox/ListBoxSection.tsx
1528
- var import_react43 = __toESM(require("react"));
1556
+ var import_react44 = __toESM(require("react"));
1529
1557
  var import_listbox2 = require("@react-aria/listbox");
1530
1558
  var import_system30 = require("@marigold/system");
1531
1559
 
1532
1560
  // src/ListBox/ListBoxOption.tsx
1533
- var import_react42 = __toESM(require("react"));
1561
+ var import_react43 = __toESM(require("react"));
1534
1562
  var import_listbox = require("@react-aria/listbox");
1535
1563
  var import_system29 = require("@marigold/system");
1536
1564
  var ListBoxOption = ({ item, state }) => {
1537
- const ref = (0, import_react42.useRef)(null);
1565
+ const ref = (0, import_react43.useRef)(null);
1538
1566
  const { optionProps, isSelected, isDisabled, isFocused } = (0, import_listbox.useOption)({
1539
1567
  key: item.key
1540
1568
  }, state, ref);
@@ -1544,7 +1572,7 @@ var ListBoxOption = ({ item, state }) => {
1544
1572
  disabled: isDisabled,
1545
1573
  focusVisible: isFocused
1546
1574
  });
1547
- return /* @__PURE__ */ import_react42.default.createElement(import_system29.Box, __spreadValues(__spreadValues({
1575
+ return /* @__PURE__ */ import_react43.default.createElement(import_system29.Box, __spreadValues(__spreadValues({
1548
1576
  as: "li",
1549
1577
  ref,
1550
1578
  css: styles.option
@@ -1558,16 +1586,16 @@ var ListBoxSection = ({ section, state }) => {
1558
1586
  "aria-label": section["aria-label"]
1559
1587
  });
1560
1588
  const { styles } = useListBoxContext();
1561
- return /* @__PURE__ */ import_react43.default.createElement(import_system30.Box, __spreadValues({
1589
+ return /* @__PURE__ */ import_react44.default.createElement(import_system30.Box, __spreadValues({
1562
1590
  as: "li",
1563
1591
  css: styles.section
1564
- }, itemProps), section.rendered && /* @__PURE__ */ import_react43.default.createElement(import_system30.Box, __spreadValues({
1592
+ }, itemProps), section.rendered && /* @__PURE__ */ import_react44.default.createElement(import_system30.Box, __spreadValues({
1565
1593
  css: styles.sectionTitle
1566
- }, headingProps), section.rendered), /* @__PURE__ */ import_react43.default.createElement(import_system30.Box, __spreadValues({
1594
+ }, headingProps), section.rendered), /* @__PURE__ */ import_react44.default.createElement(import_system30.Box, __spreadValues({
1567
1595
  as: "ul",
1568
1596
  __baseCSS: { listStyle: "none", p: 0 },
1569
1597
  css: styles.list
1570
- }, groupProps), [...section.childNodes].map((node) => /* @__PURE__ */ import_react43.default.createElement(ListBoxOption, {
1598
+ }, groupProps), [...section.childNodes].map((node) => /* @__PURE__ */ import_react44.default.createElement(ListBoxOption, {
1571
1599
  key: node.key,
1572
1600
  item: node,
1573
1601
  state
@@ -1575,25 +1603,25 @@ var ListBoxSection = ({ section, state }) => {
1575
1603
  };
1576
1604
 
1577
1605
  // src/ListBox/ListBox.tsx
1578
- var ListBox = (0, import_react44.forwardRef)((_a, ref) => {
1606
+ var ListBox = (0, import_react45.forwardRef)((_a, ref) => {
1579
1607
  var _b = _a, { state, variant, size } = _b, props = __objRest(_b, ["state", "variant", "size"]);
1580
1608
  const innerRef = (0, import_utils7.useObjectRef)(ref);
1581
1609
  const { listBoxProps } = (0, import_listbox3.useListBox)(props, state, innerRef);
1582
1610
  const styles = (0, import_system31.useComponentStyles)("ListBox", { variant, size }, { parts: ["container", "list", "option", "section", "sectionTitle"] });
1583
- return /* @__PURE__ */ import_react44.default.createElement(ListBoxContext.Provider, {
1611
+ return /* @__PURE__ */ import_react45.default.createElement(ListBoxContext.Provider, {
1584
1612
  value: { styles }
1585
- }, /* @__PURE__ */ import_react44.default.createElement(import_system31.Box, {
1613
+ }, /* @__PURE__ */ import_react45.default.createElement(import_system31.Box, {
1586
1614
  css: styles.container
1587
- }, /* @__PURE__ */ import_react44.default.createElement(import_system31.Box, __spreadValues({
1615
+ }, /* @__PURE__ */ import_react45.default.createElement(import_system31.Box, __spreadValues({
1588
1616
  as: "ul",
1589
1617
  ref: innerRef,
1590
1618
  __baseCSS: { listStyle: "none", p: 0 },
1591
1619
  css: styles.list
1592
- }, listBoxProps), [...state.collection].map((item) => item.type === "section" ? /* @__PURE__ */ import_react44.default.createElement(ListBoxSection, {
1620
+ }, listBoxProps), [...state.collection].map((item) => item.type === "section" ? /* @__PURE__ */ import_react45.default.createElement(ListBoxSection, {
1593
1621
  key: item.key,
1594
1622
  section: item,
1595
1623
  state
1596
- }) : /* @__PURE__ */ import_react44.default.createElement(ListBoxOption, {
1624
+ }) : /* @__PURE__ */ import_react45.default.createElement(ListBoxOption, {
1597
1625
  key: item.key,
1598
1626
  item,
1599
1627
  state
@@ -1611,7 +1639,7 @@ var messages = {
1611
1639
  };
1612
1640
 
1613
1641
  // src/Select/Select.tsx
1614
- var Chevron = ({ css }) => /* @__PURE__ */ import_react45.default.createElement(import_system32.Box, {
1642
+ var Chevron = ({ css }) => /* @__PURE__ */ import_react46.default.createElement(import_system32.Box, {
1615
1643
  as: "svg",
1616
1644
  __baseCSS: { width: 16, height: 16 },
1617
1645
  css,
@@ -1619,28 +1647,28 @@ var Chevron = ({ css }) => /* @__PURE__ */ import_react45.default.createElement(
1619
1647
  viewBox: "0 0 24 24",
1620
1648
  stroke: "currentColor",
1621
1649
  strokeWidth: 2
1622
- }, /* @__PURE__ */ import_react45.default.createElement("path", {
1650
+ }, /* @__PURE__ */ import_react46.default.createElement("path", {
1623
1651
  strokeLinecap: "round",
1624
1652
  strokeLinejoin: "round",
1625
1653
  d: "M19 9l-7 7-7-7"
1626
1654
  }));
1627
1655
  var Select = (_a) => {
1628
1656
  var _b = _a, {
1657
+ variant,
1658
+ size,
1659
+ width,
1629
1660
  open,
1630
1661
  disabled,
1631
1662
  required,
1632
- error,
1633
- variant,
1634
- size,
1635
- css
1663
+ error
1636
1664
  } = _b, rest = __objRest(_b, [
1665
+ "variant",
1666
+ "size",
1667
+ "width",
1637
1668
  "open",
1638
1669
  "disabled",
1639
1670
  "required",
1640
- "error",
1641
- "variant",
1642
- "size",
1643
- "css"
1671
+ "error"
1644
1672
  ]);
1645
1673
  const formatMessage = (0, import_i18n2.useMessageFormatter)(messages);
1646
1674
  const props = __spreadValues({
@@ -1651,7 +1679,7 @@ var Select = (_a) => {
1651
1679
  placeholder: rest.placeholder || formatMessage("placeholder")
1652
1680
  }, rest);
1653
1681
  const state = (0, import_select2.useSelectState)(props);
1654
- const buttonRef = (0, import_react45.useRef)(null);
1682
+ const buttonRef = (0, import_react46.useRef)(null);
1655
1683
  const {
1656
1684
  labelProps,
1657
1685
  triggerProps,
@@ -1662,7 +1690,7 @@ var Select = (_a) => {
1662
1690
  } = (0, import_select.useSelect)(props, state, buttonRef);
1663
1691
  const { buttonProps } = (0, import_button4.useButton)(__spreadValues({ isDisabled: disabled }, triggerProps), buttonRef);
1664
1692
  const { focusProps, isFocusVisible } = (0, import_focus8.useFocusRing)();
1665
- const overlayRef = (0, import_react45.useRef)(null);
1693
+ const overlayRef = (0, import_react46.useRef)(null);
1666
1694
  const { overlayProps: positionProps } = (0, import_overlays8.useOverlayPosition)({
1667
1695
  targetRef: buttonRef,
1668
1696
  overlayRef,
@@ -1676,9 +1704,10 @@ var Select = (_a) => {
1676
1704
  focusVisible: isFocusVisible,
1677
1705
  expanded: state.isOpen
1678
1706
  });
1679
- return /* @__PURE__ */ import_react45.default.createElement(FieldBase, {
1707
+ return /* @__PURE__ */ import_react46.default.createElement(FieldBase, {
1680
1708
  variant,
1681
1709
  size,
1710
+ width,
1682
1711
  label: props.label,
1683
1712
  labelProps: __spreadValues({ as: "span" }, labelProps),
1684
1713
  description: props.description,
@@ -1689,13 +1718,13 @@ var Select = (_a) => {
1689
1718
  stateProps,
1690
1719
  disabled,
1691
1720
  required
1692
- }, /* @__PURE__ */ import_react45.default.createElement(import_select.HiddenSelect, {
1721
+ }, /* @__PURE__ */ import_react46.default.createElement(import_select.HiddenSelect, {
1693
1722
  state,
1694
1723
  triggerRef: buttonRef,
1695
1724
  label: props.label,
1696
1725
  name: props.name,
1697
1726
  isDisabled: disabled
1698
- }), /* @__PURE__ */ import_react45.default.createElement(import_system32.Box, __spreadValues(__spreadValues({
1727
+ }), /* @__PURE__ */ import_react46.default.createElement(import_system32.Box, __spreadValues(__spreadValues({
1699
1728
  as: "button",
1700
1729
  __baseCSS: {
1701
1730
  display: "flex",
@@ -1706,29 +1735,29 @@ var Select = (_a) => {
1706
1735
  },
1707
1736
  css: styles.button,
1708
1737
  ref: buttonRef
1709
- }, (0, import_utils8.mergeProps)(buttonProps, focusProps)), stateProps), /* @__PURE__ */ import_react45.default.createElement(import_system32.Box, __spreadValues({
1738
+ }, (0, import_utils8.mergeProps)(buttonProps, focusProps)), stateProps), /* @__PURE__ */ import_react46.default.createElement(import_system32.Box, __spreadValues({
1710
1739
  css: {
1711
1740
  overflow: "hidden",
1712
1741
  whiteSpace: "nowrap"
1713
1742
  }
1714
- }, valueProps), state.selectedItem ? state.selectedItem.rendered : props.placeholder), /* @__PURE__ */ import_react45.default.createElement(Chevron, {
1743
+ }, valueProps), state.selectedItem ? state.selectedItem.rendered : props.placeholder), /* @__PURE__ */ import_react46.default.createElement(Chevron, {
1715
1744
  css: styles.icon
1716
- })), /* @__PURE__ */ import_react45.default.createElement(Popover, __spreadValues({
1745
+ })), /* @__PURE__ */ import_react46.default.createElement(Popover, __spreadValues({
1717
1746
  open: state.isOpen,
1718
1747
  onClose: state.close,
1719
1748
  dismissable: true,
1720
1749
  shouldCloseOnBlur: true,
1721
1750
  minWidth: buttonRef.current ? buttonRef.current.offsetWidth : void 0,
1722
1751
  ref: overlayRef
1723
- }, positionProps), /* @__PURE__ */ import_react45.default.createElement(import_focus8.FocusScope, {
1752
+ }, positionProps), /* @__PURE__ */ import_react46.default.createElement(import_focus8.FocusScope, {
1724
1753
  restoreFocus: true
1725
- }, /* @__PURE__ */ import_react45.default.createElement(import_overlays8.DismissButton, {
1754
+ }, /* @__PURE__ */ import_react46.default.createElement(import_overlays8.DismissButton, {
1726
1755
  onDismiss: state.close
1727
- }), /* @__PURE__ */ import_react45.default.createElement(ListBox, __spreadValues({
1756
+ }), /* @__PURE__ */ import_react46.default.createElement(ListBox, __spreadValues({
1728
1757
  state,
1729
1758
  variant,
1730
1759
  size
1731
- }, menuProps)), /* @__PURE__ */ import_react45.default.createElement(import_overlays8.DismissButton, {
1760
+ }, menuProps)), /* @__PURE__ */ import_react46.default.createElement(import_overlays8.DismissButton, {
1732
1761
  onDismiss: state.close
1733
1762
  }))));
1734
1763
  };
@@ -1736,14 +1765,14 @@ Select.Option = import_collections2.Item;
1736
1765
  Select.Section = import_collections2.Section;
1737
1766
 
1738
1767
  // src/Slider/Slider.tsx
1739
- var import_react47 = __toESM(require("react"));
1768
+ var import_react48 = __toESM(require("react"));
1740
1769
  var import_slider2 = require("@react-aria/slider");
1741
1770
  var import_slider3 = require("@react-stately/slider");
1742
1771
  var import_i18n3 = require("@react-aria/i18n");
1743
1772
  var import_system34 = require("@marigold/system");
1744
1773
 
1745
1774
  // src/Slider/Thumb.tsx
1746
- var import_react46 = __toESM(require("react"));
1775
+ var import_react47 = __toESM(require("react"));
1747
1776
  var import_slider = require("@react-aria/slider");
1748
1777
  var import_utils9 = require("@react-aria/utils");
1749
1778
  var import_system33 = require("@marigold/system");
@@ -1756,7 +1785,7 @@ var import_focus9 = require("@react-aria/focus");
1756
1785
  var Thumb = (_a) => {
1757
1786
  var _b = _a, { state, trackRef, styles } = _b, props = __objRest(_b, ["state", "trackRef", "styles"]);
1758
1787
  const { disabled } = props;
1759
- const inputRef = import_react46.default.useRef(null);
1788
+ const inputRef = import_react47.default.useRef(null);
1760
1789
  const { isFocusVisible, focusProps, isFocused } = (0, import_focus9.useFocusRing)();
1761
1790
  const focused = isFocused || isFocusVisible || state.isThumbDragging(0);
1762
1791
  const stateProps = (0, import_system33.useStateProps)({
@@ -1769,19 +1798,19 @@ var Thumb = (_a) => {
1769
1798
  inputRef,
1770
1799
  isDisabled: disabled
1771
1800
  }, state);
1772
- (0, import_react46.useEffect)(() => {
1801
+ (0, import_react47.useEffect)(() => {
1773
1802
  state.setThumbEditable(0, !disabled);
1774
1803
  }, [disabled, state]);
1775
- return /* @__PURE__ */ import_react46.default.createElement(import_system.Box, {
1804
+ return /* @__PURE__ */ import_react47.default.createElement(import_system.Box, {
1776
1805
  __baseCSS: {
1777
1806
  position: "absolute",
1778
1807
  top: 16,
1779
1808
  transform: "translateX(-50%)",
1780
1809
  left: `${state.getThumbPercent(0) * 100}%`
1781
1810
  }
1782
- }, /* @__PURE__ */ import_react46.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({}, thumbProps), {
1811
+ }, /* @__PURE__ */ import_react47.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({}, thumbProps), {
1783
1812
  __baseCSS: styles
1784
- }), stateProps), /* @__PURE__ */ import_react46.default.createElement(import_visually_hidden.VisuallyHidden, null, /* @__PURE__ */ import_react46.default.createElement(import_system.Box, __spreadValues({
1813
+ }), stateProps), /* @__PURE__ */ import_react47.default.createElement(import_visually_hidden.VisuallyHidden, null, /* @__PURE__ */ import_react47.default.createElement(import_system.Box, __spreadValues({
1785
1814
  as: "input",
1786
1815
  type: "range",
1787
1816
  ref: inputRef
@@ -1790,32 +1819,41 @@ var Thumb = (_a) => {
1790
1819
 
1791
1820
  // src/Slider/Slider.tsx
1792
1821
  var Slider = (_a) => {
1793
- var _b = _a, { variant, size } = _b, props = __objRest(_b, ["variant", "size"]);
1822
+ var _b = _a, {
1823
+ variant,
1824
+ size,
1825
+ width = "100%"
1826
+ } = _b, props = __objRest(_b, [
1827
+ "variant",
1828
+ "size",
1829
+ "width"
1830
+ ]);
1794
1831
  const { formatOptions } = props;
1795
- const trackRef = (0, import_react47.useRef)(null);
1832
+ const trackRef = (0, import_react48.useRef)(null);
1796
1833
  const numberFormatter = (0, import_i18n3.useNumberFormatter)(formatOptions);
1797
1834
  const state = (0, import_slider3.useSliderState)(__spreadProps(__spreadValues({}, props), { numberFormatter }));
1798
1835
  const { groupProps, trackProps, labelProps, outputProps } = (0, import_slider2.useSlider)(__spreadValues({
1799
1836
  label: props.children
1800
1837
  }, props), state, trackRef);
1801
1838
  const styles = (0, import_system34.useComponentStyles)("Slider", { variant, size }, { parts: ["track", "thumb", "label", "output"] });
1802
- return /* @__PURE__ */ import_react47.default.createElement(import_system.Box, __spreadValues({
1839
+ return /* @__PURE__ */ import_react48.default.createElement(import_system.Box, __spreadValues({
1803
1840
  __baseCSS: {
1804
1841
  display: "flex",
1805
1842
  flexDirection: "column",
1806
- touchAction: "none"
1843
+ touchAction: "none",
1844
+ width
1807
1845
  }
1808
- }, groupProps), /* @__PURE__ */ import_react47.default.createElement(import_system.Box, {
1846
+ }, groupProps), /* @__PURE__ */ import_react48.default.createElement(import_system.Box, {
1809
1847
  __baseCSS: { display: "flex", alignSelf: "stretch" }
1810
- }, props.children && /* @__PURE__ */ import_react47.default.createElement(import_system.Box, __spreadValues({
1848
+ }, props.children && /* @__PURE__ */ import_react48.default.createElement(import_system.Box, __spreadValues({
1811
1849
  as: "label",
1812
1850
  __baseCSS: styles.label
1813
- }, labelProps), props.children), /* @__PURE__ */ import_react47.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1851
+ }, labelProps), props.children), /* @__PURE__ */ import_react48.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1814
1852
  as: "output"
1815
1853
  }, outputProps), {
1816
1854
  __baseCSS: { flex: "1 0 auto", textAlign: "end" },
1817
1855
  css: styles.output
1818
- }), state.getThumbValueLabel(0))), /* @__PURE__ */ import_react47.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, trackProps), {
1856
+ }), state.getThumbValueLabel(0))), /* @__PURE__ */ import_react48.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, trackProps), {
1819
1857
  ref: trackRef,
1820
1858
  __baseCSS: {
1821
1859
  position: "relative",
@@ -1823,9 +1861,9 @@ var Slider = (_a) => {
1823
1861
  width: "100%",
1824
1862
  cursor: props.disabled ? "not-allowed" : "pointer"
1825
1863
  }
1826
- }), /* @__PURE__ */ import_react47.default.createElement(import_system.Box, {
1864
+ }), /* @__PURE__ */ import_react48.default.createElement(import_system.Box, {
1827
1865
  __baseCSS: styles.track
1828
- }), /* @__PURE__ */ import_react47.default.createElement(Thumb, {
1866
+ }), /* @__PURE__ */ import_react48.default.createElement(Thumb, {
1829
1867
  state,
1830
1868
  trackRef,
1831
1869
  disabled: props.disabled,
@@ -1834,33 +1872,46 @@ var Slider = (_a) => {
1834
1872
  };
1835
1873
 
1836
1874
  // src/Stack/Stack.tsx
1837
- var import_react48 = __toESM(require("react"));
1838
- var ALIGNMENT3 = {
1875
+ var import_react49 = __toESM(require("react"));
1876
+ var ALIGNMENT_X2 = {
1839
1877
  left: "flex-start",
1840
1878
  center: "center",
1841
1879
  right: "flex-end"
1842
1880
  };
1881
+ var ALIGNMENT_Y2 = {
1882
+ top: "flex-start",
1883
+ center: "center",
1884
+ bottom: "flex-end"
1885
+ };
1843
1886
  var Stack = (_a) => {
1844
1887
  var _b = _a, {
1888
+ children,
1845
1889
  space = "none",
1846
- align = "left",
1847
- children
1890
+ alignX = "left",
1891
+ alignY = "top",
1892
+ stretch = false
1848
1893
  } = _b, props = __objRest(_b, [
1894
+ "children",
1849
1895
  "space",
1850
- "align",
1851
- "children"
1896
+ "alignX",
1897
+ "alignY",
1898
+ "stretch"
1852
1899
  ]);
1853
- return /* @__PURE__ */ import_react48.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1854
- display: "flex",
1855
- flexDirection: "column",
1856
- alignItems: ALIGNMENT3[align],
1857
- p: "0",
1858
- css: { gap: space }
1859
- }), children);
1900
+ return /* @__PURE__ */ import_react49.default.createElement(import_system.Box, __spreadValues({
1901
+ css: {
1902
+ display: "flex",
1903
+ flexDirection: "column",
1904
+ p: 0,
1905
+ gap: space,
1906
+ alignItems: ALIGNMENT_X2[alignX],
1907
+ justifyContent: ALIGNMENT_Y2[alignY],
1908
+ blockSize: stretch ? "100%" : "auto"
1909
+ }
1910
+ }, props), children);
1860
1911
  };
1861
1912
 
1862
1913
  // src/Switch/Switch.tsx
1863
- var import_react49 = __toESM(require("react"));
1914
+ var import_react50 = __toESM(require("react"));
1864
1915
  var import_focus10 = require("@react-aria/focus");
1865
1916
  var import_switch = require("@react-aria/switch");
1866
1917
  var import_toggle2 = require("@react-stately/toggle");
@@ -1869,6 +1920,7 @@ var Switch = (_a) => {
1869
1920
  var _b = _a, {
1870
1921
  variant,
1871
1922
  size,
1923
+ width = "100%",
1872
1924
  checked,
1873
1925
  disabled,
1874
1926
  readOnly,
@@ -1876,12 +1928,13 @@ var Switch = (_a) => {
1876
1928
  } = _b, rest = __objRest(_b, [
1877
1929
  "variant",
1878
1930
  "size",
1931
+ "width",
1879
1932
  "checked",
1880
1933
  "disabled",
1881
1934
  "readOnly",
1882
1935
  "defaultChecked"
1883
1936
  ]);
1884
- const ref = (0, import_react49.useRef)(null);
1937
+ const ref = (0, import_react50.useRef)(null);
1885
1938
  const props = __spreadValues({
1886
1939
  isSelected: checked,
1887
1940
  isDisabled: disabled,
@@ -1898,17 +1951,18 @@ var Switch = (_a) => {
1898
1951
  focus: isFocusVisible
1899
1952
  });
1900
1953
  const styles = (0, import_system35.useComponentStyles)("Switch", { variant, size }, { parts: ["container", "label", "track", "thumb"] });
1901
- return /* @__PURE__ */ import_react49.default.createElement(import_system.Box, {
1954
+ return /* @__PURE__ */ import_react50.default.createElement(import_system.Box, {
1902
1955
  as: "label",
1903
1956
  __baseCSS: {
1904
1957
  display: "flex",
1905
1958
  alignItems: "center",
1906
1959
  justifyContent: "space-between",
1907
1960
  gap: "1ch",
1908
- position: "relative"
1961
+ position: "relative",
1962
+ width
1909
1963
  },
1910
1964
  css: styles.container
1911
- }, /* @__PURE__ */ import_react49.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1965
+ }, /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1912
1966
  as: "input",
1913
1967
  ref,
1914
1968
  css: {
@@ -1921,9 +1975,9 @@ var Switch = (_a) => {
1921
1975
  opacity: 1e-4,
1922
1976
  cursor: inputProps.disabled ? "not-allowed" : "pointer"
1923
1977
  }
1924
- }, inputProps), focusProps)), props.children && /* @__PURE__ */ import_react49.default.createElement(import_system.Box, {
1978
+ }, inputProps), focusProps)), props.children && /* @__PURE__ */ import_react50.default.createElement(import_system.Box, {
1925
1979
  css: styles.label
1926
- }, props.children), /* @__PURE__ */ import_react49.default.createElement(import_system.Box, __spreadValues({
1980
+ }, props.children), /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues({
1927
1981
  __baseCSS: {
1928
1982
  position: "relative",
1929
1983
  width: 48,
@@ -1932,7 +1986,7 @@ var Switch = (_a) => {
1932
1986
  borderRadius: 20
1933
1987
  },
1934
1988
  css: styles.track
1935
- }, stateProps), /* @__PURE__ */ import_react49.default.createElement(import_system.Box, __spreadValues({
1989
+ }, stateProps), /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues({
1936
1990
  __baseCSS: {
1937
1991
  display: "block",
1938
1992
  position: "absolute",
@@ -1954,233 +2008,319 @@ var Switch = (_a) => {
1954
2008
  };
1955
2009
 
1956
2010
  // src/Table/Table.tsx
1957
- var import_react56 = __toESM(require("react"));
1958
- var import_table6 = require("@react-aria/table");
1959
- var import_table7 = require("@react-stately/table");
2011
+ var import_react60 = __toESM(require("react"));
2012
+ var import_table9 = require("@react-aria/table");
2013
+ var import_table10 = require("@react-stately/table");
1960
2014
  var import_system41 = require("@marigold/system");
1961
2015
 
2016
+ // 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);
2020
+
2021
+ // src/Table/TableBody.tsx
2022
+ var import_react52 = __toESM(require("react"));
2023
+ var import_table = require("@react-aria/table");
2024
+ var TableBody = ({ children }) => {
2025
+ const { rowGroupProps } = (0, import_table.useTableRowGroup)();
2026
+ return /* @__PURE__ */ import_react52.default.createElement("tbody", __spreadValues({}, rowGroupProps), children);
2027
+ };
2028
+
1962
2029
  // src/Table/TableCell.tsx
1963
- var import_react50 = __toESM(require("react"));
1964
- var import_checkbox4 = require("@react-aria/checkbox");
2030
+ var import_react53 = __toESM(require("react"));
2031
+ var import_table2 = require("@react-aria/table");
1965
2032
  var import_focus11 = require("@react-aria/focus");
1966
- var import_table = require("@react-aria/table");
1967
2033
  var import_utils10 = require("@react-aria/utils");
1968
- var import_toggle3 = require("@react-stately/toggle");
1969
2034
  var import_system36 = require("@marigold/system");
1970
- var TableCell = ({
1971
- item: cell,
1972
- state,
1973
- isSelectionCell,
1974
- css
1975
- }) => {
1976
- const cellRef = (0, import_react50.useRef)(null);
1977
- const { gridCellProps } = (0, import_table.useTableCell)({ node: cell }, state, cellRef);
1978
- const { checkboxProps } = (0, import_table.useTableSelectionCheckbox)({ key: cell.parentKey }, state);
1979
- const inputRef = (0, import_react50.useRef)(null);
1980
- const { inputProps } = (0, import_checkbox4.useCheckbox)(checkboxProps, (0, import_toggle3.useToggleState)(checkboxProps), inputRef);
2035
+ var TableCell = ({ cell }) => {
2036
+ const ref = (0, import_react53.useRef)(null);
2037
+ const { state, styles } = useTableContext();
2038
+ const disabled = state.disabledKeys.has(cell.parentKey);
2039
+ const { gridCellProps } = (0, import_table2.useTableCell)({
2040
+ node: cell
2041
+ }, state, ref);
1981
2042
  const { focusProps, isFocusVisible } = (0, import_focus11.useFocusRing)();
1982
- const stateProps = (0, import_system36.useStateProps)({ focus: isFocusVisible });
1983
- return /* @__PURE__ */ import_react50.default.createElement(import_system.Box, __spreadValues(__spreadValues({
2043
+ const stateProps = (0, import_system36.useStateProps)({ disabled, focusVisible: isFocusVisible });
2044
+ return /* @__PURE__ */ import_react53.default.createElement(import_system36.Box, __spreadValues(__spreadValues({
1984
2045
  as: "td",
1985
- ref: cellRef,
1986
- __baseCSS: {
1987
- textAlign: isSelectionCell ? "center" : "left"
1988
- },
1989
- css
1990
- }, (0, import_utils10.mergeProps)(gridCellProps, focusProps)), stateProps), isSelectionCell ? /* @__PURE__ */ import_react50.default.createElement("input", __spreadValues({}, inputProps)) : /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, cell.rendered));
2046
+ ref,
2047
+ css: styles.cell
2048
+ }, (0, import_utils10.mergeProps)(gridCellProps, focusProps)), stateProps), cell.rendered);
1991
2049
  };
1992
2050
 
1993
- // src/Table/TableColumnHeader.tsx
1994
- var import_react52 = __toESM(require("react"));
1995
- var import_checkbox5 = require("@react-aria/checkbox");
2051
+ // src/Table/TableCheckboxCell.tsx
2052
+ var import_react54 = __toESM(require("react"));
2053
+ var import_table3 = require("@react-aria/table");
1996
2054
  var import_focus12 = require("@react-aria/focus");
1997
- var import_table2 = require("@react-aria/table");
1998
2055
  var import_utils11 = require("@react-aria/utils");
1999
- var import_toggle4 = require("@react-stately/toggle");
2000
- var import_system39 = require("@marigold/system");
2001
-
2002
- // src/Text/Text.tsx
2003
- var import_react51 = __toESM(require("react"));
2004
2056
  var import_system37 = require("@marigold/system");
2005
- var import_system38 = require("@marigold/system");
2006
- var Text = (_a) => {
2007
- var _b = _a, {
2008
- variant,
2009
- size,
2010
- align,
2011
- color,
2012
- fontSize,
2013
- cursor,
2014
- outline,
2015
- children
2016
- } = _b, props = __objRest(_b, [
2017
- "variant",
2018
- "size",
2019
- "align",
2020
- "color",
2021
- "fontSize",
2022
- "cursor",
2023
- "outline",
2024
- "children"
2057
+
2058
+ // src/Table/utils.ts
2059
+ var mapCheckboxProps = (_a) => {
2060
+ var {
2061
+ checkboxProps: _b
2062
+ } = _a, _c = _b, {
2063
+ isIndeterminate,
2064
+ isSelected,
2065
+ isDisabled,
2066
+ defaultSelected
2067
+ } = _c, rest = __objRest(_c, [
2068
+ "isIndeterminate",
2069
+ "isSelected",
2070
+ "isDisabled",
2071
+ "defaultSelected"
2025
2072
  ]);
2026
- const styles = (0, import_system37.useComponentStyles)("Text", {
2027
- variant,
2028
- size
2029
- });
2030
- return /* @__PURE__ */ import_react51.default.createElement(import_system38.Box, __spreadProps(__spreadValues({
2031
- as: "p"
2032
- }, props), {
2033
- css: __spreadValues({ color, cursor, outline, fontSize, textAlign: align }, styles)
2034
- }), children);
2073
+ const checkboxProps = __spreadValues({
2074
+ disabled: isDisabled,
2075
+ checked: isSelected,
2076
+ defaultChecked: defaultSelected,
2077
+ indeterminate: isIndeterminate
2078
+ }, rest);
2079
+ return { checkboxProps };
2035
2080
  };
2036
2081
 
2037
- // src/Table/TableColumnHeader.tsx
2038
- var TableColumnHeader = ({
2039
- item: column,
2040
- state,
2041
- isSelectionColumn,
2042
- css
2043
- }) => {
2044
- const ref = (0, import_react52.useRef)(null);
2045
- const { columnHeaderProps } = (0, import_table2.useTableColumnHeader)({ node: column }, state, ref);
2046
- const { checkboxProps } = (0, import_table2.useTableSelectAllCheckbox)(state);
2047
- const inputRef = (0, import_react52.useRef)(null);
2048
- const { inputProps } = (0, import_checkbox5.useCheckbox)(checkboxProps, (0, import_toggle4.useToggleState)(checkboxProps), inputRef);
2082
+ // src/Table/TableCheckboxCell.tsx
2083
+ var TableCheckboxCell = ({ cell }) => {
2084
+ const ref = (0, import_react54.useRef)(null);
2085
+ const { state, styles } = useTableContext();
2086
+ const disabled = state.disabledKeys.has(cell.parentKey);
2087
+ const { gridCellProps } = (0, import_table3.useTableCell)({
2088
+ node: cell
2089
+ }, state, ref);
2090
+ const { checkboxProps } = mapCheckboxProps((0, import_table3.useTableSelectionCheckbox)({ key: cell.parentKey }, state));
2049
2091
  const { focusProps, isFocusVisible } = (0, import_focus12.useFocusRing)();
2050
- const stateProps = (0, import_system39.useStateProps)({ focus: isFocusVisible });
2051
- return /* @__PURE__ */ import_react52.default.createElement(import_system.Box, __spreadValues(__spreadValues({
2092
+ const stateProps = (0, import_system37.useStateProps)({ disabled, focusVisible: isFocusVisible });
2093
+ return /* @__PURE__ */ import_react54.default.createElement(import_system37.Box, __spreadValues(__spreadValues({
2094
+ as: "td",
2095
+ ref,
2096
+ __baseCSS: {
2097
+ textAlign: "center",
2098
+ verticalAlign: "middle",
2099
+ lineHeight: 1
2100
+ },
2101
+ css: styles.cell
2102
+ }, (0, import_utils11.mergeProps)(gridCellProps, focusProps)), stateProps), /* @__PURE__ */ import_react54.default.createElement(Checkbox, __spreadValues({}, checkboxProps)));
2103
+ };
2104
+
2105
+ // src/Table/TableColumnHeader.tsx
2106
+ var import_react55 = __toESM(require("react"));
2107
+ var import_focus13 = require("@react-aria/focus");
2108
+ var import_interactions7 = require("@react-aria/interactions");
2109
+ var import_table4 = require("@react-aria/table");
2110
+ var import_utils13 = require("@react-aria/utils");
2111
+ var import_system38 = require("@marigold/system");
2112
+ var TableColumnHeader = ({ column }) => {
2113
+ const ref = (0, import_react55.useRef)(null);
2114
+ const { state, styles } = useTableContext();
2115
+ const { columnHeaderProps } = (0, import_table4.useTableColumnHeader)({
2116
+ node: column
2117
+ }, state, ref);
2118
+ const { hoverProps, isHovered } = (0, import_interactions7.useHover)({});
2119
+ const { focusProps, isFocusVisible } = (0, import_focus13.useFocusRing)();
2120
+ const stateProps = (0, import_system38.useStateProps)({
2121
+ hover: isHovered,
2122
+ focusVisible: isFocusVisible
2123
+ });
2124
+ return /* @__PURE__ */ import_react55.default.createElement(import_system38.Box, __spreadValues(__spreadValues({
2052
2125
  as: "th",
2126
+ colSpan: column.colspan,
2053
2127
  ref,
2054
- __baseCSS: { textAlign: isSelectionColumn ? "center" : "left" },
2055
- css
2056
- }, (0, import_utils11.mergeProps)(columnHeaderProps, focusProps)), stateProps), isSelectionColumn ? /* @__PURE__ */ import_react52.default.createElement("input", __spreadProps(__spreadValues({}, inputProps), {
2057
- ref: inputRef
2058
- })) : /* @__PURE__ */ import_react52.default.createElement(Text, {
2059
- size: "xxsmall"
2060
- }, column.rendered));
2128
+ css: styles.header
2129
+ }, (0, import_utils13.mergeProps)(columnHeaderProps, hoverProps, focusProps)), stateProps), column.rendered);
2130
+ };
2131
+
2132
+ // src/Table/TableHeader.tsx
2133
+ var import_react56 = __toESM(require("react"));
2134
+ var import_table5 = require("@react-aria/table");
2135
+ var TableHeader = ({ children }) => {
2136
+ const { rowGroupProps } = (0, import_table5.useTableRowGroup)();
2137
+ return /* @__PURE__ */ import_react56.default.createElement("thead", __spreadValues({}, rowGroupProps), children);
2061
2138
  };
2062
2139
 
2063
2140
  // src/Table/TableHeaderRow.tsx
2064
- var import_react53 = __toESM(require("react"));
2065
- var import_table3 = require("@react-aria/table");
2066
- var TableHeaderRow = ({
2067
- item,
2068
- state,
2069
- children
2070
- }) => {
2071
- const ref = (0, import_react53.useRef)(null);
2072
- const { rowProps } = (0, import_table3.useTableHeaderRow)({ node: item }, state, ref);
2073
- return /* @__PURE__ */ import_react53.default.createElement("tr", __spreadProps(__spreadValues({}, rowProps), {
2141
+ var import_react57 = __toESM(require("react"));
2142
+ var import_table6 = require("@react-aria/table");
2143
+ var TableHeaderRow = ({ item, children }) => {
2144
+ const { state } = useTableContext();
2145
+ const ref = (0, import_react57.useRef)(null);
2146
+ const { rowProps } = (0, import_table6.useTableHeaderRow)({ node: item }, state, ref);
2147
+ return /* @__PURE__ */ import_react57.default.createElement("tr", __spreadProps(__spreadValues({}, rowProps), {
2074
2148
  ref
2075
2149
  }), children);
2076
2150
  };
2077
2151
 
2078
2152
  // src/Table/TableRow.tsx
2079
- var import_react54 = __toESM(require("react"));
2080
- var import_focus13 = require("@react-aria/focus");
2081
- var import_table4 = require("@react-aria/table");
2082
- var import_utils12 = require("@react-aria/utils");
2083
- var import_system40 = require("@marigold/system");
2084
- var TableRow = ({ item, state, children, css }) => {
2085
- const ref = (0, import_react54.useRef)(null);
2086
- const isSelected = state.selectionManager.isSelected(item.key);
2087
- const { rowProps } = (0, import_table4.useTableRow)({
2088
- node: item
2153
+ var import_react58 = __toESM(require("react"));
2154
+ var import_focus14 = require("@react-aria/focus");
2155
+ var import_interactions8 = require("@react-aria/interactions");
2156
+ var import_table7 = require("@react-aria/table");
2157
+ var import_utils14 = require("@react-aria/utils");
2158
+ var import_system39 = require("@marigold/system");
2159
+ var TableRow = ({ children, row }) => {
2160
+ const ref = (0, import_react58.useRef)(null);
2161
+ const { state, styles } = useTableContext();
2162
+ const { rowProps, isPressed } = (0, import_table7.useTableRow)({
2163
+ node: row
2089
2164
  }, state, ref);
2090
- const { focusProps, isFocusVisible } = (0, import_focus13.useFocusRing)();
2091
- const stateProps = (0, import_system40.useStateProps)({
2092
- focus: isFocusVisible,
2093
- checked: isSelected
2165
+ const disabled = state.disabledKeys.has(row.key);
2166
+ const selected = state.selectionManager.isSelected(row.key);
2167
+ const { focusProps, isFocusVisible } = (0, import_focus14.useFocusRing)({ within: true });
2168
+ const { hoverProps, isHovered } = (0, import_interactions8.useHover)({ isDisabled: disabled });
2169
+ const stateProps = (0, import_system39.useStateProps)({
2170
+ disabled,
2171
+ selected,
2172
+ hover: isHovered,
2173
+ focusVisible: isFocusVisible,
2174
+ active: isPressed
2094
2175
  });
2095
- return /* @__PURE__ */ import_react54.default.createElement(import_system.Box, __spreadValues(__spreadValues({
2176
+ return /* @__PURE__ */ import_react58.default.createElement(import_system39.Box, __spreadValues(__spreadValues({
2096
2177
  as: "tr",
2097
2178
  ref,
2098
- css
2099
- }, (0, import_utils12.mergeProps)(rowProps, focusProps)), stateProps), children);
2179
+ css: styles.row
2180
+ }, (0, import_utils14.mergeProps)(rowProps, focusProps, hoverProps)), stateProps), children);
2100
2181
  };
2101
2182
 
2102
- // src/Table/TableRowGroup.tsx
2103
- var import_react55 = __toESM(require("react"));
2104
- var import_table5 = require("@react-aria/table");
2105
- var TableRowGroup = ({
2106
- as: Element,
2107
- children
2108
- }) => {
2109
- const { rowGroupProps } = (0, import_table5.useTableRowGroup)();
2110
- return /* @__PURE__ */ import_react55.default.createElement(Element, __spreadValues({}, rowGroupProps), children);
2183
+ // src/Table/TableSelectAllCell.tsx
2184
+ var import_react59 = __toESM(require("react"));
2185
+ var import_focus15 = require("@react-aria/focus");
2186
+ var import_interactions9 = require("@react-aria/interactions");
2187
+ var import_table8 = require("@react-aria/table");
2188
+ var import_utils15 = require("@react-aria/utils");
2189
+ var import_system40 = require("@marigold/system");
2190
+ var TableSelectAllCell = ({ column }) => {
2191
+ const ref = (0, import_react59.useRef)(null);
2192
+ const { state, styles } = useTableContext();
2193
+ const { columnHeaderProps } = (0, import_table8.useTableColumnHeader)({
2194
+ node: column
2195
+ }, state, ref);
2196
+ const { checkboxProps } = mapCheckboxProps((0, import_table8.useTableSelectAllCheckbox)(state));
2197
+ const { hoverProps, isHovered } = (0, import_interactions9.useHover)({});
2198
+ const { focusProps, isFocusVisible } = (0, import_focus15.useFocusRing)();
2199
+ const stateProps = (0, import_system40.useStateProps)({
2200
+ hover: isHovered,
2201
+ focusVisible: isFocusVisible
2202
+ });
2203
+ return /* @__PURE__ */ import_react59.default.createElement(import_system40.Box, __spreadValues(__spreadValues({
2204
+ as: "th",
2205
+ ref,
2206
+ __baseCSS: {
2207
+ textAlign: "center",
2208
+ verticalAlign: "middle",
2209
+ lineHeight: 1
2210
+ },
2211
+ css: styles.header
2212
+ }, (0, import_utils15.mergeProps)(columnHeaderProps, hoverProps, focusProps)), stateProps), /* @__PURE__ */ import_react59.default.createElement(Checkbox, __spreadValues({}, checkboxProps)));
2111
2213
  };
2112
2214
 
2113
2215
  // src/Table/Table.tsx
2114
2216
  var Table = (_a) => {
2115
2217
  var _b = _a, { variant, size } = _b, props = __objRest(_b, ["variant", "size"]);
2116
- const showSelectionCheckboxes = props.selectionMode === "multiple" && props.selectionBehavior !== "replace";
2117
- const state = (0, import_table7.useTableState)(__spreadProps(__spreadValues({}, props), {
2118
- showSelectionCheckboxes
2218
+ const tableRef = (0, import_react60.useRef)(null);
2219
+ const state = (0, import_table10.useTableState)(__spreadProps(__spreadValues({}, props), {
2220
+ showSelectionCheckboxes: props.selectionMode === "multiple" && props.selectionBehavior !== "replace"
2119
2221
  }));
2120
- const ref = (0, import_react56.useRef)(null);
2121
- const { gridProps } = (0, import_table6.useTable)(props, state, ref);
2222
+ const { gridProps } = (0, import_table9.useTable)(props, state, tableRef);
2122
2223
  const styles = (0, import_system41.useComponentStyles)("Table", { variant, size }, { parts: ["table", "header", "row", "cell"] });
2123
- return /* @__PURE__ */ import_react56.default.createElement(import_system.Box, __spreadValues({
2224
+ const { collection } = state;
2225
+ return /* @__PURE__ */ import_react60.default.createElement(TableContext.Provider, {
2226
+ value: { state, styles }
2227
+ }, /* @__PURE__ */ import_react60.default.createElement(import_system41.Box, __spreadValues({
2124
2228
  as: "table",
2125
- ref,
2126
- __baseCSS: styles.table
2127
- }, gridProps), /* @__PURE__ */ import_react56.default.createElement(TableRowGroup, {
2128
- as: "thead"
2129
- }, state.collection.headerRows.map((headerRow) => /* @__PURE__ */ import_react56.default.createElement(TableHeaderRow, {
2229
+ ref: tableRef,
2230
+ css: styles.table
2231
+ }, gridProps), /* @__PURE__ */ import_react60.default.createElement(TableHeader, null, collection.headerRows.map((headerRow) => /* @__PURE__ */ import_react60.default.createElement(TableHeaderRow, {
2130
2232
  key: headerRow.key,
2131
- item: headerRow,
2132
- state
2133
- }, [...headerRow.childNodes].map((column) => /* @__PURE__ */ import_react56.default.createElement(TableColumnHeader, {
2134
- key: column.key,
2135
- item: column,
2136
- state,
2137
- isSelectionColumn: column.props.isSelectionCell,
2138
- css: styles.header
2139
- }))))), /* @__PURE__ */ import_react56.default.createElement(TableRowGroup, {
2140
- as: "tbody"
2141
- }, [...state.collection.body.childNodes].map((row) => /* @__PURE__ */ import_react56.default.createElement(TableRow, {
2142
- css: styles.row,
2233
+ item: headerRow
2234
+ }, [...headerRow.childNodes].map((column) => {
2235
+ var _a2;
2236
+ return ((_a2 = column.props) == null ? void 0 : _a2.isSelectionCell) ? /* @__PURE__ */ import_react60.default.createElement(TableSelectAllCell, {
2237
+ key: column.key,
2238
+ column
2239
+ }) : /* @__PURE__ */ import_react60.default.createElement(TableColumnHeader, {
2240
+ key: column.key,
2241
+ column
2242
+ });
2243
+ })))), /* @__PURE__ */ import_react60.default.createElement(TableBody, null, [...collection.body.childNodes].map((row) => /* @__PURE__ */ import_react60.default.createElement(TableRow, {
2143
2244
  key: row.key,
2144
- item: row,
2145
- state
2146
- }, [...row.childNodes].map((cell) => /* @__PURE__ */ import_react56.default.createElement(TableCell, {
2147
- key: cell.key,
2148
- item: cell,
2149
- state,
2150
- isSelectionCell: cell.props.isSelectionCell,
2151
- css: styles.cell
2245
+ row
2246
+ }, [...row.childNodes].map((cell) => {
2247
+ var _a2;
2248
+ return ((_a2 = cell.props) == null ? void 0 : _a2.isSelectionCell) ? /* @__PURE__ */ import_react60.default.createElement(TableCheckboxCell, {
2249
+ key: cell.key,
2250
+ cell
2251
+ }) : /* @__PURE__ */ import_react60.default.createElement(TableCell, {
2252
+ key: cell.key,
2253
+ cell
2254
+ });
2152
2255
  }))))));
2153
2256
  };
2154
- Table.Body = import_table7.TableBody;
2155
- Table.Cell = import_table7.Cell;
2156
- Table.Column = import_table7.Column;
2157
- Table.Header = import_table7.TableHeader;
2158
- Table.Row = import_table7.Row;
2257
+ Table.Body = import_table10.TableBody;
2258
+ Table.Cell = import_table10.Cell;
2259
+ Table.Column = import_table10.Column;
2260
+ Table.Header = import_table10.TableHeader;
2261
+ Table.Row = import_table10.Row;
2262
+
2263
+ // src/Text/Text.tsx
2264
+ var import_react61 = __toESM(require("react"));
2265
+ var import_system42 = require("@marigold/system");
2266
+ var import_system43 = require("@marigold/system");
2267
+ var Text = (_a) => {
2268
+ var _b = _a, {
2269
+ variant,
2270
+ size,
2271
+ align,
2272
+ color,
2273
+ fontSize,
2274
+ cursor,
2275
+ outline,
2276
+ children
2277
+ } = _b, props = __objRest(_b, [
2278
+ "variant",
2279
+ "size",
2280
+ "align",
2281
+ "color",
2282
+ "fontSize",
2283
+ "cursor",
2284
+ "outline",
2285
+ "children"
2286
+ ]);
2287
+ const styles = (0, import_system42.useComponentStyles)("Text", {
2288
+ variant,
2289
+ size
2290
+ });
2291
+ return /* @__PURE__ */ import_react61.default.createElement(import_system43.Box, __spreadProps(__spreadValues({
2292
+ as: "p"
2293
+ }, props), {
2294
+ css: __spreadValues({ color, cursor, outline, fontSize, textAlign: align }, styles)
2295
+ }), children);
2296
+ };
2159
2297
 
2160
2298
  // src/TextArea/TextArea.tsx
2161
- var import_react57 = __toESM(require("react"));
2299
+ var import_react62 = __toESM(require("react"));
2162
2300
  var import_textfield = require("@react-aria/textfield");
2163
- var import_system42 = require("@marigold/system");
2164
- var import_interactions7 = require("@react-aria/interactions");
2165
- var import_focus14 = require("@react-aria/focus");
2301
+ var import_system44 = require("@marigold/system");
2302
+ var import_interactions10 = require("@react-aria/interactions");
2303
+ var import_focus16 = require("@react-aria/focus");
2166
2304
  var TextArea = (_a) => {
2167
2305
  var _b = _a, {
2306
+ variant,
2307
+ size,
2308
+ width,
2168
2309
  disabled,
2169
2310
  required,
2170
2311
  readOnly,
2171
- error,
2172
- variant,
2173
- size
2312
+ error
2174
2313
  } = _b, props = __objRest(_b, [
2314
+ "variant",
2315
+ "size",
2316
+ "width",
2175
2317
  "disabled",
2176
2318
  "required",
2177
2319
  "readOnly",
2178
- "error",
2179
- "variant",
2180
- "size"
2320
+ "error"
2181
2321
  ]);
2182
2322
  const { label, description, errorMessage } = props;
2183
- const ref = (0, import_react57.useRef)(null);
2323
+ const ref = (0, import_react62.useRef)(null);
2184
2324
  const { labelProps, inputProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(__spreadValues({
2185
2325
  inputElementType: "textarea",
2186
2326
  isDisabled: disabled,
@@ -2188,17 +2328,17 @@ var TextArea = (_a) => {
2188
2328
  isReadOnly: readOnly,
2189
2329
  validationState: error ? "invalid" : "valid"
2190
2330
  }, props), ref);
2191
- const { hoverProps, isHovered } = (0, import_interactions7.useHover)({});
2192
- const { focusProps, isFocusVisible } = (0, import_focus14.useFocusRing)();
2193
- const stateProps = (0, import_system42.useStateProps)({
2331
+ const { hoverProps, isHovered } = (0, import_interactions10.useHover)({});
2332
+ const { focusProps, isFocusVisible } = (0, import_focus16.useFocusRing)();
2333
+ const stateProps = (0, import_system44.useStateProps)({
2194
2334
  hover: isHovered,
2195
2335
  focus: isFocusVisible,
2196
2336
  disabled,
2197
2337
  readOnly,
2198
2338
  error
2199
2339
  });
2200
- const styles = (0, import_system42.useComponentStyles)("TextArea", { variant, size });
2201
- return /* @__PURE__ */ import_react57.default.createElement(FieldBase, {
2340
+ const styles = (0, import_system44.useComponentStyles)("TextArea", { variant, size });
2341
+ return /* @__PURE__ */ import_react62.default.createElement(FieldBase, {
2202
2342
  label,
2203
2343
  labelProps,
2204
2344
  required,
@@ -2209,8 +2349,9 @@ var TextArea = (_a) => {
2209
2349
  errorMessageProps,
2210
2350
  stateProps,
2211
2351
  variant,
2212
- size
2213
- }, /* @__PURE__ */ import_react57.default.createElement(import_system42.Box, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2352
+ size,
2353
+ width
2354
+ }, /* @__PURE__ */ import_react62.default.createElement(import_system44.Box, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2214
2355
  as: "textarea",
2215
2356
  css: styles,
2216
2357
  ref
@@ -2218,48 +2359,50 @@ var TextArea = (_a) => {
2218
2359
  };
2219
2360
 
2220
2361
  // src/TextField/TextField.tsx
2221
- var import_react58 = __toESM(require("react"));
2222
- var import_interactions8 = require("@react-aria/interactions");
2223
- var import_focus15 = require("@react-aria/focus");
2362
+ var import_react63 = __toESM(require("react"));
2363
+ var import_interactions11 = require("@react-aria/interactions");
2364
+ var import_focus17 = require("@react-aria/focus");
2224
2365
  var import_textfield2 = require("@react-aria/textfield");
2225
- var import_system43 = require("@marigold/system");
2366
+ var import_system45 = require("@marigold/system");
2226
2367
  var TextField = (_a) => {
2227
2368
  var _b = _a, {
2369
+ variant,
2370
+ size,
2371
+ width,
2228
2372
  disabled,
2229
2373
  required,
2230
2374
  readOnly,
2231
- error,
2232
- variant,
2233
- size
2375
+ error
2234
2376
  } = _b, props = __objRest(_b, [
2377
+ "variant",
2378
+ "size",
2379
+ "width",
2235
2380
  "disabled",
2236
2381
  "required",
2237
2382
  "readOnly",
2238
- "error",
2239
- "variant",
2240
- "size"
2383
+ "error"
2241
2384
  ]);
2242
2385
  const { label, description, errorMessage, autoFocus } = props;
2243
- const ref = (0, import_react58.useRef)(null);
2386
+ const ref = (0, import_react63.useRef)(null);
2244
2387
  const { labelProps, inputProps, descriptionProps, errorMessageProps } = (0, import_textfield2.useTextField)(__spreadValues({
2245
2388
  isDisabled: disabled,
2246
2389
  isRequired: required,
2247
2390
  isReadOnly: readOnly,
2248
2391
  validationState: error ? "invalid" : "valid"
2249
2392
  }, props), ref);
2250
- const { hoverProps, isHovered } = (0, import_interactions8.useHover)({});
2251
- const { focusProps, isFocusVisible } = (0, import_focus15.useFocusRing)({
2393
+ const { hoverProps, isHovered } = (0, import_interactions11.useHover)({});
2394
+ const { focusProps, isFocusVisible } = (0, import_focus17.useFocusRing)({
2252
2395
  isTextInput: true,
2253
2396
  autoFocus
2254
2397
  });
2255
- const stateProps = (0, import_system43.useStateProps)({
2398
+ const stateProps = (0, import_system45.useStateProps)({
2256
2399
  hover: isHovered,
2257
2400
  focus: isFocusVisible,
2258
2401
  disabled,
2259
2402
  readOnly,
2260
2403
  error
2261
2404
  });
2262
- return /* @__PURE__ */ import_react58.default.createElement(FieldBase, {
2405
+ return /* @__PURE__ */ import_react63.default.createElement(FieldBase, {
2263
2406
  label,
2264
2407
  labelProps,
2265
2408
  required,
@@ -2270,8 +2413,9 @@ var TextField = (_a) => {
2270
2413
  errorMessageProps,
2271
2414
  stateProps,
2272
2415
  variant,
2273
- size
2274
- }, /* @__PURE__ */ import_react58.default.createElement(Input, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2416
+ size,
2417
+ width
2418
+ }, /* @__PURE__ */ import_react63.default.createElement(Input, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
2275
2419
  ref,
2276
2420
  variant,
2277
2421
  size
@@ -2279,10 +2423,10 @@ var TextField = (_a) => {
2279
2423
  };
2280
2424
 
2281
2425
  // src/Tiles/Tiles.tsx
2282
- var import_react59 = __toESM(require("react"));
2283
- var Tiles = import_react59.default.forwardRef(function Tiles2(_a, ref) {
2426
+ var import_react64 = __toESM(require("react"));
2427
+ var Tiles = import_react64.default.forwardRef(function Tiles2(_a, ref) {
2284
2428
  var _b = _a, { space = "none", itemMinWidth = "250px", children } = _b, props = __objRest(_b, ["space", "itemMinWidth", "children"]);
2285
- return /* @__PURE__ */ import_react59.default.createElement(import_system.Box, __spreadValues({
2429
+ return /* @__PURE__ */ import_react64.default.createElement(import_system.Box, __spreadValues({
2286
2430
  ref,
2287
2431
  display: "grid",
2288
2432
  __baseCSS: {
@@ -2293,50 +2437,95 @@ var Tiles = import_react59.default.forwardRef(function Tiles2(_a, ref) {
2293
2437
  });
2294
2438
 
2295
2439
  // src/Tooltip/Tooltip.tsx
2296
- var import_react61 = __toESM(require("react"));
2440
+ var import_react67 = __toESM(require("react"));
2297
2441
  var import_tooltip3 = require("@react-aria/tooltip");
2298
- var import_utils13 = require("@react-aria/utils");
2442
+ var import_system46 = require("@marigold/system");
2443
+
2444
+ // src/Tooltip/Context.ts
2445
+ var import_react65 = require("react");
2446
+ var TooltipContext = (0, import_react65.createContext)({});
2447
+ var useTooltipContext = () => (0, import_react65.useContext)(TooltipContext);
2299
2448
 
2300
2449
  // src/Tooltip/TooltipTrigger.tsx
2301
- var import_react60 = __toESM(require("react"));
2302
- var import_focus16 = require("@react-aria/focus");
2450
+ var import_react66 = __toESM(require("react"));
2451
+ var import_focus18 = require("@react-aria/focus");
2452
+ var import_overlays9 = require("@react-aria/overlays");
2303
2453
  var import_tooltip = require("@react-aria/tooltip");
2304
2454
  var import_tooltip2 = require("@react-stately/tooltip");
2305
- var TooltipContext = import_react60.default.createContext({});
2306
2455
  var TooltipTrigger = (_a) => {
2307
- var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
2308
- const [trigger, tooltip] = import_react60.default.Children.toArray(children);
2456
+ var _b = _a, {
2457
+ disabled,
2458
+ open,
2459
+ delay = 1e3,
2460
+ placement = "top",
2461
+ children
2462
+ } = _b, rest = __objRest(_b, [
2463
+ "disabled",
2464
+ "open",
2465
+ "delay",
2466
+ "placement",
2467
+ "children"
2468
+ ]);
2469
+ const [tooltipTrigger, tooltip] = import_react66.default.Children.toArray(children);
2470
+ const props = __spreadProps(__spreadValues({}, rest), {
2471
+ isDisabled: disabled,
2472
+ isOpen: open,
2473
+ delay,
2474
+ placement
2475
+ });
2476
+ const tooltipTriggerRef = (0, import_react66.useRef)(null);
2477
+ const overlayRef = (0, import_react66.useRef)(null);
2309
2478
  const state = (0, import_tooltip2.useTooltipTriggerState)(props);
2310
- const tooltipTriggerRef = (0, import_react60.useRef)();
2311
- const { triggerProps, tooltipProps } = (0, import_tooltip.useTooltipTrigger)({}, state, tooltipTriggerRef);
2312
- return /* @__PURE__ */ import_react60.default.createElement(import_focus16.FocusableProvider, __spreadProps(__spreadValues({}, triggerProps), {
2479
+ const { triggerProps, tooltipProps } = (0, import_tooltip.useTooltipTrigger)(props, state, tooltipTriggerRef);
2480
+ const {
2481
+ overlayProps: positionProps,
2482
+ placement: overlayPlacement,
2483
+ arrowProps
2484
+ } = (0, import_overlays9.useOverlayPosition)({
2485
+ placement: props.placement,
2486
+ targetRef: tooltipTriggerRef,
2487
+ offset: props.offset,
2488
+ crossOffset: props.crossOffset,
2489
+ isOpen: state.isOpen,
2490
+ overlayRef
2491
+ });
2492
+ return /* @__PURE__ */ import_react66.default.createElement(import_focus18.FocusableProvider, __spreadValues({
2313
2493
  ref: tooltipTriggerRef
2314
- }), trigger, state.isOpen && /* @__PURE__ */ import_react60.default.createElement(TooltipContext.Provider, {
2315
- value: __spreadValues({
2316
- state
2317
- }, tooltipProps)
2318
- }, tooltip));
2494
+ }, triggerProps), tooltipTrigger, /* @__PURE__ */ import_react66.default.createElement(TooltipContext.Provider, {
2495
+ value: __spreadValues(__spreadValues({
2496
+ state,
2497
+ overlayRef,
2498
+ arrowProps,
2499
+ placement: overlayPlacement
2500
+ }, tooltipProps), positionProps)
2501
+ }, /* @__PURE__ */ import_react66.default.createElement(Overlay, {
2502
+ open: state.isOpen
2503
+ }, tooltip)));
2319
2504
  };
2320
2505
 
2321
2506
  // src/Tooltip/Tooltip.tsx
2322
- var Tooltip = (_a) => {
2323
- var _b = _a, {
2324
- variant = "",
2325
- children
2326
- } = _b, props = __objRest(_b, [
2327
- "variant",
2328
- "children"
2329
- ]);
2330
- const _a2 = (0, import_react61.useContext)(TooltipContext), { state } = _a2, tooltipProviderProps = __objRest(_a2, ["state"]);
2331
- const mergedProps = (0, import_utils13.mergeProps)(props, tooltipProviderProps);
2332
- const { tooltipProps } = (0, import_tooltip3.useTooltip)(mergedProps, state);
2333
- return /* @__PURE__ */ import_react61.default.createElement(import_system.Box, __spreadValues({
2334
- position: "relative"
2335
- }, tooltipProps), /* @__PURE__ */ import_react61.default.createElement(import_system.Box, __spreadValues({
2336
- position: "absolute",
2337
- variant: `tooltip.${variant}`
2338
- }, mergedProps), children));
2507
+ var Tooltip = ({ children, variant, size }) => {
2508
+ const _a = useTooltipContext(), { arrowProps, state, overlayRef, placement } = _a, rest = __objRest(_a, ["arrowProps", "state", "overlayRef", "placement"]);
2509
+ const { tooltipProps } = (0, import_tooltip3.useTooltip)({}, state);
2510
+ const styles = (0, import_system46.useComponentStyles)("Tooltip", { variant, size }, { parts: ["container", "arrow"] });
2511
+ return /* @__PURE__ */ import_react67.default.createElement(import_system46.Box, __spreadProps(__spreadValues(__spreadValues({}, tooltipProps), rest), {
2512
+ ref: overlayRef,
2513
+ css: styles.container,
2514
+ "data-placement": placement
2515
+ }), /* @__PURE__ */ import_react67.default.createElement("div", null, children), /* @__PURE__ */ import_react67.default.createElement(import_system46.Box, __spreadProps(__spreadValues({}, arrowProps), {
2516
+ __baseCSS: {
2517
+ position: "absolute",
2518
+ height: 0,
2519
+ width: 0,
2520
+ borderStyle: "solid",
2521
+ borderLeftColor: "transparent",
2522
+ borderRightColor: "transparent",
2523
+ borderBottomColor: "transparent"
2524
+ },
2525
+ css: styles.arrow
2526
+ })));
2339
2527
  };
2528
+ Tooltip.Trigger = TooltipTrigger;
2340
2529
  // Annotate the CommonJS export names for ESM import in node:
2341
2530
  0 && (module.exports = {
2342
2531
  Aside,
@@ -2382,8 +2571,6 @@ var Tooltip = (_a) => {
2382
2571
  ThemeProvider,
2383
2572
  Tiles,
2384
2573
  Tooltip,
2385
- TooltipContext,
2386
- TooltipTrigger,
2387
2574
  Underlay,
2388
2575
  VisuallyHidden,
2389
2576
  useCheckboxGroupContext,