@moontra/moonui 0.1.1 → 2.0.0

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,6 +1,30 @@
1
- // src/lib/utils.ts
2
- import { clsx } from "clsx";
3
- import { twMerge } from "tailwind-merge";
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ import * as React32 from 'react';
4
+ import { createContext, useContext, useState, useMemo, useEffect } from 'react';
5
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
+ import { cva } from 'class-variance-authority';
7
+ import * as LabelPrimitive from '@radix-ui/react-label';
8
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
9
+ import * as SelectPrimitive from '@radix-ui/react-select';
10
+ import { ChevronDown, ChevronUp, Check, Loader2, X, Info, AlertCircle, AlertTriangle, Minus, Circle, MoreHorizontal, Search, ChevronRight, ChevronLeft } from 'lucide-react';
11
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
12
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
13
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
14
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
15
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
16
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
17
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
18
+ import 'react-dom';
19
+ import { createSlot } from '@radix-ui/react-slot';
20
+ import * as SliderPrimitive from '@radix-ui/react-slider';
21
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
22
+ import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
23
+ import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
24
+ import * as MenubarPrimitive from '@radix-ui/react-menubar';
25
+
26
+ /** @license MoonUI v1.0.0 - MIT License - https://moonui.dev */
27
+
4
28
  function cn(...inputs) {
5
29
  return twMerge(clsx(inputs));
6
30
  }
@@ -44,13 +68,6 @@ function combineRefs(...refs) {
44
68
  });
45
69
  };
46
70
  }
47
-
48
- // src/components/theme-provider.tsx
49
- import { useEffect } from "react";
50
-
51
- // src/lib/theme.tsx
52
- import { createContext, useContext, useState, useMemo } from "react";
53
- import { jsx } from "react/jsx-runtime";
54
71
  var modernTheme = {
55
72
  borderRadius: {
56
73
  sm: "0.5rem",
@@ -293,9 +310,6 @@ var createCssVariables = (theme) => {
293
310
  }
294
311
  return variables;
295
312
  };
296
-
297
- // src/components/theme-provider.tsx
298
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
299
313
  var CssVariablesInjector = () => {
300
314
  const { theme } = useTheme();
301
315
  useEffect(() => {
@@ -314,15 +328,10 @@ var CssVariablesInjector = () => {
314
328
  };
315
329
  var ThemeProvider2 = (props) => {
316
330
  return /* @__PURE__ */ jsxs(ThemeProvider, { ...props, children: [
317
- /* @__PURE__ */ jsx2(CssVariablesInjector, {}),
331
+ /* @__PURE__ */ jsx(CssVariablesInjector, {}),
318
332
  props.children
319
333
  ] });
320
334
  };
321
-
322
- // src/components/ui/button.tsx
323
- import * as React2 from "react";
324
- import { cva } from "class-variance-authority";
325
- import { jsx as jsx3 } from "react/jsx-runtime";
326
335
  var buttonVariants = cva(
327
336
  "inline-flex items-center justify-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
328
337
  {
@@ -350,10 +359,10 @@ var buttonVariants = cva(
350
359
  }
351
360
  }
352
361
  );
353
- var Button = React2.forwardRef(
362
+ var Button = React32.forwardRef(
354
363
  ({ className, variant, size, asChild = false, ...props }, ref) => {
355
- const Comp = asChild ? React2.Fragment : "button";
356
- return /* @__PURE__ */ jsx3(
364
+ const Comp = asChild ? React32.Fragment : "button";
365
+ return /* @__PURE__ */ jsx(
357
366
  Comp,
358
367
  {
359
368
  className: cn(buttonVariants({ variant, size, className })),
@@ -368,11 +377,7 @@ var Button = React2.forwardRef(
368
377
  }
369
378
  );
370
379
  Button.displayName = "Button";
371
-
372
- // src/components/ui/badge.tsx
373
- import { cva as cva2 } from "class-variance-authority";
374
- import { jsx as jsx4 } from "react/jsx-runtime";
375
- var badgeVariants = cva2(
380
+ var badgeVariants = cva(
376
381
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2",
377
382
  {
378
383
  variants: {
@@ -392,13 +397,9 @@ var badgeVariants = cva2(
392
397
  }
393
398
  );
394
399
  function Badge({ className, variant, ...props }) {
395
- return /* @__PURE__ */ jsx4("div", { className: cn(badgeVariants({ variant }), className), ...props });
400
+ return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
396
401
  }
397
-
398
- // src/components/ui/card.tsx
399
- import * as React3 from "react";
400
- import { jsx as jsx5 } from "react/jsx-runtime";
401
- var Card = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
402
+ var Card = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
402
403
  "div",
403
404
  {
404
405
  ref,
@@ -411,7 +412,7 @@ var Card = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
411
412
  }
412
413
  ));
413
414
  Card.displayName = "Card";
414
- var CardHeader = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
415
+ var CardHeader = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
415
416
  "div",
416
417
  {
417
418
  ref,
@@ -420,7 +421,7 @@ var CardHeader = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE_
420
421
  }
421
422
  ));
422
423
  CardHeader.displayName = "CardHeader";
423
- var CardTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
424
+ var CardTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
424
425
  "h3",
425
426
  {
426
427
  ref,
@@ -432,7 +433,7 @@ var CardTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__
432
433
  }
433
434
  ));
434
435
  CardTitle.displayName = "CardTitle";
435
- var CardDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
436
+ var CardDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
436
437
  "p",
437
438
  {
438
439
  ref,
@@ -441,9 +442,9 @@ var CardDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__
441
442
  }
442
443
  ));
443
444
  CardDescription.displayName = "CardDescription";
444
- var CardContent = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5("div", { ref, className: cn("p-6 pt-0", className), ...props }));
445
+ var CardContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
445
446
  CardContent.displayName = "CardContent";
446
- var CardFooter = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
447
+ var CardFooter = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
447
448
  "div",
448
449
  {
449
450
  ref,
@@ -452,13 +453,9 @@ var CardFooter = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE_
452
453
  }
453
454
  ));
454
455
  CardFooter.displayName = "CardFooter";
455
-
456
- // src/components/ui/input.tsx
457
- import * as React4 from "react";
458
- import { jsx as jsx6 } from "react/jsx-runtime";
459
- var Input = React4.forwardRef(
456
+ var Input = React32.forwardRef(
460
457
  ({ className, type, ...props }, ref) => {
461
- return /* @__PURE__ */ jsx6(
458
+ return /* @__PURE__ */ jsx(
462
459
  "input",
463
460
  {
464
461
  type,
@@ -477,16 +474,55 @@ var Input = React4.forwardRef(
477
474
  }
478
475
  );
479
476
  Input.displayName = "Input";
480
-
481
- // src/components/ui/select.tsx
482
- import * as React5 from "react";
483
- import * as SelectPrimitive from "@radix-ui/react-select";
484
- import { Check, ChevronDown, ChevronUp } from "lucide-react";
485
- import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
477
+ var Textarea = React32.forwardRef(
478
+ ({ className, ...props }, ref) => {
479
+ return /* @__PURE__ */ jsx(
480
+ "textarea",
481
+ {
482
+ className: cn(
483
+ "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
484
+ className
485
+ ),
486
+ ref,
487
+ ...props
488
+ }
489
+ );
490
+ }
491
+ );
492
+ Textarea.displayName = "Textarea";
493
+ var labelVariants = cva(
494
+ "text-sm font-medium leading-none text-gray-900 dark:text-gray-200 peer-disabled:cursor-not-allowed peer-disabled:opacity-70 dark:peer-disabled:opacity-60 transition-colors duration-200"
495
+ );
496
+ var Label = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
497
+ LabelPrimitive.Root,
498
+ {
499
+ ref,
500
+ className: cn(labelVariants(), className),
501
+ ...props
502
+ }
503
+ ));
504
+ Label.displayName = LabelPrimitive.Root.displayName;
505
+ var Separator = React32.forwardRef(
506
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
507
+ SeparatorPrimitive.Root,
508
+ {
509
+ ref,
510
+ decorative,
511
+ orientation,
512
+ className: cn(
513
+ "shrink-0 bg-border",
514
+ orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
515
+ className
516
+ ),
517
+ ...props
518
+ }
519
+ )
520
+ );
521
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
486
522
  var Select = SelectPrimitive.Root;
487
523
  var SelectGroup = SelectPrimitive.Group;
488
524
  var SelectValue = SelectPrimitive.Value;
489
- var SelectTrigger = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
525
+ var SelectTrigger = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
490
526
  SelectPrimitive.Trigger,
491
527
  {
492
528
  ref,
@@ -501,12 +537,12 @@ var SelectTrigger = React5.forwardRef(({ className, children, ...props }, ref) =
501
537
  ...props,
502
538
  children: [
503
539
  children,
504
- /* @__PURE__ */ jsx7(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx7(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
540
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
505
541
  ]
506
542
  }
507
543
  ));
508
544
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
509
- var SelectScrollUpButton = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
545
+ var SelectScrollUpButton = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
510
546
  SelectPrimitive.ScrollUpButton,
511
547
  {
512
548
  ref,
@@ -515,11 +551,11 @@ var SelectScrollUpButton = React5.forwardRef(({ className, ...props }, ref) => /
515
551
  className
516
552
  ),
517
553
  ...props,
518
- children: /* @__PURE__ */ jsx7(ChevronUp, { className: "h-4 w-4" })
554
+ children: /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" })
519
555
  }
520
556
  ));
521
557
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
522
- var SelectScrollDownButton = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
558
+ var SelectScrollDownButton = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
523
559
  SelectPrimitive.ScrollDownButton,
524
560
  {
525
561
  ref,
@@ -528,11 +564,11 @@ var SelectScrollDownButton = React5.forwardRef(({ className, ...props }, ref) =>
528
564
  className
529
565
  ),
530
566
  ...props,
531
- children: /* @__PURE__ */ jsx7(ChevronDown, { className: "h-4 w-4" })
567
+ children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
532
568
  }
533
569
  ));
