@hai3/uikit 0.1.0-alpha.1 → 0.1.0-alpha.3

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.mjs CHANGED
@@ -1,29 +1,49 @@
1
- import * as React16 from 'react';
2
- import React16__default from 'react';
1
+ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import * as React18 from 'react';
4
+ import React18__default from 'react';
3
5
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
4
6
  import { clsx } from 'clsx';
5
7
  import { twMerge } from 'tailwind-merge';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
7
8
  import { Slot } from '@radix-ui/react-slot';
8
9
  import { cva } from 'class-variance-authority';
9
10
  import { ButtonSize, ButtonVariant, IconButtonSize } from '@hai3/uikit-contracts';
10
11
  export { ButtonSize, ButtonVariant, IconButtonSize } from '@hai3/uikit-contracts';
12
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
11
13
  import * as SwitchPrimitives from '@radix-ui/react-switch';
12
- import { Loader2, ChevronDown, X, ChevronUp, Check, ChevronRight, Circle, User, Bot, Paperclip, Send, Plus, Search } from 'lucide-react';
14
+ import { Loader2, ChevronDown, X, ArrowLeft, ArrowRight, ChevronUp, Check, ChevronRight, MoreHorizontal, GripVertical, User, Bot, Paperclip, Send, Plus, Search } from 'lucide-react';
13
15
  import { trim, toUpper } from 'lodash';
14
16
  import * as SliderPrimitive from '@radix-ui/react-slider';
15
17
  import * as ProgressPrimitive from '@radix-ui/react-progress';
16
18
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
19
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
20
+ import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
17
21
  import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
22
+ import * as MenubarPrimitive from '@radix-ui/react-menubar';
23
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
18
24
  import * as SheetPrimitive from '@radix-ui/react-dialog';
25
+ import { Drawer as Drawer$1 } from 'vaul';
26
+ import * as ResizablePrimitive from 'react-resizable-panels';
27
+ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
28
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
29
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
30
+ import useEmblaCarousel from 'embla-carousel-react';
31
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
32
+ export { Area, AreaChart, Bar, BarChart, Brush, CartesianGrid, Cell, Legend as ChartLegend, Tooltip as ChartTooltip, ComposedChart, Cross, Curve, Customized, Dot, ErrorBar, Funnel, FunnelChart, Label, LabelList, Line, LineChart, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Polygon, Radar, RadarChart, RadialBar, RadialBarChart, Rectangle, ReferenceArea, ReferenceDot, ReferenceLine, ResponsiveContainer, Sankey, Scatter, ScatterChart, Sector, Text, Treemap, XAxis, YAxis, ZAxis } from 'recharts';
19
33
  import * as SelectPrimitive from '@radix-ui/react-select';
20
34
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
35
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
21
36
 
22
- // src/base/avatar.tsx
37
+ // src/base/aspect-ratio.tsx
38
+ function AspectRatio({
39
+ ...props
40
+ }) {
41
+ return /* @__PURE__ */ jsx(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
42
+ }
23
43
  function cn(...inputs) {
24
44
  return twMerge(clsx(inputs));
25
45
  }
26
- var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
46
+ var Avatar = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
27
47
  AvatarPrimitive.Root,
28
48
  {
29
49
  ref,
@@ -35,7 +55,7 @@ var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
35
55
  }
36
56
  ));
37
57
  Avatar.displayName = AvatarPrimitive.Root.displayName;
38
- var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
58
+ var AvatarImage = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
39
59
  AvatarPrimitive.Image,
40
60
  {
41
61
  ref,
@@ -44,7 +64,7 @@ var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
44
64
  }
45
65
  ));
46
66
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
47
- var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
67
+ var AvatarFallback = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
48
68
  AvatarPrimitive.Fallback,
49
69
  {
50
70
  ref,
@@ -81,7 +101,7 @@ var buttonVariants = cva(
81
101
  }
82
102
  }
83
103
  );
84
- var Button = React16.forwardRef(
104
+ var Button = React18.forwardRef(
85
105
  ({ className, variant, size, asChild = false, ...props }, ref) => {
86
106
  const Comp = asChild ? Slot : "button";
87
107
  return /* @__PURE__ */ jsx(
@@ -126,7 +146,48 @@ function Badge({
126
146
  }
127
147
  );
128
148
  }
129
- var Input = React16.forwardRef(
149
+ var CheckIcon = ({ className = "" }) => {
150
+ return /* @__PURE__ */ jsx(
151
+ "svg",
152
+ {
153
+ className,
154
+ width: "16",
155
+ height: "16",
156
+ viewBox: "0 0 24 24",
157
+ fill: "none",
158
+ stroke: "currentColor",
159
+ strokeWidth: "2",
160
+ strokeLinecap: "round",
161
+ strokeLinejoin: "round",
162
+ children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" })
163
+ }
164
+ );
165
+ };
166
+ function Checkbox({
167
+ className,
168
+ ...props
169
+ }) {
170
+ return /* @__PURE__ */ jsx(
171
+ CheckboxPrimitive.Root,
172
+ {
173
+ "data-slot": "checkbox",
174
+ className: cn(
175
+ "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
176
+ className
177
+ ),
178
+ ...props,
179
+ children: /* @__PURE__ */ jsx(
180
+ CheckboxPrimitive.Indicator,
181
+ {
182
+ "data-slot": "checkbox-indicator",
183
+ className: "grid place-content-center text-current transition-none",
184
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" })
185
+ }
186
+ )
187
+ }
188
+ );
189
+ }
190
+ var Input = React18.forwardRef(
130
191
  ({ className, type, ...props }, ref) => {
131
192
  return /* @__PURE__ */ jsx(
132
193
  "input",
@@ -143,10 +204,10 @@ var Input = React16.forwardRef(
143
204
  }
144
205
  );
145
206
  Input.displayName = "Input";
146
- var Textarea = React16.forwardRef(
207
+ var Textarea = React18.forwardRef(
147
208
  ({ className, autoResize = false, minHeight = 50, maxHeight = 350, size = "default", onChange, ...props }, ref) => {
148
- const internalRef = React16.useRef(null);
149
- React16.useImperativeHandle(ref, () => internalRef.current);
209
+ const internalRef = React18.useRef(null);
210
+ React18.useImperativeHandle(ref, () => internalRef.current);
150
211
  const sizeClasses = {
151
212
  sm: "min-h-11 h-11",
152
213
  // 44px / 2.75rem - exact height
@@ -163,7 +224,7 @@ var Textarea = React16.forwardRef(
163
224
  lg: "py-2"
164
225
  // 8px top + 8px bottom (default)
165
226
  };
166
- const handleResize = React16.useCallback(() => {
227
+ const handleResize = React18.useCallback(() => {
167
228
  if (autoResize && size !== "sm" && internalRef.current) {
168
229
  const textarea = internalRef.current;
169
230
  textarea.style.height = "auto";
@@ -171,10 +232,10 @@ var Textarea = React16.forwardRef(
171
232
  textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;
172
233
  }
173
234
  }, [autoResize, size, minHeight, maxHeight]);
174
- React16.useEffect(() => {
235
+ React18.useEffect(() => {
175
236
  handleResize();
176
237
  }, [handleResize, props.value]);
177
- const handleChange = React16.useCallback(
238
+ const handleChange = React18.useCallback(
178
239
  (e) => {
179
240
  handleResize();
180
241
  onChange?.(e);
@@ -198,7 +259,7 @@ var Textarea = React16.forwardRef(
198
259
  }
199
260
  );
200
261
  Textarea.displayName = "Textarea";
201
- var Switch = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
262
+ var Switch = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
202
263
  SwitchPrimitives.Root,
203
264
  {
204
265
  className: cn(
@@ -237,7 +298,7 @@ function Skeleton({
237
298
  }
238
299
  );
239
300
  }
240
- var Spinner = React16.forwardRef(
301
+ var Spinner = React18.forwardRef(
241
302
  ({ className, icon: Icon2 = Loader2, size = "size-4", ...props }, ref) => {
242
303
  const textColorClasses = className?.match(/\btext-\S+/g)?.join(" ") || "";
243
304
  const wrapperClasses = trim(className?.replace(/\btext-\S+/g, "") || "");
@@ -253,7 +314,7 @@ var Spinner = React16.forwardRef(
253
314
  }
254
315
  );
255
316
  Spinner.displayName = "Spinner";
256
- var Slider = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
317
+ var Slider = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
257
318
  SliderPrimitive.Root,
258
319
  {
259
320
  ref,
@@ -265,7 +326,7 @@ var Slider = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
265
326
  }
266
327
  ));
267
328
  Slider.displayName = SliderPrimitive.Root.displayName;
268
- var SliderTrack = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
329
+ var SliderTrack = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
269
330
  SliderPrimitive.Track,
270
331
  {
271
332
  ref,
@@ -277,7 +338,7 @@ var SliderTrack = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
277
338
  }
278
339
  ));
279
340
  SliderTrack.displayName = SliderPrimitive.Track.displayName;
280
- var SliderRange = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
341
+ var SliderRange = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
281
342
  SliderPrimitive.Range,
282
343
  {
283
344
  ref,
@@ -286,7 +347,7 @@ var SliderRange = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
286
347
  }
287
348
  ));
288
349
  SliderRange.displayName = SliderPrimitive.Range.displayName;
289
- var SliderThumb = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
350
+ var SliderThumb = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
290
351
  SliderPrimitive.Thumb,
291
352
  {
292
353
  ref,
@@ -298,7 +359,7 @@ var SliderThumb = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
298
359
  }
299
360
  ));
300
361
  SliderThumb.displayName = SliderPrimitive.Thumb.displayName;
301
- var Progress = React16.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
362
+ var Progress = React18.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
302
363
  ProgressPrimitive.Root,
303
364
  {
304
365
  ref,
@@ -332,9 +393,9 @@ var Tooltip = ({
332
393
  ...props
333
394
  }) => /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { ...props }) });
334
395
  Tooltip.displayName = TooltipPrimitive.Root.displayName;
335
- var TooltipTrigger = React16.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { ref, ...props }));
396
+ var TooltipTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { ref, ...props }));
336
397
  TooltipTrigger.displayName = TooltipPrimitive.Trigger.displayName;
337
- var TooltipContent = React16.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
398
+ var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
338
399
  TooltipPrimitive.Content,
339
400
  {
340
401
  ref,
@@ -347,7 +408,68 @@ var TooltipContent = React16.forwardRef(({ className, sideOffset = 4, ...props }
347
408
  }
348
409
  ) }));
349
410
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
350
- var Card = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
411
+ var Popover = PopoverPrimitive.Root;
412
+ Popover.displayName = "Popover";
413
+ var PopoverTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
414
+ PopoverPrimitive.Trigger,
415
+ {
416
+ ref,
417
+ "data-slot": "popover-trigger",
418
+ ...props
419
+ }
420
+ ));
421
+ PopoverTrigger.displayName = "PopoverTrigger";
422
+ var PopoverContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
423
+ PopoverPrimitive.Content,
424
+ {
425
+ ref,
426
+ "data-slot": "popover-content",
427
+ align,
428
+ sideOffset,
429
+ className: cn(
430
+ "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
431
+ className
432
+ ),
433
+ ...props
434
+ }
435
+ ) }));
436
+ PopoverContent.displayName = "PopoverContent";
437
+ var PopoverAnchor = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
438
+ PopoverPrimitive.Anchor,
439
+ {
440
+ ref,
441
+ "data-slot": "popover-anchor",
442
+ ...props
443
+ }
444
+ ));
445
+ PopoverAnchor.displayName = "PopoverAnchor";
446
+ var HoverCard = HoverCardPrimitive.Root;
447
+ HoverCard.displayName = "HoverCard";
448
+ var HoverCardTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
449
+ HoverCardPrimitive.Trigger,
450
+ {
451
+ ref,
452
+ "data-slot": "hover-card-trigger",
453
+ ...props
454
+ }
455
+ ));
456
+ HoverCardTrigger.displayName = "HoverCardTrigger";
457
+ var HoverCardContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
458
+ HoverCardPrimitive.Content,
459
+ {
460
+ ref,
461
+ "data-slot": "hover-card-content",
462
+ align,
463
+ sideOffset,
464
+ className: cn(
465
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
466
+ className
467
+ ),
468
+ ...props
469
+ }
470
+ ) }));
471
+ HoverCardContent.displayName = "HoverCardContent";
472
+ var Card = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
351
473
  "div",
