@dreamtree-org/twreact-ui 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +17 -6
  2. package/ai-skills/dreamtree-ui.md +12 -5
  3. package/dist/ai-schema.json +150 -1
  4. package/dist/charts/index.d.ts +2 -1
  5. package/dist/charts/index.js +297 -12
  6. package/dist/components/charts/ChartFrame.d.ts +1 -0
  7. package/dist/components/charts/ChartFrame.d.ts.map +1 -1
  8. package/dist/components/charts/ScatterChart.d.ts +4 -0
  9. package/dist/components/charts/ScatterChart.d.ts.map +1 -0
  10. package/dist/components/charts/ScatterTooltip.d.ts +14 -0
  11. package/dist/components/charts/ScatterTooltip.d.ts.map +1 -0
  12. package/dist/components/charts/scatterData.d.ts +17 -0
  13. package/dist/components/charts/scatterData.d.ts.map +1 -0
  14. package/dist/components/core/DatePicker.d.ts.map +1 -1
  15. package/dist/components/core/DateRangePicker.d.ts.map +1 -1
  16. package/dist/components/core/Select.d.ts.map +1 -1
  17. package/dist/components/navigation/Navbar.d.ts.map +1 -1
  18. package/dist/components/navigation/Sidebar.d.ts +2 -0
  19. package/dist/components/navigation/Sidebar.d.ts.map +1 -1
  20. package/dist/components/utility/Sortable.d.ts.map +1 -1
  21. package/dist/components/utility/SortableGroup.d.ts +15 -0
  22. package/dist/components/utility/SortableGroup.d.ts.map +1 -0
  23. package/dist/esm/charts/index.js +1 -0
  24. package/dist/esm/components/charts/ChartFrame.js +5 -5
  25. package/dist/esm/components/charts/ScatterChart.js +204 -0
  26. package/dist/esm/components/charts/ScatterTooltip.js +61 -0
  27. package/dist/esm/components/charts/scatterData.js +43 -0
  28. package/dist/esm/components/core/DatePicker.js +4 -1
  29. package/dist/esm/components/core/DateRangePicker.js +6 -2
  30. package/dist/esm/components/core/Select.js +6 -2
  31. package/dist/esm/components/navigation/Navbar.js +23 -6
  32. package/dist/esm/components/navigation/Sidebar.js +9 -2
  33. package/dist/esm/components/utility/Sortable.js +70 -48
  34. package/dist/esm/components/utility/SortableGroup.js +48 -0
  35. package/dist/esm/hooks/useFocusTrap.js +21 -9
  36. package/dist/esm/hooks/useSortable.js +96 -30
  37. package/dist/esm/hooks/useSortableGroup.js +268 -0
  38. package/dist/esm/index.js +1 -0
  39. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  40. package/dist/hooks/useSortable.d.ts +12 -3
  41. package/dist/hooks/useSortable.d.ts.map +1 -1
  42. package/dist/hooks/useSortableGroup.d.ts +43 -0
  43. package/dist/hooks/useSortableGroup.d.ts.map +1 -0
  44. package/dist/index.css +1 -1
  45. package/dist/index.d.ts +2 -1
  46. package/dist/index.esm.css +1 -1
  47. package/dist/index.esm.js +936 -498
  48. package/dist/index.js +936 -497
  49. package/dist/types/charts.d.ts +28 -0
  50. package/dist/types/charts.d.ts.map +1 -1
  51. package/dist/types/index.d.ts +40 -1
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/doc/README.md +2 -0
  54. package/mcp/catalog.snapshot.json +252 -14
  55. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3379,9 +3379,9 @@ var TOUCH_TARGET = "[@media(pointer:coarse)]:min-h-11 [@media(pointer:coarse)]:m
3379
3379
  // off under prefers-reduced-motion. Add to pressables (buttons, tiles, tab items).
3380
3380
  var PRESS_FEEDBACK = "active:scale-[0.97] motion-reduce:active:scale-100 transition-transform duration-fast";
3381
3381
 
