@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.
- package/dist/accordion.d.cts +74 -0
- package/dist/accordion.d.ts +74 -0
- package/dist/alert.d.cts +30 -0
- package/dist/alert.d.ts +30 -0
- package/dist/avatar.d.cts +25 -0
- package/dist/avatar.d.ts +25 -0
- package/dist/badge.d.cts +19 -0
- package/dist/badge.d.ts +19 -0
- package/dist/bank.d.cts +76 -0
- package/dist/bank.d.ts +76 -0
- package/dist/button.d.cts +55 -0
- package/dist/button.d.ts +55 -0
- package/dist/checkbox.d.cts +31 -0
- package/dist/checkbox.d.ts +31 -0
- package/dist/close-button.d.cts +9 -0
- package/dist/close-button.d.ts +9 -0
- package/dist/collapsible.d.cts +23 -0
- package/dist/collapsible.d.ts +23 -0
- package/dist/color-mode.d.cts +25 -0
- package/dist/color-mode.d.ts +25 -0
- package/dist/dialog.d.cts +65 -0
- package/dist/dialog.d.ts +65 -0
- package/dist/drawer.d.cts +36 -0
- package/dist/drawer.d.ts +36 -0
- package/dist/empty-state.d.cts +13 -0
- package/dist/empty-state.d.ts +13 -0
- package/dist/expiration-selector.d.cts +16 -0
- package/dist/expiration-selector.d.ts +16 -0
- package/dist/field.d.cts +24 -0
- package/dist/field.d.ts +24 -0
- package/dist/greeks-display.d.cts +14 -0
- package/dist/greeks-display.d.ts +14 -0
- package/dist/heading.d.cts +10 -0
- package/dist/heading.d.ts +10 -0
- package/dist/icon-button.d.cts +33 -0
- package/dist/icon-button.d.ts +33 -0
- package/dist/image.d.cts +57 -0
- package/dist/image.d.ts +57 -0
- package/dist/index.cjs +278 -275
- package/dist/index.d.cts +56 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.js +278 -275
- package/dist/input-group.d.cts +17 -0
- package/dist/input-group.d.ts +17 -0
- package/dist/input.d.cts +11 -0
- package/dist/input.d.ts +11 -0
- package/dist/link.d.cts +37 -0
- package/dist/link.d.ts +37 -0
- package/dist/menu.d.cts +84 -0
- package/dist/menu.d.ts +84 -0
- package/dist/option-chain.d.cts +37 -0
- package/dist/option-chain.d.ts +37 -0
- package/dist/option-position.d.cts +29 -0
- package/dist/option-position.d.ts +29 -0
- package/dist/pin-input.d.cts +25 -0
- package/dist/pin-input.d.ts +25 -0
- package/dist/pnl-diagram.d.cts +11 -0
- package/dist/pnl-diagram.d.ts +11 -0
- package/dist/popover.d.cts +73 -0
- package/dist/popover.d.ts +73 -0
- package/dist/progress-circle.d.cts +47 -0
- package/dist/progress-circle.d.ts +47 -0
- package/dist/progress.d.cts +28 -0
- package/dist/progress.d.ts +28 -0
- package/dist/provider.cjs +9 -1
- package/dist/provider.d.cts +12 -0
- package/dist/provider.d.ts +12 -0
- package/dist/provider.js +5 -1
- package/dist/radio.d.cts +53 -0
- package/dist/radio.d.ts +53 -0
- package/dist/rating.d.cts +14 -0
- package/dist/rating.d.ts +14 -0
- package/dist/select.d.cts +130 -0
- package/dist/select.d.ts +130 -0
- package/dist/separator.d.cts +13 -0
- package/dist/separator.d.ts +13 -0
- package/dist/skeleton.d.cts +60 -0
- package/dist/skeleton.d.ts +60 -0
- package/dist/slider.d.cts +24 -0
- package/dist/slider.d.ts +24 -0
- package/dist/strategy-builder.d.cts +26 -0
- package/dist/strategy-builder.d.ts +26 -0
- package/dist/switch.d.cts +27 -0
- package/dist/switch.d.ts +27 -0
- package/dist/table.d.cts +107 -0
- package/dist/table.d.ts +107 -0
- package/dist/tabs.d.cts +78 -0
- package/dist/tabs.d.ts +78 -0
- package/dist/tag.d.cts +21 -0
- package/dist/tag.d.ts +21 -0
- package/dist/textarea.d.cts +11 -0
- package/dist/textarea.d.ts +11 -0
- package/dist/toaster.d.cts +29 -0
- package/dist/toaster.d.ts +29 -0
- package/dist/tooltip.d.cts +38 -0
- package/dist/tooltip.d.ts +38 -0
- package/dist/utils.d.cts +5 -0
- package/dist/utils.d.ts +5 -0
- package/package.json +1 -1
- package/src/index.ts +0 -2
- 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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
229
|
-
const onValueChange =
|
|
231
|
+
const [value, setValue] = React30__namespace.useState([]);
|
|
232
|
+
const onValueChange = React30__namespace.useCallback(({ value: value2 }) => {
|
|
230
233
|
setValue(value2);
|
|
231
234
|
}, []);
|
|
232
|
-
const scrollToItemFromUrl =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 &&
|
|
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 &&
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
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 =
|
|
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 =
|
|
639
|
+
var AvatarGroupContext = React30__namespace.createContext({});
|
|
637
640
|
function useAvatarGroupContext() {
|
|
638
|
-
return
|
|
641
|
+
return React30__namespace.useContext(AvatarGroupContext);
|
|
639
642
|
}
|
|
640
|
-
var Avatar =
|
|
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 =
|
|
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 =
|
|
720
|
+
var AvatarGroup = React30__namespace.forwardRef(
|
|
718
721
|
function AvatarGroup2(props, ref) {
|
|
719
722
|
const { size, variant, borderless, className, ...rest } = props;
|
|
720
|
-
const contextValue =
|
|
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] =
|
|
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
|
-
|
|
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 =
|
|
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] =
|
|
773
|
-
const timeoutRef =
|
|
775
|
+
const [open, setOpen] = React30__namespace.useState(defaultOpen);
|
|
776
|
+
const timeoutRef = React30__namespace.useRef(null);
|
|
774
777
|
const isMobile = useIsMobile();
|
|
775
|
-
const handleOpenChange =
|
|
778
|
+
const handleOpenChange = React30__namespace.useCallback((nextOpen) => {
|
|
776
779
|
setOpen(nextOpen);
|
|
777
780
|
onOpenChange?.({ open: nextOpen });
|
|
778
781
|
}, [onOpenChange]);
|
|
779
|
-
const handleOpenChangeManual =
|
|
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 =
|
|
789
|
+
const handleClickAway = React30__namespace.useCallback(() => {
|
|
787
790
|
handleOpenChangeManual(false);
|
|
788
791
|
}, [handleOpenChangeManual]);
|
|
789
792
|
const triggerRef = usehooks.useClickAway(handleClickAway);
|
|
790
|
-
const handleTriggerClick =
|
|
793
|
+
const handleTriggerClick = React30__namespace.useCallback(() => {
|
|
791
794
|
handleOpenChangeManual(!open);
|
|
792
795
|
}, [handleOpenChangeManual, open]);
|
|
793
|
-
const handleContentClick =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
1286
|
-
const handleItemClick =
|
|
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 =
|
|
1292
|
-
return
|
|
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 =
|
|
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 =
|
|
1321
|
+
var CheckboxGroupContext = React30__namespace.createContext(null);
|
|
1319
1322
|
function useCheckboxGroupContext() {
|
|
1320
|
-
return
|
|
1323
|
+
return React30__namespace.useContext(CheckboxGroupContext);
|
|
1321
1324
|
}
|
|
1322
|
-
var CheckboxGroupBase =
|
|
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] =
|
|
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 =
|
|
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
|
-
|
|
1350
|
+
React30__namespace.useEffect(() => {
|
|
1348
1351
|
if (isControlled) {
|
|
1349
1352
|
setUncontrolledValue(controlledValue);
|
|
1350
1353
|
}
|
|
1351
1354
|
}, [isControlled, controlledValue]);
|
|
1352
|
-
const ctx =
|
|
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 =
|
|
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 =
|
|
1432
|
-
const setHiddenInputRef =
|
|
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] =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
1805
|
-
|
|
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] =
|
|
1823
|
-
const handleClick =
|
|
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] =
|
|
1855
|
-
|
|
1857
|
+
const [isExpanded, setIsExpanded] = React30__namespace.default.useState(defaultExpanded);
|
|
1858
|
+
React30__namespace.default.useEffect(() => {
|
|
1856
1859
|
setIsExpanded(defaultExpanded);
|
|
1857
1860
|
}, [defaultExpanded]);
|
|
1858
|
-
const handleToggle =
|
|
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 =
|
|
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] =
|
|
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 =
|
|
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 =
|
|
1900
|
+
const toggleColorMode = React30__namespace.useCallback(() => {
|
|
1898
1901
|
setColorMode(colorMode === "dark" ? "light" : "dark");
|
|
1899
1902
|
}, [colorMode, setColorMode]);
|
|
1900
|
-
const ctx =
|
|
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 =
|
|
1910
|
+
const ctx = React30__namespace.useContext(ColorModeContext);
|
|
1908
1911
|
if (!ctx) {
|
|
1909
|
-
const [mode, setMode] =
|
|
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 =
|
|
1956
|
+
var DialogSizeContext = React30__namespace.createContext({ size: "md" });
|
|
1954
1957
|
function useDialogSizeContext() {
|
|
1955
|
-
return
|
|
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 =
|
|
1990
|
+
const handleOpenChange = React30__namespace.useCallback(
|
|
1988
1991
|
(nextOpen) => {
|
|
1989
1992
|
onOpenChange?.({ open: nextOpen });
|
|
1990
1993
|
},
|
|
1991
1994
|
[onOpenChange]
|
|
1992
1995
|
);
|
|
1993
|
-
const ctx =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
2129
|
-
var DrawerSizeContext =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
2186
|
-
const size =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
2371
|
+
const child2 = React30__namespace.Children.only(children);
|
|
2369
2372
|
const isInputGroup = getComponentDisplayName(child2.type) === "InputGroup";
|
|
2370
2373
|
if (isInputGroup) {
|
|
2371
|
-
const inputElement2 =
|
|
2372
|
-
|
|
2374
|
+
const inputElement2 = React30__namespace.cloneElement(
|
|
2375
|
+
React30__namespace.Children.only(child2.props.children),
|
|
2373
2376
|
injectedProps2
|
|
2374
2377
|
);
|
|
2375
|
-
const groupInputElement =
|
|
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 =
|
|
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 =
|
|
2421
|
-
const clonedChild =
|
|
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 =
|
|
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 =
|
|
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 ?
|
|
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 =
|
|
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] =
|
|
2777
|
-
const [error, setError] =
|
|
2778
|
-
const handleLoadError =
|
|
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 =
|
|
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 (
|
|
2790
|
-
return
|
|
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 (
|
|
2796
|
-
return
|
|
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 =
|
|
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 =
|
|
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 =
|
|
2884
|
-
const endElementRef =
|
|
2885
|
-
const groupRef =
|
|
2886
|
-
const [inlinePaddings, setInlinePaddings] =
|
|
2887
|
-
const calculateInlinePaddings =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
2958
|
+
React30__namespace.Children.map(children, (child) => {
|
|
2956
2959
|
if (getComponentDisplayName2(child.type) !== "FieldInput") {
|
|
2957
2960
|
return child;
|
|
2958
2961
|
}
|
|
2959
|
-
return
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
3274
|
-
const values =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
3335
|
+
const handleFocus = React30__namespace.useCallback((e) => {
|
|
3333
3336
|
e.currentTarget.select();
|
|
3334
3337
|
}, []);
|
|
3335
|
-
const handleNoop =
|
|
3338
|
+
const handleNoop = React30__namespace.useCallback(() => {
|
|
3336
3339
|
}, []);
|
|
3337
|
-
const setInputRef =
|
|
3340
|
+
const setInputRef = React30__namespace.useCallback((index) => (el) => {
|
|
3338
3341
|
inputRefs.current[index] = el;
|
|
3339
3342
|
}, []);
|
|
3340
|
-
const onInputAtIndex =
|
|
3343
|
+
const onInputAtIndex = React30__namespace.useCallback((index) => (e) => {
|
|
3341
3344
|
handleInput(index, e);
|
|
3342
3345
|
}, [handleInput]);
|
|
3343
|
-
const onKeyDownAtIndex =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
3714
|
+
var Ctx = React30__namespace.createContext({
|
|
3712
3715
|
value: 0,
|
|
3713
3716
|
size: "md",
|
|
3714
3717
|
colorPalette: "blue"
|
|
3715
3718
|
});
|
|
3716
|
-
var ProgressCircleRoot =
|
|
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 =
|
|
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 =
|
|
3746
|
+
var ProgressCircleRing = React30__namespace.forwardRef(function ProgressCircleRing2(props, ref) {
|
|
3744
3747
|
const { trackColor, cap, color, className, ...rest } = props;
|
|
3745
|
-
const { value, size: sizeKey } =
|
|
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 =
|
|
3803
|
+
var ProgressCircleValueText = React30__namespace.forwardRef(function ProgressCircleValueText2(props, ref) {
|
|
3801
3804
|
const { className, children, ...rest } = props;
|
|
3802
|
-
const { value, size: sizeKey } =
|
|
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 =
|
|
3847
|
-
var RadioGroupBase =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
3966
|
-
const [hoveredIndex, setHoveredIndex] =
|
|
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 =
|
|
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 =
|
|
3977
|
+
const handleMouseEnter = React30__namespace.useCallback((index) => () => {
|
|
3975
3978
|
if (readOnly) return;
|
|
3976
3979
|
setHoveredIndex(index);
|
|
3977
3980
|
}, [readOnly]);
|
|
3978
|
-
const handleMouseLeave =
|
|
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] =
|
|
4013
|
-
const handleChange =
|
|
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 =
|
|
4035
|
+
var SelectInternalContext = React30__namespace.createContext(null);
|
|
4033
4036
|
function useSelectInternalContext() {
|
|
4034
|
-
const ctx =
|
|
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 =
|
|
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] =
|
|
4074
|
+
const [internalValue, setInternalValue] = React30__namespace.useState(defaultValueArr ?? []);
|
|
4072
4075
|
const currentValue = valueProp ?? internalValue;
|
|
4073
|
-
const selectedItems =
|
|
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] =
|
|
4079
|
+
const [open, setOpen] = React30__namespace.useState(defaultOpen ?? false);
|
|
4077
4080
|
const isOpen = openProp ?? open;
|
|
4078
|
-
const handleOpenChange =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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 =
|
|
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] =
|
|
4365
|
-
const [inputValue, setInputValue] =
|
|
4366
|
-
const [value, setValue] =
|
|
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
|
-
|
|
4371
|
+
React30__namespace.useEffect(() => {
|
|
4369
4372
|
loadOptions(debouncedInputValue, value).then(setCollection);
|
|
4370
4373
|
}, [debouncedInputValue, loadOptions, value]);
|
|
4371
|
-
const handleFilterChange =
|
|
4374
|
+
const handleFilterChange = React30__namespace.useCallback((val) => {
|
|
4372
4375
|
setInputValue(val);
|
|
4373
4376
|
}, []);
|
|
4374
|
-
const handleValueChange =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
5012
|
-
const [isStuck, setIsStuck] =
|
|
5013
|
-
const handleScroll =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
5261
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
5971
|
-
const [legs, setLegs] =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
6148
|
-
const [hoverX, setHoverX] =
|
|
6149
|
-
const [dims, setDims] =
|
|
6150
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
6709
|
-
|
|
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"]');
|