352
474
  {
353
475
  ref,
@@ -359,7 +481,7 @@ var Card = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
359
481
  }
360
482
  ));
361
483
  Card.displayName = "Card";
362
- var CardHeader = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
484
+ var CardHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
363
485
  "div",
364
486
  {
365
487
  ref,
@@ -368,7 +490,7 @@ var CardHeader = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
368
490
  }
369
491
  ));
370
492
  CardHeader.displayName = "CardHeader";
371
- var CardTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
493
+ var CardTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
372
494
  "div",
373
495
  {
374
496
  ref,
@@ -377,7 +499,7 @@ var CardTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE_
377
499
  }
378
500
  ));
379
501
  CardTitle.displayName = "CardTitle";
380
- var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
502
+ var CardDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
381
503
  "div",
382
504
  {
383
505
  ref,
@@ -386,9 +508,9 @@ var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @_
386
508
  }
387
509
  ));
388
510
  CardDescription.displayName = "CardDescription";
389
- var CardContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
511
+ var CardContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
390
512
  CardContent.displayName = "CardContent";
391
- var CardFooter = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
513
+ var CardFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
392
514
  "div",
393
515
  {
394
516
  ref,
@@ -397,7 +519,7 @@ var CardFooter = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
397
519
  }
398
520
  ));
399
521
  CardFooter.displayName = "CardFooter";
400
- var Header = React16__default.forwardRef(
522
+ var Header = React18__default.forwardRef(
401
523
  ({ children, className }, ref) => {
402
524
  return /* @__PURE__ */ jsx(
403
525
  "header",
@@ -413,7 +535,7 @@ var Header = React16__default.forwardRef(
413
535
  }
414
536
  );
415
537
  Header.displayName = "Header";
416
- var NavigationMenu = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
538
+ var NavigationMenu = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
417
539
  NavigationMenuPrimitive.Root,
418
540
  {
419
541
  ref,
@@ -429,7 +551,7 @@ var NavigationMenu = React16.forwardRef(({ className, children, ...props }, ref)
429
551
  }
430
552
  ));
431
553
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
432
- var NavigationMenuList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
554
+ var NavigationMenuList = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
433
555
  NavigationMenuPrimitive.List,
434
556
  {
435
557
  ref,
@@ -445,7 +567,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
445
567
  var navigationMenuTriggerStyle = cva(
446
568
  "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"
447
569
  );
448
- var NavigationMenuTrigger = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
570
+ var NavigationMenuTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
449
571
  NavigationMenuPrimitive.Trigger,
450
572
  {
451
573
  ref,
@@ -465,7 +587,7 @@ var NavigationMenuTrigger = React16.forwardRef(({ className, children, ...props
465
587
  }
466
588
  ));
467
589
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
468
- var NavigationMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
590
+ var NavigationMenuContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
469
591
  NavigationMenuPrimitive.Content,
470
592
  {
471
593
  ref,
@@ -478,7 +600,7 @@ var NavigationMenuContent = React16.forwardRef(({ className, ...props }, ref) =>
478
600
  ));
479
601
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
480
602
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
481
- var NavigationMenuViewport = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
603
+ var NavigationMenuViewport = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
482
604
  NavigationMenuPrimitive.Viewport,
483
605
  {
484
606
  className: cn(
@@ -490,7 +612,7 @@ var NavigationMenuViewport = React16.forwardRef(({ className, ...props }, ref) =
490
612
  }
491
613
  ) }));
492
614
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
493
- var NavigationMenuIndicator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
615
+ var NavigationMenuIndicator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
494
616
  NavigationMenuPrimitive.Indicator,
495
617
  {
496
618
  ref,
@@ -503,194 +625,1316 @@ var NavigationMenuIndicator = React16.forwardRef(({ className, ...props }, ref)
503
625
  }
504
626
  ));
505
627
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
506
- var Sheet = SheetPrimitive.Root;
507
- var SheetTrigger = SheetPrimitive.Trigger;
508
- var SheetClose = SheetPrimitive.Close;
509
- var SheetPortal = SheetPrimitive.Portal;
510
- var SheetOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
511
- SheetPrimitive.Overlay,
512
- {
513
- className: cn(
514
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
515
- className
516
- ),
517
- ...props,
518
- ref
519
- }
520
- ));
521
- SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
522
- var sheetVariants = cva(
523
- "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
524
- {
525
- variants: {
526
- side: {
527
- top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
528
- bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
529
- left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
530
- right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
531
- }
532
- },
533
- defaultVariants: {
534
- side: "right"
628
+ function Breadcrumb({ ...props }) {
629
+ return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
630
+ }
631
+ function BreadcrumbList({ className, ...props }) {
632
+ return /* @__PURE__ */ jsx(
633
+ "ol",
634
+ {
635
+ "data-slot": "breadcrumb-list",
636
+ className: cn(
637
+ "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
638
+ className
639
+ ),
640
+ ...props
535
641
  }
536
- }
537
- );
538
- var SheetContent = React16.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
539
- /* @__PURE__ */ jsx(SheetOverlay, {}),
540
- /* @__PURE__ */ jsxs(
541
- SheetPrimitive.Content,
642
+ );
643
+ }
644
+ function BreadcrumbItem({ className, ...props }) {
645
+ return /* @__PURE__ */ jsx(
646
+ "li",
542
647
  {
543
- ref,
544
- className: cn(sheetVariants({ side }), className),
545
- ...props,
546
- children: [
547
- /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
548
- /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
549
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
550
- ] }),
551
- children
552
- ]
648
+ "data-slot": "breadcrumb-item",
649
+ className: cn("inline-flex items-center gap-1.5", className),
650
+ ...props
553
651
  }
554
- )
555
- ] }));
556
- SheetContent.displayName = SheetPrimitive.Content.displayName;
557
- var SheetHeader = ({
652
+ );
653
+ }
654
+ function BreadcrumbLink({
655
+ asChild,
558
656
  className,
559
657
  ...props
560
- }) => /* @__PURE__ */ jsx(
561
- "div",
562
- {
563
- className: cn(
564
- "flex flex-col space-y-2 text-center sm:text-left",
565
- className
566
- ),
567
- ...props
568
- }
569
- );
570
- SheetHeader.displayName = "SheetHeader";
571
- var SheetFooter = ({
658
+ }) {
659
+ const Comp = asChild ? Slot : "a";
660
+ return /* @__PURE__ */ jsx(
661
+ Comp,
662
+ {
663
+ "data-slot": "breadcrumb-link",
664
+ className: cn("hover:text-foreground transition-colors", className),
665
+ ...props
666
+ }
667
+ );
668
+ }
669
+ function BreadcrumbPage({ className, ...props }) {
670
+ return /* @__PURE__ */ jsx(
671
+ "span",
672
+ {
673
+ "data-slot": "breadcrumb-page",
674
+ role: "link",
675
+ "aria-disabled": "true",
676
+ "aria-current": "page",
677
+ className: cn("text-foreground font-normal", className),
678
+ ...props
679
+ }
680
+ );
681
+ }
682
+ function BreadcrumbSeparator({
683
+ children,
572
684
  className,
573
685
  ...props
574
- }) => /* @__PURE__ */ jsx(
575
- "div",
576
- {
577
- className: cn(
578
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
579
- className
580
- ),
581
- ...props
582
- }
583
- );
584
- SheetFooter.displayName = "SheetFooter";
585
- var SheetTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
586
- SheetPrimitive.Title,
587
- {
588
- ref,
589
- className: cn("text-lg font-semibold text-foreground", className),
590
- ...props
591
- }
592
- ));
593
- SheetTitle.displayName = SheetPrimitive.Title.displayName;
594
- var SheetDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
595
- SheetPrimitive.Description,
596
- {
597
- ref,
598
- className: cn("text-sm text-muted-foreground", className),
599
- ...props
600
- }
601
- ));
602
- SheetDescription.displayName = SheetPrimitive.Description.displayName;
603
- var Dialog = SheetPrimitive.Root;
604
- var DialogTrigger = SheetPrimitive.Trigger;
605
- var DialogPortal = SheetPrimitive.Portal;
606
- var DialogClose = SheetPrimitive.Close;
607
- var DialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
608
- SheetPrimitive.Overlay,
609
- {
610
- ref,
611
- className: cn(
612
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
613
- className
614
- ),
615
- ...props
616
- }
617
- ));
618
- DialogOverlay.displayName = SheetPrimitive.Overlay.displayName;
619
- var DialogContent = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
620
- /* @__PURE__ */ jsx(DialogOverlay, {}),
621
- /* @__PURE__ */ jsxs(
622
- SheetPrimitive.Content,
686
+ }) {
687
+ return /* @__PURE__ */ jsx(
688
+ "li",
623
689
  {
624
- ref,
625
- className: cn(
626
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
627
- className
628
- ),
690
+ "data-slot": "breadcrumb-separator",
691
+ role: "presentation",
692
+ "aria-hidden": "true",
693
+ className: cn("[&>svg]:size-3.5", className),
694
+ ...props,
695
+ children: children ?? /* @__PURE__ */ jsx(ChevronRight, {})
696
+ }
697
+ );
698
+ }
699
+ function BreadcrumbEllipsis({
700
+ className,
701
+ ...props
702
+ }) {
703
+ return /* @__PURE__ */ jsxs(
704
+ "span",
705
+ {
706
+ "data-slot": "breadcrumb-ellipsis",
707
+ role: "presentation",
708
+ "aria-hidden": "true",
709
+ className: cn("flex size-9 items-center justify-center", className),
629
710
  ...props,
630
711
  children: [
631
- children,
632
- /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
633
- /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
634
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
635
- ] })
712
+ /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4" }),
713
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More" })
636
714
  ]