3382
- var _excluded$$ = ["id", "className", "type", "label", "placeholder", "error", "success", "helperText", "disabled", "required", "clearable", "leftIcon", "rightIcon", "onClear", "showCount", "maxLength", "readOnly", "onChange", "value", "defaultValue", "size", "floatingLabel", "otp"];
3383
- function ownKeys$1a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3384
- function _objectSpread$1a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1a(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3382
+ var _excluded$10 = ["id", "className", "type", "label", "placeholder", "error", "success", "helperText", "disabled", "required", "clearable", "leftIcon", "rightIcon", "onClear", "showCount", "maxLength", "readOnly", "onChange", "value", "defaultValue", "size", "floatingLabel", "otp"];
3383
+ function ownKeys$1c(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3384
+ function _objectSpread$1c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1c(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3385
3385
  // Field heights. `md` keeps its 40px desktop look and grows to the 44px touch
3386
3386
  // target on coarse pointers (same rule as Select); `lg` is 44px everywhere.
3387
3387
  var SIZE_CLASSES$4 = {
@@ -3455,7 +3455,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
3455
3455
  floatingLabel = _props$floatingLabel === void 0 ? false : _props$floatingLabel,
3456
3456
  _props$otp = props.otp,
3457
3457
  otp = _props$otp === void 0 ? false : _props$otp,
3458
- rest = _objectWithoutProperties$1(props, _excluded$$);
3458
+ rest = _objectWithoutProperties$1(props, _excluded$10);
3459
3459
  // `size` is the field size (sm|md|lg). A numeric value is the native
3460
3460
  // `<input size>` attribute and is passed through unchanged.
3461
3461
  var size = SIZE_CLASSES$4[sizeProp] ? sizeProp : "md";
@@ -3543,7 +3543,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
3543
3543
  className: "text-primary-400",
3544
3544
  children: leftIcon
3545
3545
  })
3546
- }), jsxRuntime.jsx("input", _objectSpread$1a(_objectSpread$1a({
3546
+ }), jsxRuntime.jsx("input", _objectSpread$1c(_objectSpread$1c({
3547
3547
  id: inputId,
3548
3548
  ref: setRefs,
3549
3549
  type: inputType,
@@ -3615,9 +3615,9 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
3615
3615
  });
3616
3616
  Input.displayName = "Input";
3617
3617
 
3618
- var _excluded$_ = ["className", "variant", "size", "disabled", "loading", "children", "leftIcon", "rightIcon", "fullWidth", "as", "onClick"];
3619
- function ownKeys$19(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3620
- function _objectSpread$19(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$19(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$19(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3618
+ var _excluded$$ = ["className", "variant", "size", "disabled", "loading", "children", "leftIcon", "rightIcon", "fullWidth", "as", "onClick"];
3619
+ function ownKeys$1b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3620
+ function _objectSpread$1b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1b(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3621
3621
  // Square, icon-only sizes. Pair with an `aria-label` (there is no visible text).
3622
3622
  var ICON_SIZES = {
3623
3623
  'icon-sm': 'h-8 w-8 p-0',
@@ -3638,7 +3638,7 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3638
3638
  fullWidth = _ref.fullWidth,
3639
3639
  as = _ref.as,
3640
3640
  onClick = _ref.onClick,
3641
- props = _objectWithoutProperties$1(_ref, _excluded$_);
3641
+ props = _objectWithoutProperties$1(_ref, _excluded$$);
3642
3642
  // `as` renders any element or component (an <a>, a router Link) with the
3643
3643
  // Button's look; a bare `href` implies an <a>.
3644
3644
  var Component = as || (props.href !== undefined ? 'a' : 'button');
@@ -3674,7 +3674,7 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3674
3674
  children: rightIcon
3675
3675
  })]
3676
3676
  });
3677
- return jsxRuntime.jsx(Component, _objectSpread$19(_objectSpread$19(_objectSpread$19({
3677
+ return jsxRuntime.jsx(Component, _objectSpread$1b(_objectSpread$1b(_objectSpread$1b({
3678
3678
  ref: ref,
3679
3679
  className: baseClasses
3680
3680
  }, isNativeButton ? {
@@ -3809,7 +3809,7 @@ function setRefs$1(node) {
3809
3809
  }
3810
3810
 
3811
3811
  // useLayoutEffect warns during SSR; fall back to useEffect on the server.
3812
- var useIsomorphicLayoutEffect$8 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
3812
+ var useIsomorphicLayoutEffect$9 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
3813
3813
  /**
3814
3814
  * Internal (not exported from the package): a ref that always holds the latest
3815
3815
  * `value`. Lets an effect call the newest consumer callback (e.g. `onChange`)
@@ -3818,7 +3818,7 @@ var useIsomorphicLayoutEffect$8 = typeof window !== "undefined" ? React.useLayou
3818
3818
  */
3819
3819
  function useLatestRef$1(value) {
3820
3820
  var ref = React.useRef(value);
3821
- useIsomorphicLayoutEffect$8(function () {
3821
+ useIsomorphicLayoutEffect$9(function () {
3822
3822
  ref.current = value;
3823
3823
  });
3824
3824
  return ref;
@@ -5996,9 +5996,29 @@ function Portal(_ref) {
5996
5996
  // Internal (not exported from the package). Shared focus management for the
5997
5997
  // overlay primitives (Drawer, Dialog, Popover, Tour, Sidebar, AppShell).
5998
5998
  var FOCUSABLE_SELECTOR = ["a[href]", "button:not([disabled])", "textarea:not([disabled])", "input:not([disabled])", "select:not([disabled])", '[tabindex]:not([tabindex="-1"])'].join(",");
5999
+ // A responsive drawer (Sidebar's `md:hidden`, AppShell's `lg:hidden`) can be
6000
+ // "open" while CSS hides it on wide viewports; there is nothing to trap then.
6001
+ // `stopAt` (exclusive) bounds the walk, so getFocusable checks only the
6002
+ // elements between a candidate and its root.
6003
+ var isDisplayNone = function isDisplayNone(el) {
6004
+ var stopAt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
6005
+ for (var node = el; node && node.nodeType === 1 && node !== stopAt; node = node.parentElement) {
6006
+ if (window.getComputedStyle(node).display === "none") return true;
6007
+ }
6008
+ return false;
6009
+ };
6010
+ // `.focus()` silently fails on an element that is not rendered (`display:none`
6011
+ // on it or an ancestor) or is `visibility:hidden` (inherited, so the element's
6012
+ // own computed value covers its ancestors). getClientRects() is not used:
6013
+ // jsdom reports empty rects for every element.
6014
+ var isRendered = function isRendered(el, root) {
6015
+ return window.getComputedStyle(el).visibility !== "hidden" && !isDisplayNone(el, root);
6016
+ };
6017
+ // Tabbable, rendered descendants of `root`, in DOM order. Used for the initial
6018
+ // focus and for the Tab trap's first/last items.
5999
6019
  var getFocusable = function getFocusable(root) {
6000
6020
  return root ? Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter(function (el) {
6001
- return el.getAttribute("aria-hidden") !== "true";
6021
+ return el.getAttribute("aria-hidden") !== "true" && isRendered(el, root);
6002
6022
  }) : [];
6003
6023
  };
6004
6024
  // Only the most recently opened overlay reacts to Escape / Tab, so a Popover
@@ -6007,14 +6027,6 @@ var layerStack = [];
6007
6027
  var isTopLayer = function isTopLayer(token) {
6008
6028
  return layerStack[layerStack.length - 1] === token;
6009
6029
  };
6010
- // A responsive drawer (Sidebar's `md:hidden`, AppShell's `lg:hidden`) can be
6011
- // "open" while CSS hides it on wide viewports; there is nothing to trap then.
6012
- var isDisplayNone = function isDisplayNone(el) {
6013
- for (var node = el; node && node.nodeType === 1; node = node.parentElement) {
6014
- if (window.getComputedStyle(node).display === "none") return true;
6015
- }
6016
- return false;
6017
- };
6018
6030
  function cycleFocus(e, panel) {
6019
6031
  if (isDisplayNone(panel)) return;
6020
6032
  var focusables = getFocusable(panel);
@@ -6222,8 +6234,8 @@ function usePresence(open) {
6222
6234
  };
6223
6235
  }
6224
6236
 
6225
- function ownKeys$18(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6226
- function _objectSpread$18(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$18(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$18(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6237
+ function ownKeys$1a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6238
+ function _objectSpread$1a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1a(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6227
6239
  // Internal (not exported). The gesture core behind Sheet: a pointer drag along
6228
6240
  // one axis, measured "toward dismiss" for the edge the sheet is attached to.
6229
6241
  //
@@ -6425,12 +6437,12 @@ function useSheetDrag() {
6425
6437
  return {
6426
6438
  delta: delta,
6427
6439
  dragging: dragging,
6428
- dragProps: _objectSpread$18(_objectSpread$18({}, common), {}, {
6440
+ dragProps: _objectSpread$1a(_objectSpread$1a({}, common), {}, {
6429
6441
  onPointerDown: function onPointerDown(e) {
6430
6442
  return start(e, false);
6431
6443
  }
6432
6444
  }),
6433
- bodyDragProps: _objectSpread$18(_objectSpread$18({}, common), {}, {
6445
+ bodyDragProps: _objectSpread$1a(_objectSpread$1a({}, common), {}, {
6434
6446
  onPointerDown: function onPointerDown(e) {
6435
6447
  return start(e, true);
6436
6448
  }
@@ -6438,9 +6450,9 @@ function useSheetDrag() {
6438
6450
  };
6439
6451
  }
6440
6452
 
6441
- var _excluded$Z = ["open", "onClose", "placement", "snapPoints", "activeSnap", "defaultSnap", "onSnapChange", "dismissible", "dragEnabled", "handle", "scaleBackground", "initialFocus", "hasTitle", "hasDescription", "idPrefix", "testIdPrefix", "panelClassName", "handleBarClassName", "renderHeader", "children", "className", "style"];
6442
- function ownKeys$17(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6443
- function _objectSpread$17(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$17(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$17(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6453
+ var _excluded$_ = ["open", "onClose", "placement", "snapPoints", "activeSnap", "defaultSnap", "onSnapChange", "dismissible", "dragEnabled", "handle", "scaleBackground", "initialFocus", "hasTitle", "hasDescription", "idPrefix", "testIdPrefix", "panelClassName", "handleBarClassName", "renderHeader", "children", "className", "style"];
6454
+ function ownKeys$19(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6455
+ function _objectSpread$19(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$19(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$19(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6444
6456
  // Internal (not exported from the package). The shared sheet core behind
6445
6457
  // `Sheet` and `Drawer` (ADR 0001 §1): portal, backdrop, presence (enter/exit
6446
6458
  // motion), drag to dismiss + snap points, focus trap, scroll lock,
@@ -6616,7 +6628,7 @@ var SheetCore = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6616
6628
  children = _ref.children,
6617
6629
  className = _ref.className,
6618
6630
  style = _ref.style,
6619
- props = _objectWithoutProperties$1(_ref, _excluded$Z);
6631
+ props = _objectWithoutProperties$1(_ref, _excluded$_);
6620
6632
  var shown = Boolean(open);
6621
6633
  var side = SHEET_PLACEMENTS.includes(placement) ? placement : "bottom";
6622
6634
  var vertical = side === "bottom" || side === "top";
@@ -6804,7 +6816,7 @@ var SheetCore = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6804
6816
  if (!reducedMotion) {
6805
6817
  if (side === "bottom" && presence.state === "entering") motionClass = "animate-sheet-in motion-reduce:animate-none";else if (exiting && useKeyframes) motionClass = "animate-sheet-out motion-reduce:animate-none";else if (exiting || side !== "bottom" && !entered) motionClass = OFFSCREEN[side];
6806
6818
  }
6807
- var panelStyle = _objectSpread$17({}, style);
6819
+ var panelStyle = _objectSpread$19({}, style);
6808
6820
  if (height !== undefined) panelStyle.height = "".concat(height, "px");
6809
6821
  var transform = translateFor(side, translate);
6810
6822
  if (transform) panelStyle.transform = transform;
@@ -6843,7 +6855,7 @@ var SheetCore = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6843
6855
  "aria-hidden": "true",
6844
6856
  className: cn("h-1.5 w-10 rounded-pill", handleBarClassName)
6845
6857
  });
6846
- var handleNode = showHandle ? snaps ? jsxRuntime.jsx("button", _objectSpread$17(_objectSpread$17({
6858
+ var handleNode = showHandle ? snaps ? jsxRuntime.jsx("button", _objectSpread$19(_objectSpread$19({
6847
6859
  type: "button",
6848
6860
  "aria-label": "Resize sheet",
6849
6861
  "aria-keyshortcuts": "ArrowUp ArrowDown",
@@ -6853,7 +6865,7 @@ var SheetCore = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6853
6865
  }, drag.dragProps), {}, {
6854
6866
  className: cn("flex w-full shrink-0 justify-center pb-1 pt-3 focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500", side === "top" && "pb-3 pt-1", grabClass),
6855
6867
  children: handleBar
6856
- })) : jsxRuntime.jsx("div", _objectSpread$17(_objectSpread$17({
6868
+ })) : jsxRuntime.jsx("div", _objectSpread$19(_objectSpread$19({
6857
6869
  "aria-hidden": "true",
6858
6870
  "data-sheet-handle": "",
6859
6871
  "data-testid": "".concat(testIdPrefix, "-handle")
@@ -6873,7 +6885,7 @@ var SheetCore = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6873
6885
  onClick: function onClick() {
6874
6886
  return dismissible && requestClose("backdrop");
6875
6887
  }
6876
- }), jsxRuntime.jsxs("div", _objectSpread$17(_objectSpread$17({
6888
+ }), jsxRuntime.jsxs("div", _objectSpread$19(_objectSpread$19({
6877
6889
  ref: panelCallbackRef,
6878
6890
  role: "dialog",
6879
6891
  "aria-modal": "true",
@@ -6917,12 +6929,12 @@ var SheetCloseButton = function SheetCloseButton(_ref5) {
6917
6929
  });
6918
6930
  };
6919
6931
 
6920
- var _excluded$Y = ["open", "isOpen", "placement", "title", "description", "showCloseButton", "haptics", "onSnapChange"],
6932
+ var _excluded$Z = ["open", "isOpen", "placement", "title", "description", "showCloseButton", "haptics", "onSnapChange"],
6921
6933
  _excluded2$9 = ["className"],
6922
- _excluded3$4 = ["className"],
6934
+ _excluded3$5 = ["className"],
6923
6935
  _excluded4$3 = ["className"];
6924
- function ownKeys$16(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6925
- function _objectSpread$16(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$16(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$16(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6936
+ function ownKeys$18(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6937
+ function _objectSpread$18(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$18(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$18(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6926
6938
  // Phone-native sheet (ADR 0001). Bottom by default; snap points, drag to
6927
6939
  // dismiss, keyboard-aware via visualViewport. The behaviour lives in the
6928
6940
  // internal sheet core (./sheetCore.jsx), shared with Drawer (DTUI-33).
@@ -6944,7 +6956,7 @@ var Sheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6944
6956
  _ref$haptics = _ref.haptics,
6945
6957
  haptics = _ref$haptics === void 0 ? false : _ref$haptics,
6946
6958
  onSnapChange = _ref.onSnapChange,
6947
- props = _objectWithoutProperties$1(_ref, _excluded$Y);
6959
+ props = _objectWithoutProperties$1(_ref, _excluded$Z);
6948
6960
  // Opt-in: a selection tick when a drag or arrow key settles on a new snap point.
6949
6961
  var _useHaptics = useHaptics({
6950
6962
  enabled: haptics
@@ -6982,7 +6994,7 @@ var Sheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6982
6994
  })]
6983
6995
  }) : null;
6984
6996
  };
6985
- return jsxRuntime.jsx(SheetCore, _objectSpread$16({
6997
+ return jsxRuntime.jsx(SheetCore, _objectSpread$18({
6986
6998
  ref: ref,
6987
6999
  open: Boolean(open !== null && open !== void 0 ? open : isOpen),
6988
7000
  placement: side,
@@ -6999,7 +7011,7 @@ var SheetHeader = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
6999
7011
  props = _objectWithoutProperties$1(_ref3, _excluded2$9);
7000
7012
  var ctx = React.useContext(SheetContext);
7001
7013
  var dragProps = ctx ? mergeHandlers(ctx.headerDragProps, props) : {};
7002
- return jsxRuntime.jsx("div", _objectSpread$16(_objectSpread$16(_objectSpread$16({
7014
+ return jsxRuntime.jsx("div", _objectSpread$18(_objectSpread$18(_objectSpread$18({
7003
7015
  ref: ref
7004
7016
  }, props), dragProps), {}, {
7005
7017
  className: cn("shrink-0 border-b border-line px-4 py-3", ctx === null || ctx === void 0 ? void 0 : ctx.grabClass, className)
@@ -7007,10 +7019,10 @@ var SheetHeader = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
7007
7019
  });
7008
7020
  var SheetBody = /*#__PURE__*/React.forwardRef(function (_ref4, _ref5) {
7009
7021
  var className = _ref4.className,
7010
- props = _objectWithoutProperties$1(_ref4, _excluded3$4);
7022
+ props = _objectWithoutProperties$1(_ref4, _excluded3$5);
7011
7023
  var ctx = React.useContext(SheetContext);
7012
7024
  var dragProps = ctx ? mergeHandlers(ctx.bodyDragProps, props) : {};
7013
- return jsxRuntime.jsx("div", _objectSpread$16(_objectSpread$16(_objectSpread$16({
7025
+ return jsxRuntime.jsx("div", _objectSpread$18(_objectSpread$18(_objectSpread$18({
7014
7026
  ref: function ref(node) {
7015
7027
  return setRefs$1(node, _ref5, ctx === null || ctx === void 0 ? void 0 : ctx.setBodyEl);
7016
7028
  },
@@ -7022,7 +7034,7 @@ var SheetBody = /*#__PURE__*/React.forwardRef(function (_ref4, _ref5) {
7022
7034
  var SheetFooter = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
7023
7035
  var className = _ref6.className,
7024
7036
  props = _objectWithoutProperties$1(_ref6, _excluded4$3);
7025
- return jsxRuntime.jsx("div", _objectSpread$16({
7037
+ return jsxRuntime.jsx("div", _objectSpread$18({
7026
7038
  ref: ref,
7027
7039
  className: cn("sticky bottom-0 flex shrink-0 items-center justify-end gap-3 border-t border-line bg-surface px-4 py-3", className)
7028
7040
  }, props));
@@ -7034,9 +7046,9 @@ Sheet.Header = SheetHeader;
7034
7046
  Sheet.Body = SheetBody;
7035
7047
  Sheet.Footer = SheetFooter;
7036
7048
 
7037
- var _excluded$X = ["options", "value", "onChange", "placeholder", "label", "error", "helperText", "disabled", "required", "multiSelect", "searchable", "grouped", "onMenuItemRender", "className", "allowClear", "creatable", "onCreateOption", "onSearch", "loading", "selectAllOption", "closeOnSelect", "maxTagCount", "renderGroupLabel", "name", "size", "presentation"];
7038
- function ownKeys$15(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7039
- function _objectSpread$15(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$15(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$15(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7049
+ var _excluded$Y = ["options", "value", "onChange", "placeholder", "label", "error", "helperText", "disabled", "required", "multiSelect", "searchable", "grouped", "onMenuItemRender", "className", "allowClear", "creatable", "onCreateOption", "onSearch", "loading", "selectAllOption", "closeOnSelect", "maxTagCount", "renderGroupLabel", "name", "size", "presentation"];
7050
+ function ownKeys$17(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7051
+ function _objectSpread$17(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$17(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$17(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7040
7052
  /**
7041
7053
  * Enhanced Select component (debounce removed)
7042
7054
  * - Supports single and multi select
@@ -7092,7 +7104,7 @@ var normalizeGroups = function normalizeGroups(options) {
7092
7104
  if (Array.isArray(item.options)) {
7093
7105
  var valid = item.options.filter(isPlainObject$4);
7094
7106
  if (valid.length !== item.options.length) malformed = true;
7095
- groups.push(_objectSpread$15(_objectSpread$15({}, item), {}, {
7107
+ groups.push(_objectSpread$17(_objectSpread$17({}, item), {}, {
7096
7108
  options: valid
7097
7109
  }));
7098
7110
  return;
@@ -7115,7 +7127,7 @@ var flattenGroups = function flattenGroups() {
7115
7127
  return groups.reduce(function (acc, g) {
7116
7128
  var groupLabel = g.label;
7117
7129
  g.options.forEach(function (opt) {
7118
- return acc.push(_objectSpread$15(_objectSpread$15({}, opt), {}, {
7130
+ return acc.push(_objectSpread$17(_objectSpread$17({}, opt), {}, {
7119
7131
  _group: groupLabel
7120
7132
  }));
7121
7133
  });
@@ -7190,7 +7202,7 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7190
7202
  size = _ref$size === void 0 ? "md" : _ref$size,
7191
7203
  _ref$presentation = _ref.presentation,
7192
7204
  presentation = _ref$presentation === void 0 ? "auto" : _ref$presentation,
7193
- props = _objectWithoutProperties$1(_ref, _excluded$X);
7205
+ props = _objectWithoutProperties$1(_ref, _excluded$Y);
7194
7206
  var _useState = React.useState(false),
7195
7207
  _useState2 = _slicedToArray(_useState, 2),
7196
7208
  isOpen = _useState2[0],
@@ -7271,7 +7283,7 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7271
7283
  var flatOptions = React.useMemo(function () {
7272
7284
  if (grouped) return flattenGroups(groupedOptions);
7273
7285
  return (Array.isArray(options) ? options : []).filter(isPlainObject$4).map(function (opt) {
7274
- return _objectSpread$15({}, opt);
7286
+ return _objectSpread$17({}, opt);
7275
7287
  });
7276
7288
  }, [options, grouped, groupedOptions]);
7277
7289
  var selectedValues = React.useMemo(function () {
@@ -7305,7 +7317,7 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7305
7317
  };
7306
7318
  if (grouped) {
7307
7319
  return groupedOptions.map(function (g) {
7308
- return _objectSpread$15(_objectSpread$15({}, g), {}, {
7320
+ return _objectSpread$17(_objectSpread$17({}, g), {}, {
7309
7321
  options: g.options.filter(matches)
7310
7322
  });
7311
7323
  }).filter(function (g) {
@@ -7517,7 +7529,8 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7517
7529
  return document.removeEventListener("mousedown", handleClickOutside);
7518
7530
  };
7519
7531
  }, []);
7520
- var showClearButton = allowClear && !disabled && selectedOptions.length > 0;
7532
+ var isEmpty = selectedOptions.length === 0;
7533
+ var showClearButton = allowClear && !disabled && !isEmpty;
7521
7534
  var displayValue = function displayValue() {
7522
7535
  var _selectedOptions$;
7523
7536
  if (multiSelect) {
@@ -7596,7 +7609,7 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7596
7609
  className: "text-xs border border-slate-200 p-0.5 rounded-md cursor-pointer hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-primary-500",
7597
7610
  onClick: function onClick() {
7598
7611
  return setCollapsedGroups(function (prev) {
7599
- return _objectSpread$15(_objectSpread$15({}, prev), {}, _defineProperty$4({}, group.label, !prev[group.label]));
7612
+ return _objectSpread$17(_objectSpread$17({}, prev), {}, _defineProperty$4({}, group.label, !prev[group.label]));
7600
7613
  });
7601
7614
  },
7602
7615
  children: jsxRuntime.jsx(ChevronDown, {
@@ -7763,7 +7776,7 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7763
7776
  }), jsxRuntime.jsxs("div", {
7764
7777
  ref: wrapperRef,
7765
7778
  className: "relative",
7766
- children: [jsxRuntime.jsxs("button", _objectSpread$15(_objectSpread$15({
7779
+ children: [jsxRuntime.jsxs("button", _objectSpread$17(_objectSpread$17({
7767
7780
  ref: triggerRef,
7768
7781
  type: "button",
7769
7782
  id: baseId,
@@ -7775,9 +7788,12 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7775
7788
  "aria-invalid": error ? true : undefined,
7776
7789
  className: cn("flex w-full items-center justify-between rounded-md border border-gray-300 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent disabled:cursor-not-allowed disabled:opacity-50", SIZE_CLASSES$3[size] || SIZE_CLASSES$3.md, {
7777
7790
  "border-error-500 focus:ring-error-500": error,
7778
- "text-primary-500": !selectedOptions.length,
7791
+ // Empty: the placeholder reads muted, like Input's
7792
+ // ::placeholder (#159). `className` still merges last.
7793
+ "text-muted": isEmpty,
7779
7794
  "pr-14": showClearButton
7780
7795
  }, className),
7796
+ "data-empty": isEmpty ? "" : undefined,
7781
7797
  onClick: function onClick() {
7782
7798
  if (!disabled) {
7783
7799
  setIsOpen(function (prev) {
@@ -7837,7 +7853,7 @@ var Select = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
7837
7853
  // by useFloatingPosition (flip / shift; width matches the
7838
7854
  // trigger; max-height follows the room left). Transparent
7839
7855
  // until the first position so it never flashes at (0,0).
7840
- style: _objectSpread$15(_objectSpread$15({}, floatingStyles), isPositioned ? {} : {
7856
+ style: _objectSpread$17(_objectSpread$17({}, floatingStyles), isPositioned ? {} : {
7841
7857
  opacity: 0
7842
7858
  }),
7843
7859
  children: [searchable && jsxRuntime.jsx("div", {
@@ -8305,8 +8321,8 @@ var DEFAULT_ACTIONS = [{
8305
8321
  })
8306
8322
  }];
8307
8323
 
8308
- function ownKeys$14(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8309
- function _objectSpread$14(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$14(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$14(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8324
+ function ownKeys$16(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8325
+ function _objectSpread$16(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$16(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$16(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8310
8326
  function _createForOfIteratorHelper$1(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = true, u = false; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = true, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
8311
8327
  function _unsupportedIterableToArray$1(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$1(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; } }
8312
8328
  function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -8385,7 +8401,7 @@ var mergeDefaultActions = function mergeDefaultActions(overrides, defaults) {
8385
8401
  _iterator.f();
8386
8402
  }
8387
8403
  var merged = defaults.map(function (d) {
8388
- return d !== null && d !== void 0 && d.name && byName.has(d.name) ? _objectSpread$14(_objectSpread$14({}, d), byName.get(d.name)) : d;
8404
+ return d !== null && d !== void 0 && d.name && byName.has(d.name) ? _objectSpread$16(_objectSpread$16({}, d), byName.get(d.name)) : d;
8389
8405
  });
8390
8406
  var defaultNames = new Set(defaults.map(function (d) {
8391
8407
  return d === null || d === void 0 ? void 0 : d.name;
@@ -8427,7 +8443,7 @@ var resolveActions = function resolveActions(actions, row, index) {
8427
8443
  var action = _step2.value;
8428
8444
  if (!action || _typeof$4(action) !== "object") continue;
8429
8445
  if (callIfFn(action.hidden, row, index)) continue;
8430
- var resolved = _objectSpread$14(_objectSpread$14({}, action), {}, {
8446
+ var resolved = _objectSpread$16(_objectSpread$16({}, action), {}, {
8431
8447
  label: callIfFn(action.label, row, index),
8432
8448
  icon: callIfFn(action.icon, row, index),
8433
8449
  disabled: !!callIfFn(action.disabled, row, index),
@@ -8715,8 +8731,8 @@ function ColumnMenu(_ref) {
8715
8731
  });
8716
8732
  }
8717
8733
 
8718
- function ownKeys$13(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8719
- function _objectSpread$13(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$13(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$13(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8734
+ function ownKeys$15(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8735
+ function _objectSpread$15(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$15(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$15(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8720
8736
  var FIELD_CLASSES = "w-full rounded-md border border-line bg-surface px-3 py-2 text-base sm:text-sm text-foreground outline-none focus-visible:ring-2 focus-visible:ring-primary-500";
8721
8737
  var FOOTER_BUTTON = "inline-flex min-h-11 flex-1 items-center justify-center rounded-lg px-4 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-primary-500 transition-colors duration-fast motion-reduce:transition-none";
8722
8738
  /** Number of non-empty filters (the global search counts as one). */
@@ -8778,7 +8794,7 @@ function FilterSheet(_ref) {
8778
8794
  };
8779
8795
  var setField = function setField(key, value) {
8780
8796
  return setDraft(function (prev) {
8781
- return _objectSpread$13(_objectSpread$13({}, prev), {}, _defineProperty$4({}, key, value));
8797
+ return _objectSpread$15(_objectSpread$15({}, prev), {}, _defineProperty$4({}, key, value));
8782
8798
  });
8783
8799
  };
8784
8800
  var formId = "".concat(idPrefix, "-filters");
@@ -9066,8 +9082,8 @@ function normalizeAction(action, idx) {
9066
9082
  };
9067
9083
  }
9068
9084
 
9069
- function ownKeys$12(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9070
- function _objectSpread$12(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$12(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$12(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9085
+ function ownKeys$14(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9086
+ function _objectSpread$14(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$14(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$14(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9071
9087
  // Internal (not exported). Desktop presentation of the action menu: a
9072
9088
  // portaled, floating `role="menu"` anchored to its trigger (flip + shift via
9073
9089
  // useFloatingPosition), with roving focus and Escape/outside-press dismissal.
@@ -9178,7 +9194,7 @@ function MenuPopover(_ref) {
9178
9194
  tabIndex: -1,
9179
9195
  "data-presentation": "popover",
9180
9196
  className: cn(MENU_CLASSES, className),
9181
- style: _objectSpread$12(_objectSpread$12({}, floatingStyles), {}, {
9197
+ style: _objectSpread$14(_objectSpread$14({}, floatingStyles), {}, {
9182
9198
  opacity: isPositioned ? 1 : 0
9183
9199
  }),
9184
9200
  onKeyDown: function onKeyDown(e) {
@@ -9230,9 +9246,9 @@ function MenuPopover(_ref) {
9230
9246
  });
9231
9247
  }
9232
9248
 
9233
- var _excluded$W = ["open", "onClose", "groups", "onSelectItem", "title", "message", "label", "cancelLabel", "emptyLabel", "itemClassName", "className"];
9234
- function ownKeys$11(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9235
- function _objectSpread$11(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$11(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$11(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9249
+ var _excluded$X = ["open", "onClose", "groups", "onSelectItem", "title", "message", "label", "cancelLabel", "emptyLabel", "itemClassName", "className"];
9250
+ function ownKeys$13(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9251
+ function _objectSpread$13(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$13(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$13(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9236
9252
  // Internal. The one action-sheet implementation: an iOS-style action sheet in
9237
9253
  // a bottom Sheet. Actions sit in rounded cards (one card per group),
9238
9254
  // destructive actions use the error tone, and a separate Cancel button closes
@@ -9273,7 +9289,7 @@ var ActionSheetMenu = /*#__PURE__*/React.forwardRef(function ActionSheetMenu(_re
9273
9289
  emptyLabel = _ref$emptyLabel === void 0 ? "No actions" : _ref$emptyLabel,
9274
9290
  itemClassName = _ref.itemClassName,
9275
9291
  className = _ref.className,
9276
- rest = _objectWithoutProperties$1(_ref, _excluded$W);
9292
+ rest = _objectWithoutProperties$1(_ref, _excluded$X);
9277
9293
  var nonEmpty = (groups || []).filter(function (g) {
9278
9294
  return Array.isArray(g) && g.length > 0;
9279
9295
  });
@@ -9295,7 +9311,7 @@ var ActionSheetMenu = /*#__PURE__*/React.forwardRef(function ActionSheetMenu(_re
9295
9311
  children: message
9296
9312
  })]
9297
9313
  }) : null;
9298
- return jsxRuntime.jsx(Sheet, _objectSpread$11(_objectSpread$11({
9314
+ return jsxRuntime.jsx(Sheet, _objectSpread$13(_objectSpread$13({
9299
9315
  ref: ref,
9300
9316
  open: open,
9301
9317
  onClose: onClose,
@@ -9523,8 +9539,8 @@ function ActionMenu(_ref) {
9523
9539
  });
9524
9540
  }
9525
9541
 
9526
- function ownKeys$10(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9527
- function _objectSpread$10(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$10(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9542
+ function ownKeys$12(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9543
+ function _objectSpread$12(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$12(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$12(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9528
9544
  /**
9529
9545
  * Desktop table row component
9530
9546
  */
@@ -9611,7 +9627,7 @@ function TableRow(_ref) {
9611
9627
  var isRowActive = interactive && (activeCell === null || activeCell === void 0 ? void 0 : activeCell.rowKey) === rowKey;
9612
9628
  var effectiveRow = React.useMemo(function () {
9613
9629
  if (!interactive || !pendingEdits || !pendingEdits[rowKey]) return row;
9614
- return _objectSpread$10(_objectSpread$10({}, row), pendingEdits[rowKey]);
9630
+ return _objectSpread$12(_objectSpread$12({}, row), pendingEdits[rowKey]);
9615
9631
  }, [interactive, pendingEdits, rowKey, row]);
9616
9632
  return jsxRuntime.jsxs(React.Fragment, {
9617
9633
  children: [jsxRuntime.jsxs("tr", {
@@ -10013,9 +10029,9 @@ function useSwipeGesture(_ref2) {
10013
10029
  };
10014
10030
  }
10015
10031
 
10016
- var _excluded$V = ["as", "children", "leadingActions", "trailingActions", "fullSwipe", "fullSwipeThreshold", "actionWidth", "open", "defaultOpen", "onOpenChange", "disabled", "moreActions", "moreActionsLabel", "menuPresentation", "contentClassName", "className", "onKeyDown"];
10017
- function ownKeys$$(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10018
- function _objectSpread$$(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$$(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$$(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10032
+ var _excluded$W = ["as", "children", "leadingActions", "trailingActions", "fullSwipe", "fullSwipeThreshold", "actionWidth", "open", "defaultOpen", "onOpenChange", "disabled", "moreActions", "moreActionsLabel", "menuPresentation", "contentClassName", "className", "onKeyDown"];
10033
+ function ownKeys$11(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10034
+ function _objectSpread$11(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$11(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$11(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10019
10035
  // The iOS Mail / Gmail row: swipe horizontally to reveal actions, swipe all
10020
10036
  // the way to commit the first one. Every action is also reachable without a
10021
10037
  // gesture through the "More actions" button (a menu, or an action sheet on
@@ -10110,7 +10126,7 @@ var SwipeableListItem = /*#__PURE__*/React.forwardRef(function SwipeableListItem
10110
10126
  contentClassName = _ref2.contentClassName,
10111
10127
  className = _ref2.className,
10112
10128
  onKeyDown = _ref2.onKeyDown,
10113
- rest = _objectWithoutProperties$1(_ref2, _excluded$V);
10129
+ rest = _objectWithoutProperties$1(_ref2, _excluded$W);
10114
10130
  var leading = React.useMemo(function () {
10115
10131
  return Array.isArray(leadingActions) ? leadingActions : [];
10116
10132
  }, [leadingActions]);
@@ -10213,7 +10229,7 @@ var SwipeableListItem = /*#__PURE__*/React.forwardRef(function SwipeableListItem
10213
10229
  setOpenSide(null);
10214
10230
  }
10215
10231
  };
10216
- return jsxRuntime.jsxs(Component, _objectSpread$$(_objectSpread$$({
10232
+ return jsxRuntime.jsxs(Component, _objectSpread$11(_objectSpread$11({
10217
10233
  ref: function ref(node) {
10218
10234
  return setRefs$1(node, rootRef, _ref4);
10219
10235
  },
@@ -10238,7 +10254,7 @@ var SwipeableListItem = /*#__PURE__*/React.forwardRef(function SwipeableListItem
10238
10254
  armed: armed === "trailing",
10239
10255
  dragging: dragging,
10240
10256
  onSelect: runAction
10241
- }), jsxRuntime.jsx("div", _objectSpread$$(_objectSpread$$({
10257
+ }), jsxRuntime.jsx("div", _objectSpread$11(_objectSpread$11({
10242
10258
  "data-swipe-content": "",
10243
10259
  className: cn("relative bg-surface touch-pan-y", dragging ? "select-none" : cn("transition-transform", MOTION), contentClassName),
10244
10260
  style: x ? {
@@ -10666,10 +10682,10 @@ function FieldInput(_ref) {
10666
10682
  });
10667
10683
  }
10668
10684
 
10669
- var _excluded$U = ["data", "columns", "sortable", "filterable", "selectable", "pagination", "paginationPosition", "pageSize", "onSort", "onFilter", "onFetch", "onFilterChange", "onSelectionChange", "onRowClick", "hasDetails", "DetailsComponent", "className", "withAction", "onAction", "actions", "replaceDefaultActions", "showSerial", "cellClass", "rowClass", "globalSearch", "limitOptions", "showLimitSelector", "onLimitChange", "showReloadButton", "renderReloadButton", "onReload", "stripedRows", "theme", "responsiveBreakpoint", "showToolbar", "showColumnPicker", "wrapCells", "mobileMaxFields", "serverSide", "totalRecords", "pageNumber", "onPageChange", "TheadComponent", "TfootComponent", "interactive", "onSave", "onEdit", "onRowAdd", "onRowDelete", "editKeyBinding", "newRowPosition", "addRowRef", "onInitAddRow", "renderAddRowButton", "renderExternalAddRow", "actionMenuPresentation", "defaultMobileView", "mobileFiltersPresentation", "swipeActions", "stickyHeader"],
10685
+ var _excluded$V = ["data", "columns", "sortable", "filterable", "selectable", "pagination", "paginationPosition", "pageSize", "onSort", "onFilter", "onFetch", "onFilterChange", "onSelectionChange", "onRowClick", "hasDetails", "DetailsComponent", "className", "withAction", "onAction", "actions", "replaceDefaultActions", "showSerial", "cellClass", "rowClass", "globalSearch", "limitOptions", "showLimitSelector", "onLimitChange", "showReloadButton", "renderReloadButton", "onReload", "stripedRows", "theme", "responsiveBreakpoint", "showToolbar", "showColumnPicker", "wrapCells", "mobileMaxFields", "serverSide", "totalRecords", "pageNumber", "onPageChange", "TheadComponent", "TfootComponent", "interactive", "onSave", "onEdit", "onRowAdd", "onRowDelete", "editKeyBinding", "newRowPosition", "addRowRef", "onInitAddRow", "renderAddRowButton", "renderExternalAddRow", "actionMenuPresentation", "defaultMobileView", "mobileFiltersPresentation", "swipeActions", "stickyHeader"],
10670
10686
  _excluded2$8 = ["_key", "_isNew"];
10671
- function ownKeys$_(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10672
- function _objectSpread$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10687
+ function ownKeys$10(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10688
+ function _objectSpread$10(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$10(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10673
10689
  var DEFAULT_DATA = [];
10674
10690
  var DEFAULT_COLUMNS = [];
10675
10691
  var DEFAULT_THEME = {
@@ -10775,8 +10791,8 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
10775
10791
  swipeActions = _ref.swipeActions,
10776
10792
  _ref$stickyHeader = _ref.stickyHeader,
10777
10793
  stickyHeader = _ref$stickyHeader === void 0 ? false : _ref$stickyHeader,
10778
- props = _objectWithoutProperties$1(_ref, _excluded$U);
10779
- theme = _objectSpread$_(_objectSpread$_({}, DEFAULT_THEME), theme);
10794
+ props = _objectWithoutProperties$1(_ref, _excluded$V);
10795
+ theme = _objectSpread$10(_objectSpread$10({}, DEFAULT_THEME), theme);
10780
10796
  // Card mode follows a media query (SSR-safe): `defaultMobileView` on the
10781
10797
  // server and while hydrating, then the live match. Same semantics as the old
10782
10798
  // `window.innerWidth < responsiveBreakpoint` check.
@@ -10807,7 +10823,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
10807
10823
  setCurrentPage = _useState8[1];
10808
10824
  var _useState9 = React.useState(function () {
10809
10825
  return Array.isArray(initialColumns) ? initialColumns.map(function (c) {
10810
- return _objectSpread$_({}, c);
10826
+ return _objectSpread$10({}, c);
10811
10827
  }) : [];
10812
10828
  }),
10813
10829
  _useState0 = _slicedToArray(_useState9, 2),
@@ -10925,7 +10941,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
10925
10941
  return getRowKey(r, i) === rowKey;
10926
10942
  });
10927
10943
  if (!origRow) return;
10928
- var effectiveRow = _objectSpread$_(_objectSpread$_({}, origRow), pendingEdits[rowKey] || {});
10944
+ var effectiveRow = _objectSpread$10(_objectSpread$10({}, origRow), pendingEdits[rowKey] || {});
10929
10945
  columnsState.forEach(function (col) {
10930
10946
  var _col$rules;
10931
10947
  if (col.isVisible === false) return;
@@ -10992,7 +11008,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
10992
11008
  if (newRowIdx !== -1) {
10993
11009
  setNewRows(function (prev) {
10994
11010
  var next = _toConsumableArray$1(prev);
10995
- next[newRowIdx] = _objectSpread$_(_objectSpread$_({}, next[newRowIdx]), {}, _defineProperty$4({}, colKey, newValue));
11011
+ next[newRowIdx] = _objectSpread$10(_objectSpread$10({}, next[newRowIdx]), {}, _defineProperty$4({}, colKey, newValue));
10996
11012
  onEdit === null || onEdit === void 0 || onEdit({
10997
11013
  rowKey: rowKey,
10998
11014
  colKey: colKey,
@@ -11005,11 +11021,11 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11005
11021
  return;
11006
11022
  }
11007
11023
  setPendingEdits(function (prev) {
11008
- var nextRowEdits = _objectSpread$_(_objectSpread$_({}, prev[rowKey] || {}), {}, _defineProperty$4({}, colKey, newValue));
11024
+ var nextRowEdits = _objectSpread$10(_objectSpread$10({}, prev[rowKey] || {}), {}, _defineProperty$4({}, colKey, newValue));
11009
11025
  var origRow = tableData.find(function (r, i) {
11010
11026
  return getRowKey(r, i) === rowKey;
11011
11027
  });
11012
- var updatedRow = _objectSpread$_(_objectSpread$_({}, origRow), nextRowEdits);
11028
+ var updatedRow = _objectSpread$10(_objectSpread$10({}, origRow), nextRowEdits);
11013
11029
  onEdit === null || onEdit === void 0 || onEdit({
11014
11030
  rowKey: rowKey,
11015
11031
  colKey: colKey,
@@ -11017,7 +11033,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11017
11033
  row: updatedRow,
11018
11034
  isNew: false
11019
11035
  });
11020
- return _objectSpread$_(_objectSpread$_({}, prev), {}, _defineProperty$4({}, rowKey, nextRowEdits));
11036
+ return _objectSpread$10(_objectSpread$10({}, prev), {}, _defineProperty$4({}, rowKey, nextRowEdits));
11021
11037
  });
11022
11038
  }, [newRows, tableData, onEdit]);
11023
11039
  var _handleAddRow = React.useCallback(function (positionOverride) {
@@ -11085,7 +11101,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11085
11101
  });
11086
11102
  });
11087
11103
  setPendingEdits(function (prev) {
11088
- var next = _objectSpread$_({}, prev);
11104
+ var next = _objectSpread$10({}, prev);
11089
11105
  delete next[rowKey];
11090
11106
  return next;
11091
11107
  });
@@ -11111,7 +11127,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11111
11127
  updatedTableData = tableData.map(function (row, i) {
11112
11128
  var rKey = getRowKey(row, i);
11113
11129
  if (dirtyEdits[rKey]) {
11114
- return _objectSpread$_(_objectSpread$_({}, row), dirtyEdits[rKey]);
11130
+ return _objectSpread$10(_objectSpread$10({}, row), dirtyEdits[rKey]);
11115
11131
  }
11116
11132
  return row;
11117
11133
  });
@@ -11244,7 +11260,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11244
11260
  React.useEffect(function () {
11245
11261
  if (initialColumns !== initialColumnsRef.current) {
11246
11262
  setColumnsState(Array.isArray(initialColumns) ? initialColumns.map(function (c) {
11247
- return _objectSpread$_({}, c);
11263
+ return _objectSpread$10({}, c);
11248
11264
  }) : []);
11249
11265
  initialColumnsRef.current = initialColumns;
11250
11266
  }
@@ -11575,7 +11591,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11575
11591
  var toggleColumnVisibility = React.useCallback(function (key) {
11576
11592
  setColumnsState(function (prev) {
11577
11593
  return prev.map(function (c) {
11578
- return c.key === key ? _objectSpread$_(_objectSpread$_({}, c), {}, {
11594
+ return c.key === key ? _objectSpread$10(_objectSpread$10({}, c), {}, {
11579
11595
  isVisible: !(c.isVisible !== false)
11580
11596
  }) : c;
11581
11597
  });
@@ -11594,7 +11610,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11594
11610
  }, [sortable, onSort]);
11595
11611
  var handleFilter = React.useCallback(function (key, value) {
11596
11612
  setFilters(function (prev) {
11597
- var newFilters = _objectSpread$_(_objectSpread$_({}, prev), {}, _defineProperty$4({}, key, value));
11613
+ var newFilters = _objectSpread$10(_objectSpread$10({}, prev), {}, _defineProperty$4({}, key, value));
11598
11614
  onFilter === null || onFilter === void 0 || onFilter(newFilters);
11599
11615
  onFilterChange === null || onFilterChange === void 0 || onFilterChange(newFilters);
11600
11616
  return newFilters;
@@ -11604,7 +11620,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
11604
11620
  // Commits several filters at once (the phone filter sheet's Apply).
11605
11621
  var applyFilters = React.useCallback(function (patch) {
11606
11622
  setFilters(function (prev) {
11607
- var newFilters = _objectSpread$_(_objectSpread$_({}, prev), patch);
11623
+ var newFilters = _objectSpread$10(_objectSpread$10({}, prev), patch);
11608
11624
  onFilter === null || onFilter === void 0 || onFilter(newFilters);
11609
11625
  onFilterChange === null || onFilterChange === void 0 || onFilterChange(newFilters);
11610
11626
  return newFilters;
@@ -12018,7 +12034,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
12018
12034
  style: stickyHeader && stickyHeader !== true ? {
12019
12035
  maxHeight: typeof stickyHeader === "number" ? "".concat(stickyHeader, "px") : stickyHeader
12020
12036
  } : undefined,
12021
- children: jsxRuntime.jsxs("table", _objectSpread$_(_objectSpread$_({
12037
+ children: jsxRuntime.jsxs("table", _objectSpread$10(_objectSpread$10({
12022
12038
  className: cn("min-w-full divide-y divide-line", className)
12023
12039
  }, props), {}, {
12024
12040
  children: [jsxRuntime.jsxs("thead", {
@@ -12168,7 +12184,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
12168
12184
  }), interactive && newRowPosition !== "top" && renderAddRowClickableRow()]
12169
12185
  }) : jsxRuntime.jsxs(jsxRuntime.Fragment, {
12170
12186
  children: [interactive && newRowPosition === "top" && renderAddRowClickableRow(), interactive && newRowPosition === "top" && newRows.map(function (newRow, newIdx) {
12171
- return jsxRuntime.jsx(TableRow, _objectSpread$_({
12187
+ return jsxRuntime.jsx(TableRow, _objectSpread$10({
12172
12188
  row: newRow,
12173
12189
  rowIndexInPage: newIdx,
12174
12190
  startIndex: 0,
@@ -12177,14 +12193,14 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
12177
12193
  onDeleteNewRow: handleDeleteNewRow
12178
12194
  }, rowSharedProps), newRow._key);
12179
12195
  }), paginatedData.map(function (row, rowIndexInPage) {
12180
- return jsxRuntime.jsx(TableRow, _objectSpread$_({
12196
+ return jsxRuntime.jsx(TableRow, _objectSpread$10({
12181
12197
  row: row,
12182
12198
  rowIndexInPage: rowIndexInPage,
12183
12199
  startIndex: startIndex,
12184
12200
  visibleCount: visibleCount
12185
12201
  }, rowSharedProps), getRowKey(row, startIndex + rowIndexInPage));
12186
12202
  }), interactive && newRowPosition !== "top" && newRows.map(function (newRow, newIdx) {
12187
- return jsxRuntime.jsx(TableRow, _objectSpread$_({
12203
+ return jsxRuntime.jsx(TableRow, _objectSpread$10({
12188
12204
  row: newRow,
12189
12205
  rowIndexInPage: paginatedData.length + newIdx,
12190
12206
  startIndex: 0,
@@ -12224,7 +12240,7 @@ var Table = /*#__PURE__*/React.forwardRef(function Table(_ref, ref) {
12224
12240
  })]
12225
12241
  })
12226
12242
  }) : paginatedData.map(function (row, rowIndexInPage) {
12227
- return jsxRuntime.jsx(MobileCard, _objectSpread$_(_objectSpread$_({
12243
+ return jsxRuntime.jsx(MobileCard, _objectSpread$10(_objectSpread$10({
12228
12244
  row: row,
12229
12245
  rowIndexInPage: rowIndexInPage,
12230
12246
  startIndex: startIndex
@@ -12398,7 +12414,7 @@ var getProxyFormState = (formState, control, localProxyFormState, isRoot = true)
12398
12414
  return result;
12399
12415
  };
12400
12416
 
12401
- const useIsomorphicLayoutEffect$7 = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
12417
+ const useIsomorphicLayoutEffect$8 = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
12402
12418
 
12403
12419
  /**
12404
12420
  * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.
@@ -12444,7 +12460,7 @@ function useFormState(props) {
12444
12460
  isValid: false,
12445
12461
  errors: false,
12446
12462
  });
12447
- useIsomorphicLayoutEffect$7(() => control._subscribe({
12463
+ useIsomorphicLayoutEffect$8(() => control._subscribe({
12448
12464
  name,
12449
12465
  formState: _localProxyFormState.current,
12450
12466
  exact,
@@ -12563,7 +12579,7 @@ function useWatch(props) {
12563
12579
  }
12564
12580
  }
12565
12581
  }, [control._formValues, control._names, disabled, name]);
12566
- useIsomorphicLayoutEffect$7(() => {
12582
+ useIsomorphicLayoutEffect$8(() => {
12567
12583
  if (_prevControl.current !== control ||
12568
12584
  !deepEqual(_prevName.current, name)) {
12569
12585
  _prevControl.current = control;
@@ -14644,7 +14660,7 @@ function useForm(props = {}) {
14644
14660
  }
14645
14661
  const control = _formControl.current.control;
14646
14662
  control._options = props;
14647
- useIsomorphicLayoutEffect$7(() => {
14663
+ useIsomorphicLayoutEffect$8(() => {
14648
14664
  const sub = control._subscribe({
14649
14665
  formState: control._proxyFormState,
14650
14666
  callback: () => updateFormState({ ...control._formState }),
@@ -17647,8 +17663,8 @@ function subMonths(dirtyDate, dirtyAmount) {
17647
17663
  return addMonths(dirtyDate, -amount);
17648
17664
  }
17649
17665
 
17650
- function ownKeys$Z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17651
- function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17666
+ function ownKeys$$(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17667
+ function _objectSpread$$(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$$(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$$(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17652
17668
  // Internal (not exported). The month calendar shared by DatePicker and
17653
17669
  // DateRangePicker: month header, weekday row and an ARIA grid of days with a
17654
17670
  // roving tabindex, arrow/Home/End/PageUp/PageDown navigation and (in sheet
@@ -17895,7 +17911,7 @@ function Calendar(_ref3) {
17895
17911
  children: label
17896
17912
  }, label);
17897
17913
  })
17898
- }), jsxRuntime.jsx("div", _objectSpread$Z(_objectSpread$Z({
17914
+ }), jsxRuntime.jsx("div", _objectSpread$$(_objectSpread$$({
17899
17915
  ref: grid,
17900
17916
  role: "grid",
17901
17917
  "aria-label": format(month, "MMMM yyyy"),
@@ -18018,9 +18034,9 @@ function PickerSurface(_ref4) {
18018
18034
  return portal && typeof document !== "undefined" ? /*#__PURE__*/ReactDOM.createPortal(popup, document.body) : popup;
18019
18035
  }
18020
18036
 
18021
- var _excluded$T = ["value", "onChange", "placeholder", "label", "error", "helperText", "disabled", "required", "minDate", "maxDate", "className", "weekStartsOn", "portal", "displayFormat", "locale", "showClear", "closeOnSelect", "presentation"];
18022
- function ownKeys$Y(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18023
- function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18037
+ var _excluded$U = ["value", "onChange", "placeholder", "label", "error", "helperText", "disabled", "required", "minDate", "maxDate", "className", "weekStartsOn", "portal", "displayFormat", "locale", "showClear", "closeOnSelect", "presentation"];
18038
+ function ownKeys$_(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18039
+ function _objectSpread$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18024
18040
  var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
18025
18041
  var value = _ref.value,
18026
18042
  onChange = _ref.onChange,
@@ -18048,7 +18064,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
18048
18064
  closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
18049
18065
  _ref$presentation = _ref.presentation,
18050
18066
  presentation = _ref$presentation === void 0 ? "auto" : _ref$presentation,
18051
- props = _objectWithoutProperties$1(_ref, _excluded$T);
18067
+ props = _objectWithoutProperties$1(_ref, _excluded$U);
18052
18068
  // Stable ids wiring label / helper / error to the trigger button.
18053
18069
  // A consumer `id` (spread onto the trigger via ...props) wins.
18054
18070
  var reactId = React.useId();
@@ -18212,7 +18228,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
18212
18228
  }), jsxRuntime.jsxs("div", {
18213
18229
  ref: fieldRef,
18214
18230
  className: "relative",
18215
- children: [jsxRuntime.jsxs("button", _objectSpread$Y(_objectSpread$Y({
18231
+ children: [jsxRuntime.jsxs("button", _objectSpread$_(_objectSpread$_({
18216
18232
  ref: triggerRef,
18217
18233
  type: "button",
18218
18234
  id: fieldId,
@@ -18221,10 +18237,13 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
18221
18237
  "aria-invalid": error ? true : undefined,
18222
18238
  className: cn("flex w-full items-center justify-between rounded-md border border-gray-300 bg-white px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent disabled:cursor-not-allowed disabled:opacity-50", {
18223
18239
  "border-error-500 focus:ring-error-500": error,
18224
- "text-primary-500": !selected,
18240
+ // Empty: the placeholder reads muted, like Input's
18241
+ // ::placeholder (#159). `className` still merges last.
18242
+ "text-muted": !selected,
18225
18243
  // leave room for the sibling clear button overlaid on the field
18226
18244
  "pr-16": showClear && selected
18227
18245
  }, className),
18246
+ "data-empty": selected ? undefined : "",
18228
18247
  onClick: function onClick() {
18229
18248
  return setIsOpen(function (open) {
18230
18249
  return !open;
@@ -18296,9 +18315,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
18296
18315
  });
18297
18316
  DatePicker.displayName = "DatePicker";
18298
18317
 
18299
- var _excluded$S = ["id", "name", "checked", "defaultChecked", "onChange", "disabled", "size", "color", "trackClass", "thumbClass", "className", "topLabel", "bottomLabel", "rightLabel", "leftLabel", "ariaLabel", "onPointerDown", "onPointerMove", "onPointerUp", "onPointerCancel", "haptics"];
18300
- function ownKeys$X(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18301
- function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18318
+ var _excluded$T = ["id", "name", "checked", "defaultChecked", "onChange", "disabled", "size", "color", "trackClass", "thumbClass", "className", "topLabel", "bottomLabel", "rightLabel", "leftLabel", "ariaLabel", "onPointerDown", "onPointerMove", "onPointerUp", "onPointerCancel", "haptics"];
18319
+ function ownKeys$Z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18320
+ function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18302
18321
  /**
18303
18322
  * Switch.jsx
18304
18323
  * - Plain JSX (no TypeScript)
@@ -18398,7 +18417,7 @@ var Switch = /*#__PURE__*/React.forwardRef(function Switch(props, ref) {
18398
18417
  onPointerCancel = props.onPointerCancel,
18399
18418
  _props$haptics = props.haptics,
18400
18419
  haptics = _props$haptics === void 0 ? false : _props$haptics,
18401
- rest = _objectWithoutProperties$1(props, _excluded$S);
18420
+ rest = _objectWithoutProperties$1(props, _excluded$T);
18402
18421
  var isControlled = typeof checked === "boolean";
18403
18422
  var _useState = React.useState(defaultChecked),
18404
18423
  _useState2 = _slicedToArray(_useState, 2),
@@ -18517,7 +18536,7 @@ var Switch = /*#__PURE__*/React.forwardRef(function Switch(props, ref) {
18517
18536
  htmlFor: switchId,
18518
18537
  className: labelOpacityClass,
18519
18538
  children: leftLabel
18520
- }) : null, jsxRuntime.jsxs("button", _objectSpread$X(_objectSpread$X({
18539
+ }) : null, jsxRuntime.jsxs("button", _objectSpread$Z(_objectSpread$Z({
18521
18540
  ref: ref,
18522
18541
  id: switchId,
18523
18542
  type: "button",
@@ -18701,9 +18720,9 @@ function useSliderPointer(_ref4) {
18701
18720
  };
18702
18721
  }
18703
18722
 
18704
- var _excluded$R = ["value", "defaultValue", "onChange", "onChangeEnd", "min", "max", "step", "largeStep", "disabled", "label", "showValue", "showBubble", "formatValue", "thumbLabels", "name", "className", "aria-label"];
18705
- function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18706
- function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18723
+ var _excluded$S = ["value", "defaultValue", "onChange", "onChangeEnd", "min", "max", "step", "largeStep", "disabled", "label", "showValue", "showBubble", "formatValue", "thumbLabels", "name", "className", "aria-label"];
18724
+ function ownKeys$Y(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18725
+ function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18707
18726
  var DEFAULT_THUMB_LABELS = ["Minimum", "Maximum"];
18708
18727
  var Slider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
18709
18728
  var value = _ref.value,
@@ -18731,7 +18750,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
18731
18750
  name = _ref.name,
18732
18751
  className = _ref.className,
18733
18752
  ariaLabel = _ref["aria-label"],
18734
- rest = _objectWithoutProperties$1(_ref, _excluded$R);
18753
+ rest = _objectWithoutProperties$1(_ref, _excluded$S);
18735
18754
  var labelId = "slider-label-".concat(React.useId());
18736
18755
  var trackRef = React.useRef(null);
18737
18756
  var bounds = React.useMemo(function () {
@@ -18779,7 +18798,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
18779
18798
  var display = values.map(function (v) {
18780
18799
  return formatValue(v);
18781
18800
  }).join(" – ");
18782
- return jsxRuntime.jsxs("div", _objectSpread$W(_objectSpread$W({
18801
+ return jsxRuntime.jsxs("div", _objectSpread$Y(_objectSpread$Y({
18783
18802
  ref: ref,
18784
18803
  className: cn("w-full", disabled && "opacity-50", className)
18785
18804
  }, rest), {}, {
@@ -18794,7 +18813,7 @@ var Slider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
18794
18813
  "aria-hidden": "true",
18795
18814
  children: display
18796
18815
  })]
18797
- }), jsxRuntime.jsxs("div", _objectSpread$W(_objectSpread$W({
18816
+ }), jsxRuntime.jsxs("div", _objectSpread$Y(_objectSpread$Y({
18798
18817
  ref: trackRef,
18799
18818
  className: cn(
18800
18819
  // 44px tall row on coarse pointers so the whole strip is easy to grab.
@@ -18847,9 +18866,9 @@ var Slider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
18847
18866
  });
18848
18867
  Slider.displayName = "Slider";
18849
18868
 
18850
- var _excluded$Q = ["value", "defaultValue", "onChange", "swatches", "showAlpha", "size", "disabled", "className", "label", "id"];
18851
- function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18852
- function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18869
+ var _excluded$R = ["value", "defaultValue", "onChange", "swatches", "showAlpha", "size", "disabled", "className", "label", "id"];
18870
+ function ownKeys$X(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18871
+ function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18853
18872
  /**
18854
18873
  * ColorPicker.jsx
18855
18874
  * A reusable, accessible, and Tailwind-friendly color picker component (plain JavaScript)
@@ -19002,7 +19021,7 @@ var ColorPicker = /*#__PURE__*/React.forwardRef(function ColorPicker(props, ref)
19002
19021
  _props$label = props.label,
19003
19022
  label = _props$label === void 0 ? "Pick a color" : _props$label,
19004
19023
  id = props.id,
19005
- rest = _objectWithoutProperties$1(props, _excluded$Q);
19024
+ rest = _objectWithoutProperties$1(props, _excluded$R);
19006
19025
  // The visible <label> must point at a real control: the text value input
19007
19026
  // takes the caller's `id` (or a generated one).
19008
19027
  var autoId = React.useId();
@@ -19066,7 +19085,7 @@ var ColorPicker = /*#__PURE__*/React.forwardRef(function ColorPicker(props, ref)
19066
19085
  // Sizes outside sm/md/lg (the shared `Size` type also lists xs/xl/2xl) fall
19067
19086
  // back to md instead of crashing on an undefined map entry.
19068
19087
  var sizeMap = sizeMaps[size] || sizeMaps.md;
19069
- return jsxRuntime.jsxs("div", _objectSpread$V(_objectSpread$V({
19088
+ return jsxRuntime.jsxs("div", _objectSpread$X(_objectSpread$X({
19070
19089
  ref: ref,
19071
19090
  className: cn("inline-block", className)
19072
19091
  }, rest), {}, {
@@ -19133,7 +19152,7 @@ var ColorPicker = /*#__PURE__*/React.forwardRef(function ColorPicker(props, ref)
19133
19152
  value: rgbaToHex(internal, false).slice(0, 7),
19134
19153
  onChange: function onChange(e) {
19135
19154
  var parsed = hexToRgba(e.target.value);
19136
- if (parsed) pushChange(_objectSpread$V(_objectSpread$V({}, parsed), {}, {
19155
+ if (parsed) pushChange(_objectSpread$X(_objectSpread$X({}, parsed), {}, {
19137
19156
  a: internal.a
19138
19157
  }));
19139
19158
  },
@@ -19156,7 +19175,7 @@ var ColorPicker = /*#__PURE__*/React.forwardRef(function ColorPicker(props, ref)
19156
19175
  if (p) pushChange(p);else {
19157
19176
  var maybe = v.startsWith("#") ? v : "#".concat(v);
19158
19177
  var ph = hexToRgba(maybe);
19159
- if (ph) pushChange(_objectSpread$V(_objectSpread$V({}, ph), {}, {
19178
+ if (ph) pushChange(_objectSpread$X(_objectSpread$X({}, ph), {}, {
19160
19179
  a: internal.a
19161
19180
  }));
19162
19181
  }
@@ -19177,7 +19196,7 @@ var ColorPicker = /*#__PURE__*/React.forwardRef(function ColorPicker(props, ref)
19177
19196
  max: 100,
19178
19197
  value: Math.round(((_internal$a = internal.a) !== null && _internal$a !== void 0 ? _internal$a : 1) * 100),
19179
19198
  onChange: function onChange(v) {
19180
- pushChange(_objectSpread$V(_objectSpread$V({}, internal), {}, {
19199
+ pushChange(_objectSpread$X(_objectSpread$X({}, internal), {}, {
19181
19200
  a: clamp(v / 100, 0, 1)
19182
19201
  }));
19183
19202
  },
@@ -19190,11 +19209,11 @@ var ColorPicker = /*#__PURE__*/React.forwardRef(function ColorPicker(props, ref)
19190
19209
  });
19191
19210
  ColorPicker.displayName = "ColorPicker";
19192
19211
 
19193
- var _excluded$P = ["fields", "onSubmit", "defaultValues", "validationSchema", "className", "submitText", "resetText", "submitButtonClass", "resetButtonClass", "showReset", "submitDisabled"],
19212
+ var _excluded$Q = ["fields", "onSubmit", "defaultValues", "validationSchema", "className", "submitText", "resetText", "submitButtonClass", "resetButtonClass", "showReset", "submitDisabled"],
19194
19213
  _excluded2$7 = ["type", "name", "label", "required", "options", "placeholder", "helperText"],
19195
- _excluded3$3 = ["onChange", "ref", "value"];
19196
- function ownKeys$U(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19197
- function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19214
+ _excluded3$4 = ["onChange", "ref", "value"];
19215
+ function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19216
+ function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19198
19217
  /**
19199
19218
  * Error / helper line rendered under Form-owned field markup (textarea,
19200
19219
  * checkbox, radio, file, switch, color). Mirrors Input / Select / DatePicker:
@@ -19255,7 +19274,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19255
19274
  showReset = _ref2$showReset === void 0 ? true : _ref2$showReset,
19256
19275
  _ref2$submitDisabled = _ref2.submitDisabled,
19257
19276
  submitDisabled = _ref2$submitDisabled === void 0 ? false : _ref2$submitDisabled,
19258
- props = _objectWithoutProperties$1(_ref2, _excluded$P);
19277
+ props = _objectWithoutProperties$1(_ref2, _excluded$Q);
19259
19278
  var methods = useForm({
19260
19279
  defaultValues: defaultValues,
19261
19280
  resolver: validationSchema
@@ -19301,7 +19320,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19301
19320
  // hatch for extra component props and is still spread. An array must
19302
19321
  // never be spread: it leaked index keys ("0", "1", …) as props/attributes.
19303
19322
  var extraProps = options && _typeof$4(options) === "object" && !Array.isArray(options) ? options : undefined;
19304
- var commonProps = _objectSpread$U(_objectSpread$U({
19323
+ var commonProps = _objectSpread$W(_objectSpread$W({
19305
19324
  name: name,
19306
19325
  label: label,
19307
19326
  required: required,
@@ -19323,7 +19342,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19323
19342
  onChange = _ref3$field.onChange,
19324
19343
  value = _ref3$field.value,
19325
19344
  ref = _ref3$field.ref;
19326
- return jsxRuntime.jsx(Input, _objectSpread$U(_objectSpread$U({
19345
+ return jsxRuntime.jsx(Input, _objectSpread$W(_objectSpread$W({
19327
19346
  type: type,
19328
19347
  value: value || "",
19329
19348
  onChange: onChange,
@@ -19350,7 +19369,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19350
19369
  onChange = _ref4$field.onChange,
19351
19370
  value = _ref4$field.value,
19352
19371
  ref = _ref4$field.ref;
19353
- return jsxRuntime.jsx(Select, _objectSpread$U({
19372
+ return jsxRuntime.jsx(Select, _objectSpread$W({
19354
19373
  value: value,
19355
19374
  onChange: onChange,
19356
19375
  ref: ref,
@@ -19368,7 +19387,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19368
19387
  onChange = _ref5$field.onChange,
19369
19388
  value = _ref5$field.value,
19370
19389
  ref = _ref5$field.ref;
19371
- return jsxRuntime.jsx(DatePicker, _objectSpread$U({
19390
+ return jsxRuntime.jsx(DatePicker, _objectSpread$W({
19372
19391
  value: value,
19373
19392
  onChange: onChange,
19374
19393
  ref: ref,
@@ -19522,7 +19541,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19522
19541
  _onChange3 = _ref9$field.onChange,
19523
19542
  ref = _ref9$field.ref,
19524
19543
  value = _ref9$field.value,
19525
- field = _objectWithoutProperties$1(_ref9$field, _excluded3$3);
19544
+ field = _objectWithoutProperties$1(_ref9$field, _excluded3$4);
19526
19545
  return jsxRuntime.jsxs("div", {
19527
19546
  className: "w-full",
19528
19547
  children: [label && jsxRuntime.jsxs("label", {
@@ -19551,7 +19570,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19551
19570
  d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"
19552
19571
  })
19553
19572
  }), "Choose File"]
19554
- }), jsxRuntime.jsx("input", _objectSpread$U(_objectSpread$U({}, field), {}, {
19573
+ }), jsxRuntime.jsx("input", _objectSpread$W(_objectSpread$W({}, field), {}, {
19555
19574
  id: name,
19556
19575
  ref: ref,
19557
19576
  type: "file",
@@ -19566,13 +19585,13 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19566
19585
  var reader = new FileReader();
19567
19586
  reader.onloadend = function () {
19568
19587
  setFilePreviews(function (prev) {
19569
- return _objectSpread$U(_objectSpread$U({}, prev), {}, _defineProperty$4({}, name, reader.result));
19588
+ return _objectSpread$W(_objectSpread$W({}, prev), {}, _defineProperty$4({}, name, reader.result));
19570
19589
  });
19571
19590
  };
19572
19591
  reader.readAsDataURL(file);
19573
19592
  } else {
19574
19593
  setFilePreviews(function (prev) {
19575
- return _objectSpread$U(_objectSpread$U({}, prev), {}, _defineProperty$4({}, name, null));
19594
+ return _objectSpread$W(_objectSpread$W({}, prev), {}, _defineProperty$4({}, name, null));
19576
19595
  });
19577
19596
  }
19578
19597
  },
@@ -19586,7 +19605,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19586
19605
  onClick: function onClick() {
19587
19606
  _onChange3(null);
19588
19607
  setFilePreviews(function (prev) {
19589
- return _objectSpread$U(_objectSpread$U({}, prev), {}, _defineProperty$4({}, name, null));
19608
+ return _objectSpread$W(_objectSpread$W({}, prev), {}, _defineProperty$4({}, name, null));
19590
19609
  });
19591
19610
  },
19592
19611
  className: "ml-3 text-sm text-error-600 hover:text-error-800",
@@ -19621,7 +19640,7 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19621
19640
  ref = _ref0$field.ref;
19622
19641
  return jsxRuntime.jsxs("div", {
19623
19642
  className: "w-full",
19624
- children: [jsxRuntime.jsx(Switch, _objectSpread$U({
19643
+ children: [jsxRuntime.jsx(Switch, _objectSpread$W({
19625
19644
  checked: !!value,
19626
19645
  onChange: onChange,
19627
19646
  ref: ref,
@@ -19708,8 +19727,8 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19708
19727
  }
19709
19728
  return renderField(group);
19710
19729
  };
19711
- return jsxRuntime.jsx(FormProvider, _objectSpread$U(_objectSpread$U({}, methods), {}, {
19712
- children: jsxRuntime.jsxs("form", _objectSpread$U(_objectSpread$U({
19730
+ return jsxRuntime.jsx(FormProvider, _objectSpread$W(_objectSpread$W({}, methods), {}, {
19731
+ children: jsxRuntime.jsxs("form", _objectSpread$W(_objectSpread$W({
19713
19732
  ref: ref,
19714
19733
  className: cn("space-y-6", className),
19715
19734
  onSubmit: handleSubmit(handleFormSubmit)
@@ -19736,9 +19755,9 @@ var Form = /*#__PURE__*/React.forwardRef(function Form(_ref2, ref) {
19736
19755
  });
19737
19756
  Form.displayName = "Form";
19738
19757
 
19739
- var _excluded$O = ["items", "allowMultiple", "defaultOpenIndexes", "onChange", "className", "headerClassName", "contentClassName", "chevronPosition", "chevronIcon", "bordered", "rounded", "size", "transitionDuration"];
19740
- function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19741
- function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19758
+ var _excluded$P = ["items", "allowMultiple", "defaultOpenIndexes", "onChange", "className", "headerClassName", "contentClassName", "chevronPosition", "chevronIcon", "bordered", "rounded", "size", "transitionDuration"];
19759
+ function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19760
+ function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19742
19761
  /**
19743
19762
  * item.leftIcon may be:
19744
19763
  * - ReactNode (e.g. <svg/>)
@@ -19770,7 +19789,7 @@ var Accordion = /*#__PURE__*/React.forwardRef(function Accordion(_ref, ref) {
19770
19789
  size = _ref$size === void 0 ? "md" : _ref$size,
19771
19790
  _ref$transitionDurati = _ref.transitionDuration,
19772
19791
  transitionDuration = _ref$transitionDurati === void 0 ? 220 : _ref$transitionDurati,
19773
- rest = _objectWithoutProperties$1(_ref, _excluded$O);
19792
+ rest = _objectWithoutProperties$1(_ref, _excluded$P);
19774
19793
  var saneDefault = Array.isArray(defaultOpenIndexes) ? defaultOpenIndexes.filter(function (i) {
19775
19794
  return Number.isFinite(i) && i >= 0 && i < items.length;
19776
19795
  }) : [];
@@ -19920,7 +19939,7 @@ var Accordion = /*#__PURE__*/React.forwardRef(function Accordion(_ref, ref) {
19920
19939
  }
19921
19940
  return left; // assume ReactNode
19922
19941
  };
19923
- return jsxRuntime.jsx("div", _objectSpread$T(_objectSpread$T({
19942
+ return jsxRuntime.jsx("div", _objectSpread$V(_objectSpread$V({
19924
19943
  ref: ref,
19925
19944
  className: wrapperClasses,
19926
19945
  role: "presentation"
@@ -20020,9 +20039,9 @@ var Accordion = /*#__PURE__*/React.forwardRef(function Accordion(_ref, ref) {
20020
20039
  });
20021
20040
  Accordion.displayName = "Accordion";
20022
20041
 
20023
- var _excluded$N = ["id", "name", "label", "checked", "defaultChecked", "onChange", "disabled", "required", "className", "size", "labelPosition", "value", "ariaLabel", "variant", "indeterminate", "color", "iconClass", "checkedClass", "wrapperProps", "haptics"];
20024
- function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20025
- function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20042
+ var _excluded$O = ["id", "name", "label", "checked", "defaultChecked", "onChange", "disabled", "required", "className", "size", "labelPosition", "value", "ariaLabel", "variant", "indeterminate", "color", "iconClass", "checkedClass", "wrapperProps", "haptics"];
20043
+ function ownKeys$U(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20044
+ function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20026
20045
  var SIZE_CLASSES$2 = {
20027
20046
  sm: {
20028
20047
  box: "h-4 w-4",
@@ -20119,7 +20138,7 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
20119
20138
  wrapperProps = _ref.wrapperProps,
20120
20139
  _ref$haptics = _ref.haptics,
20121
20140
  haptics = _ref$haptics === void 0 ? false : _ref$haptics,
20122
- props = _objectWithoutProperties$1(_ref, _excluded$N);
20141
+ props = _objectWithoutProperties$1(_ref, _excluded$O);
20123
20142
  var autoId = React.useId();
20124
20143
  var inputId = id || "".concat(autoId, "-checkbox");
20125
20144
  var inputRef = React.useRef(null);
@@ -20162,7 +20181,7 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
20162
20181
  var iconState = function iconState(shown) {
20163
20182
  return shown ? "opacity-100 scale-100" : "opacity-0 scale-50";
20164
20183
  };
20165
- return jsxRuntime.jsxs("div", _objectSpread$S(_objectSpread$S({
20184
+ return jsxRuntime.jsxs("div", _objectSpread$U(_objectSpread$U({
20166
20185
  className: cn("inline-flex items-center", className)
20167
20186
  }, wrapperProps !== null && wrapperProps !== void 0 ? wrapperProps : {}), {}, {
20168
20187
  children: [label && labelPosition === "left" && jsxRuntime.jsx("label", {
@@ -20172,7 +20191,7 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
20172
20191
  }), jsxRuntime.jsxs("div", {
20173
20192
  className: cn("relative inline-flex shrink-0 items-center justify-center rounded-sm border transition-shadow duration-fast motion-reduce:transition-none", sizeClass.box, disabled ? "opacity-60 cursor-not-allowed" : "cursor-pointer hover:shadow-sm", !disabled && showBoxBorder && "border-gray-300 dark:border-gray-600"),
20174
20193
  "aria-disabled": disabled,
20175
- children: [jsxRuntime.jsx("input", _objectSpread$S({
20194
+ children: [jsxRuntime.jsx("input", _objectSpread$U({
20176
20195
  id: inputId,
20177
20196
  ref: inputRef,
20178
20197
  name: name,
@@ -20216,9 +20235,9 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
20216
20235
  });
20217
20236
  Checkbox.displayName = "Checkbox";
20218
20237
 
20219
- var _excluded$M = ["value", "onChange", "placeholder", "label", "error", "helperText", "disabled", "required", "minDate", "maxDate", "className", "weekStartsOn", "portal", "displayFormat", "locale", "showClear", "closeOnSelect", "presentation", "presets"];
20220
- function ownKeys$R(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20221
- function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20238
+ var _excluded$N = ["value", "onChange", "placeholder", "label", "error", "helperText", "disabled", "required", "minDate", "maxDate", "className", "weekStartsOn", "portal", "displayFormat", "locale", "showClear", "closeOnSelect", "presentation", "presets"];
20239
+ function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20240
+ function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20222
20241
  /*
20223
20242
  Single-calendar DateRangePicker.
20224
20243
  - Popover: tap/click start then end; the second pick commits (and closes
@@ -20260,7 +20279,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function DateRangePicker(_re
20260
20279
  _ref$presentation = _ref.presentation,
20261
20280
  presentation = _ref$presentation === void 0 ? "auto" : _ref$presentation,
20262
20281
  presets = _ref.presets,
20263
- props = _objectWithoutProperties$1(_ref, _excluded$M);
20282
+ props = _objectWithoutProperties$1(_ref, _excluded$N);
20264
20283
  // Stable ids wiring label / helper / error to the trigger button.
20265
20284
  // A consumer `id` (spread onto the trigger via ...props) wins.
20266
20285
  var reactId = React.useId();
@@ -20488,7 +20507,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function DateRangePicker(_re
20488
20507
  }));
20489
20508
  };
20490
20509
  // Display placeholder until both start and end are committed (mandatory range).
20491
- var triggerText = committed.start && committed.end ? formatRange(committed.start, committed.end) : placeholder;
20510
+ var isEmpty = !committed.start || !committed.end;
20511
+ var triggerText = isEmpty ? placeholder : formatRange(committed.start, committed.end);
20492
20512
  var draftText = localStart && localEnd ? formatRange(localStart, localEnd) : placeholder;
20493
20513
  var presetList = Array.isArray(presets) && presets.length > 0 ? presets : null;
20494
20514
  var presetChips = presetList ? jsxRuntime.jsx("div", {
@@ -20559,7 +20579,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function DateRangePicker(_re
20559
20579
  }), jsxRuntime.jsxs("div", {
20560
20580
  ref: fieldRef,
20561
20581
  className: "relative",
20562
- children: [jsxRuntime.jsxs("button", _objectSpread$R(_objectSpread$R({
20582
+ children: [jsxRuntime.jsxs("button", _objectSpread$T(_objectSpread$T({
20563
20583
  ref: triggerRef,
20564
20584
  type: "button",
20565
20585
  id: fieldId,
@@ -20568,9 +20588,12 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function DateRangePicker(_re
20568
20588
  "aria-invalid": error ? true : undefined,
20569
20589
  className: cn("flex w-full items-center justify-between rounded-md border border-gray-300 bg-white px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent disabled:cursor-not-allowed disabled:opacity-50", {
20570
20590
  "border-error-500 focus:ring-error-500": error,
20571
- "text-primary-500": !committed.start || !committed.end,
20591
+ // Empty: the placeholder reads muted, like Input's
20592
+ // ::placeholder (#159). `className` still merges last.
20593
+ "text-muted": isEmpty,
20572
20594
  "pr-16": showClearButton
20573
20595
  }, className),
20596
+ "data-empty": isEmpty ? "" : undefined,
20574
20597
  onClick: function onClick() {
20575
20598
  // The trigger always toggles, even mid-pick (DTUI-35): closing
20576
20599
  // drops the uncommitted start, reopening starts from the last
@@ -20652,9 +20675,9 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function DateRangePicker(_re
20652
20675
  });
20653
20676
  DateRangePicker.displayName = "DateRangePicker";
20654
20677
 
20655
- var _excluded$L = ["size", "speed", "thickness", "color", "secondaryColor", "variant", "className", "inline", "ariaLabel", "text", "reverse", "style"];
20656
- function ownKeys$Q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20657
- function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20678
+ var _excluded$M = ["size", "speed", "thickness", "color", "secondaryColor", "variant", "className", "inline", "ariaLabel", "text", "reverse", "style"];
20679
+ function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20680
+ function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20658
20681
  var sizeToPx = function sizeToPx(size) {
20659
20682
  if (!size) return 24;
20660
20683
  if (typeof size === "number") return size;
@@ -20699,13 +20722,13 @@ var Loader = /*#__PURE__*/React.forwardRef(function Loader(_ref, ref) {
20699
20722
  _ref$reverse = _ref.reverse,
20700
20723
  reverse = _ref$reverse === void 0 ? false : _ref$reverse,
20701
20724
  style = _ref.style,
20702
- rest = _objectWithoutProperties$1(_ref, _excluded$L);
20725
+ rest = _objectWithoutProperties$1(_ref, _excluded$M);
20703
20726
  var px = sizeToPx(size);
20704
20727
  var wrapperClass = cn(inline ? "inline-flex" : "flex", "items-center gap-2", className);
20705
- var rootStyle = _objectSpread$Q({
20728
+ var rootStyle = _objectSpread$S({
20706
20729
  "--dt-loader-speed": "".concat(speed, "s")
20707
20730
  }, style);
20708
- return jsxRuntime.jsxs("div", _objectSpread$Q(_objectSpread$Q({
20731
+ return jsxRuntime.jsxs("div", _objectSpread$S(_objectSpread$S({
20709
20732
  ref: ref,
20710
20733
  role: "progressbar",
20711
20734
  "aria-label": ariaLabel,
@@ -20755,7 +20778,7 @@ var Loader = /*#__PURE__*/React.forwardRef(function Loader(_ref, ref) {
20755
20778
  }), variant === "bar" && jsxRuntime.jsx("div", {
20756
20779
  "aria-hidden": true,
20757
20780
  className: cn("relative overflow-hidden rounded-full", !secondaryColor && TRACK_BG),
20758
- style: _objectSpread$Q({
20781
+ style: _objectSpread$S({
20759
20782
  width: Math.max(72, px * 2.5),
20760
20783
  height: Math.max(6, px / 6)
20761
20784
  }, secondaryColor ? {
@@ -20774,9 +20797,9 @@ var Loader = /*#__PURE__*/React.forwardRef(function Loader(_ref, ref) {
20774
20797
  }));
20775
20798
  });
20776
20799
 
20777
- var _excluded$K = ["min", "max", "step", "minGap", "value", "defaultValue", "onChange", "onFinalChange", "showInputs", "showTooltips", "disabled", "presets", "formatValue", "className", "size", "colorClass", "ariaLabel"];
20778
- function ownKeys$P(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20779
- function _objectSpread$P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$P(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20800
+ var _excluded$L = ["min", "max", "step", "minGap", "value", "defaultValue", "onChange", "onFinalChange", "showInputs", "showTooltips", "disabled", "presets", "formatValue", "className", "size", "colorClass", "ariaLabel"];
20801
+ function ownKeys$R(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20802
+ function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20780
20803
  /**
20781
20804
  * PriceRangePicker - dual-thumb range picker (Tailwind)
20782
20805
  *
@@ -20859,7 +20882,7 @@ var PriceRangePicker = /*#__PURE__*/React.forwardRef(function PriceRangePicker(_
20859
20882
  colorClass = _ref$colorClass === void 0 ? "bg-primary-600" : _ref$colorClass,
20860
20883
  _ref$ariaLabel = _ref.ariaLabel,
20861
20884
  ariaLabel = _ref$ariaLabel === void 0 ? "Price range" : _ref$ariaLabel,
20862
- rest = _objectWithoutProperties$1(_ref, _excluded$K);
20885
+ rest = _objectWithoutProperties$1(_ref, _excluded$L);
20863
20886
  var isControlled = value && _typeof$4(value) === "object";
20864
20887
  var _useState = React.useState(function () {
20865
20888
  return isControlled ? {
@@ -20941,7 +20964,7 @@ var PriceRangePicker = /*#__PURE__*/React.forwardRef(function PriceRangePicker(_
20941
20964
  var next = keyToValue(e.key, current[which], bounds);
20942
20965
  if (next === null) return;
20943
20966
  e.preventDefault();
20944
- handleFinal(setValues(_objectSpread$P(_objectSpread$P({}, current), {}, _defineProperty$4(_defineProperty$4({}, which, next), "_active", which))));
20967
+ handleFinal(setValues(_objectSpread$R(_objectSpread$R({}, current), {}, _defineProperty$4(_defineProperty$4({}, which, next), "_active", which))));
20945
20968
  };
20946
20969
  };
20947
20970
  // Pointer drag on the track: grab the nearest thumb and follow the pointer.
@@ -20957,12 +20980,12 @@ var PriceRangePicker = /*#__PURE__*/React.forwardRef(function PriceRangePicker(_
20957
20980
  var which = Math.abs(raw - current.min) < Math.abs(raw - current.max) || current.min === current.max && raw < current.min ? "min" : "max";
20958
20981
  (_e$currentTarget$setP = (_e$currentTarget = e.currentTarget).setPointerCapture) === null || _e$currentTarget$setP === void 0 || _e$currentTarget$setP.call(_e$currentTarget, e.pointerId);
20959
20982
  setDragging(which);
20960
- setValues(_objectSpread$P(_objectSpread$P({}, current), {}, _defineProperty$4(_defineProperty$4({}, which, raw), "_active", which)));
20983
+ setValues(_objectSpread$R(_objectSpread$R({}, current), {}, _defineProperty$4(_defineProperty$4({}, which, raw), "_active", which)));
20961
20984
  (_thumbRefs$current = thumbRefs[which === "min" ? 0 : 1].current) === null || _thumbRefs$current === void 0 || _thumbRefs$current.focus();
20962
20985
  };
20963
20986
  var onPointerMove = function onPointerMove(e) {
20964
20987
  if (!dragging) return;
20965
- setValues(_objectSpread$P(_objectSpread$P({}, latest.current), {}, _defineProperty$4(_defineProperty$4({}, dragging, toValue(e.clientX)), "_active", dragging)));
20988
+ setValues(_objectSpread$R(_objectSpread$R({}, latest.current), {}, _defineProperty$4(_defineProperty$4({}, dragging, toValue(e.clientX)), "_active", dragging)));
20966
20989
  };
20967
20990
  var onPointerUp = function onPointerUp() {
20968
20991
  if (!dragging) return;
@@ -21016,7 +21039,7 @@ var PriceRangePicker = /*#__PURE__*/React.forwardRef(function PriceRangePicker(_
21016
21039
  vmin: current.min,
21017
21040
  vmax: max
21018
21041
  }];
21019
- return jsxRuntime.jsxs("div", _objectSpread$P(_objectSpread$P({
21042
+ return jsxRuntime.jsxs("div", _objectSpread$R(_objectSpread$R({
21020
21043
  ref: ref,
21021
21044
  className: cn("bg-surface rounded-lg p-4 w-full max-w-lg", className)
21022
21045
  }, rest), {}, {
@@ -21130,9 +21153,9 @@ var PriceRangePicker = /*#__PURE__*/React.forwardRef(function PriceRangePicker(_
21130
21153
  });
21131
21154
  PriceRangePicker.displayName = "PriceRangePicker";
21132
21155
 
21133
- var _excluded$J = ["value", "max", "size", "showValue", "rounded", "variant", "striped", "animated", "label", "ariaLabel", "className", "style"];
21134
- function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21135
- function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21156
+ var _excluded$K = ["value", "max", "size", "showValue", "rounded", "variant", "striped", "animated", "label", "ariaLabel", "className", "style"];
21157
+ function ownKeys$Q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21158
+ function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21136
21159
  // ProgressBar. Colours come only from role tokens, so it follows the brand and
21137
21160
  // dark mode (STUDIO-59). The HEX props `color` / `bgColor` / `valueColor` were
21138
21161
  // removed in 2.0.0 (DTUI-65); pick a token tone with `variant` instead.
@@ -21191,7 +21214,7 @@ var ProgressBar = /*#__PURE__*/React.forwardRef(function ProgressBar(_ref, ref)
21191
21214
  className = _ref$className === void 0 ? '' : _ref$className,
21192
21215
  _ref$style = _ref.style,
21193
21216
  style = _ref$style === void 0 ? {} : _ref$style,
21194
- rest = _objectWithoutProperties$1(_ref, _excluded$J);
21217
+ rest = _objectWithoutProperties$1(_ref, _excluded$K);
21195
21218
  var safeMax = typeof max === 'number' && max > 0 ? max : 100;
21196
21219
  var safeValue = typeof value === 'number' ? value : 0;
21197
21220
  var clamped = Math.max(0, Math.min(safeValue, safeMax));
@@ -21213,10 +21236,10 @@ var ProgressBar = /*#__PURE__*/React.forwardRef(function ProgressBar(_ref, ref)
21213
21236
  // Stripe motion is a Tailwind animation (DTUI-48) — no per-instance <style> tag —
21214
21237
  // and stops under prefers-reduced-motion, as does the width transition.
21215
21238
  var animatedClass = animated ? 'animate-progress-stripes motion-reduce:animate-none' : '';
21216
- var finalFillStyle = _objectSpread$O({
21239
+ var finalFillStyle = _objectSpread$Q({
21217
21240
  width: "".concat(percent, "%")
21218
21241
  }, stripeStyle);
21219
- return jsxRuntime.jsxs("div", _objectSpread$O(_objectSpread$O({
21242
+ return jsxRuntime.jsxs("div", _objectSpread$Q(_objectSpread$Q({
21220
21243
  ref: ref,
21221
21244
  className: cn("w-full", className),
21222
21245
  style: style
@@ -22428,9 +22451,9 @@ if (process.env.NODE_ENV !== 'production') {
22428
22451
  var propTypesExports = propTypes.exports;
22429
22452
  var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
22430
22453
 
22431
- var _excluded$I = ["id", "name", "value", "checked", "defaultChecked", "onChange", "disabled", "required", "label", "size", "labelPosition", "radioColor", "className", "ariaLabel"];
22432
- function ownKeys$N(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22433
- function _objectSpread$N(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$N(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22454
+ var _excluded$J = ["id", "name", "value", "checked", "defaultChecked", "onChange", "disabled", "required", "label", "size", "labelPosition", "radioColor", "className", "ariaLabel"];
22455
+ function ownKeys$P(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22456
+ function _objectSpread$P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$P(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22434
22457
  var SIZE_MAP = {
22435
22458
  sm: {
22436
22459
  outer: "h-4 w-4",
@@ -22468,7 +22491,7 @@ var Radio = /*#__PURE__*/React.forwardRef(function Radio(_ref, ref) {
22468
22491
  _ref$className = _ref.className,
22469
22492
  className = _ref$className === void 0 ? "" : _ref$className,
22470
22493
  ariaLabel = _ref.ariaLabel,
22471
- props = _objectWithoutProperties$1(_ref, _excluded$I);
22494
+ props = _objectWithoutProperties$1(_ref, _excluded$J);
22472
22495
  var autoId = React.useId();
22473
22496
  var inputId = id || "".concat(autoId, "-radio");
22474
22497
  // Default to the brand's primary token so the radio follows theming.
@@ -22539,7 +22562,7 @@ var Radio = /*#__PURE__*/React.forwardRef(function Radio(_ref, ref) {
22539
22562
  "aria-hidden": "true",
22540
22563
  children: " *"
22541
22564
  }) : null]
22542
- }), jsxRuntime.jsx("input", _objectSpread$N({
22565
+ }), jsxRuntime.jsx("input", _objectSpread$P({
22543
22566
  ref: setRefs,
22544
22567
  id: inputId,
22545
22568
  type: "radio",
@@ -22607,9 +22630,9 @@ Radio.defaultProps = {
22607
22630
  required: false
22608
22631
  };
22609
22632
 
22610
- var _excluded$H = ["count", "value", "defaultValue", "readOnly", "icon", "toggledIcon", "size", "onChange", "onClick", "text", "className", "id", "name"];
22611
- function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22612
- function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22633
+ var _excluded$I = ["count", "value", "defaultValue", "readOnly", "icon", "toggledIcon", "size", "onChange", "onClick", "text", "className", "id", "name"];
22634
+ function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22635
+ function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22613
22636
  function StarFilled(_ref) {
22614
22637
  var _ref$size = _ref.size,
22615
22638
  size = _ref$size === void 0 ? 20 : _ref$size;
@@ -22663,7 +22686,7 @@ var Rate = /*#__PURE__*/React.forwardRef(function Rate(_ref3, ref) {
22663
22686
  className = _ref3$className === void 0 ? "" : _ref3$className,
22664
22687
  id = _ref3.id,
22665
22688
  name = _ref3.name,
22666
- rest = _objectWithoutProperties$1(_ref3, _excluded$H);
22689
+ rest = _objectWithoutProperties$1(_ref3, _excluded$I);
22667
22690
  var _useState = React.useState(Math.max(0, Math.min(count, Math.floor(defaultValue || 0)))),
22668
22691
  _useState2 = _slicedToArray(_useState, 2),
22669
22692
  internalValue = _useState2[0],
@@ -22783,7 +22806,7 @@ var Rate = /*#__PURE__*/React.forwardRef(function Rate(_ref3, ref) {
22783
22806
  if (target) target.focus();
22784
22807
  if (next !== selectedValue) setValue(next);
22785
22808
  };
22786
- return jsxRuntime.jsxs("div", _objectSpread$M(_objectSpread$M({
22809
+ return jsxRuntime.jsxs("div", _objectSpread$O(_objectSpread$O({
22787
22810
  ref: ref,
22788
22811
  id: id,
22789
22812
  className: cn("inline-flex items-center gap-2", className),
@@ -22852,9 +22875,9 @@ var Rate = /*#__PURE__*/React.forwardRef(function Rate(_ref3, ref) {
22852
22875
  });
22853
22876
  Rate.displayName = "Rate";
22854
22877
 
22855
- var _excluded$G = ["label", "avatarSrc", "avatarAlt", "initials", "size", "onRemove", "onClick", "className", "closeClass", "ariaLabel", "onKeyDown", "avatarPosition", "avatarClassname", "initialClassname"];
22856
- function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22857
- function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22878
+ var _excluded$H = ["label", "avatarSrc", "avatarAlt", "initials", "size", "onRemove", "onClick", "className", "closeClass", "ariaLabel", "onKeyDown", "avatarPosition", "avatarClassname", "initialClassname"];
22879
+ function ownKeys$N(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22880
+ function _objectSpread$N(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$N(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22858
22881
  var RoundedTag = /*#__PURE__*/React.forwardRef(function RoundedTag(_ref, ref) {
22859
22882
  var label = _ref.label,
22860
22883
  _ref$avatarSrc = _ref.avatarSrc,
@@ -22881,7 +22904,7 @@ var RoundedTag = /*#__PURE__*/React.forwardRef(function RoundedTag(_ref, ref) {
22881
22904
  avatarClassname = _ref$avatarClassname === void 0 ? "" : _ref$avatarClassname,
22882
22905
  _ref$initialClassname = _ref.initialClassname,
22883
22906
  initialClassname = _ref$initialClassname === void 0 ? "" : _ref$initialClassname,
22884
- rest = _objectWithoutProperties$1(_ref, _excluded$G);
22907
+ rest = _objectWithoutProperties$1(_ref, _excluded$H);
22885
22908
  var showAvatar = Boolean(avatarSrc || initials);
22886
22909
  var sizes = {
22887
22910
  sm: {
@@ -22944,7 +22967,7 @@ var RoundedTag = /*#__PURE__*/React.forwardRef(function RoundedTag(_ref, ref) {
22944
22967
  children: initials
22945
22968
  })
22946
22969
  });
22947
- return jsxRuntime.jsxs("div", _objectSpread$L(_objectSpread$L({
22970
+ return jsxRuntime.jsxs("div", _objectSpread$N(_objectSpread$N({
22948
22971
  ref: ref,
22949
22972
  className: cn("inline-flex items-center rounded-full bg-gray-100 text-primary-800 dark:bg-gray-800 dark:text-gray-100", paddingClass, gapClass, s.text, clickable && ["cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-1 dark:focus-visible:ring-offset-gray-900", PRESS_FEEDBACK], className),
22950
22973
  role: clickable ? "button" : "group",
@@ -22981,9 +23004,9 @@ var RoundedTag = /*#__PURE__*/React.forwardRef(function RoundedTag(_ref, ref) {
22981
23004
  });
22982
23005
  RoundedTag.displayName = "RoundedTag";
22983
23006
 
22984
- var _excluded$F = ["count", "circle", "height", "width", "rounded", "animated", "active", "gap", "inline", "className", "children", "style"];
22985
- function ownKeys$K(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22986
- function _objectSpread$K(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$K(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23007
+ var _excluded$G = ["count", "circle", "height", "width", "rounded", "animated", "active", "gap", "inline", "className", "children", "style"];
23008
+ function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23009
+ function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22987
23010
  /**
22988
23011
  * Skeleton Component (React)
22989
23012
  *
@@ -23034,7 +23057,7 @@ var Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(_ref, ref) {
23034
23057
  children = _ref$children === void 0 ? null : _ref$children,
23035
23058
  _ref$style = _ref.style,
23036
23059
  style = _ref$style === void 0 ? {} : _ref$style,
23037
- rest = _objectWithoutProperties$1(_ref, _excluded$F);
23060
+ rest = _objectWithoutProperties$1(_ref, _excluded$G);
23038
23061
  if (!active) return jsxRuntime.jsx(jsxRuntime.Fragment, {
23039
23062
  children: children
23040
23063
  });
@@ -23045,13 +23068,13 @@ var Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(_ref, ref) {
23045
23068
  var items = Array.from({
23046
23069
  length: Math.max(1, Math.floor(count))
23047
23070
  });
23048
- return jsxRuntime.jsx("div", _objectSpread$K(_objectSpread$K({
23071
+ return jsxRuntime.jsx("div", _objectSpread$M(_objectSpread$M({
23049
23072
  ref: ref,
23050
23073
  className: cn("skeleton-wrapper", className),
23051
23074
  role: "status",
23052
23075
  "aria-busy": active,
23053
23076
  "aria-live": "polite",
23054
- style: _objectSpread$K({
23077
+ style: _objectSpread$M({
23055
23078
  display: "flex",
23056
23079
  flexDirection: containerDirection,
23057
23080
  gap: gap,
@@ -23075,12 +23098,12 @@ var Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(_ref, ref) {
23075
23098
  });
23076
23099
  Skeleton.displayName = "Skeleton";
23077
23100
 
23078
- var _excluded$E = ["children", "defaultIndex", "index", "onChange", "orientation", "size", "variant", "animated", "swipeable", "className"],
23101
+ var _excluded$F = ["children", "defaultIndex", "index", "onChange", "orientation", "size", "variant", "animated", "swipeable", "className"],
23079
23102
  _excluded2$6 = ["children", "className"];
23080
- function ownKeys$J(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23081
- function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23103
+ function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23104
+ function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23082
23105
  // useLayoutEffect warns during SSR; fall back to useEffect on the server.
23083
- var useIsomorphicLayoutEffect$6 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
23106
+ var useIsomorphicLayoutEffect$7 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
23084
23107
  // Minimum horizontal travel (px) for a swipe to change tabs, and how much more
23085
23108
  // horizontal than vertical it must be, so vertical page scrolls never switch tabs.
23086
23109
  var SWIPE_THRESHOLD = 50;
@@ -23149,7 +23172,7 @@ var Tabs = /*#__PURE__*/React.forwardRef(function Tabs(_ref, ref) {
23149
23172
  swipeable = _ref$swipeable === void 0 ? false : _ref$swipeable,
23150
23173
  _ref$className = _ref.className,
23151
23174
  className = _ref$className === void 0 ? "" : _ref$className,
23152
- rest = _objectWithoutProperties$1(_ref, _excluded$E);
23175
+ rest = _objectWithoutProperties$1(_ref, _excluded$F);
23153
23176
  var isControlled = controlledIndex != null;
23154
23177
  var _useState = React.useState(defaultIndex),
23155
23178
  _useState2 = _slicedToArray(_useState, 2),
@@ -23187,7 +23210,7 @@ var Tabs = /*#__PURE__*/React.forwardRef(function Tabs(_ref, ref) {
23187
23210
  };
23188
23211
  return jsxRuntime.jsx(TabsContext.Provider, {
23189
23212
  value: value,
23190
- children: jsxRuntime.jsx("div", _objectSpread$J(_objectSpread$J({
23213
+ children: jsxRuntime.jsx("div", _objectSpread$L(_objectSpread$L({
23191
23214
  ref: ref,
23192
23215
  className: cn("tabs-root", className)
23193
23216
  }, rest), {}, {
@@ -23222,7 +23245,7 @@ var TabList = /*#__PURE__*/React.forwardRef(function TabList(_ref2, ref) {
23222
23245
  if (typeof ref === "function") ref(node);else if (ref) ref.current = node;
23223
23246
  };
23224
23247
  // Measure the active tab: position the indicator and scroll the tab into view.
23225
- useIsomorphicLayoutEffect$6(function () {
23248
+ useIsomorphicLayoutEffect$7(function () {
23226
23249
  var list = listRef.current;
23227
23250
  var tab = tabsRef.current[activeIndex];
23228
23251
  if (!list || !tab) return undefined;
@@ -23256,7 +23279,7 @@ var TabList = /*#__PURE__*/React.forwardRef(function TabList(_ref2, ref) {
23256
23279
  if (!hasIndicator && indicatorReady) setIndicatorReady(false);
23257
23280
  }, [hasIndicator, indicatorReady, setIndicatorReady]);
23258
23281
  var showIndicator = hasIndicator && indicatorReady && indicator;
23259
- return jsxRuntime.jsxs("div", _objectSpread$J(_objectSpread$J({
23282
+ return jsxRuntime.jsxs("div", _objectSpread$L(_objectSpread$L({
23260
23283
  ref: setRefs,
23261
23284
  role: "tablist",
23262
23285
  "aria-orientation": orientation,
@@ -23456,7 +23479,7 @@ function Panels(_ref4) {
23456
23479
  start.current = null;
23457
23480
  }
23458
23481
  } : {};
23459
- return jsxRuntime.jsx("div", _objectSpread$J(_objectSpread$J({
23482
+ return jsxRuntime.jsx("div", _objectSpread$L(_objectSpread$L({
23460
23483
  // touch-pan-y: the browser keeps vertical scrolling; horizontal moves reach us.
23461
23484
  className: cn("relative w-full", swipeable && "touch-pan-y", className)
23462
23485
  }, swipeHandlers), {}, {
@@ -23507,9 +23530,9 @@ Tabs.Tab = Tab;
23507
23530
  Tabs.Panels = Panels;
23508
23531
  Tabs.Panel = Panel;
23509
23532
 
23510
- var _excluded$D = ["items", "trigger", "className", "menuClass", "menuItemClass", "closeOnSelect", "ariaLabel", "wrapperClassName", "presentation", "cancelLabel"];
23511
- function ownKeys$I(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23512
- function _objectSpread$I(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$I(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23533
+ var _excluded$E = ["items", "trigger", "className", "menuClass", "menuItemClass", "closeOnSelect", "ariaLabel", "wrapperClassName", "presentation", "cancelLabel"];
23534
+ function ownKeys$K(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23535
+ function _objectSpread$K(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$K(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23513
23536
  /**
23514
23537
  * ThreeDotPopover
23515
23538
  *
@@ -23546,7 +23569,7 @@ var ThreeDotPopoverSimple = /*#__PURE__*/React.forwardRef(function ThreeDotPopov
23546
23569
  presentation = _ref$presentation === void 0 ? "auto" : _ref$presentation,
23547
23570
  _ref$cancelLabel = _ref.cancelLabel,
23548
23571
  cancelLabel = _ref$cancelLabel === void 0 ? "Cancel" : _ref$cancelLabel,
23549
- rest = _objectWithoutProperties$1(_ref, _excluded$D);
23572
+ rest = _objectWithoutProperties$1(_ref, _excluded$E);
23550
23573
  var triggerRef = React.useRef(null);
23551
23574
  var _useState = React.useState(null),
23552
23575
  _useState2 = _slicedToArray(_useState, 2),
@@ -23601,7 +23624,7 @@ var ThreeDotPopoverSimple = /*#__PURE__*/React.forwardRef(function ThreeDotPopov
23601
23624
  "aria-expanded": open,
23602
23625
  "aria-controls": open ? menuId : undefined
23603
23626
  };
23604
- var DefaultTrigger = jsxRuntime.jsx("button", _objectSpread$I(_objectSpread$I({
23627
+ var DefaultTrigger = jsxRuntime.jsx("button", _objectSpread$K(_objectSpread$K({
23605
23628
  type: "button",
23606
23629
  "aria-label": ariaLabel
23607
23630
  }, triggerA11y), {}, {
@@ -23616,7 +23639,7 @@ var ThreeDotPopoverSimple = /*#__PURE__*/React.forwardRef(function ThreeDotPopov
23616
23639
  var triggerNode = trigger ?
23617
23640
  /*#__PURE__*/
23618
23641
  // eslint-disable-next-line react-hooks/refs -- setTriggerNode is a callback ref, run by React at commit
23619
- React.cloneElement(trigger, _objectSpread$I({
23642
+ React.cloneElement(trigger, _objectSpread$K({
23620
23643
  ref: setTriggerNode,
23621
23644
  onClick: function onClick(e) {
23622
23645
  trigger.props && trigger.props.onClick && trigger.props.onClick(e);
@@ -23627,7 +23650,7 @@ var ThreeDotPopoverSimple = /*#__PURE__*/React.forwardRef(function ThreeDotPopov
23627
23650
  if (!e.defaultPrevented) onTriggerKeyDown(e);
23628
23651
  }
23629
23652
  }, triggerA11y)) : DefaultTrigger;
23630
- return jsxRuntime.jsxs("div", _objectSpread$I(_objectSpread$I({
23653
+ return jsxRuntime.jsxs("div", _objectSpread$K(_objectSpread$K({
23631
23654
  ref: ref,
23632
23655
  className: cn("inline-block relative", wrapperClassName)
23633
23656
  }, rest), {}, {
@@ -23652,9 +23675,9 @@ var ThreeDotPopoverSimple = /*#__PURE__*/React.forwardRef(function ThreeDotPopov
23652
23675
  });
23653
23676
  ThreeDotPopoverSimple.displayName = "ThreeDotPopover";
23654
23677
 
23655
- var _excluded$C = ["position", "trigger", "content", "customTrigger", "children", "open", "defaultOpen", "onChange", "delay", "offset", "textClass", "bgClass", "className", "portal", "id", "style"];
23656
- function ownKeys$H(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23657
- function _objectSpread$H(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$H(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23678
+ var _excluded$D = ["position", "trigger", "content", "customTrigger", "children", "open", "defaultOpen", "onChange", "delay", "offset", "textClass", "bgClass", "className", "portal", "id", "style"];
23679
+ function ownKeys$J(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23680
+ function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23658
23681
  // Grace period (ms) before a hover tooltip closes after the pointer leaves the
23659
23682
  // trigger, so the pointer can cross the `offset` gap onto the tooltip itself
23660
23683
  // (WCAG 1.4.13 "hoverable").
@@ -23738,7 +23761,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(_ref, forwardedRef)
23738
23761
  portal = _ref$portal === void 0 ? true : _ref$portal,
23739
23762
  propsId = _ref.id,
23740
23763
  style = _ref.style,
23741
- rest = _objectWithoutProperties$1(_ref, _excluded$C);
23764
+ rest = _objectWithoutProperties$1(_ref, _excluded$D);
23742
23765
  var triggerRef = React.useRef(null);
23743
23766
  var tooltipRef = React.useRef(null);
23744
23767
  var delayRef = React.useRef(null);
@@ -24058,7 +24081,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(_ref, forwardedRef)
24058
24081
  }
24059
24082
  } : {};
24060
24083
  // Tooltip box element
24061
- var tooltipNode = open ? jsxRuntime.jsx("div", _objectSpread$H(_objectSpread$H(_objectSpread$H({
24084
+ var tooltipNode = open ? jsxRuntime.jsx("div", _objectSpread$J(_objectSpread$J(_objectSpread$J({
24062
24085
  ref: function ref(node) {
24063
24086
  return setRefs$1(node, tooltipRef, setFloating);
24064
24087
  },
@@ -24067,7 +24090,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(_ref, forwardedRef)
24067
24090
  "data-placement": placement
24068
24091
  }, rest), tipHoverProps), {}, {
24069
24092
  className: cn("z-tooltip transform-gpu transition-opacity duration-150 motion-reduce:transition-none", className),
24070
- style: _objectSpread$H(_objectSpread$H({}, floatingStyles), style),
24093
+ style: _objectSpread$J(_objectSpread$J({}, floatingStyles), style),
24071
24094
  children: jsxRuntime.jsx("div", {
24072
24095
  className: cn("max-w-xs rounded-md border border-line px-3 py-2 text-sm shadow-lg shadow-black/5", bgClass, textClass),
24073
24096
  children: renderContent()
@@ -24080,9 +24103,9 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(_ref, forwardedRef)
24080
24103
  });
24081
24104
  Tooltip.displayName = "Tooltip";
24082
24105
 
24083
- var _excluded$B = ["value", "onChange", "inputProps", "icon", "iconProps", "iconPosition", "placeholder", "fullWidth", "className"];
24084
- function ownKeys$G(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24085
- function _objectSpread$G(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$G(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24106
+ var _excluded$C = ["value", "onChange", "inputProps", "icon", "iconProps", "iconPosition", "placeholder", "fullWidth", "className"];
24107
+ function ownKeys$I(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24108
+ function _objectSpread$I(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$I(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24086
24109
  // User-facing copy for GeolocationPositionError codes (and "unsupported").
24087
24110
  var LOCATION_ERROR_MESSAGES = {
24088
24111
  unsupported: "Location isn't available in this browser.",
@@ -24129,7 +24152,7 @@ var LocationPicker = /*#__PURE__*/React.forwardRef(function LocationPicker(_ref,
24129
24152
  _ref$fullWidth = _ref.fullWidth,
24130
24153
  fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
24131
24154
  className = _ref.className,
24132
- rest = _objectWithoutProperties$1(_ref, _excluded$B);
24155
+ rest = _objectWithoutProperties$1(_ref, _excluded$C);
24133
24156
  var _useState = React.useState(function () {
24134
24157
  return formatCoords(value);
24135
24158
  }),
@@ -24255,7 +24278,7 @@ var LocationPicker = /*#__PURE__*/React.forwardRef(function LocationPicker(_ref,
24255
24278
  strokeLinecap: "round"
24256
24279
  })]
24257
24280
  });
24258
- var iconButton = jsxRuntime.jsx("button", _objectSpread$G(_objectSpread$G({
24281
+ var iconButton = jsxRuntime.jsx("button", _objectSpread$I(_objectSpread$I({
24259
24282
  type: "button",
24260
24283
  onClick: handleIconClick
24261
24284
  }, iconProps), {}, {
@@ -24267,13 +24290,13 @@ var LocationPicker = /*#__PURE__*/React.forwardRef(function LocationPicker(_ref,
24267
24290
  }));
24268
24291
  // The 44px touch target is wider than p-1, so leave room for it on coarse pointers.
24269
24292
  var inputPaddingClass = iconPosition === "right" ? "pr-10 [@media(pointer:coarse)]:pr-12" : "pl-10 [@media(pointer:coarse)]:pl-12";
24270
- return jsxRuntime.jsxs("div", _objectSpread$G(_objectSpread$G({
24293
+ return jsxRuntime.jsxs("div", _objectSpread$I(_objectSpread$I({
24271
24294
  className: cn(fullWidth ? "flex w-full flex-col" : "inline-flex flex-col", className),
24272
24295
  "data-status": status
24273
24296
  }, rest), {}, {
24274
24297
  children: [jsxRuntime.jsxs("div", {
24275
24298
  className: cn("relative", fullWidth && "w-full"),
24276
- children: [jsxRuntime.jsx("input", _objectSpread$G(_objectSpread$G({
24299
+ children: [jsxRuntime.jsx("input", _objectSpread$I(_objectSpread$I({
24277
24300
  ref: ref,
24278
24301
  type: "text",
24279
24302
  placeholder: placeholder,
@@ -24301,9 +24324,9 @@ var LocationPicker = /*#__PURE__*/React.forwardRef(function LocationPicker(_ref,
24301
24324
  });
24302
24325
  LocationPicker.displayName = "LocationPicker";
24303
24326
 
24304
- var _excluded$A = ["lang", "continuous", "interimResults", "onSpeechComplete", "onSpeaking", "onError", "onStart", "onStop", "renderButton", "autoStart", "disabled", "resetOnStart", "className"];
24305
- function ownKeys$F(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24306
- function _objectSpread$F(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$F(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$F(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24327
+ var _excluded$B = ["lang", "continuous", "interimResults", "onSpeechComplete", "onSpeaking", "onError", "onStart", "onStop", "renderButton", "autoStart", "disabled", "resetOnStart", "className"];
24328
+ function ownKeys$H(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24329
+ function _objectSpread$H(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$H(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24307
24330
  // Level bars (DTUI-42). There is no audio-level API without getUserMedia, so the
24308
24331
  // bars show *whether* speech is being heard (speechstart / results), not volume.
24309
24332
  var LEVEL_BARS = [{
@@ -24349,7 +24372,7 @@ var SpeechToText = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24349
24372
  _ref$resetOnStart = _ref.resetOnStart,
24350
24373
  resetOnStart = _ref$resetOnStart === void 0 ? false : _ref$resetOnStart,
24351
24374
  className = _ref.className,
24352
- rest = _objectWithoutProperties$1(_ref, _excluded$A);
24375
+ rest = _objectWithoutProperties$1(_ref, _excluded$B);
24353
24376
  var recognitionRef = React.useRef(null);
24354
24377
  var isMountedRef = React.useRef(true);
24355
24378
  var autoStartedRef = React.useRef(false);
@@ -24528,7 +24551,7 @@ var SpeechToText = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24528
24551
  });
24529
24552
  }
24530
24553
  var isDisabled = disabled || !_isSupported;
24531
- return jsxRuntime.jsxs("button", _objectSpread$F(_objectSpread$F({
24554
+ return jsxRuntime.jsxs("button", _objectSpread$H(_objectSpread$H({
24532
24555
  type: "button",
24533
24556
  "aria-pressed": _isListening,
24534
24557
  "aria-label": _isListening ? "Stop listening" : "Start listening",
@@ -24572,9 +24595,9 @@ var SpeechToText = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24572
24595
  });
24573
24596
  SpeechToText.displayName = "SpeechToText";
24574
24597
 
24575
- var _excluded$z = ["text", "rate", "pitch", "onSpeak", "onError", "renderButton", "disabled", "className"];
24576
- function ownKeys$E(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24577
- function _objectSpread$E(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$E(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24598
+ var _excluded$A = ["text", "rate", "pitch", "onSpeak", "onError", "renderButton", "disabled", "className"];
24599
+ function ownKeys$G(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24600
+ function _objectSpread$G(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$G(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24578
24601
  var UNSUPPORTED_MESSAGE = "Text-to-speech is not supported in this browser";
24579
24602
  // `interrupted` / `canceled` fire when playback is stopped on purpose (our own
24580
24603
  // cancel(), or another utterance taking over) — not failures worth surfacing.
@@ -24597,7 +24620,7 @@ var TextToSpeech = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24597
24620
  _ref$disabled = _ref.disabled,
24598
24621
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
24599
24622
  className = _ref.className,
24600
- rest = _objectWithoutProperties$1(_ref, _excluded$z);
24623
+ rest = _objectWithoutProperties$1(_ref, _excluded$A);
24601
24624
  var _useState = React.useState(false),
24602
24625
  _useState2 = _slicedToArray(_useState, 2),
24603
24626
  isSpeaking = _useState2[0],
@@ -24685,7 +24708,7 @@ var TextToSpeech = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24685
24708
  stop: stop
24686
24709
  });
24687
24710
  }
24688
- return jsxRuntime.jsxs("button", _objectSpread$E(_objectSpread$E({
24711
+ return jsxRuntime.jsxs("button", _objectSpread$G(_objectSpread$G({
24689
24712
  ref: ref,
24690
24713
  type: "button",
24691
24714
  onClick: handleClick,
@@ -24711,10 +24734,10 @@ var TextToSpeech = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24711
24734
  });
24712
24735
  TextToSpeech.displayName = "TextToSpeech";
24713
24736
 
24714
- var _excluded$y = ["id", "className", "label", "error", "helperText", "required", "disabled", "showCount", "maxLength", "autoResize", "rows", "maxRows", "value", "defaultValue", "onChange", "size"];
24715
- function ownKeys$D(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24716
- function _objectSpread$D(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$D(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24717
- var useIsomorphicLayoutEffect$5 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
24737
+ var _excluded$z = ["id", "className", "label", "error", "helperText", "required", "disabled", "showCount", "maxLength", "autoResize", "rows", "maxRows", "value", "defaultValue", "onChange", "size"];
24738
+ function ownKeys$F(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24739
+ function _objectSpread$F(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$F(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$F(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24740
+ var useIsomorphicLayoutEffect$6 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
24718
24741
  function fitToContent(el, maxRows) {
24719
24742
  if (!el) return;
24720
24743
  el.style.height = "auto";
@@ -24760,7 +24783,7 @@ var Textarea = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
24760
24783
  onChange = _ref.onChange,
24761
24784
  _ref$size = _ref.size,
24762
24785
  size = _ref$size === void 0 ? "md" : _ref$size,
24763
- rest = _objectWithoutProperties$1(_ref, _excluded$y);
24786
+ rest = _objectWithoutProperties$1(_ref, _excluded$z);
24764
24787
  var reactId = React.useId();
24765
24788
  var textareaId = id || "textarea-".concat(reactId);
24766
24789
  var errorId = "".concat(textareaId, "-error");
@@ -24777,7 +24800,7 @@ var Textarea = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
24777
24800
  uncontrolledLength = _useState2[0],
24778
24801
  setUncontrolledLength = _useState2[1];
24779
24802
  var length = isControlled ? String(value !== null && value !== void 0 ? value : "").length : uncontrolledLength;
24780
- useIsomorphicLayoutEffect$5(function () {
24803
+ useIsomorphicLayoutEffect$6(function () {
24781
24804
  if (autoResize) fitToContent(localRef.current, maxRows);
24782
24805
  }, [autoResize, maxRows, value]);
24783
24806
  var handleChange = function handleChange(e) {
@@ -24796,7 +24819,7 @@ var Textarea = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
24796
24819
  "aria-hidden": "true",
24797
24820
  children: "*"
24798
24821
  })]
24799
- }), jsxRuntime.jsx("textarea", _objectSpread$D(_objectSpread$D({}, rest), {}, {
24822
+ }), jsxRuntime.jsx("textarea", _objectSpread$F(_objectSpread$F({}, rest), {}, {
24800
24823
  id: textareaId,
24801
24824
  ref: setRef,
24802
24825
  rows: rows,
@@ -24837,9 +24860,9 @@ var Textarea = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
24837
24860
  });
24838
24861
  Textarea.displayName = "Textarea";
24839
24862
 
24840
- var _excluded$x = ["trigger", "children", "open", "defaultOpen", "onOpenChange", "placement", "offset", "title", "initialFocusRef", "disabled", "presentation", "id", "className", "style"];
24841
- function ownKeys$C(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24842
- function _objectSpread$C(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$C(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24863
+ var _excluded$y = ["trigger", "children", "open", "defaultOpen", "onOpenChange", "placement", "offset", "title", "initialFocusRef", "disabled", "presentation", "id", "className", "style"];
24864
+ function ownKeys$E(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24865
+ function _objectSpread$E(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$E(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24843
24866
  function useOutsideClose(open, anchorRef, panelRef, close) {
24844
24867
  React.useEffect(function () {
24845
24868
  if (!open) return undefined;
@@ -24877,7 +24900,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
24877
24900
  idProp = _ref.id,
24878
24901
  className = _ref.className,
24879
24902
  style = _ref.style,
24880
- props = _objectWithoutProperties$1(_ref, _excluded$x);
24903
+ props = _objectWithoutProperties$1(_ref, _excluded$y);
24881
24904
  var anchorRef = React.useRef(null);
24882
24905
  var panelRef = React.useRef(null);
24883
24906
  var reactId = React.useId();
@@ -24965,7 +24988,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
24965
24988
  // backdrop, the modal focus trap, Escape and focus return.
24966
24989
  if (asSheet) {
24967
24990
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
24968
- children: [anchor, jsxRuntime.jsx(Sheet, _objectSpread$C(_objectSpread$C({
24991
+ children: [anchor, jsxRuntime.jsx(Sheet, _objectSpread$E(_objectSpread$E({
24969
24992
  ref: _ref2,
24970
24993
  open: open,
24971
24994
  onClose: close,
@@ -24983,7 +25006,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
24983
25006
  });
24984
25007
  }
24985
25008
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
24986
- children: [anchor, open && typeof document !== "undefined" && /*#__PURE__*/ReactDOM.createPortal(jsxRuntime.jsxs("div", _objectSpread$C(_objectSpread$C({
25009
+ children: [anchor, open && typeof document !== "undefined" && /*#__PURE__*/ReactDOM.createPortal(jsxRuntime.jsxs("div", _objectSpread$E(_objectSpread$E({
24987
25010
  ref: function ref(node) {
24988
25011
  return setRefs$1(node, panelRef, _ref2, setFloating);
24989
25012
  },
@@ -24995,7 +25018,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
24995
25018
  "data-side": resolvedPlacement.split("-")[0],
24996
25019
  "data-presentation": "popover",
24997
25020
  className: cn("z-popover min-w-[12rem] max-w-sm rounded-lg border border-gray-200 bg-white p-4 text-sm text-gray-900 shadow-lg focus:outline-none", "dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100", "animate-fade-in motion-reduce:animate-none", className),
24998
- style: _objectSpread$C(_objectSpread$C({}, floatingStyles), style)
25021
+ style: _objectSpread$E(_objectSpread$E({}, floatingStyles), style)
24999
25022
  }, props), {}, {
25000
25023
  children: [title && jsxRuntime.jsx("h2", {
25001
25024
  id: titleId,
@@ -25007,11 +25030,11 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
25007
25030
  });
25008
25031
  Popover.displayName = "Popover";
25009
25032
 
25010
- var _excluded$w = ["options", "value", "defaultValue", "onChange", "size", "fullWidth", "name", "disabled", "className"];
25011
- function ownKeys$B(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25012
- function _objectSpread$B(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$B(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25033
+ var _excluded$x = ["options", "value", "defaultValue", "onChange", "size", "fullWidth", "name", "disabled", "className"];
25034
+ function ownKeys$D(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25035
+ function _objectSpread$D(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$D(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25013
25036
  // useLayoutEffect warns during SSR; fall back to useEffect on the server.
25014
- var useIsomorphicLayoutEffect$4 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
25037
+ var useIsomorphicLayoutEffect$5 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
25015
25038
  // Same padding / type scale as `Tabs` segments, so the two read as one control.
25016
25039
  var SIZE_CLASSES = {
25017
25040
  sm: "px-2 py-1 text-sm",
@@ -25058,7 +25081,7 @@ var SegmentedControl = /*#__PURE__*/React.forwardRef(function SegmentedControl(_
25058
25081
  _ref$disabled = _ref.disabled,
25059
25082
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
25060
25083
  className = _ref.className,
25061
- rest = _objectWithoutProperties$1(_ref, _excluded$w);
25084
+ rest = _objectWithoutProperties$1(_ref, _excluded$x);
25062
25085
  var _useControllableState = useControllableState({
25063
25086
  value: valueProp,
25064
25087
  defaultValue: defaultValue,
@@ -25081,7 +25104,7 @@ var SegmentedControl = /*#__PURE__*/React.forwardRef(function SegmentedControl(_
25081
25104
  var tabbableIndex = selectedEnabled ? selectedIndex : firstEnabled;
25082
25105
  // Measure the selected option and move the thumb under it. Runs before paint,
25083
25106
  // so the thumb never flashes; the CSS transition animates the slide.
25084
- useIsomorphicLayoutEffect$4(function () {
25107
+ useIsomorphicLayoutEffect$5(function () {
25085
25108
  var root = rootRef.current;
25086
25109
  var option = optionRefs.current[selectedIndex];
25087
25110
  if (!root || !option) return undefined;
@@ -25134,7 +25157,7 @@ var SegmentedControl = /*#__PURE__*/React.forwardRef(function SegmentedControl(_
25134
25157
  (_optionRefs$current$t = optionRefs.current[target]) === null || _optionRefs$current$t === void 0 || _optionRefs$current$t.focus();
25135
25158
  select(target);
25136
25159
  };
25137
- return jsxRuntime.jsxs("div", _objectSpread$B(_objectSpread$B({
25160
+ return jsxRuntime.jsxs("div", _objectSpread$D(_objectSpread$D({
25138
25161
  ref: function ref(node) {
25139
25162
  return setRefs$1(node, rootRef, _ref2);
25140
25163
  },
@@ -25188,9 +25211,9 @@ var SegmentedControl = /*#__PURE__*/React.forwardRef(function SegmentedControl(_
25188
25211
  });
25189
25212
  SegmentedControl.displayName = "SegmentedControl";
25190
25213
 
25191
- var _excluded$v = ["value", "defaultValue", "onChange", "onValueChange", "onSearch", "onCancel", "onClear", "placeholder", "cancelLabel", "clearLabel", "showCancel", "presentation", "results", "renderResults", "resultsOpen", "onResultsOpenChange", "resultsLabel", "disabled", "readOnly", "className", "inputClassName", "style", "onFocus", "onBlur", "onKeyDown", "onClick", "aria-label"];
25192
- function ownKeys$A(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25193
- function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25214
+ var _excluded$w = ["value", "defaultValue", "onChange", "onValueChange", "onSearch", "onCancel", "onClear", "placeholder", "cancelLabel", "clearLabel", "showCancel", "presentation", "results", "renderResults", "resultsOpen", "onResultsOpenChange", "resultsLabel", "disabled", "readOnly", "className", "inputClassName", "style", "onFocus", "onBlur", "onKeyDown", "onClick", "aria-label"];
25215
+ function ownKeys$C(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25216
+ function _objectSpread$C(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$C(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25194
25217
  // iOS-style search field (DTUI-58): leading icon, clear button, a "Cancel"
25195
25218
  // text button on phones while focused, and an optional results surface that
25196
25219
  // is a full-height Sheet on phones and a popover beneath the field elsewhere.
@@ -25250,7 +25273,7 @@ var SearchField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25250
25273
  onKeyDown = _ref.onKeyDown,
25251
25274
  onClick = _ref.onClick,
25252
25275
  ariaLabel = _ref["aria-label"],
25253
- rest = _objectWithoutProperties$1(_ref, _excluded$v);
25276
+ rest = _objectWithoutProperties$1(_ref, _excluded$w);
25254
25277
  var _useControllableState = useControllableState({
25255
25278
  value: valueProp,
25256
25279
  defaultValue: defaultValue,
@@ -25425,7 +25448,7 @@ var SearchField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25425
25448
  onChange: handleChange,
25426
25449
  "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : rest["aria-labelledby"] ? undefined : placeholder || "Search"
25427
25450
  };
25428
- var inlineInput = jsxRuntime.jsx("input", _objectSpread$A(_objectSpread$A(_objectSpread$A({
25451
+ var inlineInput = jsxRuntime.jsx("input", _objectSpread$C(_objectSpread$C(_objectSpread$C({
25429
25452
  ref: inputCallbackRef
25430
25453
  }, sharedInputProps), {}, {
25431
25454
  "aria-controls": popoverOpen ? resultsId : undefined,
@@ -25466,7 +25489,7 @@ var SearchField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25466
25489
  className: "flex shrink-0 items-center gap-2 border-b border-line px-4 py-3",
25467
25490
  children: renderRow({
25468
25491
  inSheet: true,
25469
- inputProps: jsxRuntime.jsx("input", _objectSpread$A(_objectSpread$A({
25492
+ inputProps: jsxRuntime.jsx("input", _objectSpread$C(_objectSpread$C({
25470
25493
  ref: sheetInputRef
25471
25494
  }, sharedInputProps), {}, {
25472
25495
  "aria-controls": resultsId,
@@ -25487,9 +25510,9 @@ var SearchField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25487
25510
  });
25488
25511
  SearchField.displayName = "SearchField";
25489
25512
 
25490
- var _excluded$u = ["items", "collapsed", "onToggle", "className", "containerClassName", "stickyOffset", "logo", "footer", "user", "onUserClick", "drawerPosition", "isMobileOpen", "setIsMobileOpen", "showCollapsedTooltips", "tooltipOptions", "linkAs", "expandedIds", "defaultExpandedIds", "onExpandedChange", "swipeable"];
25491
- function ownKeys$z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25492
- function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25513
+ var _excluded$v = ["items", "collapsed", "collapsible", "onToggle", "className", "containerClassName", "stickyOffset", "logo", "footer", "user", "onUserClick", "drawerPosition", "isMobileOpen", "setIsMobileOpen", "showCollapsedTooltips", "tooltipOptions", "linkAs", "expandedIds", "defaultExpandedIds", "onExpandedChange", "swipeable"];
25514
+ function ownKeys$B(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25515
+ function _objectSpread$B(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$B(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25493
25516
  // From `md` up the sidebar is an in-flow sticky column; below it, the same
25494
25517
  // tree becomes an off-canvas drawer (modal dialog while open).
25495
25518
  var SIDEBAR_DESKTOP_QUERY = "(min-width: 768px)";
@@ -25590,7 +25613,7 @@ function useEdgeSwipe(_ref) {
25590
25613
  return enabled ? distance : 0;
25591
25614
  }
25592
25615
  // useLayoutEffect warns during SSR; fall back to useEffect on the server.
25593
- var useIsomorphicLayoutEffect$3 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
25616
+ var useIsomorphicLayoutEffect$4 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
25594
25617
  // Ctrl/Cmd/Shift/Alt-click or a non-primary button: the browser opens the
25595
25618
  // link in a new tab/window, so the sidebar must not react as if navigating.
25596
25619
  var isModifiedClick = function isModifiedClick(e) {
@@ -25656,6 +25679,8 @@ var hasBadge$1 = function hasBadge(item) {
25656
25679
  * - linkAs: element type used for items with `href` (default "a"; pass Next.js Link etc.)
25657
25680
  * - collapsed: boolean (desktop collapsed)
25658
25681
  * - onToggle: function to toggle collapse
25682
+ * - collapsible: boolean (default true) — false hides the md+ collapse/expand
25683
+ * toggle (the drawer keeps its "Close navigation" button)
25659
25684
  * - expandedIds / defaultExpandedIds / onExpandedChange: open groups (ids)
25660
25685
  * - className, containerClassName, stickyOffset, logo, footer, user, onUserClick
25661
25686
  * - drawerPosition: 'left' | 'right'
@@ -25672,6 +25697,8 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
25672
25697
  items = _ref2$items === void 0 ? [] : _ref2$items,
25673
25698
  _ref2$collapsed = _ref2.collapsed,
25674
25699
  collapsed = _ref2$collapsed === void 0 ? false : _ref2$collapsed,
25700
+ _ref2$collapsible = _ref2.collapsible,
25701
+ collapsible = _ref2$collapsible === void 0 ? true : _ref2$collapsible,
25675
25702
  onToggle = _ref2.onToggle,
25676
25703
  className = _ref2.className,
25677
25704
  containerClassName = _ref2.containerClassName,
@@ -25695,7 +25722,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
25695
25722
  onExpandedChange = _ref2.onExpandedChange,
25696
25723
  _ref2$swipeable = _ref2.swipeable,
25697
25724
  swipeable = _ref2$swipeable === void 0 ? true : _ref2$swipeable,
25698
- props = _objectWithoutProperties$1(_ref2, _excluded$u);
25725
+ props = _objectWithoutProperties$1(_ref2, _excluded$v);
25699
25726
  // -- expansion (controlled via `expandedIds`, else internal) ----------------
25700
25727
  var isExpansionControlled = expandedIds !== undefined;
25701
25728
  var activeAncestors = React.useMemo(function () {
@@ -25764,7 +25791,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
25764
25791
  // The drawer stays mounted (it slides in/out), so when it is shut it must
25765
25792
  // leave the tab order and the a11y tree. `inert` is set imperatively: React
25766
25793
  // 18 does not know the attribute and React 19 treats `inert=""` as false.
25767
- useIsomorphicLayoutEffect$3(function () {
25794
+ useIsomorphicLayoutEffect$4(function () {
25768
25795
  var drawer = drawerRef.current;
25769
25796
  if (!drawer) return;
25770
25797
  if (drawerMode && !mobileOpen) drawer.setAttribute("inert", "");else drawer.removeAttribute("inert");
@@ -25885,7 +25912,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
25885
25912
  className: "relative h-4 w-0",
25886
25913
  children: compactBadge
25887
25914
  });
25888
- var itemEl = jsxRuntime.jsxs(ItemTag, _objectSpread$z(_objectSpread$z({}, hasHref ? {
25915
+ var itemEl = jsxRuntime.jsxs(ItemTag, _objectSpread$B(_objectSpread$B({}, hasHref ? {
25889
25916
  href: item.href,
25890
25917
  target: item.target,
25891
25918
  rel: (_item$rel = item.rel) !== null && _item$rel !== void 0 ? _item$rel : item.target === "_blank" ? "noopener noreferrer" : undefined,
@@ -25948,7 +25975,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
25948
25975
  }));
25949
25976
  return jsxRuntime.jsxs("div", {
25950
25977
  className: "relative",
25951
- children: [showTooltipForThis ? jsxRuntime.jsx(Tooltip, _objectSpread$z(_objectSpread$z({}, tooltipOptions), {}, {
25978
+ children: [showTooltipForThis ? jsxRuntime.jsx(Tooltip, _objectSpread$B(_objectSpread$B({}, tooltipOptions), {}, {
25952
25979
  trigger: "hover",
25953
25980
  content: item.label,
25954
25981
  position: "right",
@@ -26003,6 +26030,9 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
26003
26030
  if (drawerMode && mobileOpen && setIsMobileOpen) setIsMobileOpen(false);else onToggle === null || onToggle === void 0 || onToggle();
26004
26031
  };
26005
26032
  var toggleLabel = drawerMode ? "Close navigation" : effectiveCollapsed ? "Expand sidebar" : "Collapse sidebar";
26033
+ // `collapsible={false}`: no collapse/expand toggle on md+. The drawer keeps
26034
+ // its close button (44px touch target, the drawer's only visible close).
26035
+ var showToggle = drawerMode || collapsible;
26006
26036
  var CloseChevron = isRight ? ChevronRight : ChevronLeft;
26007
26037
  var toggleIcon = drawerMode ? jsxRuntime.jsx(CloseChevron, {
26008
26038
  className: "h-5 w-5",
@@ -26069,7 +26099,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
26069
26099
  children: [!effectiveCollapsed && logo && jsxRuntime.jsx("div", {
26070
26100
  className: "flex min-w-0 items-center",
26071
26101
  children: logo
26072
- }), jsxRuntime.jsx("button", {
26102
+ }), showToggle && jsxRuntime.jsx("button", {
26073
26103
  type: "button",
26074
26104
  onClick: handleToggleClick,
26075
26105
  className: cn("inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-md", "hover:bg-gray-100 dark:hover:bg-gray-800", "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"),
@@ -26120,7 +26150,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
26120
26150
  },
26121
26151
  "aria-hidden": "true",
26122
26152
  "data-sidebar-backdrop": ""
26123
- }), jsxRuntime.jsx("aside", _objectSpread$z(_objectSpread$z(_objectSpread$z({
26153
+ }), jsxRuntime.jsx("aside", _objectSpread$B(_objectSpread$B(_objectSpread$B({
26124
26154
  ref: drawerRef,
26125
26155
  className: drawerClasses,
26126
26156
  style: drawerTransform ? {
@@ -26135,7 +26165,7 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
26135
26165
  "aria-hidden": mobileOpen ? undefined : true,
26136
26166
  tabIndex: -1
26137
26167
  } : {}), closeDrag.bodyDragProps), {}, {
26138
- children: jsxRuntime.jsx("div", _objectSpread$z(_objectSpread$z({
26168
+ children: jsxRuntime.jsx("div", _objectSpread$B(_objectSpread$B({
26139
26169
  ref: ref,
26140
26170
  className: cn("h-full", className)
26141
26171
  }, props), {}, {
@@ -26146,9 +26176,9 @@ var Sidebar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
26146
26176
  });
26147
26177
  Sidebar.displayName = "Sidebar";
26148
26178
 
26149
- var _excluded$t = ["trigger", "children", "placement", "className"];
26150
- function ownKeys$y(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26151
- function _objectSpread$y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$y(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26179
+ var _excluded$u = ["trigger", "children", "placement", "className"];
26180
+ function ownKeys$A(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26181
+ function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26152
26182
  var Dropdown = function Dropdown(_ref) {
26153
26183
  var trigger = _ref.trigger,
26154
26184
  children = _ref.children,
@@ -26156,7 +26186,7 @@ var Dropdown = function Dropdown(_ref) {
26156
26186
  placement = _ref$placement === void 0 ? 'bottom-start' : _ref$placement,
26157
26187
  _ref$className = _ref.className,
26158
26188
  className = _ref$className === void 0 ? '' : _ref$className,
26159
- props = _objectWithoutProperties$1(_ref, _excluded$t);
26189
+ props = _objectWithoutProperties$1(_ref, _excluded$u);
26160
26190
  var _useState = React.useState(false),
26161
26191
  _useState2 = _slicedToArray(_useState, 2),
26162
26192
  isOpen = _useState2[0],
@@ -26179,7 +26209,7 @@ var Dropdown = function Dropdown(_ref) {
26179
26209
  'top-start': 'bottom-full left-0 mb-1',
26180
26210
  'top-end': 'bottom-full right-0 mb-1'
26181
26211
  };
26182
- return jsxRuntime.jsxs("div", _objectSpread$y(_objectSpread$y({
26212
+ return jsxRuntime.jsxs("div", _objectSpread$A(_objectSpread$A({
26183
26213
  className: "relative inline-block ".concat(className),
26184
26214
  ref: dropdownRef
26185
26215
  }, props), {}, {
@@ -26195,9 +26225,9 @@ var Dropdown = function Dropdown(_ref) {
26195
26225
  }));
26196
26226
  };
26197
26227
 
26198
- var _excluded$s = ["src", "alt", "name", "size", "shape", "status", "className"];
26199
- function ownKeys$x(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26200
- function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26228
+ var _excluded$t = ["src", "alt", "name", "size", "shape", "status", "className"];
26229
+ function ownKeys$z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26230
+ function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26201
26231
  // Internal (not exported from the package): shared with AvatarGroup's "+N" tile.
26202
26232
  var AVATAR_SIZES = {
26203
26233
  xs: 'h-6 w-6 text-xs',
@@ -26217,7 +26247,7 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
26217
26247
  shape = _ref$shape === void 0 ? 'circle' : _ref$shape,
26218
26248
  status = _ref.status,
26219
26249
  className = _ref.className,
26220
- props = _objectWithoutProperties$1(_ref, _excluded$s);
26250
+ props = _objectWithoutProperties$1(_ref, _excluded$t);
26221
26251
  // State-driven fallback: a broken image swaps to initials / icon without
26222
26252
  // touching the DOM directly. Reset whenever `src` changes
26223
26253
  // (adjust-during-render pattern).
@@ -26258,7 +26288,7 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
26258
26288
  return jsxRuntime.jsxs("div", {
26259
26289
  ref: ref,
26260
26290
  className: "relative inline-block",
26261
- children: [jsxRuntime.jsx("div", _objectSpread$x(_objectSpread$x({
26291
+ children: [jsxRuntime.jsx("div", _objectSpread$z(_objectSpread$z({
26262
26292
  className: cn('flex items-center justify-center bg-gray-100 text-primary-600 font-medium dark:bg-gray-800 dark:text-primary-300', sizes[size], {
26263
26293
  'rounded-full': shape === 'circle',
26264
26294
  'rounded-md': shape === 'square',
@@ -26293,10 +26323,11 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
26293
26323
  });
26294
26324
  Avatar.displayName = 'Avatar';
26295
26325
 
26296
- var _excluded$r = ["emitter", "content", "notifications"],
26297
- _excluded2$5 = ["emitter", "logo", "center", "items", "user", "notifications", "searchable", "onSearch", "leftIcon", "rightMenuContent", "onLeftIconClick", "onLoginClick", "onLogoutClick", "className", "onFetch", "isMobileOpen", "setIsMobileOpen", "sticky", "largeTitle"];
26298
- function ownKeys$w(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26299
- function _objectSpread$w(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$w(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26326
+ var _excluded$s = ["emitter", "content", "notifications"],
26327
+ _excluded2$5 = ["emitter", "logo", "center", "items", "user", "notifications", "searchable", "onSearch", "leftIcon", "rightMenuContent", "onLeftIconClick", "leftIconLabel", "leftIconProps", "onLoginClick", "onLogoutClick", "className", "onFetch", "isMobileOpen", "setIsMobileOpen", "sticky", "largeTitle"],
26328
+ _excluded3$3 = ["className", "onClick"];
26329
+ function ownKeys$y(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26330
+ function _objectSpread$y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$y(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26300
26331
  var NO_NOTIFICATIONS = [];
26301
26332
  // Icon-only bar buttons: 36px on desktop, the 44px touch target on coarse pointers.
26302
26333
  var ICON_BUTTON = cn("inline-flex items-center justify-center rounded-md p-2 text-primary-400 hover:text-primary-500 hover:bg-gray-100 dark:hover:bg-gray-800", "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", TOUCH_TARGET);
@@ -26494,10 +26525,10 @@ var RightMenuContent = function RightMenuContent(_ref2) {
26494
26525
  _ref2.content;
26495
26526
  var _ref2$notifications = _ref2.notifications,
26496
26527
  notifications = _ref2$notifications === void 0 ? [] : _ref2$notifications,
26497
- props = _objectWithoutProperties$1(_ref2, _excluded$r);
26528
+ props = _objectWithoutProperties$1(_ref2, _excluded$s);
26498
26529
  return jsxRuntime.jsx("div", {
26499
26530
  className: "relative",
26500
- children: jsxRuntime.jsx(NotificationsDropdown, _objectSpread$w({
26531
+ children: jsxRuntime.jsx(NotificationsDropdown, _objectSpread$y({
26501
26532
  emitter: emitter,
26502
26533
  notifications: notifications
26503
26534
  }, props))
@@ -26525,6 +26556,9 @@ var Navbar = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
26525
26556
  leftIcon = _ref3$leftIcon === void 0 ? jsxRuntime.jsx(ChevronLeft, {}) : _ref3$leftIcon,
26526
26557
  RightMenuContentProp = _ref3.rightMenuContent,
26527
26558
  onLeftIconClick = _ref3.onLeftIconClick,
26559
+ _ref3$leftIconLabel = _ref3.leftIconLabel,
26560
+ leftIconLabel = _ref3$leftIconLabel === void 0 ? "Go back" : _ref3$leftIconLabel,
26561
+ leftIconProps = _ref3.leftIconProps,
26528
26562
  _ref3$onLoginClick = _ref3.onLoginClick,
26529
26563
  onLoginClick = _ref3$onLoginClick === void 0 ? function () {
26530
26564
  return console.log("invoked onLoginClick");
@@ -26571,6 +26605,18 @@ var Navbar = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
26571
26605
  window.removeEventListener("resize", handleResize);
26572
26606
  };
26573
26607
  }, [handleResize]);
26608
+ // Left button: `leftIconLabel` names it ("Go back" by default; e.g. "Open
26609
+ // menu" when it opens a Sidebar drawer). `leftIconProps` lands on the
26610
+ // <button> (aria-expanded, aria-controls, data-*, …); its className merges
26611
+ // last and its onClick runs after `onLeftIconClick`.
26612
+ var _ref4 = leftIconProps || {},
26613
+ leftIconClassName = _ref4.className,
26614
+ leftIconOnClick = _ref4.onClick,
26615
+ leftIconRest = _objectWithoutProperties$1(_ref4, _excluded3$3);
26616
+ var handleLeftIconClick = function handleLeftIconClick(e) {
26617
+ onLeftIconClick === null || onLeftIconClick === void 0 || onLeftIconClick(e);
26618
+ leftIconOnClick === null || leftIconOnClick === void 0 || leftIconOnClick(e);
26619
+ };
26574
26620
  // Handle search submit
26575
26621
  var handleSearch = function handleSearch(e) {
26576
26622
  e.preventDefault();
@@ -26617,11 +26663,11 @@ var Navbar = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
26617
26663
  };
26618
26664
  // RightMenuContent: prefer prop if provided, else fallback
26619
26665
  var RightMenuComponent = typeof RightMenuContentProp === "function" ? RightMenuContentProp : function (rest) {
26620
- return jsxRuntime.jsx(RightMenuContent, _objectSpread$w({
26666
+ return jsxRuntime.jsx(RightMenuContent, _objectSpread$y({
26621
26667
  emitter: emitter
26622
26668
  }, rest));
26623
26669
  };
26624
- return jsxRuntime.jsxs("nav", _objectSpread$w(_objectSpread$w({
26670
+ return jsxRuntime.jsxs("nav", _objectSpread$y(_objectSpread$y({
26625
26671
  ref: ref,
26626
26672
  className: cn("bg-surface text-foreground border-b border-line px-4 sm:px-6 lg:px-8", sticky && "sticky top-0 z-sticky pt-safe supports-[backdrop-filter]:bg-surface/80 supports-[backdrop-filter]:backdrop-blur", className),
26627
26673
  "data-sticky": sticky ? "" : undefined
@@ -26640,13 +26686,14 @@ var Navbar = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
26640
26686
  "aria-hidden": true
26641
26687
  }), jsxRuntime.jsxs("div", {
26642
26688
  className: "flex min-w-0 items-center",
26643
- children: [leftIcon !== false && jsxRuntime.jsx("button", {
26644
- onClick: onLeftIconClick,
26689
+ children: [leftIcon !== false && jsxRuntime.jsx("button", _objectSpread$y(_objectSpread$y({
26645
26690
  type: "button",
26646
- className: cn(ICON_BUTTON, "shrink-0 md:hidden"),
26647
- "aria-label": "Go back",
26691
+ "aria-label": leftIconLabel
26692
+ }, leftIconRest), {}, {
26693
+ onClick: handleLeftIconClick,
26694
+ className: cn(ICON_BUTTON, "shrink-0 md:hidden", leftIconClassName),
26648
26695
  children: leftIcon
26649
- }), logo && jsxRuntime.jsx("div", {
26696
+ })), logo && jsxRuntime.jsx("div", {
26650
26697
  className: "ml-2 min-w-0 truncate sm:ml-4 md:ml-0",
26651
26698
  children: logo
26652
26699
  })]
@@ -26853,10 +26900,10 @@ Navbar.propTypes = {
26853
26900
  largeTitle: PropTypes.node
26854
26901
  };
26855
26902
 
26856
- var _excluded$q = ["items", "linkAs", "hideOnScroll", "badgeMax", "className", "onFocus"],
26903
+ var _excluded$r = ["items", "linkAs", "hideOnScroll", "badgeMax", "className", "onFocus"],
26857
26904
  _excluded2$4 = ["className"];
26858
- function ownKeys$v(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26859
- function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26905
+ function ownKeys$x(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26906
+ function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26860
26907
  var hasBadge = function hasBadge(badge) {
26861
26908
  return badge === 0 || Boolean(badge);
26862
26909
  };
@@ -26925,7 +26972,7 @@ var FootNav = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
26925
26972
  badgeMax = _ref4$badgeMax === void 0 ? 99 : _ref4$badgeMax,
26926
26973
  className = _ref4.className,
26927
26974
  onFocus = _ref4.onFocus,
26928
- props = _objectWithoutProperties$1(_ref4, _excluded$q);
26975
+ props = _objectWithoutProperties$1(_ref4, _excluded$r);
26929
26976
  var _useHideOnScroll = useHideOnScroll(hideOnScroll),
26930
26977
  _useHideOnScroll2 = _slicedToArray(_useHideOnScroll, 2),
26931
26978
  hidden = _useHideOnScroll2[0],
@@ -26935,7 +26982,7 @@ var FootNav = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
26935
26982
  if (hidden) setHidden(false);
26936
26983
  onFocus === null || onFocus === void 0 || onFocus(e);
26937
26984
  };
26938
- return jsxRuntime.jsx("nav", _objectSpread$v(_objectSpread$v({
26985
+ return jsxRuntime.jsx("nav", _objectSpread$x(_objectSpread$x({
26939
26986
  ref: ref,
26940
26987
  "aria-label": "Primary",
26941
26988
  "data-hidden": hideOnScroll ? String(hidden) : undefined,
@@ -26951,14 +26998,14 @@ var FootNav = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
26951
26998
  var isAction = item.variant === 'action';
26952
26999
  var isLink = item.href !== undefined || item.to !== undefined;
26953
27000
  var Item = isLink ? linkAs || 'a' : 'button';
26954
- var linkProps = isLink ? _objectSpread$v({
27001
+ var linkProps = isLink ? _objectSpread$x({
26955
27002
  href: item.href
26956
27003
  }, linkAs ? {
26957
27004
  to: (_item$to = item.to) !== null && _item$to !== void 0 ? _item$to : item.href
26958
27005
  } : {}) : {
26959
27006
  type: 'button'
26960
27007
  };
26961
- return jsxRuntime.jsxs(Item, _objectSpread$v(_objectSpread$v(_objectSpread$v({}, linkProps), {}, {
27008
+ return jsxRuntime.jsxs(Item, _objectSpread$x(_objectSpread$x(_objectSpread$x({}, linkProps), {}, {
26962
27009
  "aria-current": item.active ? 'page' : undefined,
26963
27010
  "data-variant": isAction ? 'action' : undefined
26964
27011
  }, passthrough(item)), {}, {
@@ -27000,7 +27047,7 @@ FootNav.displayName = 'FootNav';
27000
27047
  var FootNavSpacer = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
27001
27048
  var className = _ref5.className,
27002
27049
  props = _objectWithoutProperties$1(_ref5, _excluded2$4);
27003
- return jsxRuntime.jsx("div", _objectSpread$v(_objectSpread$v({
27050
+ return jsxRuntime.jsx("div", _objectSpread$x(_objectSpread$x({
27004
27051
  ref: ref,
27005
27052
  "aria-hidden": "true",
27006
27053
  "data-slot": "footnav-spacer",
@@ -27014,9 +27061,9 @@ var FootNavSpacer = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
27014
27061
  FootNavSpacer.displayName = 'FootNav.Spacer';
27015
27062
  FootNav.Spacer = FootNavSpacer;
27016
27063
 
27017
- var _excluded$p = ["items", "separator", "showHome", "homeIcon", "onHomeClick", "maxItems", "className"];
27018
- function ownKeys$u(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27019
- function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27064
+ var _excluded$q = ["items", "separator", "showHome", "homeIcon", "onHomeClick", "maxItems", "className"];
27065
+ function ownKeys$w(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27066
+ function _objectSpread$w(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$w(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27020
27067
  // Items without an `id` still need a stable, unique React key.
27021
27068
  var itemKey = function itemKey(item, index) {
27022
27069
  var _ref, _item$href;
@@ -27057,7 +27104,7 @@ var Breadcrumbs = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
27057
27104
  onHomeClick = _ref3.onHomeClick,
27058
27105
  maxItems = _ref3.maxItems,
27059
27106
  className = _ref3.className,
27060
- props = _objectWithoutProperties$1(_ref3, _excluded$p);
27107
+ props = _objectWithoutProperties$1(_ref3, _excluded$q);
27061
27108
  var _useState = React.useState(false),
27062
27109
  _useState2 = _slicedToArray(_useState, 2),
27063
27110
  expanded = _useState2[0],
@@ -27092,7 +27139,7 @@ var Breadcrumbs = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
27092
27139
  children: separator
27093
27140
  });
27094
27141
  };
27095
- return jsxRuntime.jsx("nav", _objectSpread$u(_objectSpread$u({
27142
+ return jsxRuntime.jsx("nav", _objectSpread$w(_objectSpread$w({
27096
27143
  ref: ref,
27097
27144
  className: cn('flex min-w-0 items-center space-x-1 text-sm', className),
27098
27145
  "aria-label": "Breadcrumb"
@@ -27144,12 +27191,12 @@ var Breadcrumbs = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
27144
27191
  });
27145
27192
  Breadcrumbs.displayName = 'Breadcrumbs';
27146
27193
 
27147
- var _excluded$o = ["isOpen", "onClose", "title", "children", "size", "dismissible", "showCloseButton", "footer", "className", "onOpen", "presentation"],
27194
+ var _excluded$p = ["isOpen", "onClose", "title", "children", "size", "dismissible", "showCloseButton", "footer", "className", "onOpen", "presentation"],
27148
27195
  _excluded2$3 = ["children", "className"],
27149
27196
  _excluded3$2 = ["children", "className"],
27150
27197
  _excluded4$2 = ["children", "className"];
27151
- function ownKeys$t(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27152
- function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27198
+ function ownKeys$v(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27199
+ function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27153
27200
  // Exit length of the centred modal. `animate-scale-out` / `animate-fade-out`
27154
27201
  // run for duration-fast (120ms) with `forwards`, so the panel stays invisible
27155
27202
  // for the few ms before it unmounts.
@@ -27205,7 +27252,7 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
27205
27252
  onOpen = _ref2.onOpen,
27206
27253
  _ref2$presentation = _ref2.presentation,
27207
27254
  presentation = _ref2$presentation === void 0 ? 'auto' : _ref2$presentation,
27208
- props = _objectWithoutProperties$1(_ref2, _excluded$o);
27255
+ props = _objectWithoutProperties$1(_ref2, _excluded$p);
27209
27256
  var dialogRef = React.useRef(null);
27210
27257
  // Unique per instance so two open dialogs never share an aria-labelledby target.
27211
27258
  var titleId = "dialog-title-".concat(React.useId());
@@ -27253,7 +27300,7 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
27253
27300
  var _onCloseRef$current2;
27254
27301
  return (_onCloseRef$current2 = onCloseRef.current) === null || _onCloseRef$current2 === void 0 ? void 0 : _onCloseRef$current2.call(onCloseRef);
27255
27302
  };
27256
- return jsxRuntime.jsxs(Sheet, _objectSpread$t(_objectSpread$t({
27303
+ return jsxRuntime.jsxs(Sheet, _objectSpread$v(_objectSpread$v({
27257
27304
  ref: panelRef,
27258
27305
  isOpen: Boolean(isOpen),
27259
27306
  onClose: close,
@@ -27295,7 +27342,7 @@ var Dialog = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
27295
27342
  className: cn('fixed inset-0 z-modal flex items-center justify-center bg-black/50 motion-reduce:animate-none', SAFE_GUTTER, exiting ? 'pointer-events-none animate-fade-out' : 'animate-fade-in'),
27296
27343
  "data-state": presence.state,
27297
27344
  onClick: handleBackdropClick,
27298
- children: jsxRuntime.jsxs("div", _objectSpread$t(_objectSpread$t({
27345
+ children: jsxRuntime.jsxs("div", _objectSpread$v(_objectSpread$v({
27299
27346
  ref: panelRef,
27300
27347
  className: cn('flex w-full flex-col overflow-hidden rounded-lg border border-line bg-surface text-foreground shadow-xl focus:outline-none motion-reduce:animate-none', PANEL_MAX_HEIGHT, exiting ? 'animate-scale-out' : 'animate-scale-in', sizeClasses[size], className),
27301
27348
  tabIndex: -1,
@@ -27331,7 +27378,7 @@ var DialogHeader = function DialogHeader(_ref3) {
27331
27378
  var children = _ref3.children,
27332
27379
  className = _ref3.className,
27333
27380
  props = _objectWithoutProperties$1(_ref3, _excluded2$3);
27334
- return jsxRuntime.jsx("div", _objectSpread$t(_objectSpread$t({
27381
+ return jsxRuntime.jsx("div", _objectSpread$v(_objectSpread$v({
27335
27382
  className: cn('border-b border-line px-6 py-4', className)
27336
27383
  }, props), {}, {
27337
27384
  children: children
@@ -27341,7 +27388,7 @@ var DialogBody = function DialogBody(_ref4) {
27341
27388
  var children = _ref4.children,
27342
27389
  className = _ref4.className,
27343
27390
  props = _objectWithoutProperties$1(_ref4, _excluded3$2);
27344
- return jsxRuntime.jsx("div", _objectSpread$t(_objectSpread$t({
27391
+ return jsxRuntime.jsx("div", _objectSpread$v(_objectSpread$v({
27345
27392
  className: cn('px-6 py-4', className)
27346
27393
  }, props), {}, {
27347
27394
  children: children
@@ -27351,7 +27398,7 @@ var DialogFooter = function DialogFooter(_ref5) {
27351
27398
  var children = _ref5.children,
27352
27399
  className = _ref5.className,
27353
27400
  props = _objectWithoutProperties$1(_ref5, _excluded4$2);
27354
- return jsxRuntime.jsx("div", _objectSpread$t(_objectSpread$t({
27401
+ return jsxRuntime.jsx("div", _objectSpread$v(_objectSpread$v({
27355
27402
  className: cn('flex items-center justify-end gap-3 border-t border-line px-6 py-4', className)
27356
27403
  }, props), {}, {
27357
27404
  children: children
@@ -27410,9 +27457,9 @@ function useToastSwipe(_ref) {
27410
27457
  };
27411
27458
  }
27412
27459
 
27413
- var _excluded$n = ["id", "title", "message", "description", "type", "duration", "onClose", "position", "statusIcon", "actions", "color", "footerNote", "showFooterNote", "portal", "paused", "swipeToDismiss", "mobilePosition", "mobileOffset", "closeLabel", "className", "style", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onPointerDown", "onPointerUp", "onPointerCancel"];
27414
- function ownKeys$s(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27415
- function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27460
+ var _excluded$o = ["id", "title", "message", "description", "type", "duration", "onClose", "position", "statusIcon", "actions", "color", "footerNote", "showFooterNote", "portal", "paused", "swipeToDismiss", "mobilePosition", "mobileOffset", "closeLabel", "className", "style", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onPointerDown", "onPointerUp", "onPointerCancel"];
27461
+ function ownKeys$u(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27462
+ function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27416
27463
  // The single toast card. Re-exported as `Toast` from ./Toast.jsx, which also
27417
27464
  // holds the provider / hook; the stack lives in ./ToastStack.jsx.
27418
27465
  // Errors interrupt (role="alert", assertive); everything else waits for the
@@ -27500,7 +27547,7 @@ function usePauseReasons() {
27500
27547
  setReasons = _useState2[1];
27501
27548
  var set = React.useCallback(function (reason, on) {
27502
27549
  setReasons(function (prev) {
27503
- return Boolean(prev[reason]) === on ? prev : _objectSpread$s(_objectSpread$s({}, prev), {}, _defineProperty$4({}, reason, on));
27550
+ return Boolean(prev[reason]) === on ? prev : _objectSpread$u(_objectSpread$u({}, prev), {}, _defineProperty$4({}, reason, on));
27504
27551
  });
27505
27552
  }, []);
27506
27553
  return [Object.values(reasons).some(Boolean), set];
@@ -27545,7 +27592,7 @@ var Toast = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
27545
27592
  onPointerDown = _ref.onPointerDown,
27546
27593
  onPointerUp = _ref.onPointerUp,
27547
27594
  onPointerCancel = _ref.onPointerCancel,
27548
- props = _objectWithoutProperties$1(_ref, _excluded$n);
27595
+ props = _objectWithoutProperties$1(_ref, _excluded$o);
27549
27596
  var _useState3 = React.useState(true),
27550
27597
  _useState4 = _slicedToArray(_useState3, 2),
27551
27598
  isVisible = _useState4[0],
@@ -27629,7 +27676,7 @@ var Toast = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
27629
27676
  var positionClass = mobileClass || STANDALONE_POSITION_CLASSES[position] || STANDALONE_POSITION_CLASSES['top-right'];
27630
27677
  // Swipe: follow the finger, fade with distance, then leave the way it went.
27631
27678
  // A centred standalone toast keeps its -50% shift under the inline transform.
27632
- var rootStyle = _objectSpread$s({}, style);
27679
+ var rootStyle = _objectSpread$u({}, style);
27633
27680
  if (mobileClass && mobileOffset != null) rootStyle[MOBILE_OFFSET_VAR] = toCssLength(mobileOffset);
27634
27681
  var centerShift = portal && !mobileClass && /-center$/.test(position) ? 'translateX(-50%) ' : '';
27635
27682
  if (swipe.swipedOut) {
@@ -27645,7 +27692,7 @@ var Toast = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
27645
27692
  var onTouchRelease = function onTouchRelease() {
27646
27693
  return setPaused('touch', false);
27647
27694
  };
27648
- var toastContent = jsxRuntime.jsxs("div", _objectSpread$s(_objectSpread$s(_objectSpread$s({
27695
+ var toastContent = jsxRuntime.jsxs("div", _objectSpread$u(_objectSpread$u(_objectSpread$u({
27649
27696
  ref: ref,
27650
27697
  "data-swiping": swipe.dragging ? '' : undefined,
27651
27698
  "data-swipe-out": swipe.swipedOut ? swipe.swipedOut > 0 ? 'right' : 'left' : undefined,
@@ -27748,8 +27795,8 @@ var Toast = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
27748
27795
  });
27749
27796
  Toast.displayName = 'Toast';
27750
27797
 
27751
- function ownKeys$r(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27752
- function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27798
+ function ownKeys$t(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27799
+ function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27753
27800
  // Internal (not exported). The stack behind <ToastContainer> and
27754
27801
  // <ToastProvider>. Up to `visibleToasts` toasts list normally; past that the
27755
27802
  // stack collapses Sonner-style (newest in front, older ones peeking behind)
@@ -27856,7 +27903,7 @@ var ToastStack = function ToastStack(_ref) {
27856
27903
  "data-toast-depth": depth,
27857
27904
  className: cn('pointer-events-auto w-full', mobile ? 'max-w-none' : 'max-w-md', collapsible && 'transition-[transform,opacity] duration-base ease-standard motion-reduce:transition-none', collapsed && ['col-start-1 row-start-1', fromBottom ? 'self-end' : 'self-start'], collapsed && depth >= limit && 'pointer-events-none'),
27858
27905
  style: collapsed ? collapsedStyle(depth, fromBottom, limit) : undefined,
27859
- children: jsxRuntime.jsx(Toast, _objectSpread$r(_objectSpread$r({}, t), {}, {
27906
+ children: jsxRuntime.jsx(Toast, _objectSpread$t(_objectSpread$t({}, t), {}, {
27860
27907
  portal: false,
27861
27908
  position: position,
27862
27909
  paused: collapsible && interacting ? true : t.paused,
@@ -27869,9 +27916,9 @@ var ToastStack = function ToastStack(_ref) {
27869
27916
  }), document.body);
27870
27917
  };
27871
27918
 
27872
- var _excluded$m = ["children", "position", "className"];
27873
- function ownKeys$q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27874
- function _objectSpread$q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$q(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27919
+ var _excluded$n = ["children", "position", "className"];
27920
+ function ownKeys$s(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27921
+ function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27875
27922
  // The toast family: the card (./ToastItem.jsx), the stack (./ToastStack.jsx),
27876
27923
  // and the queue shared by <ToastProvider> / useToast().
27877
27924
  // Shared queue for <ToastProvider>. `null` outside a provider, where useToast
@@ -27884,7 +27931,7 @@ var ToastContainer = function ToastContainer(props) {
27884
27931
  // legacy `<ToastContainer toasts={useToast().toasts} />` would render every
27885
27932
  // toast twice. Skip it when it is handed the provider's own queue.
27886
27933
  if (shared && props.toasts === shared.toasts) return null;
27887
- return jsxRuntime.jsx(ToastStack, _objectSpread$q({}, props));
27934
+ return jsxRuntime.jsx(ToastStack, _objectSpread$s({}, props));
27888
27935
  };
27889
27936
  var useToastQueue = function useToastQueue() {
27890
27937
  var _useState = React.useState([]),
@@ -27893,7 +27940,7 @@ var useToastQueue = function useToastQueue() {
27893
27940
  setToasts = _useState2[1];
27894
27941
  var addToast = React.useCallback(function (toastOptions) {
27895
27942
  var id = toastOptions.id || "".concat(Date.now(), "-").concat(Math.random().toString(36).slice(2, 7));
27896
- var newToast = _objectSpread$q(_objectSpread$q({}, toastOptions), {}, {
27943
+ var newToast = _objectSpread$s(_objectSpread$s({}, toastOptions), {}, {
27897
27944
  id: id
27898
27945
  });
27899
27946
  setToasts(function (prev) {
@@ -27916,7 +27963,7 @@ var useToastQueue = function useToastQueue() {
27916
27963
  var toast = React.useMemo(function () {
27917
27964
  var withType = function withType(type) {
27918
27965
  return function (title, message, options) {
27919
- return addToast(_objectSpread$q({
27966
+ return addToast(_objectSpread$s({
27920
27967
  title: title,
27921
27968
  message: message,
27922
27969
  type: type
@@ -27953,11 +28000,11 @@ var ToastProvider = function ToastProvider(_ref) {
27953
28000
  position = _ref$position === void 0 ? 'top-right' : _ref$position,
27954
28001
  _ref$className = _ref.className,
27955
28002
  className = _ref$className === void 0 ? '' : _ref$className,
27956
- stackProps = _objectWithoutProperties$1(_ref, _excluded$m);
28003
+ stackProps = _objectWithoutProperties$1(_ref, _excluded$n);
27957
28004
  var queue = useToastQueue();
27958
28005
  return jsxRuntime.jsxs(ToastContext.Provider, {
27959
28006
  value: queue,
27960
- children: [children, jsxRuntime.jsx(ToastStack, _objectSpread$q({
28007
+ children: [children, jsxRuntime.jsx(ToastStack, _objectSpread$s({
27961
28008
  toasts: queue.toasts,
27962
28009
  position: position,
27963
28010
  onRemove: queue.removeToast,
@@ -27974,9 +28021,9 @@ var useToast = function useToast() {
27974
28021
  return shared !== null && shared !== void 0 ? shared : local;
27975
28022
  };
27976
28023
 
27977
- var _excluded$l = ["variant", "title", "children", "actions", "dismissible", "onDismiss", "dismissLabel", "className"];
27978
- function ownKeys$p(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27979
- function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28024
+ var _excluded$m = ["variant", "title", "children", "actions", "dismissible", "onDismiss", "dismissLabel", "className"];
28025
+ function ownKeys$r(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28026
+ function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27980
28027
  // error / warning need attention now (role="alert", assertive); info / success
27981
28028
  // / neutral must not interrupt (role="status", polite).
27982
28029
  var URGENT_VARIANTS = new Set(['error', 'warning']);
@@ -28034,10 +28081,10 @@ var Alert = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28034
28081
  _ref$dismissLabel = _ref.dismissLabel,
28035
28082
  dismissLabel = _ref$dismissLabel === void 0 ? 'Dismiss' : _ref$dismissLabel,
28036
28083
  className = _ref.className,
28037
- props = _objectWithoutProperties$1(_ref, _excluded$l);
28084
+ props = _objectWithoutProperties$1(_ref, _excluded$m);
28038
28085
  var styles = VARIANTS[variant] || VARIANTS.info;
28039
28086
  var Icon = styles.Icon;
28040
- return jsxRuntime.jsx("div", _objectSpread$p(_objectSpread$p({
28087
+ return jsxRuntime.jsx("div", _objectSpread$r(_objectSpread$r({
28041
28088
  ref: ref,
28042
28089
  className: cn('rounded-md border p-4 animate-fade-in motion-reduce:animate-none', styles.container, className),
28043
28090
  role: URGENT_VARIANTS.has(variant) ? 'alert' : 'status'
@@ -28083,12 +28130,12 @@ var Alert = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28083
28130
  });
28084
28131
  Alert.displayName = 'Alert';
28085
28132
 
28086
- var _excluded$k = ["isOpen", "onClose", "title", "description", "children", "placement", "size", "dismissible", "showCloseButton", "footer", "initialFocusRef", "handle", "swipeToClose"],
28133
+ var _excluded$l = ["isOpen", "onClose", "title", "description", "children", "placement", "size", "dismissible", "showCloseButton", "footer", "initialFocusRef", "handle", "swipeToClose"],
28087
28134
  _excluded2$2 = ["className"],
28088
28135
  _excluded3$1 = ["className"],
28089
28136
  _excluded4$1 = ["className"];
28090
- function ownKeys$o(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28091
- function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$o(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28137
+ function ownKeys$q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28138
+ function _objectSpread$q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$q(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28092
28139
  // Record-peek / editor panel. Built on the internal sheet core (ADR 0001,
28093
28140
  // DTUI-33): it slides in and out from its edge, stays mounted through the
28094
28141
  // exit, and `swipeToClose` drags it toward its own edge on every placement.
@@ -28147,7 +28194,7 @@ var DrawerTitleBar = function DrawerTitleBar(_ref2) {
28147
28194
  var _useGrabZone = useGrabZone({}),
28148
28195
  dragProps = _useGrabZone.dragProps,
28149
28196
  grabClass = _useGrabZone.grabClass;
28150
- return jsxRuntime.jsx("div", _objectSpread$o(_objectSpread$o({}, dragProps), {}, {
28197
+ return jsxRuntime.jsx("div", _objectSpread$q(_objectSpread$q({}, dragProps), {}, {
28151
28198
  className: cn("flex shrink-0 items-start justify-between gap-4 border-b border-gray-200 px-6 py-4 dark:border-gray-700", grabClass, className),
28152
28199
  children: children
28153
28200
  }));
@@ -28171,7 +28218,7 @@ var Drawer = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
28171
28218
  handle = _ref3.handle,
28172
28219
  _ref3$swipeToClose = _ref3.swipeToClose,
28173
28220
  swipeToClose = _ref3$swipeToClose === void 0 ? false : _ref3$swipeToClose,
28174
- props = _objectWithoutProperties$1(_ref3, _excluded$k);
28221
+ props = _objectWithoutProperties$1(_ref3, _excluded$l);
28175
28222
  var side = PLACEMENT_CLASSES[placement] ? placement : "right";
28176
28223
  var sizes = side === "top" || side === "bottom" ? EDGE_SIZES : SIDE_SIZES;
28177
28224
  // Without title/description/footer the children are the panel content, so
@@ -28209,7 +28256,7 @@ var Drawer = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
28209
28256
  })]
28210
28257
  });
28211
28258
  };
28212
- return jsxRuntime.jsx(SheetCore, _objectSpread$o(_objectSpread$o({
28259
+ return jsxRuntime.jsx(SheetCore, _objectSpread$q(_objectSpread$q({
28213
28260
  ref: ref,
28214
28261
  open: Boolean(isOpen),
28215
28262
  onClose: close,
@@ -28244,7 +28291,7 @@ var DrawerHeader = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
28244
28291
  var _useGrabZone2 = useGrabZone(props),
28245
28292
  dragProps = _useGrabZone2.dragProps,
28246
28293
  grabClass = _useGrabZone2.grabClass;
28247
- return jsxRuntime.jsx("div", _objectSpread$o(_objectSpread$o(_objectSpread$o({
28294
+ return jsxRuntime.jsx("div", _objectSpread$q(_objectSpread$q(_objectSpread$q({
28248
28295
  ref: ref
28249
28296
  }, props), dragProps), {}, {
28250
28297
  className: cn("border-b border-gray-200 px-6 py-4 dark:border-gray-700", grabClass, className)
@@ -28253,7 +28300,7 @@ var DrawerHeader = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
28253
28300
  var DrawerBody = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
28254
28301
  var className = _ref6.className,
28255
28302
  props = _objectWithoutProperties$1(_ref6, _excluded3$1);
28256
- return jsxRuntime.jsx("div", _objectSpread$o({
28303
+ return jsxRuntime.jsx("div", _objectSpread$q({
28257
28304
  ref: ref,
28258
28305
  className: cn("min-h-0 flex-1 overflow-y-auto px-6 py-4", className)
28259
28306
  }, props));
@@ -28261,7 +28308,7 @@ var DrawerBody = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
28261
28308
  var DrawerFooter = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
28262
28309
  var className = _ref7.className,
28263
28310
  props = _objectWithoutProperties$1(_ref7, _excluded4$1);
28264
- return jsxRuntime.jsx("div", _objectSpread$o({
28311
+ return jsxRuntime.jsx("div", _objectSpread$q({
28265
28312
  ref: ref,
28266
28313
  className: cn("flex items-center justify-end gap-3 border-t border-gray-200 px-6 py-4 dark:border-gray-700", className)
28267
28314
  }, props));
@@ -28273,9 +28320,9 @@ Drawer.Header = DrawerHeader;
28273
28320
  Drawer.Body = DrawerBody;
28274
28321
  Drawer.Footer = DrawerFooter;
28275
28322
 
28276
- var _excluded$j = ["open", "isOpen", "onClose", "title", "message", "actions", "cancelLabel", "className", "aria-label"];
28277
- function ownKeys$n(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28278
- function _objectSpread$n(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$n(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28323
+ var _excluded$k = ["open", "isOpen", "onClose", "title", "message", "actions", "cancelLabel", "className", "aria-label"];
28324
+ function ownKeys$p(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28325
+ function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28279
28326
  // iOS UIAlertController-style action sheet on the bottom Sheet: an optional
28280
28327
  // title + message, a card of actions (destructive ones in the error tone) and
28281
28328
  // a separate Cancel. The same implementation (ActionSheetMenu) renders the
@@ -28296,7 +28343,7 @@ var ActionSheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28296
28343
  cancelLabel = _ref$cancelLabel === void 0 ? "Cancel" : _ref$cancelLabel,
28297
28344
  className = _ref.className,
28298
28345
  ariaLabel = _ref["aria-label"],
28299
- rest = _objectWithoutProperties$1(_ref, _excluded$j);
28346
+ rest = _objectWithoutProperties$1(_ref, _excluded$k);
28300
28347
  var items = (Array.isArray(actions) ? actions : []).filter(Boolean).map(normalizeAction);
28301
28348
  var selectItem = function selectItem(item) {
28302
28349
  var _item$onSelect;
@@ -28304,7 +28351,7 @@ var ActionSheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28304
28351
  (_item$onSelect = item.onSelect) === null || _item$onSelect === void 0 || _item$onSelect.call(item);
28305
28352
  _onClose === null || _onClose === void 0 || _onClose("select");
28306
28353
  };
28307
- return jsxRuntime.jsx(ActionSheetMenu, _objectSpread$n({
28354
+ return jsxRuntime.jsx(ActionSheetMenu, _objectSpread$p({
28308
28355
  ref: ref,
28309
28356
  open: Boolean(open !== null && open !== void 0 ? open : isOpen),
28310
28357
  onClose: function onClose(reason) {
@@ -28472,10 +28519,10 @@ var TourSpotlight = function TourSpotlight(_ref) {
28472
28519
  };
28473
28520
  TourSpotlight.displayName = "TourSpotlight";
28474
28521
 
28475
- var _excluded$i = ["open", "steps", "onClose", "onFinish", "step", "defaultStep", "onStepChange", "labels", "targetTimeout", "spotlightPadding", "presentation", "className", "style", "onPointerDown", "onPointerUp", "onPointerCancel", "onClickCapture"];
28476
- function ownKeys$m(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28477
- function _objectSpread$m(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$m(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$m(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28478
- var useIsomorphicLayoutEffect$2 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
28522
+ var _excluded$j = ["open", "steps", "onClose", "onFinish", "step", "defaultStep", "onStepChange", "labels", "targetTimeout", "spotlightPadding", "presentation", "className", "style", "onPointerDown", "onPointerUp", "onPointerCancel", "onClickCapture"];
28523
+ function ownKeys$o(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28524
+ function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$o(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28525
+ var useIsomorphicLayoutEffect$3 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
28479
28526
  // Docked (phone) card: a horizontal swipe at least this long (px), and clearly
28480
28527
  // more horizontal than vertical, goes to the next / previous step.
28481
28528
  var SWIPE_DISTANCE = 50;
@@ -28527,7 +28574,7 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28527
28574
  _onPointerUp = _ref.onPointerUp,
28528
28575
  _onPointerCancel = _ref.onPointerCancel,
28529
28576
  _onClickCapture = _ref.onClickCapture,
28530
- rest = _objectWithoutProperties$1(_ref, _excluded$i);
28577
+ rest = _objectWithoutProperties$1(_ref, _excluded$j);
28531
28578
  var cardRef = React.useRef(null);
28532
28579
  var swipeRef = React.useRef({
28533
28580
  x: 0,
@@ -28536,7 +28583,7 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28536
28583
  swipedAt: -Infinity
28537
28584
  });
28538
28585
  var baseId = React.useId();
28539
- var text = _objectSpread$m(_objectSpread$m({}, DEFAULT_LABELS), labels);
28586
+ var text = _objectSpread$o(_objectSpread$o({}, DEFAULT_LABELS), labels);
28540
28587
  var docked = usePresentation(presentation) === "sheet";
28541
28588
  // Each opening is a new session: the uncontrolled step restarts and stale
28542
28589
  // target measurements from the previous run are ignored.
@@ -28579,7 +28626,7 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28579
28626
  setFloating = refs.setFloating;
28580
28627
  // The target's measured box is the (virtual) reference; useTourTarget
28581
28628
  // re-measures it on scroll/resize.
28582
- useIsomorphicLayoutEffect$2(function () {
28629
+ useIsomorphicLayoutEffect$3(function () {
28583
28630
  setReference(anchored ? {
28584
28631
  getBoundingClientRect: function getBoundingClientRect() {
28585
28632
  return rect;
@@ -28589,7 +28636,7 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28589
28636
  var goTo = function goTo(next) {
28590
28637
  if (next < 0 || next >= total || next === index) return;
28591
28638
  if (stepProp === undefined) setSession(function (s) {
28592
- return _objectSpread$m(_objectSpread$m({}, s), {}, {
28639
+ return _objectSpread$o(_objectSpread$o({}, s), {}, {
28593
28640
  step: next
28594
28641
  });
28595
28642
  });
@@ -28668,7 +28715,7 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28668
28715
  children: [jsxRuntime.jsx(TourSpotlight, {
28669
28716
  rect: ready ? rect : null,
28670
28717
  padding: spotlightPadding
28671
- }), jsxRuntime.jsxs("div", _objectSpread$m(_objectSpread$m(_objectSpread$m({
28718
+ }), jsxRuntime.jsxs("div", _objectSpread$o(_objectSpread$o(_objectSpread$o({
28672
28719
  ref: function ref(node) {
28673
28720
  return setRefs$1(node, cardRef, _ref2, setFloating);
28674
28721
  },
@@ -28681,7 +28728,7 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28681
28728
  "data-placement": placementAttr,
28682
28729
  "data-presentation": docked ? "sheet" : "popover",
28683
28730
  className: cn("fixed overflow-y-auto overscroll-contain rounded-lg border border-gray-200 bg-white text-gray-900 shadow-xl focus:outline-none", "dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100", "transition-opacity duration-200 motion-reduce:transition-none", docked ? "inset-x-4 bottom-4 max-h-[60dvh] pb-safe touch-pan-y" : "w-[min(22rem,calc(100vw-2rem))] max-h-[calc(100dvh-2rem)]", !docked && !rect && "left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2", ready ? "opacity-100" : "pointer-events-none opacity-0", className),
28684
- style: anchored ? _objectSpread$m(_objectSpread$m({}, floatingStyles), style) : style
28731
+ style: anchored ? _objectSpread$o(_objectSpread$o({}, floatingStyles), style) : style
28685
28732
  }, swipeHandlers), rest), {}, {
28686
28733
  children: [jsxRuntime.jsxs("div", {
28687
28734
  className: "flex items-start justify-between gap-3 px-4 pt-4",
@@ -28747,9 +28794,9 @@ var Tour = /*#__PURE__*/React.forwardRef(function (_ref, _ref2) {
28747
28794
  });
28748
28795
  Tour.displayName = "Tour";
28749
28796
 
28750
- var _excluded$h = ["children", "variant", "size", "rounded", "dot", "icon", "max", "className"];
28751
- function ownKeys$l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28752
- function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28797
+ var _excluded$i = ["children", "variant", "size", "rounded", "dot", "icon", "max", "className"];
28798
+ function ownKeys$n(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28799
+ function _objectSpread$n(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$n(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28753
28800
  // Light: 100 fill + 800 text (≥4.5:1). Dark: a tinted 900 fill + 200 text.
28754
28801
  var variants = {
28755
28802
  "default": 'bg-gray-100 text-primary-800 dark:bg-gray-800 dark:text-gray-100',
@@ -28786,9 +28833,9 @@ var Badge = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28786
28833
  icon = _ref.icon,
28787
28834
  max = _ref.max,
28788
28835
  className = _ref.className,
28789
- props = _objectWithoutProperties$1(_ref, _excluded$h);
28836
+ props = _objectWithoutProperties$1(_ref, _excluded$i);
28790
28837
  var hasLead = dot || Boolean(icon);
28791
- return jsxRuntime.jsxs("span", _objectSpread$l(_objectSpread$l({
28838
+ return jsxRuntime.jsxs("span", _objectSpread$n(_objectSpread$n({
28792
28839
  ref: ref,
28793
28840
  className: cn('inline-flex items-center font-medium', variants[variant], sizes[size] || sizes.md, {
28794
28841
  'rounded-full': rounded,
@@ -28810,9 +28857,9 @@ var Badge = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28810
28857
  });
28811
28858
  Badge.displayName = 'Badge';
28812
28859
 
28813
- var _excluded$g = ["children", "max", "size", "className"];
28814
- function ownKeys$k(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28815
- function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28860
+ var _excluded$h = ["children", "max", "size", "className"];
28861
+ function ownKeys$m(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28862
+ function _objectSpread$m(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$m(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$m(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28816
28863
  // Overlap grows with the avatar so the stack reads the same at every size.
28817
28864
  var OVERLAP = {
28818
28865
  xs: '-space-x-1.5',
@@ -28831,13 +28878,13 @@ var AvatarGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28831
28878
  _ref$size = _ref.size,
28832
28879
  size = _ref$size === void 0 ? 'md' : _ref$size,
28833
28880
  className = _ref.className,
28834
- props = _objectWithoutProperties$1(_ref, _excluded$g);
28881
+ props = _objectWithoutProperties$1(_ref, _excluded$h);
28835
28882
  var avatars = React.Children.toArray(children).filter(React.isValidElement);
28836
28883
  var limit = typeof max === 'number' && max >= 0 ? max : avatars.length;
28837
28884
  var visible = avatars.slice(0, limit);
28838
28885
  var overflow = avatars.length - visible.length;
28839
28886
  var sizeKey = AVATAR_SIZES[size] ? size : 'md';
28840
- return jsxRuntime.jsxs("div", _objectSpread$k(_objectSpread$k({
28887
+ return jsxRuntime.jsxs("div", _objectSpread$m(_objectSpread$m({
28841
28888
  ref: ref,
28842
28889
  role: "group",
28843
28890
  className: cn('flex items-center', OVERLAP[sizeKey], className)
@@ -28860,14 +28907,14 @@ var AvatarGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28860
28907
  });
28861
28908
  AvatarGroup.displayName = 'AvatarGroup';
28862
28909
 
28863
- var _excluded$f = ["children", "className", "hover", "interactive", "onClick", "onKeyDown"],
28910
+ var _excluded$g = ["children", "className", "hover", "interactive", "onClick", "onKeyDown"],
28864
28911
  _excluded2$1 = ["children", "className"],
28865
28912
  _excluded3 = ["children", "className"],
28866
28913
  _excluded4 = ["children", "className"],
28867
28914
  _excluded5 = ["children", "className"],
28868
28915
  _excluded6 = ["children", "className"];
28869
- function ownKeys$j(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28870
- function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28916
+ function ownKeys$l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28917
+ function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28871
28918
  // Interactive cards: hover lift, press shrink and a keyboard focus ring. The
28872
28919
  // transition list covers both the shadow and the press transform.
28873
28920
  var INTERACTIVE_CLASSES = cn('cursor-pointer hover:shadow-md focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-gray-900', PRESS_FEEDBACK, 'transition-[box-shadow,transform] duration-fast ease-standard motion-reduce:transition-none');
@@ -28880,7 +28927,7 @@ var Card = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28880
28927
  interactive = _ref$interactive === void 0 ? false : _ref$interactive,
28881
28928
  onClick = _ref.onClick,
28882
28929
  onKeyDown = _ref.onKeyDown,
28883
- props = _objectWithoutProperties$1(_ref, _excluded$f);
28930
+ props = _objectWithoutProperties$1(_ref, _excluded$g);
28884
28931
  // A clickable interactive card with no role of its own becomes a keyboard
28885
28932
  // operable button (Tab to it, Enter / Space to activate).
28886
28933
  var actsAsButton = interactive && typeof onClick === 'function' && props.role === undefined;
@@ -28892,7 +28939,7 @@ var Card = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28892
28939
  onClick(e);
28893
28940
  }
28894
28941
  };
28895
- return jsxRuntime.jsx("div", _objectSpread$j(_objectSpread$j({
28942
+ return jsxRuntime.jsx("div", _objectSpread$l(_objectSpread$l({
28896
28943
  ref: ref,
28897
28944
  role: actsAsButton ? 'button' : undefined,
28898
28945
  tabIndex: actsAsButton ? 0 : undefined,
@@ -28911,7 +28958,7 @@ var CardHeader = function CardHeader(_ref2) {
28911
28958
  var children = _ref2.children,
28912
28959
  className = _ref2.className,
28913
28960
  props = _objectWithoutProperties$1(_ref2, _excluded2$1);
28914
- return jsxRuntime.jsx("div", _objectSpread$j(_objectSpread$j({
28961
+ return jsxRuntime.jsx("div", _objectSpread$l(_objectSpread$l({
28915
28962
  className: cn('px-4 sm:px-6 py-4 border-b border-line', className)
28916
28963
  }, props), {}, {
28917
28964
  children: children
@@ -28921,7 +28968,7 @@ var CardTitle = function CardTitle(_ref3) {
28921
28968
  var children = _ref3.children,
28922
28969
  className = _ref3.className,
28923
28970
  props = _objectWithoutProperties$1(_ref3, _excluded3);
28924
- return jsxRuntime.jsx("h3", _objectSpread$j(_objectSpread$j({
28971
+ return jsxRuntime.jsx("h3", _objectSpread$l(_objectSpread$l({
28925
28972
  className: cn('text-lg font-semibold text-primary-900 dark:text-primary-100', className)
28926
28973
  }, props), {}, {
28927
28974
  children: children
@@ -28931,7 +28978,7 @@ var CardDescription = function CardDescription(_ref4) {
28931
28978
  var children = _ref4.children,
28932
28979
  className = _ref4.className,
28933
28980
  props = _objectWithoutProperties$1(_ref4, _excluded4);
28934
- return jsxRuntime.jsx("p", _objectSpread$j(_objectSpread$j({
28981
+ return jsxRuntime.jsx("p", _objectSpread$l(_objectSpread$l({
28935
28982
  className: cn('text-sm text-primary-600 dark:text-primary-300', className)
28936
28983
  }, props), {}, {
28937
28984
  children: children
@@ -28941,7 +28988,7 @@ var CardContent = function CardContent(_ref5) {
28941
28988
  var children = _ref5.children,
28942
28989
  className = _ref5.className,
28943
28990
  props = _objectWithoutProperties$1(_ref5, _excluded5);
28944
- return jsxRuntime.jsx("div", _objectSpread$j(_objectSpread$j({
28991
+ return jsxRuntime.jsx("div", _objectSpread$l(_objectSpread$l({
28945
28992
  className: cn('px-4 sm:px-6 py-4', className)
28946
28993
  }, props), {}, {
28947
28994
  children: children
@@ -28951,7 +28998,7 @@ var CardFooter = function CardFooter(_ref6) {
28951
28998
  var children = _ref6.children,
28952
28999
  className = _ref6.className,
28953
29000
  props = _objectWithoutProperties$1(_ref6, _excluded6);
28954
- return jsxRuntime.jsx("div", _objectSpread$j(_objectSpread$j({
29001
+ return jsxRuntime.jsx("div", _objectSpread$l(_objectSpread$l({
28955
29002
  className: cn('px-4 sm:px-6 py-4 border-t border-line', className)
28956
29003
  }, props), {}, {
28957
29004
  children: children
@@ -28963,9 +29010,9 @@ Card.Description = CardDescription;
28963
29010
  Card.Content = CardContent;
28964
29011
  Card.Footer = CardFooter;
28965
29012
 
28966
- var _excluded$e = ["currentPage", "totalPages", "onPageChange", "showFirstLast", "showPrevNext", "maxVisiblePages", "className"];
28967
- function ownKeys$i(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28968
- function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29013
+ var _excluded$f = ["currentPage", "totalPages", "onPageChange", "showFirstLast", "showPrevNext", "maxVisiblePages", "className"];
29014
+ function ownKeys$k(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29015
+ function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28969
29016
  // Shared button chrome: dark-safe surface, focus-visible ring, 44px target on coarse pointers.
28970
29017
  var BUTTON_BASE = cn('inline-flex items-center justify-center rounded-md border px-3 py-2 text-sm font-medium', 'transition-colors duration-fast motion-reduce:transition-none', 'outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-gray-900', TOUCH_TARGET);
28971
29018
  var BUTTON_IDLE = 'border-gray-300 bg-white hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:hover:bg-gray-800';
@@ -28984,7 +29031,7 @@ var Pagination = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28984
29031
  _ref$maxVisiblePages = _ref.maxVisiblePages,
28985
29032
  maxVisiblePages = _ref$maxVisiblePages === void 0 ? 5 : _ref$maxVisiblePages,
28986
29033
  className = _ref.className,
28987
- props = _objectWithoutProperties$1(_ref, _excluded$e);
29034
+ props = _objectWithoutProperties$1(_ref, _excluded$f);
28988
29035
  var getVisiblePages = function getVisiblePages() {
28989
29036
  var pages = [];
28990
29037
  var halfVisible = Math.floor(maxVisiblePages / 2);
@@ -29014,7 +29061,7 @@ var Pagination = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29014
29061
  // prev/next buttons to drive it; otherwise the full layout shows everywhere.
29015
29062
  var compact = showPrevNext;
29016
29063
  var fullOnly = compact ? 'hidden sm:inline-flex' : '';
29017
- return jsxRuntime.jsxs("nav", _objectSpread$i(_objectSpread$i({
29064
+ return jsxRuntime.jsxs("nav", _objectSpread$k(_objectSpread$k({
29018
29065
  ref: ref,
29019
29066
  className: cn('flex flex-wrap items-center justify-center gap-1', className),
29020
29067
  "aria-label": "Pagination"
@@ -29085,9 +29132,9 @@ var Pagination = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29085
29132
  });
29086
29133
  Pagination.displayName = 'Pagination';
29087
29134
 
29088
- var _excluded$d = ["steps", "currentStep", "orientation", "variant", "onStepClick", "className"];
29089
- function ownKeys$h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29090
- function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29135
+ var _excluded$e = ["steps", "currentStep", "orientation", "variant", "onStepClick", "className"];
29136
+ function ownKeys$j(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29137
+ function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29091
29138
  // Layout classes per orientation. "auto" stacks vertically below `sm` and lays
29092
29139
  // out horizontally from `sm` up. Every class is written out literally so
29093
29140
  // Tailwind's content scan picks it up.
@@ -29154,7 +29201,7 @@ var Stepper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29154
29201
  variant = _ref$variant === void 0 ? 'default' : _ref$variant,
29155
29202
  onStepClick = _ref.onStepClick,
29156
29203
  className = _ref.className,
29157
- props = _objectWithoutProperties$1(_ref, _excluded$d);
29204
+ props = _objectWithoutProperties$1(_ref, _excluded$e);
29158
29205
  var getStepStatus = function getStepStatus(stepIndex) {
29159
29206
  if (stepIndex < currentStep) return 'completed';
29160
29207
  if (stepIndex === currentStep) return 'current';
@@ -29172,7 +29219,7 @@ var Stepper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29172
29219
  };
29173
29220
  // Compact progress dots: no titles, just one dot per step (current = pill).
29174
29221
  if (variant === 'dots') {
29175
- return jsxRuntime.jsx("nav", _objectSpread$h(_objectSpread$h({
29222
+ return jsxRuntime.jsx("nav", _objectSpread$j(_objectSpread$j({
29176
29223
  ref: ref,
29177
29224
  className: cn('flex flex-row items-center gap-1', className),
29178
29225
  "aria-label": "Progress",
@@ -29198,7 +29245,7 @@ var Stepper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29198
29245
  }));
29199
29246
  }
29200
29247
  var layout = LAYOUT[orientation] || LAYOUT.horizontal;
29201
- return jsxRuntime.jsx("nav", _objectSpread$h(_objectSpread$h({
29248
+ return jsxRuntime.jsx("nav", _objectSpread$j(_objectSpread$j({
29202
29249
  ref: ref,
29203
29250
  className: cn('flex', layout.nav, className),
29204
29251
  "aria-label": "Progress"
@@ -29247,9 +29294,9 @@ var Stepper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29247
29294
  });
29248
29295
  Stepper.displayName = 'Stepper';
29249
29296
 
29250
- var _excluded$c = ["accept", "multiple", "maxSize", "onFileSelect", "onFileRemove", "files", "disabled", "capture", "className"];
29251
- function ownKeys$g(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29252
- function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29297
+ var _excluded$d = ["accept", "multiple", "maxSize", "onFileSelect", "onFileRemove", "files", "disabled", "capture", "className"];
29298
+ function ownKeys$i(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29299
+ function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29253
29300
  var COARSE_POINTER_QUERY = '(pointer: coarse)';
29254
29301
  // PRESS_FEEDBACK sets transition-transform; this keeps the colour transition as well.
29255
29302
  var TRANSITION_WITH_PRESS = 'transition-[color,background-color,border-color,transform]';
@@ -29274,7 +29321,7 @@ var FileUpload = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29274
29321
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
29275
29322
  capture = _ref.capture,
29276
29323
  className = _ref.className,
29277
- props = _objectWithoutProperties$1(_ref, _excluded$c);
29324
+ props = _objectWithoutProperties$1(_ref, _excluded$d);
29278
29325
  var _useState = React.useState(false),
29279
29326
  _useState2 = _slicedToArray(_useState, 2),
29280
29327
  isDragOver = _useState2[0],
@@ -29365,7 +29412,7 @@ var FileUpload = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29365
29412
  className: "text-xs text-primary-500 dark:text-primary-300 mt-1",
29366
29413
  children: [accept && "Accepted formats: ".concat(accept), maxSize && " \u2022 Max size: ".concat(formatFileSize(maxSize))]
29367
29414
  });
29368
- return jsxRuntime.jsxs("div", _objectSpread$g(_objectSpread$g({
29415
+ return jsxRuntime.jsxs("div", _objectSpread$i(_objectSpread$i({
29369
29416
  ref: ref,
29370
29417
  className: cn('w-full', className)
29371
29418
  }, props), {}, {
@@ -29499,9 +29546,9 @@ var Condition = function Condition(_ref) {
29499
29546
  return condition ? children : fallback;
29500
29547
  };
29501
29548
 
29502
- var _excluded$b = ["children", "autoPlay", "interval", "showDots", "className", "itemClassName", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onTouchStart", "onTouchEnd"];
29503
- function ownKeys$f(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29504
- function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29549
+ var _excluded$c = ["children", "autoPlay", "interval", "showDots", "className", "itemClassName", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onTouchStart", "onTouchEnd"];
29550
+ function ownKeys$h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29551
+ function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29505
29552
  // Arrows stay visible at rest (touch devices have no hover) and use the surface /
29506
29553
  // foreground role tokens so they read on light and dark themes alike.
29507
29554
  var ARROW_CLASSES = "absolute top-1/2 -translate-y-1/2 z-10 inline-flex items-center justify-center p-2 rounded-full bg-surface/80 backdrop-blur-md border border-line text-foreground shadow-lg transition-colors motion-reduce:transition-none hover:bg-surface focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500";
@@ -29536,7 +29583,7 @@ var Carousel = /*#__PURE__*/React.forwardRef(function Carousel(props, ref) {
29536
29583
  _onBlur = props.onBlur,
29537
29584
  _onTouchStart = props.onTouchStart,
29538
29585
  _onTouchEnd = props.onTouchEnd,
29539
- rest = _objectWithoutProperties$1(props, _excluded$b);
29586
+ rest = _objectWithoutProperties$1(props, _excluded$c);
29540
29587
  var reducedMotion = useReducedMotion();
29541
29588
  var _React$useState = React.useState(0),
29542
29589
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -29604,7 +29651,7 @@ var Carousel = /*#__PURE__*/React.forwardRef(function Carousel(props, ref) {
29604
29651
  return clearInterval(timer);
29605
29652
  };
29606
29653
  }, [isAutoPlaying, next, interval]);
29607
- return jsxRuntime.jsxs("div", _objectSpread$f(_objectSpread$f({
29654
+ return jsxRuntime.jsxs("div", _objectSpread$h(_objectSpread$h({
29608
29655
  ref: ref,
29609
29656
  role: "region",
29610
29657
  "aria-roledescription": "carousel",
@@ -29716,7 +29763,25 @@ Carousel.displayName = "Carousel";
29716
29763
 
29717
29764
  // Internal (not exported). Keyboard + pointer reordering for Sortable. Both
29718
29765
  // work on a draft list of keys while the user is moving an item and only call
29719
- // `commit(fromIndex, toIndex)` when the item is dropped.
29766
+ // `commit(fromIndex, toIndex)` when the item is dropped. Inside a SortableGroup
29767
+ // they also get a `cross` object (see useSortableGroup.js) that takes over when
29768
+ // the item is carried into another list; without one they behave as before.
29769
+ var defaultGetKey = function defaultGetKey(item, index) {
29770
+ var _ref, _item$id;
29771
+ return (_ref = (_item$id = item === null || item === void 0 ? void 0 : item.id) !== null && _item$id !== void 0 ? _item$id : item === null || item === void 0 ? void 0 : item.key) !== null && _ref !== void 0 ? _ref : index;
29772
+ };
29773
+ var defaultGetItemLabel = function defaultGetItemLabel(item, index) {
29774
+ var _ref2, _ref3, _item$label;
29775
+ return typeof item === "string" || typeof item === "number" ? String(item) : (_ref2 = (_ref3 = (_item$label = item === null || item === void 0 ? void 0 : item.label) !== null && _item$label !== void 0 ? _item$label : item === null || item === void 0 ? void 0 : item.title) !== null && _ref3 !== void 0 ? _ref3 : item === null || item === void 0 ? void 0 : item.name) !== null && _ref2 !== void 0 ? _ref2 : "Item ".concat(index + 1);
29776
+ };
29777
+ function arrayMove(list, from, to) {
29778
+ var next = list.slice();
29779
+ var _next$splice = next.splice(from, 1),
29780
+ _next$splice2 = _slicedToArray(_next$splice, 1),
29781
+ moved = _next$splice2[0];
29782
+ next.splice(to, 0, moved);
29783
+ return next;
29784
+ }
29720
29785
  function moveKey(keys, key, toIndex) {
29721
29786
  var next = keys.filter(function (k) {
29722
29787
  return k !== key;
@@ -29737,6 +29802,17 @@ var DEFAULT_SORTABLE_MESSAGES = {
29737
29802
  },
29738
29803
  cancelled: function cancelled(label, position) {
29739
29804
  return "Reorder cancelled. ".concat(label, " returned to position ").concat(position, ".");
29805
+ },
29806
+ // Only used inside a SortableGroup.
29807
+ groupInstructions: "Use the arrow keys across the list (Left and Right in a vertical list) to carry it to the previous or next list.",
29808
+ movedToList: function movedToList(label, list, position, total) {
29809
+ return "".concat(label, " moved to ").concat(list, ", position ").concat(position, " of ").concat(total, ".");
29810
+ },
29811
+ droppedInList: function droppedInList(label, list, position, total) {
29812
+ return "".concat(label, " dropped in ").concat(list, " at position ").concat(position, " of ").concat(total, ".");
29813
+ },
29814
+ refused: function refused(label, list) {
29815
+ return "".concat(label, " cannot be dropped in ").concat(list, ".");
29740
29816
  }
29741
29817
  };
29742
29818
  var PREV_KEYS = {
@@ -29747,13 +29823,31 @@ var NEXT_KEYS = {
29747
29823
  vertical: ["ArrowDown"],
29748
29824
  horizontal: ["ArrowRight"]
29749
29825
  };
29750
- function useSortableKeyboard(_ref) {
29751
- var keys = _ref.keys,
29752
- setDraft = _ref.setDraft,
29753
- commit = _ref.commit,
29754
- announce = _ref.announce,
29755
- labelFor = _ref.labelFor,
29756
- orientation = _ref.orientation;
29826
+ // Cross-axis arrows step between the lists of a SortableGroup.
29827
+ var LIST_KEYS = {
29828
+ vertical: {
29829
+ ArrowLeft: -1,
29830
+ ArrowRight: 1
29831
+ },
29832
+ horizontal: {
29833
+ ArrowUp: -1,
29834
+ ArrowDown: 1
29835
+ }
29836
+ };
29837
+ var stepOf = function stepOf(e, orientation, cross) {
29838
+ return {
29839
+ delta: PREV_KEYS[orientation].includes(e.key) ? -1 : NEXT_KEYS[orientation].includes(e.key) ? 1 : 0,
29840
+ list: cross ? LIST_KEYS[orientation][e.key] || 0 : 0
29841
+ };
29842
+ };
29843
+ function useSortableKeyboard(_ref4) {
29844
+ var keys = _ref4.keys,
29845
+ setDraft = _ref4.setDraft,
29846
+ commit = _ref4.commit,
29847
+ announce = _ref4.announce,
29848
+ labelFor = _ref4.labelFor,
29849
+ orientation = _ref4.orientation,
29850
+ cross = _ref4.cross;
29757
29851
  var _useState = React.useState(null),
29758
29852
  _useState2 = _slicedToArray(_useState, 2),
29759
29853
  grabbed = _useState2[0],
@@ -29771,21 +29865,27 @@ function useSortableKeyboard(_ref) {
29771
29865
  setGrabbed(key);
29772
29866
  setDraft(keys);
29773
29867
  announce("grabbed", labelFor(key), index + 1, total);
29774
- } else {
29775
- setGrabbed(null);
29776
- commit(origin.current, index);
29777
- announce("dropped", labelFor(key), index + 1, total);
29868
+ return;
29778
29869
  }
29870
+ var crossed = cross === null || cross === void 0 ? void 0 : cross.drop(key);
29871
+ if (crossed === "refused") return;
29872
+ setGrabbed(null);
29873
+ if (crossed) return;
29874
+ commit(origin.current, index);
29875
+ announce("dropped", labelFor(key), index + 1, total);
29779
29876
  } else if (grabbed === key && e.key === "Escape") {
29780
29877
  e.preventDefault();
29781
29878
  setGrabbed(null);
29782
29879
  setDraft(null);
29880
+ cross === null || cross === void 0 || cross.cancel();
29783
29881
  announce("cancelled", labelFor(key), origin.current + 1, total);
29784
29882
  } else if (grabbed === key) {
29785
- var delta = PREV_KEYS[orientation].includes(e.key) ? -1 : NEXT_KEYS[orientation].includes(e.key) ? 1 : 0;
29786
- if (!delta) return;
29883
+ var step = stepOf(e, orientation, cross);
29884
+ if (!step.delta && !step.list) return;
29787
29885
  e.preventDefault();
29788
- var to = Math.max(0, Math.min(total - 1, index + delta));
29886
+ if (step.list) return cross.step(key, step.list);
29887
+ if (cross !== null && cross !== void 0 && cross.nudge(key, step.delta)) return;
29888
+ var to = Math.max(0, Math.min(total - 1, index + step.delta));
29789
29889
  if (to === index) return;
29790
29890
  setDraft(moveKey(keys, key, to));
29791
29891
  announce("moved", labelFor(key), to + 1, total);
@@ -29795,7 +29895,8 @@ function useSortableKeyboard(_ref) {
29795
29895
  var cancel = React.useCallback(function () {
29796
29896
  setGrabbed(null);
29797
29897
  setDraft(null);
29798
- }, [setDraft]);
29898
+ cross === null || cross === void 0 || cross.cancel();
29899
+ }, [setDraft, cross]);
29799
29900
  return {
29800
29901
  grabbed: grabbed,
29801
29902
  keyDownFor: keyDownFor,
@@ -29841,13 +29942,14 @@ var raf = function raf(cb) {
29841
29942
  var caf = function caf(id) {
29842
29943
  return typeof window.cancelAnimationFrame === "function" ? window.cancelAnimationFrame(id) : clearTimeout(id);
29843
29944
  };
29844
- function useSortablePointer(_ref2) {
29845
- var keys = _ref2.keys,
29846
- setDraft = _ref2.setDraft,
29847
- commit = _ref2.commit,
29848
- nodeFor = _ref2.nodeFor,
29849
- orientation = _ref2.orientation,
29850
- disabled = _ref2.disabled;
29945
+ function useSortablePointer(_ref5) {
29946
+ var keys = _ref5.keys,
29947
+ setDraft = _ref5.setDraft,
29948
+ commit = _ref5.commit,
29949
+ nodeFor = _ref5.nodeFor,
29950
+ orientation = _ref5.orientation,
29951
+ disabled = _ref5.disabled,
29952
+ cross = _ref5.cross;
29851
29953
  var _useState3 = React.useState(null),
29852
29954
  _useState4 = _slicedToArray(_useState3, 2),
29853
29955
  dragging = _useState4[0],
@@ -29857,7 +29959,8 @@ function useSortablePointer(_ref2) {
29857
29959
  keys: keys,
29858
29960
  commit: commit,
29859
29961
  nodeFor: nodeFor,
29860
- orientation: orientation
29962
+ orientation: orientation,
29963
+ cross: cross
29861
29964
  });
29862
29965
  var end = React.useCallback(function () {
29863
29966
  var _session$current;
@@ -29886,9 +29989,9 @@ function useSortablePointer(_ref2) {
29886
29989
  // `longPress`: on touch, wait LONG_PRESS_DELAY before picking the item up (used
29887
29990
  // when the whole item is the drag source, so the list still scrolls on swipe).
29888
29991
  var startFor = function startFor(key) {
29889
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
29890
- _ref3$longPress = _ref3.longPress,
29891
- longPress = _ref3$longPress === void 0 ? false : _ref3$longPress;
29992
+ var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
29993
+ _ref6$longPress = _ref6.longPress,
29994
+ longPress = _ref6$longPress === void 0 ? false : _ref6$longPress;
29892
29995
  return function (e) {
29893
29996
  if (disabled || e.button > 0) return;
29894
29997
  var start = {
@@ -29901,6 +30004,12 @@ function useSortablePointer(_ref2) {
29901
30004
  var point = start;
29902
30005
  var pressTimer = null;
29903
30006
  var frame = null;
30007
+ // Over another list of the group, the source list keeps its original order
30008
+ // and the target list shows where the item would land.
30009
+ var track = function track() {
30010
+ var _latest$current$cross;
30011
+ if ((_latest$current$cross = latest.current.cross) !== null && _latest$current$cross !== void 0 && _latest$current$cross.over(point, key)) setDraft(null);else setDraft(moveKey(latest.current.keys, key, targetIndex(point, key)));
30012
+ };
29904
30013
  var scrollTarget = function scrollTarget() {
29905
30014
  return getScrollParent(latest.current.nodeFor(key), latest.current.orientation);
29906
30015
  };
@@ -29925,7 +30034,7 @@ function useSortablePointer(_ref2) {
29925
30034
  } else if (typeof window.scrollBy === "function") {
29926
30035
  window.scrollBy(dx, dy);
29927
30036
  }
29928
- setDraft(moveKey(latest.current.keys, key, targetIndex(point, key)));
30037
+ track();
29929
30038
  frame = raf(_autoScroll);
29930
30039
  };
29931
30040
  var activate = function activate() {
@@ -29947,20 +30056,24 @@ function useSortablePointer(_ref2) {
29947
30056
  if (distance < DRAG_THRESHOLD) return;
29948
30057
  activate();
29949
30058
  }
29950
- setDraft(moveKey(latest.current.keys, key, targetIndex(point, key)));
30059
+ track();
29951
30060
  if (frame === null) frame = raf(_autoScroll);
29952
30061
  };
29953
30062
  var onUp = function onUp() {
30063
+ var _latest$current$cross2;
29954
30064
  end();
29955
30065
  if (!active) return;
29956
30066
  setDragging(null);
30067
+ if ((_latest$current$cross2 = latest.current.cross) !== null && _latest$current$cross2 !== void 0 && _latest$current$cross2.release()) return;
29957
30068
  latest.current.commit(from, latest.current.keys.indexOf(key));
29958
30069
  };
29959
30070
  var onCancel = function onCancel() {
30071
+ var _latest$current$cross3;
29960
30072
  end();
29961
30073
  if (!active) return;
29962
30074
  setDragging(null);
29963
30075
  setDraft(null);
30076
+ (_latest$current$cross3 = latest.current.cross) === null || _latest$current$cross3 === void 0 || _latest$current$cross3.cancel();
29964
30077
  };
29965
30078
  // Once a touch drag is live, stop the browser from scrolling (and from firing
29966
30079
  // pointercancel); before that, let the page scroll normally.
@@ -29998,47 +30111,338 @@ function useSortablePointer(_ref2) {
29998
30111
  };
29999
30112
  }
30000
30113
 
30114
+ function ownKeys$g(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30115
+ function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30116
+ // Internal (not exported). Cross-list moves for Sortable lists inside a
30117
+ // SortableGroup. The group holds one "carry": the item on its way from one list
30118
+ // to another, the target `{ listId, index }` and whether `canDrop` allows it.
30119
+ // The target list draws a placeholder from it; nothing is committed until the
30120
+ // drop, so a refused target is never shown as a success.
30121
+ var useIsomorphicLayoutEffect$2 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
30122
+ var SortableGroupContext = /*#__PURE__*/React.createContext(null);
30123
+ var documentOrder = function documentOrder(a, b) {
30124
+ return a === b ? 0 : a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
30125
+ };
30126
+ var contains = function contains(rect, point) {
30127
+ return point.x >= rect.left && point.x <= rect.right && point.y >= rect.top && point.y <= rect.bottom;
30128
+ };
30129
+ /** Insertion index for `point` among the items of a list (midpoint hit-test). */
30130
+ function indexAt(list, point) {
30131
+ var index = list.itemKeys.findIndex(function (k) {
30132
+ var _list$nodeFor;
30133
+ var rect = (_list$nodeFor = list.nodeFor(k)) === null || _list$nodeFor === void 0 ? void 0 : _list$nodeFor.getBoundingClientRect();
30134
+ if (!rect) return false;
30135
+ return list.orientation === "horizontal" ? point.x < rect.left + rect.width / 2 : point.y < rect.top + rect.height / 2;
30136
+ });
30137
+ return index === -1 ? list.itemKeys.length : index;
30138
+ }
30139
+ /** State + stable API behind <SortableGroup>. */
30140
+ function useSortableGroupState(_ref) {
30141
+ var onMove = _ref.onMove,
30142
+ canDrop = _ref.canDrop;
30143
+ var lists = React.useRef(new Map());
30144
+ var carryRef = React.useRef(null);
30145
+ var focusRef = React.useRef(null);
30146
+ var _useState = React.useState(null),
30147
+ _useState2 = _slicedToArray(_useState, 2),
30148
+ carry = _useState2[0],
30149
+ setCarryState = _useState2[1];
30150
+ var latest = useLatestRef$1({
30151
+ onMove: onMove,
30152
+ canDrop: canDrop
30153
+ });
30154
+ var api = React.useMemo(function () {
30155
+ var setCarry = function setCarry(next) {
30156
+ carryRef.current = next;
30157
+ setCarryState(next);
30158
+ return next;
30159
+ };
30160
+ var read = function read(id) {
30161
+ var _lists$current$get;
30162
+ return (_lists$current$get = lists.current.get(id)) === null || _lists$current$get === void 0 ? void 0 : _lists$current$get();
30163
+ };
30164
+ return {
30165
+ pendingFocus: function pendingFocus() {
30166
+ return focusRef.current;
30167
+ },
30168
+ clearFocus: function clearFocus() {
30169
+ focusRef.current = null;
30170
+ },
30171
+ read: read,
30172
+ current: function current() {
30173
+ return carryRef.current;
30174
+ },
30175
+ register: function register(id, reader) {
30176
+ lists.current.set(id, reader);
30177
+ return function () {
30178
+ if (lists.current.get(id) === reader) lists.current["delete"](id);
30179
+ };
30180
+ },
30181
+ /** List ids in document order (only lists that are mounted). */
30182
+ order: function order() {
30183
+ return _toConsumableArray$1(lists.current.keys()).filter(function (id) {
30184
+ var _read;
30185
+ return (_read = read(id)) === null || _read === void 0 ? void 0 : _read.node;
30186
+ }).sort(function (a, b) {
30187
+ return documentOrder(read(a).node, read(b).node);
30188
+ });
30189
+ },
30190
+ aim: function aim(from, item, target) {
30191
+ var c = carryRef.current;
30192
+ if (c && c.from.listId === from.listId && c.target.listId === target.listId && c.target.index === target.index) return c;
30193
+ var test = latest.current.canDrop;
30194
+ return setCarry({
30195
+ from: from,
30196
+ item: item,
30197
+ target: target,
30198
+ allowed: test ? Boolean(test(item, target, from)) : true
30199
+ });
30200
+ },
30201
+ clear: function clear() {
30202
+ if (carryRef.current) setCarry(null);
30203
+ },
30204
+ drop: function drop(c, focus) {
30205
+ var _latest$current$onMov, _latest$current;
30206
+ setCarry(null);
30207
+ focusRef.current = focus || null;
30208
+ (_latest$current$onMov = (_latest$current = latest.current).onMove) === null || _latest$current$onMov === void 0 || _latest$current$onMov.call(_latest$current, {
30209
+ item: c.item,
30210
+ from: c.from,
30211
+ to: c.target
30212
+ });
30213
+ }
30214
+ };
30215
+ }, [latest]);
30216
+ return React.useMemo(function () {
30217
+ return {
30218
+ api: api,
30219
+ carry: carry
30220
+ };
30221
+ }, [api, carry]);
30222
+ }
30223
+ function makeCross(api, latest) {
30224
+ var me = function me() {
30225
+ return latest.current;
30226
+ };
30227
+ var origin = function origin(key) {
30228
+ var m = me();
30229
+ var index = m.itemKeys.indexOf(key);
30230
+ return {
30231
+ from: {
30232
+ listId: m.listId,
30233
+ index: index
30234
+ },
30235
+ item: m.items[index]
30236
+ };
30237
+ };
30238
+ var say = function say(kind, key) {
30239
+ var _me;
30240
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
30241
+ args[_key - 2] = arguments[_key];
30242
+ }
30243
+ return (_me = me()).announce.apply(_me, [kind, me().labelFor(key)].concat(args));
30244
+ };
30245
+ var aimAt = function aimAt(key, target) {
30246
+ var _origin = origin(key),
30247
+ from = _origin.from,
30248
+ item = _origin.item;
30249
+ var next = api.aim(from, item, target);
30250
+ var list = api.read(target.listId);
30251
+ if (next.allowed) say("movedToList", key, list.label, target.index + 1, list.items.length + 1);else say("refused", key, list.label);
30252
+ };
30253
+ return {
30254
+ // Pointer: true while the pointer is over another list of the group.
30255
+ over: function over(point, key) {
30256
+ var id = api.order().find(function (other) {
30257
+ return other !== me().listId && contains(api.read(other).node.getBoundingClientRect(), point);
30258
+ });
30259
+ if (id === undefined) {
30260
+ api.clear();
30261
+ return false;
30262
+ }
30263
+ var _origin2 = origin(key),
30264
+ from = _origin2.from,
30265
+ item = _origin2.item;
30266
+ api.aim(from, item, {
30267
+ listId: id,
30268
+ index: indexAt(api.read(id), point)
30269
+ });
30270
+ return true;
30271
+ },
30272
+ // Pointer drop: true when the drop was handled here (moved, or refused and dropped nowhere).
30273
+ release: function release() {
30274
+ var c = api.current();
30275
+ if (!c) return false;
30276
+ if (c.allowed) api.drop(c);else api.clear();
30277
+ return true;
30278
+ },
30279
+ // Keyboard: carry the item to the previous (-1) or next (1) list.
30280
+ step: function step(key, dir) {
30281
+ var m = me();
30282
+ var ids = api.order();
30283
+ var c = api.current();
30284
+ var nextId = ids[ids.indexOf(c ? c.target.listId : m.listId) + dir];
30285
+ if (nextId === undefined) return;
30286
+ m.setDraft(null);
30287
+ if (nextId === m.listId) {
30288
+ api.clear();
30289
+ say("moved", key, m.itemKeys.indexOf(key) + 1, m.itemKeys.length);
30290
+ return;
30291
+ }
30292
+ var index = c ? c.target.index : m.keys.indexOf(key);
30293
+ aimAt(key, {
30294
+ listId: nextId,
30295
+ index: Math.min(index, api.read(nextId).items.length)
30296
+ });
30297
+ },
30298
+ // Keyboard: move within the target list; false when the item is still in its own list.
30299
+ nudge: function nudge(key, delta) {
30300
+ var c = api.current();
30301
+ if (!c) return false;
30302
+ var size = api.read(c.target.listId).items.length;
30303
+ var index = Math.max(0, Math.min(size, c.target.index + delta));
30304
+ if (index !== c.target.index) aimAt(key, {
30305
+ listId: c.target.listId,
30306
+ index: index
30307
+ });
30308
+ return true;
30309
+ },
30310
+ // Keyboard drop: "dropped", "refused" (keep carrying) or false (in-list drop).
30311
+ drop: function drop(key) {
30312
+ var c = api.current();
30313
+ if (!c) return false;
30314
+ var list = api.read(c.target.listId);
30315
+ if (!c.allowed) {
30316
+ say("refused", key, list.label);
30317
+ return "refused";
30318
+ }
30319
+ api.drop(c, {
30320
+ listId: c.target.listId,
30321
+ key: list.getKey(c.item, c.target.index)
30322
+ });
30323
+ say("droppedInList", key, list.label, c.target.index + 1, list.items.length + 1);
30324
+ return "dropped";
30325
+ },
30326
+ cancel: function cancel() {
30327
+ return api.clear();
30328
+ }
30329
+ };
30330
+ }
30331
+ /**
30332
+ * Wires one Sortable into the surrounding SortableGroup (if any). Outside a
30333
+ * group, or without an `id`, it returns `{ cross: undefined }` and the list
30334
+ * behaves exactly like a standalone Sortable.
30335
+ */
30336
+ function useSortableGroupMember(options) {
30337
+ var _group$api;
30338
+ var group = React.useContext(SortableGroupContext);
30339
+ var latest = useLatestRef$1(options);
30340
+ var listId = options.listId,
30341
+ itemKeys = options.itemKeys,
30342
+ nodeFor = options.nodeFor;
30343
+ var api = listId == null ? null : (_group$api = group === null || group === void 0 ? void 0 : group.api) !== null && _group$api !== void 0 ? _group$api : null;
30344
+ React.useEffect(function () {
30345
+ return api ? api.register(listId, function () {
30346
+ return _objectSpread$g(_objectSpread$g({}, latest.current), {}, {
30347
+ node: latest.current.listRef.current
30348
+ });
30349
+ }) : undefined;
30350
+ }, [api, listId, latest]);
30351
+ var cross = React.useMemo(function () {
30352
+ return api ? makeCross(api, latest) : undefined;
30353
+ }, [api, latest]);
30354
+ // After a keyboard drop the moved item mounts here; keep focus on it.
30355
+ var signature = itemKeys.join("\0");
30356
+ useIsomorphicLayoutEffect$2(function () {
30357
+ var pending = api === null || api === void 0 ? void 0 : api.pendingFocus();
30358
+ if (!pending || pending.listId !== listId) return;
30359
+ var node = nodeFor(pending.key);
30360
+ if (node) {
30361
+ api.clearFocus();
30362
+ node.focus();
30363
+ }
30364
+ }, [api, listId, signature, nodeFor]);
30365
+ var carry = api ? group.carry : null;
30366
+ return {
30367
+ cross: cross,
30368
+ // Where another list's item would land in this list.
30369
+ incoming: carry && carry.target.listId === listId ? {
30370
+ index: carry.target.index,
30371
+ allowed: carry.allowed
30372
+ } : null,
30373
+ // This list's item currently aimed at another list.
30374
+ outgoing: carry && carry.from.listId === listId ? carry : null
30375
+ };
30376
+ }
30377
+
30378
+ var _excluded$b = ["onMove", "canDrop", "className", "children"];
30379
+ function ownKeys$f(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30380
+ function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30381
+ /**
30382
+ * Connects several `<Sortable id="…">` lists so items can move between them
30383
+ * (pointer drag, or the cross-axis arrow keys while an item is picked up).
30384
+ * `canDrop(item, target, from)` is asked before a target is shown as droppable;
30385
+ * a refused target is marked as such and dropping there does nothing.
30386
+ */
30387
+ var SortableGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30388
+ var onMove = _ref.onMove,
30389
+ canDrop = _ref.canDrop,
30390
+ className = _ref.className,
30391
+ children = _ref.children,
30392
+ rest = _objectWithoutProperties$1(_ref, _excluded$b);
30393
+ var value = useSortableGroupState({
30394
+ onMove: onMove,
30395
+ canDrop: canDrop
30396
+ });
30397
+ return jsxRuntime.jsx(SortableGroupContext.Provider, {
30398
+ value: value,
30399
+ children: jsxRuntime.jsx("div", _objectSpread$f(_objectSpread$f({
30400
+ ref: ref,
30401
+ className: cn(className),
30402
+ "data-sortable-group": ""
30403
+ }, rest), {}, {
30404
+ children: children
30405
+ }))
30406
+ });
30407
+ });
30408
+ SortableGroup.displayName = "SortableGroup";
30409
+ /** Where an item from another list would land; styled by whether `canDrop` allows it. */
30410
+ function SortablePlaceholder(_ref2) {
30411
+ var Tag = _ref2.as,
30412
+ allowed = _ref2.allowed;
30413
+ return jsxRuntime.jsx(Tag, {
30414
+ "aria-hidden": "true",
30415
+ "data-sortable-placeholder": allowed ? "allowed" : "refused",
30416
+ className: cn("min-h-10 rounded-md border-2 border-dashed", allowed ? "border-primary-500 bg-primary-50 dark:bg-primary-950/40" : "cursor-not-allowed border-error-500 bg-error-50 opacity-60 dark:bg-error-950/40")
30417
+ });
30418
+ }
30419
+
30001
30420
  var _excluded$a = ["items", "onReorder", "renderItem", "getKey", "getItemLabel", "disabled", "handle", "orientation", "as", "itemClassName", "messages", "className"];
30002
30421
  function ownKeys$e(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30003
30422
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), true).forEach(function (r) { _defineProperty$4(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30004
30423
  var useIsomorphicLayoutEffect$1 = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
30005
- var defaultGetKey = function defaultGetKey(item, index) {
30006
- var _ref, _item$id;
30007
- return (_ref = (_item$id = item === null || item === void 0 ? void 0 : item.id) !== null && _item$id !== void 0 ? _item$id : item === null || item === void 0 ? void 0 : item.key) !== null && _ref !== void 0 ? _ref : index;
30008
- };
30009
- var defaultGetItemLabel = function defaultGetItemLabel(item, index) {
30010
- var _ref2, _ref3, _item$label;
30011
- return typeof item === "string" || typeof item === "number" ? String(item) : (_ref2 = (_ref3 = (_item$label = item === null || item === void 0 ? void 0 : item.label) !== null && _item$label !== void 0 ? _item$label : item === null || item === void 0 ? void 0 : item.title) !== null && _ref3 !== void 0 ? _ref3 : item === null || item === void 0 ? void 0 : item.name) !== null && _ref2 !== void 0 ? _ref2 : "Item ".concat(index + 1);
30012
- };
30013
- function arrayMove(list, from, to) {
30014
- var next = list.slice();
30015
- var _next$splice = next.splice(from, 1),
30016
- _next$splice2 = _slicedToArray(_next$splice, 1),
30017
- moved = _next$splice2[0];
30018
- next.splice(to, 0, moved);
30019
- return next;
30020
- }
30021
- var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30022
- var _ref4$items = _ref4.items,
30023
- items = _ref4$items === void 0 ? [] : _ref4$items,
30024
- onReorder = _ref4.onReorder,
30025
- renderItem = _ref4.renderItem,
30026
- _ref4$getKey = _ref4.getKey,
30027
- getKey = _ref4$getKey === void 0 ? defaultGetKey : _ref4$getKey,
30028
- _ref4$getItemLabel = _ref4.getItemLabel,
30029
- getItemLabel = _ref4$getItemLabel === void 0 ? defaultGetItemLabel : _ref4$getItemLabel,
30030
- _ref4$disabled = _ref4.disabled,
30031
- disabled = _ref4$disabled === void 0 ? false : _ref4$disabled,
30032
- _ref4$handle = _ref4.handle,
30033
- handle = _ref4$handle === void 0 ? false : _ref4$handle,
30034
- _ref4$orientation = _ref4.orientation,
30035
- orientation = _ref4$orientation === void 0 ? "vertical" : _ref4$orientation,
30036
- _ref4$as = _ref4.as,
30037
- List = _ref4$as === void 0 ? "ul" : _ref4$as,
30038
- itemClassName = _ref4.itemClassName,
30039
- messages = _ref4.messages,
30040
- className = _ref4.className,
30041
- rest = _objectWithoutProperties$1(_ref4, _excluded$a);
30424
+ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30425
+ var _rest$ariaLabel;
30426
+ var _ref$items = _ref.items,
30427
+ items = _ref$items === void 0 ? [] : _ref$items,
30428
+ onReorder = _ref.onReorder,
30429
+ renderItem = _ref.renderItem,
30430
+ _ref$getKey = _ref.getKey,
30431
+ getKey = _ref$getKey === void 0 ? defaultGetKey : _ref$getKey,
30432
+ _ref$getItemLabel = _ref.getItemLabel,
30433
+ getItemLabel = _ref$getItemLabel === void 0 ? defaultGetItemLabel : _ref$getItemLabel,
30434
+ _ref$disabled = _ref.disabled,
30435
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
30436
+ _ref$handle = _ref.handle,
30437
+ handle = _ref$handle === void 0 ? false : _ref$handle,
30438
+ _ref$orientation = _ref.orientation,
30439
+ orientation = _ref$orientation === void 0 ? "vertical" : _ref$orientation,
30440
+ _ref$as = _ref.as,
30441
+ List = _ref$as === void 0 ? "ul" : _ref$as,
30442
+ itemClassName = _ref.itemClassName,
30443
+ messages = _ref.messages,
30444
+ className = _ref.className,
30445
+ rest = _objectWithoutProperties$1(_ref, _excluded$a);
30042
30446
  var instructionsId = "sortable-instructions-".concat(React.useId());
30043
30447
  var text = React.useMemo(function () {
30044
30448
  return _objectSpread$e(_objectSpread$e({}, DEFAULT_SORTABLE_MESSAGES), messages);
@@ -30053,6 +30457,10 @@ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30053
30457
  announcement = _useState4[0],
30054
30458
  setAnnouncement = _useState4[1];
30055
30459
  var nodes = React.useRef(new Map());
30460
+ var listRef = React.useRef(null);
30461
+ var setListRef = React.useCallback(function (node) {
30462
+ return setRefs$1(node, listRef, ref);
30463
+ }, [ref]);
30056
30464
  var itemKeys = items.map(function (item, i) {
30057
30465
  return getKey(item, i);
30058
30466
  });
@@ -30086,13 +30494,32 @@ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30086
30494
  var nodeFor = React.useCallback(function (key) {
30087
30495
  return nodes.current.get(key);
30088
30496
  }, []);
30497
+ // Inside a <SortableGroup>, `id` names this list; `cross` handles moves to other lists.
30498
+ var _useSortableGroupMemb = useSortableGroupMember({
30499
+ listId: rest.id,
30500
+ label: (_rest$ariaLabel = rest["aria-label"]) !== null && _rest$ariaLabel !== void 0 ? _rest$ariaLabel : String(rest.id),
30501
+ items: items,
30502
+ itemKeys: itemKeys,
30503
+ keys: keys,
30504
+ getKey: getKey,
30505
+ nodeFor: nodeFor,
30506
+ listRef: listRef,
30507
+ orientation: axis,
30508
+ setDraft: setDraft,
30509
+ announce: announce,
30510
+ labelFor: labelFor
30511
+ }),
30512
+ cross = _useSortableGroupMemb.cross,
30513
+ incoming = _useSortableGroupMemb.incoming,
30514
+ outgoing = _useSortableGroupMemb.outgoing;
30089
30515
  var keyboard = useSortableKeyboard({
30090
30516
  keys: keys,
30091
30517
  setDraft: setDraft,
30092
30518
  commit: commit,
30093
30519
  announce: announce,
30094
30520
  labelFor: labelFor,
30095
- orientation: axis
30521
+ orientation: axis,
30522
+ cross: cross
30096
30523
  });
30097
30524
  var pointer = useSortablePointer({
30098
30525
  keys: keys,
@@ -30100,7 +30527,8 @@ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30100
30527
  commit: commit,
30101
30528
  nodeFor: nodeFor,
30102
30529
  orientation: axis,
30103
- disabled: disabled
30530
+ disabled: disabled,
30531
+ cross: cross
30104
30532
  });
30105
30533
  // Moving DOM nodes can drop focus; keep it on the item being carried.
30106
30534
  useIsomorphicLayoutEffect$1(function () {
@@ -30119,24 +30547,30 @@ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30119
30547
  var isNativeList = List === "ul" || List === "ol";
30120
30548
  var ItemTag = isNativeList ? "li" : "div";
30121
30549
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
30122
- children: [jsxRuntime.jsx(List, _objectSpread$e(_objectSpread$e({
30123
- ref: ref,
30550
+ children: [jsxRuntime.jsxs(List, _objectSpread$e(_objectSpread$e({
30551
+ ref: setListRef,
30124
30552
  className: cn("flex", axis === "horizontal" ? "flex-row gap-2" : "flex-col gap-2", className),
30125
30553
  "data-orientation": axis,
30554
+ "data-drop-target": incoming ? incoming.allowed ? "allowed" : "refused" : undefined,
30126
30555
  role: isNativeList ? undefined : "list"
30127
30556
  }, rest), {}, {
30128
- children: keys.map(function (key, index) {
30557
+ children: [keys.flatMap(function (key, index) {
30129
30558
  var _byKey$get = byKey.get(key),
30130
30559
  item = _byKey$get.item,
30131
30560
  originalIndex = _byKey$get.index;
30132
30561
  var isGrabbed = keyboard.grabbed === key;
30133
30562
  var isDragging = pointer.dragging === key;
30563
+ var isLeaving = outgoing !== null && (isGrabbed || isDragging);
30134
30564
  var startDrag = disabled ? undefined : pointer.startFor(key);
30135
30565
  // Whole-item drags wait for a long-press on touch so the page still scrolls.
30136
30566
  var startItemDrag = disabled || handle ? undefined : pointer.startFor(key, {
30137
30567
  longPress: true
30138
30568
  });
30139
- return jsxRuntime.jsx(ItemTag, {
30569
+ var placeholder = (incoming === null || incoming === void 0 ? void 0 : incoming.index) === index ? [jsxRuntime.jsx(SortablePlaceholder, {
30570
+ as: ItemTag,
30571
+ allowed: incoming.allowed
30572
+ }, "dt-sortable-placeholder")] : [];
30573
+ return placeholder.concat(jsxRuntime.jsx(ItemTag, {
30140
30574
  ref: function ref(node) {
30141
30575
  if (node) nodes.current.set(key, node);else nodes.current["delete"](key);
30142
30576
  },
@@ -30146,12 +30580,13 @@ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30146
30580
  role: isNativeList ? undefined : "listitem",
30147
30581
  "data-dragging": isDragging || undefined,
30148
30582
  "data-grabbed": isGrabbed || undefined,
30583
+ "data-leaving": isLeaving ? outgoing.allowed ? "allowed" : "refused" : undefined,
30149
30584
  onKeyDown: disabled ? undefined : keyboard.keyDownFor(key),
30150
30585
  onBlur: function onBlur(e) {
30151
30586
  if (isGrabbed && e.relatedTarget && !e.currentTarget.contains(e.relatedTarget)) keyboard.cancel();
30152
30587
  },
30153
30588
  onPointerDown: startItemDrag,
30154
- className: cn("rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 dark:focus:ring-offset-gray-900", !disabled && !handle && "cursor-grab select-none [-webkit-touch-callout:none]", (isGrabbed || isDragging) && "relative z-10 shadow-lg ring-2 ring-primary-500 opacity-90", itemClassName),
30589
+ className: cn("rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 dark:focus:ring-offset-gray-900", !disabled && !handle && "cursor-grab select-none [-webkit-touch-callout:none]", (isGrabbed || isDragging) && "relative z-10 shadow-lg ring-2 ring-primary-500 opacity-90", isLeaving && (outgoing.allowed ? "opacity-50" : "cursor-not-allowed ring-error-500 opacity-50"), itemClassName),
30155
30590
  children: renderItem ? renderItem(item, {
30156
30591
  index: index,
30157
30592
  originalIndex: originalIndex,
@@ -30169,12 +30604,15 @@ var Sortable = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
30169
30604
  return moveBy(originalIndex, 1);
30170
30605
  }
30171
30606
  }) : labelFor(key)
30172
- }, key);
30173
- })
30607
+ }, key));
30608
+ }), incoming && incoming.index >= keys.length && jsxRuntime.jsx(SortablePlaceholder, {
30609
+ as: ItemTag,
30610
+ allowed: incoming.allowed
30611
+ })]
30174
30612
  })), jsxRuntime.jsx("span", {
30175
30613
  id: instructionsId,
30176
30614
  className: "sr-only",
30177
- children: text.instructions
30615
+ children: cross ? "".concat(text.instructions, " ").concat(text.groupInstructions) : text.instructions
30178
30616
  }), jsxRuntime.jsx("span", {
30179
30617
  role: "status",
30180
30618
  "aria-live": "assertive",
@@ -39964,6 +40402,7 @@ exports.Sidebar = Sidebar;
39964
40402
  exports.Skeleton = Skeleton;
39965
40403
  exports.Slider = Slider;
39966
40404
  exports.Sortable = Sortable;
40405
+ exports.SortableGroup = SortableGroup;
39967
40406
  exports.SpeechToText = SpeechToText;
39968
40407
  exports.StatCard = StatCard;
39969
40408
  exports.StatusPill = StatusPill;