@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 CHANGED
@@ -1,24 +1,30 @@
1
1
  'use strict';
2
2
 
3
- var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
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 React20__namespace = /*#__PURE__*/_interopNamespace(React20);
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/aspect-ratio.tsx
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 cn(...inputs) {
94
- return tailwindMerge.twMerge(clsx.clsx(inputs));
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(
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 = React20__namespace.useRef(null);
402
- React20__namespace.useEffect(() => {
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 = React20__namespace.useContext(inputOtp.OTPInputContext);
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 = React20__namespace.forwardRef(
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
- var Textarea = React20__namespace.forwardRef(
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
- inheritColor = false,
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
- "animate-pulse rounded-md",
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 Spinner = React20__namespace.forwardRef(
772
- ({ className, icon: Icon2 = lucideReact.Loader2, size = "size-4", ...props }, ref) => {
773
- const textColorClasses = className?.match(/\btext-\S+/g)?.join(" ") || "";
774
- const wrapperClasses = lodash.trim(className?.replace(/\btext-\S+/g, "") || "");
775
- return /* @__PURE__ */ jsxRuntime.jsx(
776
- "div",
777
- {
778
- ref,
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { ref, ...props }));
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 = React20__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.default.forwardRef(
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 = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 Separator2({
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
- SeparatorPrimitive__namespace.Root,
3252
+ Separator,
2002
3253
  {
2003
- "data-slot": "separator",
2004
- decorative,
2005
- orientation,
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
- "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
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 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
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 = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.createContext(null);
3453
+ var CarouselContext = React24__namespace.createContext(null);
2062
3454
  function useCarousel() {
2063
- const context = React20__namespace.useContext(CarouselContext);
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 = React20__namespace.forwardRef(
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] = React20__namespace.useState(false);
2087
- const [canScrollNext, setCanScrollNext] = React20__namespace.useState(false);
2088
- const onSelect = React20__namespace.useCallback((api2) => {
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 = React20__namespace.useCallback(() => {
3485
+ const scrollPrev = React24__namespace.useCallback(() => {
2094
3486
  api?.scrollPrev();
2095
3487
  }, [api]);
2096
- const scrollNext = React20__namespace.useCallback(() => {
3488
+ const scrollNext = React24__namespace.useCallback(() => {
2097
3489
  api?.scrollNext();
2098
3490
  }, [api]);
2099
- const handleKeyDown = React20__namespace.useCallback(
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
- React20__namespace.useEffect(() => {
3503
+ React24__namespace.useEffect(() => {
2112
3504
  if (!api || !setApi) return;
2113
3505
  setApi(api);
2114
3506
  }, [api, setApi]);
2115
- React20__namespace.useEffect(() => {
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => {
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => {
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 = React20__namespace.forwardRef(({ className, variant = uikitContracts.ButtonVariant.Outline, size = uikitContracts.ButtonSize.Icon, ...props }, ref) => {
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 = React20__namespace.forwardRef(({ className, variant = uikitContracts.ButtonVariant.Outline, size = uikitContracts.ButtonSize.Icon, ...props }, ref) => {
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 = React20__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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
- className: cn("px-2 py-1.5 text-sm font-semibold", className),
3644
+ "data-slot": "collapsible",
2453
3645
  ...props
2454
3646
  }
2455
3647
  ));
2456
- SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
2457
- var SelectItem = React20__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2458
- SelectPrimitive__namespace.Item,
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
- className: cn("-mx-1 my-1 h-px bg-muted", className),
3653
+ "data-slot": "collapsible-trigger",
2478
3654
  ...props
2479
3655
  }
2480
3656
  ));
2481
- SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
2482
- var DropdownMenu = ({ dir, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2483
- DropdownMenuPrimitive__namespace.Root,
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
- className: cn(
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
- DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
2551
- var DropdownMenuCheckboxItem = React20__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2552
- DropdownMenuPrimitive__namespace.CheckboxItem,
2553
- {
2554
- ref,
2555
- className: cn(
2556
- "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",
2557
- className
2558
- ),
2559
- checked,
2560
- ...props,
2561
- children: [
2562
- /* @__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" }) }) }),
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
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
2584
- var DropdownMenuLabel = React20__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2585
- DropdownMenuPrimitive__namespace.Label,
2586
- {
2587
- ref,
2588
- className: cn(
2589
- "px-2 py-1.5 text-sm font-semibold",
2590
- inset && "pl-8",
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
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
2606
- var DropdownMenuShortcut = ({
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
- ...props
2609
- }) => {
3722
+ payload
3723
+ }) {
3724
+ if (!payload || payload.length === 0) {
3725
+ return null;
3726
+ }
2610
3727
  return /* @__PURE__ */ jsxRuntime.jsx(
2611
- "span",
3728
+ "div",
2612
3729
  {
2613
- className: cn("ml-auto text-xs tracking-widest opacity-60", className),
2614
- ...props
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 = React20__namespace.default.forwardRef(
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 = React20__namespace.default.forwardRef(({ children, variant = uikitContracts.ButtonVariant.Outline, className, ...props }, ref) => {
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
- var Sidebar = React20__namespace.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
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 = React20__namespace.forwardRef(
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 = React20__namespace.default.forwardRef(
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 = Separator2;
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