637
715
  }
638
- )
639
- ] }));
640
- DialogContent.displayName = SheetPrimitive.Content.displayName;
641
- var DialogHeader = ({
716
+ );
717
+ }
718
+ var ChevronRightIcon = ({ className = "" }) => {
719
+ return /* @__PURE__ */ jsx(
720
+ "svg",
721
+ {
722
+ className,
723
+ width: "16",
724
+ height: "16",
725
+ viewBox: "0 0 24 24",
726
+ fill: "none",
727
+ stroke: "currentColor",
728
+ strokeWidth: "2",
729
+ strokeLinecap: "round",
730
+ strokeLinejoin: "round",
731
+ children: /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" })
732
+ }
733
+ );
734
+ };
735
+ var CircleIcon = ({ className = "" }) => {
736
+ return /* @__PURE__ */ jsx(
737
+ "svg",
738
+ {
739
+ className,
740
+ width: "16",
741
+ height: "16",
742
+ viewBox: "0 0 24 24",
743
+ fill: "none",
744
+ stroke: "currentColor",
745
+ strokeWidth: "2",
746
+ strokeLinecap: "round",
747
+ strokeLinejoin: "round",
748
+ children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" })
749
+ }
750
+ );
751
+ };
752
+ function Menubar({
642
753
  className,
643
754
  ...props
644
- }) => /* @__PURE__ */ jsx(
645
- "div",
646
- {
647
- className: cn(
755
+ }) {
756
+ return /* @__PURE__ */ jsx(
757
+ MenubarPrimitive.Root,
758
+ {
759
+ "data-slot": "menubar",
760
+ className: cn(
761
+ "bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs",
762
+ className
763
+ ),
764
+ ...props
765
+ }
766
+ );
767
+ }
768
+ function MenubarMenu({
769
+ ...props
770
+ }) {
771
+ return /* @__PURE__ */ jsx(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
772
+ }
773
+ function MenubarGroup({
774
+ ...props
775
+ }) {
776
+ return /* @__PURE__ */ jsx(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
777
+ }
778
+ function MenubarPortal({
779
+ ...props
780
+ }) {
781
+ return /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
782
+ }
783
+ function MenubarRadioGroup({
784
+ ...props
785
+ }) {
786
+ return /* @__PURE__ */ jsx(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
787
+ }
788
+ function MenubarTrigger({
789
+ className,
790
+ ...props
791
+ }) {
792
+ return /* @__PURE__ */ jsx(
793
+ MenubarPrimitive.Trigger,
794
+ {
795
+ "data-slot": "menubar-trigger",
796
+ className: cn(
797
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",
798
+ className
799
+ ),
800
+ ...props
801
+ }
802
+ );
803
+ }
804
+ function MenubarContent({
805
+ className,
806
+ align = "start",
807
+ alignOffset = -4,
808
+ sideOffset = 8,
809
+ ...props
810
+ }) {
811
+ return /* @__PURE__ */ jsx(MenubarPortal, { children: /* @__PURE__ */ jsx(
812
+ MenubarPrimitive.Content,
813
+ {
814
+ "data-slot": "menubar-content",
815
+ align,
816
+ alignOffset,
817
+ sideOffset,
818
+ className: cn(
819
+ "bg-popover text-popover-foreground data-[state=open]:animate-in 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 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",
820
+ className
821
+ ),
822
+ ...props
823
+ }
824
+ ) });
825
+ }
826
+ function MenubarItem({
827
+ className,
828
+ inset,
829
+ variant = "default",
830
+ ...props
831
+ }) {
832
+ return /* @__PURE__ */ jsx(
833
+ MenubarPrimitive.Item,
834
+ {
835
+ "data-slot": "menubar-item",
836
+ "data-inset": inset,
837
+ "data-variant": variant,
838
+ className: cn(
839
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
840
+ className
841
+ ),
842
+ ...props
843
+ }
844
+ );
845
+ }
846
+ function MenubarCheckboxItem({
847
+ className,
848
+ children,
849
+ checked,
850
+ ...props
851
+ }) {
852
+ return /* @__PURE__ */ jsxs(
853
+ MenubarPrimitive.CheckboxItem,
854
+ {
855
+ "data-slot": "menubar-checkbox-item",
856
+ className: cn(
857
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
858
+ className
859
+ ),
860
+ checked,
861
+ ...props,
862
+ children: [
863
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
864
+ children
865
+ ]
866
+ }
867
+ );
868
+ }
869
+ function MenubarRadioItem({
870
+ className,
871
+ children,
872
+ ...props
873
+ }) {
874
+ return /* @__PURE__ */ jsxs(
875
+ MenubarPrimitive.RadioItem,
876
+ {
877
+ "data-slot": "menubar-radio-item",
878
+ className: cn(
879
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
880
+ className
881
+ ),
882
+ ...props,
883
+ children: [
884
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
885
+ children
886
+ ]
887
+ }
888
+ );
889
+ }
890
+ function MenubarLabel({
891
+ className,
892
+ inset,
893
+ ...props
894
+ }) {
895
+ return /* @__PURE__ */ jsx(
896
+ MenubarPrimitive.Label,
897
+ {
898
+ "data-slot": "menubar-label",
899
+ "data-inset": inset,
900
+ className: cn(
901
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
902
+ className
903
+ ),
904
+ ...props
905
+ }
906
+ );
907
+ }
908
+ function MenubarSeparator({
909
+ className,
910
+ ...props
911
+ }) {
912
+ return /* @__PURE__ */ jsx(
913
+ MenubarPrimitive.Separator,
914
+ {
915
+ "data-slot": "menubar-separator",
916
+ className: cn("bg-border -mx-1 my-1 h-px", className),
917
+ ...props
918
+ }
919
+ );
920
+ }
921
+ function MenubarShortcut({
922
+ className,
923
+ ...props
924
+ }) {
925
+ return /* @__PURE__ */ jsx(
926
+ "span",
927
+ {
928
+ "data-slot": "menubar-shortcut",
929
+ className: cn(
930
+ "text-muted-foreground ml-auto text-xs tracking-widest",
931
+ className
932
+ ),
933
+ ...props
934
+ }
935
+ );
936
+ }
937
+ function MenubarSub({
938
+ ...props
939
+ }) {
940
+ return /* @__PURE__ */ jsx(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
941
+ }
942
+ function MenubarSubTrigger({
943
+ className,
944
+ inset,
945
+ children,
946
+ ...props
947
+ }) {
948
+ return /* @__PURE__ */ jsxs(
949
+ MenubarPrimitive.SubTrigger,
950
+ {
951
+ "data-slot": "menubar-sub-trigger",
952
+ "data-inset": inset,
953
+ className: cn(
954
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",
955
+ className
956
+ ),
957
+ ...props,
958
+ children: [
959
+ children,
960
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto h-4 w-4" })
961
+ ]
962
+ }
963
+ );
964
+ }
965
+ function MenubarSubContent({
966
+ className,
967
+ ...props
968
+ }) {
969
+ return /* @__PURE__ */ jsx(
970
+ MenubarPrimitive.SubContent,
971
+ {
972
+ "data-slot": "menubar-sub-content",
973
+ className: cn(
974
+ "bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
975
+ className
976
+ ),
977
+ ...props
978
+ }
979
+ );
980
+ }
981
+ var ChevronLeftIcon = ({ className = "" }) => {
982
+ return /* @__PURE__ */ jsx(
983
+ "svg",
984
+ {
985
+ className,
986
+ width: "16",
987
+ height: "16",
988
+ viewBox: "0 0 24 24",
989
+ fill: "none",
990
+ stroke: "currentColor",
991
+ strokeWidth: "2",
992
+ strokeLinecap: "round",
993
+ strokeLinejoin: "round",
994
+ children: /* @__PURE__ */ jsx("path", { d: "m15 18-6-6 6-6" })
995
+ }
996
+ );
997
+ };
998
+ var MoreHorizontalIcon = ({ className = "" }) => {
999
+ return /* @__PURE__ */ jsxs(
1000
+ "svg",
1001
+ {
1002
+ className,
1003
+ width: "16",
1004
+ height: "16",
1005
+ viewBox: "0 0 24 24",
1006
+ fill: "none",
1007
+ stroke: "currentColor",
1008
+ strokeWidth: "2",
1009
+ strokeLinecap: "round",
1010
+ strokeLinejoin: "round",
1011
+ children: [
1012
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1" }),
1013
+ /* @__PURE__ */ jsx("circle", { cx: "19", cy: "12", r: "1" }),
1014
+ /* @__PURE__ */ jsx("circle", { cx: "5", cy: "12", r: "1" })
1015
+ ]
1016
+ }
1017
+ );
1018
+ };
1019
+ function Pagination({ className, ...props }) {
1020
+ return /* @__PURE__ */ jsx(
1021
+ "nav",
1022
+ {
1023
+ role: "navigation",
1024
+ "aria-label": "pagination",
1025
+ "data-slot": "pagination",
1026
+ className: cn("mx-auto flex w-full justify-center", className),
1027
+ ...props
1028
+ }
1029
+ );
1030
+ }
1031
+ function PaginationContent({
1032
+ className,
1033
+ ...props
1034
+ }) {
1035
+ return /* @__PURE__ */ jsx(
1036
+ "ul",
1037
+ {
1038
+ "data-slot": "pagination-content",
1039
+ className: cn("flex flex-row items-center gap-1", className),
1040
+ ...props
1041
+ }
1042
+ );
1043
+ }
1044
+ function PaginationItem({ ...props }) {
1045
+ return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
1046
+ }
1047
+ function PaginationLink({
1048
+ className,
1049
+ isActive,
1050
+ size = ButtonSize.Icon,
1051
+ asChild,
1052
+ ...props
1053
+ }) {
1054
+ const Comp = asChild ? Slot : "a";
1055
+ return /* @__PURE__ */ jsx(
1056
+ Comp,
1057
+ {
1058
+ "aria-current": isActive ? "page" : void 0,
1059
+ "data-slot": "pagination-link",
1060
+ "data-active": isActive,
1061
+ className: cn(
1062
+ buttonVariants({
1063
+ variant: isActive ? ButtonVariant.Outline : ButtonVariant.Ghost,
1064
+ size
1065
+ }),
1066
+ className
1067
+ ),
1068
+ ...props
1069
+ }
1070
+ );
1071
+ }
1072
+ function PaginationPrevious({
1073
+ className,
1074
+ children,
1075
+ ...props
1076
+ }) {
1077
+ return /* @__PURE__ */ jsxs(
1078
+ PaginationLink,
1079
+ {
1080
+ "aria-label": "Go to previous page",
1081
+ size: ButtonSize.Default,
1082
+ className: cn("gap-1 px-2.5 sm:pl-2.5", className),
1083
+ ...props,
1084
+ children: [
1085
+ /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "h-4 w-4" }),
1086
+ /* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: children ?? "Previous" })
1087
+ ]
1088
+ }
1089
+ );
1090
+ }
1091
+ function PaginationNext({
1092
+ className,
1093
+ children,
1094
+ ...props
1095
+ }) {
1096
+ return /* @__PURE__ */ jsxs(
1097
+ PaginationLink,
1098
+ {
1099
+ "aria-label": "Go to next page",
1100
+ size: ButtonSize.Default,
1101
+ className: cn("gap-1 px-2.5 sm:pr-2.5", className),
1102
+ ...props,
1103
+ children: [
1104
+ /* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: children ?? "Next" }),
1105
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-4 w-4" })
1106
+ ]
1107
+ }
1108
+ );
1109
+ }
1110
+ function PaginationEllipsis({
1111
+ className,
1112
+ ...props
1113
+ }) {
1114
+ return /* @__PURE__ */ jsxs(
1115
+ "span",
1116
+ {
1117
+ "aria-hidden": true,
1118
+ "data-slot": "pagination-ellipsis",
1119
+ className: cn("flex size-9 items-center justify-center", className),
1120
+ ...props,
1121
+ children: [
1122
+ /* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "h-4 w-4" }),
1123
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
1124
+ ]
1125
+ }
1126
+ );
1127
+ }
1128
+ function Tabs({
1129
+ className,
1130
+ ...props
1131
+ }) {
1132
+ return /* @__PURE__ */ jsx(
1133
+ TabsPrimitive.Root,
1134
+ {
1135
+ "data-slot": "tabs",
1136
+ className: cn("flex flex-col gap-2", className),
1137
+ ...props
1138
+ }
1139
+ );
1140
+ }
1141
+ function TabsList({
1142
+ className,
1143
+ ...props
1144
+ }) {
1145
+ return /* @__PURE__ */ jsx(
1146
+ TabsPrimitive.List,
1147
+ {
1148
+ "data-slot": "tabs-list",
1149
+ className: cn(
1150
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
1151
+ className
1152
+ ),
1153
+ ...props
1154
+ }
1155
+ );
1156
+ }
1157
+ function TabsTrigger({
1158
+ className,
1159
+ ...props
1160
+ }) {
1161
+ return /* @__PURE__ */ jsx(
1162
+ TabsPrimitive.Trigger,
1163
+ {
1164
+ "data-slot": "tabs-trigger",
1165
+ className: cn(
1166
+ "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1167
+ className
1168
+ ),
1169
+ ...props
1170
+ }
1171
+ );
1172
+ }
1173
+ function TabsContent({
1174
+ className,
1175
+ ...props
1176
+ }) {
1177
+ return /* @__PURE__ */ jsx(
1178
+ TabsPrimitive.Content,
1179
+ {
1180
+ "data-slot": "tabs-content",
1181
+ className: cn("flex-1 outline-none", className),
1182
+ ...props
1183
+ }
1184
+ );
1185
+ }
1186
+ var Sheet = SheetPrimitive.Root;
1187
+ var SheetTrigger = SheetPrimitive.Trigger;
1188
+ var SheetClose = SheetPrimitive.Close;
1189
+ var SheetPortal = SheetPrimitive.Portal;
1190
+ var SheetOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1191
+ SheetPrimitive.Overlay,
1192
+ {
1193
+ className: cn(
1194
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1195
+ className
1196
+ ),
1197
+ ...props,
1198
+ ref
1199
+ }
1200
+ ));
1201
+ SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
1202
+ var sheetVariants = cva(
1203
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
1204
+ {
1205
+ variants: {
1206
+ side: {
1207
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
1208
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
1209
+ left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
1210
+ right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
1211
+ }
1212
+ },
1213
+ defaultVariants: {
1214
+ side: "right"
1215
+ }
1216
+ }
1217
+ );
1218
+ var SheetContent = React18.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
1219
+ /* @__PURE__ */ jsx(SheetOverlay, {}),
1220
+ /* @__PURE__ */ jsxs(
1221
+ SheetPrimitive.Content,
1222
+ {
1223
+ ref,
1224
+ className: cn(sheetVariants({ side }), className),
1225
+ ...props,
1226
+ children: [
1227
+ /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1228
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
1229
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
1230
+ ] }),
1231
+ children
1232
+ ]
1233
+ }
1234
+ )
1235
+ ] }));
1236
+ SheetContent.displayName = SheetPrimitive.Content.displayName;
1237
+ var SheetHeader = ({
1238
+ className,
1239
+ ...props
1240
+ }) => /* @__PURE__ */ jsx(
1241
+ "div",
1242
+ {
1243
+ className: cn(
1244
+ "flex flex-col space-y-2 text-center sm:text-left",
1245
+ className
1246
+ ),
1247
+ ...props
1248
+ }
1249
+ );
1250
+ SheetHeader.displayName = "SheetHeader";
1251
+ var SheetFooter = ({
1252
+ className,
1253
+ ...props
1254
+ }) => /* @__PURE__ */ jsx(
1255
+ "div",
1256
+ {
1257
+ className: cn(
1258
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
1259
+ className
1260
+ ),
1261
+ ...props
1262
+ }
1263
+ );
1264
+ SheetFooter.displayName = "SheetFooter";
1265
+ var SheetTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1266
+ SheetPrimitive.Title,
1267
+ {
1268
+ ref,
1269
+ className: cn("text-lg font-semibold text-foreground", className),
1270
+ ...props
1271
+ }
1272
+ ));
1273
+ SheetTitle.displayName = SheetPrimitive.Title.displayName;
1274
+ var SheetDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1275
+ SheetPrimitive.Description,
1276
+ {
1277
+ ref,
1278
+ className: cn("text-sm text-muted-foreground", className),
1279
+ ...props
1280
+ }
1281
+ ));
1282
+ SheetDescription.displayName = SheetPrimitive.Description.displayName;
1283
+ var Dialog = SheetPrimitive.Root;
1284
+ var DialogTrigger = SheetPrimitive.Trigger;
1285
+ var DialogPortal = SheetPrimitive.Portal;
1286
+ var DialogClose = SheetPrimitive.Close;
1287
+ var DialogOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1288
+ SheetPrimitive.Overlay,
1289
+ {
1290
+ ref,
1291
+ className: cn(
1292
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1293
+ className
1294
+ ),
1295
+ ...props
1296
+ }
1297
+ ));
1298
+ DialogOverlay.displayName = SheetPrimitive.Overlay.displayName;
1299
+ var DialogContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
1300
+ /* @__PURE__ */ jsx(DialogOverlay, {}),
1301
+ /* @__PURE__ */ jsxs(
1302
+ SheetPrimitive.Content,
1303
+ {
1304
+ ref,
1305
+ className: cn(
1306
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
1307
+ className
1308
+ ),
1309
+ ...props,
1310
+ children: [
1311
+ children,
1312
+ /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1313
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
1314
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
1315
+ ] })
1316
+ ]
1317
+ }
1318
+ )
1319
+ ] }));
1320
+ DialogContent.displayName = SheetPrimitive.Content.displayName;
1321
+ var DialogHeader = ({
1322
+ className,
1323
+ ...props
1324
+ }) => /* @__PURE__ */ jsx(
1325
+ "div",
1326
+ {
1327
+ className: cn(
648
1328
  "flex flex-col space-y-1.5 text-center sm:text-left",
649
1329
  className
650
1330
  ),
651
1331
  ...props
652
1332
  }
653
1333
  );
