@luxfi/ui 7.3.0 → 7.3.1

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 (101) hide show
  1. package/dist/accordion.d.cts +74 -0
  2. package/dist/accordion.d.ts +74 -0
  3. package/dist/alert.d.cts +30 -0
  4. package/dist/alert.d.ts +30 -0
  5. package/dist/avatar.d.cts +25 -0
  6. package/dist/avatar.d.ts +25 -0
  7. package/dist/badge.d.cts +19 -0
  8. package/dist/badge.d.ts +19 -0
  9. package/dist/bank.d.cts +76 -0
  10. package/dist/bank.d.ts +76 -0
  11. package/dist/button.d.cts +55 -0
  12. package/dist/button.d.ts +55 -0
  13. package/dist/checkbox.d.cts +31 -0
  14. package/dist/checkbox.d.ts +31 -0
  15. package/dist/close-button.d.cts +9 -0
  16. package/dist/close-button.d.ts +9 -0
  17. package/dist/collapsible.d.cts +23 -0
  18. package/dist/collapsible.d.ts +23 -0
  19. package/dist/color-mode.d.cts +25 -0
  20. package/dist/color-mode.d.ts +25 -0
  21. package/dist/dialog.d.cts +65 -0
  22. package/dist/dialog.d.ts +65 -0
  23. package/dist/drawer.d.cts +36 -0
  24. package/dist/drawer.d.ts +36 -0
  25. package/dist/empty-state.d.cts +13 -0
  26. package/dist/empty-state.d.ts +13 -0
  27. package/dist/expiration-selector.d.cts +16 -0
  28. package/dist/expiration-selector.d.ts +16 -0
  29. package/dist/field.d.cts +24 -0
  30. package/dist/field.d.ts +24 -0
  31. package/dist/greeks-display.d.cts +14 -0
  32. package/dist/greeks-display.d.ts +14 -0
  33. package/dist/heading.d.cts +10 -0
  34. package/dist/heading.d.ts +10 -0
  35. package/dist/icon-button.d.cts +33 -0
  36. package/dist/icon-button.d.ts +33 -0
  37. package/dist/image.d.cts +57 -0
  38. package/dist/image.d.ts +57 -0
  39. package/dist/index.cjs +278 -275
  40. package/dist/index.d.cts +56 -0
  41. package/dist/index.d.ts +56 -0
  42. package/dist/index.js +278 -275
  43. package/dist/input-group.d.cts +17 -0
  44. package/dist/input-group.d.ts +17 -0
  45. package/dist/input.d.cts +11 -0
  46. package/dist/input.d.ts +11 -0
  47. package/dist/link.d.cts +37 -0
  48. package/dist/link.d.ts +37 -0
  49. package/dist/menu.d.cts +84 -0
  50. package/dist/menu.d.ts +84 -0
  51. package/dist/option-chain.d.cts +37 -0
  52. package/dist/option-chain.d.ts +37 -0
  53. package/dist/option-position.d.cts +29 -0
  54. package/dist/option-position.d.ts +29 -0
  55. package/dist/pin-input.d.cts +25 -0
  56. package/dist/pin-input.d.ts +25 -0
  57. package/dist/pnl-diagram.d.cts +11 -0
  58. package/dist/pnl-diagram.d.ts +11 -0
  59. package/dist/popover.d.cts +73 -0
  60. package/dist/popover.d.ts +73 -0
  61. package/dist/progress-circle.d.cts +47 -0
  62. package/dist/progress-circle.d.ts +47 -0
  63. package/dist/progress.d.cts +28 -0
  64. package/dist/progress.d.ts +28 -0
  65. package/dist/provider.cjs +9 -1
  66. package/dist/provider.d.cts +12 -0
  67. package/dist/provider.d.ts +12 -0
  68. package/dist/provider.js +5 -1
  69. package/dist/radio.d.cts +53 -0
  70. package/dist/radio.d.ts +53 -0
  71. package/dist/rating.d.cts +14 -0
  72. package/dist/rating.d.ts +14 -0
  73. package/dist/select.d.cts +130 -0
  74. package/dist/select.d.ts +130 -0
  75. package/dist/separator.d.cts +13 -0
  76. package/dist/separator.d.ts +13 -0
  77. package/dist/skeleton.d.cts +60 -0
  78. package/dist/skeleton.d.ts +60 -0
  79. package/dist/slider.d.cts +24 -0
  80. package/dist/slider.d.ts +24 -0
  81. package/dist/strategy-builder.d.cts +26 -0
  82. package/dist/strategy-builder.d.ts +26 -0
  83. package/dist/switch.d.cts +27 -0
  84. package/dist/switch.d.ts +27 -0
  85. package/dist/table.d.cts +107 -0
  86. package/dist/table.d.ts +107 -0
  87. package/dist/tabs.d.cts +78 -0
  88. package/dist/tabs.d.ts +78 -0
  89. package/dist/tag.d.cts +21 -0
  90. package/dist/tag.d.ts +21 -0
  91. package/dist/textarea.d.cts +11 -0
  92. package/dist/textarea.d.ts +11 -0
  93. package/dist/toaster.d.cts +29 -0
  94. package/dist/toaster.d.ts +29 -0
  95. package/dist/tooltip.d.cts +38 -0
  96. package/dist/tooltip.d.ts +38 -0
  97. package/dist/utils.d.cts +5 -0
  98. package/dist/utils.d.ts +5 -0
  99. package/package.json +1 -1
  100. package/src/index.ts +0 -2
  101. package/src/provider.tsx +3 -2
package/dist/index.cjs CHANGED
@@ -3,11 +3,11 @@
3
3
 
4
4
  var core = require('@hanzogui/core');
5
5
  var reactQuery = require('@tanstack/react-query');
6
+ var React30 = require('react');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var clsx = require('clsx');
8
9
  var tailwindMerge = require('tailwind-merge');
9
10
  var AccordionPrimitive = require('@radix-ui/react-accordion');
10
- var React29 = require('react');
11
11
  var RadixAvatar = require('@radix-ui/react-avatar');
12
12
  var tooltip = require('@hanzogui/tooltip');
13
13
  var usehooks = require('@uidotdev/usehooks');
@@ -46,8 +46,8 @@ function _interopNamespace(e) {
46
46
  return Object.freeze(n);
47
47
  }
48
48
 
49
+ var React30__namespace = /*#__PURE__*/_interopNamespace(React30);
49
50
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
50
- var React29__namespace = /*#__PURE__*/_interopNamespace(React29);
51
51
  var RadixAvatar__namespace = /*#__PURE__*/_interopNamespace(RadixAvatar);
52
52
  var RadixCheckbox__namespace = /*#__PURE__*/_interopNamespace(RadixCheckbox);
53
53
  var Collapsible__namespace = /*#__PURE__*/_interopNamespace(Collapsible);
@@ -65,21 +65,24 @@ var RadixTabs__namespace = /*#__PURE__*/_interopNamespace(RadixTabs);
65
65
  var _guiInitialized = false;
66
66
  function ensureGui() {
67
67
  if (_guiInitialized) return;
68
+ if (typeof window === "undefined") return;
68
69
  core.createGui({ settings: { autocompleteSpecificTokens: "except-special" } });
69
70
  _guiInitialized = true;
70
71
  }
71
- ensureGui();
72
72
  var defaultQueryClient = new reactQuery.QueryClient({
73
73
  defaultOptions: { queries: { refetchOnWindowFocus: false, retry: 1, staleTime: 3e4 } }
74
74
  });
75
75
  var AppProvider = ({ children, queryClient }) => {
76
+ React30__namespace.default.useEffect(() => {
77
+ ensureGui();
78
+ }, []);
76
79
  return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient ?? defaultQueryClient, children });
77
80
  };
78
81
  function cn(...inputs) {
79
82
  return tailwindMerge.twMerge(clsx.clsx(inputs));
80
83
  }
81
84
  var IndicatorIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 15L12.5 10L7.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) });