534
570
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
535
- var SelectContent = React5.forwardRef(({ className, children, position = "item-aligned", ...props }, ref) => /* @__PURE__ */ jsx7(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
571
+ var SelectContent = React32.forwardRef(({ className, children, position = "item-aligned", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
536
572
  SelectPrimitive.Content,
537
573
  {
538
574
  ref,
@@ -548,8 +584,8 @@ var SelectContent = React5.forwardRef(({ className, children, position = "item-a
548
584
  position,
549
585
  ...props,
550
586
  children: [
551
- /* @__PURE__ */ jsx7(SelectScrollUpButton, {}),
552
- /* @__PURE__ */ jsx7(
587
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
588
+ /* @__PURE__ */ jsx(
553
589
  SelectPrimitive.Viewport,
554
590
  {
555
591
  className: cn(
@@ -559,12 +595,12 @@ var SelectContent = React5.forwardRef(({ className, children, position = "item-a
559
595
  children
560
596
  }
561
597
  ),
562
- /* @__PURE__ */ jsx7(SelectScrollDownButton, {})
598
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
563
599
  ]
564
600
  }
565
601
  ) }));
566
602
  SelectContent.displayName = SelectPrimitive.Content.displayName;
567
- var SelectLabel = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
603
+ var SelectLabel = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
568
604
  SelectPrimitive.Label,
569
605
  {
570
606
  ref,
@@ -573,7 +609,7 @@ var SelectLabel = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE
573
609
  }
574
610
  ));
575
611
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
576
- var SelectItem = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
612
+ var SelectItem = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
577
613
  SelectPrimitive.Item,
578
614
  {
579
615
  ref,
@@ -585,13 +621,13 @@ var SelectItem = React5.forwardRef(({ className, children, ...props }, ref) => /
585
621
  ),
586
622
  ...props,
587
623
  children: [
588
- /* @__PURE__ */ jsx7("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx7(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx7(Check, { className: "h-4 w-4" }) }) }),
589
- /* @__PURE__ */ jsx7(SelectPrimitive.ItemText, { children })
624
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
625
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
590
626
  ]
591
627
  }
592
628
  ));
593
629
  SelectItem.displayName = SelectPrimitive.Item.displayName;
594
- var SelectSeparator = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
630
+ var SelectSeparator = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
595
631
  SelectPrimitive.Separator,
596
632
  {
597
633
  ref,
@@ -600,12 +636,7 @@ var SelectSeparator = React5.forwardRef(({ className, ...props }, ref) => /* @__
600
636
  }
601
637
  ));
602
638
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
603
-
604
- // src/components/ui/switch.tsx
605
- import * as React6 from "react";
606
- import * as SwitchPrimitives from "@radix-ui/react-switch";
607
- import { jsx as jsx8 } from "react/jsx-runtime";
608
- var Switch = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
639
+ var Switch = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
609
640
  SwitchPrimitives.Root,
610
641
  {
611
642
  className: cn(
@@ -618,7 +649,7 @@ var Switch = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
618
649
  ),
619
650
  ...props,
620
651
  ref,
621
- children: /* @__PURE__ */ jsx8(
652
+ children: /* @__PURE__ */ jsx(
622
653
  SwitchPrimitives.Thumb,
623
654
  {
624
655
  className: cn(
@@ -630,18 +661,11 @@ var Switch = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
630
661
  }
631
662
  ));
632
663
  Switch.displayName = SwitchPrimitives.Root.displayName;
633
-
634
- // src/components/ui/dialog.tsx
635
- import * as React7 from "react";
636
- import * as DialogPrimitive from "@radix-ui/react-dialog";
637
- import { cva as cva3 } from "class-variance-authority";
638
- import { Check as Check2, Loader2, X } from "lucide-react";
639
- import { jsx as jsx9, jsxs as jsxs3 } from "react/jsx-runtime";
640
664
  var Dialog = DialogPrimitive.Root;
641
665
  var DialogTrigger = DialogPrimitive.Trigger;
642
666
  var DialogPortal = DialogPrimitive.Portal;
643
667
  var DialogClose = DialogPrimitive.Close;
644
- var overlayVariants = cva3(
668
+ var overlayVariants = cva(
645
669
  "fixed inset-0 z-50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
646
670
  {
647
671
  variants: {
@@ -663,7 +687,7 @@ var overlayVariants = cva3(
663
687
  }
664
688
  }
665
689
  );
666
- var DialogOverlay = React7.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx9(
690
+ var DialogOverlay = React32.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx(
667
691
  DialogPrimitive.Overlay,
668
692
  {
669
693
  ref,
@@ -672,7 +696,7 @@ var DialogOverlay = React7.forwardRef(({ className, variant, animation, ...props
672
696
  }
673
697
  ));
674
698
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
675
- var dialogContentVariants = cva3(
699
+ var dialogContentVariants = cva(
676
700
  "fixed left-[50%] top-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border shadow-lg bg-[var(--color-card)] text-[var(--color-foreground)]",
677
701
  {
678
702
  variants: {
@@ -722,7 +746,7 @@ var dialogContentVariants = cva3(
722
746
  }
723
747
  }
724
748
  );
725
- var DialogContent = React7.forwardRef(
749
+ var DialogContent = React32.forwardRef(
726
750
  ({
727
751
  className,
728
752
  children,
@@ -747,15 +771,15 @@ var DialogContent = React7.forwardRef(
747
771
  onClose();
748
772
  }
749
773
  };
750
- return /* @__PURE__ */ jsxs3(DialogPortal, { children: [
751
- /* @__PURE__ */ jsx9(
774
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [
775
+ /* @__PURE__ */ jsx(
752
776
  DialogOverlay,
753
777
  {
754
778
  variant: overlayVariant,
755
779
  animation: overlayAnimation
756
780
  }
757
781
  ),
758
- /* @__PURE__ */ jsxs3(
782
+ /* @__PURE__ */ jsxs(
759
783
  DialogPrimitive.Content,
760
784
  {
761
785
  ref,
@@ -779,26 +803,26 @@ var DialogContent = React7.forwardRef(
779
803
  } : void 0,
780
804
  ...props,
781
805
  children: [
782
- (title || description) && /* @__PURE__ */ jsxs3(DialogHeader, { className: icon || loading || success ? "flex flex-row items-start gap-4" : "", children: [
783
- (icon || loading || success) && /* @__PURE__ */ jsxs3("div", { className: "rounded-full bg-[var(--color-accent)] p-2 flex-shrink-0", children: [
784
- loading && /* @__PURE__ */ jsx9(Loader2, { className: "h-5 w-5 animate-spin text-[var(--color-primary)]" }),
785
- success && !loading && /* @__PURE__ */ jsx9(Check2, { className: "h-5 w-5 text-[var(--color-success)]" }),
786
- !loading && !success && icon && /* @__PURE__ */ jsx9("span", { className: "text-[var(--color-primary)]", children: icon })
806
+ (title || description) && /* @__PURE__ */ jsxs(DialogHeader, { className: icon || loading || success ? "flex flex-row items-start gap-4" : "", children: [
807
+ (icon || loading || success) && /* @__PURE__ */ jsxs("div", { className: "rounded-full bg-[var(--color-accent)] p-2 flex-shrink-0", children: [
808
+ loading && /* @__PURE__ */ jsx(Loader2, { className: "h-5 w-5 animate-spin text-[var(--color-primary)]" }),
809
+ success && !loading && /* @__PURE__ */ jsx(Check, { className: "h-5 w-5 text-[var(--color-success)]" }),
810
+ !loading && !success && icon && /* @__PURE__ */ jsx("span", { className: "text-[var(--color-primary)]", children: icon })
787
811
  ] }),
788
- /* @__PURE__ */ jsxs3("div", { className: "flex-1", children: [
789
- title && /* @__PURE__ */ jsx9(DialogTitle, { children: title }),
790
- description && /* @__PURE__ */ jsx9(DialogDescription, { children: description })
812
+ /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
813
+ title && /* @__PURE__ */ jsx(DialogTitle, { children: title }),
814
+ description && /* @__PURE__ */ jsx(DialogDescription, { children: description })
791
815
  ] })
792
816
  ] }),
793
817
  children,
794
- !hideCloseButton && /* @__PURE__ */ jsxs3(
818
+ !hideCloseButton && /* @__PURE__ */ jsxs(
795
819
  DialogPrimitive.Close,
796
820
  {
797
821
  onClick: handleClose,
798
822
  className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 focus:ring-offset-2 disabled:pointer-events-none text-[var(--color-muted-foreground)] hover:text-[var(--color-foreground)]",
799
823
  children: [
800
- /* @__PURE__ */ jsx9(X, { className: "h-4 w-4" }),
801
- /* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Close" })
824
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
825
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
802
826
  ]
803
827
  }
804
828
  )
@@ -812,7 +836,7 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
812
836
  var DialogHeader = ({
813
837
  className,
814
838
  ...props
815
- }) => /* @__PURE__ */ jsx9(
839
+ }) => /* @__PURE__ */ jsx(
816
840
  "div",
817
841
  {
818
842
  className: cn(
@@ -826,7 +850,7 @@ DialogHeader.displayName = "DialogHeader";
826
850
  var DialogFooter = ({
827
851
  className,
828
852
  ...props
829
- }) => /* @__PURE__ */ jsx9(
853
+ }) => /* @__PURE__ */ jsx(
830
854
  "div",
831
855
  {
832
856
  className: cn(
@@ -837,7 +861,7 @@ var DialogFooter = ({
837
861
  }
838
862
  );
839
863
  DialogFooter.displayName = "DialogFooter";
840
- var DialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
864
+ var DialogTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
841
865
  DialogPrimitive.Title,
842
866
  {
843
867
  ref,
@@ -849,7 +873,7 @@ var DialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE
849
873
  }
850
874
  ));
851
875
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
852
- var DialogDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
876
+ var DialogDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
853
877
  DialogPrimitive.Description,
854
878
  {
855
879
  ref,
@@ -861,7 +885,7 @@ var DialogDescription = React7.forwardRef(({ className, ...props }, ref) => /* @
861
885
  }
862
886
  ));
863
887
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
864
- var DialogForm = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
888
+ var DialogForm = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
865
889
  "form",
866
890
  {
867
891
  ref,
@@ -870,13 +894,7 @@ var DialogForm = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE_
870
894
  }
871
895
  ));
872
896
  DialogForm.displayName = "DialogForm";
873
-
874
- // src/components/ui/tabs.tsx
875
- import * as React8 from "react";
876
- import * as TabsPrimitive from "@radix-ui/react-tabs";
877
- import { cva as cva4 } from "class-variance-authority";
878
- import { jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
879
- var Tabs = React8.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE__ */ jsx10(
897
+ var Tabs = React32.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE__ */ jsx(
880
898
  TabsPrimitive.Root,
881
899
  {
882
900
  ref,
@@ -885,7 +903,7 @@ var Tabs = React8.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE
885
903
  }
886
904
  ));
887
905
  Tabs.displayName = TabsPrimitive.Root.displayName;
888
- var tabsListVariants = cva4(
906
+ var tabsListVariants = cva(
889
907
  "flex items-center justify-start transition-all duration-200",
890
908
  {
891
909
  variants: {
@@ -911,7 +929,7 @@ var tabsListVariants = cva4(
911
929
  }
912
930
  }
913
931
  );
914
- var TabsList = React8.forwardRef(({ className, variant, orientation, fullWidth, ...props }, ref) => /* @__PURE__ */ jsx10(
932
+ var TabsList = React32.forwardRef(({ className, variant, orientation, fullWidth, ...props }, ref) => /* @__PURE__ */ jsx(
915
933
  TabsPrimitive.List,
916
934
  {
917
935
  ref,
@@ -920,7 +938,7 @@ var TabsList = React8.forwardRef(({ className, variant, orientation, fullWidth,
920
938
  }
921
939
  ));
922
940
  TabsList.displayName = TabsPrimitive.List.displayName;
923
- var tabsTriggerVariants = cva4(
941
+ var tabsTriggerVariants = cva(
924
942
  "inline-flex items-center justify-center whitespace-nowrap font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]/30 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
925
943
  {
926
944
  variants: {
@@ -952,7 +970,7 @@ var tabsTriggerVariants = cva4(
952
970
  }
953
971
  }
954
972
  );
955
- var TabsTrigger = React8.forwardRef(({
973
+ var TabsTrigger = React32.forwardRef(({
956
974
  className,
957
975
  variant,
958
976
  size,
@@ -964,7 +982,7 @@ var TabsTrigger = React8.forwardRef(({
964
982
  fullWidth,
965
983
  children,
966
984
  ...props
967
- }, ref) => /* @__PURE__ */ jsxs4(
985
+ }, ref) => /* @__PURE__ */ jsxs(
968
986
  TabsPrimitive.Trigger,
969
987
  {
970
988
  ref,
@@ -975,15 +993,15 @@ var TabsTrigger = React8.forwardRef(({
975
993
  ),
976
994
  ...props,
977
995
  children: [
978
- icon && iconPosition === "left" && /* @__PURE__ */ jsx10("span", { className: "mr-2", children: icon }),
996
+ icon && iconPosition === "left" && /* @__PURE__ */ jsx("span", { className: "mr-2", children: icon }),
979
997
  children,
980
- icon && iconPosition === "right" && /* @__PURE__ */ jsx10("span", { className: "ml-2", children: icon }),
981
- badge && /* @__PURE__ */ jsx10("span", { className: "ml-2", children: badge })
998
+ icon && iconPosition === "right" && /* @__PURE__ */ jsx("span", { className: "ml-2", children: icon }),
999
+ badge && /* @__PURE__ */ jsx("span", { className: "ml-2", children: badge })
982
1000
  ]
983
1001
  }
984
1002
  ));
985
1003
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
986
- var TabsContent = React8.forwardRef(({ className, animated = false, ...props }, ref) => /* @__PURE__ */ jsx10(
1004
+ var TabsContent = React32.forwardRef(({ className, animated = false, ...props }, ref) => /* @__PURE__ */ jsx(
987
1005
  TabsPrimitive.Content,
988
1006
  {
989
1007
  ref,
@@ -996,13 +1014,7 @@ var TabsContent = React8.forwardRef(({ className, animated = false, ...props },
996
1014
  }
997
1015
  ));
998
1016
  TabsContent.displayName = TabsPrimitive.Content.displayName;
999
-
1000
- // src/components/ui/avatar.tsx
1001
- import * as React9 from "react";
1002
- import * as AvatarPrimitive from "@radix-ui/react-avatar";
1003
- import { cva as cva5 } from "class-variance-authority";
1004
- import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
1005
- var avatarVariants = cva5(
1017
+ var avatarVariants = cva(
1006
1018
  "relative flex shrink-0 overflow-hidden",
1007
1019
  {
1008
1020
  variants: {
@@ -1036,7 +1048,7 @@ var avatarVariants = cva5(
1036
1048
  }
1037
1049
  }
1038
1050
  );
1039
- var Avatar = React9.forwardRef(({ className, size, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx11(
1051
+ var Avatar = React32.forwardRef(({ className, size, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx(
1040
1052
  AvatarPrimitive.Root,
1041
1053
  {
1042
1054
  ref,
@@ -1045,7 +1057,7 @@ var Avatar = React9.forwardRef(({ className, size, radius, variant, ...props },
1045
1057
  }
1046
1058
  ));
1047
1059
  Avatar.displayName = AvatarPrimitive.Root.displayName;
1048
- var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
1060
+ var AvatarImage = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1049
1061
  AvatarPrimitive.Image,
1050
1062
  {
1051
1063
  ref,
@@ -1054,7 +1066,7 @@ var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE
1054
1066
  }
1055
1067
  ));
1056
1068
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
1057
- var AvatarFallback = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
1069
+ var AvatarFallback = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1058
1070
  AvatarPrimitive.Fallback,
1059
1071
  {
1060
1072
  ref,
@@ -1066,18 +1078,18 @@ var AvatarFallback = React9.forwardRef(({ className, ...props }, ref) => /* @__P
1066
1078
  }
1067
1079
  ));
1068
1080
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
1069
- var AvatarGroup = React9.forwardRef(
1081
+ var AvatarGroup = React32.forwardRef(
1070
1082
  ({ className, limit, avatars, overlapOffset = -8, ...props }, ref) => {
1071
1083
  const visibleAvatars = limit ? avatars.slice(0, limit) : avatars;
1072
1084
  const remainingCount = limit ? Math.max(0, avatars.length - limit) : 0;
1073
- return /* @__PURE__ */ jsx11(
1085
+ return /* @__PURE__ */ jsx(
1074
1086
  "div",
1075
1087
  {
1076
1088
  ref,
1077
1089
  className: cn("flex items-center", className),
1078
1090
  ...props,
1079
- children: /* @__PURE__ */ jsxs5("div", { className: "flex", children: [
1080
- visibleAvatars.map((avatar, index) => /* @__PURE__ */ jsx11(
1091
+ children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
1092
+ visibleAvatars.map((avatar, index) => /* @__PURE__ */ jsx(
1081
1093
  "div",
1082
1094
  {
1083
1095
  className: "relative",
@@ -1089,12 +1101,12 @@ var AvatarGroup = React9.forwardRef(
1089
1101
  },
1090
1102
  index
1091
1103
  )),
1092
- remainingCount > 0 && /* @__PURE__ */ jsx11(
1104
+ remainingCount > 0 && /* @__PURE__ */ jsx(
1093
1105
  "div",
1094
1106
  {
1095
1107
  className: "relative z-0",
1096
1108
  style: { marginLeft: `${overlapOffset}px` },
1097
- children: /* @__PURE__ */ jsx11(Avatar, { variant: "border", children: /* @__PURE__ */ jsxs5(AvatarFallback, { children: [
1109
+ children: /* @__PURE__ */ jsx(Avatar, { variant: "border", children: /* @__PURE__ */ jsxs(AvatarFallback, { children: [
1098
1110
  "+",
1099
1111
  remainingCount
1100
1112
  ] }) })
@@ -1106,13 +1118,7 @@ var AvatarGroup = React9.forwardRef(
1106
1118
  }
1107
1119
  );
1108
1120
  AvatarGroup.displayName = "AvatarGroup";
1109
-
1110
- // src/components/ui/alert.tsx
1111
- import * as React10 from "react";
1112
- import { cva as cva6 } from "class-variance-authority";
1113
- import { AlertCircle, AlertTriangle, Info, Check as Check3, X as X2 } from "lucide-react";
1114
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
1115
- var alertVariants = cva6(
1121
+ var alertVariants = cva(
1116
1122
  "relative w-full flex items-center gap-3 p-4 border text-[var(--color-foreground)] [&>svg]:shrink-0",
1117
1123
  {
1118
1124
  variants: {
@@ -1148,12 +1154,12 @@ var alertVariants = cva6(
1148
1154
  }
1149
1155
  }
1150
1156
  );
1151
- var Alert = React10.forwardRef(
1157
+ var Alert = React32.forwardRef(
1152
1158
  ({ className, variant = "default", size, radius, hideIcon = false, closable = false, onClose, children, ...props }, ref) => {
1153
- const Icon2 = React10.useMemo(() => {
1159
+ const Icon2 = React32.useMemo(() => {
1154
1160
  switch (variant) {
1155
1161
  case "success":
1156
- return Check3;
1162
+ return Check;
1157
1163
  case "warning":
1158
1164
  return AlertTriangle;
1159
1165
  case "error":
@@ -1164,7 +1170,7 @@ var Alert = React10.forwardRef(
1164
1170
  return Info;
1165
1171
  }
1166
1172
  }, [variant]);
1167
- return /* @__PURE__ */ jsxs6(
1173
+ return /* @__PURE__ */ jsxs(
1168
1174
  "div",
1169
1175
  {
1170
1176
  ref,
@@ -1172,15 +1178,15 @@ var Alert = React10.forwardRef(
1172
1178
  className: cn(alertVariants({ variant, size, radius, withClose: closable }), className),
1173
1179
  ...props,
1174
1180
  children: [
1175
- !hideIcon && /* @__PURE__ */ jsx12(Icon2, { className: "h-5 w-5" }),
1176
- /* @__PURE__ */ jsx12("div", { className: "flex-1", children }),
1177
- closable && onClose && /* @__PURE__ */ jsx12(
1181
+ !hideIcon && /* @__PURE__ */ jsx(Icon2, { className: "h-5 w-5" }),
1182
+ /* @__PURE__ */ jsx("div", { className: "flex-1", children }),
1183
+ closable && onClose && /* @__PURE__ */ jsx(
1178
1184
  "button",
1179
1185
  {
1180
1186
  onClick: onClose,
1181
1187
  className: "absolute right-3 top-3 inline-flex h-6 w-6 items-center justify-center rounded-full opacity-70 transition-opacity hover:opacity-100",
1182
1188
  "aria-label": "Kapat",
1183
- children: /* @__PURE__ */ jsx12(X2, { className: "h-4 w-4" })
1189
+ children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
1184
1190
  }
1185
1191
  )
1186
1192
  ]
@@ -1189,7 +1195,7 @@ var Alert = React10.forwardRef(
1189
1195
  }
1190
1196
  );
1191
1197
  Alert.displayName = "Alert";
1192
- var AlertTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1198
+ var AlertTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1193
1199
  "h5",
1194
1200
  {
1195
1201
  ref,
@@ -1198,7 +1204,7 @@ var AlertTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE
1198
1204
  }
1199
1205
  ));
1200
1206
  AlertTitle.displayName = "AlertTitle";
1201
- var AlertDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1207
+ var AlertDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1202
1208
  "div",
1203
1209
  {
1204
1210
  ref,
@@ -1207,21 +1213,15 @@ var AlertDescription = React10.forwardRef(({ className, ...props }, ref) => /* @
1207
1213
  }
1208
1214
  ));
1209
1215
  AlertDescription.displayName = "AlertDescription";
1210
-
1211
- // src/components/ui/toast.tsx
1212
- import * as React11 from "react";
1213
- import { cva as cva7 } from "class-variance-authority";
1214
- import { X as X3, AlertCircle as AlertCircle2, Check as Check4, AlertTriangle as AlertTriangle2, Info as Info2 } from "lucide-react";
1215
- import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
1216
- var ToastProvider = React11.createContext(null);
1216
+ var ToastProvider = React32.createContext(null);
1217
1217
  var useToast = () => {
1218
- const context = React11.useContext(ToastProvider);
1218
+ const context = React32.useContext(ToastProvider);
1219
1219
  if (!context) {
1220
1220
  throw new Error("useToast must be used within a ToastProvider");
1221
1221
  }
1222
1222
  return context;
1223
1223
  };
1224
- var toastVariants = cva7(
1224
+ var toastVariants = cva(
1225
1225
  "group pointer-events-auto relative flex w-full items-center justify-between gap-2 overflow-hidden border p-4 shadow-md transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full",
1226
1226
  {
1227
1227
  variants: {
@@ -1269,24 +1269,24 @@ var Toast = ({
1269
1269
  showProgress = false,
1270
1270
  ...props
1271
1271
  }) => {
1272
- const [progress, setProgress] = React11.useState(100);
1273
- const timerRef = React11.useRef(void 0);
1274
- const Icon2 = React11.useMemo(() => {
1272
+ const [progress, setProgress] = React32.useState(100);
1273
+ const timerRef = React32.useRef(void 0);
1274
+ const Icon2 = React32.useMemo(() => {
1275
1275
  switch (variant) {
1276
1276
  case "success":
1277
- return Check4;
1277
+ return Check;
1278
1278
  case "warning":
1279
- return AlertTriangle2;
1279
+ return AlertTriangle;
1280
1280
  case "error":
1281
1281
  case "destructive":
1282
- return AlertCircle2;
1282
+ return AlertCircle;
1283
1283
  case "info":
1284
- return Info2;
1284
+ return Info;
1285
1285
  default:
1286
1286
  return null;
1287
1287
  }
1288
1288
  }, [variant]);
1289
- React11.useEffect(() => {
1289
+ React32.useEffect(() => {
1290
1290
  if (autoClose) {
1291
1291
  const startTime = Date.now();
1292
1292
  const endTime = startTime + duration;
@@ -1310,14 +1310,14 @@ var Toast = ({
1310
1310
  };
1311
1311
  }, [autoClose, duration, onClose]);
1312
1312
  const textColorClass = variant === "default" ? "text-[var(--color-foreground)]" : variant === "destructive" ? "text-[var(--color-error-foreground)]" : `text-[var(--color-${variant})]`;
1313
- return /* @__PURE__ */ jsxs7(
1313
+ return /* @__PURE__ */ jsxs(
1314
1314
  "div",
1315
1315
  {
1316
1316
  className: cn(toastVariants({ variant, size, radius }), className),
1317
1317
  ...props,
1318
1318
  children: [
1319
- /* @__PURE__ */ jsxs7("div", { className: "flex gap-3 items-start", children: [
1320
- !hideIcon && Icon2 && /* @__PURE__ */ jsx13(
1319
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-3 items-start", children: [
1320
+ !hideIcon && Icon2 && /* @__PURE__ */ jsx(
1321
1321
  Icon2,
1322
1322
  {
1323
1323
  className: cn(
@@ -1326,15 +1326,15 @@ var Toast = ({
1326
1326
  )
1327
1327
  }
1328
1328
  ),
1329
- /* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-1", children: [
1330
- title && /* @__PURE__ */ jsx13("div", { className: cn("font-medium leading-none tracking-tight", textColorClass), children: title }),
1331
- description && /* @__PURE__ */ jsx13("div", { className: cn("text-[var(--color-muted-foreground)] leading-normal", {
1329
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
1330
+ title && /* @__PURE__ */ jsx("div", { className: cn("font-medium leading-none tracking-tight", textColorClass), children: title }),
1331
+ description && /* @__PURE__ */ jsx("div", { className: cn("text-[var(--color-muted-foreground)] leading-normal", {
1332
1332
  "text-[var(--color-error-foreground)]/90": variant === "destructive"
1333
1333
  }), children: description })
1334
1334
  ] })
1335
1335
  ] }),
1336
1336
  action,
1337
- onClose && /* @__PURE__ */ jsx13(
1337
+ onClose && /* @__PURE__ */ jsx(
1338
1338
  "button",
1339
1339
  {
1340
1340
  onClick: onClose,
@@ -1342,10 +1342,10 @@ var Toast = ({
1342
1342
  "absolute right-2 top-2 rounded-[var(--radius-sm)] p-1 transition-opacity hover:opacity-100 opacity-70",
1343
1343
  textColorClass
1344
1344
  ),
1345
- children: /* @__PURE__ */ jsx13(X3, { className: "h-4 w-4" })
1345
+ children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
1346
1346
  }
1347
1347
  ),
1348
- autoClose && showProgress && /* @__PURE__ */ jsx13("div", { className: "absolute bottom-0 left-0 right-0 h-1 bg-[var(--color-accent)]/50", children: /* @__PURE__ */ jsx13(
1348
+ autoClose && showProgress && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-1 bg-[var(--color-accent)]/50", children: /* @__PURE__ */ jsx(
1349
1349
  "div",
1350
1350
  {
1351
1351
  className: cn(
@@ -1375,7 +1375,7 @@ var ToastContainer = ({
1375
1375
  "bottom-center": "bottom-0 left-1/2 -translate-x-1/2 flex-col",
1376
1376
  "bottom-left": "bottom-0 left-0 flex-col"
1377
1377
  };
1378
- return /* @__PURE__ */ jsx13(
1378
+ return /* @__PURE__ */ jsx(
1379
1379
  "div",
1380
1380
  {
1381
1381
  className: cn(
@@ -1389,12 +1389,7 @@ var ToastContainer = ({
1389
1389
  );
1390
1390
  };
1391
1391
  ToastContainer.displayName = "ToastContainer";
1392
-
1393
- // src/components/ui/tooltip.tsx
1394
- import * as React12 from "react";
1395
- import { cva as cva8 } from "class-variance-authority";
1396
- import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
1397
- var tooltipContentVariants = cva8(
1392
+ var tooltipContentVariants = cva(
1398
1393
  "absolute z-50 overflow-hidden border text-[var(--font-size-xs)] opacity-0 transition-opacity duration-200 ease-in-out pointer-events-none",
1399
1394
  {
1400
1395
  variants: {
@@ -1554,8 +1549,8 @@ function Tooltip({
1554
1549
  triggerClassName,
1555
1550
  ...props
1556
1551
  }) {
1557
- const [visible, setVisible] = React12.useState(false);
1558
- const timeoutRef = React12.useRef(void 0);
1552
+ const [visible, setVisible] = React32.useState(false);
1553
+ const timeoutRef = React32.useRef(void 0);
1559
1554
  const showTooltip = () => {
1560
1555
  if (timeoutRef.current) {
1561
1556
  clearTimeout(timeoutRef.current);
@@ -1570,7 +1565,7 @@ function Tooltip({
1570
1565
  }
1571
1566
  setVisible(false);
1572
1567
  };
1573
- React12.useEffect(() => {
1568
+ React32.useEffect(() => {
1574
1569
  return () => {
1575
1570
  if (timeoutRef.current) {
1576
1571
  clearTimeout(timeoutRef.current);
@@ -1578,9 +1573,9 @@ function Tooltip({
1578
1573
  };
1579
1574
  }, []);
1580
1575
  if (disabled) {
1581
- return /* @__PURE__ */ jsx14(Fragment2, { children });
1576
+ return /* @__PURE__ */ jsx(Fragment, { children });
1582
1577
  }
1583
- return /* @__PURE__ */ jsxs8(
1578
+ return /* @__PURE__ */ jsxs(
1584
1579
  "div",
1585
1580
  {
1586
1581
  className: "relative inline-flex",
@@ -1589,8 +1584,8 @@ function Tooltip({
1589
1584
  onFocus: showTooltip,
1590
1585
  onBlur: hideTooltip,
1591
1586
  children: [
1592
- /* @__PURE__ */ jsx14("div", { className: cn("inline-flex", triggerClassName || ""), children }),
1593
- /* @__PURE__ */ jsx14(
1587
+ /* @__PURE__ */ jsx("div", { className: cn("inline-flex", triggerClassName || ""), children }),
1588
+ /* @__PURE__ */ jsx(
1594
1589
  "div",
1595
1590
  {
1596
1591
  className: cn(
@@ -1616,14 +1611,7 @@ function Tooltip({
1616
1611
  );
1617
1612
  }
1618
1613
  Tooltip.displayName = "Tooltip";
1619
-
1620
- // src/components/ui/checkbox.tsx
1621
- import * as React13 from "react";
1622
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
1623
- import { Check as Check5, Minus } from "lucide-react";
1624
- import { cva as cva9 } from "class-variance-authority";
1625
- import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
1626
- var checkboxVariants = cva9(
1614
+ var checkboxVariants = cva(
1627
1615
  "peer shrink-0 border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:text-[var(--color-primary-foreground)]",
1628
1616
  {
1629
1617
  variants: {
@@ -1661,7 +1649,7 @@ var checkboxVariants = cva9(
1661
1649
  }
1662
1650
  }
1663
1651
  );
1664
- var Checkbox = React13.forwardRef(({
1652
+ var Checkbox = React32.forwardRef(({
1665
1653
  className,
1666
1654
  variant,
1667
1655
  size,
@@ -1672,35 +1660,35 @@ var Checkbox = React13.forwardRef(({
1672
1660
  checked,
1673
1661
  ...props
1674
1662
  }, ref) => {
1675
- const [isIndeterminate, setIsIndeterminate] = React13.useState(indeterminate);
1676
- React13.useEffect(() => {
1663
+ const [isIndeterminate, setIsIndeterminate] = React32.useState(indeterminate);
1664
+ React32.useEffect(() => {
1677
1665
  setIsIndeterminate(indeterminate);
1678
1666
  }, [indeterminate]);
1679
1667
  const effectiveChecked = isIndeterminate ? false : checked;
1680
- return /* @__PURE__ */ jsx15(
1668
+ return /* @__PURE__ */ jsx(
1681
1669
  CheckboxPrimitive.Root,
1682
1670
  {
1683
1671
  ref,
1684
1672
  checked: effectiveChecked,
1685
1673
  className: cn(checkboxVariants({ variant, size, radius, animation }), className),
1686
1674
  ...props,
1687
- children: /* @__PURE__ */ jsx15(
1675
+ children: /* @__PURE__ */ jsx(
1688
1676
  CheckboxPrimitive.Indicator,
1689
1677
  {
1690
1678
  className: cn(
1691
1679
  "flex items-center justify-center text-current",
1692
1680
  animation === "bounce" && "data-[state=checked]:animate-bounce"
1693
1681
  ),
1694
- children: isIndeterminate ? /* @__PURE__ */ jsx15(Minus, { className: "h-[65%] w-[65%]" }) : icon ? icon : /* @__PURE__ */ jsx15(Check5, { className: "h-[65%] w-[65%]" })
1682
+ children: isIndeterminate ? /* @__PURE__ */ jsx(Minus, { className: "h-[65%] w-[65%]" }) : icon ? icon : /* @__PURE__ */ jsx(Check, { className: "h-[65%] w-[65%]" })
1695
1683
  }
1696
1684
  )
1697
1685
  }
1698
1686
  );
1699
1687
  });
1700
1688
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
1701
- var CheckboxGroup = React13.forwardRef(
1689
+ var CheckboxGroup = React32.forwardRef(
1702
1690
  ({ className, orientation = "vertical", spacing = "1rem", children, ...props }, ref) => {
1703
- return /* @__PURE__ */ jsx15(
1691
+ return /* @__PURE__ */ jsx(
1704
1692
  "div",
1705
1693
  {
1706
1694
  ref,
@@ -1718,9 +1706,9 @@ var CheckboxGroup = React13.forwardRef(
1718
1706
  }
1719
1707
  );
1720
1708
  CheckboxGroup.displayName = "CheckboxGroup";
1721
- var CheckboxLabel = React13.forwardRef(
1709
+ var CheckboxLabel = React32.forwardRef(
1722
1710
  ({ className, htmlFor, children, position = "end", disabled = false, ...props }, ref) => {
1723
- return /* @__PURE__ */ jsx15(
1711
+ return /* @__PURE__ */ jsx(
1724
1712
  "label",
1725
1713
  {
1726
1714
  ref,
@@ -1738,7 +1726,7 @@ var CheckboxLabel = React13.forwardRef(
1738
1726
  }
1739
1727
  );
1740
1728
  CheckboxLabel.displayName = "CheckboxLabel";
1741
- var CheckboxWithLabel = React13.forwardRef(({
1729
+ var CheckboxWithLabel = React32.forwardRef(({
1742
1730
  id,
1743
1731
  label,
1744
1732
  labelPosition = "end",
@@ -1746,8 +1734,8 @@ var CheckboxWithLabel = React13.forwardRef(({
1746
1734
  ...checkboxProps
1747
1735
  }, ref) => {
1748
1736
  const checkboxId = id || `checkbox-${Math.random().toString(36).substring(2, 9)}`;
1749
- return /* @__PURE__ */ jsxs9("div", { className: "flex items-center", children: [
1750
- labelPosition === "start" && /* @__PURE__ */ jsx15(
1737
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
1738
+ labelPosition === "start" && /* @__PURE__ */ jsx(
1751
1739
  CheckboxLabel,
1752
1740
  {
1753
1741
  htmlFor: checkboxId,
@@ -1757,8 +1745,8 @@ var CheckboxWithLabel = React13.forwardRef(({
1757
1745
  children: label
1758
1746
  }
1759
1747
  ),
1760
- /* @__PURE__ */ jsx15(Checkbox, { ref, id: checkboxId, ...checkboxProps }),
1761
- labelPosition === "end" && /* @__PURE__ */ jsx15(
1748
+ /* @__PURE__ */ jsx(Checkbox, { ref, id: checkboxId, ...checkboxProps }),
1749
+ labelPosition === "end" && /* @__PURE__ */ jsx(
1762
1750
  CheckboxLabel,
1763
1751
  {
1764
1752
  htmlFor: checkboxId,
@@ -1771,13 +1759,7 @@ var CheckboxWithLabel = React13.forwardRef(({
1771
1759
  ] });
1772
1760
  });
1773
1761
  CheckboxWithLabel.displayName = "CheckboxWithLabel";
1774
-
1775
- // src/components/ui/radio-group.tsx
1776
- import * as React14 from "react";
1777
- import { Circle } from "lucide-react";
1778
- import { cva as cva10 } from "class-variance-authority";
1779
- import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
1780
- var radioGroupItemVariants = cva10(
1762
+ var radioGroupItemVariants = cva(
1781
1763
  "aspect-square border focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1782
1764
  {
1783
1765
  variants: {
@@ -1799,10 +1781,10 @@ var radioGroupItemVariants = cva10(
1799
1781
  }
1800
1782
  }
1801
1783
  );
1802
- var RadioGroupContext = React14.createContext({});
1803
- var RadioGroup = React14.forwardRef(
1784
+ var RadioGroupContext = React32.createContext({});
1785
+ var RadioGroup = React32.forwardRef(
1804
1786
  ({ className, value, onValueChange, disabled, name, ...props }, ref) => {
1805
- return /* @__PURE__ */ jsx16(RadioGroupContext.Provider, { value: { value, onValueChange, disabled, name }, children: /* @__PURE__ */ jsx16(
1787
+ return /* @__PURE__ */ jsx(RadioGroupContext.Provider, { value: { value, onValueChange, disabled, name }, children: /* @__PURE__ */ jsx(
1806
1788
  "div",
1807
1789
  {
1808
1790
  ref,
@@ -1814,9 +1796,9 @@ var RadioGroup = React14.forwardRef(
1814
1796
  }
1815
1797
  );
1816
1798
  RadioGroup.displayName = "RadioGroup";
1817
- var RadioGroupItem = React14.forwardRef(({ className, variant, size, indicator, id, value, disabled, ...props }, ref) => {
1818
- const radioGroup = React14.useContext(RadioGroupContext);
1819
- const generatedId = React14.useId();
1799
+ var RadioGroupItem = React32.forwardRef(({ className, variant, size, indicator, id, value, disabled, ...props }, ref) => {
1800
+ const radioGroup = React32.useContext(RadioGroupContext);
1801
+ const generatedId = React32.useId();
1820
1802
  const radioId = id || generatedId;
1821
1803
  const isChecked = radioGroup.value === value;
1822
1804
  const handleChange = (e) => {
@@ -1827,8 +1809,8 @@ var RadioGroupItem = React14.forwardRef(({ className, variant, size, indicator,
1827
1809
  props.onChange(e);
1828
1810
  }
1829
1811
  };
1830
- return /* @__PURE__ */ jsxs10("div", { className: "relative flex items-center", children: [
1831
- /* @__PURE__ */ jsx16(
1812
+ return /* @__PURE__ */ jsxs("div", { className: "relative flex items-center", children: [
1813
+ /* @__PURE__ */ jsx(
1832
1814
  "input",
1833
1815
  {
1834
1816
  type: "radio",
@@ -1843,7 +1825,7 @@ var RadioGroupItem = React14.forwardRef(({ className, variant, size, indicator,
1843
1825
  ...props
1844
1826
  }
1845
1827
  ),
1846
- /* @__PURE__ */ jsx16(
1828
+ /* @__PURE__ */ jsx(
1847
1829
  "label",
1848
1830
  {
1849
1831
  htmlFor: radioId,
@@ -1855,18 +1837,18 @@ var RadioGroupItem = React14.forwardRef(({ className, variant, size, indicator,
1855
1837
  disabled && "cursor-not-allowed opacity-50",
1856
1838
  className
1857
1839
  ),
1858
- children: /* @__PURE__ */ jsx16("span", { className: cn(
1840
+ children: /* @__PURE__ */ jsx("span", { className: cn(
1859
1841
  "absolute inset-0 pointer-events-none",
1860
1842
  isChecked && "flex items-center justify-center"
1861
- ), children: isChecked && (indicator || /* @__PURE__ */ jsx16(Circle, { className: "h-[60%] w-[60%] fill-current text-current" })) })
1843
+ ), children: isChecked && (indicator || /* @__PURE__ */ jsx(Circle, { className: "h-[60%] w-[60%] fill-current text-current" })) })
1862
1844
  }
1863
1845
  )
1864
1846
  ] });
1865
1847
  });
1866
1848
  RadioGroupItem.displayName = "RadioGroupItem";
1867
- var RadioLabel = React14.forwardRef(
1849
+ var RadioLabel = React32.forwardRef(
1868
1850
  ({ className, htmlFor, children, disabled = false, ...props }, ref) => {
1869
- return /* @__PURE__ */ jsx16(
1851
+ return /* @__PURE__ */ jsx(
1870
1852
  "label",
1871
1853
  {
1872
1854
  ref,
@@ -1883,16 +1865,16 @@ var RadioLabel = React14.forwardRef(
1883
1865
  }
1884
1866
  );
1885
1867
  RadioLabel.displayName = "RadioLabel";
1886
- var RadioItemWithLabel = React14.forwardRef(({
1868
+ var RadioItemWithLabel = React32.forwardRef(({
1887
1869
  id,
1888
1870
  label,
1889
1871
  labelClassName,
1890
1872
  ...radioProps
1891
1873
  }, ref) => {
1892
1874
  const radioId = id || `radio-${Math.random().toString(36).substring(2, 9)}`;
1893
- return /* @__PURE__ */ jsxs10("div", { className: "flex items-center", children: [
1894
- /* @__PURE__ */ jsx16(RadioGroupItem, { ref, id: radioId, ...radioProps }),
1895
- /* @__PURE__ */ jsx16(
1875
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
1876
+ /* @__PURE__ */ jsx(RadioGroupItem, { ref, id: radioId, ...radioProps }),
1877
+ /* @__PURE__ */ jsx(
1896
1878
  RadioLabel,
1897
1879
  {
1898
1880
  htmlFor: radioId,
@@ -1904,12 +1886,7 @@ var RadioItemWithLabel = React14.forwardRef(({
1904
1886
  ] });
1905
1887
  });
1906
1888
  RadioItemWithLabel.displayName = "RadioItemWithLabel";
1907
-
1908
- // src/components/ui/progress.tsx
1909
- import * as React15 from "react";
1910
- import { cva as cva11 } from "class-variance-authority";
1911
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1912
- var progressVariants = cva11(
1889
+ var progressVariants = cva(
1913
1890
  "relative w-full overflow-hidden bg-[var(--color-muted)]",
1914
1891
  {
1915
1892
  variants: {
@@ -1951,7 +1928,7 @@ var progressVariants = cva11(
1951
1928
  }
1952
1929
  }
1953
1930
  );
1954
- var progressIndicatorVariants = cva11(
1931
+ var progressIndicatorVariants = cva(
1955
1932
  "h-full w-full flex-1",
1956
1933
  {
1957
1934
  variants: {
@@ -1976,7 +1953,7 @@ var progressIndicatorVariants = cva11(
1976
1953
  }
1977
1954
  }
1978
1955
  );
1979
- var Progress = React15.forwardRef(({
1956
+ var Progress = React32.forwardRef(({
1980
1957
  className,
1981
1958
  value = 0,
1982
1959
  variant,
@@ -1994,8 +1971,8 @@ var Progress = React15.forwardRef(({
1994
1971
  const normalizedValue = Math.max(0, Math.min(value, max));
1995
1972
  const percentage = max > 0 ? normalizedValue / max * 100 : 0;
1996
1973
  const label = valueLabel || `${Math.round(percentage)}%`;
1997
- return /* @__PURE__ */ jsxs11("div", { className: "w-full", children: [
1998
- showValueLabel && /* @__PURE__ */ jsx17("div", { className: "flex justify-between items-center mb-1", children: /* @__PURE__ */ jsx17(
1974
+ return /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
1975
+ showValueLabel && /* @__PURE__ */ jsx("div", { className: "flex justify-between items-center mb-1", children: /* @__PURE__ */ jsx(
1999
1976
  "span",
2000
1977
  {
2001
1978
  className: cn(
@@ -2005,7 +1982,7 @@ var Progress = React15.forwardRef(({
2005
1982
  children: label
2006
1983
  }
2007
1984
  ) }),
2008
- /* @__PURE__ */ jsx17(
1985
+ /* @__PURE__ */ jsx(
2009
1986
  "div",
2010
1987
  {
2011
1988
  ref,
@@ -2015,7 +1992,7 @@ var Progress = React15.forwardRef(({
2015
1992
  "aria-valuemax": max,
2016
1993
  "aria-valuenow": indeterminate ? void 0 : normalizedValue,
2017
1994
  ...props,
2018
- children: /* @__PURE__ */ jsx17(
1995
+ children: /* @__PURE__ */ jsx(
2019
1996
  "div",
2020
1997
  {
2021
1998
  className: cn(
@@ -2030,12 +2007,7 @@ var Progress = React15.forwardRef(({
2030
2007
  ] });
2031
2008
  });
2032
2009
  Progress.displayName = "Progress";
2033
-
2034
- // src/components/ui/skeleton.tsx
2035
- import * as React16 from "react";
2036
- import { cva as cva12 } from "class-variance-authority";
2037
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
2038
- var skeletonVariants = cva12(
2010
+ var skeletonVariants = cva(
2039
2011
  "animate-pulse rounded-[var(--radius-md)]",
2040
2012
  {
2041
2013
  variants: {
@@ -2069,7 +2041,7 @@ var skeletonVariants = cva12(
2069
2041
  }
2070
2042
  }
2071
2043
  );
2072
- var Skeleton = React16.forwardRef(
2044
+ var Skeleton = React32.forwardRef(
2073
2045
  ({
2074
2046
  className,
2075
2047
  variant,
@@ -2085,7 +2057,7 @@ var Skeleton = React16.forwardRef(
2085
2057
  ...props
2086
2058
  }, ref) => {
2087
2059
  if (isLoaded && children) {
2088
- return /* @__PURE__ */ jsx18(
2060
+ return /* @__PURE__ */ jsx(
2089
2061
  "div",
2090
2062
  {
2091
2063
  ref,
@@ -2101,7 +2073,7 @@ var Skeleton = React16.forwardRef(
2101
2073
  }
2102
2074
  );
2103
2075
  }
2104
- return /* @__PURE__ */ jsx18(
2076
+ return /* @__PURE__ */ jsx(
2105
2077
  "div",
2106
2078
  {
2107
2079
  ref,
@@ -2121,7 +2093,7 @@ var Skeleton = React16.forwardRef(
2121
2093
  }
2122
2094
  );
2123
2095
  Skeleton.displayName = "Skeleton";
2124
- var SkeletonText = React16.forwardRef(
2096
+ var SkeletonText = React32.forwardRef(
2125
2097
  ({
2126
2098
  className,
2127
2099
  lines = 3,
@@ -2133,7 +2105,7 @@ var SkeletonText = React16.forwardRef(
2133
2105
  animation = "pulse",
2134
2106
  ...props
2135
2107
  }, ref) => {
2136
- return /* @__PURE__ */ jsx18(
2108
+ return /* @__PURE__ */ jsx(
2137
2109
  "div",
2138
2110
  {
2139
2111
  ref,
@@ -2143,7 +2115,7 @@ var SkeletonText = React16.forwardRef(
2143
2115
  children: Array.from({ length: lines }).map((_, i) => {
2144
2116
  const isLastLine = i === lines - 1;
2145
2117
  const widthPercentage = isLastLine ? lastLineWidth : randomWidths ? Math.floor(Math.random() * 20) + 80 : 100;
2146
- return /* @__PURE__ */ jsx18(
2118
+ return /* @__PURE__ */ jsx(
2147
2119
  Skeleton,
2148
2120
  {
2149
2121
  variant,
@@ -2162,7 +2134,7 @@ var SkeletonText = React16.forwardRef(
2162
2134
  }
2163
2135
  );
2164
2136
  SkeletonText.displayName = "SkeletonText";
2165
- var SkeletonAvatar = React16.forwardRef(
2137
+ var SkeletonAvatar = React32.forwardRef(
2166
2138
  ({
2167
2139
  className,
2168
2140
  size = "2.5rem",
@@ -2170,7 +2142,7 @@ var SkeletonAvatar = React16.forwardRef(
2170
2142
  animation = "pulse",
2171
2143
  ...props
2172
2144
  }, ref) => {
2173
- return /* @__PURE__ */ jsx18(
2145
+ return /* @__PURE__ */ jsx(
2174
2146
  Skeleton,
2175
2147
  {
2176
2148
  ref,
@@ -2188,7 +2160,7 @@ var SkeletonAvatar = React16.forwardRef(
2188
2160
  }
2189
2161
  );
2190
2162
  SkeletonAvatar.displayName = "SkeletonAvatar";
2191
- var SkeletonCard = React16.forwardRef(
2163
+ var SkeletonCard = React32.forwardRef(
2192
2164
  ({
2193
2165
  className,
2194
2166
  showHeader = true,
@@ -2198,7 +2170,7 @@ var SkeletonCard = React16.forwardRef(
2198
2170
  animation = "pulse",
2199
2171
  ...props
2200
2172
  }, ref) => {
2201
- return /* @__PURE__ */ jsxs12(
2173
+ return /* @__PURE__ */ jsxs(
2202
2174
  "div",
2203
2175
  {
2204
2176
  ref,
@@ -2208,10 +2180,10 @@ var SkeletonCard = React16.forwardRef(
2208
2180
  ),
2209
2181
  ...props,
2210
2182
  children: [
2211
- showHeader && /* @__PURE__ */ jsxs12("div", { className: "mb-4 flex items-center gap-4", children: [
2212
- /* @__PURE__ */ jsx18(SkeletonAvatar, { size: "2.5rem", variant, animation }),
2213
- /* @__PURE__ */ jsxs12("div", { className: "flex-1", children: [
2214
- /* @__PURE__ */ jsx18(
2183
+ showHeader && /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
2184
+ /* @__PURE__ */ jsx(SkeletonAvatar, { size: "2.5rem", variant, animation }),
2185
+ /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
2186
+ /* @__PURE__ */ jsx(
2215
2187
  Skeleton,
2216
2188
  {
2217
2189
  variant,
@@ -2219,7 +2191,7 @@ var SkeletonCard = React16.forwardRef(
2219
2191
  className: "mb-2 h-4 w-1/3"
2220
2192
  }
2221
2193
  ),
2222
- /* @__PURE__ */ jsx18(
2194
+ /* @__PURE__ */ jsx(
2223
2195
  Skeleton,
2224
2196
  {
2225
2197
  variant,
@@ -2229,7 +2201,7 @@ var SkeletonCard = React16.forwardRef(
2229
2201
  )
2230
2202
  ] })
2231
2203
  ] }),
2232
- /* @__PURE__ */ jsx18(
2204
+ /* @__PURE__ */ jsx(
2233
2205
  SkeletonText,
2234
2206
  {
2235
2207
  lines: contentLines,
@@ -2238,8 +2210,8 @@ var SkeletonCard = React16.forwardRef(
2238
2210
  className: "mb-4"
2239
2211
  }
2240
2212
  ),
2241
- showFooter && /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between mt-4 pt-4 border-t border-[var(--color-border)]", children: [
2242
- /* @__PURE__ */ jsx18(
2213
+ showFooter && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mt-4 pt-4 border-t border-[var(--color-border)]", children: [
2214
+ /* @__PURE__ */ jsx(
2243
2215
  Skeleton,
2244
2216
  {
2245
2217
  variant,
@@ -2247,7 +2219,7 @@ var SkeletonCard = React16.forwardRef(
2247
2219
  className: "h-4 w-1/4"
2248
2220
  }
2249
2221
  ),
2250
- /* @__PURE__ */ jsx18(
2222
+ /* @__PURE__ */ jsx(
2251
2223
  Skeleton,
2252
2224
  {
2253
2225
  variant,
@@ -2262,13 +2234,7 @@ var SkeletonCard = React16.forwardRef(
2262
2234
  }
2263
2235
  );
2264
2236
  SkeletonCard.displayName = "SkeletonCard";
2265
-
2266
- // src/components/ui/popover.tsx
2267
- import * as React17 from "react";
2268
- import * as PopoverPrimitive from "@radix-ui/react-popover";
2269
- import { cva as cva13 } from "class-variance-authority";
2270
- import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
2271
- var popoverContentVariants = cva13(
2237
+ var popoverContentVariants = cva(
2272
2238
  "z-50 w-72 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-background)] p-4 shadow-[var(--shadow-md)] outline-none 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",
2273
2239
  {
2274
2240
  variants: {
@@ -2320,7 +2286,7 @@ var popoverContentVariants = cva13(
2320
2286
  var Popover = PopoverPrimitive.Root;
2321
2287
  var PopoverTrigger = PopoverPrimitive.Trigger;
2322
2288
  var PopoverAnchor = PopoverPrimitive.Anchor;
2323
- var PopoverContent = React17.forwardRef(({
2289
+ var PopoverContent = React32.forwardRef(({
2324
2290
  className,
2325
2291
  variant,
2326
2292
  size,
@@ -2333,9 +2299,9 @@ var PopoverContent = React17.forwardRef(({
2333
2299
  overlayBackdrop = false,
2334
2300
  sideOffset = 4,
2335
2301
  ...props
2336
- }, ref) => /* @__PURE__ */ jsxs13(Fragment3, { children: [
2337
- overlayBackdrop && /* @__PURE__ */ jsx19("div", { className: "fixed inset-0 z-40 bg-[var(--color-overlay)] opacity-30" }),
2338
- /* @__PURE__ */ jsx19(
2302
+ }, ref) => /* @__PURE__ */ jsxs(Fragment, { children: [
2303
+ overlayBackdrop && /* @__PURE__ */ jsx("div", { className: "fixed inset-0 z-40 bg-[var(--color-overlay)] opacity-30" }),
2304
+ /* @__PURE__ */ jsx(
2339
2305
  PopoverPrimitive.Content,
2340
2306
  {
2341
2307
  ref,
@@ -2364,7 +2330,7 @@ var PopoverContent = React17.forwardRef(({
2364
2330
  ] }));
2365
2331
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
2366
2332
  var PopoverClose = PopoverPrimitive.Close;
2367
- var PopoverSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx19(
2333
+ var PopoverSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
2368
2334
  "div",
2369
2335
  {
2370
2336
  className: cn("my-2 h-px bg-[var(--color-border)]", className),
@@ -2372,7 +2338,7 @@ var PopoverSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx19(
2372
2338
  }
2373
2339
  );
2374
2340
  PopoverSeparator.displayName = "PopoverSeparator";
2375
- var PopoverHeader = ({ className, ...props }) => /* @__PURE__ */ jsx19(
2341
+ var PopoverHeader = ({ className, ...props }) => /* @__PURE__ */ jsx(
2376
2342
  "div",
2377
2343
  {
2378
2344
  className: cn("-mx-4 -mt-4 mb-3 px-4 pt-4 pb-3 border-b border-[var(--color-border)]", className),
@@ -2380,7 +2346,7 @@ var PopoverHeader = ({ className, ...props }) => /* @__PURE__ */ jsx19(
2380
2346
  }
2381
2347
  );
2382
2348
  PopoverHeader.displayName = "PopoverHeader";
2383
- var PopoverFooter = ({ className, ...props }) => /* @__PURE__ */ jsx19(
2349
+ var PopoverFooter = ({ className, ...props }) => /* @__PURE__ */ jsx(
2384
2350
  "div",
2385
2351
  {
2386
2352
  className: cn("-mx-4 -mb-4 mt-3 px-4 pt-3 pb-4 border-t border-[var(--color-border)]", className),
@@ -2388,13 +2354,7 @@ var PopoverFooter = ({ className, ...props }) => /* @__PURE__ */ jsx19(
2388
2354
  }
2389
2355
  );
2390
2356
  PopoverFooter.displayName = "PopoverFooter";
2391
-
2392
- // src/components/ui/breadcrumb.tsx
2393
- import * as React18 from "react";
2394
- import { cva as cva14 } from "class-variance-authority";
2395
- import { ChevronRight, MoreHorizontal } from "lucide-react";
2396
- import { jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
2397
- var breadcrumbVariants = cva14(
2357
+ var breadcrumbVariants = cva(
2398
2358
  "flex items-center gap-1.5",
2399
2359
  {
2400
2360
  variants: {
@@ -2418,8 +2378,8 @@ var breadcrumbVariants = cva14(
2418
2378
  }
2419
2379
  }
2420
2380
  );
2421
- var Breadcrumb = React18.forwardRef(
2422
- ({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx20(
2381
+ var Breadcrumb = React32.forwardRef(
2382
+ ({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
2423
2383
  "nav",
2424
2384
  {
2425
2385
  ref,
@@ -2430,14 +2390,14 @@ var Breadcrumb = React18.forwardRef(
2430
2390
  )
2431
2391
  );
2432
2392
  Breadcrumb.displayName = "Breadcrumb";
2433
- var BreadcrumbList = React18.forwardRef(
2393
+ var BreadcrumbList = React32.forwardRef(
2434
2394
  ({ className, collapsed, collapsedWidth = 3, ...props }, ref) => {
2435
- const childrenArray = React18.Children.toArray(props.children).filter(Boolean);
2395
+ const childrenArray = React32.Children.toArray(props.children).filter(Boolean);
2436
2396
  const childCount = childrenArray.length;
2437
2397
  if (collapsed && childCount > collapsedWidth) {
2438
2398
  const firstItem = childrenArray[0];
2439
2399
  const lastTwoItems = childrenArray.slice(-2);
2440
- return /* @__PURE__ */ jsxs14(
2400
+ return /* @__PURE__ */ jsxs(
2441
2401
  "ol",
2442
2402
  {
2443
2403
  ref,
@@ -2448,13 +2408,13 @@ var BreadcrumbList = React18.forwardRef(
2448
2408
  ...props,
2449
2409
  children: [
2450
2410
  firstItem,
2451
- /* @__PURE__ */ jsx20(BreadcrumbEllipsis, {}),
2411
+ /* @__PURE__ */ jsx(BreadcrumbEllipsis, {}),
2452
2412
  lastTwoItems
2453
2413
  ]
2454
2414
  }
2455
2415
  );
2456
2416
  }
2457
- return /* @__PURE__ */ jsx20(
2417
+ return /* @__PURE__ */ jsx(
2458
2418
  "ol",
2459
2419
  {
2460
2420
  ref,
@@ -2468,18 +2428,18 @@ var BreadcrumbList = React18.forwardRef(
2468
2428
  }
2469
2429
  );
2470
2430
  BreadcrumbList.displayName = "BreadcrumbList";
2471
- var BreadcrumbItem = React18.forwardRef(
2431
+ var BreadcrumbItem = React32.forwardRef(
2472
2432
  ({ className, isCurrent, href, asChild = false, ...props }, ref) => {
2473
- const Comp = asChild ? React18.Fragment : href ? "a" : "span";
2433
+ const Comp = asChild ? React32.Fragment : href ? "a" : "span";
2474
2434
  const itemProps = asChild ? {} : href ? { href } : {};
2475
- return /* @__PURE__ */ jsx20(
2435
+ return /* @__PURE__ */ jsx(
2476
2436
  "li",
2477
2437
  {
2478
2438
  ref,
2479
2439
  className: cn("inline-flex items-center gap-1.5", className),
2480
2440
  "aria-current": isCurrent ? "page" : void 0,
2481
2441
  ...props,
2482
- children: /* @__PURE__ */ jsx20(
2442
+ children: /* @__PURE__ */ jsx(
2483
2443
  Comp,
2484
2444
  {
2485
2445
  className: cn(
@@ -2499,21 +2459,21 @@ var BreadcrumbSeparator = ({
2499
2459
  children,
2500
2460
  className,
2501
2461
  ...props
2502
- }) => /* @__PURE__ */ jsx20(
2462
+ }) => /* @__PURE__ */ jsx(
2503
2463
  "li",
2504
2464
  {
2505
2465
  role: "presentation",
2506
2466
  "aria-hidden": "true",
2507
2467
  className: cn("text-[var(--color-muted-foreground)] opacity-70", className),
2508
2468
  ...props,
2509
- children: children || /* @__PURE__ */ jsx20(ChevronRight, { className: "h-3.5 w-3.5" })
2469
+ children: children || /* @__PURE__ */ jsx(ChevronRight, { className: "h-3.5 w-3.5" })
2510
2470
  }
2511
2471
  );
2512
2472
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
2513
2473
  var BreadcrumbEllipsis = ({
2514
2474
  className,
2515
2475
  ...props
2516
- }) => /* @__PURE__ */ jsxs14(
2476
+ }) => /* @__PURE__ */ jsxs(
2517
2477
  "li",
2518
2478
  {
2519
2479
  role: "presentation",
@@ -2521,21 +2481,14 @@ var BreadcrumbEllipsis = ({
2521
2481
  className: cn("flex items-center text-[var(--color-muted-foreground)] hover:text-[var(--color-muted-foreground)]/80 transition-colors duration-[var(--duration-base)]", className),
2522
2482
  ...props,
2523
2483
  children: [
2524
- /* @__PURE__ */ jsx20(MoreHorizontal, { className: "h-4 w-4" }),
2525
- /* @__PURE__ */ jsx20("span", { className: "sr-only", children: "Daha fazla sayfa" })
2484
+ /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
2485
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Daha fazla sayfa" })
2526
2486
  ]
2527
2487
  }
2528
2488
  );
2529
2489
  BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
2530
-
2531
- // src/components/ui/accordion.tsx
2532
- import * as React19 from "react";
2533
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
2534
- import { ChevronDown as ChevronDown2 } from "lucide-react";
2535
- import { cva as cva15 } from "class-variance-authority";
2536
- import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
2537
2490
  var Accordion = AccordionPrimitive.Root;
2538
- var accordionItemVariants = cva15(
2491
+ var accordionItemVariants = cva(
2539
2492
  "border-b",
2540
2493
  {
2541
2494
  variants: {
@@ -2550,7 +2503,7 @@ var accordionItemVariants = cva15(
2550
2503
  }
2551
2504
  }
2552
2505
  );
2553
- var AccordionItem = React19.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx21(
2506
+ var AccordionItem = React32.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
2554
2507
  AccordionPrimitive.Item,
2555
2508
  {
2556
2509
  ref,
@@ -2559,7 +2512,7 @@ var AccordionItem = React19.forwardRef(({ className, variant, ...props }, ref) =
2559
2512
  }
2560
2513
  ));
2561
2514
  AccordionItem.displayName = "AccordionItem";
2562
- var accordionTriggerVariants = cva15(
2515
+ var accordionTriggerVariants = cva(
2563
2516
  "flex flex-1 items-center justify-between py-4 transition-all [&[data-state=open]>svg]:rotate-180 group",
2564
2517
  {
2565
2518
  variants: {
@@ -2581,7 +2534,7 @@ var accordionTriggerVariants = cva15(
2581
2534
  }
2582
2535
  }
2583
2536
  );
2584
- var AccordionTrigger = React19.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx21(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs15(
2537
+ var AccordionTrigger = React32.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
2585
2538
  AccordionPrimitive.Trigger,
2586
2539
  {
2587
2540
  ref,
@@ -2589,12 +2542,12 @@ var AccordionTrigger = React19.forwardRef(({ className, variant, size, children,
2589
2542
  ...props,
2590
2543
  children: [
2591
2544
  children,
2592
- /* @__PURE__ */ jsx21(ChevronDown2, { className: "h-4 w-4 shrink-0 transition-transform duration-[var(--duration-base)] opacity-70 group-hover:opacity-100" })
2545
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-[var(--duration-base)] opacity-70 group-hover:opacity-100" })
2593
2546
  ]
2594
2547
  }
2595
2548
  ) }));
2596
2549
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
2597
- var accordionContentVariants = cva15(
2550
+ var accordionContentVariants = cva(
2598
2551
  "overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
2599
2552
  {
2600
2553
  variants: {
@@ -2616,23 +2569,17 @@ var accordionContentVariants = cva15(
2616
2569
  }
2617
2570
  }
2618
2571
  );
2619
- var AccordionContent = React19.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx21(
2572
+ var AccordionContent = React32.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
2620
2573
  AccordionPrimitive.Content,
2621
2574
  {
2622
2575
  ref,
2623
2576
  className: cn(accordionContentVariants({ variant, size }), className),
2624
2577
  ...props,
2625
- children: /* @__PURE__ */ jsx21("div", { className: "pb-4 pt-0", children })
2578
+ children: /* @__PURE__ */ jsx("div", { className: "pb-4 pt-0", children })
2626
2579
  }
2627
2580
  ));
2628
2581
  AccordionContent.displayName = AccordionPrimitive.Content.displayName;
2629
2582
 
2630
- // src/components/ui/collapsible.tsx
2631
- import * as React30 from "react";
2632
-
2633
- // node_modules/@radix-ui/react-collapsible/dist/index.mjs
2634
- import * as React29 from "react";
2635
-
2636
2583
  // node_modules/@radix-ui/primitive/dist/index.mjs
2637
2584
  function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
2638
2585
  return function handleEvent(event) {
@@ -2642,26 +2589,22 @@ function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForD
2642
2589
  }
2643
2590
  };
2644
2591
  }
2645
-
2646
- // node_modules/@radix-ui/react-context/dist/index.mjs
2647
- import * as React20 from "react";
2648
- import { jsx as jsx22 } from "react/jsx-runtime";
2649
2592
  function createContextScope(scopeName, createContextScopeDeps = []) {
2650
2593
  let defaultContexts = [];
2651
2594
  function createContext32(rootComponentName, defaultContext) {
2652
- const BaseContext = React20.createContext(defaultContext);
2595
+ const BaseContext = React32.createContext(defaultContext);
2653
2596
  const index = defaultContexts.length;
2654
2597
  defaultContexts = [...defaultContexts, defaultContext];
2655
2598
  const Provider = (props) => {
2656
2599
  const { scope, children, ...context } = props;
2657
2600
  const Context = scope?.[scopeName]?.[index] || BaseContext;
2658
- const value = React20.useMemo(() => context, Object.values(context));
2659
- return /* @__PURE__ */ jsx22(Context.Provider, { value, children });
2601
+ const value = React32.useMemo(() => context, Object.values(context));
2602
+ return /* @__PURE__ */ jsx(Context.Provider, { value, children });
2660
2603
  };
2661
2604
  Provider.displayName = rootComponentName + "Provider";
2662
2605
  function useContext22(consumerName, scope) {
2663
2606
  const Context = scope?.[scopeName]?.[index] || BaseContext;
2664
- const context = React20.useContext(Context);
2607
+ const context = React32.useContext(Context);
2665
2608
  if (context)
2666
2609
  return context;
2667
2610
  if (defaultContext !== void 0)
@@ -2672,11 +2615,11 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
2672
2615
  }
2673
2616
  const createScope = () => {
2674
2617
  const scopeContexts = defaultContexts.map((defaultContext) => {
2675
- return React20.createContext(defaultContext);
2618
+ return React32.createContext(defaultContext);
2676
2619
  });
2677
2620
  return function useScope(scope) {
2678
2621
  const contexts = scope?.[scopeName] || scopeContexts;
2679
- return React20.useMemo(
2622
+ return React32.useMemo(
2680
2623
  () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
2681
2624
  [scope, contexts]
2682
2625
  );
@@ -2700,24 +2643,15 @@ function composeContextScopes(...scopes) {
2700
2643
  const currentScope = scopeProps[`__scope${scopeName}`];
2701
2644
  return { ...nextScopes2, ...currentScope };
2702
2645
  }, {});
2703
- return React20.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
2646
+ return React32.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
2704
2647
  };
2705
2648
  };
2706
2649
  createScope.scopeName = baseScope.scopeName;
2707
2650
  return createScope;
2708
2651
  }
2709
-
2710
- // node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
2711
- import * as React22 from "react";
2712
-
2713
- // node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
2714
- import * as React21 from "react";
2715
- var useLayoutEffect2 = globalThis?.document ? React21.useLayoutEffect : () => {
2652
+ var useLayoutEffect2 = globalThis?.document ? React32.useLayoutEffect : () => {
2716
2653
  };
2717
-
2718
- // node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
2719
- import * as React23 from "react";
2720
- var useInsertionEffect = React22[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
2654
+ var useInsertionEffect = React32[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
2721
2655
  function useControllableState({
2722
2656
  prop,
2723
2657
  defaultProp,
@@ -2731,9 +2665,9 @@ function useControllableState({
2731
2665
  });
2732
2666
  const isControlled = prop !== void 0;
2733
2667
  const value = isControlled ? prop : uncontrolledProp;
2734
- if (true) {
2735
- const isControlledRef = React22.useRef(prop !== void 0);
2736
- React22.useEffect(() => {
2668
+ {
2669
+ const isControlledRef = React32.useRef(prop !== void 0);
2670
+ React32.useEffect(() => {
2737
2671
  const wasControlled = isControlledRef.current;
2738
2672
  if (wasControlled !== isControlled) {
2739
2673
  const from = wasControlled ? "controlled" : "uncontrolled";
@@ -2745,7 +2679,7 @@ function useControllableState({
2745
2679
  isControlledRef.current = isControlled;
2746
2680
  }, [isControlled, caller]);
2747
2681
  }
2748
- const setValue = React22.useCallback(
2682
+ const setValue = React32.useCallback(
2749
2683
  (nextValue) => {
2750
2684
  if (isControlled) {
2751
2685
  const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
@@ -2764,13 +2698,13 @@ function useUncontrolledState({
2764
2698
  defaultProp,
2765
2699
  onChange
2766
2700
  }) {
2767
- const [value, setValue] = React22.useState(defaultProp);
2768
- const prevValueRef = React22.useRef(value);
2769
- const onChangeRef = React22.useRef(onChange);
2701
+ const [value, setValue] = React32.useState(defaultProp);
2702
+ const prevValueRef = React32.useRef(value);
2703
+ const onChangeRef = React32.useRef(onChange);
2770
2704
  useInsertionEffect(() => {
2771
2705
  onChangeRef.current = onChange;
2772
2706
  }, [onChange]);
2773
- React22.useEffect(() => {
2707
+ React32.useEffect(() => {
2774
2708
  if (prevValueRef.current !== value) {
2775
2709
  onChangeRef.current?.(value);
2776
2710
  prevValueRef.current = value;
@@ -2781,10 +2715,6 @@ function useUncontrolledState({
2781
2715
  function isFunction(value) {
2782
2716
  return typeof value === "function";
2783
2717
  }
2784
- var SYNC_STATE = Symbol("RADIX:SYNC_STATE");
2785
-
2786
- // node_modules/@radix-ui/react-compose-refs/dist/index.mjs
2787
- import * as React24 from "react";
2788
2718
  function setRef(ref, value) {
2789
2719
  if (typeof ref === "function") {
2790
2720
  return ref(value);
@@ -2817,14 +2747,8 @@ function composeRefs(...refs) {
2817
2747
  };
2818
2748
  }
2819
2749
  function useComposedRefs(...refs) {
2820
- return React24.useCallback(composeRefs(...refs), refs);
2750
+ return React32.useCallback(composeRefs(...refs), refs);
2821
2751
  }
2822
-
2823
- // node_modules/@radix-ui/react-primitive/dist/index.mjs
2824
- import * as React25 from "react";
2825
- import * as ReactDOM from "react-dom";
2826
- import { createSlot } from "@radix-ui/react-slot";
2827
- import { jsx as jsx23 } from "react/jsx-runtime";
2828
2752
  var NODES = [
2829
2753
  "a",
2830
2754
  "button",
@@ -2846,23 +2770,19 @@ var NODES = [
2846
2770
  ];
2847
2771
  var Primitive = NODES.reduce((primitive, node) => {
2848
2772
  const Slot = createSlot(`Primitive.${node}`);
2849
- const Node = React25.forwardRef((props, forwardedRef) => {
2773
+ const Node = React32.forwardRef((props, forwardedRef) => {
2850
2774
  const { asChild, ...primitiveProps } = props;
2851
2775
  const Comp = asChild ? Slot : node;
2852
2776
  if (typeof window !== "undefined") {
2853
2777
  window[Symbol.for("radix-ui")] = true;
2854
2778
  }
2855
- return /* @__PURE__ */ jsx23(Comp, { ...primitiveProps, ref: forwardedRef });
2779
+ return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });
2856
2780
  });
2857
2781
  Node.displayName = `Primitive.${node}`;
2858
2782
  return { ...primitive, [node]: Node };
2859
2783
  }, {});
2860
-
2861
- // node_modules/@radix-ui/react-presence/dist/index.mjs
2862
- import * as React26 from "react";
2863
- import * as React27 from "react";
2864
2784
  function useStateMachine(initialState, machine) {
2865
- return React27.useReducer((state, event) => {
2785
+ return React32.useReducer((state, event) => {
2866
2786
  const nextState = machine[state][event];
2867
2787
  return nextState ?? state;
2868
2788
  }, initialState);
@@ -2870,17 +2790,17 @@ function useStateMachine(initialState, machine) {
2870
2790
  var Presence = (props) => {
2871
2791
  const { present, children } = props;
2872
2792
  const presence = usePresence(present);
2873
- const child = typeof children === "function" ? children({ present: presence.isPresent }) : React26.Children.only(children);
2793
+ const child = typeof children === "function" ? children({ present: presence.isPresent }) : React32.Children.only(children);
2874
2794
  const ref = useComposedRefs(presence.ref, getElementRef(child));
2875
2795
  const forceMount = typeof children === "function";
2876
- return forceMount || presence.isPresent ? React26.cloneElement(child, { ref }) : null;
2796
+ return forceMount || presence.isPresent ? React32.cloneElement(child, { ref }) : null;
2877
2797
  };
2878
2798
  Presence.displayName = "Presence";
2879
2799
  function usePresence(present) {
2880
- const [node, setNode] = React26.useState();
2881
- const stylesRef = React26.useRef(null);
2882
- const prevPresentRef = React26.useRef(present);
2883
- const prevAnimationNameRef = React26.useRef("none");
2800
+ const [node, setNode] = React32.useState();
2801
+ const stylesRef = React32.useRef(null);
2802
+ const prevPresentRef = React32.useRef(present);
2803
+ const prevAnimationNameRef = React32.useRef("none");
2884
2804
  const initialState = present ? "mounted" : "unmounted";
2885
2805
  const [state, send] = useStateMachine(initialState, {
2886
2806
  mounted: {
@@ -2895,7 +2815,7 @@ function usePresence(present) {
2895
2815
  MOUNT: "mounted"
2896
2816
  }
2897
2817
  });
2898
- React26.useEffect(() => {
2818
+ React32.useEffect(() => {
2899
2819
  const currentAnimationName = getAnimationName(stylesRef.current);
2900
2820
  prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
2901
2821
  }, [state]);
@@ -2961,7 +2881,7 @@ function usePresence(present) {
2961
2881
  }, [node, send]);
2962
2882
  return {
2963
2883
  isPresent: ["mounted", "unmountSuspended"].includes(state),
2964
- ref: React26.useCallback((node2) => {
2884
+ ref: React32.useCallback((node2) => {
2965
2885
  stylesRef.current = node2 ? getComputedStyle(node2) : null;
2966
2886
  setNode(node2);
2967
2887
  }, [])
@@ -2983,26 +2903,20 @@ function getElementRef(element) {
2983
2903
  }
2984
2904
  return element.props.ref || element.ref;
2985
2905
  }
2986
-
2987
- // node_modules/@radix-ui/react-id/dist/index.mjs
2988
- import * as React28 from "react";
2989
- var useReactId = React28[" useId ".trim().toString()] || (() => void 0);
2906
+ var useReactId = React32[" useId ".trim().toString()] || (() => void 0);
2990
2907
  var count = 0;
2991
2908
  function useId2(deterministicId) {
2992
- const [id, setId] = React28.useState(useReactId());
2909
+ const [id, setId] = React32.useState(useReactId());
2993
2910
  useLayoutEffect2(() => {
2994
2911
  if (!deterministicId)
2995
2912
  setId((reactId) => reactId ?? String(count++));
2996
2913
  }, [deterministicId]);
2997
2914
  return deterministicId || (id ? `radix-${id}` : "");
2998
2915
  }
2999
-
3000
- // node_modules/@radix-ui/react-collapsible/dist/index.mjs
3001
- import { jsx as jsx24 } from "react/jsx-runtime";
3002
2916
  var COLLAPSIBLE_NAME = "Collapsible";
3003
2917
  var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);
3004
2918
  var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
3005
- var Collapsible = React29.forwardRef(
2919
+ var Collapsible = React32.forwardRef(
3006
2920
  (props, forwardedRef) => {
3007
2921
  const {
3008
2922
  __scopeCollapsible,
@@ -3018,15 +2932,15 @@ var Collapsible = React29.forwardRef(
3018
2932
  onChange: onOpenChange,
3019
2933
  caller: COLLAPSIBLE_NAME
3020
2934
  });
3021
- return /* @__PURE__ */ jsx24(
2935
+ return /* @__PURE__ */ jsx(
3022
2936
  CollapsibleProvider,
3023
2937
  {
3024
2938
  scope: __scopeCollapsible,
3025
2939
  disabled,
3026
2940
  contentId: useId2(),
3027
2941
  open,
3028
- onOpenToggle: React29.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
3029
- children: /* @__PURE__ */ jsx24(
2942
+ onOpenToggle: React32.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
2943
+ children: /* @__PURE__ */ jsx(
3030
2944
  Primitive.div,
3031
2945
  {
3032
2946
  "data-state": getState(open),
@@ -3041,11 +2955,11 @@ var Collapsible = React29.forwardRef(
3041
2955
  );
3042
2956
  Collapsible.displayName = COLLAPSIBLE_NAME;
3043
2957
  var TRIGGER_NAME = "CollapsibleTrigger";
3044
- var CollapsibleTrigger = React29.forwardRef(
2958
+ var CollapsibleTrigger = React32.forwardRef(
3045
2959
  (props, forwardedRef) => {
3046
2960
  const { __scopeCollapsible, ...triggerProps } = props;
3047
2961
  const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);
3048
- return /* @__PURE__ */ jsx24(
2962
+ return /* @__PURE__ */ jsx(
3049
2963
  Primitive.button,
3050
2964
  {
3051
2965
  type: "button",
@@ -3063,28 +2977,28 @@ var CollapsibleTrigger = React29.forwardRef(
3063
2977
  );
3064
2978
  CollapsibleTrigger.displayName = TRIGGER_NAME;
3065
2979
  var CONTENT_NAME = "CollapsibleContent";
3066
- var CollapsibleContent = React29.forwardRef(
2980
+ var CollapsibleContent = React32.forwardRef(
3067
2981
  (props, forwardedRef) => {
3068
2982
  const { forceMount, ...contentProps } = props;
3069
2983
  const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);
3070
- return /* @__PURE__ */ jsx24(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx24(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
2984
+ return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
3071
2985
  }
3072
2986
  );
3073
2987
  CollapsibleContent.displayName = CONTENT_NAME;
3074
- var CollapsibleContentImpl = React29.forwardRef((props, forwardedRef) => {
2988
+ var CollapsibleContentImpl = React32.forwardRef((props, forwardedRef) => {
3075
2989
  const { __scopeCollapsible, present, children, ...contentProps } = props;
3076
2990
  const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);
3077
- const [isPresent, setIsPresent] = React29.useState(present);
3078
- const ref = React29.useRef(null);
2991
+ const [isPresent, setIsPresent] = React32.useState(present);
2992
+ const ref = React32.useRef(null);
3079
2993
  const composedRefs = useComposedRefs(forwardedRef, ref);
3080
- const heightRef = React29.useRef(0);
2994
+ const heightRef = React32.useRef(0);
3081
2995
  const height = heightRef.current;
3082
- const widthRef = React29.useRef(0);
2996
+ const widthRef = React32.useRef(0);
3083
2997
  const width = widthRef.current;
3084
2998
  const isOpen = context.open || isPresent;
3085
- const isMountAnimationPreventedRef = React29.useRef(isOpen);
3086
- const originalStylesRef = React29.useRef(void 0);
3087
- React29.useEffect(() => {
2999
+ const isMountAnimationPreventedRef = React32.useRef(isOpen);
3000
+ const originalStylesRef = React32.useRef(void 0);
3001
+ React32.useEffect(() => {
3088
3002
  const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
3089
3003
  return () => cancelAnimationFrame(rAF);
3090
3004
  }, []);
@@ -3107,7 +3021,7 @@ var CollapsibleContentImpl = React29.forwardRef((props, forwardedRef) => {
3107
3021
  setIsPresent(present);
3108
3022
  }
3109
3023
  }, [context.open, present]);
3110
- return /* @__PURE__ */ jsx24(
3024
+ return /* @__PURE__ */ jsx(
3111
3025
  Primitive.div,
3112
3026
  {
3113
3027
  "data-state": getState(context.open),
@@ -3128,16 +3042,11 @@ var CollapsibleContentImpl = React29.forwardRef((props, forwardedRef) => {
3128
3042
  function getState(open) {
3129
3043
  return open ? "open" : "closed";
3130
3044
  }
3131
- var Root9 = Collapsible;
3045
+ var Root11 = Collapsible;
3132
3046
  var Trigger6 = CollapsibleTrigger;
3133
3047
  var Content6 = CollapsibleContent;
3134
-
3135
- // src/components/ui/collapsible.tsx
3136
- import { cva as cva16 } from "class-variance-authority";
3137
- import { ChevronDown as ChevronDown3 } from "lucide-react";
3138
- import { jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
3139
- var Collapsible2 = Root9;
3140
- var collapsibleTriggerVariants = cva16(
3048
+ var Collapsible2 = Root11;
3049
+ var collapsibleTriggerVariants = cva(
3141
3050
  "flex w-full items-center justify-between transition-all",
3142
3051
  {
3143
3052
  variants: {
@@ -3159,7 +3068,7 @@ var collapsibleTriggerVariants = cva16(
3159
3068
  }
3160
3069
  }
3161
3070
  );
3162
- var CollapsibleTrigger2 = React30.forwardRef(({ className, children, variant, size, ...props }, ref) => /* @__PURE__ */ jsxs16(
3071
+ var CollapsibleTrigger2 = React32.forwardRef(({ className, children, variant, size, ...props }, ref) => /* @__PURE__ */ jsxs(
3163
3072
  Trigger6,
3164
3073
  {
3165
3074
  ref,
@@ -3167,12 +3076,12 @@ var CollapsibleTrigger2 = React30.forwardRef(({ className, children, variant, si
3167
3076
  ...props,
3168
3077
  children: [
3169
3078
  children,
3170
- /* @__PURE__ */ jsx25(ChevronDown3, { className: "h-4 w-4 shrink-0 transition-transform duration-[var(--duration-base)] [&[data-state=open]]:rotate-180" })
3079
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-[var(--duration-base)] [&[data-state=open]]:rotate-180" })
3171
3080
  ]
3172
3081
  }
3173
3082
  ));
3174
3083
  CollapsibleTrigger2.displayName = Trigger6.displayName;
3175
- var collapsibleContentVariants = cva16(
3084
+ var collapsibleContentVariants = cva(
3176
3085
  "overflow-hidden transition-all data-[state=closed]:animate-collapse-up data-[state=open]:animate-collapse-down",
3177
3086
  {
3178
3087
  variants: {
@@ -3194,22 +3103,17 @@ var collapsibleContentVariants = cva16(
3194
3103
  }
3195
3104
  }
3196
3105
  );
3197
- var CollapsibleContent2 = React30.forwardRef(({ className, children, variant, size, ...props }, ref) => /* @__PURE__ */ jsx25(
3106
+ var CollapsibleContent2 = React32.forwardRef(({ className, children, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
3198
3107
  Content6,
3199
3108
  {
3200
3109
  ref,
3201
3110
  className: cn(collapsibleContentVariants({ variant, size }), className),
3202
3111
  ...props,
3203
- children: /* @__PURE__ */ jsx25("div", { className: "p-4", children })
3112
+ children: /* @__PURE__ */ jsx("div", { className: "p-4", children })
3204
3113
  }
3205
3114
  ));
3206
3115
  CollapsibleContent2.displayName = Content6.displayName;
3207
-
3208
- // src/components/ui/aspect-ratio.tsx
3209
- import * as React31 from "react";
3210
- import { cva as cva17 } from "class-variance-authority";
3211
- import { jsx as jsx26 } from "react/jsx-runtime";
3212
- var aspectRatioVariants = cva17(
3116
+ var aspectRatioVariants = cva(
3213
3117
  "relative overflow-hidden",
3214
3118
  {
3215
3119
  variants: {
@@ -3232,7 +3136,7 @@ var aspectRatioVariants = cva17(
3232
3136
  }
3233
3137
  }
3234
3138
  );
3235
- var AspectRatio = React31.forwardRef(({ className, variant, radius, ratio = 16 / 9, style, children, ...props }, ref) => /* @__PURE__ */ jsx26(
3139
+ var AspectRatio = React32.forwardRef(({ className, variant, radius, ratio = 16 / 9, style, children, ...props }, ref) => /* @__PURE__ */ jsx(
3236
3140
  "div",
3237
3141
  {
3238
3142
  ref,
@@ -3243,17 +3147,11 @@ var AspectRatio = React31.forwardRef(({ className, variant, radius, ratio = 16 /
3243
3147
  ...style
3244
3148
  },
3245
3149
  ...props,
3246
- children: /* @__PURE__ */ jsx26("div", { className: "absolute inset-0", children })
3150
+ children: /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children })
3247
3151
  }
3248
3152
  ));
3249
3153
  AspectRatio.displayName = "AspectRatio";
3250
-
3251
- // src/components/ui/command.tsx
3252
- import * as React32 from "react";
3253
- import { Search } from "lucide-react";
3254
- import { cva as cva18 } from "class-variance-authority";
3255
- import { jsx as jsx27, jsxs as jsxs17 } from "react/jsx-runtime";
3256
- var commandVariants = cva18(
3154
+ var commandVariants = cva(
3257
3155
  "flex h-full w-full flex-col overflow-hidden rounded-[var(--radius-md)]",
3258
3156
  {
3259
3157
  variants: {
@@ -3275,7 +3173,7 @@ var commandVariants = cva18(
3275
3173
  }
3276
3174
  );
3277
3175
  var Command = React32.forwardRef(
3278
- ({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx27(
3176
+ ({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
3279
3177
  "div",
3280
3178
  {
3281
3179
  ref,
@@ -3290,12 +3188,12 @@ var CommandDialog = ({
3290
3188
  commandClassName,
3291
3189
  ...props
3292
3190
  }) => {
3293
- return /* @__PURE__ */ jsx27(Dialog, { ...props, children: /* @__PURE__ */ jsx27(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx27(Command, { className: cn(
3191
+ return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx(Command, { className: cn(
3294
3192
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
3295
3193
  commandClassName
3296
3194
  ), children }) }) });
3297
3195
  };
3298
- var commandInputVariants = cva18(
3196
+ var commandInputVariants = cva(
3299
3197
  "flex h-11 w-full rounded-none border-none bg-transparent py-3 text-sm outline-none placeholder:text-[var(--color-muted-foreground)] disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none",
3300
3198
  {
3301
3199
  variants: {
@@ -3311,9 +3209,9 @@ var commandInputVariants = cva18(
3311
3209
  }
3312
3210
  );
3313
3211
  var CommandInput = React32.forwardRef(
3314
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b px-3", children: [
3315
- /* @__PURE__ */ jsx27(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
3316
- /* @__PURE__ */ jsx27(
3212
+ ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b px-3", children: [
3213
+ /* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
3214
+ /* @__PURE__ */ jsx(
3317
3215
  "input",
3318
3216
  {
3319
3217
  ref,
@@ -3324,7 +3222,7 @@ var CommandInput = React32.forwardRef(
3324
3222
  ] })
3325
3223
  );
3326
3224
  CommandInput.displayName = "CommandInput";
3327
- var commandListVariants = cva18(
3225
+ var commandListVariants = cva(
3328
3226
  "max-h-[300px] overflow-y-auto overflow-x-hidden",
3329
3227
  {
3330
3228
  variants: {
@@ -3340,7 +3238,7 @@ var commandListVariants = cva18(
3340
3238
  }
3341
3239
  );
3342
3240
  var CommandList = React32.forwardRef(
3343
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx27(
3241
+ ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
3344
3242
  "div",
3345
3243
  {
3346
3244
  ref,
@@ -3352,7 +3250,7 @@ var CommandList = React32.forwardRef(
3352
3250
  );
3353
3251
  CommandList.displayName = "CommandList";
3354
3252
  var CommandEmpty = React32.forwardRef(
3355
- (props, ref) => /* @__PURE__ */ jsx27(
3253
+ (props, ref) => /* @__PURE__ */ jsx(
3356
3254
  "div",
3357
3255
  {
3358
3256
  ref,
@@ -3362,7 +3260,7 @@ var CommandEmpty = React32.forwardRef(
3362
3260
  )
3363
3261
  );
3364
3262
  CommandEmpty.displayName = "CommandEmpty";
3365
- var commandGroupVariants = cva18(
3263
+ var commandGroupVariants = cva(
3366
3264
  "overflow-hidden p-1 text-[var(--color-foreground)]",
3367
3265
  {
3368
3266
  variants: {
@@ -3378,21 +3276,21 @@ var commandGroupVariants = cva18(
3378
3276
  }
3379
3277
  );
3380
3278
  var CommandGroup = React32.forwardRef(
3381
- ({ className, variant, heading, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
3279
+ ({ className, variant, heading, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3382
3280
  "div",
3383
3281
  {
3384
3282
  ref,
3385
3283
  className: cn(commandGroupVariants({ variant }), className),
3386
3284
  ...props,
3387
3285
  children: [
3388
- heading && /* @__PURE__ */ jsx27("div", { className: "px-2 py-1.5 text-xs font-medium text-[var(--color-muted-foreground)]", children: heading }),
3286
+ heading && /* @__PURE__ */ jsx("div", { className: "px-2 py-1.5 text-xs font-medium text-[var(--color-muted-foreground)]", children: heading }),
3389
3287
  children
3390
3288
  ]
3391
3289
  }
3392
3290
  )
3393
3291
  );
3394
3292
  CommandGroup.displayName = "CommandGroup";
3395
- var CommandSeparator = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
3293
+ var CommandSeparator = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3396
3294
  "div",
3397
3295
  {
3398
3296
  ref,
@@ -3401,7 +3299,7 @@ var CommandSeparator = React32.forwardRef(({ className, ...props }, ref) => /* @
3401
3299
  }
3402
3300
  ));
3403
3301
  CommandSeparator.displayName = "CommandSeparator";
3404
- var commandItemVariants = cva18(
3302
+ var commandItemVariants = cva(
3405
3303
  "relative flex cursor-default select-none items-center rounded-[var(--radius-sm)] px-2 py-1.5 text-sm outline-none aria-selected:bg-[var(--color-accent)] aria-selected:text-[var(--color-accent-foreground)] data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3406
3304
  {
3407
3305
  variants: {
@@ -3425,7 +3323,7 @@ var CommandItem = React32.forwardRef(
3425
3323
  onSelect(value);
3426
3324
  }
3427
3325
  }, [disabled, onSelect, value]);
3428
- return /* @__PURE__ */ jsx27(
3326
+ return /* @__PURE__ */ jsx(
3429
3327
  "div",
3430
3328
  {
3431
3329
  ref,
@@ -3441,7 +3339,7 @@ var CommandItem = React32.forwardRef(
3441
3339
  );
3442
3340
  CommandItem.displayName = "CommandItem";
3443
3341
  var CommandShortcut = ({ className, ...props }) => {
3444
- return /* @__PURE__ */ jsx27(
3342
+ return /* @__PURE__ */ jsx(
3445
3343
  "span",
3446
3344
  {
3447
3345
  className: cn(
@@ -3453,117 +3351,853 @@ var CommandShortcut = ({ className, ...props }) => {
3453
3351
  );
3454
3352
  };
3455
3353
  CommandShortcut.displayName = "CommandShortcut";
3456
- export {
3457
- Accordion,
3458
- AccordionContent,
3459
- AccordionItem,
3460
- AccordionTrigger,
3461
- Alert,
3462
- AlertDescription,
3463
- AlertTitle,
3464
- AspectRatio,
3465
- Avatar,
3466
- AvatarFallback,
3467
- AvatarImage,
3468
- Badge,
3469
- Breadcrumb,
3470
- BreadcrumbEllipsis,
3471
- BreadcrumbItem,
3472
- BreadcrumbList,
3473
- BreadcrumbSeparator,
3474
- Button,
3475
- Card,
3476
- CardContent,
3477
- CardDescription,
3478
- CardFooter,
3479
- CardHeader,
3480
- CardTitle,
3481
- Checkbox,
3482
- CheckboxGroup,
3483
- CheckboxLabel,
3484
- CheckboxWithLabel,
3485
- Collapsible2 as Collapsible,
3486
- CollapsibleContent2 as CollapsibleContent,
3487
- CollapsibleTrigger2 as CollapsibleTrigger,
3488
- Command,
3489
- CommandDialog,
3490
- CommandEmpty,
3491
- CommandGroup,
3492
- CommandInput,
3493
- CommandItem,
3494
- CommandList,
3495
- CommandSeparator,
3496
- CommandShortcut,
3497
- Dialog,
3498
- DialogClose,
3499
- DialogContent,
3500
- DialogDescription,
3501
- DialogFooter,
3502
- DialogForm,
3503
- DialogHeader,
3504
- DialogTitle,
3505
- DialogTrigger,
3506
- Input,
3507
- Popover,
3508
- PopoverAnchor,
3509
- PopoverClose,
3510
- PopoverContent,
3511
- PopoverFooter,
3512
- PopoverHeader,
3513
- PopoverSeparator,
3514
- PopoverTrigger,
3515
- Progress,
3516
- RadioGroup,
3517
- RadioGroupItem,
3518
- RadioItemWithLabel,
3519
- RadioLabel,
3520
- Select,
3521
- SelectContent,
3522
- SelectGroup,
3523
- SelectItem,
3524
- SelectLabel,
3525
- SelectSeparator,
3526
- SelectTrigger,
3527
- SelectValue,
3528
- Skeleton,
3529
- SkeletonAvatar,
3530
- SkeletonCard,
3531
- SkeletonText,
3532
- Switch,
3533
- Tabs,
3534
- TabsContent,
3535
- TabsList,
3536
- TabsTrigger,
3537
- ThemeProvider2 as ThemeProvider,
3538
- Toast,
3539
- ToastContainer,
3540
- ToastProvider,
3541
- Tooltip,
3542
- accordionContentVariants,
3543
- accordionItemVariants,
3544
- accordionTriggerVariants,
3545
- aspectRatioVariants,
3546
- badgeVariants,
3547
- buttonVariants,
3548
- cn,
3549
- collapsibleContentVariants,
3550
- collapsibleTriggerVariants,
3551
- combineRefs,
3552
- commandGroupVariants,
3553
- commandInputVariants,
3554
- commandItemVariants,
3555
- commandListVariants,
3556
- commandVariants,
3557
- createCssVariables,
3558
- debounce,
3559
- formatCurrency,
3560
- generateId,
3561
- get,
3562
- popoverContentVariants,
3563
- progressVariants,
3564
- skeletonVariants,
3565
- toastVariants,
3566
- tooltipContentVariants,
3567
- useTheme,
3568
- useToast
3354
+ var toggleVariants = cva(
3355
+ "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
3356
+ {
3357
+ variants: {
3358
+ variant: {
3359
+ default: "bg-transparent",
3360
+ outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
3361
+ },
3362
+ size: {
3363
+ default: "h-10 px-3",
3364
+ sm: "h-9 px-2.5",
3365
+ lg: "h-11 px-5"
3366
+ }
3367
+ },
3368
+ defaultVariants: {
3369
+ variant: "default",
3370
+ size: "default"
3371
+ }
3372
+ }
3373
+ );
3374
+ var Toggle = React32.forwardRef(
3375
+ ({ className, variant, size, pressed, onPressedChange, onClick, ...props }, ref) => {
3376
+ const handleClick = (event) => {
3377
+ if (onPressedChange) {
3378
+ onPressedChange(!pressed);
3379
+ }
3380
+ if (onClick) {
3381
+ onClick(event);
3382
+ }
3383
+ };
3384
+ return /* @__PURE__ */ jsx(
3385
+ "button",
3386
+ {
3387
+ ref,
3388
+ "data-state": pressed ? "on" : "off",
3389
+ "aria-pressed": pressed,
3390
+ className: cn(toggleVariants({ variant, size, className })),
3391
+ onClick: handleClick,
3392
+ ...props
3393
+ }
3394
+ );
3395
+ }
3396
+ );
3397
+ Toggle.displayName = "Toggle";
3398
+ var Slider = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(
3399
+ SliderPrimitive.Root,
3400
+ {
3401
+ ref,
3402
+ className: cn(
3403
+ "relative flex w-full touch-none select-none items-center",
3404
+ className
3405
+ ),
3406
+ ...props,
3407
+ children: [
3408
+ /* @__PURE__ */ jsx(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
3409
+ /* @__PURE__ */ jsx(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
3410
+ ]
3411
+ }
3412
+ ));
3413
+ Slider.displayName = SliderPrimitive.Root.displayName;
3414
+ var DropdownMenu = DropdownMenuPrimitive.Root;
3415
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
3416
+ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
3417
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
3418
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
3419
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
3420
+ var DropdownMenuSubTrigger = React32.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3421
+ DropdownMenuPrimitive.SubTrigger,
3422
+ {
3423
+ ref,
3424
+ className: cn(
3425
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
3426
+ inset && "pl-8",
3427
+ className
3428
+ ),
3429
+ ...props,
3430
+ children: [
3431
+ children,
3432
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
3433
+ ]
3434
+ }
3435
+ ));
3436
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
3437
+ var DropdownMenuSubContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3438
+ DropdownMenuPrimitive.SubContent,
3439
+ {
3440
+ ref,
3441
+ className: cn(
3442
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3443
+ className
3444
+ ),
3445
+ ...props
3446
+ }
3447
+ ));
3448
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
3449
+ var DropdownMenuContent = React32.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3450
+ DropdownMenuPrimitive.Content,
3451
+ {
3452
+ ref,
3453
+ sideOffset,
3454
+ className: cn(
3455
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3456
+ className
3457
+ ),
3458
+ ...props
3459
+ }
3460
+ ) }));
3461
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
3462
+ var DropdownMenuItem = React32.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3463
+ DropdownMenuPrimitive.Item,
3464
+ {
3465
+ ref,
3466
+ className: cn(
3467
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3468
+ inset && "pl-8",
3469
+ className
3470
+ ),
3471
+ ...props
3472
+ }
3473
+ ));
3474
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
3475
+ var DropdownMenuCheckboxItem = React32.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3476
+ DropdownMenuPrimitive.CheckboxItem,
3477
+ {
3478
+ ref,
3479
+ className: cn(
3480
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3481
+ className
3482
+ ),
3483
+ checked,
3484
+ ...props,
3485
+ children: [
3486
+ /* @__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" }) }) }),
3487
+ children
3488
+ ]
3489
+ }
3490
+ ));
3491
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
3492
+ var DropdownMenuRadioItem = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3493
+ DropdownMenuPrimitive.RadioItem,
3494
+ {
3495
+ ref,
3496
+ className: cn(
3497
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3498
+ className
3499
+ ),
3500
+ ...props,
3501
+ children: [
3502
+ /* @__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" }) }) }),
3503
+ children
3504
+ ]
3505
+ }
3506
+ ));
3507
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
3508
+ var DropdownMenuLabel = React32.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3509
+ DropdownMenuPrimitive.Label,
3510
+ {
3511
+ ref,
3512
+ className: cn(
3513
+ "px-2 py-1.5 text-sm font-semibold",
3514
+ inset && "pl-8",
3515
+ className
3516
+ ),
3517
+ ...props
3518
+ }
3519
+ ));
3520
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
3521
+ var DropdownMenuSeparator = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3522
+ DropdownMenuPrimitive.Separator,
3523
+ {
3524
+ ref,
3525
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
3526
+ ...props
3527
+ }
3528
+ ));
3529
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
3530
+ var DropdownMenuShortcut = ({
3531
+ className,
3532
+ ...props
3533
+ }) => {
3534
+ return /* @__PURE__ */ jsx(
3535
+ "span",
3536
+ {
3537
+ className: cn("ml-auto text-xs tracking-widest opacity-60", className),
3538
+ ...props
3539
+ }
3540
+ );
3569
3541
  };
3542
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
3543
+ var NavigationMenu = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3544
+ NavigationMenuPrimitive.Root,
3545
+ {
3546
+ ref,
3547
+ className: cn(
3548
+ "relative z-10 flex max-w-max flex-1 items-center justify-center",
3549
+ className
3550
+ ),
3551
+ ...props,
3552
+ children: [
3553
+ children,
3554
+ /* @__PURE__ */ jsx(NavigationMenuViewport, {})
3555
+ ]
3556
+ }
3557
+ ));
3558
+ NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
3559
+ var NavigationMenuList = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3560
+ NavigationMenuPrimitive.List,
3561
+ {
3562
+ ref,
3563
+ className: cn(
3564
+ "group flex flex-1 list-none items-center justify-center space-x-1",
3565
+ className
3566
+ ),
3567
+ ...props
3568
+ }
3569
+ ));
3570
+ NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
3571
+ var NavigationMenuItem = NavigationMenuPrimitive.Item;
3572
+ var navigationMenuTriggerStyle = cva(
3573
+ "group inline-flex h-10 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-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
3574
+ );
3575
+ var NavigationMenuTrigger = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3576
+ NavigationMenuPrimitive.Trigger,
3577
+ {
3578
+ ref,
3579
+ className: cn(navigationMenuTriggerStyle(), "group", className),
3580
+ ...props,
3581
+ children: [
3582
+ children,
3583
+ " ",
3584
+ /* @__PURE__ */ jsx(
3585
+ ChevronDown,
3586
+ {
3587
+ className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
3588
+ "aria-hidden": "true"
3589
+ }
3590
+ )
3591
+ ]
3592
+ }
3593
+ ));
3594
+ NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
3595
+ var NavigationMenuContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3596
+ NavigationMenuPrimitive.Content,
3597
+ {
3598
+ ref,
3599
+ className: cn(
3600
+ "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
3601
+ className
3602
+ ),
3603
+ ...props
3604
+ }
3605
+ ));
3606
+ NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
3607
+ var NavigationMenuLink = NavigationMenuPrimitive.Link;
3608
+ var NavigationMenuViewport = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
3609
+ NavigationMenuPrimitive.Viewport,
3610
+ {
3611
+ className: cn(
3612
+ "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
3613
+ className
3614
+ ),
3615
+ ref,
3616
+ ...props
3617
+ }
3618
+ ) }));
3619
+ NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
3620
+ var NavigationMenuIndicator = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3621
+ NavigationMenuPrimitive.Indicator,
3622
+ {
3623
+ ref,
3624
+ className: cn(
3625
+ "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
3626
+ className
3627
+ ),
3628
+ ...props,
3629
+ children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
3630
+ }
3631
+ ));
3632
+ NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
3633
+ var Sheet = DialogPrimitive.Root;
3634
+ var SheetTrigger = DialogPrimitive.Trigger;
3635
+ var SheetClose = DialogPrimitive.Close;
3636
+ var SheetPortal = DialogPrimitive.Portal;
3637
+ var SheetOverlay = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3638
+ DialogPrimitive.Overlay,
3639
+ {
3640
+ className: cn(
3641
+ "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",
3642
+ className
3643
+ ),
3644
+ ...props,
3645
+ ref
3646
+ }
3647
+ ));
3648
+ SheetOverlay.displayName = DialogPrimitive.Overlay.displayName;
3649
+ var sheetVariants = cva(
3650
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
3651
+ {
3652
+ variants: {
3653
+ side: {
3654
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
3655
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
3656
+ 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",
3657
+ 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"
3658
+ }
3659
+ },
3660
+ defaultVariants: {
3661
+ side: "right"
3662
+ }
3663
+ }
3664
+ );
3665
+ var SheetContent = React32.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
3666
+ /* @__PURE__ */ jsx(SheetOverlay, {}),
3667
+ /* @__PURE__ */ jsxs(
3668
+ DialogPrimitive.Content,
3669
+ {
3670
+ ref,
3671
+ className: cn(sheetVariants({ side }), className),
3672
+ ...props,
3673
+ children: [
3674
+ children,
3675
+ /* @__PURE__ */ jsxs(DialogPrimitive.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: [
3676
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
3677
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
3678
+ ] })
3679
+ ]
3680
+ }
3681
+ )
3682
+ ] }));
3683
+ SheetContent.displayName = DialogPrimitive.Content.displayName;
3684
+ var SheetHeader = ({
3685
+ className,
3686
+ ...props
3687
+ }) => /* @__PURE__ */ jsx(
3688
+ "div",
3689
+ {
3690
+ className: cn(
3691
+ "flex flex-col space-y-2 text-center sm:text-left",
3692
+ className
3693
+ ),
3694
+ ...props
3695
+ }
3696
+ );
3697
+ SheetHeader.displayName = "SheetHeader";
3698
+ var SheetFooter = ({
3699
+ className,
3700
+ ...props
3701
+ }) => /* @__PURE__ */ jsx(
3702
+ "div",
3703
+ {
3704
+ className: cn(
3705
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
3706
+ className
3707
+ ),
3708
+ ...props
3709
+ }
3710
+ );
3711
+ SheetFooter.displayName = "SheetFooter";
3712
+ var SheetTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3713
+ DialogPrimitive.Title,
3714
+ {
3715
+ ref,
3716
+ className: cn("text-lg font-semibold text-foreground", className),
3717
+ ...props
3718
+ }
3719
+ ));
3720
+ SheetTitle.displayName = DialogPrimitive.Title.displayName;
3721
+ var SheetDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3722
+ DialogPrimitive.Description,
3723
+ {
3724
+ ref,
3725
+ className: cn("text-sm text-muted-foreground", className),
3726
+ ...props
3727
+ }
3728
+ ));
3729
+ SheetDescription.displayName = DialogPrimitive.Description.displayName;
3730
+ var HoverCard = HoverCardPrimitive.Root;
3731
+ var HoverCardTrigger = HoverCardPrimitive.Trigger;
3732
+ var HoverCardContent = React32.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
3733
+ HoverCardPrimitive.Content,
3734
+ {
3735
+ ref,
3736
+ align,
3737
+ sideOffset,
3738
+ className: cn(
3739
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",
3740
+ className
3741
+ ),
3742
+ ...props
3743
+ }
3744
+ ));
3745
+ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
3746
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
3747
+ "nav",
3748
+ {
3749
+ role: "navigation",
3750
+ "aria-label": "pagination",
3751
+ className: cn("mx-auto flex w-full justify-center", className),
3752
+ ...props
3753
+ }
3754
+ );
3755
+ Pagination.displayName = "Pagination";
3756
+ var PaginationContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3757
+ "ul",
3758
+ {
3759
+ ref,
3760
+ className: cn("flex flex-row items-center gap-1", className),
3761
+ ...props
3762
+ }
3763
+ ));
3764
+ PaginationContent.displayName = "PaginationContent";
3765
+ var PaginationItem = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
3766
+ PaginationItem.displayName = "PaginationItem";
3767
+ var PaginationLink = ({
3768
+ className,
3769
+ isActive,
3770
+ size = "icon",
3771
+ ...props
3772
+ }) => /* @__PURE__ */ jsx(
3773
+ "a",
3774
+ {
3775
+ "aria-current": isActive ? "page" : void 0,
3776
+ className: cn(
3777
+ buttonVariants({
3778
+ variant: isActive ? "outline" : "ghost",
3779
+ size
3780
+ }),
3781
+ className
3782
+ ),
3783
+ ...props
3784
+ }
3785
+ );
3786
+ PaginationLink.displayName = "PaginationLink";
3787
+ var PaginationPrevious = ({
3788
+ className,
3789
+ ...props
3790
+ }) => /* @__PURE__ */ jsxs(
3791
+ PaginationLink,
3792
+ {
3793
+ "aria-label": "Go to previous page",
3794
+ size: "default",
3795
+ className: cn("gap-1 pl-2.5", className),
3796
+ ...props,
3797
+ children: [
3798
+ /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
3799
+ /* @__PURE__ */ jsx("span", { children: "Previous" })
3800
+ ]
3801
+ }
3802
+ );
3803
+ PaginationPrevious.displayName = "PaginationPrevious";
3804
+ var PaginationNext = ({
3805
+ className,
3806
+ ...props
3807
+ }) => /* @__PURE__ */ jsxs(
3808
+ PaginationLink,
3809
+ {
3810
+ "aria-label": "Go to next page",
3811
+ size: "default",
3812
+ className: cn("gap-1 pr-2.5", className),
3813
+ ...props,
3814
+ children: [
3815
+ /* @__PURE__ */ jsx("span", { children: "Next" }),
3816
+ /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
3817
+ ]
3818
+ }
3819
+ );
3820
+ PaginationNext.displayName = "PaginationNext";
3821
+ var PaginationEllipsis = ({
3822
+ className,
3823
+ ...props
3824
+ }) => /* @__PURE__ */ jsxs(
3825
+ "span",
3826
+ {
3827
+ "aria-hidden": true,
3828
+ className: cn("flex h-9 w-9 items-center justify-center", className),
3829
+ ...props,
3830
+ children: [
3831
+ /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
3832
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
3833
+ ]
3834
+ }
3835
+ );
3836
+ PaginationEllipsis.displayName = "PaginationEllipsis";
3837
+ var MenubarMenu = MenubarPrimitive.Menu;
3838
+ var MenubarGroup = MenubarPrimitive.Group;
3839
+ var MenubarPortal = MenubarPrimitive.Portal;
3840
+ var MenubarSub = MenubarPrimitive.Sub;
3841
+ var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
3842
+ var Menubar = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3843
+ MenubarPrimitive.Root,
3844
+ {
3845
+ ref,
3846
+ className: cn(
3847
+ "flex h-10 items-center space-x-1 rounded-md border bg-background p-1",
3848
+ className
3849
+ ),
3850
+ ...props
3851
+ }
3852
+ ));
3853
+ Menubar.displayName = MenubarPrimitive.Root.displayName;
3854
+ var MenubarTrigger = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3855
+ MenubarPrimitive.Trigger,
3856
+ {
3857
+ ref,
3858
+ className: cn(
3859
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
3860
+ className
3861
+ ),
3862
+ ...props
3863
+ }
3864
+ ));
3865
+ MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
3866
+ var MenubarSubTrigger = React32.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3867
+ MenubarPrimitive.SubTrigger,
3868
+ {
3869
+ ref,
3870
+ className: cn(
3871
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
3872
+ inset && "pl-8",
3873
+ className
3874
+ ),
3875
+ ...props,
3876
+ children: [
3877
+ children,
3878
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
3879
+ ]
3880
+ }
3881
+ ));
3882
+ MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
3883
+ var MenubarSubContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3884
+ MenubarPrimitive.SubContent,
3885
+ {
3886
+ ref,
3887
+ className: cn(
3888
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 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",
3889
+ className
3890
+ ),
3891
+ ...props
3892
+ }
3893
+ ));
3894
+ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
3895
+ var MenubarContent = React32.forwardRef(
3896
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3897
+ MenubarPrimitive.Content,
3898
+ {
3899
+ ref,
3900
+ align,
3901
+ alignOffset,
3902
+ sideOffset,
3903
+ className: cn(
3904
+ "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
3905
+ className
3906
+ ),
3907
+ ...props
3908
+ }
3909
+ ) })
3910
+ );
3911
+ MenubarContent.displayName = MenubarPrimitive.Content.displayName;
3912
+ var MenubarItem = React32.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3913
+ MenubarPrimitive.Item,
3914
+ {
3915
+ ref,
3916
+ className: cn(
3917
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3918
+ inset && "pl-8",
3919
+ className
3920
+ ),
3921
+ ...props
3922
+ }
3923
+ ));
3924
+ MenubarItem.displayName = MenubarPrimitive.Item.displayName;
3925
+ var MenubarCheckboxItem = React32.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3926
+ MenubarPrimitive.CheckboxItem,
3927
+ {
3928
+ ref,
3929
+ className: cn(
3930
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3931
+ className
3932
+ ),
3933
+ checked,
3934
+ ...props,
3935
+ children: [
3936
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
3937
+ children
3938
+ ]
3939
+ }
3940
+ ));
3941
+ MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
3942
+ var MenubarRadioItem = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3943
+ MenubarPrimitive.RadioItem,
3944
+ {
3945
+ ref,
3946
+ className: cn(
3947
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
3948
+ className
3949
+ ),
3950
+ ...props,
3951
+ children: [
3952
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
3953
+ children
3954
+ ]
3955
+ }
3956
+ ));
3957
+ MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
3958
+ var MenubarLabel = React32.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3959
+ MenubarPrimitive.Label,
3960
+ {
3961
+ ref,
3962
+ className: cn(
3963
+ "px-2 py-1.5 text-sm font-semibold",
3964
+ inset && "pl-8",
3965
+ className
3966
+ ),
3967
+ ...props
3968
+ }
3969
+ ));
3970
+ MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
3971
+ var MenubarSeparator = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3972
+ MenubarPrimitive.Separator,
3973
+ {
3974
+ ref,
3975
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
3976
+ ...props
3977
+ }
3978
+ ));
3979
+ MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
3980
+ var MenubarShortcut = ({
3981
+ className,
3982
+ ...props
3983
+ }) => {
3984
+ return /* @__PURE__ */ jsx(
3985
+ "span",
3986
+ {
3987
+ className: cn(
3988
+ "ml-auto text-xs tracking-widest text-muted-foreground",
3989
+ className
3990
+ ),
3991
+ ...props
3992
+ }
3993
+ );
3994
+ };
3995
+ MenubarShortcut.displayName = "MenubarShortcut";
3996
+ var tableVariants = cva(
3997
+ "w-full caption-bottom text-sm",
3998
+ {
3999
+ variants: {
4000
+ variant: {
4001
+ default: "dark:text-gray-200",
4002
+ bordered: "border border-border dark:border-gray-700",
4003
+ striped: "dark:text-gray-200",
4004
+ card: "border border-border dark:border-gray-700 rounded-md shadow-sm dark:shadow-gray-900/20",
4005
+ minimal: "border-none dark:text-gray-200"
4006
+ },
4007
+ size: {
4008
+ sm: "text-xs",
4009
+ default: "text-sm",
4010
+ lg: "text-base"
4011
+ }
4012
+ },
4013
+ defaultVariants: {
4014
+ variant: "default",
4015
+ size: "default"
4016
+ }
4017
+ }
4018
+ );
4019
+ var Table = React32.forwardRef(({
4020
+ className,
4021
+ variant,
4022
+ size,
4023
+ loading,
4024
+ emptyContent,
4025
+ // Commenting unused properties to prevent lint warnings
4026
+ // sortColumn,
4027
+ // sortDirection,
4028
+ // onSortChange,
4029
+ // selectedRowIds,
4030
+ // onRowSelectionChange,
4031
+ // disableRowSelection,
4032
+ // getRowId,
4033
+ ...props
4034
+ }, ref) => {
4035
+ const striped = variant === "striped";
4036
+ const childrenWithProps = React32.Children.map(props.children, (child) => {
4037
+ if (React32.isValidElement(child)) {
4038
+ if (child.type === "tbody") {
4039
+ const tbodyProps = child.props;
4040
+ return React32.cloneElement(child, {
4041
+ className: cn(tbodyProps.className, striped && "even:[&>tr]:bg-muted/50")
4042
+ });
4043
+ }
4044
+ }
4045
+ return child;
4046
+ });
4047
+ return /* @__PURE__ */ jsxs("div", { className: "relative w-full overflow-auto", children: [
4048
+ loading && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-background/60 flex items-center justify-center z-10", children: /* @__PURE__ */ jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-primary border-t-transparent" }) }),
4049
+ /* @__PURE__ */ jsx(
4050
+ "table",
4051
+ {
4052
+ ref,
4053
+ className: cn(
4054
+ tableVariants({ variant, size }),
4055
+ loading && "opacity-70",
4056
+ className
4057
+ ),
4058
+ ...props,
4059
+ children: childrenWithProps
4060
+ }
4061
+ ),
4062
+ emptyContent && React32.Children.count(props.children) === 0 && /* @__PURE__ */ jsx("div", { className: "py-6 text-center text-muted-foreground", children: emptyContent })
4063
+ ] });
4064
+ });
4065
+ Table.displayName = "Table";
4066
+ var TableHeader = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4067
+ "thead",
4068
+ {
4069
+ ref,
4070
+ className: cn(
4071
+ "border-b bg-muted/50 dark:bg-gray-800/30 dark:border-gray-700",
4072
+ className
4073
+ ),
4074
+ ...props
4075
+ }
4076
+ ));
4077
+ TableHeader.displayName = "TableHeader";
4078
+ var TableBody = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tbody", { ref, className: cn("", className), ...props }));
4079
+ TableBody.displayName = "TableBody";
4080
+ var TableFooter = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4081
+ "tfoot",
4082
+ {
4083
+ ref,
4084
+ className: cn("bg-primary text-primary-foreground font-medium", className),
4085
+ ...props
4086
+ }
4087
+ ));
4088
+ TableFooter.displayName = "TableFooter";
4089
+ var TableRow = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4090
+ "tr",
4091
+ {
4092
+ ref,
4093
+ className: cn(
4094
+ "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
4095
+ className
4096
+ ),
4097
+ ...props
4098
+ }
4099
+ ));
4100
+ TableRow.displayName = "TableRow";
4101
+ var TableHead = React32.forwardRef(
4102
+ ({ className, sortable, sorted, onSort, children, ...props }, ref) => {
4103
+ const renderSortIcon = () => {
4104
+ if (!sortable)
4105
+ return null;
4106
+ if (sorted === "asc") {
4107
+ return /* @__PURE__ */ jsx(
4108
+ "svg",
4109
+ {
4110
+ xmlns: "http://www.w3.org/2000/svg",
4111
+ className: "ml-1 h-4 w-4 inline-block",
4112
+ viewBox: "0 0 20 20",
4113
+ fill: "currentColor",
4114
+ children: /* @__PURE__ */ jsx(
4115
+ "path",
4116
+ {
4117
+ fillRule: "evenodd",
4118
+ d: "M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z",
4119
+ clipRule: "evenodd"
4120
+ }
4121
+ )
4122
+ }
4123
+ );
4124
+ }
4125
+ if (sorted === "desc") {
4126
+ return /* @__PURE__ */ jsx(
4127
+ "svg",
4128
+ {
4129
+ xmlns: "http://www.w3.org/2000/svg",
4130
+ className: "ml-1 h-4 w-4 inline-block",
4131
+ viewBox: "0 0 20 20",
4132
+ fill: "currentColor",
4133
+ children: /* @__PURE__ */ jsx(
4134
+ "path",
4135
+ {
4136
+ fillRule: "evenodd",
4137
+ d: "M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z",
4138
+ clipRule: "evenodd"
4139
+ }
4140
+ )
4141
+ }
4142
+ );
4143
+ }
4144
+ return /* @__PURE__ */ jsx(
4145
+ "svg",
4146
+ {
4147
+ xmlns: "http://www.w3.org/2000/svg",
4148
+ className: "ml-1 h-4 w-4 inline-block opacity-30",
4149
+ viewBox: "0 0 20 20",
4150
+ fill: "currentColor",
4151
+ children: /* @__PURE__ */ jsx(
4152
+ "path",
4153
+ {
4154
+ fillRule: "evenodd",
4155
+ d: "M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",
4156
+ clipRule: "evenodd"
4157
+ }
4158
+ )
4159
+ }
4160
+ );
4161
+ };
4162
+ return /* @__PURE__ */ jsx(
4163
+ "th",
4164
+ {
4165
+ ref,
4166
+ className: cn(
4167
+ "h-10 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
4168
+ sortable && "cursor-pointer hover:text-foreground select-none",
4169
+ className
4170
+ ),
4171
+ onClick: sortable ? onSort : void 0,
4172
+ ...props,
4173
+ children: /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
4174
+ children,
4175
+ sortable && renderSortIcon()
4176
+ ] })
4177
+ }
4178
+ );
4179
+ }
4180
+ );
4181
+ TableHead.displayName = "TableHead";
4182
+ var TableCell = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4183
+ "td",
4184
+ {
4185
+ ref,
4186
+ className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
4187
+ ...props
4188
+ }
4189
+ ));
4190
+ TableCell.displayName = "TableCell";
4191
+ var TableCaption = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4192
+ "caption",
4193
+ {
4194
+ ref,
4195
+ className: cn("mt-4 text-sm text-muted-foreground", className),
4196
+ ...props
4197
+ }
4198
+ ));
4199
+ TableCaption.displayName = "TableCaption";
4200
+
4201
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbList, BreadcrumbSeparator, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroup, CheckboxLabel, CheckboxWithLabel, Collapsible2 as Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogForm, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, Input, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverFooter, PopoverHeader, PopoverSeparator, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, RadioItemWithLabel, RadioLabel, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonText, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider2 as ThemeProvider, Toast, ToastContainer, ToastProvider, Toggle, Tooltip, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, aspectRatioVariants, badgeVariants, buttonVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, combineRefs, commandGroupVariants, commandInputVariants, commandItemVariants, commandListVariants, commandVariants, createCssVariables, debounce, formatCurrency, generateId, get, navigationMenuTriggerStyle, popoverContentVariants, progressVariants, skeletonVariants, toastVariants, toggleVariants, tooltipContentVariants, useTheme, useToast };
4202
+ //# sourceMappingURL=out.js.map
4203
+ //# sourceMappingURL=index.mjs.map