654
- DialogHeader.displayName = "DialogHeader";
655
- var DialogFooter = ({
656
- className,
657
- ...props
658
- }) => /* @__PURE__ */ jsx(
659
- "div",
1334
+ DialogHeader.displayName = "DialogHeader";
1335
+ var DialogFooter = ({
1336
+ className,
1337
+ ...props
1338
+ }) => /* @__PURE__ */ jsx(
1339
+ "div",
1340
+ {
1341
+ className: cn(
1342
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
1343
+ className
1344
+ ),
1345
+ ...props
1346
+ }
1347
+ );
1348
+ DialogFooter.displayName = "DialogFooter";
1349
+ var DialogTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1350
+ SheetPrimitive.Title,
1351
+ {
1352
+ ref,
1353
+ className: cn(
1354
+ "text-lg font-semibold leading-none tracking-tight",
1355
+ className
1356
+ ),
1357
+ ...props
1358
+ }
1359
+ ));
1360
+ DialogTitle.displayName = SheetPrimitive.Title.displayName;
1361
+ var DialogDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1362
+ SheetPrimitive.Description,
1363
+ {
1364
+ ref,
1365
+ className: cn("text-sm text-muted-foreground", className),
1366
+ ...props
1367
+ }
1368
+ ));
1369
+ DialogDescription.displayName = SheetPrimitive.Description.displayName;
1370
+ function Drawer({
1371
+ ...props
1372
+ }) {
1373
+ return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
1374
+ }
1375
+ function DrawerTrigger({
1376
+ ...props
1377
+ }) {
1378
+ return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
1379
+ }
1380
+ function DrawerPortal({
1381
+ ...props
1382
+ }) {
1383
+ return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
1384
+ }
1385
+ function DrawerClose({
1386
+ ...props
1387
+ }) {
1388
+ return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
1389
+ }
1390
+ function DrawerOverlay({
1391
+ className,
1392
+ ...props
1393
+ }) {
1394
+ return /* @__PURE__ */ jsx(
1395
+ Drawer$1.Overlay,
1396
+ {
1397
+ "data-slot": "drawer-overlay",
1398
+ className: cn(
1399
+ "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",
1400
+ className
1401
+ ),
1402
+ ...props
1403
+ }
1404
+ );
1405
+ }
1406
+ function DrawerContent({
1407
+ className,
1408
+ children,
1409
+ ...props
1410
+ }) {
1411
+ return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
1412
+ /* @__PURE__ */ jsx(DrawerOverlay, {}),
1413
+ /* @__PURE__ */ jsxs(
1414
+ Drawer$1.Content,
1415
+ {
1416
+ "data-slot": "drawer-content",
1417
+ className: cn(
1418
+ "group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
1419
+ "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
1420
+ "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
1421
+ "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
1422
+ "data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
1423
+ className
1424
+ ),
1425
+ ...props,
1426
+ children: [
1427
+ /* @__PURE__ */ jsx("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
1428
+ children
1429
+ ]
1430
+ }
1431
+ )
1432
+ ] });
1433
+ }
1434
+ function DrawerHeader({ className, ...props }) {
1435
+ return /* @__PURE__ */ jsx(
1436
+ "div",
1437
+ {
1438
+ "data-slot": "drawer-header",
1439
+ className: cn(
1440
+ "flex flex-col gap-1.5 p-4 text-center sm:text-left",
1441
+ className
1442
+ ),
1443
+ ...props
1444
+ }
1445
+ );
1446
+ }
1447
+ function DrawerFooter({ className, ...props }) {
1448
+ return /* @__PURE__ */ jsx(
1449
+ "div",
1450
+ {
1451
+ "data-slot": "drawer-footer",
1452
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
1453
+ ...props
1454
+ }
1455
+ );
1456
+ }
1457
+ function DrawerTitle({
1458
+ className,
1459
+ ...props
1460
+ }) {
1461
+ return /* @__PURE__ */ jsx(
1462
+ Drawer$1.Title,
1463
+ {
1464
+ "data-slot": "drawer-title",
1465
+ className: cn("text-lg font-semibold text-foreground", className),
1466
+ ...props
1467
+ }
1468
+ );
1469
+ }
1470
+ function DrawerDescription({
1471
+ className,
1472
+ ...props
1473
+ }) {
1474
+ return /* @__PURE__ */ jsx(
1475
+ Drawer$1.Description,
1476
+ {
1477
+ "data-slot": "drawer-description",
1478
+ className: cn("text-sm text-muted-foreground", className),
1479
+ ...props
1480
+ }
1481
+ );
1482
+ }
1483
+ function ResizablePanelGroup({
1484
+ className,
1485
+ ...props
1486
+ }) {
1487
+ return /* @__PURE__ */ jsx(
1488
+ ResizablePrimitive.PanelGroup,
1489
+ {
1490
+ "data-slot": "resizable-panel-group",
1491
+ className: cn(
1492
+ "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
1493
+ className
1494
+ ),
1495
+ ...props
1496
+ }
1497
+ );
1498
+ }
1499
+ function ResizablePanel({
1500
+ ...props
1501
+ }) {
1502
+ return /* @__PURE__ */ jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1503
+ }
1504
+ function ResizableHandle({
1505
+ withHandle,
1506
+ className,
1507
+ ...props
1508
+ }) {
1509
+ return /* @__PURE__ */ jsx(
1510
+ ResizablePrimitive.PanelResizeHandle,
1511
+ {
1512
+ "data-slot": "resizable-handle",
1513
+ className: cn(
1514
+ "bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
1515
+ className
1516
+ ),
1517
+ ...props,
1518
+ children: withHandle && /* @__PURE__ */ jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border", children: /* @__PURE__ */ jsx(GripVertical, { className: "size-2.5" }) })
1519
+ }
1520
+ );
1521
+ }
1522
+ function ScrollArea({
1523
+ className,
1524
+ children,
1525
+ ...props
1526
+ }) {
1527
+ return /* @__PURE__ */ jsxs(
1528
+ ScrollAreaPrimitive.Root,
1529
+ {
1530
+ "data-slot": "scroll-area",
1531
+ className: cn("relative", className),
1532
+ ...props,
1533
+ children: [
1534
+ /* @__PURE__ */ jsx(
1535
+ ScrollAreaPrimitive.Viewport,
1536
+ {
1537
+ "data-slot": "scroll-area-viewport",
1538
+ className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
1539
+ children
1540
+ }
1541
+ ),
1542
+ /* @__PURE__ */ jsx(ScrollBar, {}),
1543
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
1544
+ ]
1545
+ }
1546
+ );
1547
+ }
1548
+ function ScrollBar({
1549
+ className,
1550
+ orientation = "vertical",
1551
+ ...props
1552
+ }) {
1553
+ return /* @__PURE__ */ jsx(
1554
+ ScrollAreaPrimitive.ScrollAreaScrollbar,
1555
+ {
1556
+ "data-slot": "scroll-area-scrollbar",
1557
+ orientation,
1558
+ className: cn(
1559
+ "flex touch-none p-px transition-colors select-none",
1560
+ orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
1561
+ orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
1562
+ className
1563
+ ),
1564
+ ...props,
1565
+ children: /* @__PURE__ */ jsx(
1566
+ ScrollAreaPrimitive.ScrollAreaThumb,
1567
+ {
1568
+ "data-slot": "scroll-area-thumb",
1569
+ className: "bg-border relative flex-1 rounded-full"
1570
+ }
1571
+ )
1572
+ }
1573
+ );
1574
+ }
1575
+ function Separator2({
1576
+ className,
1577
+ orientation = "horizontal",
1578
+ decorative = true,
1579
+ ...props
1580
+ }) {
1581
+ return /* @__PURE__ */ jsx(
1582
+ SeparatorPrimitive.Root,
1583
+ {
1584
+ "data-slot": "separator",
1585
+ decorative,
1586
+ orientation,
1587
+ className: cn(
1588
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
1589
+ className
1590
+ ),
1591
+ ...props
1592
+ }
1593
+ );
1594
+ }
1595
+ var Accordion = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
1596
+ AccordionPrimitive.Root,
1597
+ {
1598
+ ref,
1599
+ "data-slot": "accordion",
1600
+ ...props
1601
+ }
1602
+ ));
1603
+ Accordion.displayName = "Accordion";
1604
+ var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1605
+ AccordionPrimitive.Item,
1606
+ {
1607
+ ref,
1608
+ "data-slot": "accordion-item",
1609
+ className: cn("border-b last:border-b-0", className),
1610
+ ...props
1611
+ }
1612
+ ));
1613
+ AccordionItem.displayName = "AccordionItem";
1614
+ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
1615
+ AccordionPrimitive.Trigger,
1616
+ {
1617
+ ref,
1618
+ "data-slot": "accordion-trigger",
1619
+ className: cn(
1620
+ "flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] focus-visible:border-ring focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
1621
+ className
1622
+ ),
1623
+ ...props,
1624
+ children: [
1625
+ children,
1626
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" })
1627
+ ]
1628
+ }
1629
+ ) }));
1630
+ AccordionTrigger.displayName = "AccordionTrigger";
1631
+ var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
1632
+ AccordionPrimitive.Content,
1633
+ {
1634
+ ref,
1635
+ "data-slot": "accordion-content",
1636
+ className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
1637
+ ...props,
1638
+ children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
1639
+ }
1640
+ ));
1641
+ AccordionContent.displayName = "AccordionContent";
1642
+ var CarouselContext = React18.createContext(null);
1643
+ function useCarousel() {
1644
+ const context = React18.useContext(CarouselContext);
1645
+ if (!context) {
1646
+ throw new Error("useCarousel must be used within a <Carousel />");
1647
+ }
1648
+ return context;
1649
+ }
1650
+ var Carousel = React18.forwardRef(
1651
+ ({
1652
+ orientation = "horizontal",
1653
+ opts,
1654
+ setApi,
1655
+ plugins,
1656
+ className,
1657
+ children,
1658
+ ...props
1659
+ }, ref) => {
1660
+ const [carouselRef, api] = useEmblaCarousel(
1661
+ {
1662
+ ...opts,
1663
+ axis: orientation === "horizontal" ? "x" : "y"
1664
+ },
1665
+ plugins
1666
+ );
1667
+ const [canScrollPrev, setCanScrollPrev] = React18.useState(false);
1668
+ const [canScrollNext, setCanScrollNext] = React18.useState(false);
1669
+ const onSelect = React18.useCallback((api2) => {
1670
+ if (!api2) return;
1671
+ setCanScrollPrev(api2.canScrollPrev());
1672
+ setCanScrollNext(api2.canScrollNext());
1673
+ }, []);
1674
+ const scrollPrev = React18.useCallback(() => {
1675
+ api?.scrollPrev();
1676
+ }, [api]);
1677
+ const scrollNext = React18.useCallback(() => {
1678
+ api?.scrollNext();
1679
+ }, [api]);
1680
+ const handleKeyDown = React18.useCallback(
1681
+ (event) => {
1682
+ if (event.key === "ArrowLeft") {
1683
+ event.preventDefault();
1684
+ scrollPrev();
1685
+ } else if (event.key === "ArrowRight") {
1686
+ event.preventDefault();
1687
+ scrollNext();
1688
+ }
1689
+ },
1690
+ [scrollPrev, scrollNext]
1691
+ );
1692
+ React18.useEffect(() => {
1693
+ if (!api || !setApi) return;
1694
+ setApi(api);
1695
+ }, [api, setApi]);
1696
+ React18.useEffect(() => {
1697
+ if (!api) return;
1698
+ onSelect(api);
1699
+ api.on("reInit", onSelect);
1700
+ api.on("select", onSelect);
1701
+ return () => {
1702
+ api?.off("select", onSelect);
1703
+ };
1704
+ }, [api, onSelect]);
1705
+ return /* @__PURE__ */ jsx(
1706
+ CarouselContext.Provider,
1707
+ {
1708
+ value: {
1709
+ carouselRef,
1710
+ api,
1711
+ opts,
1712
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
1713
+ scrollPrev,
1714
+ scrollNext,
1715
+ canScrollPrev,
1716
+ canScrollNext
1717
+ },
1718
+ children: /* @__PURE__ */ jsx(
1719
+ "div",
1720
+ {
1721
+ ref,
1722
+ onKeyDownCapture: handleKeyDown,
1723
+ className: cn("relative", className),
1724
+ role: "region",
1725
+ "aria-roledescription": "carousel",
1726
+ "data-slot": "carousel",
1727
+ ...props,
1728
+ children
1729
+ }
1730
+ )
1731
+ }
1732
+ );
1733
+ }
1734
+ );
1735
+ Carousel.displayName = "Carousel";
1736
+ var CarouselContent = React18.forwardRef(({ className, ...props }, ref) => {
1737
+ const { carouselRef, orientation } = useCarousel();
1738
+ return /* @__PURE__ */ jsx(
1739
+ "div",
1740
+ {
1741
+ ref: carouselRef,
1742
+ className: "overflow-hidden",
1743
+ "data-slot": "carousel-content",
1744
+ children: /* @__PURE__ */ jsx(
1745
+ "div",
1746
+ {
1747
+ ref,
1748
+ className: cn(
1749
+ "flex",
1750
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
1751
+ className
1752
+ ),
1753
+ ...props
1754
+ }
1755
+ )
1756
+ }
1757
+ );
1758
+ });
1759
+ CarouselContent.displayName = "CarouselContent";
1760
+ var CarouselItem = React18.forwardRef(({ className, ...props }, ref) => {
1761
+ const { orientation } = useCarousel();
1762
+ return /* @__PURE__ */ jsx(
1763
+ "div",
1764
+ {
1765
+ ref,
1766
+ role: "group",
1767
+ "aria-roledescription": "slide",
1768
+ "data-slot": "carousel-item",
1769
+ className: cn(
1770
+ "min-w-0 shrink-0 grow-0 basis-full",
1771
+ orientation === "horizontal" ? "pl-4" : "pt-4",
1772
+ className
1773
+ ),
1774
+ ...props
1775
+ }
1776
+ );
1777
+ });
1778
+ CarouselItem.displayName = "CarouselItem";
1779
+ var CarouselPrevious = React18.forwardRef(({ className, variant = ButtonVariant.Outline, size = ButtonSize.Icon, ...props }, ref) => {
1780
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1781
+ return /* @__PURE__ */ jsxs(
1782
+ Button,
1783
+ {
1784
+ ref,
1785
+ "data-slot": "carousel-previous",
1786
+ variant,
1787
+ size,
1788
+ className: cn(
1789
+ "absolute h-8 w-8 rounded-full",
1790
+ orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
1791
+ className
1792
+ ),
1793
+ disabled: !canScrollPrev,
1794
+ onClick: scrollPrev,
1795
+ ...props,
1796
+ children: [
1797
+ /* @__PURE__ */ jsx(ArrowLeft, { className: "h-4 w-4" }),
1798
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
1799
+ ]
1800
+ }
1801
+ );
1802
+ });
1803
+ CarouselPrevious.displayName = "CarouselPrevious";
1804
+ var CarouselNext = React18.forwardRef(({ className, variant = ButtonVariant.Outline, size = ButtonSize.Icon, ...props }, ref) => {
1805
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
1806
+ return /* @__PURE__ */ jsxs(
1807
+ Button,
1808
+ {
1809
+ ref,
1810
+ "data-slot": "carousel-next",
1811
+ variant,
1812
+ size,
1813
+ className: cn(
1814
+ "absolute h-8 w-8 rounded-full",
1815
+ orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
1816
+ className
1817
+ ),
1818
+ disabled: !canScrollNext,
1819
+ onClick: scrollNext,
1820
+ ...props,
1821
+ children: [
1822
+ /* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4" }),
1823
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
1824
+ ]
1825
+ }
1826
+ );
1827
+ });
1828
+ CarouselNext.displayName = "CarouselNext";
1829
+ var Collapsible = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
1830
+ CollapsiblePrimitive.Root,
660
1831
  {
661
- className: cn(
662
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
663
- className
664
- ),
1832
+ ref,
1833
+ "data-slot": "collapsible",
665
1834
  ...props
666
1835
  }
667
- );
668
- DialogFooter.displayName = "DialogFooter";
669
- var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
670
- SheetPrimitive.Title,
1836
+ ));
1837
+ Collapsible.displayName = "Collapsible";
1838
+ var CollapsibleTrigger2 = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
1839
+ CollapsiblePrimitive.CollapsibleTrigger,
671
1840
  {
672
1841
  ref,
673
- className: cn(
674
- "text-lg font-semibold leading-none tracking-tight",
675
- className
676
- ),
1842
+ "data-slot": "collapsible-trigger",
677
1843
  ...props
678
1844
  }
679
1845
  ));
680
- DialogTitle.displayName = SheetPrimitive.Title.displayName;
681
- var DialogDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
682
- SheetPrimitive.Description,
1846
+ CollapsibleTrigger2.displayName = "CollapsibleTrigger";
1847
+ var CollapsibleContent2 = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
1848
+ CollapsiblePrimitive.CollapsibleContent,
683
1849
  {
684
1850
  ref,
685
- className: cn("text-sm text-muted-foreground", className),
1851
+ "data-slot": "collapsible-content",
686
1852
  ...props
687
1853
  }
688
1854
  ));
689
- DialogDescription.displayName = SheetPrimitive.Description.displayName;
1855
+ CollapsibleContent2.displayName = "CollapsibleContent";
1856
+ function ChartContainer({
1857
+ className,
1858
+ children,
1859
+ width = "100%",
1860
+ height = 350
1861
+ }) {
1862
+ return /* @__PURE__ */ jsx(
1863
+ "div",
1864
+ {
1865
+ "data-slot": "chart-container",
1866
+ className: cn("w-full", className),
1867
+ style: { width, height: typeof height === "number" ? `${height}px` : height },
1868
+ children
1869
+ }
1870
+ );
1871
+ }
1872
+ function ChartTooltipContent({
1873
+ className,
1874
+ label,
1875
+ payload,
1876
+ active
1877
+ }) {
1878
+ if (!active || !payload || payload.length === 0) {
1879
+ return null;
1880
+ }
1881
+ return /* @__PURE__ */ jsxs(
1882
+ "div",
1883
+ {
1884
+ "data-slot": "chart-tooltip-content",
1885
+ className: cn(
1886
+ "bg-background border-border text-foreground rounded-lg border p-2 shadow-md",
1887
+ className
1888
+ ),
1889
+ children: [
1890
+ label && /* @__PURE__ */ jsx("div", { className: "mb-1 text-xs font-medium text-muted-foreground", children: label }),
1891
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1", children: payload.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs", children: [
1892
+ /* @__PURE__ */ jsx(
1893
+ "div",
1894
+ {
1895
+ className: "h-2 w-2 rounded-full",
1896
+ style: { backgroundColor: item.color }
1897
+ }
1898
+ ),
1899
+ /* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
1900
+ item.name,
1901
+ ":"
1902
+ ] }),
1903
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: item.value })
1904
+ ] }, index)) })
1905
+ ]
1906
+ }
1907
+ );
1908
+ }
1909
+ function ChartLegendContent({
1910
+ className,
1911
+ payload
1912
+ }) {
1913
+ if (!payload || payload.length === 0) {
1914
+ return null;
1915
+ }
1916
+ return /* @__PURE__ */ jsx(
1917
+ "div",
1918
+ {
1919
+ "data-slot": "chart-legend-content",
1920
+ className: cn("flex items-center justify-center gap-4 text-sm pt-4", className),
1921
+ children: payload.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1922
+ /* @__PURE__ */ jsx(
1923
+ "div",
1924
+ {
1925
+ className: "h-3 w-3 rounded-sm",
1926
+ style: { backgroundColor: item.color }
1927
+ }
1928
+ ),
1929
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: item.value })
1930
+ ] }, index))
1931
+ }
1932
+ );
1933
+ }
690
1934
  var Select = SelectPrimitive.Root;
691
1935
  var SelectGroup = SelectPrimitive.Group;
692
1936
  var SelectValue = SelectPrimitive.Value;
693
- var SelectTrigger = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1937
+ var SelectTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
694
1938
  SelectPrimitive.Trigger,
695
1939
  {
696
1940
  ref,
@@ -707,7 +1951,7 @@ var SelectTrigger = React16.forwardRef(({ className, children, ...props }, ref)
707
1951
  }
708
1952
  ));
709
1953
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
710
- var SelectScrollUpButton = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1954
+ var SelectScrollUpButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
711
1955
  SelectPrimitive.ScrollUpButton,
712
1956
  {
713
1957
  ref,
@@ -720,7 +1964,7 @@ var SelectScrollUpButton = React16.forwardRef(({ className, ...props }, ref) =>
720
1964
  }
721
1965
  ));