82
- var AccordionRoot = React29__namespace.forwardRef(
85
+ var AccordionRoot = React30__namespace.forwardRef(
83
86
  function AccordionRoot2(props, ref) {
84
87
  const {
85
88
  multiple: _multiple,
@@ -98,7 +101,7 @@ var AccordionRoot = React29__namespace.forwardRef(
98
101
  borderRadius: _borderRadius,
99
102
  ...rest
100
103
  } = props;
101
- const handleValueChange = React29__namespace.useCallback(
104
+ const handleValueChange = React30__namespace.useCallback(
102
105
  (next) => {
103
106
  onValueChange?.({ value: next });
104
107
  },
@@ -126,7 +129,7 @@ var AccordionRoot = React29__namespace.forwardRef(
126
129
  );
127
130
  }
128
131
  );
129
- var AccordionItem = React29__namespace.forwardRef(
132
+ var AccordionItem = React30__namespace.forwardRef(
130
133
  function AccordionItem2(props, ref) {
131
134
  const { className, as: _as, _first, _last, display: _display, ...rest } = props;
132
135
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -142,7 +145,7 @@ var AccordionItem = React29__namespace.forwardRef(
142
145
  );
143
146
  }
144
147
  );
145
- var AccordionItemTrigger = React29__namespace.forwardRef(function AccordionItemTrigger2(props, ref) {
148
+ var AccordionItemTrigger = React30__namespace.forwardRef(function AccordionItemTrigger2(props, ref) {
146
149
  const {
147
150
  children,
148
151
  indicatorPlacement: indicatorPlacementProp,
@@ -207,7 +210,7 @@ var AccordionItemTrigger = React29__namespace.forwardRef(function AccordionItemT
207
210
  }
208
211
  ) }) });
209
212
  });
210
- var AccordionItemContent = React29__namespace.forwardRef(function AccordionItemContent2(props, ref) {
213
+ var AccordionItemContent = React30__namespace.forwardRef(function AccordionItemContent2(props, ref) {
211
214
  const { className, children, pb: _pb, pr: _pr, pl: _pl, w: _w, display: _display, flexDir: _flexDir, rowGap: _rowGap, ...rest } = props;
212
215
  return /* @__PURE__ */ jsxRuntime.jsx(
213
216
  AccordionPrimitive__namespace.Content,
@@ -225,11 +228,11 @@ var AccordionItemContent = React29__namespace.forwardRef(function AccordionItemC
225
228
  );
226
229
  });
227
230
  function useAccordion(items) {
228
- const [value, setValue] = React29__namespace.useState([]);
229
- const onValueChange = React29__namespace.useCallback(({ value: value2 }) => {
231
+ const [value, setValue] = React30__namespace.useState([]);
232
+ const onValueChange = React30__namespace.useCallback(({ value: value2 }) => {
230
233
  setValue(value2);
231
234
  }, []);
232
- const scrollToItemFromUrl = React29__namespace.useCallback(() => {
235
+ const scrollToItemFromUrl = React30__namespace.useCallback(() => {
233
236
  const hash = window.location.hash.replace("#", "");
234
237
  if (!hash) {
235
238
  return;
@@ -243,7 +246,7 @@ function useAccordion(items) {
243
246
  setValue([itemToScroll.id]);
244
247
  }
245
248
  }, [items]);
246
- return React29__namespace.useMemo(() => {
249
+ return React30__namespace.useMemo(() => {
247
250
  return {
248
251
  value,
249
252
  onValueChange,
@@ -286,7 +289,7 @@ var CLOSE_BUTTON_CLASSES = [
286
289
  "hover:text-[var(--hover-color,currentColor)]",
287
290
  "disabled:opacity-40"
288
291
  ].join(" ");
289
- var CloseButton = React29__namespace.forwardRef(function CloseButton2(props, ref) {
292
+ var CloseButton = React30__namespace.forwardRef(function CloseButton2(props, ref) {
290
293
  const { variant: _variant, size: _size, className, children, ...rest } = props;
291
294
  return /* @__PURE__ */ jsxRuntime.jsx(
292
295
  CloseButtonFrame,
@@ -433,7 +436,7 @@ var SKELETON_CLASSES = [
433
436
  "bg-[length:200%_100%]"
434
437
  ].join(" ");
435
438
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
436
- var Skeleton = React29__namespace.forwardRef(
439
+ var Skeleton = React30__namespace.forwardRef(
437
440
  function Skeleton2(props, ref) {
438
441
  const { loading = false, asChild, className, children, style: styleProp, as: Component = "div", ...allRest } = props;
439
442
  const shimStyle = shimToStyle(props);
@@ -442,10 +445,10 @@ var Skeleton = React29__namespace.forwardRef(
442
445
  const cls = hideBelowClass ? cn(className, hideBelowClass) : className;
443
446
  const htmlRest = stripShims(allRest);
444
447
  if (!loading) {
445
- if (asChild && React29__namespace.isValidElement(children)) return children;
448
+ if (asChild && React30__namespace.isValidElement(children)) return children;
446
449
  return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cls, style: mergedStyle, ...htmlRest, children });
447
450
  }
448
- if (asChild && React29__namespace.isValidElement(children)) {
451
+ if (asChild && React30__namespace.isValidElement(children)) {
449
452
  return /* @__PURE__ */ jsxRuntime.jsx(
450
453
  Component,
451
454
  {
@@ -471,7 +474,7 @@ var Skeleton = React29__namespace.forwardRef(
471
474
  );
472
475
  }
473
476
  );
474
- var SkeletonCircle = React29__namespace.forwardRef(
477
+ var SkeletonCircle = React30__namespace.forwardRef(
475
478
  function SkeletonCircle2(props, ref) {
476
479
  const { size = 40, loading = true, className, ...rest } = props;
477
480
  const dimension = typeof size === "number" ? `${size}px` : size;
@@ -487,7 +490,7 @@ var SkeletonCircle = React29__namespace.forwardRef(
487
490
  );
488
491
  }
489
492
  );
490
- var SkeletonText = React29__namespace.forwardRef(
493
+ var SkeletonText = React30__namespace.forwardRef(
491
494
  function SkeletonText2(props, ref) {
492
495
  const { noOfLines = 3, loading = true, className, ...rest } = props;
493
496
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex w-full flex-col gap-2", className), ...rest, children: Array.from({ length: noOfLines }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -517,7 +520,7 @@ var INDICATOR_SIZE_CLASSES = {
517
520
  sm: "w-5 h-5 my-0",
518
521
  md: "w-5 h-5 my-[2px]"
519
522
  };
520
- var Alert = React29__namespace.forwardRef(
523
+ var Alert = React30__namespace.forwardRef(
521
524
  function Alert2(props, ref) {
522
525
  const {
523
526
  title,
@@ -542,7 +545,7 @@ var Alert = React29__namespace.forwardRef(
542
545
  if (_mb !== void 0) shimStyle.marginBottom = typeof _mb === "number" ? `${_mb * 4}px` : _mb;
543
546
  if (_mt !== void 0) shimStyle.marginTop = typeof _mt === "number" ? `${_mt * 4}px` : _mt;
544
547
  const alertStyle = Object.keys(shimStyle).length > 0 ? shimStyle : void 0;
545
- const [isOpen, setIsOpen] = React29__namespace.useState(true);
548
+ const [isOpen, setIsOpen] = React30__namespace.useState(true);
546
549
  const resolvedSize = size ?? "md";
547
550
  const defaultIcon = /* @__PURE__ */ jsxRuntime.jsx(IndicatorIcon2, { className: "w-5 h-5" });
548
551
  const iconElement = (() => {
@@ -557,7 +560,7 @@ var Alert = React29__namespace.forwardRef(
557
560
  INDICATOR_SIZE_CLASSES[resolvedSize]
558
561
  ), children: icon || defaultIcon });
559
562
  })();
560
- const handleClose = React29__namespace.useCallback(() => {
563
+ const handleClose = React30__namespace.useCallback(() => {
561
564
  setIsOpen(false);
562
565
  onClose?.();
563
566
  }, [onClose]);
@@ -633,11 +636,11 @@ var VARIANT_CLASSES = {
633
636
  };
634
637
  var DEFAULT_SIZE = "md";
635
638
  var DEFAULT_VARIANT = "subtle";
636
- var AvatarGroupContext = React29__namespace.createContext({});
639
+ var AvatarGroupContext = React30__namespace.createContext({});
637
640
  function useAvatarGroupContext() {
638
- return React29__namespace.useContext(AvatarGroupContext);
641
+ return React30__namespace.useContext(AvatarGroupContext);
639
642
  }
640
- var Avatar = React29__namespace.forwardRef(
643
+ var Avatar = React30__namespace.forwardRef(
641
644
  function Avatar2(props, ref) {
642
645
  const group = useAvatarGroupContext();
643
646
  const {
@@ -687,7 +690,7 @@ var Avatar = React29__namespace.forwardRef(
687
690
  );
688
691
  }
689
692
  );
690
- var AvatarFallback = React29__namespace.forwardRef(
693
+ var AvatarFallback = React30__namespace.forwardRef(
691
694
  function AvatarFallback2(props, ref) {
692
695
  const { name, icon, children, className, ...rest } = props;
693
696
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -714,10 +717,10 @@ function getInitials(name) {
714
717
  const lastName = names.length > 1 ? names[names.length - 1] : "";
715
718
  return firstName && lastName ? `${firstName.charAt(0)}${lastName.charAt(0)}` : firstName.charAt(0);
716
719
  }
717
- var AvatarGroup = React29__namespace.forwardRef(
720
+ var AvatarGroup = React30__namespace.forwardRef(
718
721
  function AvatarGroup2(props, ref) {
719
722
  const { size, variant, borderless, className, ...rest } = props;
720
- const contextValue = React29__namespace.useMemo(
723
+ const contextValue = React30__namespace.useMemo(
721
724
  () => ({ size, variant, borderless }),
722
725
  [size, variant, borderless]
723
726
  );
@@ -733,11 +736,11 @@ var AvatarGroup = React29__namespace.forwardRef(
733
736
  );
734
737
  var LG_BREAKPOINT = 1024;
735
738
  function useIsMobile() {
736
- const [isMobile, setIsMobile] = React29__namespace.useState(() => {
739
+ const [isMobile, setIsMobile] = React30__namespace.useState(() => {
737
740
  if (typeof window === "undefined") return false;
738
741
  return window.innerWidth < LG_BREAKPOINT;
739
742
  });
740
- React29__namespace.useEffect(() => {
743
+ React30__namespace.useEffect(() => {
741
744
  const mql = window.matchMedia(`(max-width: ${LG_BREAKPOINT - 1}px)`);
742
745
  const handler = (e) => setIsMobile(e.matches);
743
746
  setIsMobile(mql.matches);
@@ -750,7 +753,7 @@ function mapPlacement(p) {
750
753
  if (!p) return void 0;
751
754
  return p;
752
755
  }
753
- var Tooltip = React29__namespace.forwardRef(
756
+ var Tooltip = React30__namespace.forwardRef(
754
757
  function Tooltip2(props, ref) {
755
758
  const {
756
759
  showArrow: showArrowProp,
@@ -769,28 +772,28 @@ var Tooltip = React29__namespace.forwardRef(
769
772
  interactive,
770
773
  positioning
771
774
  } = props;
772
- const [open, setOpen] = React29__namespace.useState(defaultOpen);
773
- const timeoutRef = React29__namespace.useRef(null);
775
+ const [open, setOpen] = React30__namespace.useState(defaultOpen);
776
+ const timeoutRef = React30__namespace.useRef(null);
774
777
  const isMobile = useIsMobile();
775
- const handleOpenChange = React29__namespace.useCallback((nextOpen) => {
778
+ const handleOpenChange = React30__namespace.useCallback((nextOpen) => {
776
779
  setOpen(nextOpen);
777
780
  onOpenChange?.({ open: nextOpen });
778
781
  }, [onOpenChange]);
779
- const handleOpenChangeManual = React29__namespace.useCallback((nextOpen) => {
782
+ const handleOpenChangeManual = React30__namespace.useCallback((nextOpen) => {
780
783
  timeoutRef.current && window.clearTimeout(timeoutRef.current);
781
784
  timeoutRef.current = window.setTimeout(() => {
782
785
  setOpen(nextOpen);
783
786
  onOpenChange?.({ open: nextOpen });
784
787
  }, nextOpen ? openDelay : closeDelay);
785
788
  }, [closeDelay, openDelay, onOpenChange]);
786
- const handleClickAway = React29__namespace.useCallback(() => {
789
+ const handleClickAway = React30__namespace.useCallback(() => {
787
790
  handleOpenChangeManual(false);
788
791
  }, [handleOpenChangeManual]);
789
792
  const triggerRef = usehooks.useClickAway(handleClickAway);
790
- const handleTriggerClick = React29__namespace.useCallback(() => {
793
+ const handleTriggerClick = React30__namespace.useCallback(() => {
791
794
  handleOpenChangeManual(!open);
792
795
  }, [handleOpenChangeManual, open]);
793
- const handleContentClick = React29__namespace.useCallback((event) => {
796
+ const handleContentClick = React30__namespace.useCallback((event) => {
794
797
  event.stopPropagation();
795
798
  if (interactive) {
796
799
  const closestLink = event.target?.closest("a");
@@ -799,7 +802,7 @@ var Tooltip = React29__namespace.forwardRef(
799
802
  }
800
803
  }
801
804
  }, [interactive, handleOpenChangeManual]);
802
- React29__namespace.useEffect(() => {
805
+ React30__namespace.useEffect(() => {
803
806
  return () => {
804
807
  if (timeoutRef.current) {
805
808
  clearTimeout(timeoutRef.current);
@@ -901,7 +904,7 @@ var COLOR_PALETTE_CLASSES = {
901
904
  bright_pink: "bg-badge-bright-pink-bg text-badge-bright-pink-fg"
902
905
  };
903
906
  var S2 = 4;
904
- var Badge = React29__namespace.default.forwardRef(
907
+ var Badge = React30__namespace.default.forwardRef(
905
908
  function Badge2(props, ref) {
906
909
  const {
907
910
  loading,
@@ -1150,7 +1153,7 @@ function buildShimStyle(props) {
1150
1153
  if (props.borderTopRightRadius !== void 0) s.borderTopRightRadius = typeof props.borderTopRightRadius === "number" ? `${props.borderTopRightRadius}px` : props.borderTopRightRadius;
1151
1154
  return Object.keys(s).length > 0 ? s : void 0;
1152
1155
  }
1153
- var Button = React29__namespace.forwardRef(
1156
+ var Button = React30__namespace.forwardRef(
1154
1157
  function Button2(props, ref) {
1155
1158
  const {
1156
1159
  className,
@@ -1252,7 +1255,7 @@ function buttonVariants(opts) {
1252
1255
  const s = opts?.size ?? "md";
1253
1256
  return [BASE_CLASSES2, VARIANT_CLASSES2[v] ?? "", SIZE_CLASSES4[s] ?? ""].filter(Boolean).join(" ");
1254
1257
  }
1255
- var ButtonGroup = React29__namespace.forwardRef(
1258
+ var ButtonGroup = React30__namespace.forwardRef(
1256
1259
  function ButtonGroup2(props, ref) {
1257
1260
  const { className, ...rest } = props;
1258
1261
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1266,7 +1269,7 @@ var ButtonGroup = React29__namespace.forwardRef(
1266
1269
  );
1267
1270
  }
1268
1271
  );
1269
- var ButtonGroupRadio = React29__namespace.forwardRef(
1272
+ var ButtonGroupRadio = React30__namespace.forwardRef(
1270
1273
  function ButtonGroupRadio2(props, ref) {
1271
1274
  const {
1272
1275
  children,
@@ -1278,24 +1281,24 @@ var ButtonGroupRadio = React29__namespace.forwardRef(
1278
1281
  className,
1279
1282
  ...rest
1280
1283
  } = props;
1281
- const firstChildValue = React29__namespace.useMemo(() => {
1284
+ const firstChildValue = React30__namespace.useMemo(() => {
1282
1285
  const firstChild = Array.isArray(children) ? children[0] : void 0;
1283
1286
  return typeof firstChild?.props.value === "string" ? firstChild.props.value : void 0;
1284
1287
  }, [children]);
1285
- const [value, setValue] = React29__namespace.useState(defaultValue ?? firstChildValue);
1286
- const handleItemClick = React29__namespace.useCallback((event) => {
1288
+ const [value, setValue] = React30__namespace.useState(defaultValue ?? firstChildValue);
1289
+ const handleItemClick = React30__namespace.useCallback((event) => {
1287
1290
  const v = event.currentTarget.value;
1288
1291
  setValue(v);
1289
1292
  onChange?.(v);
1290
1293
  }, [onChange]);
1291
- const clonedChildren = React29__namespace.Children.map(children, (child) => {
1292
- return React29__namespace.cloneElement(child, {
1294
+ const clonedChildren = React30__namespace.Children.map(children, (child) => {
1295
+ return React30__namespace.cloneElement(child, {
1293
1296
  onClick: handleItemClick,
1294
1297
  selected: value === child.props.value,
1295
1298
  variant
1296
1299
  });
1297
1300
  });
1298
- const childrenLength = React29__namespace.Children.count(children);
1301
+ const childrenLength = React30__namespace.Children.count(children);
1299
1302
  return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { loading, children: /* @__PURE__ */ jsxRuntime.jsx(
1300
1303
  "div",
1301
1304
  {
@@ -1315,11 +1318,11 @@ var ButtonGroupRadio = React29__namespace.forwardRef(
1315
1318
  );
1316
1319
  var NOOP = () => {
1317
1320
  };
1318
- var CheckboxGroupContext = React29__namespace.createContext(null);
1321
+ var CheckboxGroupContext = React30__namespace.createContext(null);
1319
1322
  function useCheckboxGroupContext() {
1320
- return React29__namespace.useContext(CheckboxGroupContext);
1323
+ return React30__namespace.useContext(CheckboxGroupContext);
1321
1324
  }
1322
- var CheckboxGroupBase = React29__namespace.forwardRef(
1325
+ var CheckboxGroupBase = React30__namespace.forwardRef(
1323
1326
  function CheckboxGroup(props, ref) {
1324
1327
  const {
1325
1328
  children,
@@ -1331,10 +1334,10 @@ var CheckboxGroupBase = React29__namespace.forwardRef(
1331
1334
  className,
1332
1335
  ...rest
1333
1336
  } = props;
1334
- const [uncontrolledValue, setUncontrolledValue] = React29__namespace.useState(defaultValue ?? []);
1337
+ const [uncontrolledValue, setUncontrolledValue] = React30__namespace.useState(defaultValue ?? []);
1335
1338
  const isControlled = controlledValue !== void 0;
1336
1339
  const value = isControlled ? controlledValue : uncontrolledValue;
1337
- const toggle = React29__namespace.useCallback(
1340
+ const toggle = React30__namespace.useCallback(
1338
1341
  (itemValue) => {
1339
1342
  const next = value.includes(itemValue) ? value.filter((v) => v !== itemValue) : [...value, itemValue];
1340
1343
  if (!isControlled) {
@@ -1344,12 +1347,12 @@ var CheckboxGroupBase = React29__namespace.forwardRef(
1344
1347
  },
1345
1348
  [value, isControlled, onValueChange]
1346
1349
  );
1347
- React29__namespace.useEffect(() => {
1350
+ React30__namespace.useEffect(() => {
1348
1351
  if (isControlled) {
1349
1352
  setUncontrolledValue(controlledValue);
1350
1353
  }
1351
1354
  }, [isControlled, controlledValue]);
1352
- const ctx = React29__namespace.useMemo(() => ({ value, toggle }), [value, toggle]);
1355
+ const ctx = React30__namespace.useMemo(() => ({ value, toggle }), [value, toggle]);
1353
1356
  return /* @__PURE__ */ jsxRuntime.jsx(CheckboxGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsx(
1354
1357
  "div",
1355
1358
  {
@@ -1407,7 +1410,7 @@ var IndeterminateIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(
1407
1410
  children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0 0H12V2H0V0Z", fill: "currentColor" })
1408
1411
  }
1409
1412
  );
1410
- var CheckboxBase = React29__namespace.forwardRef(
1413
+ var CheckboxBase = React30__namespace.forwardRef(
1411
1414
  function Checkbox(props, ref) {
1412
1415
  const {
1413
1416
  icon,
@@ -1428,8 +1431,8 @@ var CheckboxBase = React29__namespace.forwardRef(
1428
1431
  ...rest
1429
1432
  } = props;
1430
1433
  const group = useCheckboxGroupContext();
1431
- const hiddenInputRef = React29__namespace.useRef(null);
1432
- const setHiddenInputRef = React29__namespace.useCallback(
1434
+ const hiddenInputRef = React30__namespace.useRef(null);
1435
+ const setHiddenInputRef = React30__namespace.useCallback(
1433
1436
  (node) => {
1434
1437
  hiddenInputRef.current = node;
1435
1438
  if (typeof ref === "function") {
@@ -1442,7 +1445,7 @@ var CheckboxBase = React29__namespace.forwardRef(
1442
1445
  );
1443
1446
  const isInGroup = group !== null && value !== void 0;
1444
1447
  const groupChecked = isInGroup ? group.value.includes(value) : void 0;
1445
- const [internalChecked, setInternalChecked] = React29__namespace.useState(
1448
+ const [internalChecked, setInternalChecked] = React30__namespace.useState(
1446
1449
  defaultChecked ?? false
1447
1450
  );
1448
1451
  const isControlled = checkedProp !== void 0 || isInGroup;
@@ -1454,7 +1457,7 @@ var CheckboxBase = React29__namespace.forwardRef(
1454
1457
  } else {
1455
1458
  checkedState = internalChecked;
1456
1459
  }
1457
- const handleCheckedChange = React29__namespace.useCallback(
1460
+ const handleCheckedChange = React30__namespace.useCallback(
1458
1461
  (nextChecked) => {
1459
1462
  if (readOnly) return;
1460
1463
  if (!isControlled) {
@@ -1618,7 +1621,7 @@ function resolveSpacing(v) {
1618
1621
  }
1619
1622
  return void 0;
1620
1623
  }
1621
- var Link = React29__namespace.default.forwardRef(
1624
+ var Link = React30__namespace.default.forwardRef(
1622
1625
  function Link2(props, ref) {
1623
1626
  const {
1624
1627
  external,
@@ -1707,7 +1710,7 @@ var Link = React29__namespace.default.forwardRef(
1707
1710
  ) });
1708
1711
  }
1709
1712
  );
1710
- var LinkBox = React29__namespace.default.forwardRef(
1713
+ var LinkBox = React30__namespace.default.forwardRef(
1711
1714
  function LinkBox2(props, ref) {
1712
1715
  const { className, ...rest } = props;
1713
1716
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1720,7 +1723,7 @@ var LinkBox = React29__namespace.default.forwardRef(
1720
1723
  );
1721
1724
  }
1722
1725
  );
1723
- var LinkOverlay = React29__namespace.default.forwardRef(
1726
+ var LinkOverlay = React30__namespace.default.forwardRef(
1724
1727
  function LinkOverlay2(props, ref) {
1725
1728
  const {
1726
1729
  children,
@@ -1801,8 +1804,8 @@ var LinkOverlay = React29__namespace.default.forwardRef(
1801
1804
  }
1802
1805
  );
1803
1806
  function useUpdateEffect(effect, deps) {
1804
- const isFirstMount = React29__namespace.default.useRef(true);
1805
- React29__namespace.default.useEffect(() => {
1807
+ const isFirstMount = React30__namespace.default.useRef(true);
1808
+ React30__namespace.default.useEffect(() => {
1806
1809
  if (isFirstMount.current) {
1807
1810
  isFirstMount.current = false;
1808
1811
  return;
@@ -1819,8 +1822,8 @@ function scrollToElement(id) {
1819
1822
  var CUT_ID = "CollapsibleDetails";
1820
1823
  var CollapsibleDetails = (props) => {
1821
1824
  const { children, id = CUT_ID, onClick, isExpanded: isExpandedProp = false, text: textProp, loading, noScroll, ...rest } = props;
1822
- const [isExpanded, setIsExpanded] = React29__namespace.default.useState(isExpandedProp);
1823
- const handleClick = React29__namespace.default.useCallback((event) => {
1825
+ const [isExpanded, setIsExpanded] = React30__namespace.default.useState(isExpandedProp);
1826
+ const handleClick = React30__namespace.default.useCallback((event) => {
1824
1827
  setIsExpanded((flag) => !flag);
1825
1828
  if (!noScroll) {
1826
1829
  scrollToElement(id);
@@ -1851,11 +1854,11 @@ var CollapsibleDetails = (props) => {
1851
1854
  var CollapsibleList = (props) => {
1852
1855
  const CUT_LENGTH = 3;
1853
1856
  const { items, renderItem, triggerProps, cutLength = CUT_LENGTH, text: textProp, defaultExpanded = false, className, ...rest } = props;
1854
- const [isExpanded, setIsExpanded] = React29__namespace.default.useState(defaultExpanded);
1855
- React29__namespace.default.useEffect(() => {
1857
+ const [isExpanded, setIsExpanded] = React30__namespace.default.useState(defaultExpanded);
1858
+ React30__namespace.default.useEffect(() => {
1856
1859
  setIsExpanded(defaultExpanded);
1857
1860
  }, [defaultExpanded]);
1858
- const handleToggle = React29__namespace.default.useCallback(() => {
1861
+ const handleToggle = React30__namespace.default.useCallback(() => {
1859
1862
  setIsExpanded((flag) => !flag);
1860
1863
  }, []);
1861
1864
  const text = isExpanded ? textProp?.[1] ?? "Hide" : textProp?.[0] ?? "Show all";
@@ -1872,10 +1875,10 @@ var CollapsibleList = (props) => {
1872
1875
  ) })
1873
1876
  ] }) });
1874
1877
  };
1875
- var ColorModeContext = React29__namespace.createContext(void 0);
1878
+ var ColorModeContext = React30__namespace.createContext(void 0);
1876
1879
  function ColorModeProvider(props) {
1877
1880
  const { children, defaultTheme = "light", value: controlledValue, onValueChange } = props;
1878
- const [internalMode, setInternalMode] = React29__namespace.useState(() => {
1881
+ const [internalMode, setInternalMode] = React30__namespace.useState(() => {
1879
1882
  if (controlledValue === "dark" || controlledValue === "light") {
1880
1883
  return controlledValue;
1881
1884
  }
@@ -1885,7 +1888,7 @@ function ColorModeProvider(props) {
1885
1888
  return defaultTheme === "dark" ? "dark" : "light";
1886
1889
  });
1887
1890
  const colorMode = controlledValue === "dark" || controlledValue === "light" ? controlledValue : internalMode;
1888
- const setColorMode = React29__namespace.useCallback((mode) => {
1891
+ const setColorMode = React30__namespace.useCallback((mode) => {
1889
1892
  const resolved = mode === "dark" ? "dark" : "light";
1890
1893
  setInternalMode(resolved);
1891
1894
  onValueChange?.(resolved);
@@ -1894,19 +1897,19 @@ function ColorModeProvider(props) {
1894
1897
  document.documentElement.classList.toggle("light", resolved === "light");
1895
1898
  }
1896
1899
  }, [onValueChange]);
1897
- const toggleColorMode = React29__namespace.useCallback(() => {
1900
+ const toggleColorMode = React30__namespace.useCallback(() => {
1898
1901
  setColorMode(colorMode === "dark" ? "light" : "dark");
1899
1902
  }, [colorMode, setColorMode]);
1900
- const ctx = React29__namespace.useMemo(
1903
+ const ctx = React30__namespace.useMemo(
1901
1904
  () => ({ colorMode, setColorMode, toggleColorMode }),
1902
1905
  [colorMode, setColorMode, toggleColorMode]
1903
1906
  );
1904
1907
  return /* @__PURE__ */ jsxRuntime.jsx(ColorModeContext.Provider, { value: ctx, children });
1905
1908
  }
1906
1909
  function useColorMode() {
1907
- const ctx = React29__namespace.useContext(ColorModeContext);
1910
+ const ctx = React30__namespace.useContext(ColorModeContext);
1908
1911
  if (!ctx) {
1909
- const [mode, setMode] = React29__namespace.useState(() => {
1912
+ const [mode, setMode] = React30__namespace.useState(() => {
1910
1913
  if (typeof document !== "undefined" && document.documentElement.classList.contains("dark")) {
1911
1914
  return "dark";
1912
1915
  }
@@ -1950,9 +1953,9 @@ function BackToButton({ onClick }) {
1950
1953
  }
1951
1954
  );
1952
1955
  }
1953
- var DialogSizeContext = React29__namespace.createContext({ size: "md" });
1956
+ var DialogSizeContext = React30__namespace.createContext({ size: "md" });
1954
1957
  function useDialogSizeContext() {
1955
- return React29__namespace.useContext(DialogSizeContext);
1958
+ return React30__namespace.useContext(DialogSizeContext);
1956
1959
  }
1957
1960
  var CONTENT_SIZE_MAP = {
1958
1961
  sm: "max-w-[400px]",
@@ -1984,13 +1987,13 @@ var DialogRoot = ({
1984
1987
  modal = true
1985
1988
  // motionPreset is intentionally unused -- kept for API compat
1986
1989
  }) => {
1987
- const handleOpenChange = React29__namespace.useCallback(
1990
+ const handleOpenChange = React30__namespace.useCallback(
1988
1991
  (nextOpen) => {
1989
1992
  onOpenChange?.({ open: nextOpen });
1990
1993
  },
1991
1994
  [onOpenChange]
1992
1995
  );
1993
- const ctx = React29__namespace.useMemo(() => ({ size }), [size]);
1996
+ const ctx = React30__namespace.useMemo(() => ({ size }), [size]);
1994
1997
  return /* @__PURE__ */ jsxRuntime.jsx(DialogSizeContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsx(
1995
1998
  dialog.Dialog,
1996
1999
  {
@@ -2002,7 +2005,7 @@ var DialogRoot = ({
2002
2005
  }
2003
2006
  ) });
2004
2007
  };
2005
- var DialogContent = React29__namespace.forwardRef(function DialogContent2(props, ref) {
2008
+ var DialogContent = React30__namespace.forwardRef(function DialogContent2(props, ref) {
2006
2009
  const {
2007
2010
  children,
2008
2011
  portalled: _portalled = true,
@@ -2059,11 +2062,11 @@ var DialogContent = React29__namespace.forwardRef(function DialogContent2(props,
2059
2062
  )
2060
2063
  ] });
2061
2064
  });
2062
- var DialogCloseTrigger = React29__namespace.forwardRef(function DialogCloseTrigger2(props, ref) {
2065
+ var DialogCloseTrigger = React30__namespace.forwardRef(function DialogCloseTrigger2(props, ref) {
2063
2066
  const { className, ...rest } = props;
2064
2067
  return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { ref, className, ...rest, children: props.children }) });
2065
2068
  });
2066
- var DialogHeader = React29__namespace.forwardRef(function DialogHeader2(props, ref) {
2069
+ var DialogHeader = React30__namespace.forwardRef(function DialogHeader2(props, ref) {
2067
2070
  const { startElement: startElementProp, onBackToClick, className, children, ...rest } = props;
2068
2071
  const startElement = startElementProp ?? (onBackToClick ? /* @__PURE__ */ jsxRuntime.jsx(BackToButton, { onClick: onBackToClick }) : void 0);
2069
2072
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2093,7 +2096,7 @@ var DialogHeader = React29__namespace.forwardRef(function DialogHeader2(props, r
2093
2096
  }
2094
2097
  );
2095
2098
  });
2096
- var DialogBody = React29__namespace.forwardRef(function DialogBody2({ className, pt, display, flexDir, style: styleProp, ...props }, ref) {
2099
+ var DialogBody = React30__namespace.forwardRef(function DialogBody2({ className, pt, display, flexDir, style: styleProp, ...props }, ref) {
2097
2100
  const bodyStyle = {
2098
2101
  ...styleProp,
2099
2102
  ...pt !== void 0 ? { paddingTop: typeof pt === "number" ? `${pt * 4}px` : pt } : {},
@@ -2110,7 +2113,7 @@ var DialogBody = React29__namespace.forwardRef(function DialogBody2({ className,
2110
2113
  }
2111
2114
  );
2112
2115
  });
2113
- var DialogFooter = React29__namespace.forwardRef(function DialogFooter2({ className, ...props }, ref) {
2116
+ var DialogFooter = React30__namespace.forwardRef(function DialogFooter2({ className, ...props }, ref) {
2114
2117
  return /* @__PURE__ */ jsxRuntime.jsx(
2115
2118
  "div",
2116
2119
  {
@@ -2125,8 +2128,8 @@ var DialogTitle = dialog.Dialog.Title;
2125
2128
  var DialogDescription = dialog.Dialog.Description;
2126
2129
  var DialogTrigger = dialog.Dialog.Trigger;
2127
2130
  var DialogActionTrigger = dialog.Dialog.Close;
2128
- var DrawerPlacementContext = React29__namespace.createContext("right");
2129
- var DrawerSizeContext = React29__namespace.createContext("md");
2131
+ var DrawerPlacementContext = React30__namespace.createContext("right");
2132
+ var DrawerSizeContext = React30__namespace.createContext("md");
2130
2133
  var DrawerRoot = (props) => {
2131
2134
  const {
2132
2135
  children,
@@ -2137,7 +2140,7 @@ var DrawerRoot = (props) => {
2137
2140
  modal = true,
2138
2141
  size = "md"
2139
2142
  } = props;
2140
- const handleOpenChange = React29__namespace.useCallback((nextOpen) => {
2143
+ const handleOpenChange = React30__namespace.useCallback((nextOpen) => {
2141
2144
  onOpenChange?.({ open: nextOpen });
2142
2145
  }, [onOpenChange]);
2143
2146
  return /* @__PURE__ */ jsxRuntime.jsx(DrawerPlacementContext.Provider, { value: placement, children: /* @__PURE__ */ jsxRuntime.jsx(DrawerSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -2179,11 +2182,11 @@ var SIZE_CLASSES6 = {
2179
2182
  top: { xs: "h-40", sm: "h-60", md: "h-80", lg: "h-96", xl: "h-[480px]", full: "h-screen" },
2180
2183
  bottom: { xs: "h-40", sm: "h-60", md: "h-80", lg: "h-96", xl: "h-[480px]", full: "h-screen" }
2181
2184
  };
2182
- var DrawerContent = React29__namespace.forwardRef(
2185
+ var DrawerContent = React30__namespace.forwardRef(
2183
2186
  function DrawerContent2(props, ref) {
2184
2187
  const { children, portalled = true, portalRef, offset: _offset, backdrop = true, className, ...rest } = props;
2185
- const placement = React29__namespace.useContext(DrawerPlacementContext);
2186
- const size = React29__namespace.useContext(DrawerSizeContext);
2188
+ const placement = React30__namespace.useContext(DrawerPlacementContext);
2189
+ const size = React30__namespace.useContext(DrawerSizeContext);
2187
2190
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2188
2191
  backdrop && /* @__PURE__ */ jsxRuntime.jsx(
2189
2192
  RadixDialog__namespace.Overlay,
@@ -2216,7 +2219,7 @@ var DrawerContent = React29__namespace.forwardRef(
2216
2219
  return content;
2217
2220
  }
2218
2221
  );
2219
- var DrawerCloseTrigger = React29__namespace.forwardRef(function DrawerCloseTrigger2(props, ref) {
2222
+ var DrawerCloseTrigger = React30__namespace.forwardRef(function DrawerCloseTrigger2(props, ref) {
2220
2223
  return /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2221
2224
  CloseButton,
2222
2225
  {
@@ -2230,17 +2233,17 @@ var DrawerTrigger = (props) => {
2230
2233
  const { asChild = true, ...rest } = props;
2231
2234
  return /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Trigger, { asChild, ...rest });
2232
2235
  };
2233
- var DrawerHeader = React29__namespace.forwardRef(
2236
+ var DrawerHeader = React30__namespace.forwardRef(
2234
2237
  function DrawerHeader2({ className, ...props }, ref) {
2235
2238
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col gap-1.5 p-6 pb-0", className), ...props });
2236
2239
  }
2237
2240
  );
2238
- var DrawerBody = React29__namespace.forwardRef(
2241
+ var DrawerBody = React30__namespace.forwardRef(
2239
2242
  function DrawerBody2({ className, ...props }, ref) {
2240
2243
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex-1 overflow-auto p-6", className), ...props });
2241
2244
  }
2242
2245
  );
2243
- var DrawerFooter = React29__namespace.forwardRef(
2246
+ var DrawerFooter = React30__namespace.forwardRef(
2244
2247
  function DrawerFooter2({ className, ...props }, ref) {
2245
2248
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center justify-end gap-2 p-6 pt-0", className), ...props });
2246
2249
  }
@@ -2253,7 +2256,7 @@ function upperFirst(str) {
2253
2256
  return str.charAt(0).toUpperCase() + str.slice(1);
2254
2257
  }
2255
2258
  var ICONS = {};
2256
- var EmptyState = React29__namespace.forwardRef(
2259
+ var EmptyState = React30__namespace.forwardRef(
2257
2260
  function EmptyState2(props, ref) {
2258
2261
  const { title, description, term, type = "query", icon, children, className, ...rest } = props;
2259
2262
  const titleContent = (() => {
@@ -2313,7 +2316,7 @@ function getComponentDisplayName(type) {
2313
2316
  if ("displayName" in type) return type.displayName;
2314
2317
  return void 0;
2315
2318
  }
2316
- var Field = React29__namespace.forwardRef(
2319
+ var Field = React30__namespace.forwardRef(
2317
2320
  function Field2(props, ref) {
2318
2321
  const {
2319
2322
  label,
@@ -2365,14 +2368,14 @@ var Field = React29__namespace.forwardRef(
2365
2368
  }
2366
2369
  );
2367
2370
  const helperTextElement = helperText ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1.5 text-xs text-[var(--color-text-secondary,theme(colors.gray.400))]", children: helperText }) : null;
2368
- const child2 = React29__namespace.Children.only(children);
2371
+ const child2 = React30__namespace.Children.only(children);
2369
2372
  const isInputGroup = getComponentDisplayName(child2.type) === "InputGroup";
2370
2373
  if (isInputGroup) {
2371
- const inputElement2 = React29__namespace.cloneElement(
2372
- React29__namespace.Children.only(child2.props.children),
2374
+ const inputElement2 = React30__namespace.cloneElement(
2375
+ React30__namespace.Children.only(child2.props.children),
2373
2376
  injectedProps2
2374
2377
  );
2375
- const groupInputElement = React29__namespace.cloneElement(
2378
+ const groupInputElement = React30__namespace.cloneElement(
2376
2379
  child2,
2377
2380
  {},
2378
2381
  inputElement2,
@@ -2395,7 +2398,7 @@ var Field = React29__namespace.forwardRef(
2395
2398
  }
2396
2399
  );
2397
2400
  }
2398
- const inputElement = React29__namespace.cloneElement(child2, injectedProps2);
2401
+ const inputElement = React30__namespace.cloneElement(child2, injectedProps2);
2399
2402
  return /* @__PURE__ */ jsxRuntime.jsxs(
2400
2403
  "div",
2401
2404
  {
@@ -2417,8 +2420,8 @@ var Field = React29__namespace.forwardRef(
2417
2420
  const injectedProps = {
2418
2421
  size
2419
2422
  };
2420
- const child = React29__namespace.Children.only(children);
2421
- const clonedChild = React29__namespace.cloneElement(child, injectedProps);
2423
+ const child = React30__namespace.Children.only(children);
2424
+ const clonedChild = React30__namespace.cloneElement(child, injectedProps);
2422
2425
  return /* @__PURE__ */ jsxRuntime.jsxs(
2423
2426
  "div",
2424
2427
  {
@@ -2461,7 +2464,7 @@ var LEVEL_CLASSES = {
2461
2464
  "3": "text-[14px] leading-[20px] font-semibold lg:text-[18px] lg:leading-[24px] lg:font-medium"
2462
2465
  };
2463
2466
  var BASE_CLASSES4 = "font-heading text-heading";
2464
- var Heading = React29__namespace.default.forwardRef(
2467
+ var Heading = React30__namespace.default.forwardRef(
2465
2468
  function Heading2({ level, className, mb, size: _size, style: styleProp, ...rest }, ref) {
2466
2469
  const Tag3 = level ? LEVEL_TAG[level] : "h2";
2467
2470
  const levelClasses = level ? LEVEL_CLASSES[level] : void 0;
@@ -2547,7 +2550,7 @@ var ICON_SIZE_CLASSES = {
2547
2550
  md: "[&_svg]:size-5"
2548
2551
  };
2549
2552
  var SP2 = 4;
2550
- var IconButton = React29__namespace.forwardRef(
2553
+ var IconButton = React30__namespace.forwardRef(
2551
2554
  function IconButton2(props, ref) {
2552
2555
  const {
2553
2556
  size,
@@ -2598,7 +2601,7 @@ var IconButton = React29__namespace.forwardRef(
2598
2601
  ref,
2599
2602
  size,
2600
2603
  disabled: !loadingSkeleton && (loading || disabled) || void 0,
2601
- render: _as ? React29__namespace.createElement(_as) : void 0,
2604
+ render: _as ? React30__namespace.createElement(_as) : void 0,
2602
2605
  className: combinedClassName,
2603
2606
  style: mergedStyle,
2604
2607
  ...expanded ? { "data-expanded": true } : {},
@@ -2769,31 +2772,31 @@ function extractStyleProps(props) {
2769
2772
  }
2770
2773
  return { styleProps, rest };
2771
2774
  }
2772
- var Image2 = React29__namespace.default.forwardRef(
2775
+ var Image2 = React30__namespace.default.forwardRef(
2773
2776
  function Image3(props, ref) {
2774
2777
  const { fallback, src, onLoad, onError, skeletonWidth, skeletonHeight, alt, className, style: styleProp, ...allRest } = props;
2775
2778
  const { styleProps, rest: extraProps } = extractStyleProps(allRest);
2776
- const [loading, setLoading] = React29__namespace.default.useState(true);
2777
- const [error, setError] = React29__namespace.default.useState(false);
2778
- const handleLoadError = React29__namespace.default.useCallback((event) => {
2779
+ const [loading, setLoading] = React30__namespace.default.useState(true);
2780
+ const [error, setError] = React30__namespace.default.useState(false);
2781
+ const handleLoadError = React30__namespace.default.useCallback((event) => {
2779
2782
  setError(true);
2780
2783
  setLoading(false);
2781
2784
  onError?.(event);
2782
2785
  }, [onError]);
2783
- const handleLoadSuccess = React29__namespace.default.useCallback((event) => {
2786
+ const handleLoadSuccess = React30__namespace.default.useCallback((event) => {
2784
2787
  setLoading(false);
2785
2788
  onLoad?.(event);
2786
2789
  }, [onLoad]);
2787
2790
  const passthroughProps = allRest;
2788
2791
  if (!src && fallback) {
2789
- if (React29__namespace.default.isValidElement(fallback)) {
2790
- return React29__namespace.default.cloneElement(fallback, passthroughProps);
2792
+ if (React30__namespace.default.isValidElement(fallback)) {
2793
+ return React30__namespace.default.cloneElement(fallback, passthroughProps);
2791
2794
  }
2792
2795
  return fallback;
2793
2796
  }
2794
2797
  if (error) {
2795
- if (React29__namespace.default.isValidElement(fallback)) {
2796
- return React29__namespace.default.cloneElement(fallback, passthroughProps);
2798
+ if (React30__namespace.default.isValidElement(fallback)) {
2799
+ return React30__namespace.default.cloneElement(fallback, passthroughProps);
2797
2800
  }
2798
2801
  return fallback;
2799
2802
  }
@@ -2849,7 +2852,7 @@ var INPUT_VARIANT_CLASSES = {
2849
2852
  filled: "border-0 bg-[var(--color-input-filled-bg,theme(colors.gray.100))]",
2850
2853
  unstyled: "border-0 bg-transparent p-0 h-auto"
2851
2854
  };
2852
- var Input = React29__namespace.default.forwardRef(
2855
+ var Input = React30__namespace.default.forwardRef(
2853
2856
  ({ size = "md", variant = "outline", className, ...rest }, ref) => {
2854
2857
  return /* @__PURE__ */ jsxRuntime.jsx(
2855
2858
  "input",
@@ -2867,7 +2870,7 @@ function getComponentDisplayName2(type) {
2867
2870
  if ("displayName" in type) return type.displayName;
2868
2871
  return void 0;
2869
2872
  }
2870
- var InputGroup = React29__namespace.forwardRef(
2873
+ var InputGroup = React30__namespace.forwardRef(
2871
2874
  function InputGroup2(props, ref) {
2872
2875
  const {
2873
2876
  startElement,
@@ -2880,11 +2883,11 @@ var InputGroup = React29__namespace.forwardRef(
2880
2883
  className,
2881
2884
  ...rest
2882
2885
  } = props;
2883
- const startElementRef = React29__namespace.useRef(null);
2884
- const endElementRef = React29__namespace.useRef(null);
2885
- const groupRef = React29__namespace.useRef(null);
2886
- const [inlinePaddings, setInlinePaddings] = React29__namespace.useState();
2887
- const calculateInlinePaddings = React29__namespace.useCallback(() => {
2886
+ const startElementRef = React30__namespace.useRef(null);
2887
+ const endElementRef = React30__namespace.useRef(null);
2888
+ const groupRef = React30__namespace.useRef(null);
2889
+ const [inlinePaddings, setInlinePaddings] = React30__namespace.useState();
2890
+ const calculateInlinePaddings = React30__namespace.useCallback(() => {
2888
2891
  const startWidth = startElementRef.current?.getBoundingClientRect().width ?? 0;
2889
2892
  const endWidth = endElementRef.current?.getBoundingClientRect().width ?? 0;
2890
2893
  setInlinePaddings({
@@ -2892,7 +2895,7 @@ var InputGroup = React29__namespace.forwardRef(
2892
2895
  end: endWidth
2893
2896
  });
2894
2897
  }, []);
2895
- React29__namespace.useEffect(() => {
2898
+ React30__namespace.useEffect(() => {
2896
2899
  if (!groupRef.current) return;
2897
2900
  let timeoutId;
2898
2901
  const intersectionObserver = new IntersectionObserver(
@@ -2912,7 +2915,7 @@ var InputGroup = React29__namespace.forwardRef(
2912
2915
  }
2913
2916
  };
2914
2917
  }, [calculateInlinePaddings]);
2915
- React29__namespace.useEffect(() => {
2918
+ React30__namespace.useEffect(() => {
2916
2919
  calculateInlinePaddings();
2917
2920
  const resizeHandler = esToolkit.debounce(calculateInlinePaddings, 300);
2918
2921
  const resizeObserver = new ResizeObserver(resizeHandler);
@@ -2923,7 +2926,7 @@ var InputGroup = React29__namespace.forwardRef(
2923
2926
  resizeObserver.disconnect();
2924
2927
  };
2925
2928
  }, [calculateInlinePaddings]);
2926
- const combinedRef = React29__namespace.useCallback((node) => {
2929
+ const combinedRef = React30__namespace.useCallback((node) => {
2927
2930
  groupRef.current = node;
2928
2931
  if (typeof ref === "function") {
2929
2932
  ref(node);
@@ -2952,11 +2955,11 @@ var InputGroup = React29__namespace.forwardRef(
2952
2955
  children: startElement
2953
2956
  }
2954
2957
  ),
2955
- React29__namespace.Children.map(children, (child) => {
2958
+ React30__namespace.Children.map(children, (child) => {
2956
2959
  if (getComponentDisplayName2(child.type) !== "FieldInput") {
2957
2960
  return child;
2958
2961
  }
2959
- return React29__namespace.cloneElement(child, {
2962
+ return React30__namespace.cloneElement(child, {
2960
2963
  ...startElement && { ps: startOffset ?? (inlinePaddings?.start ? `${inlinePaddings.start}px` : void 0) },
2961
2964
  ...endElement && { pe: endOffset ?? (inlinePaddings?.end ? `${inlinePaddings.end}px` : void 0) },
2962
2965
  // hide input value and placeholder for the first render
@@ -2997,7 +3000,7 @@ function parsePlacement(placement) {
2997
3000
  }
2998
3001
  return { side, align };
2999
3002
  }
3000
- var PositioningContext = React29__namespace.createContext({
3003
+ var PositioningContext = React30__namespace.createContext({
3001
3004
  side: "bottom",
3002
3005
  align: "start",
3003
3006
  sideOffset: 4,
@@ -3027,13 +3030,13 @@ var MenuRoot = (props) => {
3027
3030
  }
3028
3031
  };
3029
3032
  const { side, align } = parsePlacement(mergedPositioning.placement);
3030
- const positioningValue = React29__namespace.useMemo(() => ({
3033
+ const positioningValue = React30__namespace.useMemo(() => ({
3031
3034
  side,
3032
3035
  align,
3033
3036
  sideOffset: mergedPositioning.offset?.mainAxis ?? 4,
3034
3037
  alignOffset: mergedPositioning.offset?.crossAxis ?? 0
3035
3038
  }), [side, align, mergedPositioning.offset?.mainAxis, mergedPositioning.offset?.crossAxis]);
3036
- const handleOpenChange = React29__namespace.useCallback((isOpen) => {
3039
+ const handleOpenChange = React30__namespace.useCallback((isOpen) => {
3037
3040
  onOpenChange?.({ open: isOpen });
3038
3041
  }, [onOpenChange]);
3039
3042
  return /* @__PURE__ */ jsxRuntime.jsx(PositioningContext.Provider, { value: positioningValue, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -3047,13 +3050,13 @@ var MenuRoot = (props) => {
3047
3050
  }
3048
3051
  ) });
3049
3052
  };
3050
- var MenuTrigger = React29__namespace.forwardRef(function MenuTrigger2(props, ref) {
3053
+ var MenuTrigger = React30__namespace.forwardRef(function MenuTrigger2(props, ref) {
3051
3054
  const { asChild = false, ...rest } = props;
3052
3055
  return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Trigger, { asChild, ref, ...rest });
3053
3056
  });
3054
- var MenuContent = React29__namespace.forwardRef(function MenuContent2(props, ref) {
3057
+ var MenuContent = React30__namespace.forwardRef(function MenuContent2(props, ref) {
3055
3058
  const { portalled = true, portalRef, className, zIndex, minW, style, ...rest } = props;
3056
- const positioning = React29__namespace.useContext(PositioningContext);
3059
+ const positioning = React30__namespace.useContext(PositioningContext);
3057
3060
  const mergedStyle = {
3058
3061
  ...style,
3059
3062
  ...zIndex !== void 0 ? { zIndex: typeof zIndex === "string" ? `var(--z-index-${zIndex}, ${zIndex})` : zIndex } : {},
@@ -3088,7 +3091,7 @@ var MenuContent = React29__namespace.forwardRef(function MenuContent2(props, ref
3088
3091
  }
3089
3092
  return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Portal, { container: portalRef?.current ?? void 0, children: content });
3090
3093
  });
3091
- var MenuItem = React29__namespace.forwardRef(function MenuItem2(props, ref) {
3094
+ var MenuItem = React30__namespace.forwardRef(function MenuItem2(props, ref) {
3092
3095
  const { className, value: _value, asChild, closeOnSelect: _closeOnSelect, disabled, children, onClick, ...rest } = props;
3093
3096
  return /* @__PURE__ */ jsxRuntime.jsx(
3094
3097
  DropdownMenu__namespace.Item,
@@ -3110,11 +3113,11 @@ var MenuItem = React29__namespace.forwardRef(function MenuItem2(props, ref) {
3110
3113
  }
3111
3114
  );
3112
3115
  });
3113
- var MenuItemText = React29__namespace.forwardRef(function MenuItemText2(props, ref) {
3116
+ var MenuItemText = React30__namespace.forwardRef(function MenuItemText2(props, ref) {
3114
3117
  const { className, ...rest } = props;
3115
3118
  return /* @__PURE__ */ jsxRuntime.jsx("span", { ref, className: cn("flex-1", className), ...rest });
3116
3119
  });
3117
- React29__namespace.forwardRef(function MenuItemCommand2(props, ref) {
3120
+ React30__namespace.forwardRef(function MenuItemCommand2(props, ref) {
3118
3121
  const { className, ...rest } = props;
3119
3122
  return /* @__PURE__ */ jsxRuntime.jsx(
3120
3123
  "span",
@@ -3125,7 +3128,7 @@ React29__namespace.forwardRef(function MenuItemCommand2(props, ref) {
3125
3128
  }
3126
3129
  );
3127
3130
  });
3128
- var MenuSeparator = React29__namespace.forwardRef(function MenuSeparator2(props, ref) {
3131
+ var MenuSeparator = React30__namespace.forwardRef(function MenuSeparator2(props, ref) {
3129
3132
  const { className, ...rest } = props;
3130
3133
  return /* @__PURE__ */ jsxRuntime.jsx(
3131
3134
  DropdownMenu__namespace.Separator,
@@ -3136,14 +3139,14 @@ var MenuSeparator = React29__namespace.forwardRef(function MenuSeparator2(props,
3136
3139
  }
3137
3140
  );
3138
3141
  });
3139
- var MenuItemGroup = React29__namespace.forwardRef(function MenuItemGroup2(props, ref) {
3142
+ var MenuItemGroup = React30__namespace.forwardRef(function MenuItemGroup2(props, ref) {
3140
3143
  const { title, children, className, ...rest } = props;
3141
3144
  return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu__namespace.Group, { ref, className, ...rest, children: [
3142
3145
  title && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Label, { className: "px-2 py-1.5 text-xs font-semibold select-none opacity-60", children: title }),
3143
3146
  children
3144
3147
  ] });
3145
3148
  });
3146
- var MenuArrow = React29__namespace.forwardRef(function MenuArrow2(props, ref) {
3149
+ var MenuArrow = React30__namespace.forwardRef(function MenuArrow2(props, ref) {
3147
3150
  const { className, ...rest } = props;
3148
3151
  return /* @__PURE__ */ jsxRuntime.jsx(
3149
3152
  DropdownMenu__namespace.Arrow,
@@ -3154,7 +3157,7 @@ var MenuArrow = React29__namespace.forwardRef(function MenuArrow2(props, ref) {
3154
3157
  }
3155
3158
  );
3156
3159
  });
3157
- var MenuCheckboxItem = React29__namespace.forwardRef(function MenuCheckboxItem2(props, ref) {
3160
+ var MenuCheckboxItem = React30__namespace.forwardRef(function MenuCheckboxItem2(props, ref) {
3158
3161
  const { className, children, checked, onCheckedChange, onClick, ...rest } = props;
3159
3162
  return /* @__PURE__ */ jsxRuntime.jsxs(
3160
3163
  DropdownMenu__namespace.CheckboxItem,
@@ -3178,7 +3181,7 @@ var MenuCheckboxItem = React29__namespace.forwardRef(function MenuCheckboxItem2(
3178
3181
  }
3179
3182
  );
3180
3183
  });
3181
- var MenuRadioItemGroup = React29__namespace.forwardRef(function MenuRadioItemGroup2(props, ref) {
3184
+ var MenuRadioItemGroup = React30__namespace.forwardRef(function MenuRadioItemGroup2(props, ref) {
3182
3185
  const { value, onValueChange, ...rest } = props;
3183
3186
  return /* @__PURE__ */ jsxRuntime.jsx(
3184
3187
  DropdownMenu__namespace.RadioGroup,
@@ -3190,7 +3193,7 @@ var MenuRadioItemGroup = React29__namespace.forwardRef(function MenuRadioItemGro
3190
3193
  }
3191
3194
  );
3192
3195
  });
3193
- var MenuRadioItem = React29__namespace.forwardRef(function MenuRadioItem2(props, ref) {
3196
+ var MenuRadioItem = React30__namespace.forwardRef(function MenuRadioItem2(props, ref) {
3194
3197
  const { className, children, value, onClick, ...rest } = props;
3195
3198
  const { value: _v, ...radixRest } = rest;
3196
3199
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3213,11 +3216,11 @@ var MenuRadioItem = React29__namespace.forwardRef(function MenuRadioItem2(props,
3213
3216
  }
3214
3217
  );
3215
3218
  });
3216
- React29__namespace.forwardRef(function MenuContextTrigger2(props, ref) {
3219
+ React30__namespace.forwardRef(function MenuContextTrigger2(props, ref) {
3217
3220
  const { asChild: _asChild, ...rest } = props;
3218
3221
  return /* @__PURE__ */ jsxRuntime.jsx("span", { ref, ...rest });
3219
3222
  });
3220
- var MenuTriggerItem = React29__namespace.forwardRef(function MenuTriggerItem2(props, ref) {
3223
+ var MenuTriggerItem = React30__namespace.forwardRef(function MenuTriggerItem2(props, ref) {
3221
3224
  const { startIcon, children, className, ...rest } = props;
3222
3225
  return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Sub, { children: /* @__PURE__ */ jsxRuntime.jsxs(
3223
3226
  DropdownMenu__namespace.SubTrigger,
@@ -3252,7 +3255,7 @@ var INPUT_BASE2 = [
3252
3255
  ].join(" ");
3253
3256
  var INPUT_FILLED = "border-[var(--color-input-border)]";
3254
3257
  var INPUT_INVALID = "border-[var(--color-border-error)] hover:border-[var(--color-border-error)]";
3255
- var PinInput = React29__namespace.forwardRef(
3258
+ var PinInput = React30__namespace.forwardRef(
3256
3259
  function PinInput2(props, ref) {
3257
3260
  const {
3258
3261
  count = 6,
@@ -3270,12 +3273,12 @@ var PinInput = React29__namespace.forwardRef(
3270
3273
  bgColor,
3271
3274
  className
3272
3275
  } = props;
3273
- const inputRefs = React29__namespace.useRef([]);
3274
- const values = React29__namespace.useMemo(
3276
+ const inputRefs = React30__namespace.useRef([]);
3277
+ const values = React30__namespace.useMemo(
3275
3278
  () => controlledValue ?? Array.from({ length: count }).fill(""),
3276
3279
  [controlledValue, count]
3277
3280
  );
3278
- const updateValue = React29__namespace.useCallback((index, char) => {
3281
+ const updateValue = React30__namespace.useCallback((index, char) => {
3279
3282
  const next = [...values];
3280
3283
  next[index] = char;
3281
3284
  onValueChange?.({ value: next });
@@ -3283,11 +3286,11 @@ var PinInput = React29__namespace.forwardRef(
3283
3286
  onValueComplete?.({ value: next });
3284
3287
  }
3285
3288
  }, [values, onValueChange, onValueComplete]);
3286
- const focusInput = React29__namespace.useCallback((index) => {
3289
+ const focusInput = React30__namespace.useCallback((index) => {
3287
3290
  const clamped = Math.max(0, Math.min(index, count - 1));
3288
3291
  inputRefs.current[clamped]?.focus();
3289
3292
  }, [count]);
3290
- const handleInput = React29__namespace.useCallback((index, e) => {
3293
+ const handleInput = React30__namespace.useCallback((index, e) => {
3291
3294
  const target = e.currentTarget;
3292
3295
  const char = target.value.slice(-1);
3293
3296
  updateValue(index, char);
@@ -3295,7 +3298,7 @@ var PinInput = React29__namespace.forwardRef(
3295
3298
  focusInput(index + 1);
3296
3299
  }
3297
3300
  }, [count, updateValue, focusInput]);
3298
- const handleKeyDown = React29__namespace.useCallback((index, e) => {
3301
+ const handleKeyDown = React30__namespace.useCallback((index, e) => {
3299
3302
  if (e.key === "Backspace") {
3300
3303
  if (values[index]) {
3301
3304
  updateValue(index, "");
@@ -3312,7 +3315,7 @@ var PinInput = React29__namespace.forwardRef(
3312
3315
  e.preventDefault();
3313
3316
  }
3314
3317
  }, [count, values, updateValue, focusInput]);
3315
- const handlePaste = React29__namespace.useCallback((e) => {
3318
+ const handlePaste = React30__namespace.useCallback((e) => {
3316
3319
  e.preventDefault();
3317
3320
  const pasted = e.clipboardData.getData("text/plain").trim();
3318
3321
  if (!pasted) {
@@ -3329,18 +3332,18 @@ var PinInput = React29__namespace.forwardRef(
3329
3332
  }
3330
3333
  focusInput(Math.min(chars.length, count - 1));
3331
3334
  }, [count, values, onValueChange, onValueComplete, focusInput]);
3332
- const handleFocus = React29__namespace.useCallback((e) => {
3335
+ const handleFocus = React30__namespace.useCallback((e) => {
3333
3336
  e.currentTarget.select();
3334
3337
  }, []);
3335
- const handleNoop = React29__namespace.useCallback(() => {
3338
+ const handleNoop = React30__namespace.useCallback(() => {
3336
3339
  }, []);
3337
- const setInputRef = React29__namespace.useCallback((index) => (el) => {
3340
+ const setInputRef = React30__namespace.useCallback((index) => (el) => {
3338
3341
  inputRefs.current[index] = el;
3339
3342
  }, []);
3340
- const onInputAtIndex = React29__namespace.useCallback((index) => (e) => {
3343
+ const onInputAtIndex = React30__namespace.useCallback((index) => (e) => {
3341
3344
  handleInput(index, e);
3342
3345
  }, [handleInput]);
3343
- const onKeyDownAtIndex = React29__namespace.useCallback((index) => (e) => {
3346
+ const onKeyDownAtIndex = React30__namespace.useCallback((index) => (e) => {
3344
3347
  handleKeyDown(index, e);
3345
3348
  }, [handleKeyDown]);
3346
3349
  const bgStyle = bgColor ? { backgroundColor: `var(--color-${bgColor.replace(/\./g, "-")})` } : void 0;
@@ -3401,7 +3404,7 @@ function parsePlacement2(placement) {
3401
3404
  }
3402
3405
  return { side, align };
3403
3406
  }
3404
- var PositioningContext2 = React29__namespace.createContext({
3407
+ var PositioningContext2 = React30__namespace.createContext({
3405
3408
  side: "bottom",
3406
3409
  align: "start",
3407
3410
  sideOffset: 4,
@@ -3435,7 +3438,7 @@ var PopoverRoot = (props) => {
3435
3438
  }
3436
3439
  };
3437
3440
  const { side, align } = parsePlacement2(mergedPositioning.placement);
3438
- const positioningValue = React29__namespace.useMemo(() => ({
3441
+ const positioningValue = React30__namespace.useMemo(() => ({
3439
3442
  side,
3440
3443
  align,
3441
3444
  sideOffset: mergedPositioning.offset?.mainAxis ?? 4,
@@ -3452,7 +3455,7 @@ var PopoverRoot = (props) => {
3452
3455
  autoFocus,
3453
3456
  closeOnInteractOutside
3454
3457
  ]);
3455
- const handleOpenChange = React29__namespace.useCallback((isOpen) => {
3458
+ const handleOpenChange = React30__namespace.useCallback((isOpen) => {
3456
3459
  onOpenChange?.({ open: isOpen });
3457
3460
  }, [onOpenChange]);
3458
3461
  const placement = mergedPositioning.placement ?? "bottom-start";
@@ -3470,11 +3473,11 @@ var PopoverRoot = (props) => {
3470
3473
  }
3471
3474
  ) });
3472
3475
  };
3473
- var PopoverTrigger = React29__namespace.forwardRef(function PopoverTrigger2(props, ref) {
3476
+ var PopoverTrigger = React30__namespace.forwardRef(function PopoverTrigger2(props, ref) {
3474
3477
  const { asChild = true, ...rest } = props;
3475
3478
  return /* @__PURE__ */ jsxRuntime.jsx(popover.Popover.Trigger, { asChild: asChild ? "except-style" : void 0, ref, ...rest });
3476
3479
  });
3477
- var PopoverContent = React29__namespace.forwardRef(function PopoverContent2(props, ref) {
3480
+ var PopoverContent = React30__namespace.forwardRef(function PopoverContent2(props, ref) {
3478
3481
  const { portalled = true, portalRef: _portalRef, className, w, minW, maxW, paddingTop, style: styleProp, ...rest } = props;
3479
3482
  const resolvedW = typeof w === "object" ? w.base ?? w.lg : w;
3480
3483
  const contentStyle = {
@@ -3505,7 +3508,7 @@ var PopoverContent = React29__namespace.forwardRef(function PopoverContent2(prop
3505
3508
  }
3506
3509
  );
3507
3510
  });
3508
- var PopoverArrow = React29__namespace.forwardRef(function PopoverArrow2(props, ref) {
3511
+ var PopoverArrow = React30__namespace.forwardRef(function PopoverArrow2(props, ref) {
3509
3512
  const { className, ...rest } = props;
3510
3513
  return /* @__PURE__ */ jsxRuntime.jsx(
3511
3514
  popover.Popover.Arrow,
@@ -3517,7 +3520,7 @@ var PopoverArrow = React29__namespace.forwardRef(function PopoverArrow2(props, r
3517
3520
  }
3518
3521
  );
3519
3522
  });
3520
- var PopoverCloseTrigger = React29__namespace.forwardRef(function PopoverCloseTrigger2(props, ref) {
3523
+ var PopoverCloseTrigger = React30__namespace.forwardRef(function PopoverCloseTrigger2(props, ref) {
3521
3524
  const { className, ...rest } = props;
3522
3525
  return /* @__PURE__ */ jsxRuntime.jsx(
3523
3526
  popover.Popover.Close,
@@ -3531,14 +3534,14 @@ var PopoverCloseTrigger = React29__namespace.forwardRef(function PopoverCloseTri
3531
3534
  }
3532
3535
  );
3533
3536
  });
3534
- var PopoverCloseTriggerWrapper = React29__namespace.forwardRef(function PopoverCloseTriggerWrapper2(props, ref) {
3537
+ var PopoverCloseTriggerWrapper = React30__namespace.forwardRef(function PopoverCloseTriggerWrapper2(props, ref) {
3535
3538
  const { disabled, children, ...rest } = props;
3536
3539
  if (disabled) {
3537
3540
  return children;
3538
3541
  }
3539
3542
  return /* @__PURE__ */ jsxRuntime.jsx(popover.Popover.Close, { ref, ...rest, asChild: true, children });
3540
3543
  });
3541
- var PopoverBody = React29__namespace.forwardRef(function PopoverBody2(props, ref) {
3544
+ var PopoverBody = React30__namespace.forwardRef(function PopoverBody2(props, ref) {
3542
3545
  const {
3543
3546
  className,
3544
3547
  style: styleProp,
@@ -3576,7 +3579,7 @@ var PopoverBody = React29__namespace.forwardRef(function PopoverBody2(props, ref
3576
3579
  }
3577
3580
  );
3578
3581
  });
3579
- var PopoverHeader = React29__namespace.forwardRef(function PopoverHeader2(props, ref) {
3582
+ var PopoverHeader = React30__namespace.forwardRef(function PopoverHeader2(props, ref) {
3580
3583
  const { className, ...rest } = props;
3581
3584
  return /* @__PURE__ */ jsxRuntime.jsx(
3582
3585
  "div",
@@ -3587,7 +3590,7 @@ var PopoverHeader = React29__namespace.forwardRef(function PopoverHeader2(props,
3587
3590
  }
3588
3591
  );
3589
3592
  });
3590
- var PopoverFooter = React29__namespace.forwardRef(function PopoverFooter2(props, ref) {
3593
+ var PopoverFooter = React30__namespace.forwardRef(function PopoverFooter2(props, ref) {
3591
3594
  const { className, ...rest } = props;
3592
3595
  return /* @__PURE__ */ jsxRuntime.jsx(
3593
3596
  "div",
@@ -3598,7 +3601,7 @@ var PopoverFooter = React29__namespace.forwardRef(function PopoverFooter2(props,
3598
3601
  }
3599
3602
  );
3600
3603
  });
3601
- var PopoverTitle = React29__namespace.forwardRef(function PopoverTitle2(props, ref) {
3604
+ var PopoverTitle = React30__namespace.forwardRef(function PopoverTitle2(props, ref) {
3602
3605
  const { className, ...rest } = props;
3603
3606
  return /* @__PURE__ */ jsxRuntime.jsx(
3604
3607
  "h3",
@@ -3609,7 +3612,7 @@ var PopoverTitle = React29__namespace.forwardRef(function PopoverTitle2(props, r
3609
3612
  }
3610
3613
  );
3611
3614
  });
3612
- var PopoverDescription = React29__namespace.forwardRef(function PopoverDescription2(props, ref) {
3615
+ var PopoverDescription = React30__namespace.forwardRef(function PopoverDescription2(props, ref) {
3613
3616
  const { className, ...rest } = props;
3614
3617
  return /* @__PURE__ */ jsxRuntime.jsx(
3615
3618
  "p",
@@ -3631,7 +3634,7 @@ function normalizeValue(value, min, max) {
3631
3634
  if (max <= min) return 0;
3632
3635
  return Math.round((value - min) / (max - min) * 100);
3633
3636
  }
3634
- var Progress = React29__namespace.forwardRef(
3637
+ var Progress = React30__namespace.forwardRef(
3635
3638
  function Progress2(props, ref) {
3636
3639
  const {
3637
3640
  value,
@@ -3708,12 +3711,12 @@ var SIZE_MAP = {
3708
3711
  lg: { size: 48, thickness: 7, textClass: "text-sm" },
3709
3712
  xl: { size: 64, thickness: 8, textClass: "text-sm" }
3710
3713
  };
3711
- var Ctx = React29__namespace.createContext({
3714
+ var Ctx = React30__namespace.createContext({
3712
3715
  value: 0,
3713
3716
  size: "md",
3714
3717
  colorPalette: "blue"
3715
3718
  });
3716
- var ProgressCircleRoot = React29__namespace.forwardRef(function ProgressCircleRoot2(props, ref) {
3719
+ var ProgressCircleRoot = React30__namespace.forwardRef(function ProgressCircleRoot2(props, ref) {
3717
3720
  const {
3718
3721
  value = 0,
3719
3722
  size = "md",
@@ -3722,7 +3725,7 @@ var ProgressCircleRoot = React29__namespace.forwardRef(function ProgressCircleRo
3722
3725
  children,
3723
3726
  ...rest
3724
3727
  } = props;
3725
- const ctx = React29__namespace.useMemo(
3728
+ const ctx = React30__namespace.useMemo(
3726
3729
  () => ({ value: value ?? null, size, colorPalette }),
3727
3730
  [value, size, colorPalette]
3728
3731
  );
@@ -3740,9 +3743,9 @@ var ProgressCircleRoot = React29__namespace.forwardRef(function ProgressCircleRo
3740
3743
  }
3741
3744
  ) });
3742
3745
  });
3743
- var ProgressCircleRing = React29__namespace.forwardRef(function ProgressCircleRing2(props, ref) {
3746
+ var ProgressCircleRing = React30__namespace.forwardRef(function ProgressCircleRing2(props, ref) {
3744
3747
  const { trackColor, cap, color, className, ...rest } = props;
3745
- const { value, size: sizeKey } = React29__namespace.useContext(Ctx);
3748
+ const { value, size: sizeKey } = React30__namespace.useContext(Ctx);
3746
3749
  const { size, thickness } = SIZE_MAP[sizeKey];
3747
3750
  const radius = size / 2 - thickness / 2;
3748
3751
  const circumference = 2 * Math.PI * radius;
@@ -3797,9 +3800,9 @@ var ProgressCircleRing = React29__namespace.forwardRef(function ProgressCircleRi
3797
3800
  }
3798
3801
  );
3799
3802
  });
3800
- var ProgressCircleValueText = React29__namespace.forwardRef(function ProgressCircleValueText2(props, ref) {
3803
+ var ProgressCircleValueText = React30__namespace.forwardRef(function ProgressCircleValueText2(props, ref) {
3801
3804
  const { className, children, ...rest } = props;
3802
- const { value, size: sizeKey } = React29__namespace.useContext(Ctx);
3805
+ const { value, size: sizeKey } = React30__namespace.useContext(Ctx);
3803
3806
  const { textClass } = SIZE_MAP[sizeKey];
3804
3807
  return /* @__PURE__ */ jsxRuntime.jsx(
3805
3808
  "div",
@@ -3843,8 +3846,8 @@ var SIZE_CLASSES8 = {
3843
3846
  label: "text-base"
3844
3847
  }
3845
3848
  };
3846
- var RadioSizeContext = React29__namespace.createContext("md");
3847
- var RadioGroupBase = React29__namespace.forwardRef(
3849
+ var RadioSizeContext = React30__namespace.createContext("md");
3850
+ var RadioGroupBase = React30__namespace.forwardRef(
3848
3851
  function RadioGroup2(props, ref) {
3849
3852
  const {
3850
3853
  children,
@@ -3861,7 +3864,7 @@ var RadioGroupBase = React29__namespace.forwardRef(
3861
3864
  className,
3862
3865
  ...rest
3863
3866
  } = props;
3864
- const handleValueChange = React29__namespace.useCallback(
3867
+ const handleValueChange = React30__namespace.useCallback(
3865
3868
  (nextValue) => {
3866
3869
  if (readOnly) return;
3867
3870
  onValueChange?.({ value: nextValue });
@@ -3894,10 +3897,10 @@ var RadioGroupBase = React29__namespace.forwardRef(
3894
3897
  var RadioGroup3 = RadioGroupBase;
3895
3898
  var NOOP2 = () => {
3896
3899
  };
3897
- var RadioBase = React29__namespace.forwardRef(
3900
+ var RadioBase = React30__namespace.forwardRef(
3898
3901
  function Radio(props, ref) {
3899
3902
  const { children, inputProps, rootRef, value, disabled, className, ...rest } = props;
3900
- const size = React29__namespace.useContext(RadioSizeContext);
3903
+ const size = React30__namespace.useContext(RadioSizeContext);
3901
3904
  const sizeClasses2 = SIZE_CLASSES8[size];
3902
3905
  return /* @__PURE__ */ jsxRuntime.jsxs(
3903
3906
  "label",
@@ -3959,23 +3962,23 @@ var RadioBase = React29__namespace.forwardRef(
3959
3962
  var Radio2 = RadioBase;
3960
3963
  var StarFilledIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" }) });
3961
3964
  var StarOutlineIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z", strokeWidth: "1.5" }) });
3962
- var Rating = React29__namespace.forwardRef(
3965
+ var Rating = React30__namespace.forwardRef(
3963
3966
  function Rating2(props, ref) {
3964
3967
  const { count = 5, label: labelProp, defaultValue = 0, onValueChange, readOnly, className, ...rest } = props;
3965
- const [value, setValue] = React29__namespace.useState(defaultValue);
3966
- const [hoveredIndex, setHoveredIndex] = React29__namespace.useState(-1);
3968
+ const [value, setValue] = React30__namespace.useState(defaultValue);
3969
+ const [hoveredIndex, setHoveredIndex] = React30__namespace.useState(-1);
3967
3970
  const highlightedIndex = hoveredIndex >= 0 && !readOnly ? hoveredIndex + 1 : value;
3968
3971
  const label = Array.isArray(labelProp) ? labelProp[highlightedIndex - 1] : labelProp;
3969
- const handleClick = React29__namespace.useCallback((index) => () => {
3972
+ const handleClick = React30__namespace.useCallback((index) => () => {
3970
3973
  if (readOnly) return;
3971
3974
  setValue(index);
3972
3975
  onValueChange?.({ value: index });
3973
3976
  }, [readOnly, onValueChange]);
3974
- const handleMouseEnter = React29__namespace.useCallback((index) => () => {
3977
+ const handleMouseEnter = React30__namespace.useCallback((index) => () => {
3975
3978
  if (readOnly) return;
3976
3979
  setHoveredIndex(index);
3977
3980
  }, [readOnly]);
3978
- const handleMouseLeave = React29__namespace.useCallback(() => {
3981
+ const handleMouseLeave = React30__namespace.useCallback(() => {
3979
3982
  setHoveredIndex(-1);
3980
3983
  }, []);
3981
3984
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("inline-flex items-center gap-1", className), ...rest, children: [
@@ -4009,8 +4012,8 @@ function createListCollection(config) {
4009
4012
  var ArrowIcon2 = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 15L12.5 10L7.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) });
4010
4013
  var CheckIcon2 = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.667 5L7.5 14.167 3.333 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) });
4011
4014
  function FilterInput({ placeholder, initialValue = "", onChange }) {
4012
- const [value, setValue] = React29__namespace.useState(initialValue);
4013
- const handleChange = React29__namespace.useCallback((e) => {
4015
+ const [value, setValue] = React30__namespace.useState(initialValue);
4016
+ const handleChange = React30__namespace.useCallback((e) => {
4014
4017
  setValue(e.target.value);
4015
4018
  onChange?.(e.target.value);
4016
4019
  }, [onChange]);
@@ -4029,15 +4032,15 @@ function FilterInput({ placeholder, initialValue = "", onChange }) {
4029
4032
  }
4030
4033
  );
4031
4034
  }
4032
- var SelectInternalContext = React29__namespace.createContext(null);
4035
+ var SelectInternalContext = React30__namespace.createContext(null);
4033
4036
  function useSelectInternalContext() {
4034
- const ctx = React29__namespace.useContext(SelectInternalContext);
4037
+ const ctx = React30__namespace.useContext(SelectInternalContext);
4035
4038
  if (!ctx) {
4036
4039
  throw new Error("Select compound components must be rendered inside <SelectRoot>");
4037
4040
  }
4038
4041
  return ctx;
4039
4042
  }
4040
- var SelectRoot = React29__namespace.forwardRef(
4043
+ var SelectRoot = React30__namespace.forwardRef(
4041
4044
  function SelectRoot2(props, ref) {
4042
4045
  const {
4043
4046
  children,
@@ -4068,21 +4071,21 @@ var SelectRoot = React29__namespace.forwardRef(
4068
4071
  hideFrom: _hideFrom
4069
4072
  } = props;
4070
4073
  const collection = collectionProp ?? createListCollection({ items: [] });
4071
- const [internalValue, setInternalValue] = React29__namespace.useState(defaultValueArr ?? []);
4074
+ const [internalValue, setInternalValue] = React30__namespace.useState(defaultValueArr ?? []);
4072
4075
  const currentValue = valueProp ?? internalValue;
4073
- const selectedItems = React29__namespace.useMemo(() => {
4076
+ const selectedItems = React30__namespace.useMemo(() => {
4074
4077
  return currentValue.map((v) => collection.items.find((item) => item.value === v)).filter(Boolean);
4075
4078
  }, [currentValue, collection.items]);
4076
- const [open, setOpen] = React29__namespace.useState(defaultOpen ?? false);
4079
+ const [open, setOpen] = React30__namespace.useState(defaultOpen ?? false);
4077
4080
  const isOpen = openProp ?? open;
4078
- const handleOpenChange = React29__namespace.useCallback((nextOpen) => {
4081
+ const handleOpenChange = React30__namespace.useCallback((nextOpen) => {
4079
4082
  setOpen(nextOpen);
4080
4083
  onOpenChange?.(nextOpen);
4081
4084
  if (!nextOpen) {
4082
4085
  onInteractOutside?.();
4083
4086
  }
4084
4087
  }, [onOpenChange, onInteractOutside]);
4085
- const handleRadixValueChange = React29__namespace.useCallback((radixValue) => {
4088
+ const handleRadixValueChange = React30__namespace.useCallback((radixValue) => {
4086
4089
  const nextArr = [radixValue];
4087
4090
  if (!valueProp) {
4088
4091
  setInternalValue(nextArr);
@@ -4090,7 +4093,7 @@ var SelectRoot = React29__namespace.forwardRef(
4090
4093
  const items = collection.items.filter((item) => nextArr.includes(item.value));
4091
4094
  onValueChangeProp?.({ value: nextArr, items });
4092
4095
  }, [valueProp, collection.items, onValueChangeProp]);
4093
- const ctxValue = React29__namespace.useMemo(() => ({
4096
+ const ctxValue = React30__namespace.useMemo(() => ({
4094
4097
  value: currentValue,
4095
4098
  selectedItems,
4096
4099
  collection,
@@ -4110,7 +4113,7 @@ var SelectRoot = React29__namespace.forwardRef(
4110
4113
  if (typeof v === "string") return v;
4111
4114
  return v.base ?? v.lg ?? Object.values(v)[0];
4112
4115
  };
4113
- const inlineStyle = React29__namespace.useMemo(() => {
4116
+ const inlineStyle = React30__namespace.useMemo(() => {
4114
4117
  const s = { ...style };
4115
4118
  const rw = resolveVal(w);
4116
4119
  if (rw) s.width = rw;
@@ -4148,7 +4151,7 @@ var SelectRoot = React29__namespace.forwardRef(
4148
4151
  ) });
4149
4152
  }
4150
4153
  );
4151
- var SelectControl = React29__namespace.forwardRef(
4154
+ var SelectControl = React30__namespace.forwardRef(
4152
4155
  function SelectControl2(props, ref) {
4153
4156
  const { children, noIndicator, triggerProps, loading, defaultValue } = props;
4154
4157
  const ctx = useSelectInternalContext();
@@ -4185,11 +4188,11 @@ var SelectControl = React29__namespace.forwardRef(
4185
4188
  return trigger;
4186
4189
  }
4187
4190
  );
4188
- var SelectClearTrigger = React29__namespace.forwardRef(
4191
+ var SelectClearTrigger = React30__namespace.forwardRef(
4189
4192
  function SelectClearTrigger2(props, ref) {
4190
4193
  const { className, ...rest } = props;
4191
4194
  const ctx = useSelectInternalContext();
4192
- const handleClick = React29__namespace.useCallback(() => {
4195
+ const handleClick = React30__namespace.useCallback(() => {
4193
4196
  ctx.onValueChange({ value: [], items: [] });
4194
4197
  }, [ctx]);
4195
4198
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4206,7 +4209,7 @@ var SelectClearTrigger = React29__namespace.forwardRef(
4206
4209
  );
4207
4210
  }
4208
4211
  );
4209
- var SelectContent = React29__namespace.forwardRef(
4212
+ var SelectContent = React30__namespace.forwardRef(
4210
4213
  function SelectContent2(props, ref) {
4211
4214
  const { portalled = true, portalRef, children, className, ...rest } = props;
4212
4215
  const content = /* @__PURE__ */ jsxRuntime.jsx(
@@ -4233,7 +4236,7 @@ var SelectContent = React29__namespace.forwardRef(
4233
4236
  return content;
4234
4237
  }
4235
4238
  );
4236
- var SelectItem = React29__namespace.forwardRef(
4239
+ var SelectItem = React30__namespace.forwardRef(
4237
4240
  function SelectItem2(props, ref) {
4238
4241
  const { item, children, className, ...rest } = props;
4239
4242
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -4261,7 +4264,7 @@ var SelectItem = React29__namespace.forwardRef(
4261
4264
  );
4262
4265
  }
4263
4266
  );
4264
- var SelectValueText = React29__namespace.forwardRef(
4267
+ var SelectValueText = React30__namespace.forwardRef(
4265
4268
  function SelectValueText2(props, ref) {
4266
4269
  const { children, size, required, invalid, errorText, mode, className, style, placeholder: placeholderProp, ...rest } = props;
4267
4270
  const ctx = useSelectInternalContext();
@@ -4317,7 +4320,7 @@ var SelectValueText = React29__namespace.forwardRef(
4317
4320
  );
4318
4321
  }
4319
4322
  );
4320
- var SelectItemGroup = React29__namespace.forwardRef(
4323
+ var SelectItemGroup = React30__namespace.forwardRef(
4321
4324
  function SelectItemGroup2(props, ref) {
4322
4325
  const { children, label, className, ...rest } = props;
4323
4326
  return /* @__PURE__ */ jsxRuntime.jsxs(RadixSelect__namespace.Group, { ref, className: cn("py-1", className), ...rest, children: [
@@ -4328,7 +4331,7 @@ var SelectItemGroup = React29__namespace.forwardRef(
4328
4331
  );
4329
4332
  var SelectLabel = RadixSelect__namespace.Label;
4330
4333
  var SelectItemText = RadixSelect__namespace.ItemText;
4331
- var Select = React29__namespace.forwardRef((props, ref) => {
4334
+ var Select = React30__namespace.forwardRef((props, ref) => {
4332
4335
  const { collection, placeholder, portalled = true, loading, errorText, contentProps, contentHeader, itemFilter, mode, ...rest } = props;
4333
4336
  return /* @__PURE__ */ jsxRuntime.jsxs(
4334
4337
  SelectRoot,
@@ -4350,7 +4353,7 @@ var Select = React29__namespace.forwardRef((props, ref) => {
4350
4353
  ) }),
4351
4354
  /* @__PURE__ */ jsxRuntime.jsxs(SelectContent, { portalled, ...contentProps, children: [
4352
4355
  contentHeader,
4353
- collection.items.filter(itemFilter ?? (() => true)).map((item) => /* @__PURE__ */ jsxRuntime.jsxs(React29__namespace.Fragment, { children: [
4356
+ collection.items.filter(itemFilter ?? (() => true)).map((item) => /* @__PURE__ */ jsxRuntime.jsxs(React30__namespace.Fragment, { children: [
4354
4357
  /* @__PURE__ */ jsxRuntime.jsx(SelectItem, { item, children: item.renderLabel ? item.renderLabel("item") : item.label }),
4355
4358
  item.afterElement
4356
4359
  ] }, item.value))
@@ -4359,19 +4362,19 @@ var Select = React29__namespace.forwardRef((props, ref) => {
4359
4362
  }
4360
4363
  );
4361
4364
  });
4362
- var SelectAsync = React29__namespace.forwardRef((props, ref) => {
4365
+ var SelectAsync = React30__namespace.forwardRef((props, ref) => {
4363
4366
  const { placeholder, portalled = true, loading, loadOptions, extraControls, onValueChange, errorText, mode, contentHeader, ...rest } = props;
4364
- const [collection, setCollection] = React29__namespace.useState(createListCollection({ items: [] }));
4365
- const [inputValue, setInputValue] = React29__namespace.useState("");
4366
- const [value, setValue] = React29__namespace.useState([]);
4367
+ const [collection, setCollection] = React30__namespace.useState(createListCollection({ items: [] }));
4368
+ const [inputValue, setInputValue] = React30__namespace.useState("");
4369
+ const [value, setValue] = React30__namespace.useState([]);
4367
4370
  const debouncedInputValue = usehooks.useDebounce(inputValue, 300);
4368
- React29__namespace.useEffect(() => {
4371
+ React30__namespace.useEffect(() => {
4369
4372
  loadOptions(debouncedInputValue, value).then(setCollection);
4370
4373
  }, [debouncedInputValue, loadOptions, value]);
4371
- const handleFilterChange = React29__namespace.useCallback((val) => {
4374
+ const handleFilterChange = React30__namespace.useCallback((val) => {
4372
4375
  setInputValue(val);
4373
4376
  }, []);
4374
- const handleValueChange = React29__namespace.useCallback(({ value: v, items }) => {
4377
+ const handleValueChange = React30__namespace.useCallback(({ value: v, items }) => {
4375
4378
  setValue(v);
4376
4379
  onValueChange?.({ value: v, items });
4377
4380
  }, [onValueChange]);
@@ -4430,7 +4433,7 @@ var VERTICAL_SIZE_CLASSES = {
4430
4433
  md: "border-l-2",
4431
4434
  lg: "border-l-[3px]"
4432
4435
  };
4433
- var Separator2 = React29__namespace.default.forwardRef(
4436
+ var Separator2 = React30__namespace.default.forwardRef(
4434
4437
  function Separator3({ orientation = "horizontal", variant = "solid", size = "sm", className, ...rest }, ref) {
4435
4438
  const isVertical = orientation === "vertical";
4436
4439
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4454,7 +4457,7 @@ var Separator2 = React29__namespace.default.forwardRef(
4454
4457
  );
4455
4458
  var THUMB_SIZE = 20;
4456
4459
  var TRACK_HEIGHT = 6;
4457
- var Slider = React29__namespace.forwardRef(
4460
+ var Slider = React30__namespace.forwardRef(
4458
4461
  function Slider2(props, ref) {
4459
4462
  const {
4460
4463
  marks: marksProp,
@@ -4573,7 +4576,7 @@ var SIZE_CLASSES9 = {
4573
4576
  label: "text-base"
4574
4577
  }
4575
4578
  };
4576
- var SwitchBase = React29__namespace.forwardRef(
4579
+ var SwitchBase = React30__namespace.forwardRef(
4577
4580
  function Switch(props, ref) {
4578
4581
  const {
4579
4582
  inputProps,
@@ -4592,10 +4595,10 @@ var SwitchBase = React29__namespace.forwardRef(
4592
4595
  className,
4593
4596
  ...rest
4594
4597
  } = props;
4595
- const [internalChecked, setInternalChecked] = React29__namespace.useState(defaultChecked ?? false);
4598
+ const [internalChecked, setInternalChecked] = React30__namespace.useState(defaultChecked ?? false);
4596
4599
  const isControlled = checkedProp !== void 0;
4597
4600
  const checkedState = isControlled ? checkedProp : internalChecked;
4598
- const handleCheckedChange = React29__namespace.useCallback(
4601
+ const handleCheckedChange = React30__namespace.useCallback(
4599
4602
  (nextChecked) => {
4600
4603
  if (!isControlled) {
4601
4604
  setInternalChecked(nextChecked);
@@ -4860,7 +4863,7 @@ function resolveResponsive(value) {
4860
4863
  }
4861
4864
  return void 0;
4862
4865
  }
4863
- var TableRoot = React29__namespace.forwardRef(
4866
+ var TableRoot = React30__namespace.forwardRef(
4864
4867
  function TableRoot2(props, ref) {
4865
4868
  const { className, style: styleProp, children, ...other } = props;
4866
4869
  const rawMinW = other.minWidth ?? other.minW;
@@ -4883,7 +4886,7 @@ var TableRoot = React29__namespace.forwardRef(
4883
4886
  );
4884
4887
  }
4885
4888
  );
4886
- var TableHeader = React29__namespace.forwardRef(
4889
+ var TableHeader = React30__namespace.forwardRef(
4887
4890
  function TableHeader2(props, ref) {
4888
4891
  const { className, style: styleProp, children, ...other } = props;
4889
4892
  const { style: extracted, rest } = extractStyles(other);
@@ -4900,7 +4903,7 @@ var TableHeader = React29__namespace.forwardRef(
4900
4903
  );
4901
4904
  }
4902
4905
  );
4903
- var TableBody = React29__namespace.forwardRef(
4906
+ var TableBody = React30__namespace.forwardRef(
4904
4907
  function TableBody2(props, ref) {
4905
4908
  const { className, style: styleProp, children, ...other } = props;
4906
4909
  const { style: extracted, rest } = extractStyles(other);
@@ -4917,7 +4920,7 @@ var TableBody = React29__namespace.forwardRef(
4917
4920
  );
4918
4921
  }
4919
4922
  );
4920
- var TableRow = React29__namespace.forwardRef(
4923
+ var TableRow = React30__namespace.forwardRef(
4921
4924
  function TableRow2(props, ref) {
4922
4925
  const { className, style: styleProp, children, ...other } = props;
4923
4926
  const { style: extracted, rest } = extractStyles(other);
@@ -4934,7 +4937,7 @@ var TableRow = React29__namespace.forwardRef(
4934
4937
  );
4935
4938
  }
4936
4939
  );
4937
- var TableCell = React29__namespace.forwardRef(
4940
+ var TableCell = React30__namespace.forwardRef(
4938
4941
  function TableCell2(props, ref) {
4939
4942
  const { isNumeric, className, style: styleProp, children, ...other } = props;
4940
4943
  const { style: extracted, rest } = extractStyles(other);
@@ -4955,7 +4958,7 @@ var TableCell = React29__namespace.forwardRef(
4955
4958
  );
4956
4959
  }
4957
4960
  );
4958
- var TableColumnHeader = React29__namespace.forwardRef(
4961
+ var TableColumnHeader = React30__namespace.forwardRef(
4959
4962
  function TableColumnHeader2(props, ref) {
4960
4963
  const { isNumeric, className, style: styleProp, children, ...other } = props;
4961
4964
  const { style: extracted, rest } = extractStyles(other);
@@ -4982,7 +4985,7 @@ var TableColumnHeader = React29__namespace.forwardRef(
4982
4985
  );
4983
4986
  var TableColumnHeaderSortable = (props) => {
4984
4987
  const { sortField, sortValue, onSortToggle, children, disabled, indicatorPosition = "left", contentAfter, ...rest } = props;
4985
- const handleSortToggle = React29__namespace.useCallback(() => {
4988
+ const handleSortToggle = React30__namespace.useCallback(() => {
4986
4989
  onSortToggle(sortField);
4987
4990
  }, [onSortToggle, sortField]);
4988
4991
  const isActive = sortValue.includes(sortField);
@@ -5008,16 +5011,16 @@ var TableColumnHeaderSortable = (props) => {
5008
5011
  var ACTION_BAR_SHADOW = "0 4px 4px -4px rgb(0 0 0 / 10%), 0 2px 4px -4px rgb(0 0 0 / 6%)";
5009
5012
  var TableHeaderSticky = (props) => {
5010
5013
  const { top, children, className, style: styleProp, ...rest } = props;
5011
- const ref = React29__namespace.useRef(null);
5012
- const [isStuck, setIsStuck] = React29__namespace.useState(false);
5013
- const handleScroll = React29__namespace.useCallback(() => {
5014
+ const ref = React30__namespace.useRef(null);
5015
+ const [isStuck, setIsStuck] = React30__namespace.useState(false);
5016
+ const handleScroll = React30__namespace.useCallback(() => {
5014
5017
  if (Number(ref.current?.getBoundingClientRect().y) <= (Number(top) || 0)) {
5015
5018
  setIsStuck(true);
5016
5019
  } else {
5017
5020
  setIsStuck(false);
5018
5021
  }
5019
5022
  }, [top]);
5020
- React29__namespace.useEffect(() => {
5023
+ React30__namespace.useEffect(() => {
5021
5024
  const throttledHandleScroll = esToolkit.throttle(handleScroll, 300);
5022
5025
  window.addEventListener("scroll", throttledHandleScroll);
5023
5026
  return () => {
@@ -5039,7 +5042,7 @@ var TableHeaderSticky = (props) => {
5039
5042
  }
5040
5043
  );
5041
5044
  };
5042
- var TableCaption = React29__namespace.forwardRef(
5045
+ var TableCaption = React30__namespace.forwardRef(
5043
5046
  function TableCaption2(props, ref) {
5044
5047
  const { className, style: styleProp, children, ...other } = props;
5045
5048
  const { style: extracted, rest } = extractStyles(other);
@@ -5056,7 +5059,7 @@ var TableCaption = React29__namespace.forwardRef(
5056
5059
  );
5057
5060
  }
5058
5061
  );
5059
- var TableFooter = React29__namespace.forwardRef(
5062
+ var TableFooter = React30__namespace.forwardRef(
5060
5063
  function TableFooter2(props, ref) {
5061
5064
  const { className, style: styleProp, children, ...other } = props;
5062
5065
  const { style: extracted, rest } = extractStyles(other);
@@ -5073,7 +5076,7 @@ var TableFooter = React29__namespace.forwardRef(
5073
5076
  );
5074
5077
  }
5075
5078
  );
5076
- var TableScrollWrapper = React29__namespace.forwardRef(
5079
+ var TableScrollWrapper = React30__namespace.forwardRef(
5077
5080
  function TableScrollWrapper2(props, ref) {
5078
5081
  const { className, children, ...rest } = props;
5079
5082
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -5092,7 +5095,7 @@ var ROOT_SIZE_CLASSES = {
5092
5095
  md: "[--tabs-height:2.5rem] [--tabs-content-padding:1.5rem]",
5093
5096
  free: ""
5094
5097
  };
5095
- var TabsRoot = React29__namespace.forwardRef(
5098
+ var TabsRoot = React30__namespace.forwardRef(
5096
5099
  function TabsRoot2(props, ref) {
5097
5100
  const {
5098
5101
  variant = "solid",
@@ -5104,7 +5107,7 @@ var TabsRoot = React29__namespace.forwardRef(
5104
5107
  className,
5105
5108
  ...rest
5106
5109
  } = props;
5107
- const handleValueChange = React29__namespace.useCallback(
5110
+ const handleValueChange = React30__namespace.useCallback(
5108
5111
  (value) => {
5109
5112
  if (!onValueChange) return;
5110
5113
  onValueChange({ value });
@@ -5129,7 +5132,7 @@ var TabsRoot = React29__namespace.forwardRef(
5129
5132
  );
5130
5133
  }
5131
5134
  );
5132
- var TabsList = React29__namespace.forwardRef(
5135
+ var TabsList = React30__namespace.forwardRef(
5133
5136
  function TabsList2(props, ref) {
5134
5137
  const {
5135
5138
  className,
@@ -5183,7 +5186,7 @@ var TRIGGER_VARIANT_CLASSES = {
5183
5186
  segmented: "bg-transparent text-text-primary border-2 border-solid border-selected-control-bg hover:text-hover data-[state=active]:text-selected-control-text data-[state=active]:bg-selected-control-bg data-[state=active]:border-selected-control-bg data-[state=active]:hover:text-selected-control-text",
5184
5187
  unstyled: ""
5185
5188
  };
5186
- var TabsTrigger = React29__namespace.forwardRef(
5189
+ var TabsTrigger = React30__namespace.forwardRef(
5187
5190
  function TabsTrigger2(props, ref) {
5188
5191
  const {
5189
5192
  className,
@@ -5203,7 +5206,7 @@ var TabsTrigger = React29__namespace.forwardRef(
5203
5206
  visibility: _visibility,
5204
5207
  ...rest
5205
5208
  } = props;
5206
- const internalRef = React29__namespace.useRef(null);
5209
+ const internalRef = React30__namespace.useRef(null);
5207
5210
  const mergedRef = useMergedRef(ref, internalRef);
5208
5211
  const { variant, size, fitted } = useTabsContext(internalRef);
5209
5212
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -5223,7 +5226,7 @@ var TabsTrigger = React29__namespace.forwardRef(
5223
5226
  );
5224
5227
  }
5225
5228
  );
5226
- var TabsContent = React29__namespace.forwardRef(
5229
+ var TabsContent = React30__namespace.forwardRef(
5227
5230
  function TabsContent2(props, ref) {
5228
5231
  const { className, padding: _padding, ...rest } = props;
5229
5232
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -5257,8 +5260,8 @@ var TabsCounter = ({ count }) => {
5257
5260
  );
5258
5261
  };
5259
5262
  function useTabsContext(triggerRef) {
5260
- const [ctx, setCtx] = React29__namespace.useState({ variant: "solid", size: "md", fitted: false });
5261
- React29__namespace.useEffect(() => {
5263
+ const [ctx, setCtx] = React30__namespace.useState({ variant: "solid", size: "md", fitted: false });
5264
+ React30__namespace.useEffect(() => {
5262
5265
  const el = triggerRef.current;
5263
5266
  if (!el) return;
5264
5267
  const root = el.closest("[data-variant]");
@@ -5272,7 +5275,7 @@ function useTabsContext(triggerRef) {
5272
5275
  return ctx;
5273
5276
  }
5274
5277
  function useMergedRef(...refs) {
5275
- return React29__namespace.useCallback(
5278
+ return React30__namespace.useCallback(
5276
5279
  (instance) => {
5277
5280
  for (const ref of refs) {
5278
5281
  if (!ref) continue;
@@ -5310,7 +5313,7 @@ var TAG_SELECTED_CLASSES = [
5310
5313
  "hover:opacity-76"
5311
5314
  ].join(" ");
5312
5315
  var TAG_DISABLED_CLASSES = "opacity-40 pointer-events-none cursor-not-allowed";
5313
- var Tag = React29__namespace.forwardRef(
5316
+ var Tag = React30__namespace.forwardRef(
5314
5317
  function Tag2(props, ref) {
5315
5318
  const {
5316
5319
  variant,
@@ -5397,7 +5400,7 @@ var TEXTAREA_VARIANT_CLASSES = {
5397
5400
  filled: "border-0 bg-[var(--color-input-filled-bg,theme(colors.gray.100))]",
5398
5401
  unstyled: "border-0 bg-transparent p-0"
5399
5402
  };
5400
- var Textarea = React29__namespace.default.forwardRef(
5403
+ var Textarea = React30__namespace.default.forwardRef(
5401
5404
  ({ size = "md", variant = "outline", className, ...rest }, ref) => {
5402
5405
  return /* @__PURE__ */ jsxRuntime.jsx(
5403
5406
  "textarea",
@@ -5533,7 +5536,7 @@ function QuoteCell({ value, highlight, align = "right", onClick, className }) {
5533
5536
  }
5534
5537
  var CALL_HEADERS = ["Bid", "Ask", "Last", "Vol", "OI", "IV", "Delta"];
5535
5538
  var PUT_HEADERS = ["Delta", "IV", "OI", "Vol", "Last", "Ask", "Bid"];
5536
- var OptionChain = React29__namespace.forwardRef(
5539
+ var OptionChain = React30__namespace.forwardRef(
5537
5540
  function OptionChain2(props, ref) {
5538
5541
  const {
5539
5542
  symbol: _symbol,
@@ -5544,7 +5547,7 @@ var OptionChain = React29__namespace.forwardRef(
5544
5547
  className,
5545
5548
  ...rest
5546
5549
  } = props;
5547
- const handleClick = React29__namespace.useCallback(
5550
+ const handleClick = React30__namespace.useCallback(
5548
5551
  (quote, type, strike) => {
5549
5552
  if (!quote || !onSelectContract) return;
5550
5553
  onSelectContract({
@@ -5724,7 +5727,7 @@ function GreekItem({ def, value, compact }) {
5724
5727
  }
5725
5728
  );
5726
5729
  }
5727
- var GreeksDisplay = React29__namespace.forwardRef(
5730
+ var GreeksDisplay = React30__namespace.forwardRef(
5728
5731
  function GreeksDisplay2(props, ref) {
5729
5732
  const {
5730
5733
  delta,
@@ -5955,7 +5958,7 @@ function LegRow({ leg, index, strikes, expirations, removable, onChange, onRemov
5955
5958
  )
5956
5959
  ] });
5957
5960
  }
5958
- var StrategyBuilder = React29__namespace.forwardRef(
5961
+ var StrategyBuilder = React30__namespace.forwardRef(
5959
5962
  function StrategyBuilder2(props, ref) {
5960
5963
  const {
5961
5964
  underlying,
@@ -5967,12 +5970,12 @@ var StrategyBuilder = React29__namespace.forwardRef(
5967
5970
  ...rest
5968
5971
  } = props;
5969
5972
  const defaultExp = expirations[0] ?? "";
5970
- const [strategyType, setStrategyType] = React29__namespace.useState("bull_call_spread");
5971
- const [legs, setLegs] = React29__namespace.useState(() => {
5973
+ const [strategyType, setStrategyType] = React30__namespace.useState("bull_call_spread");
5974
+ const [legs, setLegs] = React30__namespace.useState(() => {
5972
5975
  const preset = STRATEGY_PRESETS.find((p) => p.value === "bull_call_spread");
5973
5976
  return preset ? preset.buildLegs(strikes, spotPrice, defaultExp) : [];
5974
5977
  });
5975
- const handleStrategyChange = React29__namespace.useCallback(
5978
+ const handleStrategyChange = React30__namespace.useCallback(
5976
5979
  (e) => {
5977
5980
  const type = e.target.value;
5978
5981
  setStrategyType(type);
@@ -5983,7 +5986,7 @@ var StrategyBuilder = React29__namespace.forwardRef(
5983
5986
  },
5984
5987
  [strikes, spotPrice, defaultExp]
5985
5988
  );
5986
- const handleLegChange = React29__namespace.useCallback(
5989
+ const handleLegChange = React30__namespace.useCallback(
5987
5990
  (index, leg) => {
5988
5991
  setLegs((prev) => {
5989
5992
  const next = [...prev];
@@ -5993,13 +5996,13 @@ var StrategyBuilder = React29__namespace.forwardRef(
5993
5996
  },
5994
5997
  []
5995
5998
  );
5996
- const handleLegRemove = React29__namespace.useCallback(
5999
+ const handleLegRemove = React30__namespace.useCallback(
5997
6000
  (index) => {
5998
6001
  setLegs((prev) => prev.filter((_, i) => i !== index));
5999
6002
  },
6000
6003
  []
6001
6004
  );
6002
- const handleAddLeg = React29__namespace.useCallback(() => {
6005
+ const handleAddLeg = React30__namespace.useCallback(() => {
6003
6006
  if (legs.length >= 4) return;
6004
6007
  const atm = findATM(strikes, spotPrice);
6005
6008
  setLegs((prev) => [
@@ -6007,14 +6010,14 @@ var StrategyBuilder = React29__namespace.forwardRef(
6007
6010
  { action: "buy", type: "call", strike: atm, expiration: defaultExp, quantity: 1 }
6008
6011
  ]);
6009
6012
  }, [legs.length, strikes, spotPrice, defaultExp]);
6010
- const netPremium = React29__namespace.useMemo(() => {
6013
+ const netPremium = React30__namespace.useMemo(() => {
6011
6014
  return legs.reduce((sum, leg) => {
6012
6015
  if (leg.premium === void 0) return sum;
6013
6016
  const sign = leg.action === "buy" ? -1 : 1;
6014
6017
  return sum + sign * leg.premium * leg.quantity;
6015
6018
  }, 0);
6016
6019
  }, [legs]);
6017
- const handleSubmit = React29__namespace.useCallback(() => {
6020
+ const handleSubmit = React30__namespace.useCallback(() => {
6018
6021
  if (!onSubmit || legs.length === 0) return;
6019
6022
  onSubmit({
6020
6023
  type: strategyType,
@@ -6135,7 +6138,7 @@ function buildPath(points, vb, width, height) {
6135
6138
  return parts.join(" ");
6136
6139
  }
6137
6140
  var LEG_COLORS = ["#6366f1", "#f59e0b", "#ec4899", "#06b6d4"];
6138
- var PnlDiagram = React29__namespace.forwardRef(
6141
+ var PnlDiagram = React30__namespace.forwardRef(
6139
6142
  function PnlDiagram2(props, ref) {
6140
6143
  const {
6141
6144
  legs,
@@ -6144,10 +6147,10 @@ var PnlDiagram = React29__namespace.forwardRef(
6144
6147
  className,
6145
6148
  ...rest
6146
6149
  } = props;
6147
- const containerRef = React29__namespace.useRef(null);
6148
- const [hoverX, setHoverX] = React29__namespace.useState(null);
6149
- const [dims, setDims] = React29__namespace.useState({ width: 600, height: 240 });
6150
- React29__namespace.useEffect(() => {
6150
+ const containerRef = React30__namespace.useRef(null);
6151
+ const [hoverX, setHoverX] = React30__namespace.useState(null);
6152
+ const [dims, setDims] = React30__namespace.useState({ width: 600, height: 240 });
6153
+ React30__namespace.useEffect(() => {
6151
6154
  const el = containerRef.current;
6152
6155
  if (!el) return;
6153
6156
  const observer = new ResizeObserver((entries) => {
@@ -6170,7 +6173,7 @@ var PnlDiagram = React29__namespace.forwardRef(
6170
6173
  const xMax = maxStrike + range * 0.3;
6171
6174
  const SAMPLES = 200;
6172
6175
  const step = (xMax - xMin) / SAMPLES;
6173
- const combinedPoints = React29__namespace.useMemo(() => {
6176
+ const combinedPoints = React30__namespace.useMemo(() => {
6174
6177
  const pts = [];
6175
6178
  for (let i = 0; i <= SAMPLES; i++) {
6176
6179
  const price = xMin + i * step;
@@ -6178,7 +6181,7 @@ var PnlDiagram = React29__namespace.forwardRef(
6178
6181
  }
6179
6182
  return pts;
6180
6183
  }, [legs, multiplier, xMin, step]);
6181
- const legPointSets = React29__namespace.useMemo(() => {
6184
+ const legPointSets = React30__namespace.useMemo(() => {
6182
6185
  return legs.map((leg) => {
6183
6186
  const pts = [];
6184
6187
  for (let i = 0; i <= SAMPLES; i++) {
@@ -6199,7 +6202,7 @@ var PnlDiagram = React29__namespace.forwardRef(
6199
6202
  const chartH = height - PADDING.top - PADDING.bottom;
6200
6203
  const scaleX = (x) => PADDING.left + (x - vb.xMin) / (vb.xMax - vb.xMin) * chartW;
6201
6204
  const scaleY = (y) => PADDING.top + chartH - (y - vb.yMin) / (vb.yMax - vb.yMin) * chartH;
6202
- const breakevens = React29__namespace.useMemo(() => {
6205
+ const breakevens = React30__namespace.useMemo(() => {
6203
6206
  const pts = [];
6204
6207
  for (let i = 1; i < combinedPoints.length; i++) {
6205
6208
  const prev = combinedPoints[i - 1];
@@ -6216,7 +6219,7 @@ var PnlDiagram = React29__namespace.forwardRef(
6216
6219
  const maxGainPoint = combinedPoints.find((p) => p.y === maxGain);
6217
6220
  const maxLossPoint = combinedPoints.find((p) => p.y === maxLoss);
6218
6221
  const zeroY = scaleY(0);
6219
- const handleMouseMove = React29__namespace.useCallback(
6222
+ const handleMouseMove = React30__namespace.useCallback(
6220
6223
  (e) => {
6221
6224
  const rect = e.currentTarget.getBoundingClientRect();
6222
6225
  const mouseX = e.clientX - rect.left;
@@ -6229,7 +6232,7 @@ var PnlDiagram = React29__namespace.forwardRef(
6229
6232
  },
6230
6233
  [vb.xMin, vb.xMax, chartW]
6231
6234
  );
6232
- const handleMouseLeave = React29__namespace.useCallback(() => setHoverX(null), []);
6235
+ const handleMouseLeave = React30__namespace.useCallback(() => setHoverX(null), []);
6233
6236
  const hoverPnl = hoverX !== null ? calcTotalPnl(legs, hoverX, multiplier) : null;
6234
6237
  buildPath(
6235
6238
  combinedPoints.map((p) => ({ x: scaleX(p.x), y: scaleY(p.y) })).map((p) => ({ x: p.x - PADDING.left, y: p.y - PADDING.top })),
@@ -6533,7 +6536,7 @@ function formatDate(date) {
6533
6536
  const d = new Date(date);
6534
6537
  return d.toLocaleDateString("en-US", { month: "short", day: "numeric" });
6535
6538
  }
6536
- var OptionPositionCard = React29__namespace.forwardRef(
6539
+ var OptionPositionCard = React30__namespace.forwardRef(
6537
6540
  function OptionPositionCard2(props, ref) {
6538
6541
  const {
6539
6542
  position,
@@ -6695,7 +6698,7 @@ function ExpirationPill({ exp, isSelected, onClick }) {
6695
6698
  }
6696
6699
  );
6697
6700
  }
6698
- var ExpirationSelector = React29__namespace.forwardRef(
6701
+ var ExpirationSelector = React30__namespace.forwardRef(
6699
6702
  function ExpirationSelector2(props, ref) {
6700
6703
  const {
6701
6704
  expirations,
@@ -6705,8 +6708,8 @@ var ExpirationSelector = React29__namespace.forwardRef(
6705
6708
  className,
6706
6709
  ...rest
6707
6710
  } = props;
6708
- const scrollRef = React29__namespace.useRef(null);
6709
- React29__namespace.useEffect(() => {
6711
+ const scrollRef = React30__namespace.useRef(null);
6712
+ React30__namespace.useEffect(() => {
6710
6713
  const container = scrollRef.current;
6711
6714
  if (!container) return;
6712
6715
  const selectedEl = container.querySelector('[data-selected="true"]');