@hai3/uikit 0.1.0-alpha.6 → 0.1.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2109 -561
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +197 -4
- package/dist/index.d.ts +197 -4
- package/dist/index.js +2272 -824
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
- package/src/styles/globals.css +41 -2
package/dist/index.cjs
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var React20 = require('react');
|
|
6
|
-
var AvatarPrimitive = require('@radix-ui/react-avatar');
|
|
3
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
7
4
|
var clsx = require('clsx');
|
|
8
5
|
var tailwindMerge = require('tailwind-merge');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
|
|
8
|
+
var React24 = require('react');
|
|
9
|
+
var AvatarPrimitive = require('@radix-ui/react-avatar');
|
|
9
10
|
var reactSlot = require('@radix-ui/react-slot');
|
|
10
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
11
11
|
var uikitContracts = require('@hai3/uikit-contracts');
|
|
12
12
|
var reactDayPicker = require('react-day-picker');
|
|
13
13
|
var CheckboxPrimitive = require('@radix-ui/react-checkbox');
|
|
14
14
|
var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
|
|
15
15
|
var inputOtp = require('input-otp');
|
|
16
16
|
var LabelPrimitive = require('@radix-ui/react-label');
|
|
17
|
+
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
18
|
+
var reactHookForm = require('react-hook-form');
|
|
17
19
|
var SwitchPrimitives = require('@radix-ui/react-switch');
|
|
20
|
+
var reactTable = require('@tanstack/react-table');
|
|
18
21
|
var lucideReact = require('lucide-react');
|
|
22
|
+
var SelectPrimitive = require('@radix-ui/react-select');
|
|
23
|
+
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
19
24
|
var lodash = require('lodash');
|
|
20
25
|
var SliderPrimitive = require('@radix-ui/react-slider');
|
|
21
26
|
var ProgressPrimitive = require('@radix-ui/react-progress');
|
|
27
|
+
var sonner = require('sonner');
|
|
22
28
|
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
23
29
|
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
24
30
|
var HoverCardPrimitive = require('@radix-ui/react-hover-card');
|
|
@@ -26,17 +32,16 @@ var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
|
26
32
|
var MenubarPrimitive = require('@radix-ui/react-menubar');
|
|
27
33
|
var TabsPrimitive = require('@radix-ui/react-tabs');
|
|
28
34
|
var SheetPrimitive = require('@radix-ui/react-dialog');
|
|
35
|
+
var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
|
|
29
36
|
var vaul = require('vaul');
|
|
30
37
|
var ResizablePrimitive = require('react-resizable-panels');
|
|
31
38
|
var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
|
|
32
|
-
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
33
39
|
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
34
40
|
var useEmblaCarousel = require('embla-carousel-react');
|
|
35
41
|
var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
|
|
36
42
|
var recharts = require('recharts');
|
|
37
|
-
var SelectPrimitive = require('@radix-ui/react-select');
|
|
38
|
-
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
39
43
|
var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
|
|
44
|
+
var dateFns = require('date-fns');
|
|
40
45
|
|
|
41
46
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
42
47
|
|
|
@@ -59,12 +64,15 @@ function _interopNamespace(e) {
|
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
|
|
62
|
-
var
|
|
67
|
+
var React24__namespace = /*#__PURE__*/_interopNamespace(React24);
|
|
63
68
|
var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
|
|
64
69
|
var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
|
|
65
70
|
var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
|
|
66
71
|
var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
|
|
72
|
+
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
67
73
|
var SwitchPrimitives__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitives);
|
|
74
|
+
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
75
|
+
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
68
76
|
var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
|
|
69
77
|
var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
|
|
70
78
|
var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
|
|
@@ -74,26 +82,173 @@ var NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(Navigati
|
|
|
74
82
|
var MenubarPrimitive__namespace = /*#__PURE__*/_interopNamespace(MenubarPrimitive);
|
|
75
83
|
var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
|
|
76
84
|
var SheetPrimitive__namespace = /*#__PURE__*/_interopNamespace(SheetPrimitive);
|
|
85
|
+
var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
|
|
77
86
|
var ResizablePrimitive__namespace = /*#__PURE__*/_interopNamespace(ResizablePrimitive);
|
|
78
87
|
var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
|
|
79
|
-
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
80
88
|
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
81
89
|
var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
|
|
82
90
|
var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
|
|
83
|
-
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
84
|
-
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
85
91
|
var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
|
|
86
92
|
|
|
87
|
-
// src/base/
|
|
93
|
+
// src/base/alert.tsx
|
|
94
|
+
function cn(...inputs) {
|
|
95
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
96
|
+
}
|
|
97
|
+
var alertVariants = classVarianceAuthority.cva(
|
|
98
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
99
|
+
{
|
|
100
|
+
variants: {
|
|
101
|
+
variant: {
|
|
102
|
+
default: "bg-card text-card-foreground",
|
|
103
|
+
destructive: "text-destructive bg-card [&>svg]:text-current [&_[data-slot=alert-description]]:text-destructive/90"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
defaultVariants: {
|
|
107
|
+
variant: "default"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
function Alert({
|
|
112
|
+
className,
|
|
113
|
+
variant,
|
|
114
|
+
...props
|
|
115
|
+
}) {
|
|
116
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
+
"div",
|
|
118
|
+
{
|
|
119
|
+
"data-slot": "alert",
|
|
120
|
+
role: "alert",
|
|
121
|
+
className: cn(alertVariants({ variant }), className),
|
|
122
|
+
...props
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
function AlertTitle({ className, ...props }) {
|
|
127
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
"data-slot": "alert-title",
|
|
131
|
+
className: cn(
|
|
132
|
+
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
133
|
+
className
|
|
134
|
+
),
|
|
135
|
+
...props
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
function AlertDescription({
|
|
140
|
+
className,
|
|
141
|
+
...props
|
|
142
|
+
}) {
|
|
143
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
144
|
+
"div",
|
|
145
|
+
{
|
|
146
|
+
"data-slot": "alert-description",
|
|
147
|
+
className: cn(
|
|
148
|
+
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
149
|
+
className
|
|
150
|
+
),
|
|
151
|
+
...props
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
}
|
|
88
155
|
function AspectRatio({
|
|
89
156
|
...props
|
|
90
157
|
}) {
|
|
91
158
|
return /* @__PURE__ */ jsxRuntime.jsx(AspectRatioPrimitive__namespace.Root, { "data-slot": "aspect-ratio", ...props });
|
|
92
159
|
}
|
|
93
|
-
function
|
|
94
|
-
return
|
|
160
|
+
function Empty({ className, ...props }) {
|
|
161
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
+
"div",
|
|
163
|
+
{
|
|
164
|
+
"data-slot": "empty",
|
|
165
|
+
className: cn(
|
|
166
|
+
"flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12",
|
|
167
|
+
className
|
|
168
|
+
),
|
|
169
|
+
...props
|
|
170
|
+
}
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
function EmptyHeader({ className, ...props }) {
|
|
174
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
175
|
+
"div",
|
|
176
|
+
{
|
|
177
|
+
"data-slot": "empty-header",
|
|
178
|
+
className: cn(
|
|
179
|
+
"flex max-w-sm flex-col items-center gap-2 text-center",
|
|
180
|
+
className
|
|
181
|
+
),
|
|
182
|
+
...props
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
var emptyMediaVariants = classVarianceAuthority.cva(
|
|
187
|
+
"flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
188
|
+
{
|
|
189
|
+
variants: {
|
|
190
|
+
variant: {
|
|
191
|
+
default: "bg-transparent",
|
|
192
|
+
icon: "bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
defaultVariants: {
|
|
196
|
+
variant: "default"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
function EmptyMedia({
|
|
201
|
+
className,
|
|
202
|
+
variant = "default",
|
|
203
|
+
...props
|
|
204
|
+
}) {
|
|
205
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
206
|
+
"div",
|
|
207
|
+
{
|
|
208
|
+
"data-slot": "empty-media",
|
|
209
|
+
"data-variant": variant,
|
|
210
|
+
className: cn(emptyMediaVariants({ variant, className })),
|
|
211
|
+
...props
|
|
212
|
+
}
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
function EmptyTitle({ className, ...props }) {
|
|
216
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
217
|
+
"div",
|
|
218
|
+
{
|
|
219
|
+
"data-slot": "empty-title",
|
|
220
|
+
className: cn("text-lg font-medium tracking-tight", className),
|
|
221
|
+
...props
|
|
222
|
+
}
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
function EmptyDescription({ className, ...props }) {
|
|
226
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
227
|
+
"div",
|
|
228
|
+
{
|
|
229
|
+
"data-slot": "empty-description",
|
|
230
|
+
className: cn(
|
|
231
|
+
"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4",
|
|
232
|
+
className
|
|
233
|
+
),
|
|
234
|
+
...props
|
|
235
|
+
}
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
function EmptyContent({ className, ...props }) {
|
|
239
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
240
|
+
"div",
|
|
241
|
+
{
|
|
242
|
+
"data-slot": "empty-content",
|
|
243
|
+
className: cn(
|
|
244
|
+
"flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance",
|
|
245
|
+
className
|
|
246
|
+
),
|
|
247
|
+
...props
|
|
248
|
+
}
|
|
249
|
+
);
|
|
95
250
|
}
|
|
96
|
-
var Avatar =
|
|
251
|
+
var Avatar = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
97
252
|
AvatarPrimitive__namespace.Root,
|
|
98
253
|
{
|
|
99
254
|
ref,
|
|
@@ -105,7 +260,7 @@ var Avatar = React20__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
105
260
|
}
|
|
106
261
|
));
|
|
107
262
|
Avatar.displayName = AvatarPrimitive__namespace.Root.displayName;
|
|
108
|
-
var AvatarImage =
|
|
263
|
+
var AvatarImage = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
109
264
|
AvatarPrimitive__namespace.Image,
|
|
110
265
|
{
|
|
111
266
|
ref,
|
|
@@ -114,7 +269,7 @@ var AvatarImage = React20__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
114
269
|
}
|
|
115
270
|
));
|
|
116
271
|
AvatarImage.displayName = AvatarPrimitive__namespace.Image.displayName;
|
|
117
|
-
var AvatarFallback =
|
|
272
|
+
var AvatarFallback = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
118
273
|
AvatarPrimitive__namespace.Fallback,
|
|
119
274
|
{
|
|
120
275
|
ref,
|
|
@@ -151,7 +306,7 @@ var buttonVariants = classVarianceAuthority.cva(
|
|
|
151
306
|
}
|
|
152
307
|
}
|
|
153
308
|
);
|
|
154
|
-
var Button =
|
|
309
|
+
var Button = React24__namespace.forwardRef(
|
|
155
310
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
156
311
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
157
312
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -398,8 +553,8 @@ function CalendarDayButton({
|
|
|
398
553
|
...props
|
|
399
554
|
}) {
|
|
400
555
|
const defaultClassNames = reactDayPicker.getDefaultClassNames();
|
|
401
|
-
const ref =
|
|
402
|
-
|
|
556
|
+
const ref = React24__namespace.useRef(null);
|
|
557
|
+
React24__namespace.useEffect(() => {
|
|
403
558
|
if (modifiers.focused) ref.current?.focus();
|
|
404
559
|
}, [modifiers.focused]);
|
|
405
560
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -619,7 +774,7 @@ function InputOTPSlot({
|
|
|
619
774
|
className,
|
|
620
775
|
...props
|
|
621
776
|
}) {
|
|
622
|
-
const inputOTPContext =
|
|
777
|
+
const inputOTPContext = React24__namespace.useContext(inputOtp.OTPInputContext);
|
|
623
778
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
624
779
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
625
780
|
"div",
|
|
@@ -641,7 +796,7 @@ function InputOTPSlot({
|
|
|
641
796
|
function InputOTPSeparator({ ...props }) {
|
|
642
797
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {}) });
|
|
643
798
|
}
|
|
644
|
-
var Input =
|
|
799
|
+
var Input = React24__namespace.forwardRef(
|
|
645
800
|
({ className, type, ...props }, ref) => {
|
|
646
801
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
647
802
|
"input",
|
|
@@ -674,108 +829,1050 @@ function Label({
|
|
|
674
829
|
}
|
|
675
830
|
);
|
|
676
831
|
}
|
|
677
|
-
|
|
678
|
-
({ className, autoResize = false, minHeight = 50, maxHeight = 350, size = "default", onChange, ...props }, ref) => {
|
|
679
|
-
const internalRef = React20__namespace.useRef(null);
|
|
680
|
-
React20__namespace.useImperativeHandle(ref, () => internalRef.current);
|
|
681
|
-
const sizeClasses = {
|
|
682
|
-
sm: "min-h-11 h-11",
|
|
683
|
-
// 44px / 2.75rem - exact height
|
|
684
|
-
default: "min-h-[60px]",
|
|
685
|
-
// 60px / 3.75rem
|
|
686
|
-
lg: "min-h-20"
|
|
687
|
-
// 80px / 5rem
|
|
688
|
-
};
|
|
689
|
-
const paddingClasses = {
|
|
690
|
-
sm: "py-3",
|
|
691
|
-
// 12px top + 12px bottom + 20px line-height = 44px
|
|
692
|
-
default: "py-2",
|
|
693
|
-
// 8px top + 8px bottom (default)
|
|
694
|
-
lg: "py-2"
|
|
695
|
-
// 8px top + 8px bottom (default)
|
|
696
|
-
};
|
|
697
|
-
const handleResize = React20__namespace.useCallback(() => {
|
|
698
|
-
if (autoResize && size !== "sm" && internalRef.current) {
|
|
699
|
-
const textarea = internalRef.current;
|
|
700
|
-
textarea.style.height = "auto";
|
|
701
|
-
const scrollHeight = textarea.scrollHeight;
|
|
702
|
-
textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;
|
|
703
|
-
}
|
|
704
|
-
}, [autoResize, size, minHeight, maxHeight]);
|
|
705
|
-
React20__namespace.useEffect(() => {
|
|
706
|
-
handleResize();
|
|
707
|
-
}, [handleResize, props.value]);
|
|
708
|
-
const handleChange = React20__namespace.useCallback(
|
|
709
|
-
(e) => {
|
|
710
|
-
handleResize();
|
|
711
|
-
onChange?.(e);
|
|
712
|
-
},
|
|
713
|
-
[onChange, handleResize]
|
|
714
|
-
);
|
|
715
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
716
|
-
"textarea",
|
|
717
|
-
{
|
|
718
|
-
className: cn(
|
|
719
|
-
"flex w-full rounded-md border border-input bg-transparent px-3 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
720
|
-
sizeClasses[size],
|
|
721
|
-
paddingClasses[size],
|
|
722
|
-
className
|
|
723
|
-
),
|
|
724
|
-
ref: internalRef,
|
|
725
|
-
onChange: handleChange,
|
|
726
|
-
...props
|
|
727
|
-
}
|
|
728
|
-
);
|
|
729
|
-
}
|
|
730
|
-
);
|
|
731
|
-
Textarea.displayName = "Textarea";
|
|
732
|
-
var Switch = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
733
|
-
SwitchPrimitives__namespace.Root,
|
|
734
|
-
{
|
|
735
|
-
className: cn(
|
|
736
|
-
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
737
|
-
className
|
|
738
|
-
),
|
|
739
|
-
...props,
|
|
740
|
-
ref,
|
|
741
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
742
|
-
SwitchPrimitives__namespace.Thumb,
|
|
743
|
-
{
|
|
744
|
-
className: cn(
|
|
745
|
-
"pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform",
|
|
746
|
-
"data-[state=checked]:ltr:translate-x-4 data-[state=checked]:rtl:-translate-x-4",
|
|
747
|
-
"data-[state=unchecked]:translate-x-0"
|
|
748
|
-
)
|
|
749
|
-
}
|
|
750
|
-
)
|
|
751
|
-
}
|
|
752
|
-
));
|
|
753
|
-
Switch.displayName = SwitchPrimitives__namespace.Root.displayName;
|
|
754
|
-
function Skeleton({
|
|
832
|
+
function Separator({
|
|
755
833
|
className,
|
|
756
|
-
|
|
834
|
+
orientation = "horizontal",
|
|
835
|
+
decorative = true,
|
|
836
|
+
...props
|
|
837
|
+
}) {
|
|
838
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
839
|
+
SeparatorPrimitive__namespace.Root,
|
|
840
|
+
{
|
|
841
|
+
"data-slot": "separator",
|
|
842
|
+
decorative,
|
|
843
|
+
orientation,
|
|
844
|
+
className: cn(
|
|
845
|
+
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
846
|
+
className
|
|
847
|
+
),
|
|
848
|
+
...props
|
|
849
|
+
}
|
|
850
|
+
);
|
|
851
|
+
}
|
|
852
|
+
function FieldSet({ className, ...props }) {
|
|
853
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
854
|
+
"fieldset",
|
|
855
|
+
{
|
|
856
|
+
"data-slot": "field-set",
|
|
857
|
+
className: cn(
|
|
858
|
+
"flex flex-col gap-6",
|
|
859
|
+
"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
860
|
+
className
|
|
861
|
+
),
|
|
862
|
+
...props
|
|
863
|
+
}
|
|
864
|
+
);
|
|
865
|
+
}
|
|
866
|
+
function FieldLegend({
|
|
867
|
+
className,
|
|
868
|
+
variant = "legend",
|
|
757
869
|
...props
|
|
758
870
|
}) {
|
|
871
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
872
|
+
"legend",
|
|
873
|
+
{
|
|
874
|
+
"data-slot": "field-legend",
|
|
875
|
+
"data-variant": variant,
|
|
876
|
+
className: cn(
|
|
877
|
+
"mb-3 font-medium",
|
|
878
|
+
"data-[variant=legend]:text-base",
|
|
879
|
+
"data-[variant=label]:text-sm",
|
|
880
|
+
className
|
|
881
|
+
),
|
|
882
|
+
...props
|
|
883
|
+
}
|
|
884
|
+
);
|
|
885
|
+
}
|
|
886
|
+
function FieldGroup({ className, ...props }) {
|
|
759
887
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
760
888
|
"div",
|
|
761
889
|
{
|
|
890
|
+
"data-slot": "field-group",
|
|
762
891
|
className: cn(
|
|
763
|
-
"
|
|
764
|
-
inheritColor ? "bg-current opacity-20" : "bg-muted",
|
|
892
|
+
"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",
|
|
765
893
|
className
|
|
766
894
|
),
|
|
767
895
|
...props
|
|
768
896
|
}
|
|
769
897
|
);
|
|
770
898
|
}
|
|
771
|
-
var
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
899
|
+
var fieldVariants = classVarianceAuthority.cva(
|
|
900
|
+
"group/field flex w-full gap-3 data-[invalid=true]:text-destructive",
|
|
901
|
+
{
|
|
902
|
+
variants: {
|
|
903
|
+
orientation: {
|
|
904
|
+
vertical: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
|
|
905
|
+
horizontal: [
|
|
906
|
+
"flex-row items-center",
|
|
907
|
+
"[&>[data-slot=field-label]]:flex-auto",
|
|
908
|
+
"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
909
|
+
],
|
|
910
|
+
responsive: [
|
|
911
|
+
"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto",
|
|
912
|
+
"@md/field-group:[&>[data-slot=field-label]]:flex-auto",
|
|
913
|
+
"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
914
|
+
]
|
|
915
|
+
}
|
|
916
|
+
},
|
|
917
|
+
defaultVariants: {
|
|
918
|
+
orientation: "vertical"
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
);
|
|
922
|
+
function Field({
|
|
923
|
+
className,
|
|
924
|
+
orientation = "vertical",
|
|
925
|
+
...props
|
|
926
|
+
}) {
|
|
927
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
928
|
+
"div",
|
|
929
|
+
{
|
|
930
|
+
role: "group",
|
|
931
|
+
"data-slot": "field",
|
|
932
|
+
"data-orientation": orientation,
|
|
933
|
+
className: cn(fieldVariants({ orientation }), className),
|
|
934
|
+
...props
|
|
935
|
+
}
|
|
936
|
+
);
|
|
937
|
+
}
|
|
938
|
+
function FieldContent({ className, ...props }) {
|
|
939
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
940
|
+
"div",
|
|
941
|
+
{
|
|
942
|
+
"data-slot": "field-content",
|
|
943
|
+
className: cn(
|
|
944
|
+
"group/field-content flex flex-1 flex-col gap-1.5 leading-snug",
|
|
945
|
+
className
|
|
946
|
+
),
|
|
947
|
+
...props
|
|
948
|
+
}
|
|
949
|
+
);
|
|
950
|
+
}
|
|
951
|
+
function FieldLabel({
|
|
952
|
+
className,
|
|
953
|
+
...props
|
|
954
|
+
}) {
|
|
955
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
956
|
+
Label,
|
|
957
|
+
{
|
|
958
|
+
"data-slot": "field-label",
|
|
959
|
+
className: cn(
|
|
960
|
+
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50",
|
|
961
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4",
|
|
962
|
+
"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",
|
|
963
|
+
className
|
|
964
|
+
),
|
|
965
|
+
...props
|
|
966
|
+
}
|
|
967
|
+
);
|
|
968
|
+
}
|
|
969
|
+
function FieldTitle({ className, ...props }) {
|
|
970
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
971
|
+
"div",
|
|
972
|
+
{
|
|
973
|
+
"data-slot": "field-label",
|
|
974
|
+
className: cn(
|
|
975
|
+
"flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50",
|
|
976
|
+
className
|
|
977
|
+
),
|
|
978
|
+
...props
|
|
979
|
+
}
|
|
980
|
+
);
|
|
981
|
+
}
|
|
982
|
+
function FieldDescription({ className, ...props }) {
|
|
983
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
984
|
+
"p",
|
|
985
|
+
{
|
|
986
|
+
"data-slot": "field-description",
|
|
987
|
+
className: cn(
|
|
988
|
+
"text-muted-foreground text-sm leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
|
|
989
|
+
"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5",
|
|
990
|
+
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
991
|
+
className
|
|
992
|
+
),
|
|
993
|
+
...props
|
|
994
|
+
}
|
|
995
|
+
);
|
|
996
|
+
}
|
|
997
|
+
function FieldSeparator({
|
|
998
|
+
children,
|
|
999
|
+
className,
|
|
1000
|
+
...props
|
|
1001
|
+
}) {
|
|
1002
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1003
|
+
"div",
|
|
1004
|
+
{
|
|
1005
|
+
"data-slot": "field-separator",
|
|
1006
|
+
"data-content": !!children,
|
|
1007
|
+
className: cn(
|
|
1008
|
+
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
1009
|
+
className
|
|
1010
|
+
),
|
|
1011
|
+
...props,
|
|
1012
|
+
children: [
|
|
1013
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
1014
|
+
children && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1015
|
+
"span",
|
|
1016
|
+
{
|
|
1017
|
+
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
1018
|
+
"data-slot": "field-separator-content",
|
|
1019
|
+
children
|
|
1020
|
+
}
|
|
1021
|
+
)
|
|
1022
|
+
]
|
|
1023
|
+
}
|
|
1024
|
+
);
|
|
1025
|
+
}
|
|
1026
|
+
function FieldError({
|
|
1027
|
+
className,
|
|
1028
|
+
children,
|
|
1029
|
+
errors,
|
|
1030
|
+
...props
|
|
1031
|
+
}) {
|
|
1032
|
+
const content = React24.useMemo(() => {
|
|
1033
|
+
if (children) {
|
|
1034
|
+
return children;
|
|
1035
|
+
}
|
|
1036
|
+
if (!errors?.length) {
|
|
1037
|
+
return null;
|
|
1038
|
+
}
|
|
1039
|
+
const uniqueErrors = [
|
|
1040
|
+
...new Map(errors.map((error) => [error?.message, error])).values()
|
|
1041
|
+
];
|
|
1042
|
+
if (uniqueErrors?.length == 1) {
|
|
1043
|
+
return uniqueErrors[0]?.message;
|
|
1044
|
+
}
|
|
1045
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
1046
|
+
(error, index) => error?.message && /* @__PURE__ */ jsxRuntime.jsx("li", { children: error.message }, index)
|
|
1047
|
+
) });
|
|
1048
|
+
}, [children, errors]);
|
|
1049
|
+
if (!content) {
|
|
1050
|
+
return null;
|
|
1051
|
+
}
|
|
1052
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1053
|
+
"div",
|
|
1054
|
+
{
|
|
1055
|
+
role: "alert",
|
|
1056
|
+
"data-slot": "field-error",
|
|
1057
|
+
className: cn("text-destructive text-sm font-normal", className),
|
|
1058
|
+
...props,
|
|
1059
|
+
children: content
|
|
1060
|
+
}
|
|
1061
|
+
);
|
|
1062
|
+
}
|
|
1063
|
+
var Form = reactHookForm.FormProvider;
|
|
1064
|
+
var FormFieldContext = React24__namespace.createContext(
|
|
1065
|
+
{}
|
|
1066
|
+
);
|
|
1067
|
+
var FormField = ({
|
|
1068
|
+
...props
|
|
1069
|
+
}) => {
|
|
1070
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsxRuntime.jsx(reactHookForm.Controller, { ...props }) });
|
|
1071
|
+
};
|
|
1072
|
+
var FormItemContext = React24__namespace.createContext(
|
|
1073
|
+
{}
|
|
1074
|
+
);
|
|
1075
|
+
var useFormField = () => {
|
|
1076
|
+
const fieldContext = React24__namespace.useContext(FormFieldContext);
|
|
1077
|
+
const itemContext = React24__namespace.useContext(FormItemContext);
|
|
1078
|
+
const { getFieldState } = reactHookForm.useFormContext();
|
|
1079
|
+
const formState = reactHookForm.useFormState({ name: fieldContext.name });
|
|
1080
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
1081
|
+
if (!fieldContext) {
|
|
1082
|
+
throw new Error("useFormField should be used within <FormField>");
|
|
1083
|
+
}
|
|
1084
|
+
const { id } = itemContext;
|
|
1085
|
+
return {
|
|
1086
|
+
id,
|
|
1087
|
+
name: fieldContext.name,
|
|
1088
|
+
formItemId: `${id}-form-item`,
|
|
1089
|
+
formDescriptionId: `${id}-form-item-description`,
|
|
1090
|
+
formMessageId: `${id}-form-item-message`,
|
|
1091
|
+
...fieldState
|
|
1092
|
+
};
|
|
1093
|
+
};
|
|
1094
|
+
function FormItem({ className, ...props }) {
|
|
1095
|
+
const id = React24__namespace.useId();
|
|
1096
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1097
|
+
"div",
|
|
1098
|
+
{
|
|
1099
|
+
"data-slot": "form-item",
|
|
1100
|
+
className: cn("grid gap-2", className),
|
|
1101
|
+
...props
|
|
1102
|
+
}
|
|
1103
|
+
) });
|
|
1104
|
+
}
|
|
1105
|
+
function FormLabel({
|
|
1106
|
+
className,
|
|
1107
|
+
...props
|
|
1108
|
+
}) {
|
|
1109
|
+
const { error, formItemId } = useFormField();
|
|
1110
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1111
|
+
Label,
|
|
1112
|
+
{
|
|
1113
|
+
"data-slot": "form-label",
|
|
1114
|
+
"data-error": !!error,
|
|
1115
|
+
className: cn("data-[error=true]:text-destructive", className),
|
|
1116
|
+
htmlFor: formItemId,
|
|
1117
|
+
...props
|
|
1118
|
+
}
|
|
1119
|
+
);
|
|
1120
|
+
}
|
|
1121
|
+
function FormControl({ ...props }) {
|
|
1122
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
1123
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1124
|
+
reactSlot.Slot,
|
|
1125
|
+
{
|
|
1126
|
+
"data-slot": "form-control",
|
|
1127
|
+
id: formItemId,
|
|
1128
|
+
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
|
1129
|
+
"aria-invalid": !!error,
|
|
1130
|
+
...props
|
|
1131
|
+
}
|
|
1132
|
+
);
|
|
1133
|
+
}
|
|
1134
|
+
function FormDescription({ className, ...props }) {
|
|
1135
|
+
const { formDescriptionId } = useFormField();
|
|
1136
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1137
|
+
"p",
|
|
1138
|
+
{
|
|
1139
|
+
"data-slot": "form-description",
|
|
1140
|
+
id: formDescriptionId,
|
|
1141
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
1142
|
+
...props
|
|
1143
|
+
}
|
|
1144
|
+
);
|
|
1145
|
+
}
|
|
1146
|
+
function FormMessage({ className, ...props }) {
|
|
1147
|
+
const { error, formMessageId } = useFormField();
|
|
1148
|
+
const body = error ? String(error?.message ?? "") : props.children;
|
|
1149
|
+
if (!body) {
|
|
1150
|
+
return null;
|
|
1151
|
+
}
|
|
1152
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1153
|
+
"p",
|
|
1154
|
+
{
|
|
1155
|
+
"data-slot": "form-message",
|
|
1156
|
+
id: formMessageId,
|
|
1157
|
+
className: cn("text-destructive text-sm", className),
|
|
1158
|
+
...props,
|
|
1159
|
+
children: body
|
|
1160
|
+
}
|
|
1161
|
+
);
|
|
1162
|
+
}
|
|
1163
|
+
var Textarea = React24__namespace.forwardRef(
|
|
1164
|
+
({ className, autoResize = false, minHeight = 50, maxHeight = 350, size = "default", onChange, ...props }, ref) => {
|
|
1165
|
+
const internalRef = React24__namespace.useRef(null);
|
|
1166
|
+
React24__namespace.useImperativeHandle(ref, () => internalRef.current);
|
|
1167
|
+
const sizeClasses = {
|
|
1168
|
+
sm: "min-h-11 h-11",
|
|
1169
|
+
// 44px / 2.75rem - exact height
|
|
1170
|
+
default: "min-h-[60px]",
|
|
1171
|
+
// 60px / 3.75rem
|
|
1172
|
+
lg: "min-h-20"
|
|
1173
|
+
// 80px / 5rem
|
|
1174
|
+
};
|
|
1175
|
+
const paddingClasses = {
|
|
1176
|
+
sm: "py-3",
|
|
1177
|
+
// 12px top + 12px bottom + 20px line-height = 44px
|
|
1178
|
+
default: "py-2",
|
|
1179
|
+
// 8px top + 8px bottom (default)
|
|
1180
|
+
lg: "py-2"
|
|
1181
|
+
// 8px top + 8px bottom (default)
|
|
1182
|
+
};
|
|
1183
|
+
const handleResize = React24__namespace.useCallback(() => {
|
|
1184
|
+
if (autoResize && size !== "sm" && internalRef.current) {
|
|
1185
|
+
const textarea = internalRef.current;
|
|
1186
|
+
textarea.style.height = "auto";
|
|
1187
|
+
const scrollHeight = textarea.scrollHeight;
|
|
1188
|
+
textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;
|
|
1189
|
+
}
|
|
1190
|
+
}, [autoResize, size, minHeight, maxHeight]);
|
|
1191
|
+
React24__namespace.useEffect(() => {
|
|
1192
|
+
handleResize();
|
|
1193
|
+
}, [handleResize, props.value]);
|
|
1194
|
+
const handleChange = React24__namespace.useCallback(
|
|
1195
|
+
(e) => {
|
|
1196
|
+
handleResize();
|
|
1197
|
+
onChange?.(e);
|
|
1198
|
+
},
|
|
1199
|
+
[onChange, handleResize]
|
|
1200
|
+
);
|
|
1201
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1202
|
+
"textarea",
|
|
1203
|
+
{
|
|
1204
|
+
className: cn(
|
|
1205
|
+
"flex w-full rounded-md border border-input bg-transparent px-3 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
1206
|
+
sizeClasses[size],
|
|
1207
|
+
paddingClasses[size],
|
|
1208
|
+
className
|
|
1209
|
+
),
|
|
1210
|
+
ref: internalRef,
|
|
1211
|
+
onChange: handleChange,
|
|
1212
|
+
...props
|
|
1213
|
+
}
|
|
1214
|
+
);
|
|
1215
|
+
}
|
|
1216
|
+
);
|
|
1217
|
+
Textarea.displayName = "Textarea";
|
|
1218
|
+
var Switch = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1219
|
+
SwitchPrimitives__namespace.Root,
|
|
1220
|
+
{
|
|
1221
|
+
className: cn(
|
|
1222
|
+
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
1223
|
+
className
|
|
1224
|
+
),
|
|
1225
|
+
...props,
|
|
1226
|
+
ref,
|
|
1227
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1228
|
+
SwitchPrimitives__namespace.Thumb,
|
|
1229
|
+
{
|
|
1230
|
+
className: cn(
|
|
1231
|
+
"pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform",
|
|
1232
|
+
"data-[state=checked]:ltr:translate-x-4 data-[state=checked]:rtl:-translate-x-4",
|
|
1233
|
+
"data-[state=unchecked]:translate-x-0"
|
|
1234
|
+
)
|
|
1235
|
+
}
|
|
1236
|
+
)
|
|
1237
|
+
}
|
|
1238
|
+
));
|
|
1239
|
+
Switch.displayName = SwitchPrimitives__namespace.Root.displayName;
|
|
1240
|
+
function Table({ className, ...props }) {
|
|
1241
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1242
|
+
"div",
|
|
1243
|
+
{
|
|
1244
|
+
"data-slot": "table-container",
|
|
1245
|
+
className: "relative w-full overflow-x-auto",
|
|
1246
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1247
|
+
"table",
|
|
1248
|
+
{
|
|
1249
|
+
"data-slot": "table",
|
|
1250
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
1251
|
+
...props
|
|
1252
|
+
}
|
|
1253
|
+
)
|
|
1254
|
+
}
|
|
1255
|
+
);
|
|
1256
|
+
}
|
|
1257
|
+
function TableHeader({ className, ...props }) {
|
|
1258
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1259
|
+
"thead",
|
|
1260
|
+
{
|
|
1261
|
+
"data-slot": "table-header",
|
|
1262
|
+
className: cn("[&_tr]:border-b", className),
|
|
1263
|
+
...props
|
|
1264
|
+
}
|
|
1265
|
+
);
|
|
1266
|
+
}
|
|
1267
|
+
function TableBody({ className, ...props }) {
|
|
1268
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1269
|
+
"tbody",
|
|
1270
|
+
{
|
|
1271
|
+
"data-slot": "table-body",
|
|
1272
|
+
className: cn("[&_tr:last-child]:border-0", className),
|
|
1273
|
+
...props
|
|
1274
|
+
}
|
|
1275
|
+
);
|
|
1276
|
+
}
|
|
1277
|
+
function TableFooter({ className, ...props }) {
|
|
1278
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1279
|
+
"tfoot",
|
|
1280
|
+
{
|
|
1281
|
+
"data-slot": "table-footer",
|
|
1282
|
+
className: cn(
|
|
1283
|
+
"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
|
|
1284
|
+
className
|
|
1285
|
+
),
|
|
1286
|
+
...props
|
|
1287
|
+
}
|
|
1288
|
+
);
|
|
1289
|
+
}
|
|
1290
|
+
function TableRow({ className, ...props }) {
|
|
1291
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1292
|
+
"tr",
|
|
1293
|
+
{
|
|
1294
|
+
"data-slot": "table-row",
|
|
1295
|
+
className: cn(
|
|
1296
|
+
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
1297
|
+
className
|
|
1298
|
+
),
|
|
1299
|
+
...props
|
|
1300
|
+
}
|
|
1301
|
+
);
|
|
1302
|
+
}
|
|
1303
|
+
function TableHead({ className, ...props }) {
|
|
1304
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1305
|
+
"th",
|
|
1306
|
+
{
|
|
1307
|
+
"data-slot": "table-head",
|
|
1308
|
+
className: cn(
|
|
1309
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1310
|
+
className
|
|
1311
|
+
),
|
|
1312
|
+
...props
|
|
1313
|
+
}
|
|
1314
|
+
);
|
|
1315
|
+
}
|
|
1316
|
+
function TableCell({ className, ...props }) {
|
|
1317
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1318
|
+
"td",
|
|
1319
|
+
{
|
|
1320
|
+
"data-slot": "table-cell",
|
|
1321
|
+
className: cn(
|
|
1322
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1323
|
+
className
|
|
1324
|
+
),
|
|
1325
|
+
...props
|
|
1326
|
+
}
|
|
1327
|
+
);
|
|
1328
|
+
}
|
|
1329
|
+
function TableCaption({
|
|
1330
|
+
className,
|
|
1331
|
+
...props
|
|
1332
|
+
}) {
|
|
1333
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1334
|
+
"caption",
|
|
1335
|
+
{
|
|
1336
|
+
"data-slot": "table-caption",
|
|
1337
|
+
className: cn("text-muted-foreground mt-4 text-sm", className),
|
|
1338
|
+
...props
|
|
1339
|
+
}
|
|
1340
|
+
);
|
|
1341
|
+
}
|
|
1342
|
+
var ChevronUpIcon = ({
|
|
1343
|
+
className = "",
|
|
1344
|
+
...props
|
|
1345
|
+
}) => {
|
|
1346
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1347
|
+
"svg",
|
|
1348
|
+
{
|
|
1349
|
+
className,
|
|
1350
|
+
width: "16",
|
|
1351
|
+
height: "16",
|
|
1352
|
+
viewBox: "0 0 24 24",
|
|
1353
|
+
fill: "none",
|
|
1354
|
+
stroke: "currentColor",
|
|
1355
|
+
strokeWidth: "2",
|
|
1356
|
+
strokeLinecap: "round",
|
|
1357
|
+
strokeLinejoin: "round",
|
|
1358
|
+
...props,
|
|
1359
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m18 15-6-6-6 6" })
|
|
1360
|
+
}
|
|
1361
|
+
);
|
|
1362
|
+
};
|
|
1363
|
+
var Select = SelectPrimitive__namespace.Root;
|
|
1364
|
+
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
1365
|
+
var SelectValue = SelectPrimitive__namespace.Value;
|
|
1366
|
+
var SelectTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1367
|
+
SelectPrimitive__namespace.Trigger,
|
|
1368
|
+
{
|
|
1369
|
+
ref,
|
|
1370
|
+
className: cn(
|
|
1371
|
+
// HAI3 customization: bg-background and hover states for consistency with Button Outline
|
|
1372
|
+
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-background px-3 py-2 text-sm shadow-sm ring-offset-background hover:bg-accent hover:text-bg-accent-foreground data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
1373
|
+
className
|
|
1374
|
+
),
|
|
1375
|
+
...props,
|
|
1376
|
+
children: [
|
|
1377
|
+
children,
|
|
1378
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
1379
|
+
]
|
|
1380
|
+
}
|
|
1381
|
+
));
|
|
1382
|
+
SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
|
|
1383
|
+
var SelectScrollUpButton = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1384
|
+
SelectPrimitive__namespace.ScrollUpButton,
|
|
1385
|
+
{
|
|
1386
|
+
ref,
|
|
1387
|
+
className: cn(
|
|
1388
|
+
"flex cursor-default items-center justify-center py-1",
|
|
1389
|
+
className
|
|
1390
|
+
),
|
|
1391
|
+
...props,
|
|
1392
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ChevronUpIcon, { className: "h-4 w-4" })
|
|
1393
|
+
}
|
|
1394
|
+
));
|
|
1395
|
+
SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
|
|
1396
|
+
var SelectScrollDownButton = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1397
|
+
SelectPrimitive__namespace.ScrollDownButton,
|
|
1398
|
+
{
|
|
1399
|
+
ref,
|
|
1400
|
+
className: cn(
|
|
1401
|
+
"flex cursor-default items-center justify-center py-1",
|
|
1402
|
+
className
|
|
1403
|
+
),
|
|
1404
|
+
...props,
|
|
1405
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { className: "h-4 w-4" })
|
|
1406
|
+
}
|
|
1407
|
+
));
|
|
1408
|
+
SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
|
|
1409
|
+
var SelectContent = React24__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1410
|
+
SelectPrimitive__namespace.Content,
|
|
1411
|
+
{
|
|
1412
|
+
ref,
|
|
1413
|
+
className: cn(
|
|
1414
|
+
"relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
|
|
1415
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
1416
|
+
className
|
|
1417
|
+
),
|
|
1418
|
+
position,
|
|
1419
|
+
...props,
|
|
1420
|
+
children: [
|
|
1421
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
1422
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1423
|
+
SelectPrimitive__namespace.Viewport,
|
|
1424
|
+
{
|
|
1425
|
+
className: cn(
|
|
1426
|
+
"p-1",
|
|
1427
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
1428
|
+
),
|
|
1429
|
+
children
|
|
1430
|
+
}
|
|
1431
|
+
),
|
|
1432
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
1433
|
+
]
|
|
1434
|
+
}
|
|
1435
|
+
) }));
|
|
1436
|
+
SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
|
|
1437
|
+
var SelectLabel = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1438
|
+
SelectPrimitive__namespace.Label,
|
|
1439
|
+
{
|
|
1440
|
+
ref,
|
|
1441
|
+
className: cn("px-2 py-1.5 text-sm font-semibold", className),
|
|
1442
|
+
...props
|
|
1443
|
+
}
|
|
1444
|
+
));
|
|
1445
|
+
SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
|
|
1446
|
+
var SelectItem = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1447
|
+
SelectPrimitive__namespace.Item,
|
|
1448
|
+
{
|
|
1449
|
+
ref,
|
|
1450
|
+
className: cn(
|
|
1451
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-bg-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1452
|
+
className
|
|
1453
|
+
),
|
|
1454
|
+
...props,
|
|
1455
|
+
children: [
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
1457
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
|
|
1458
|
+
]
|
|
1459
|
+
}
|
|
1460
|
+
));
|
|
1461
|
+
SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
|
|
1462
|
+
var SelectSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1463
|
+
SelectPrimitive__namespace.Separator,
|
|
1464
|
+
{
|
|
1465
|
+
ref,
|
|
1466
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
1467
|
+
...props
|
|
1468
|
+
}
|
|
1469
|
+
));
|
|
1470
|
+
SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
|
|
1471
|
+
function DataTablePagination({
|
|
1472
|
+
table,
|
|
1473
|
+
pageSizeOptions = [10, 20, 30, 40, 50]
|
|
1474
|
+
}) {
|
|
1475
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-2", children: [
|
|
1476
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-muted-foreground flex-1 text-sm", children: [
|
|
1477
|
+
table.getFilteredSelectedRowModel().rows.length,
|
|
1478
|
+
" of",
|
|
1479
|
+
" ",
|
|
1480
|
+
table.getFilteredRowModel().rows.length,
|
|
1481
|
+
" row(s) selected."
|
|
1482
|
+
] }),
|
|
1483
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-6 lg:space-x-8", children: [
|
|
1484
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1485
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "Rows per page" }),
|
|
1486
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1487
|
+
Select,
|
|
1488
|
+
{
|
|
1489
|
+
value: `${table.getState().pagination.pageSize}`,
|
|
1490
|
+
onValueChange: (value) => {
|
|
1491
|
+
table.setPageSize(Number(value));
|
|
1492
|
+
},
|
|
1493
|
+
children: [
|
|
1494
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { className: "h-8 w-[70px]", children: /* @__PURE__ */ jsxRuntime.jsx(SelectValue, { placeholder: table.getState().pagination.pageSize }) }),
|
|
1495
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectContent, { side: "top", children: pageSizeOptions.map((pageSize) => /* @__PURE__ */ jsxRuntime.jsx(SelectItem, { value: `${pageSize}`, children: pageSize }, pageSize)) })
|
|
1496
|
+
]
|
|
1497
|
+
}
|
|
1498
|
+
)
|
|
1499
|
+
] }),
|
|
1500
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
|
|
1501
|
+
"Page ",
|
|
1502
|
+
table.getState().pagination.pageIndex + 1,
|
|
1503
|
+
" of",
|
|
1504
|
+
" ",
|
|
1505
|
+
table.getPageCount()
|
|
1506
|
+
] }),
|
|
1507
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1508
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1509
|
+
Button,
|
|
1510
|
+
{
|
|
1511
|
+
variant: uikitContracts.ButtonVariant.Outline,
|
|
1512
|
+
size: uikitContracts.ButtonSize.Icon,
|
|
1513
|
+
className: "hidden size-8 lg:flex",
|
|
1514
|
+
onClick: () => table.setPageIndex(0),
|
|
1515
|
+
disabled: !table.getCanPreviousPage(),
|
|
1516
|
+
children: [
|
|
1517
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Go to first page" }),
|
|
1518
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsLeft, { className: "size-4" })
|
|
1519
|
+
]
|
|
1520
|
+
}
|
|
1521
|
+
),
|
|
1522
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1523
|
+
Button,
|
|
1524
|
+
{
|
|
1525
|
+
variant: uikitContracts.ButtonVariant.Outline,
|
|
1526
|
+
size: uikitContracts.ButtonSize.Icon,
|
|
1527
|
+
className: "size-8",
|
|
1528
|
+
onClick: () => table.previousPage(),
|
|
1529
|
+
disabled: !table.getCanPreviousPage(),
|
|
1530
|
+
children: [
|
|
1531
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Go to previous page" }),
|
|
1532
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4" })
|
|
1533
|
+
]
|
|
1534
|
+
}
|
|
1535
|
+
),
|
|
1536
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1537
|
+
Button,
|
|
1538
|
+
{
|
|
1539
|
+
variant: uikitContracts.ButtonVariant.Outline,
|
|
1540
|
+
size: uikitContracts.ButtonSize.Icon,
|
|
1541
|
+
className: "size-8",
|
|
1542
|
+
onClick: () => table.nextPage(),
|
|
1543
|
+
disabled: !table.getCanNextPage(),
|
|
1544
|
+
children: [
|
|
1545
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Go to next page" }),
|
|
1546
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
|
|
1547
|
+
]
|
|
1548
|
+
}
|
|
1549
|
+
),
|
|
1550
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1551
|
+
Button,
|
|
1552
|
+
{
|
|
1553
|
+
variant: uikitContracts.ButtonVariant.Outline,
|
|
1554
|
+
size: uikitContracts.ButtonSize.Icon,
|
|
1555
|
+
className: "hidden size-8 lg:flex",
|
|
1556
|
+
onClick: () => table.setPageIndex(table.getPageCount() - 1),
|
|
1557
|
+
disabled: !table.getCanNextPage(),
|
|
1558
|
+
children: [
|
|
1559
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Go to last page" }),
|
|
1560
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsRight, { className: "size-4" })
|
|
1561
|
+
]
|
|
1562
|
+
}
|
|
1563
|
+
)
|
|
1564
|
+
] })
|
|
1565
|
+
] })
|
|
1566
|
+
] });
|
|
1567
|
+
}
|
|
1568
|
+
function DataTable({
|
|
1569
|
+
columns,
|
|
1570
|
+
data,
|
|
1571
|
+
table: externalTable,
|
|
1572
|
+
filterInput,
|
|
1573
|
+
toolbar,
|
|
1574
|
+
showPagination = true,
|
|
1575
|
+
pageSize = 10,
|
|
1576
|
+
noResultsMessage = "No results."
|
|
1577
|
+
}) {
|
|
1578
|
+
const [sorting, setSorting] = React24__namespace.useState([]);
|
|
1579
|
+
const [columnFilters, setColumnFilters] = React24__namespace.useState([]);
|
|
1580
|
+
const [columnVisibility, setColumnVisibility] = React24__namespace.useState({});
|
|
1581
|
+
const [rowSelection, setRowSelection] = React24__namespace.useState({});
|
|
1582
|
+
const internalTable = reactTable.useReactTable({
|
|
1583
|
+
data,
|
|
1584
|
+
columns,
|
|
1585
|
+
onSortingChange: setSorting,
|
|
1586
|
+
onColumnFiltersChange: setColumnFilters,
|
|
1587
|
+
getCoreRowModel: reactTable.getCoreRowModel(),
|
|
1588
|
+
getPaginationRowModel: reactTable.getPaginationRowModel(),
|
|
1589
|
+
getSortedRowModel: reactTable.getSortedRowModel(),
|
|
1590
|
+
getFilteredRowModel: reactTable.getFilteredRowModel(),
|
|
1591
|
+
onColumnVisibilityChange: setColumnVisibility,
|
|
1592
|
+
onRowSelectionChange: setRowSelection,
|
|
1593
|
+
initialState: {
|
|
1594
|
+
pagination: {
|
|
1595
|
+
pageSize
|
|
1596
|
+
}
|
|
1597
|
+
},
|
|
1598
|
+
state: {
|
|
1599
|
+
sorting,
|
|
1600
|
+
columnFilters,
|
|
1601
|
+
columnVisibility,
|
|
1602
|
+
rowSelection
|
|
1603
|
+
}
|
|
1604
|
+
});
|
|
1605
|
+
const table = externalTable ?? internalTable;
|
|
1606
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full space-y-4", children: [
|
|
1607
|
+
(filterInput || toolbar) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
|
|
1608
|
+
filterInput,
|
|
1609
|
+
toolbar
|
|
1610
|
+
] }),
|
|
1611
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxRuntime.jsxs(Table, { children: [
|
|
1612
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsxRuntime.jsx(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsxRuntime.jsx(TableHead, { children: header.isPlaceholder ? null : reactTable.flexRender(
|
|
1613
|
+
header.column.columnDef.header,
|
|
1614
|
+
header.getContext()
|
|
1615
|
+
) }, header.id)) }, headerGroup.id)) }),
|
|
1616
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1617
|
+
TableRow,
|
|
1618
|
+
{
|
|
1619
|
+
"data-state": row.getIsSelected() && "selected",
|
|
1620
|
+
children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsxRuntime.jsx(TableCell, { children: reactTable.flexRender(
|
|
1621
|
+
cell.column.columnDef.cell,
|
|
1622
|
+
cell.getContext()
|
|
1623
|
+
) }, cell.id))
|
|
1624
|
+
},
|
|
1625
|
+
row.id
|
|
1626
|
+
)) : /* @__PURE__ */ jsxRuntime.jsx(TableRow, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1627
|
+
TableCell,
|
|
1628
|
+
{
|
|
1629
|
+
colSpan: columns.length,
|
|
1630
|
+
className: "h-24 text-center",
|
|
1631
|
+
children: noResultsMessage
|
|
1632
|
+
}
|
|
1633
|
+
) }) })
|
|
1634
|
+
] }) }),
|
|
1635
|
+
showPagination && /* @__PURE__ */ jsxRuntime.jsx(DataTablePagination, { table })
|
|
1636
|
+
] });
|
|
1637
|
+
}
|
|
1638
|
+
var DropdownMenu = ({ dir, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1639
|
+
DropdownMenuPrimitive__namespace.Root,
|
|
1640
|
+
{
|
|
1641
|
+
...props,
|
|
1642
|
+
dir
|
|
1643
|
+
}
|
|
1644
|
+
);
|
|
1645
|
+
DropdownMenu.displayName = "DropdownMenu";
|
|
1646
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
|
|
1647
|
+
var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
1648
|
+
var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
1649
|
+
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
1650
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
1651
|
+
var DropdownMenuSubTrigger = React24__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1652
|
+
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
1653
|
+
{
|
|
1654
|
+
ref,
|
|
1655
|
+
className: cn(
|
|
1656
|
+
"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
1657
|
+
inset && "pl-8",
|
|
1658
|
+
className
|
|
1659
|
+
),
|
|
1660
|
+
...props,
|
|
1661
|
+
children: [
|
|
1662
|
+
children,
|
|
1663
|
+
/* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, { className: "ms-auto rtl:rotate-180" })
|
|
1664
|
+
]
|
|
1665
|
+
}
|
|
1666
|
+
));
|
|
1667
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
1668
|
+
var DropdownMenuSubContent = React24__namespace.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1669
|
+
DropdownMenuPrimitive__namespace.SubContent,
|
|
1670
|
+
{
|
|
1671
|
+
ref,
|
|
1672
|
+
className: cn(
|
|
1673
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
1674
|
+
className
|
|
1675
|
+
),
|
|
1676
|
+
...props
|
|
1677
|
+
}
|
|
1678
|
+
) }));
|
|
1679
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
1680
|
+
var DropdownMenuContent = React24__namespace.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1681
|
+
DropdownMenuPrimitive__namespace.Content,
|
|
1682
|
+
{
|
|
1683
|
+
ref,
|
|
1684
|
+
sideOffset,
|
|
1685
|
+
className: cn(
|
|
1686
|
+
"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
1687
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
1688
|
+
className
|
|
1689
|
+
),
|
|
1690
|
+
...props
|
|
1691
|
+
}
|
|
1692
|
+
) }));
|
|
1693
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
1694
|
+
var DropdownMenuItem = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1695
|
+
DropdownMenuPrimitive__namespace.Item,
|
|
1696
|
+
{
|
|
1697
|
+
ref,
|
|
1698
|
+
className: cn(
|
|
1699
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1700
|
+
inset && "pl-8",
|
|
1701
|
+
className
|
|
1702
|
+
),
|
|
1703
|
+
...props
|
|
1704
|
+
}
|
|
1705
|
+
));
|
|
1706
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
|
|
1707
|
+
var DropdownMenuCheckboxItem = React24__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1708
|
+
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
1709
|
+
{
|
|
1710
|
+
ref,
|
|
1711
|
+
className: cn(
|
|
1712
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1713
|
+
className
|
|
1714
|
+
),
|
|
1715
|
+
checked,
|
|
1716
|
+
...props,
|
|
1717
|
+
children: [
|
|
1718
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
1719
|
+
children
|
|
1720
|
+
]
|
|
1721
|
+
}
|
|
1722
|
+
));
|
|
1723
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
|
|
1724
|
+
var DropdownMenuRadioItem = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1725
|
+
DropdownMenuPrimitive__namespace.RadioItem,
|
|
1726
|
+
{
|
|
1727
|
+
ref,
|
|
1728
|
+
className: cn(
|
|
1729
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1730
|
+
className
|
|
1731
|
+
),
|
|
1732
|
+
...props,
|
|
1733
|
+
children: [
|
|
1734
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1735
|
+
children
|
|
1736
|
+
]
|
|
1737
|
+
}
|
|
1738
|
+
));
|
|
1739
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
|
|
1740
|
+
var DropdownMenuLabel = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1741
|
+
DropdownMenuPrimitive__namespace.Label,
|
|
1742
|
+
{
|
|
1743
|
+
ref,
|
|
1744
|
+
className: cn(
|
|
1745
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
1746
|
+
inset && "pl-8",
|
|
1747
|
+
className
|
|
1748
|
+
),
|
|
1749
|
+
...props
|
|
1750
|
+
}
|
|
1751
|
+
));
|
|
1752
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
1753
|
+
var DropdownMenuSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1754
|
+
DropdownMenuPrimitive__namespace.Separator,
|
|
1755
|
+
{
|
|
1756
|
+
ref,
|
|
1757
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
1758
|
+
...props
|
|
1759
|
+
}
|
|
1760
|
+
));
|
|
1761
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
|
|
1762
|
+
var DropdownMenuShortcut = ({
|
|
1763
|
+
className,
|
|
1764
|
+
...props
|
|
1765
|
+
}) => {
|
|
1766
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1767
|
+
"span",
|
|
1768
|
+
{
|
|
1769
|
+
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
1770
|
+
...props
|
|
1771
|
+
}
|
|
1772
|
+
);
|
|
1773
|
+
};
|
|
1774
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1775
|
+
function DataTableColumnHeader({
|
|
1776
|
+
column,
|
|
1777
|
+
title,
|
|
1778
|
+
className
|
|
1779
|
+
}) {
|
|
1780
|
+
if (!column.getCanSort()) {
|
|
1781
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(className), children: title });
|
|
1782
|
+
}
|
|
1783
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-2", className), children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
1784
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1785
|
+
Button,
|
|
1786
|
+
{
|
|
1787
|
+
variant: uikitContracts.ButtonVariant.Ghost,
|
|
1788
|
+
size: uikitContracts.ButtonSize.Sm,
|
|
1789
|
+
className: "data-[state=open]:bg-accent -ml-3 h-8",
|
|
1790
|
+
children: [
|
|
1791
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: title }),
|
|
1792
|
+
column.getIsSorted() === "desc" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDown, { className: "size-4" }) : column.getIsSorted() === "asc" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "size-4" })
|
|
1793
|
+
]
|
|
1794
|
+
}
|
|
1795
|
+
) }),
|
|
1796
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "start", children: [
|
|
1797
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => column.toggleSorting(false), children: [
|
|
1798
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "size-4" }),
|
|
1799
|
+
"Asc"
|
|
1800
|
+
] }),
|
|
1801
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => column.toggleSorting(true), children: [
|
|
1802
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDown, { className: "size-4" }),
|
|
1803
|
+
"Desc"
|
|
1804
|
+
] }),
|
|
1805
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
1806
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: () => column.toggleVisibility(false), children: [
|
|
1807
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.EyeOff, { className: "size-4" }),
|
|
1808
|
+
"Hide"
|
|
1809
|
+
] })
|
|
1810
|
+
] })
|
|
1811
|
+
] }) });
|
|
1812
|
+
}
|
|
1813
|
+
function DataTableViewOptions({
|
|
1814
|
+
table,
|
|
1815
|
+
label = "Toggle columns",
|
|
1816
|
+
buttonText = "View"
|
|
1817
|
+
}) {
|
|
1818
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
1819
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1820
|
+
Button,
|
|
1821
|
+
{
|
|
1822
|
+
variant: uikitContracts.ButtonVariant.Outline,
|
|
1823
|
+
size: uikitContracts.ButtonSize.Sm,
|
|
1824
|
+
className: "ml-auto hidden h-8 lg:flex",
|
|
1825
|
+
children: [
|
|
1826
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings2, { className: "size-4" }),
|
|
1827
|
+
buttonText
|
|
1828
|
+
]
|
|
1829
|
+
}
|
|
1830
|
+
) }),
|
|
1831
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { align: "end", className: "w-[150px]", children: [
|
|
1832
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel, { children: label }),
|
|
1833
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
1834
|
+
table.getAllColumns().filter(
|
|
1835
|
+
(column) => typeof column.accessorFn !== "undefined" && column.getCanHide()
|
|
1836
|
+
).map((column) => {
|
|
1837
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1838
|
+
DropdownMenuCheckboxItem,
|
|
1839
|
+
{
|
|
1840
|
+
className: "capitalize",
|
|
1841
|
+
checked: column.getIsVisible(),
|
|
1842
|
+
onCheckedChange: (value) => column.toggleVisibility(!!value),
|
|
1843
|
+
children: column.id
|
|
1844
|
+
},
|
|
1845
|
+
column.id
|
|
1846
|
+
);
|
|
1847
|
+
})
|
|
1848
|
+
] })
|
|
1849
|
+
] });
|
|
1850
|
+
}
|
|
1851
|
+
function Skeleton({
|
|
1852
|
+
className,
|
|
1853
|
+
inheritColor = false,
|
|
1854
|
+
...props
|
|
1855
|
+
}) {
|
|
1856
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1857
|
+
"div",
|
|
1858
|
+
{
|
|
1859
|
+
className: cn(
|
|
1860
|
+
"animate-pulse rounded-md",
|
|
1861
|
+
inheritColor ? "bg-current opacity-20" : "bg-muted",
|
|
1862
|
+
className
|
|
1863
|
+
),
|
|
1864
|
+
...props
|
|
1865
|
+
}
|
|
1866
|
+
);
|
|
1867
|
+
}
|
|
1868
|
+
var Spinner = React24__namespace.forwardRef(
|
|
1869
|
+
({ className, icon: Icon2 = lucideReact.Loader2, size = "size-4", ...props }, ref) => {
|
|
1870
|
+
const textColorClasses = className?.match(/\btext-\S+/g)?.join(" ") || "";
|
|
1871
|
+
const wrapperClasses = lodash.trim(className?.replace(/\btext-\S+/g, "") || "");
|
|
1872
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1873
|
+
"div",
|
|
1874
|
+
{
|
|
1875
|
+
ref,
|
|
779
1876
|
className: cn("inline-flex items-center justify-center", wrapperClasses),
|
|
780
1877
|
...props,
|
|
781
1878
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: cn("animate-spin", size, textColorClasses) })
|
|
@@ -784,7 +1881,7 @@ var Spinner = React20__namespace.forwardRef(
|
|
|
784
1881
|
}
|
|
785
1882
|
);
|
|
786
1883
|
Spinner.displayName = "Spinner";
|
|
787
|
-
var Slider =
|
|
1884
|
+
var Slider = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
788
1885
|
SliderPrimitive__namespace.Root,
|
|
789
1886
|
{
|
|
790
1887
|
ref,
|
|
@@ -796,7 +1893,7 @@ var Slider = React20__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
796
1893
|
}
|
|
797
1894
|
));
|
|
798
1895
|
Slider.displayName = SliderPrimitive__namespace.Root.displayName;
|
|
799
|
-
var SliderTrack =
|
|
1896
|
+
var SliderTrack = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
800
1897
|
SliderPrimitive__namespace.Track,
|
|
801
1898
|
{
|
|
802
1899
|
ref,
|
|
@@ -808,7 +1905,7 @@ var SliderTrack = React20__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
808
1905
|
}
|
|
809
1906
|
));
|
|
810
1907
|
SliderTrack.displayName = SliderPrimitive__namespace.Track.displayName;
|
|
811
|
-
var SliderRange =
|
|
1908
|
+
var SliderRange = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
812
1909
|
SliderPrimitive__namespace.Range,
|
|
813
1910
|
{
|
|
814
1911
|
ref,
|
|
@@ -817,7 +1914,7 @@ var SliderRange = React20__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
817
1914
|
}
|
|
818
1915
|
));
|
|
819
1916
|
SliderRange.displayName = SliderPrimitive__namespace.Range.displayName;
|
|
820
|
-
var SliderThumb =
|
|
1917
|
+
var SliderThumb = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
821
1918
|
SliderPrimitive__namespace.Thumb,
|
|
822
1919
|
{
|
|
823
1920
|
ref,
|
|
@@ -829,7 +1926,7 @@ var SliderThumb = React20__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
829
1926
|
}
|
|
830
1927
|
));
|
|
831
1928
|
SliderThumb.displayName = SliderPrimitive__namespace.Thumb.displayName;
|
|
832
|
-
var Progress =
|
|
1929
|
+
var Progress = React24__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
833
1930
|
ProgressPrimitive__namespace.Root,
|
|
834
1931
|
{
|
|
835
1932
|
ref,
|
|
@@ -848,6 +1945,22 @@ var Progress = React20__namespace.forwardRef(({ className, value, ...props }, re
|
|
|
848
1945
|
}
|
|
849
1946
|
));
|
|
850
1947
|
Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
|
|
1948
|
+
var Toaster = ({ ...props }) => {
|
|
1949
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1950
|
+
sonner.Toaster,
|
|
1951
|
+
{
|
|
1952
|
+
className: "toaster group",
|
|
1953
|
+
icons: {
|
|
1954
|
+
success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "size-4" }),
|
|
1955
|
+
info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, { className: "size-4" }),
|
|
1956
|
+
warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "size-4" }),
|
|
1957
|
+
error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XOctagon, { className: "size-4" }),
|
|
1958
|
+
loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" })
|
|
1959
|
+
},
|
|
1960
|
+
...props
|
|
1961
|
+
}
|
|
1962
|
+
);
|
|
1963
|
+
};
|
|
851
1964
|
var TooltipProvider = ({
|
|
852
1965
|
delayDuration = 0,
|
|
853
1966
|
...props
|
|
@@ -863,9 +1976,9 @@ var Tooltip = ({
|
|
|
863
1976
|
...props
|
|
864
1977
|
}) => /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Root, { ...props }) });
|
|
865
1978
|
Tooltip.displayName = TooltipPrimitive__namespace.Root.displayName;
|
|
866
|
-
var TooltipTrigger =
|
|
1979
|
+
var TooltipTrigger = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { ref, ...props }));
|
|
867
1980
|
TooltipTrigger.displayName = TooltipPrimitive__namespace.Trigger.displayName;
|
|
868
|
-
var TooltipContent =
|
|
1981
|
+
var TooltipContent = React24__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
869
1982
|
TooltipPrimitive__namespace.Content,
|
|
870
1983
|
{
|
|
871
1984
|
ref,
|
|
@@ -880,7 +1993,7 @@ var TooltipContent = React20__namespace.forwardRef(({ className, sideOffset = 4,
|
|
|
880
1993
|
TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
|
|
881
1994
|
var Popover = PopoverPrimitive__namespace.Root;
|
|
882
1995
|
Popover.displayName = "Popover";
|
|
883
|
-
var PopoverTrigger =
|
|
1996
|
+
var PopoverTrigger = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
884
1997
|
PopoverPrimitive__namespace.Trigger,
|
|
885
1998
|
{
|
|
886
1999
|
ref,
|
|
@@ -889,7 +2002,7 @@ var PopoverTrigger = React20__namespace.forwardRef(({ ...props }, ref) => /* @__
|
|
|
889
2002
|
}
|
|
890
2003
|
));
|
|
891
2004
|
PopoverTrigger.displayName = "PopoverTrigger";
|
|
892
|
-
var PopoverContent =
|
|
2005
|
+
var PopoverContent = React24__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
893
2006
|
PopoverPrimitive__namespace.Content,
|
|
894
2007
|
{
|
|
895
2008
|
ref,
|
|
@@ -904,7 +2017,7 @@ var PopoverContent = React20__namespace.forwardRef(({ className, align = "center
|
|
|
904
2017
|
}
|
|
905
2018
|
) }));
|
|
906
2019
|
PopoverContent.displayName = "PopoverContent";
|
|
907
|
-
var PopoverAnchor =
|
|
2020
|
+
var PopoverAnchor = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
908
2021
|
PopoverPrimitive__namespace.Anchor,
|
|
909
2022
|
{
|
|
910
2023
|
ref,
|
|
@@ -915,7 +2028,7 @@ var PopoverAnchor = React20__namespace.forwardRef(({ ...props }, ref) => /* @__P
|
|
|
915
2028
|
PopoverAnchor.displayName = "PopoverAnchor";
|
|
916
2029
|
var HoverCard = HoverCardPrimitive__namespace.Root;
|
|
917
2030
|
HoverCard.displayName = "HoverCard";
|
|
918
|
-
var HoverCardTrigger =
|
|
2031
|
+
var HoverCardTrigger = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
919
2032
|
HoverCardPrimitive__namespace.Trigger,
|
|
920
2033
|
{
|
|
921
2034
|
ref,
|
|
@@ -924,7 +2037,7 @@ var HoverCardTrigger = React20__namespace.forwardRef(({ ...props }, ref) => /* @
|
|
|
924
2037
|
}
|
|
925
2038
|
));
|
|
926
2039
|
HoverCardTrigger.displayName = "HoverCardTrigger";
|
|
927
|
-
var HoverCardContent =
|
|
2040
|
+
var HoverCardContent = React24__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
928
2041
|
HoverCardPrimitive__namespace.Content,
|
|
929
2042
|
{
|
|
930
2043
|
ref,
|
|
@@ -939,7 +2052,7 @@ var HoverCardContent = React20__namespace.forwardRef(({ className, align = "cent
|
|
|
939
2052
|
}
|
|
940
2053
|
) }));
|
|
941
2054
|
HoverCardContent.displayName = "HoverCardContent";
|
|
942
|
-
var Card =
|
|
2055
|
+
var Card = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
943
2056
|
"div",
|
|
944
2057
|
{
|
|
945
2058
|
ref,
|
|
@@ -951,7 +2064,7 @@ var Card = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
951
2064
|
}
|
|
952
2065
|
));
|
|
953
2066
|
Card.displayName = "Card";
|
|
954
|
-
var CardHeader =
|
|
2067
|
+
var CardHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
955
2068
|
"div",
|
|
956
2069
|
{
|
|
957
2070
|
ref,
|
|
@@ -960,7 +2073,7 @@ var CardHeader = React20__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
960
2073
|
}
|
|
961
2074
|
));
|
|
962
2075
|
CardHeader.displayName = "CardHeader";
|
|
963
|
-
var CardTitle =
|
|
2076
|
+
var CardTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
964
2077
|
"div",
|
|
965
2078
|
{
|
|
966
2079
|
ref,
|
|
@@ -969,7 +2082,7 @@ var CardTitle = React20__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
969
2082
|
}
|
|
970
2083
|
));
|
|
971
2084
|
CardTitle.displayName = "CardTitle";
|
|
972
|
-
var CardDescription =
|
|
2085
|
+
var CardDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
973
2086
|
"div",
|
|
974
2087
|
{
|
|
975
2088
|
ref,
|
|
@@ -978,9 +2091,9 @@ var CardDescription = React20__namespace.forwardRef(({ className, ...props }, re
|
|
|
978
2091
|
}
|
|
979
2092
|
));
|
|
980
2093
|
CardDescription.displayName = "CardDescription";
|
|
981
|
-
var CardContent =
|
|
2094
|
+
var CardContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
|
|
982
2095
|
CardContent.displayName = "CardContent";
|
|
983
|
-
var CardFooter =
|
|
2096
|
+
var CardFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
984
2097
|
"div",
|
|
985
2098
|
{
|
|
986
2099
|
ref,
|
|
@@ -989,7 +2102,7 @@ var CardFooter = React20__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
989
2102
|
}
|
|
990
2103
|
));
|
|
991
2104
|
CardFooter.displayName = "CardFooter";
|
|
992
|
-
var Header =
|
|
2105
|
+
var Header = React24__namespace.default.forwardRef(
|
|
993
2106
|
({ children, className }, ref) => {
|
|
994
2107
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
995
2108
|
"header",
|
|
@@ -1005,7 +2118,7 @@ var Header = React20__namespace.default.forwardRef(
|
|
|
1005
2118
|
}
|
|
1006
2119
|
);
|
|
1007
2120
|
Header.displayName = "Header";
|
|
1008
|
-
var NavigationMenu =
|
|
2121
|
+
var NavigationMenu = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1009
2122
|
NavigationMenuPrimitive__namespace.Root,
|
|
1010
2123
|
{
|
|
1011
2124
|
ref,
|
|
@@ -1021,7 +2134,7 @@ var NavigationMenu = React20__namespace.forwardRef(({ className, children, ...pr
|
|
|
1021
2134
|
}
|
|
1022
2135
|
));
|
|
1023
2136
|
NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
|
|
1024
|
-
var NavigationMenuList =
|
|
2137
|
+
var NavigationMenuList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1025
2138
|
NavigationMenuPrimitive__namespace.List,
|
|
1026
2139
|
{
|
|
1027
2140
|
ref,
|
|
@@ -1037,7 +2150,7 @@ var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
|
|
|
1037
2150
|
var navigationMenuTriggerStyle = classVarianceAuthority.cva(
|
|
1038
2151
|
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
|
|
1039
2152
|
);
|
|
1040
|
-
var NavigationMenuTrigger =
|
|
2153
|
+
var NavigationMenuTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1041
2154
|
NavigationMenuPrimitive__namespace.Trigger,
|
|
1042
2155
|
{
|
|
1043
2156
|
ref,
|
|
@@ -1057,7 +2170,7 @@ var NavigationMenuTrigger = React20__namespace.forwardRef(({ className, children
|
|
|
1057
2170
|
}
|
|
1058
2171
|
));
|
|
1059
2172
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
|
|
1060
|
-
var NavigationMenuContent =
|
|
2173
|
+
var NavigationMenuContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1061
2174
|
NavigationMenuPrimitive__namespace.Content,
|
|
1062
2175
|
{
|
|
1063
2176
|
ref,
|
|
@@ -1070,7 +2183,7 @@ var NavigationMenuContent = React20__namespace.forwardRef(({ className, ...props
|
|
|
1070
2183
|
));
|
|
1071
2184
|
NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
|
|
1072
2185
|
var NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
|
|
1073
|
-
var NavigationMenuViewport =
|
|
2186
|
+
var NavigationMenuViewport = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1074
2187
|
NavigationMenuPrimitive__namespace.Viewport,
|
|
1075
2188
|
{
|
|
1076
2189
|
className: cn(
|
|
@@ -1082,7 +2195,7 @@ var NavigationMenuViewport = React20__namespace.forwardRef(({ className, ...prop
|
|
|
1082
2195
|
}
|
|
1083
2196
|
) }));
|
|
1084
2197
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
|
|
1085
|
-
var NavigationMenuIndicator =
|
|
2198
|
+
var NavigationMenuIndicator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1086
2199
|
NavigationMenuPrimitive__namespace.Indicator,
|
|
1087
2200
|
{
|
|
1088
2201
|
ref,
|
|
@@ -1606,7 +2719,7 @@ var Sheet = SheetPrimitive__namespace.Root;
|
|
|
1606
2719
|
var SheetTrigger = SheetPrimitive__namespace.Trigger;
|
|
1607
2720
|
var SheetClose = SheetPrimitive__namespace.Close;
|
|
1608
2721
|
var SheetPortal = SheetPrimitive__namespace.Portal;
|
|
1609
|
-
var SheetOverlay =
|
|
2722
|
+
var SheetOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1610
2723
|
SheetPrimitive__namespace.Overlay,
|
|
1611
2724
|
{
|
|
1612
2725
|
className: cn(
|
|
@@ -1634,7 +2747,7 @@ var sheetVariants = classVarianceAuthority.cva(
|
|
|
1634
2747
|
}
|
|
1635
2748
|
}
|
|
1636
2749
|
);
|
|
1637
|
-
var SheetContent =
|
|
2750
|
+
var SheetContent = React24__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
|
|
1638
2751
|
/* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
|
|
1639
2752
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1640
2753
|
SheetPrimitive__namespace.Content,
|
|
@@ -1681,7 +2794,7 @@ var SheetFooter = ({
|
|
|
1681
2794
|
}
|
|
1682
2795
|
);
|
|
1683
2796
|
SheetFooter.displayName = "SheetFooter";
|
|
1684
|
-
var SheetTitle =
|
|
2797
|
+
var SheetTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1685
2798
|
SheetPrimitive__namespace.Title,
|
|
1686
2799
|
{
|
|
1687
2800
|
ref,
|
|
@@ -1690,7 +2803,7 @@ var SheetTitle = React20__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1690
2803
|
}
|
|
1691
2804
|
));
|
|
1692
2805
|
SheetTitle.displayName = SheetPrimitive__namespace.Title.displayName;
|
|
1693
|
-
var SheetDescription =
|
|
2806
|
+
var SheetDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1694
2807
|
SheetPrimitive__namespace.Description,
|
|
1695
2808
|
{
|
|
1696
2809
|
ref,
|
|
@@ -1703,7 +2816,7 @@ var Dialog = SheetPrimitive__namespace.Root;
|
|
|
1703
2816
|
var DialogTrigger = SheetPrimitive__namespace.Trigger;
|
|
1704
2817
|
var DialogPortal = SheetPrimitive__namespace.Portal;
|
|
1705
2818
|
var DialogClose = SheetPrimitive__namespace.Close;
|
|
1706
|
-
var DialogOverlay =
|
|
2819
|
+
var DialogOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1707
2820
|
SheetPrimitive__namespace.Overlay,
|
|
1708
2821
|
{
|
|
1709
2822
|
ref,
|
|
@@ -1715,7 +2828,7 @@ var DialogOverlay = React20__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
1715
2828
|
}
|
|
1716
2829
|
));
|
|
1717
2830
|
DialogOverlay.displayName = SheetPrimitive__namespace.Overlay.displayName;
|
|
1718
|
-
var DialogContent =
|
|
2831
|
+
var DialogContent = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
|
|
1719
2832
|
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
1720
2833
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1721
2834
|
SheetPrimitive__namespace.Content,
|
|
@@ -1765,7 +2878,7 @@ var DialogFooter = ({
|
|
|
1765
2878
|
}
|
|
1766
2879
|
);
|
|
1767
2880
|
DialogFooter.displayName = "DialogFooter";
|
|
1768
|
-
var DialogTitle =
|
|
2881
|
+
var DialogTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1769
2882
|
SheetPrimitive__namespace.Title,
|
|
1770
2883
|
{
|
|
1771
2884
|
ref,
|
|
@@ -1777,7 +2890,7 @@ var DialogTitle = React20__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
1777
2890
|
}
|
|
1778
2891
|
));
|
|
1779
2892
|
DialogTitle.displayName = SheetPrimitive__namespace.Title.displayName;
|
|
1780
|
-
var DialogDescription =
|
|
2893
|
+
var DialogDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1781
2894
|
SheetPrimitive__namespace.Description,
|
|
1782
2895
|
{
|
|
1783
2896
|
ref,
|
|
@@ -1786,6 +2899,135 @@ var DialogDescription = React20__namespace.forwardRef(({ className, ...props },
|
|
|
1786
2899
|
}
|
|
1787
2900
|
));
|
|
1788
2901
|
DialogDescription.displayName = SheetPrimitive__namespace.Description.displayName;
|
|
2902
|
+
function AlertDialog({
|
|
2903
|
+
...props
|
|
2904
|
+
}) {
|
|
2905
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Root, { "data-slot": "alert-dialog", ...props });
|
|
2906
|
+
}
|
|
2907
|
+
function AlertDialogTrigger({
|
|
2908
|
+
...props
|
|
2909
|
+
}) {
|
|
2910
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
2911
|
+
}
|
|
2912
|
+
function AlertDialogPortal({
|
|
2913
|
+
...props
|
|
2914
|
+
}) {
|
|
2915
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
2916
|
+
}
|
|
2917
|
+
function AlertDialogOverlay({
|
|
2918
|
+
className,
|
|
2919
|
+
...props
|
|
2920
|
+
}) {
|
|
2921
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2922
|
+
AlertDialogPrimitive__namespace.Overlay,
|
|
2923
|
+
{
|
|
2924
|
+
"data-slot": "alert-dialog-overlay",
|
|
2925
|
+
className: cn(
|
|
2926
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
2927
|
+
className
|
|
2928
|
+
),
|
|
2929
|
+
...props
|
|
2930
|
+
}
|
|
2931
|
+
);
|
|
2932
|
+
}
|
|
2933
|
+
function AlertDialogContent({
|
|
2934
|
+
className,
|
|
2935
|
+
...props
|
|
2936
|
+
}) {
|
|
2937
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
2938
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
2939
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2940
|
+
AlertDialogPrimitive__namespace.Content,
|
|
2941
|
+
{
|
|
2942
|
+
"data-slot": "alert-dialog-content",
|
|
2943
|
+
className: cn(
|
|
2944
|
+
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
|
|
2945
|
+
className
|
|
2946
|
+
),
|
|
2947
|
+
...props
|
|
2948
|
+
}
|
|
2949
|
+
)
|
|
2950
|
+
] });
|
|
2951
|
+
}
|
|
2952
|
+
function AlertDialogHeader({
|
|
2953
|
+
className,
|
|
2954
|
+
...props
|
|
2955
|
+
}) {
|
|
2956
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2957
|
+
"div",
|
|
2958
|
+
{
|
|
2959
|
+
"data-slot": "alert-dialog-header",
|
|
2960
|
+
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
2961
|
+
...props
|
|
2962
|
+
}
|
|
2963
|
+
);
|
|
2964
|
+
}
|
|
2965
|
+
function AlertDialogFooter({
|
|
2966
|
+
className,
|
|
2967
|
+
...props
|
|
2968
|
+
}) {
|
|
2969
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2970
|
+
"div",
|
|
2971
|
+
{
|
|
2972
|
+
"data-slot": "alert-dialog-footer",
|
|
2973
|
+
className: cn(
|
|
2974
|
+
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
2975
|
+
className
|
|
2976
|
+
),
|
|
2977
|
+
...props
|
|
2978
|
+
}
|
|
2979
|
+
);
|
|
2980
|
+
}
|
|
2981
|
+
function AlertDialogTitle({
|
|
2982
|
+
className,
|
|
2983
|
+
...props
|
|
2984
|
+
}) {
|
|
2985
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2986
|
+
AlertDialogPrimitive__namespace.Title,
|
|
2987
|
+
{
|
|
2988
|
+
"data-slot": "alert-dialog-title",
|
|
2989
|
+
className: cn("text-lg font-semibold", className),
|
|
2990
|
+
...props
|
|
2991
|
+
}
|
|
2992
|
+
);
|
|
2993
|
+
}
|
|
2994
|
+
function AlertDialogDescription({
|
|
2995
|
+
className,
|
|
2996
|
+
...props
|
|
2997
|
+
}) {
|
|
2998
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2999
|
+
AlertDialogPrimitive__namespace.Description,
|
|
3000
|
+
{
|
|
3001
|
+
"data-slot": "alert-dialog-description",
|
|
3002
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
3003
|
+
...props
|
|
3004
|
+
}
|
|
3005
|
+
);
|
|
3006
|
+
}
|
|
3007
|
+
function AlertDialogAction({
|
|
3008
|
+
className,
|
|
3009
|
+
...props
|
|
3010
|
+
}) {
|
|
3011
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3012
|
+
AlertDialogPrimitive__namespace.Action,
|
|
3013
|
+
{
|
|
3014
|
+
className: cn(buttonVariants(), className),
|
|
3015
|
+
...props
|
|
3016
|
+
}
|
|
3017
|
+
);
|
|
3018
|
+
}
|
|
3019
|
+
function AlertDialogCancel({
|
|
3020
|
+
className,
|
|
3021
|
+
...props
|
|
3022
|
+
}) {
|
|
3023
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3024
|
+
AlertDialogPrimitive__namespace.Cancel,
|
|
3025
|
+
{
|
|
3026
|
+
className: cn(buttonVariants({ variant: uikitContracts.ButtonVariant.Outline }), className),
|
|
3027
|
+
...props
|
|
3028
|
+
}
|
|
3029
|
+
);
|
|
3030
|
+
}
|
|
1789
3031
|
function Drawer({
|
|
1790
3032
|
...props
|
|
1791
3033
|
}) {
|
|
@@ -1991,27 +3233,177 @@ function ScrollBar({
|
|
|
1991
3233
|
}
|
|
1992
3234
|
);
|
|
1993
3235
|
}
|
|
1994
|
-
function
|
|
3236
|
+
function ItemGroup({ className, ...props }) {
|
|
3237
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3238
|
+
"div",
|
|
3239
|
+
{
|
|
3240
|
+
role: "list",
|
|
3241
|
+
"data-slot": "item-group",
|
|
3242
|
+
className: cn("group/item-group flex flex-col", className),
|
|
3243
|
+
...props
|
|
3244
|
+
}
|
|
3245
|
+
);
|
|
3246
|
+
}
|
|
3247
|
+
function ItemSeparator({
|
|
1995
3248
|
className,
|
|
1996
|
-
orientation = "horizontal",
|
|
1997
|
-
decorative = true,
|
|
1998
3249
|
...props
|
|
1999
3250
|
}) {
|
|
2000
3251
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2001
|
-
|
|
3252
|
+
Separator,
|
|
2002
3253
|
{
|
|
2003
|
-
"data-slot": "separator",
|
|
2004
|
-
|
|
2005
|
-
|
|
3254
|
+
"data-slot": "item-separator",
|
|
3255
|
+
orientation: "horizontal",
|
|
3256
|
+
className: cn("my-0", className),
|
|
3257
|
+
...props
|
|
3258
|
+
}
|
|
3259
|
+
);
|
|
3260
|
+
}
|
|
3261
|
+
var itemVariants = classVarianceAuthority.cva(
|
|
3262
|
+
"group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
3263
|
+
{
|
|
3264
|
+
variants: {
|
|
3265
|
+
variant: {
|
|
3266
|
+
default: "bg-transparent",
|
|
3267
|
+
outline: "border-border",
|
|
3268
|
+
muted: "bg-muted/50"
|
|
3269
|
+
},
|
|
3270
|
+
size: {
|
|
3271
|
+
default: "p-4 gap-4 ",
|
|
3272
|
+
sm: "py-3 px-4 gap-2.5"
|
|
3273
|
+
}
|
|
3274
|
+
},
|
|
3275
|
+
defaultVariants: {
|
|
3276
|
+
variant: "default",
|
|
3277
|
+
size: "default"
|
|
3278
|
+
}
|
|
3279
|
+
}
|
|
3280
|
+
);
|
|
3281
|
+
function Item6({
|
|
3282
|
+
className,
|
|
3283
|
+
variant = "default",
|
|
3284
|
+
size = "default",
|
|
3285
|
+
asChild = false,
|
|
3286
|
+
...props
|
|
3287
|
+
}) {
|
|
3288
|
+
const Comp = asChild ? reactSlot.Slot : "div";
|
|
3289
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3290
|
+
Comp,
|
|
3291
|
+
{
|
|
3292
|
+
"data-slot": "item",
|
|
3293
|
+
"data-variant": variant,
|
|
3294
|
+
"data-size": size,
|
|
3295
|
+
className: cn(itemVariants({ variant, size, className })),
|
|
3296
|
+
...props
|
|
3297
|
+
}
|
|
3298
|
+
);
|
|
3299
|
+
}
|
|
3300
|
+
var itemMediaVariants = classVarianceAuthority.cva(
|
|
3301
|
+
"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5",
|
|
3302
|
+
{
|
|
3303
|
+
variants: {
|
|
3304
|
+
variant: {
|
|
3305
|
+
default: "bg-transparent",
|
|
3306
|
+
icon: "size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4",
|
|
3307
|
+
image: "size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover"
|
|
3308
|
+
}
|
|
3309
|
+
},
|
|
3310
|
+
defaultVariants: {
|
|
3311
|
+
variant: "default"
|
|
3312
|
+
}
|
|
3313
|
+
}
|
|
3314
|
+
);
|
|
3315
|
+
function ItemMedia({
|
|
3316
|
+
className,
|
|
3317
|
+
variant = "default",
|
|
3318
|
+
...props
|
|
3319
|
+
}) {
|
|
3320
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3321
|
+
"div",
|
|
3322
|
+
{
|
|
3323
|
+
"data-slot": "item-media",
|
|
3324
|
+
"data-variant": variant,
|
|
3325
|
+
className: cn(itemMediaVariants({ variant, className })),
|
|
3326
|
+
...props
|
|
3327
|
+
}
|
|
3328
|
+
);
|
|
3329
|
+
}
|
|
3330
|
+
function ItemContent({ className, ...props }) {
|
|
3331
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3332
|
+
"div",
|
|
3333
|
+
{
|
|
3334
|
+
"data-slot": "item-content",
|
|
2006
3335
|
className: cn(
|
|
2007
|
-
"
|
|
3336
|
+
"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none",
|
|
3337
|
+
className
|
|
3338
|
+
),
|
|
3339
|
+
...props
|
|
3340
|
+
}
|
|
3341
|
+
);
|
|
3342
|
+
}
|
|
3343
|
+
function ItemTitle({ className, ...props }) {
|
|
3344
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3345
|
+
"div",
|
|
3346
|
+
{
|
|
3347
|
+
"data-slot": "item-title",
|
|
3348
|
+
className: cn(
|
|
3349
|
+
"flex w-fit items-center gap-2 text-sm leading-snug font-medium",
|
|
3350
|
+
className
|
|
3351
|
+
),
|
|
3352
|
+
...props
|
|
3353
|
+
}
|
|
3354
|
+
);
|
|
3355
|
+
}
|
|
3356
|
+
function ItemDescription({ className, ...props }) {
|
|
3357
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3358
|
+
"p",
|
|
3359
|
+
{
|
|
3360
|
+
"data-slot": "item-description",
|
|
3361
|
+
className: cn(
|
|
3362
|
+
"text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance",
|
|
3363
|
+
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
3364
|
+
className
|
|
3365
|
+
),
|
|
3366
|
+
...props
|
|
3367
|
+
}
|
|
3368
|
+
);
|
|
3369
|
+
}
|
|
3370
|
+
function ItemActions({ className, ...props }) {
|
|
3371
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3372
|
+
"div",
|
|
3373
|
+
{
|
|
3374
|
+
"data-slot": "item-actions",
|
|
3375
|
+
className: cn("flex items-center gap-2", className),
|
|
3376
|
+
...props
|
|
3377
|
+
}
|
|
3378
|
+
);
|
|
3379
|
+
}
|
|
3380
|
+
function ItemHeader({ className, ...props }) {
|
|
3381
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3382
|
+
"div",
|
|
3383
|
+
{
|
|
3384
|
+
"data-slot": "item-header",
|
|
3385
|
+
className: cn(
|
|
3386
|
+
"flex basis-full items-center justify-between gap-2",
|
|
3387
|
+
className
|
|
3388
|
+
),
|
|
3389
|
+
...props
|
|
3390
|
+
}
|
|
3391
|
+
);
|
|
3392
|
+
}
|
|
3393
|
+
function ItemFooter({ className, ...props }) {
|
|
3394
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3395
|
+
"div",
|
|
3396
|
+
{
|
|
3397
|
+
"data-slot": "item-footer",
|
|
3398
|
+
className: cn(
|
|
3399
|
+
"flex basis-full items-center justify-between gap-2",
|
|
2008
3400
|
className
|
|
2009
3401
|
),
|
|
2010
3402
|
...props
|
|
2011
3403
|
}
|
|
2012
3404
|
);
|
|
2013
3405
|
}
|
|
2014
|
-
var Accordion =
|
|
3406
|
+
var Accordion = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2015
3407
|
AccordionPrimitive__namespace.Root,
|
|
2016
3408
|
{
|
|
2017
3409
|
ref,
|
|
@@ -2020,7 +3412,7 @@ var Accordion = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE_
|
|
|
2020
3412
|
}
|
|
2021
3413
|
));
|
|
2022
3414
|
Accordion.displayName = "Accordion";
|
|
2023
|
-
var AccordionItem =
|
|
3415
|
+
var AccordionItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2024
3416
|
AccordionPrimitive__namespace.Item,
|
|
2025
3417
|
{
|
|
2026
3418
|
ref,
|
|
@@ -2030,7 +3422,7 @@ var AccordionItem = React20__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
2030
3422
|
}
|
|
2031
3423
|
));
|
|
2032
3424
|
AccordionItem.displayName = "AccordionItem";
|
|
2033
|
-
var AccordionTrigger =
|
|
3425
|
+
var AccordionTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2034
3426
|
AccordionPrimitive__namespace.Trigger,
|
|
2035
3427
|
{
|
|
2036
3428
|
ref,
|
|
@@ -2047,7 +3439,7 @@ var AccordionTrigger = React20__namespace.forwardRef(({ className, children, ...
|
|
|
2047
3439
|
}
|
|
2048
3440
|
) }));
|
|
2049
3441
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
2050
|
-
var AccordionContent =
|
|
3442
|
+
var AccordionContent = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2051
3443
|
AccordionPrimitive__namespace.Content,
|
|
2052
3444
|
{
|
|
2053
3445
|
ref,
|
|
@@ -2058,15 +3450,15 @@ var AccordionContent = React20__namespace.forwardRef(({ className, children, ...
|
|
|
2058
3450
|
}
|
|
2059
3451
|
));
|
|
2060
3452
|
AccordionContent.displayName = "AccordionContent";
|
|
2061
|
-
var CarouselContext =
|
|
3453
|
+
var CarouselContext = React24__namespace.createContext(null);
|
|
2062
3454
|
function useCarousel() {
|
|
2063
|
-
const context =
|
|
3455
|
+
const context = React24__namespace.useContext(CarouselContext);
|
|
2064
3456
|
if (!context) {
|
|
2065
3457
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
2066
3458
|
}
|
|
2067
3459
|
return context;
|
|
2068
3460
|
}
|
|
2069
|
-
var Carousel =
|
|
3461
|
+
var Carousel = React24__namespace.forwardRef(
|
|
2070
3462
|
({
|
|
2071
3463
|
orientation = "horizontal",
|
|
2072
3464
|
opts,
|
|
@@ -2083,20 +3475,20 @@ var Carousel = React20__namespace.forwardRef(
|
|
|
2083
3475
|
},
|
|
2084
3476
|
plugins
|
|
2085
3477
|
);
|
|
2086
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
2087
|
-
const [canScrollNext, setCanScrollNext] =
|
|
2088
|
-
const onSelect =
|
|
3478
|
+
const [canScrollPrev, setCanScrollPrev] = React24__namespace.useState(false);
|
|
3479
|
+
const [canScrollNext, setCanScrollNext] = React24__namespace.useState(false);
|
|
3480
|
+
const onSelect = React24__namespace.useCallback((api2) => {
|
|
2089
3481
|
if (!api2) return;
|
|
2090
3482
|
setCanScrollPrev(api2.canScrollPrev());
|
|
2091
3483
|
setCanScrollNext(api2.canScrollNext());
|
|
2092
3484
|
}, []);
|
|
2093
|
-
const scrollPrev =
|
|
3485
|
+
const scrollPrev = React24__namespace.useCallback(() => {
|
|
2094
3486
|
api?.scrollPrev();
|
|
2095
3487
|
}, [api]);
|
|
2096
|
-
const scrollNext =
|
|
3488
|
+
const scrollNext = React24__namespace.useCallback(() => {
|
|
2097
3489
|
api?.scrollNext();
|
|
2098
3490
|
}, [api]);
|
|
2099
|
-
const handleKeyDown =
|
|
3491
|
+
const handleKeyDown = React24__namespace.useCallback(
|
|
2100
3492
|
(event) => {
|
|
2101
3493
|
if (event.key === "ArrowLeft") {
|
|
2102
3494
|
event.preventDefault();
|
|
@@ -2108,11 +3500,11 @@ var Carousel = React20__namespace.forwardRef(
|
|
|
2108
3500
|
},
|
|
2109
3501
|
[scrollPrev, scrollNext]
|
|
2110
3502
|
);
|
|
2111
|
-
|
|
3503
|
+
React24__namespace.useEffect(() => {
|
|
2112
3504
|
if (!api || !setApi) return;
|
|
2113
3505
|
setApi(api);
|
|
2114
3506
|
}, [api, setApi]);
|
|
2115
|
-
|
|
3507
|
+
React24__namespace.useEffect(() => {
|
|
2116
3508
|
if (!api) return;
|
|
2117
3509
|
onSelect(api);
|
|
2118
3510
|
api.on("reInit", onSelect);
|
|
@@ -2152,7 +3544,7 @@ var Carousel = React20__namespace.forwardRef(
|
|
|
2152
3544
|
}
|
|
2153
3545
|
);
|
|
2154
3546
|
Carousel.displayName = "Carousel";
|
|
2155
|
-
var CarouselContent =
|
|
3547
|
+
var CarouselContent = React24__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
2156
3548
|
const { carouselRef, orientation } = useCarousel();
|
|
2157
3549
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2158
3550
|
"div",
|
|
@@ -2176,7 +3568,7 @@ var CarouselContent = React20__namespace.forwardRef(({ className, ...props }, re
|
|
|
2176
3568
|
);
|
|
2177
3569
|
});
|
|
2178
3570
|
CarouselContent.displayName = "CarouselContent";
|
|
2179
|
-
var CarouselItem =
|
|
3571
|
+
var CarouselItem = React24__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
2180
3572
|
const { orientation } = useCarousel();
|
|
2181
3573
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2182
3574
|
"div",
|
|
@@ -2195,7 +3587,7 @@ var CarouselItem = React20__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
2195
3587
|
);
|
|
2196
3588
|
});
|
|
2197
3589
|
CarouselItem.displayName = "CarouselItem";
|
|
2198
|
-
var CarouselPrevious =
|
|
3590
|
+
var CarouselPrevious = React24__namespace.forwardRef(({ className, variant = uikitContracts.ButtonVariant.Outline, size = uikitContracts.ButtonSize.Icon, ...props }, ref) => {
|
|
2199
3591
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
2200
3592
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2201
3593
|
Button,
|
|
@@ -2220,7 +3612,7 @@ var CarouselPrevious = React20__namespace.forwardRef(({ className, variant = uik
|
|
|
2220
3612
|
);
|
|
2221
3613
|
});
|
|
2222
3614
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
2223
|
-
var CarouselNext =
|
|
3615
|
+
var CarouselNext = React24__namespace.forwardRef(({ className, variant = uikitContracts.ButtonVariant.Outline, size = uikitContracts.ButtonSize.Icon, ...props }, ref) => {
|
|
2224
3616
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
2225
3617
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2226
3618
|
Button,
|
|
@@ -2243,379 +3635,113 @@ var CarouselNext = React20__namespace.forwardRef(({ className, variant = uikitCo
|
|
|
2243
3635
|
]
|
|
2244
3636
|
}
|
|
2245
3637
|
);
|
|
2246
|
-
});
|
|
2247
|
-
CarouselNext.displayName = "CarouselNext";
|
|
2248
|
-
var Collapsible =
|
|
2249
|
-
CollapsiblePrimitive__namespace.Root,
|
|
2250
|
-
{
|
|
2251
|
-
ref,
|
|
2252
|
-
"data-slot": "collapsible",
|
|
2253
|
-
...props
|
|
2254
|
-
}
|
|
2255
|
-
));
|
|
2256
|
-
Collapsible.displayName = "Collapsible";
|
|
2257
|
-
var CollapsibleTrigger2 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2258
|
-
CollapsiblePrimitive__namespace.CollapsibleTrigger,
|
|
2259
|
-
{
|
|
2260
|
-
ref,
|
|
2261
|
-
"data-slot": "collapsible-trigger",
|
|
2262
|
-
...props
|
|
2263
|
-
}
|
|
2264
|
-
));
|
|
2265
|
-
CollapsibleTrigger2.displayName = "CollapsibleTrigger";
|
|
2266
|
-
var CollapsibleContent2 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2267
|
-
CollapsiblePrimitive__namespace.CollapsibleContent,
|
|
2268
|
-
{
|
|
2269
|
-
ref,
|
|
2270
|
-
"data-slot": "collapsible-content",
|
|
2271
|
-
...props
|
|
2272
|
-
}
|
|
2273
|
-
));
|
|
2274
|
-
CollapsibleContent2.displayName = "CollapsibleContent";
|
|
2275
|
-
function ChartContainer({
|
|
2276
|
-
className,
|
|
2277
|
-
children,
|
|
2278
|
-
width = "100%",
|
|
2279
|
-
height = 350
|
|
2280
|
-
}) {
|
|
2281
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2282
|
-
"div",
|
|
2283
|
-
{
|
|
2284
|
-
"data-slot": "chart-container",
|
|
2285
|
-
className: cn("w-full", className),
|
|
2286
|
-
style: { width, height: typeof height === "number" ? `${height}px` : height },
|
|
2287
|
-
children
|
|
2288
|
-
}
|
|
2289
|
-
);
|
|
2290
|
-
}
|
|
2291
|
-
function ChartTooltipContent({
|
|
2292
|
-
className,
|
|
2293
|
-
label,
|
|
2294
|
-
payload,
|
|
2295
|
-
active
|
|
2296
|
-
}) {
|
|
2297
|
-
if (!active || !payload || payload.length === 0) {
|
|
2298
|
-
return null;
|
|
2299
|
-
}
|
|
2300
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2301
|
-
"div",
|
|
2302
|
-
{
|
|
2303
|
-
"data-slot": "chart-tooltip-content",
|
|
2304
|
-
className: cn(
|
|
2305
|
-
"bg-background border-border text-foreground rounded-lg border p-2 shadow-md",
|
|
2306
|
-
className
|
|
2307
|
-
),
|
|
2308
|
-
children: [
|
|
2309
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-xs font-medium text-muted-foreground", children: label }),
|
|
2310
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1", children: payload.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs", children: [
|
|
2311
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2312
|
-
"div",
|
|
2313
|
-
{
|
|
2314
|
-
className: "h-2 w-2 rounded-full",
|
|
2315
|
-
style: { backgroundColor: item.color }
|
|
2316
|
-
}
|
|
2317
|
-
),
|
|
2318
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium", children: [
|
|
2319
|
-
item.name,
|
|
2320
|
-
":"
|
|
2321
|
-
] }),
|
|
2322
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: item.value })
|
|
2323
|
-
] }, index)) })
|
|
2324
|
-
]
|
|
2325
|
-
}
|
|
2326
|
-
);
|
|
2327
|
-
}
|
|
2328
|
-
function ChartLegendContent({
|
|
2329
|
-
className,
|
|
2330
|
-
payload
|
|
2331
|
-
}) {
|
|
2332
|
-
if (!payload || payload.length === 0) {
|
|
2333
|
-
return null;
|
|
2334
|
-
}
|
|
2335
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2336
|
-
"div",
|
|
2337
|
-
{
|
|
2338
|
-
"data-slot": "chart-legend-content",
|
|
2339
|
-
className: cn("flex items-center justify-center gap-4 text-sm pt-4", className),
|
|
2340
|
-
children: payload.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2341
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2342
|
-
"div",
|
|
2343
|
-
{
|
|
2344
|
-
className: "h-3 w-3 rounded-sm",
|
|
2345
|
-
style: { backgroundColor: item.color }
|
|
2346
|
-
}
|
|
2347
|
-
),
|
|
2348
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: item.value })
|
|
2349
|
-
] }, index))
|
|
2350
|
-
}
|
|
2351
|
-
);
|
|
2352
|
-
}
|
|
2353
|
-
var ChevronUpIcon = ({
|
|
2354
|
-
className = "",
|
|
2355
|
-
...props
|
|
2356
|
-
}) => {
|
|
2357
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2358
|
-
"svg",
|
|
2359
|
-
{
|
|
2360
|
-
className,
|
|
2361
|
-
width: "16",
|
|
2362
|
-
height: "16",
|
|
2363
|
-
viewBox: "0 0 24 24",
|
|
2364
|
-
fill: "none",
|
|
2365
|
-
stroke: "currentColor",
|
|
2366
|
-
strokeWidth: "2",
|
|
2367
|
-
strokeLinecap: "round",
|
|
2368
|
-
strokeLinejoin: "round",
|
|
2369
|
-
...props,
|
|
2370
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m18 15-6-6-6 6" })
|
|
2371
|
-
}
|
|
2372
|
-
);
|
|
2373
|
-
};
|
|
2374
|
-
var Select = SelectPrimitive__namespace.Root;
|
|
2375
|
-
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
2376
|
-
var SelectValue = SelectPrimitive__namespace.Value;
|
|
2377
|
-
var SelectTrigger = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2378
|
-
SelectPrimitive__namespace.Trigger,
|
|
2379
|
-
{
|
|
2380
|
-
ref,
|
|
2381
|
-
className: cn(
|
|
2382
|
-
// HAI3 customization: bg-background and hover states for consistency with Button Outline
|
|
2383
|
-
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-background px-3 py-2 text-sm shadow-sm ring-offset-background hover:bg-accent hover:text-bg-accent-foreground data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
2384
|
-
className
|
|
2385
|
-
),
|
|
2386
|
-
...props,
|
|
2387
|
-
children: [
|
|
2388
|
-
children,
|
|
2389
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
2390
|
-
]
|
|
2391
|
-
}
|
|
2392
|
-
));
|
|
2393
|
-
SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
|
|
2394
|
-
var SelectScrollUpButton = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2395
|
-
SelectPrimitive__namespace.ScrollUpButton,
|
|
2396
|
-
{
|
|
2397
|
-
ref,
|
|
2398
|
-
className: cn(
|
|
2399
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2400
|
-
className
|
|
2401
|
-
),
|
|
2402
|
-
...props,
|
|
2403
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(ChevronUpIcon, { className: "h-4 w-4" })
|
|
2404
|
-
}
|
|
2405
|
-
));
|
|
2406
|
-
SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
|
|
2407
|
-
var SelectScrollDownButton = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2408
|
-
SelectPrimitive__namespace.ScrollDownButton,
|
|
2409
|
-
{
|
|
2410
|
-
ref,
|
|
2411
|
-
className: cn(
|
|
2412
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2413
|
-
className
|
|
2414
|
-
),
|
|
2415
|
-
...props,
|
|
2416
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { className: "h-4 w-4" })
|
|
2417
|
-
}
|
|
2418
|
-
));
|
|
2419
|
-
SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
|
|
2420
|
-
var SelectContent = React20__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2421
|
-
SelectPrimitive__namespace.Content,
|
|
2422
|
-
{
|
|
2423
|
-
ref,
|
|
2424
|
-
className: cn(
|
|
2425
|
-
"relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
|
|
2426
|
-
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
2427
|
-
className
|
|
2428
|
-
),
|
|
2429
|
-
position,
|
|
2430
|
-
...props,
|
|
2431
|
-
children: [
|
|
2432
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
2433
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2434
|
-
SelectPrimitive__namespace.Viewport,
|
|
2435
|
-
{
|
|
2436
|
-
className: cn(
|
|
2437
|
-
"p-1",
|
|
2438
|
-
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
2439
|
-
),
|
|
2440
|
-
children
|
|
2441
|
-
}
|
|
2442
|
-
),
|
|
2443
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
2444
|
-
]
|
|
2445
|
-
}
|
|
2446
|
-
) }));
|
|
2447
|
-
SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
|
|
2448
|
-
var SelectLabel = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2449
|
-
SelectPrimitive__namespace.Label,
|
|
3638
|
+
});
|
|
3639
|
+
CarouselNext.displayName = "CarouselNext";
|
|
3640
|
+
var Collapsible = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3641
|
+
CollapsiblePrimitive__namespace.Root,
|
|
2450
3642
|
{
|
|
2451
3643
|
ref,
|
|
2452
|
-
|
|
3644
|
+
"data-slot": "collapsible",
|
|
2453
3645
|
...props
|
|
2454
3646
|
}
|
|
2455
3647
|
));
|
|
2456
|
-
|
|
2457
|
-
var
|
|
2458
|
-
|
|
2459
|
-
{
|
|
2460
|
-
ref,
|
|
2461
|
-
className: cn(
|
|
2462
|
-
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-bg-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2463
|
-
className
|
|
2464
|
-
),
|
|
2465
|
-
...props,
|
|
2466
|
-
children: [
|
|
2467
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
2468
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
|
|
2469
|
-
]
|
|
2470
|
-
}
|
|
2471
|
-
));
|
|
2472
|
-
SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
|
|
2473
|
-
var SelectSeparator = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2474
|
-
SelectPrimitive__namespace.Separator,
|
|
3648
|
+
Collapsible.displayName = "Collapsible";
|
|
3649
|
+
var CollapsibleTrigger2 = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3650
|
+
CollapsiblePrimitive__namespace.CollapsibleTrigger,
|
|
2475
3651
|
{
|
|
2476
3652
|
ref,
|
|
2477
|
-
|
|
3653
|
+
"data-slot": "collapsible-trigger",
|
|
2478
3654
|
...props
|
|
2479
3655
|
}
|
|
2480
3656
|
));
|
|
2481
|
-
|
|
2482
|
-
var
|
|
2483
|
-
|
|
2484
|
-
{
|
|
2485
|
-
...props,
|
|
2486
|
-
dir
|
|
2487
|
-
}
|
|
2488
|
-
);
|
|
2489
|
-
DropdownMenu.displayName = "DropdownMenu";
|
|
2490
|
-
var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
|
|
2491
|
-
var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
2492
|
-
var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
2493
|
-
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
2494
|
-
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
2495
|
-
var DropdownMenuSubTrigger = React20__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2496
|
-
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
2497
|
-
{
|
|
2498
|
-
ref,
|
|
2499
|
-
className: cn(
|
|
2500
|
-
"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
2501
|
-
inset && "pl-8",
|
|
2502
|
-
className
|
|
2503
|
-
),
|
|
2504
|
-
...props,
|
|
2505
|
-
children: [
|
|
2506
|
-
children,
|
|
2507
|
-
/* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, { className: "ms-auto rtl:rotate-180" })
|
|
2508
|
-
]
|
|
2509
|
-
}
|
|
2510
|
-
));
|
|
2511
|
-
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
2512
|
-
var DropdownMenuSubContent = React20__namespace.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2513
|
-
DropdownMenuPrimitive__namespace.SubContent,
|
|
2514
|
-
{
|
|
2515
|
-
ref,
|
|
2516
|
-
className: cn(
|
|
2517
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
2518
|
-
className
|
|
2519
|
-
),
|
|
2520
|
-
...props
|
|
2521
|
-
}
|
|
2522
|
-
) }));
|
|
2523
|
-
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
2524
|
-
var DropdownMenuContent = React20__namespace.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2525
|
-
DropdownMenuPrimitive__namespace.Content,
|
|
2526
|
-
{
|
|
2527
|
-
ref,
|
|
2528
|
-
sideOffset,
|
|
2529
|
-
className: cn(
|
|
2530
|
-
"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
2531
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
2532
|
-
className
|
|
2533
|
-
),
|
|
2534
|
-
...props
|
|
2535
|
-
}
|
|
2536
|
-
) }));
|
|
2537
|
-
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
2538
|
-
var DropdownMenuItem = React20__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2539
|
-
DropdownMenuPrimitive__namespace.Item,
|
|
3657
|
+
CollapsibleTrigger2.displayName = "CollapsibleTrigger";
|
|
3658
|
+
var CollapsibleContent2 = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3659
|
+
CollapsiblePrimitive__namespace.CollapsibleContent,
|
|
2540
3660
|
{
|
|
2541
3661
|
ref,
|
|
2542
|
-
|
|
2543
|
-
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
2544
|
-
inset && "pl-8",
|
|
2545
|
-
className
|
|
2546
|
-
),
|
|
3662
|
+
"data-slot": "collapsible-content",
|
|
2547
3663
|
...props
|
|
2548
3664
|
}
|
|
2549
3665
|
));
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
children
|
|
2564
|
-
]
|
|
2565
|
-
}
|
|
2566
|
-
));
|
|
2567
|
-
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
|
|
2568
|
-
var DropdownMenuRadioItem = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2569
|
-
DropdownMenuPrimitive__namespace.RadioItem,
|
|
2570
|
-
{
|
|
2571
|
-
ref,
|
|
2572
|
-
className: cn(
|
|
2573
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2574
|
-
className
|
|
2575
|
-
),
|
|
2576
|
-
...props,
|
|
2577
|
-
children: [
|
|
2578
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, { className: "h-2 w-2 fill-current" }) }) }),
|
|
3666
|
+
CollapsibleContent2.displayName = "CollapsibleContent";
|
|
3667
|
+
function ChartContainer({
|
|
3668
|
+
className,
|
|
3669
|
+
children,
|
|
3670
|
+
width = "100%",
|
|
3671
|
+
height = 350
|
|
3672
|
+
}) {
|
|
3673
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3674
|
+
"div",
|
|
3675
|
+
{
|
|
3676
|
+
"data-slot": "chart-container",
|
|
3677
|
+
className: cn("w-full", className),
|
|
3678
|
+
style: { width, height: typeof height === "number" ? `${height}px` : height },
|
|
2579
3679
|
children
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
className
|
|
2592
|
-
),
|
|
2593
|
-
...props
|
|
2594
|
-
}
|
|
2595
|
-
));
|
|
2596
|
-
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
2597
|
-
var DropdownMenuSeparator = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2598
|
-
DropdownMenuPrimitive__namespace.Separator,
|
|
2599
|
-
{
|
|
2600
|
-
ref,
|
|
2601
|
-
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
2602
|
-
...props
|
|
3680
|
+
}
|
|
3681
|
+
);
|
|
3682
|
+
}
|
|
3683
|
+
function ChartTooltipContent({
|
|
3684
|
+
className,
|
|
3685
|
+
label,
|
|
3686
|
+
payload,
|
|
3687
|
+
active
|
|
3688
|
+
}) {
|
|
3689
|
+
if (!active || !payload || payload.length === 0) {
|
|
3690
|
+
return null;
|
|
2603
3691
|
}
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
3692
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3693
|
+
"div",
|
|
3694
|
+
{
|
|
3695
|
+
"data-slot": "chart-tooltip-content",
|
|
3696
|
+
className: cn(
|
|
3697
|
+
"bg-background border-border text-foreground rounded-lg border p-2 shadow-md",
|
|
3698
|
+
className
|
|
3699
|
+
),
|
|
3700
|
+
children: [
|
|
3701
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-xs font-medium text-muted-foreground", children: label }),
|
|
3702
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1", children: payload.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs", children: [
|
|
3703
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3704
|
+
"div",
|
|
3705
|
+
{
|
|
3706
|
+
className: "h-2 w-2 rounded-full",
|
|
3707
|
+
style: { backgroundColor: item.color }
|
|
3708
|
+
}
|
|
3709
|
+
),
|
|
3710
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium", children: [
|
|
3711
|
+
item.name,
|
|
3712
|
+
":"
|
|
3713
|
+
] }),
|
|
3714
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: item.value })
|
|
3715
|
+
] }, index)) })
|
|
3716
|
+
]
|
|
3717
|
+
}
|
|
3718
|
+
);
|
|
3719
|
+
}
|
|
3720
|
+
function ChartLegendContent({
|
|
2607
3721
|
className,
|
|
2608
|
-
|
|
2609
|
-
})
|
|
3722
|
+
payload
|
|
3723
|
+
}) {
|
|
3724
|
+
if (!payload || payload.length === 0) {
|
|
3725
|
+
return null;
|
|
3726
|
+
}
|
|
2610
3727
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2611
|
-
"
|
|
3728
|
+
"div",
|
|
2612
3729
|
{
|
|
2613
|
-
|
|
2614
|
-
|
|
3730
|
+
"data-slot": "chart-legend-content",
|
|
3731
|
+
className: cn("flex items-center justify-center gap-4 text-sm pt-4", className),
|
|
3732
|
+
children: payload.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3733
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3734
|
+
"div",
|
|
3735
|
+
{
|
|
3736
|
+
className: "h-3 w-3 rounded-sm",
|
|
3737
|
+
style: { backgroundColor: item.color }
|
|
3738
|
+
}
|
|
3739
|
+
),
|
|
3740
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: item.value })
|
|
3741
|
+
] }, index))
|
|
2615
3742
|
}
|
|
2616
3743
|
);
|
|
2617
|
-
}
|
|
2618
|
-
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
3744
|
+
}
|
|
2619
3745
|
function ContextMenu({
|
|
2620
3746
|
...props
|
|
2621
3747
|
}) {
|
|
@@ -2818,7 +3944,7 @@ function ContextMenuShortcut({
|
|
|
2818
3944
|
}
|
|
2819
3945
|
);
|
|
2820
3946
|
}
|
|
2821
|
-
var IconButton =
|
|
3947
|
+
var IconButton = React24__namespace.default.forwardRef(
|
|
2822
3948
|
({ variant = uikitContracts.ButtonVariant.Ghost, size = uikitContracts.IconButtonSize.Default, className, ...props }, ref) => {
|
|
2823
3949
|
const sizeStyles = {
|
|
2824
3950
|
[uikitContracts.IconButtonSize.Small]: "h-8 w-8",
|
|
@@ -2838,7 +3964,7 @@ var IconButton = React20__namespace.default.forwardRef(
|
|
|
2838
3964
|
}
|
|
2839
3965
|
);
|
|
2840
3966
|
IconButton.displayName = "IconButton";
|
|
2841
|
-
var DropdownButton =
|
|
3967
|
+
var DropdownButton = React24__namespace.default.forwardRef(({ children, variant = uikitContracts.ButtonVariant.Outline, className, ...props }, ref) => {
|
|
2842
3968
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2843
3969
|
Button,
|
|
2844
3970
|
{
|
|
@@ -2854,7 +3980,354 @@ var DropdownButton = React20__namespace.default.forwardRef(({ children, variant
|
|
|
2854
3980
|
);
|
|
2855
3981
|
});
|
|
2856
3982
|
DropdownButton.displayName = "DropdownButton";
|
|
2857
|
-
|
|
3983
|
+
function InputGroup({ className, ...props }) {
|
|
3984
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3985
|
+
"div",
|
|
3986
|
+
{
|
|
3987
|
+
"data-slot": "input-group",
|
|
3988
|
+
role: "group",
|
|
3989
|
+
className: cn(
|
|
3990
|
+
"group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none",
|
|
3991
|
+
"h-9 min-w-0 has-[>textarea]:h-auto",
|
|
3992
|
+
// Variants based on alignment.
|
|
3993
|
+
"has-[>[data-align=inline-start]]:[&>input]:pl-2",
|
|
3994
|
+
"has-[>[data-align=inline-end]]:[&>input]:pr-2",
|
|
3995
|
+
"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3",
|
|
3996
|
+
"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3",
|
|
3997
|
+
// Focus state.
|
|
3998
|
+
"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]",
|
|
3999
|
+
// Error state.
|
|
4000
|
+
"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
|
|
4001
|
+
className
|
|
4002
|
+
),
|
|
4003
|
+
...props
|
|
4004
|
+
}
|
|
4005
|
+
);
|
|
4006
|
+
}
|
|
4007
|
+
var inputGroupAddonVariants = classVarianceAuthority.cva(
|
|
4008
|
+
"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50",
|
|
4009
|
+
{
|
|
4010
|
+
variants: {
|
|
4011
|
+
align: {
|
|
4012
|
+
"inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]",
|
|
4013
|
+
"inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]",
|
|
4014
|
+
"block-start": "order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5",
|
|
4015
|
+
"block-end": "order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5"
|
|
4016
|
+
}
|
|
4017
|
+
},
|
|
4018
|
+
defaultVariants: {
|
|
4019
|
+
align: "inline-start"
|
|
4020
|
+
}
|
|
4021
|
+
}
|
|
4022
|
+
);
|
|
4023
|
+
function InputGroupAddon({
|
|
4024
|
+
className,
|
|
4025
|
+
align = "inline-start",
|
|
4026
|
+
...props
|
|
4027
|
+
}) {
|
|
4028
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4029
|
+
"div",
|
|
4030
|
+
{
|
|
4031
|
+
role: "group",
|
|
4032
|
+
"data-slot": "input-group-addon",
|
|
4033
|
+
"data-align": align,
|
|
4034
|
+
className: cn(inputGroupAddonVariants({ align }), className),
|
|
4035
|
+
onClick: (e) => {
|
|
4036
|
+
if (e.target.closest("button")) {
|
|
4037
|
+
return;
|
|
4038
|
+
}
|
|
4039
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
4040
|
+
},
|
|
4041
|
+
...props
|
|
4042
|
+
}
|
|
4043
|
+
);
|
|
4044
|
+
}
|
|
4045
|
+
var inputGroupButtonVariants = classVarianceAuthority.cva(
|
|
4046
|
+
"text-sm shadow-none flex gap-2 items-center",
|
|
4047
|
+
{
|
|
4048
|
+
variants: {
|
|
4049
|
+
size: {
|
|
4050
|
+
xs: "h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",
|
|
4051
|
+
sm: "h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5",
|
|
4052
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
4053
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
4054
|
+
}
|
|
4055
|
+
},
|
|
4056
|
+
defaultVariants: {
|
|
4057
|
+
size: "xs"
|
|
4058
|
+
}
|
|
4059
|
+
}
|
|
4060
|
+
);
|
|
4061
|
+
function InputGroupButton({
|
|
4062
|
+
className,
|
|
4063
|
+
type = "button",
|
|
4064
|
+
variant = uikitContracts.ButtonVariant.Ghost,
|
|
4065
|
+
size = "xs",
|
|
4066
|
+
...props
|
|
4067
|
+
}) {
|
|
4068
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4069
|
+
Button,
|
|
4070
|
+
{
|
|
4071
|
+
type,
|
|
4072
|
+
"data-size": size,
|
|
4073
|
+
variant,
|
|
4074
|
+
className: cn(inputGroupButtonVariants({ size }), className),
|
|
4075
|
+
...props
|
|
4076
|
+
}
|
|
4077
|
+
);
|
|
4078
|
+
}
|
|
4079
|
+
function InputGroupText({ className, ...props }) {
|
|
4080
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4081
|
+
"span",
|
|
4082
|
+
{
|
|
4083
|
+
className: cn(
|
|
4084
|
+
"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
4085
|
+
className
|
|
4086
|
+
),
|
|
4087
|
+
...props
|
|
4088
|
+
}
|
|
4089
|
+
);
|
|
4090
|
+
}
|
|
4091
|
+
function InputGroupInput({
|
|
4092
|
+
className,
|
|
4093
|
+
...props
|
|
4094
|
+
}) {
|
|
4095
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4096
|
+
Input,
|
|
4097
|
+
{
|
|
4098
|
+
"data-slot": "input-group-control",
|
|
4099
|
+
className: cn(
|
|
4100
|
+
"flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",
|
|
4101
|
+
className
|
|
4102
|
+
),
|
|
4103
|
+
...props
|
|
4104
|
+
}
|
|
4105
|
+
);
|
|
4106
|
+
}
|
|
4107
|
+
function InputGroupTextarea({
|
|
4108
|
+
className,
|
|
4109
|
+
...props
|
|
4110
|
+
}) {
|
|
4111
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4112
|
+
Textarea,
|
|
4113
|
+
{
|
|
4114
|
+
"data-slot": "input-group-control",
|
|
4115
|
+
className: cn(
|
|
4116
|
+
"flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",
|
|
4117
|
+
className
|
|
4118
|
+
),
|
|
4119
|
+
...props
|
|
4120
|
+
}
|
|
4121
|
+
);
|
|
4122
|
+
}
|
|
4123
|
+
var CalendarIcon = ({
|
|
4124
|
+
className = "",
|
|
4125
|
+
...props
|
|
4126
|
+
}) => {
|
|
4127
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4128
|
+
"svg",
|
|
4129
|
+
{
|
|
4130
|
+
className,
|
|
4131
|
+
width: "16",
|
|
4132
|
+
height: "16",
|
|
4133
|
+
viewBox: "0 0 24 24",
|
|
4134
|
+
fill: "none",
|
|
4135
|
+
stroke: "currentColor",
|
|
4136
|
+
strokeWidth: "2",
|
|
4137
|
+
strokeLinecap: "round",
|
|
4138
|
+
strokeLinejoin: "round",
|
|
4139
|
+
...props,
|
|
4140
|
+
children: [
|
|
4141
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 2v4" }),
|
|
4142
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 2v4" }),
|
|
4143
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2" }),
|
|
4144
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 10h18" })
|
|
4145
|
+
]
|
|
4146
|
+
}
|
|
4147
|
+
);
|
|
4148
|
+
};
|
|
4149
|
+
var DatePickerContext = React24__namespace.createContext(null);
|
|
4150
|
+
function useDatePickerContext() {
|
|
4151
|
+
const context = React24__namespace.useContext(DatePickerContext);
|
|
4152
|
+
if (!context) {
|
|
4153
|
+
throw new Error("DatePicker components must be used within a DatePicker");
|
|
4154
|
+
}
|
|
4155
|
+
return context;
|
|
4156
|
+
}
|
|
4157
|
+
function defaultFormatDate(date) {
|
|
4158
|
+
return dateFns.format(date, "PPP");
|
|
4159
|
+
}
|
|
4160
|
+
function DatePicker({
|
|
4161
|
+
children,
|
|
4162
|
+
date: controlledDate,
|
|
4163
|
+
onDateChange,
|
|
4164
|
+
defaultDate,
|
|
4165
|
+
open: controlledOpen,
|
|
4166
|
+
onOpenChange,
|
|
4167
|
+
defaultOpen = false,
|
|
4168
|
+
formatDate: formatDateProp = defaultFormatDate
|
|
4169
|
+
}) {
|
|
4170
|
+
const [uncontrolledDate, setUncontrolledDate] = React24__namespace.useState(defaultDate);
|
|
4171
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React24__namespace.useState(defaultOpen);
|
|
4172
|
+
const isDateControlled = controlledDate !== void 0;
|
|
4173
|
+
const isOpenControlled = controlledOpen !== void 0;
|
|
4174
|
+
const date = isDateControlled ? controlledDate : uncontrolledDate;
|
|
4175
|
+
const open = isOpenControlled ? controlledOpen : uncontrolledOpen;
|
|
4176
|
+
const setDate = React24__namespace.useCallback((newDate) => {
|
|
4177
|
+
if (!isDateControlled) {
|
|
4178
|
+
setUncontrolledDate(newDate);
|
|
4179
|
+
}
|
|
4180
|
+
onDateChange?.(newDate);
|
|
4181
|
+
}, [isDateControlled, onDateChange]);
|
|
4182
|
+
const setOpen = React24__namespace.useCallback((newOpen) => {
|
|
4183
|
+
if (!isOpenControlled) {
|
|
4184
|
+
setUncontrolledOpen(newOpen);
|
|
4185
|
+
}
|
|
4186
|
+
onOpenChange?.(newOpen);
|
|
4187
|
+
}, [isOpenControlled, onOpenChange]);
|
|
4188
|
+
const contextValue = React24__namespace.useMemo(() => ({
|
|
4189
|
+
date,
|
|
4190
|
+
setDate,
|
|
4191
|
+
open,
|
|
4192
|
+
setOpen,
|
|
4193
|
+
formatDate: formatDateProp
|
|
4194
|
+
}), [date, setDate, open, setOpen, formatDateProp]);
|
|
4195
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DatePickerContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(Popover, { open, onOpenChange: setOpen, children }) });
|
|
4196
|
+
}
|
|
4197
|
+
function DatePickerTrigger({
|
|
4198
|
+
className,
|
|
4199
|
+
placeholder = "Pick a date",
|
|
4200
|
+
icon = "calendar",
|
|
4201
|
+
children,
|
|
4202
|
+
...props
|
|
4203
|
+
}) {
|
|
4204
|
+
const { date, formatDate } = useDatePickerContext();
|
|
4205
|
+
return /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4206
|
+
Button,
|
|
4207
|
+
{
|
|
4208
|
+
variant: uikitContracts.ButtonVariant.Outline,
|
|
4209
|
+
"data-slot": "date-picker-trigger",
|
|
4210
|
+
"data-empty": !date,
|
|
4211
|
+
className: cn(
|
|
4212
|
+
"w-[280px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground",
|
|
4213
|
+
className
|
|
4214
|
+
),
|
|
4215
|
+
...props,
|
|
4216
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4217
|
+
icon === "calendar" && /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, { className: "mr-2 size-4" }),
|
|
4218
|
+
date ? formatDate(date) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: placeholder }),
|
|
4219
|
+
icon === "chevron" && /* @__PURE__ */ jsxRuntime.jsx(ChevronDownIcon, { className: "ml-auto size-4" })
|
|
4220
|
+
] })
|
|
4221
|
+
}
|
|
4222
|
+
) });
|
|
4223
|
+
}
|
|
4224
|
+
function DatePickerContent({
|
|
4225
|
+
className,
|
|
4226
|
+
calendarProps,
|
|
4227
|
+
children,
|
|
4228
|
+
align = "start",
|
|
4229
|
+
...props
|
|
4230
|
+
}) {
|
|
4231
|
+
const { date, setDate, setOpen } = useDatePickerContext();
|
|
4232
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4233
|
+
PopoverContent,
|
|
4234
|
+
{
|
|
4235
|
+
"data-slot": "date-picker-content",
|
|
4236
|
+
className: cn("w-auto overflow-hidden p-0", className),
|
|
4237
|
+
align,
|
|
4238
|
+
...props,
|
|
4239
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4240
|
+
Calendar,
|
|
4241
|
+
{
|
|
4242
|
+
mode: "single",
|
|
4243
|
+
selected: date,
|
|
4244
|
+
onSelect: (newDate) => {
|
|
4245
|
+
setDate(newDate);
|
|
4246
|
+
setOpen(false);
|
|
4247
|
+
},
|
|
4248
|
+
...calendarProps
|
|
4249
|
+
}
|
|
4250
|
+
)
|
|
4251
|
+
}
|
|
4252
|
+
);
|
|
4253
|
+
}
|
|
4254
|
+
function DatePickerInput({
|
|
4255
|
+
className,
|
|
4256
|
+
inputProps,
|
|
4257
|
+
placeholder = "Select date",
|
|
4258
|
+
id
|
|
4259
|
+
}) {
|
|
4260
|
+
const { date, setDate, setOpen, formatDate } = useDatePickerContext();
|
|
4261
|
+
const [inputValue, setInputValue] = React24__namespace.useState(date ? formatDate(date) : "");
|
|
4262
|
+
const [month, setMonth] = React24__namespace.useState(date);
|
|
4263
|
+
React24__namespace.useEffect(() => {
|
|
4264
|
+
setInputValue(date ? formatDate(date) : "");
|
|
4265
|
+
}, [date, formatDate]);
|
|
4266
|
+
const handleInputChange = (e) => {
|
|
4267
|
+
const value = e.target.value;
|
|
4268
|
+
setInputValue(value);
|
|
4269
|
+
const parsed = new Date(value);
|
|
4270
|
+
if (!isNaN(parsed.getTime())) {
|
|
4271
|
+
setDate(parsed);
|
|
4272
|
+
setMonth(parsed);
|
|
4273
|
+
}
|
|
4274
|
+
};
|
|
4275
|
+
const handleKeyDown = (e) => {
|
|
4276
|
+
if (e.key === "ArrowDown") {
|
|
4277
|
+
e.preventDefault();
|
|
4278
|
+
setOpen(true);
|
|
4279
|
+
}
|
|
4280
|
+
};
|
|
4281
|
+
const handleCalendarSelect = (newDate) => {
|
|
4282
|
+
setDate(newDate);
|
|
4283
|
+
setInputValue(newDate ? formatDate(newDate) : "");
|
|
4284
|
+
setOpen(false);
|
|
4285
|
+
};
|
|
4286
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative flex gap-2", className), "data-slot": "date-picker-input", children: [
|
|
4287
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4288
|
+
Input,
|
|
4289
|
+
{
|
|
4290
|
+
id,
|
|
4291
|
+
value: inputValue,
|
|
4292
|
+
placeholder,
|
|
4293
|
+
className: "bg-background pr-10",
|
|
4294
|
+
onChange: handleInputChange,
|
|
4295
|
+
onKeyDown: handleKeyDown,
|
|
4296
|
+
...inputProps
|
|
4297
|
+
}
|
|
4298
|
+
),
|
|
4299
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4300
|
+
Button,
|
|
4301
|
+
{
|
|
4302
|
+
variant: uikitContracts.ButtonVariant.Ghost,
|
|
4303
|
+
className: "absolute top-1/2 right-2 size-6 -translate-y-1/2 p-0",
|
|
4304
|
+
"aria-label": "Select date",
|
|
4305
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, { className: "size-3.5" })
|
|
4306
|
+
}
|
|
4307
|
+
) }),
|
|
4308
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4309
|
+
PopoverContent,
|
|
4310
|
+
{
|
|
4311
|
+
className: "w-auto overflow-hidden p-0",
|
|
4312
|
+
align: "end",
|
|
4313
|
+
alignOffset: -8,
|
|
4314
|
+
sideOffset: 10,
|
|
4315
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4316
|
+
Calendar,
|
|
4317
|
+
{
|
|
4318
|
+
mode: "single",
|
|
4319
|
+
selected: date,
|
|
4320
|
+
captionLayout: "dropdown",
|
|
4321
|
+
month,
|
|
4322
|
+
onMonthChange: setMonth,
|
|
4323
|
+
onSelect: handleCalendarSelect
|
|
4324
|
+
}
|
|
4325
|
+
)
|
|
4326
|
+
}
|
|
4327
|
+
)
|
|
4328
|
+
] });
|
|
4329
|
+
}
|
|
4330
|
+
var Sidebar = React24__namespace.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
|
|
2858
4331
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2859
4332
|
"aside",
|
|
2860
4333
|
{
|
|
@@ -2873,7 +4346,7 @@ var Sidebar = React20__namespace.forwardRef(({ collapsed = false, className, chi
|
|
|
2873
4346
|
);
|
|
2874
4347
|
});
|
|
2875
4348
|
Sidebar.displayName = "Sidebar";
|
|
2876
|
-
var SidebarContent =
|
|
4349
|
+
var SidebarContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2877
4350
|
"div",
|
|
2878
4351
|
{
|
|
2879
4352
|
ref,
|
|
@@ -2887,7 +4360,7 @@ var SidebarContent = React20__namespace.forwardRef(({ className, ...props }, ref
|
|
|
2887
4360
|
}
|
|
2888
4361
|
));
|
|
2889
4362
|
SidebarContent.displayName = "SidebarContent";
|
|
2890
|
-
var SidebarMenu =
|
|
4363
|
+
var SidebarMenu = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2891
4364
|
"ul",
|
|
2892
4365
|
{
|
|
2893
4366
|
ref,
|
|
@@ -2897,7 +4370,7 @@ var SidebarMenu = React20__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
2897
4370
|
}
|
|
2898
4371
|
));
|
|
2899
4372
|
SidebarMenu.displayName = "SidebarMenu";
|
|
2900
|
-
var SidebarMenuItem =
|
|
4373
|
+
var SidebarMenuItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2901
4374
|
"li",
|
|
2902
4375
|
{
|
|
2903
4376
|
ref,
|
|
@@ -2929,7 +4402,7 @@ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
|
|
|
2929
4402
|
}
|
|
2930
4403
|
}
|
|
2931
4404
|
);
|
|
2932
|
-
var SidebarMenuButton =
|
|
4405
|
+
var SidebarMenuButton = React24__namespace.forwardRef(
|
|
2933
4406
|
({
|
|
2934
4407
|
asChild = false,
|
|
2935
4408
|
isActive = false,
|
|
@@ -2955,7 +4428,7 @@ var SidebarMenuButton = React20__namespace.forwardRef(
|
|
|
2955
4428
|
}
|
|
2956
4429
|
);
|
|
2957
4430
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
2958
|
-
var SidebarMenuIcon =
|
|
4431
|
+
var SidebarMenuIcon = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2959
4432
|
"span",
|
|
2960
4433
|
{
|
|
2961
4434
|
ref,
|
|
@@ -2964,7 +4437,7 @@ var SidebarMenuIcon = React20__namespace.forwardRef(({ className, ...props }, re
|
|
|
2964
4437
|
}
|
|
2965
4438
|
));
|
|
2966
4439
|
SidebarMenuIcon.displayName = "SidebarMenuIcon";
|
|
2967
|
-
var SidebarMenuLabel =
|
|
4440
|
+
var SidebarMenuLabel = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2968
4441
|
"span",
|
|
2969
4442
|
{
|
|
2970
4443
|
ref,
|
|
@@ -2973,7 +4446,7 @@ var SidebarMenuLabel = React20__namespace.forwardRef(({ className, ...props }, r
|
|
|
2973
4446
|
}
|
|
2974
4447
|
));
|
|
2975
4448
|
SidebarMenuLabel.displayName = "SidebarMenuLabel";
|
|
2976
|
-
var SidebarHeader =
|
|
4449
|
+
var SidebarHeader = React24__namespace.forwardRef(
|
|
2977
4450
|
({ logo, logoText, collapsed = false, onClick, className, ...props }, ref) => {
|
|
2978
4451
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2979
4452
|
"div",
|
|
@@ -2996,7 +4469,7 @@ var SidebarHeader = React20__namespace.forwardRef(
|
|
|
2996
4469
|
}
|
|
2997
4470
|
);
|
|
2998
4471
|
SidebarHeader.displayName = "SidebarHeader";
|
|
2999
|
-
var UserInfo =
|
|
4472
|
+
var UserInfo = React24__namespace.default.forwardRef(
|
|
3000
4473
|
({ displayName, email, avatarUrl, className, loading }, ref) => {
|
|
3001
4474
|
const getInitials = () => {
|
|
3002
4475
|
if (!displayName) return lodash.toUpper(email?.[0] || "") || "?";
|
|
@@ -3342,32 +4815,6 @@ var CloseIcon = ({ className = "" }) => {
|
|
|
3342
4815
|
}
|
|
3343
4816
|
);
|
|
3344
4817
|
};
|
|
3345
|
-
var CalendarIcon = ({
|
|
3346
|
-
className = "",
|
|
3347
|
-
...props
|
|
3348
|
-
}) => {
|
|
3349
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3350
|
-
"svg",
|
|
3351
|
-
{
|
|
3352
|
-
className,
|
|
3353
|
-
width: "16",
|
|
3354
|
-
height: "16",
|
|
3355
|
-
viewBox: "0 0 24 24",
|
|
3356
|
-
fill: "none",
|
|
3357
|
-
stroke: "currentColor",
|
|
3358
|
-
strokeWidth: "2",
|
|
3359
|
-
strokeLinecap: "round",
|
|
3360
|
-
strokeLinejoin: "round",
|
|
3361
|
-
...props,
|
|
3362
|
-
children: [
|
|
3363
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 2v4" }),
|
|
3364
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 2v4" }),
|
|
3365
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2" }),
|
|
3366
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 10h18" })
|
|
3367
|
-
]
|
|
3368
|
-
}
|
|
3369
|
-
);
|
|
3370
|
-
};
|
|
3371
4818
|
|
|
3372
4819
|
// src/styles/applyTheme.ts
|
|
3373
4820
|
var hslToVar = (color) => {
|
|
@@ -3448,6 +4895,34 @@ Object.defineProperty(exports, "IconButtonSize", {
|
|
|
3448
4895
|
enumerable: true,
|
|
3449
4896
|
get: function () { return uikitContracts.IconButtonSize; }
|
|
3450
4897
|
});
|
|
4898
|
+
Object.defineProperty(exports, "flexRender", {
|
|
4899
|
+
enumerable: true,
|
|
4900
|
+
get: function () { return reactTable.flexRender; }
|
|
4901
|
+
});
|
|
4902
|
+
Object.defineProperty(exports, "getCoreRowModel", {
|
|
4903
|
+
enumerable: true,
|
|
4904
|
+
get: function () { return reactTable.getCoreRowModel; }
|
|
4905
|
+
});
|
|
4906
|
+
Object.defineProperty(exports, "getFilteredRowModel", {
|
|
4907
|
+
enumerable: true,
|
|
4908
|
+
get: function () { return reactTable.getFilteredRowModel; }
|
|
4909
|
+
});
|
|
4910
|
+
Object.defineProperty(exports, "getPaginationRowModel", {
|
|
4911
|
+
enumerable: true,
|
|
4912
|
+
get: function () { return reactTable.getPaginationRowModel; }
|
|
4913
|
+
});
|
|
4914
|
+
Object.defineProperty(exports, "getSortedRowModel", {
|
|
4915
|
+
enumerable: true,
|
|
4916
|
+
get: function () { return reactTable.getSortedRowModel; }
|
|
4917
|
+
});
|
|
4918
|
+
Object.defineProperty(exports, "useReactTable", {
|
|
4919
|
+
enumerable: true,
|
|
4920
|
+
get: function () { return reactTable.useReactTable; }
|
|
4921
|
+
});
|
|
4922
|
+
Object.defineProperty(exports, "toast", {
|
|
4923
|
+
enumerable: true,
|
|
4924
|
+
get: function () { return sonner.toast; }
|
|
4925
|
+
});
|
|
3451
4926
|
Object.defineProperty(exports, "Area", {
|
|
3452
4927
|
enumerable: true,
|
|
3453
4928
|
get: function () { return recharts.Area; }
|
|
@@ -3632,6 +5107,20 @@ exports.Accordion = Accordion;
|
|
|
3632
5107
|
exports.AccordionContent = AccordionContent;
|
|
3633
5108
|
exports.AccordionItem = AccordionItem;
|
|
3634
5109
|
exports.AccordionTrigger = AccordionTrigger;
|
|
5110
|
+
exports.Alert = Alert;
|
|
5111
|
+
exports.AlertDescription = AlertDescription;
|
|
5112
|
+
exports.AlertDialog = AlertDialog;
|
|
5113
|
+
exports.AlertDialogAction = AlertDialogAction;
|
|
5114
|
+
exports.AlertDialogCancel = AlertDialogCancel;
|
|
5115
|
+
exports.AlertDialogContent = AlertDialogContent;
|
|
5116
|
+
exports.AlertDialogDescription = AlertDialogDescription;
|
|
5117
|
+
exports.AlertDialogFooter = AlertDialogFooter;
|
|
5118
|
+
exports.AlertDialogHeader = AlertDialogHeader;
|
|
5119
|
+
exports.AlertDialogOverlay = AlertDialogOverlay;
|
|
5120
|
+
exports.AlertDialogPortal = AlertDialogPortal;
|
|
5121
|
+
exports.AlertDialogTitle = AlertDialogTitle;
|
|
5122
|
+
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
5123
|
+
exports.AlertTitle = AlertTitle;
|
|
3635
5124
|
exports.AspectRatio = AspectRatio;
|
|
3636
5125
|
exports.Avatar = Avatar;
|
|
3637
5126
|
exports.AvatarFallback = AvatarFallback;
|
|
@@ -3688,6 +5177,14 @@ exports.ContextMenuSub = ContextMenuSub;
|
|
|
3688
5177
|
exports.ContextMenuSubContent = ContextMenuSubContent;
|
|
3689
5178
|
exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
|
|
3690
5179
|
exports.ContextMenuTrigger = ContextMenuTrigger;
|
|
5180
|
+
exports.DataTable = DataTable;
|
|
5181
|
+
exports.DataTableColumnHeader = DataTableColumnHeader;
|
|
5182
|
+
exports.DataTablePagination = DataTablePagination;
|
|
5183
|
+
exports.DataTableViewOptions = DataTableViewOptions;
|
|
5184
|
+
exports.DatePicker = DatePicker;
|
|
5185
|
+
exports.DatePickerContent = DatePickerContent;
|
|
5186
|
+
exports.DatePickerInput = DatePickerInput;
|
|
5187
|
+
exports.DatePickerTrigger = DatePickerTrigger;
|
|
3691
5188
|
exports.Dialog = Dialog;
|
|
3692
5189
|
exports.DialogClose = DialogClose;
|
|
3693
5190
|
exports.DialogContent = DialogContent;
|
|
@@ -3724,16 +5221,55 @@ exports.DropdownMenuSub = DropdownMenuSub;
|
|
|
3724
5221
|
exports.DropdownMenuSubContent = DropdownMenuSubContent;
|
|
3725
5222
|
exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
|
|
3726
5223
|
exports.DropdownMenuTrigger = DropdownMenuTrigger;
|
|
5224
|
+
exports.Empty = Empty;
|
|
5225
|
+
exports.EmptyContent = EmptyContent;
|
|
5226
|
+
exports.EmptyDescription = EmptyDescription;
|
|
5227
|
+
exports.EmptyHeader = EmptyHeader;
|
|
5228
|
+
exports.EmptyMedia = EmptyMedia;
|
|
5229
|
+
exports.EmptyTitle = EmptyTitle;
|
|
5230
|
+
exports.Field = Field;
|
|
5231
|
+
exports.FieldContent = FieldContent;
|
|
5232
|
+
exports.FieldDescription = FieldDescription;
|
|
5233
|
+
exports.FieldError = FieldError;
|
|
5234
|
+
exports.FieldGroup = FieldGroup;
|
|
5235
|
+
exports.FieldLabel = FieldLabel;
|
|
5236
|
+
exports.FieldLegend = FieldLegend;
|
|
5237
|
+
exports.FieldSeparator = FieldSeparator;
|
|
5238
|
+
exports.FieldSet = FieldSet;
|
|
5239
|
+
exports.FieldTitle = FieldTitle;
|
|
5240
|
+
exports.Form = Form;
|
|
5241
|
+
exports.FormControl = FormControl;
|
|
5242
|
+
exports.FormDescription = FormDescription;
|
|
5243
|
+
exports.FormField = FormField;
|
|
5244
|
+
exports.FormItem = FormItem;
|
|
5245
|
+
exports.FormLabel = FormLabel;
|
|
5246
|
+
exports.FormMessage = FormMessage;
|
|
3727
5247
|
exports.Header = Header;
|
|
3728
5248
|
exports.HoverCard = HoverCard;
|
|
3729
5249
|
exports.HoverCardContent = HoverCardContent;
|
|
3730
5250
|
exports.HoverCardTrigger = HoverCardTrigger;
|
|
3731
5251
|
exports.IconButton = IconButton;
|
|
3732
5252
|
exports.Input = Input;
|
|
5253
|
+
exports.InputGroup = InputGroup;
|
|
5254
|
+
exports.InputGroupAddon = InputGroupAddon;
|
|
5255
|
+
exports.InputGroupButton = InputGroupButton;
|
|
5256
|
+
exports.InputGroupInput = InputGroupInput;
|
|
5257
|
+
exports.InputGroupText = InputGroupText;
|
|
5258
|
+
exports.InputGroupTextarea = InputGroupTextarea;
|
|
3733
5259
|
exports.InputOTP = InputOTP;
|
|
3734
5260
|
exports.InputOTPGroup = InputOTPGroup;
|
|
3735
5261
|
exports.InputOTPSeparator = InputOTPSeparator;
|
|
3736
5262
|
exports.InputOTPSlot = InputOTPSlot;
|
|
5263
|
+
exports.Item = Item6;
|
|
5264
|
+
exports.ItemActions = ItemActions;
|
|
5265
|
+
exports.ItemContent = ItemContent;
|
|
5266
|
+
exports.ItemDescription = ItemDescription;
|
|
5267
|
+
exports.ItemFooter = ItemFooter;
|
|
5268
|
+
exports.ItemGroup = ItemGroup;
|
|
5269
|
+
exports.ItemHeader = ItemHeader;
|
|
5270
|
+
exports.ItemMedia = ItemMedia;
|
|
5271
|
+
exports.ItemSeparator = ItemSeparator;
|
|
5272
|
+
exports.ItemTitle = ItemTitle;
|
|
3737
5273
|
exports.Label = Label;
|
|
3738
5274
|
exports.MENU_ICON_ID = MENU_ICON_ID;
|
|
3739
5275
|
exports.MenuIcon = MenuIcon;
|
|
@@ -3795,7 +5331,7 @@ exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
|
3795
5331
|
exports.SelectSeparator = SelectSeparator;
|
|
3796
5332
|
exports.SelectTrigger = SelectTrigger;
|
|
3797
5333
|
exports.SelectValue = SelectValue;
|
|
3798
|
-
exports.Separator =
|
|
5334
|
+
exports.Separator = Separator;
|
|
3799
5335
|
exports.Sheet = Sheet;
|
|
3800
5336
|
exports.SheetClose = SheetClose;
|
|
3801
5337
|
exports.SheetContent = SheetContent;
|
|
@@ -3821,18 +5357,30 @@ exports.SliderThumb = SliderThumb;
|
|
|
3821
5357
|
exports.SliderTrack = SliderTrack;
|
|
3822
5358
|
exports.Spinner = Spinner;
|
|
3823
5359
|
exports.Switch = Switch;
|
|
5360
|
+
exports.Table = Table;
|
|
5361
|
+
exports.TableBody = TableBody;
|
|
5362
|
+
exports.TableCaption = TableCaption;
|
|
5363
|
+
exports.TableCell = TableCell;
|
|
5364
|
+
exports.TableFooter = TableFooter;
|
|
5365
|
+
exports.TableHead = TableHead;
|
|
5366
|
+
exports.TableHeader = TableHeader;
|
|
5367
|
+
exports.TableRow = TableRow;
|
|
3824
5368
|
exports.Tabs = Tabs;
|
|
3825
5369
|
exports.TabsContent = TabsContent;
|
|
3826
5370
|
exports.TabsList = TabsList;
|
|
3827
5371
|
exports.TabsTrigger = TabsTrigger;
|
|
3828
5372
|
exports.Textarea = Textarea;
|
|
3829
5373
|
exports.ThreadList = ThreadList;
|
|
5374
|
+
exports.Toaster = Toaster;
|
|
3830
5375
|
exports.Tooltip = Tooltip;
|
|
3831
5376
|
exports.TooltipContent = TooltipContent;
|
|
3832
5377
|
exports.TooltipProvider = TooltipProvider;
|
|
3833
5378
|
exports.TooltipTrigger = TooltipTrigger;
|
|
3834
5379
|
exports.UserInfo = UserInfo;
|
|
5380
|
+
exports.alertVariants = alertVariants;
|
|
3835
5381
|
exports.applyTheme = applyTheme;
|
|
3836
5382
|
exports.badgeVariants = badgeVariants;
|
|
5383
|
+
exports.emptyMediaVariants = emptyMediaVariants;
|
|
5384
|
+
exports.useFormField = useFormField;
|
|
3837
5385
|
//# sourceMappingURL=index.cjs.map
|
|
3838
5386
|
//# sourceMappingURL=index.cjs.map
|