722
1966
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
723
- var SelectScrollDownButton = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1967
+ var SelectScrollDownButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
724
1968
  SelectPrimitive.ScrollDownButton,
725
1969
  {
726
1970
  ref,
@@ -733,7 +1977,7 @@ var SelectScrollDownButton = React16.forwardRef(({ className, ...props }, ref) =
733
1977
  }
734
1978
  ));
735
1979
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
736
- var SelectContent = React16.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
1980
+ var SelectContent = React18.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
737
1981
  SelectPrimitive.Content,
738
1982
  {
739
1983
  ref,
@@ -761,7 +2005,7 @@ var SelectContent = React16.forwardRef(({ className, children, position = "poppe
761
2005
  }
762
2006
  ) }));
763
2007
  SelectContent.displayName = SelectPrimitive.Content.displayName;
764
- var SelectLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2008
+ var SelectLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
765
2009
  SelectPrimitive.Label,
766
2010
  {
767
2011
  ref,
@@ -770,7 +2014,7 @@ var SelectLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
770
2014
  }
771
2015
  ));
772
2016
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
773
- var SelectItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
2017
+ var SelectItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
774
2018
  SelectPrimitive.Item,
775
2019
  {
776
2020
  ref,
@@ -786,7 +2030,7 @@ var SelectItem = React16.forwardRef(({ className, children, ...props }, ref) =>
786
2030
  }
787
2031
  ));
788
2032
  SelectItem.displayName = SelectPrimitive.Item.displayName;
789
- var SelectSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2033
+ var SelectSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
790
2034
  SelectPrimitive.Separator,
791
2035
  {
792
2036
  ref,
@@ -808,7 +2052,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
808
2052
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
809
2053
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
810
2054
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
811
- var DropdownMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
2055
+ var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
812
2056
  DropdownMenuPrimitive.SubTrigger,
813
2057
  {
814
2058
  ref,
@@ -820,12 +2064,12 @@ var DropdownMenuSubTrigger = React16.forwardRef(({ className, inset, children, .
820
2064
  ...props,
821
2065
  children: [
822
2066
  children,
823
- /* @__PURE__ */ jsx(ChevronRight, { className: "ms-auto rtl:rotate-180" })
2067
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ms-auto rtl:rotate-180" })
824
2068
  ]
825
2069
  }
826
2070
  ));
827
2071
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
828
- var DropdownMenuSubContent = React16.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
2072
+ var DropdownMenuSubContent = React18.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
829
2073
  DropdownMenuPrimitive.SubContent,
830
2074
  {
831
2075
  ref,
@@ -837,7 +2081,7 @@ var DropdownMenuSubContent = React16.forwardRef(({ className, container, ...prop
837
2081
  }
838
2082
  ) }));
839
2083
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
840
- var DropdownMenuContent = React16.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
2084
+ var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
841
2085
  DropdownMenuPrimitive.Content,
842
2086
  {
843
2087
  ref,
@@ -851,7 +2095,7 @@ var DropdownMenuContent = React16.forwardRef(({ className, sideOffset = 4, conta
851
2095
  }
852
2096
  ) }));
853
2097
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
854
- var DropdownMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
2098
+ var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
855
2099
  DropdownMenuPrimitive.Item,
856
2100
  {
857
2101
  ref,
@@ -864,7 +2108,7 @@ var DropdownMenuItem = React16.forwardRef(({ className, inset, ...props }, ref)
864
2108
  }
865
2109
  ));
866
2110
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
867
- var DropdownMenuCheckboxItem = React16.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
2111
+ var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
868
2112
  DropdownMenuPrimitive.CheckboxItem,
869
2113
  {
870
2114
  ref,
@@ -875,13 +2119,13 @@ var DropdownMenuCheckboxItem = React16.forwardRef(({ className, children, checke
875
2119
  checked,
876
2120
  ...props,
877
2121
  children: [
878
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
2122
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
879
2123
  children
880
2124
  ]
881
2125
  }
882
2126
  ));
883
2127
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
884
- var DropdownMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
2128
+ var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
885
2129
  DropdownMenuPrimitive.RadioItem,
886
2130
  {
887
2131
  ref,
@@ -891,13 +2135,13 @@ var DropdownMenuRadioItem = React16.forwardRef(({ className, children, ...props
891
2135
  ),
892
2136
  ...props,
893
2137
  children: [
894
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
2138
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "h-2 w-2 fill-current" }) }) }),
895
2139
  children
896
2140
  ]
897
2141
  }
898
2142
  ));
899
2143
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
900
- var DropdownMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
2144
+ var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
901
2145
  DropdownMenuPrimitive.Label,
902
2146
  {
903
2147
  ref,
@@ -910,7 +2154,7 @@ var DropdownMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref)
910
2154
  }
911
2155
  ));
912
2156
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
913
- var DropdownMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2157
+ var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
914
2158
  DropdownMenuPrimitive.Separator,
915
2159
  {
916
2160
  ref,
@@ -932,7 +2176,209 @@ var DropdownMenuShortcut = ({
932
2176
  );
933
2177
  };
934
2178
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
935
- var IconButton = React16__default.forwardRef(
2179
+ function ContextMenu({
2180
+ ...props
2181
+ }) {
2182
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
2183
+ }
2184
+ function ContextMenuTrigger({
2185
+ ...props
2186
+ }) {
2187
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
2188
+ }
2189
+ function ContextMenuGroup({
2190
+ ...props
2191
+ }) {
2192
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
2193
+ }
2194
+ function ContextMenuPortal({
2195
+ ...props
2196
+ }) {
2197
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
2198
+ }
2199
+ function ContextMenuSub({
2200
+ ...props
2201
+ }) {
2202
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
2203
+ }
2204
+ function ContextMenuRadioGroup({
2205
+ ...props
2206
+ }) {
2207
+ return /* @__PURE__ */ jsx(
2208
+ ContextMenuPrimitive.RadioGroup,
2209
+ {
2210
+ "data-slot": "context-menu-radio-group",
2211
+ ...props
2212
+ }
2213
+ );
2214
+ }
2215
+ function ContextMenuSubTrigger({
2216
+ className,
2217
+ inset,
2218
+ children,
2219
+ ...props
2220
+ }) {
2221
+ return /* @__PURE__ */ jsxs(
2222
+ ContextMenuPrimitive.SubTrigger,
2223
+ {
2224
+ "data-slot": "context-menu-sub-trigger",
2225
+ "data-inset": inset,
2226
+ className: cn(
2227
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2228
+ className
2229
+ ),
2230
+ ...props,
2231
+ children: [
2232
+ children,
2233
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })
2234
+ ]
2235
+ }
2236
+ );
2237
+ }
2238
+ function ContextMenuSubContent({
2239
+ className,
2240
+ ...props
2241
+ }) {
2242
+ return /* @__PURE__ */ jsx(
2243
+ ContextMenuPrimitive.SubContent,
2244
+ {
2245
+ "data-slot": "context-menu-sub-content",
2246
+ className: cn(
2247
+ "bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-[var(--radix-context-menu-content-transform-origin)] overflow-hidden rounded-md border p-1 shadow-lg",
2248
+ className
2249
+ ),
2250
+ ...props
2251
+ }
2252
+ );
2253
+ }
2254
+ function ContextMenuContent({
2255
+ className,
2256
+ ...props
2257
+ }) {
2258
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
2259
+ ContextMenuPrimitive.Content,
2260
+ {
2261
+ "data-slot": "context-menu-content",
2262
+ className: cn(
2263
+ "bg-popover text-popover-foreground 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 z-50 max-h-[var(--radix-context-menu-content-available-height)] min-w-[8rem] origin-[var(--radix-context-menu-content-transform-origin)] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
2264
+ className
2265
+ ),
2266
+ ...props
2267
+ }
2268
+ ) });
2269
+ }
2270
+ function ContextMenuItem({
2271
+ className,
2272
+ inset,
2273
+ variant = "default",
2274
+ ...props
2275
+ }) {
2276
+ return /* @__PURE__ */ jsx(
2277
+ ContextMenuPrimitive.Item,
2278
+ {
2279
+ "data-slot": "context-menu-item",
2280
+ "data-inset": inset,
2281
+ "data-variant": variant,
2282
+ className: cn(
2283
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2284
+ className
2285
+ ),
2286
+ ...props
2287
+ }
2288
+ );
2289
+ }
2290
+ function ContextMenuCheckboxItem({
2291
+ className,
2292
+ children,
2293
+ checked,
2294
+ ...props
2295
+ }) {
2296
+ return /* @__PURE__ */ jsxs(
2297
+ ContextMenuPrimitive.CheckboxItem,
2298
+ {
2299
+ "data-slot": "context-menu-checkbox-item",
2300
+ className: cn(
2301
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2302
+ className
2303
+ ),
2304
+ checked,
2305
+ ...props,
2306
+ children: [
2307
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
2308
+ children
2309
+ ]
2310
+ }
2311
+ );
2312
+ }
2313
+ function ContextMenuRadioItem({
2314
+ className,
2315
+ children,
2316
+ ...props
2317
+ }) {
2318
+ return /* @__PURE__ */ jsxs(
2319
+ ContextMenuPrimitive.RadioItem,
2320
+ {
2321
+ "data-slot": "context-menu-radio-item",
2322
+ className: cn(
2323
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2324
+ className
2325
+ ),
2326
+ ...props,
2327
+ children: [
2328
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
2329
+ children
2330
+ ]
2331
+ }
2332
+ );
2333
+ }
2334
+ function ContextMenuLabel({
2335
+ className,
2336
+ inset,
2337
+ ...props
2338
+ }) {
2339
+ return /* @__PURE__ */ jsx(
2340
+ ContextMenuPrimitive.Label,
2341
+ {
2342
+ "data-slot": "context-menu-label",
2343
+ "data-inset": inset,
2344
+ className: cn(
2345
+ "text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
2346
+ className
2347
+ ),
2348
+ ...props
2349
+ }
2350
+ );
2351
+ }
2352
+ function ContextMenuSeparator({
2353
+ className,
2354
+ ...props
2355
+ }) {
2356
+ return /* @__PURE__ */ jsx(
2357
+ ContextMenuPrimitive.Separator,
2358
+ {
2359
+ "data-slot": "context-menu-separator",
2360
+ className: cn("bg-border -mx-1 my-1 h-px", className),
2361
+ ...props
2362
+ }
2363
+ );
2364
+ }
2365
+ function ContextMenuShortcut({
2366
+ className,
2367
+ ...props
2368
+ }) {
2369
+ return /* @__PURE__ */ jsx(
2370
+ "span",
2371
+ {
2372
+ "data-slot": "context-menu-shortcut",
2373
+ className: cn(
2374
+ "text-muted-foreground ml-auto text-xs tracking-widest",
2375
+ className
2376
+ ),
2377
+ ...props
2378
+ }
2379
+ );
2380
+ }
2381
+ var IconButton = React18__default.forwardRef(
936
2382
  ({ variant = ButtonVariant.Ghost, size = IconButtonSize.Default, className, ...props }, ref) => {
937
2383
  const sizeStyles = {
938
2384
  [IconButtonSize.Small]: "h-8 w-8",
@@ -952,7 +2398,7 @@ var IconButton = React16__default.forwardRef(
952
2398
  }
953
2399
  );
954
2400
  IconButton.displayName = "IconButton";
955
- var DropdownButton = React16__default.forwardRef(({ children, variant = ButtonVariant.Outline, className, ...props }, ref) => {
2401
+ var DropdownButton = React18__default.forwardRef(({ children, variant = ButtonVariant.Outline, className, ...props }, ref) => {
956
2402
  return /* @__PURE__ */ jsxs(
957
2403
  Button,
958
2404
  {
@@ -968,7 +2414,7 @@ var DropdownButton = React16__default.forwardRef(({ children, variant = ButtonVa
968
2414
  );
969
2415
  });
970
2416
  DropdownButton.displayName = "DropdownButton";
971
- var Sidebar = React16.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
2417
+ var Sidebar = React18.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
972
2418
  return /* @__PURE__ */ jsx(
973
2419
  "aside",
974
2420
  {
@@ -987,7 +2433,7 @@ var Sidebar = React16.forwardRef(({ collapsed = false, className, children, ...p
987
2433
  );
988
2434
  });
989
2435
  Sidebar.displayName = "Sidebar";
990
- var SidebarContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2436
+ var SidebarContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
991
2437
  "div",
992
2438
  {
993
2439
  ref,
@@ -1001,7 +2447,7 @@ var SidebarContent = React16.forwardRef(({ className, ...props }, ref) => /* @__
1001
2447
  }
1002
2448
  ));
1003
2449
  SidebarContent.displayName = "SidebarContent";
1004
- var SidebarMenu = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2450
+ var SidebarMenu = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1005
2451
  "ul",
1006
2452
  {
1007
2453
  ref,
@@ -1011,7 +2457,7 @@ var SidebarMenu = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
1011
2457
  }
1012
2458
  ));
1013
2459
  SidebarMenu.displayName = "SidebarMenu";
1014
- var SidebarMenuItem = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2460
+ var SidebarMenuItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1015
2461
  "li",
1016
2462
  {
1017
2463
  ref,
@@ -1043,7 +2489,7 @@ var sidebarMenuButtonVariants = cva(
1043
2489
  }
1044
2490
  }
1045
2491
  );
1046
- var SidebarMenuButton = React16.forwardRef(
2492
+ var SidebarMenuButton = React18.forwardRef(
1047
2493
  ({
1048
2494
  asChild = false,
1049
2495
  isActive = false,
@@ -1069,7 +2515,7 @@ var SidebarMenuButton = React16.forwardRef(
1069
2515
  }
1070
2516
  );
1071
2517
  SidebarMenuButton.displayName = "SidebarMenuButton";
1072
- var SidebarMenuIcon = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2518
+ var SidebarMenuIcon = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1073
2519
  "span",
1074
2520
  {
1075
2521
  ref,
@@ -1078,7 +2524,7 @@ var SidebarMenuIcon = React16.forwardRef(({ className, ...props }, ref) => /* @_
1078
2524
  }
1079
2525
  ));
1080
2526
  SidebarMenuIcon.displayName = "SidebarMenuIcon";
1081
- var SidebarMenuLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2527
+ var SidebarMenuLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1082
2528
  "span",
1083
2529
  {
1084
2530
  ref,
@@ -1087,7 +2533,7 @@ var SidebarMenuLabel = React16.forwardRef(({ className, ...props }, ref) => /* @
1087
2533
  }
1088
2534
  ));
1089
2535
  SidebarMenuLabel.displayName = "SidebarMenuLabel";
1090
- var SidebarHeader = React16.forwardRef(
2536
+ var SidebarHeader = React18.forwardRef(
1091
2537
  ({ logo, logoText, collapsed = false, onClick, className, ...props }, ref) => {
1092
2538
  return /* @__PURE__ */ jsxs(
1093
2539
  "div",
@@ -1110,7 +2556,7 @@ var SidebarHeader = React16.forwardRef(
1110
2556
  }
1111
2557
  );
1112
2558
  SidebarHeader.displayName = "SidebarHeader";
1113
- var UserInfo = React16__default.forwardRef(
2559
+ var UserInfo = React18__default.forwardRef(
1114
2560
  ({ displayName, email, avatarUrl, className, loading }, ref) => {
1115
2561
  const getInitials = () => {
1116
2562
  if (!displayName) return toUpper(email?.[0] || "") || "?";
@@ -1495,6 +2941,11 @@ var applyTheme = (theme, themeName) => {
1495
2941
  root.style.setProperty("--warning", hslToVar(theme.colors.warning));
1496
2942
  root.style.setProperty("--success", hslToVar(theme.colors.success));
1497
2943
  root.style.setProperty("--info", hslToVar(theme.colors.info));
2944
+ root.style.setProperty("--chart-1", theme.colors.chart[1]);
2945
+ root.style.setProperty("--chart-2", theme.colors.chart[2]);
2946
+ root.style.setProperty("--chart-3", theme.colors.chart[3]);
2947
+ root.style.setProperty("--chart-4", theme.colors.chart[4]);
2948
+ root.style.setProperty("--chart-5", theme.colors.chart[5]);
1498
2949
  root.style.setProperty("--left-menu", hslToVar(theme.colors.mainMenu.DEFAULT));
1499
2950
  root.style.setProperty("--left-menu-foreground", hslToVar(theme.colors.mainMenu.foreground));
1500
2951
  root.style.setProperty("--left-menu-hover", hslToVar(theme.colors.mainMenu.hover));
@@ -1519,6 +2970,6 @@ var applyTheme = (theme, themeName) => {
1519
2970
  }
1520
2971
  };
1521
2972
 
1522
- export { Avatar, AvatarFallback, AvatarImage, Badge, Button, CLOSE_ICON_ID, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatInput, CloseIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Header, IconButton, Input, MENU_ICON_ID, MenuIcon, MessageBubble, MessageType, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Progress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuIcon, SidebarMenuItem, SidebarMenuLabel, Skeleton, Slider, SliderRange, SliderThumb, SliderTrack, Spinner, Switch, Textarea, ThreadList, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserInfo, applyTheme, badgeVariants };
2973
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CLOSE_ICON_ID, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegendContent, ChartTooltipContent, ChatInput, Checkbox, CloseIcon, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Header, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, Input, MENU_ICON_ID, MenuIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageBubble, MessageType, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuIcon, SidebarMenuItem, SidebarMenuLabel, Skeleton, Slider, SliderRange, SliderThumb, SliderTrack, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThreadList, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserInfo, applyTheme, badgeVariants };
1523
2974
  //# sourceMappingURL=index.mjs.map
1524
2975
  //# sourceMappingURL=index.mjs.map