@moontra/moonui 2.1.8 → 2.2.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.
Files changed (46) hide show
  1. package/dist/index.d.mts +1579 -0
  2. package/dist/index.d.ts +1579 -0
  3. package/dist/index.js +378 -346
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +381 -348
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +4 -4
  8. package/src/components/ui/accordion.tsx +1 -1
  9. package/src/components/ui/alert.tsx +3 -3
  10. package/src/components/ui/aspect-ratio.tsx +1 -1
  11. package/src/components/ui/avatar.tsx +6 -6
  12. package/src/components/ui/badge.tsx +1 -1
  13. package/src/components/ui/breadcrumb.tsx +10 -10
  14. package/src/components/ui/button.tsx +48 -51
  15. package/src/components/ui/calendar.tsx +1 -1
  16. package/src/components/ui/card.tsx +7 -7
  17. package/src/components/ui/checkbox.tsx +1 -1
  18. package/src/components/ui/collapsible.tsx +3 -3
  19. package/src/components/ui/color-picker.tsx +2 -2
  20. package/src/components/ui/command.tsx +4 -4
  21. package/src/components/ui/data-table.tsx +1 -1
  22. package/src/components/ui/date-picker.tsx +9 -8
  23. package/src/components/ui/dialog.tsx +2 -2
  24. package/src/components/ui/draggable-list.tsx +1 -1
  25. package/src/components/ui/dropdown-menu.tsx +2 -2
  26. package/src/components/ui/file-upload.tsx +2 -2
  27. package/src/components/ui/github-stars.tsx +1 -1
  28. package/src/components/ui/index.ts +0 -2
  29. package/src/components/ui/input.tsx +1 -1
  30. package/src/components/ui/moon-logo.tsx +1 -1
  31. package/src/components/ui/pagination.tsx +8 -8
  32. package/src/components/ui/popover.tsx +3 -3
  33. package/src/components/ui/progress.tsx +1 -1
  34. package/src/components/ui/radio-group.tsx +1 -1
  35. package/src/components/ui/select.tsx +2 -2
  36. package/src/components/ui/skeleton.tsx +19 -7
  37. package/src/components/ui/slider.tsx +1 -1
  38. package/src/components/ui/switch.tsx +1 -1
  39. package/src/components/ui/table.tsx +5 -5
  40. package/src/components/ui/tabs.tsx +4 -1
  41. package/src/components/ui/textarea.tsx +1 -1
  42. package/src/components/ui/toast.tsx +3 -3
  43. package/src/components/ui/toggle.tsx +2 -3
  44. package/src/components/ui/tooltip.tsx +2 -5
  45. package/src/index.tsx +0 -1
  46. package/src/lib/micro-interactions.ts +2 -1
package/dist/index.mjs CHANGED
@@ -3,13 +3,11 @@ import { twMerge } from 'tailwind-merge';
3
3
  import * as t from 'react';
4
4
  import t__default, { useState, useCallback, useEffect } from 'react';
5
5
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
6
- import { ChevronDown, Info, AlertCircle, AlertTriangle, Check, X, MoreHorizontal, Loader2, Minus, Search, ChevronUp, ChevronRight, Circle, Upload, Bold, Italic, Underline, Strikethrough, AlignLeft, AlignCenter, AlignRight, AlignJustify, List, ListOrdered, Quote, Code, Link, Image, Palette, Undo, Redo, Edit, Eye, ChevronLeft, Copy, Download, RefreshCw, Columns, ArrowDown, ArrowUp, ArrowUpDown, ChevronsLeft, ChevronsRight, Calendar as Calendar$1, Clock, CheckCircle, Star, GitFork, ExternalLink, Video, Music, FileText, File } from 'lucide-react';
6
+ import { ChevronDown, Info, AlertCircle, AlertTriangle, Check, X, MoreHorizontal, Loader2, Minus, Search, ChevronUp, ChevronRight, Circle, Upload, Bold, Italic, Underline, Strikethrough, AlignLeft, AlignCenter, AlignRight, AlignJustify, List, ListOrdered, Quote, Code, Link, Image, Palette, Undo, Redo, Edit, Eye, Copy, Download, RefreshCw, Columns, ArrowDown, ArrowUp, ArrowUpDown, ChevronsLeft, ChevronLeft, ChevronsRight, Calendar as Calendar$1, Clock, CheckCircle, Star, GitFork, ExternalLink, Video, Music, FileText, File } from 'lucide-react';
7
7
  export { Palette, Pipette } from 'lucide-react';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { cva } from 'class-variance-authority';
10
10
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
11
- import { format, isSameMonth, isToday, isValid, subMonths, addMonths, isSameDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, startOfWeek, endOfWeek } from 'date-fns';
12
- export { format } from 'date-fns';
13
11
  import { motion, AnimatePresence, useMotionValue, useTransform, animate } from 'framer-motion';
14
12
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
15
13
  import 'react-dom';
@@ -20,6 +18,8 @@ import * as TabsPrimitive from '@radix-ui/react-tabs';
20
18
  import * as DialogPrimitive from '@radix-ui/react-dialog';
21
19
  import * as SelectPrimitive from '@radix-ui/react-select';
22
20
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
21
+ import { isValid, format, isSameMonth, isToday, subMonths, addMonths, isSameDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, startOfWeek, endOfWeek } from 'date-fns';
22
+ export { format } from 'date-fns';
23
23
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
24
24
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
25
25
  import * as SwitchPrimitives from '@radix-ui/react-switch';
@@ -35,7 +35,7 @@ var AccordionItem = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__
35
35
  AccordionPrimitive.Item,
36
36
  {
37
37
  ref,
38
- className: cn("border-b border-gray-200 dark:border-gray-800", className),
38
+ className: cn("moonui-theme", "border-b border-gray-200 dark:border-gray-800", className),
39
39
  ...props
40
40
  }
41
41
  ));
@@ -129,7 +129,7 @@ var Alert = t.forwardRef(
129
129
  {
130
130
  ref,
131
131
  role: "alert",
132
- className: cn(alertVariants({ variant, size, radius, withClose: closable }), className),
132
+ className: cn("moonui-theme", alertVariants({ variant, size, radius, withClose: closable }), className),
133
133
  ...props,
134
134
  children: [
135
135
  !hideIcon && /* @__PURE__ */ jsx(Icon2, { className: "h-5 w-5" }),
@@ -153,7 +153,7 @@ var AlertTitle = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
153
153
  "h5",
154
154
  {
155
155
  ref,
156
- className: cn("font-semibold leading-tight tracking-tight mb-1", className),
156
+ className: cn("moonui-theme", "font-semibold leading-tight tracking-tight mb-1", className),
157
157
  ...props
158
158
  }
159
159
  ));
@@ -162,7 +162,7 @@ var AlertDescription = t.forwardRef(({ className, ...props }, ref) => /* @__PURE
162
162
  "div",
163
163
  {
164
164
  ref,
165
- className: cn("text-sm leading-5 text-muted-foreground", className),
165
+ className: cn("moonui-theme", "text-sm leading-5 text-muted-foreground", className),
166
166
  ...props
167
167
  }
168
168
  ));
@@ -194,7 +194,7 @@ var AspectRatio = t.forwardRef(({ className, variant, radius, ratio = 16 / 9, st
194
194
  "div",
195
195
  {
196
196
  ref,
197
- className: cn(aspectRatioVariants({ variant, radius }), className),
197
+ className: cn("moonui-theme", aspectRatioVariants({ variant, radius }), className),
198
198
  style: {
199
199
  position: "relative",
200
200
  paddingBottom: `${1 / ratio * 100}%`,
@@ -227,9 +227,9 @@ var avatarVariants = cva(
227
227
  },
228
228
  variant: {
229
229
  default: "",
230
- ring: "ring-2 ring-gray-300 dark:ring-gray-600",
231
- ringOffset: "ring-2 ring-gray-300 dark:ring-gray-600 ring-offset-2 ring-offset-background dark:ring-offset-gray-950",
232
- border: "border-2 border-gray-200 dark:border-gray-800"
230
+ ring: "ring-2 ring-border",
231
+ ringOffset: "ring-2 ring-border ring-offset-2 ring-offset-background",
232
+ border: "border-2 border-border"
233
233
  }
234
234
  },
235
235
  defaultVariants: {
@@ -243,7 +243,7 @@ var Avatar = t.forwardRef(({ className, size, radius, variant, ...props }, ref)
243
243
  AvatarPrimitive.Root,
244
244
  {
245
245
  ref,
246
- className: cn(avatarVariants({ size, radius, variant }), className),
246
+ className: cn("moonui-theme", avatarVariants({ size, radius, variant }), className),
247
247
  ...props
248
248
  }
249
249
  ));
@@ -252,7 +252,7 @@ var AvatarImage = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
252
252
  AvatarPrimitive.Image,
253
253
  {
254
254
  ref,
255
- className: cn("aspect-square h-full w-full", className),
255
+ className: cn("moonui-theme", "aspect-square h-full w-full", className),
256
256
  ...props
257
257
  }
258
258
  ));
@@ -277,7 +277,7 @@ var AvatarGroup = t.forwardRef(
277
277
  "div",
278
278
  {
279
279
  ref,
280
- className: cn("flex items-center", className),
280
+ className: cn("moonui-theme", "flex items-center", className),
281
281
  ...props,
282
282
  children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
283
283
  visibleAvatars.map((avatar, index) => /* @__PURE__ */ jsx(
@@ -426,7 +426,7 @@ function Badge({
426
426
  return /* @__PURE__ */ jsxs(
427
427
  "div",
428
428
  {
429
- className: cn(badgeVariants({ variant, size, radius }), className),
429
+ className: cn("moonui-theme", badgeVariants({ variant, size, radius }), className),
430
430
  "data-removable": removable ? "" : void 0,
431
431
  ...props,
432
432
  children: [
@@ -477,9 +477,9 @@ var breadcrumbVariants = cva(
477
477
  {
478
478
  variants: {
479
479
  variant: {
480
- default: "dark:text-gray-100 transition-colors",
481
- muted: "text-muted-foreground dark:text-gray-400 transition-colors",
482
- ghost: "text-foreground/60 dark:text-gray-300/60 transition-colors"
480
+ default: "text-foreground transition-colors",
481
+ muted: "text-muted-foreground transition-colors",
482
+ ghost: "text-foreground/60 transition-colors"
483
483
  },
484
484
  size: {
485
485
  default: "text-sm",
@@ -498,7 +498,7 @@ var Breadcrumb = t.forwardRef(
498
498
  "nav",
499
499
  {
500
500
  ref,
501
- className: cn(breadcrumbVariants({ variant, size }), className),
501
+ className: cn("moonui-theme", breadcrumbVariants({ variant, size }), className),
502
502
  "aria-label": "breadcrumb",
503
503
  ...props
504
504
  }
@@ -551,7 +551,7 @@ var BreadcrumbItem = t.forwardRef(
551
551
  "li",
552
552
  {
553
553
  ref,
554
- className: cn("inline-flex items-center gap-1.5", className),
554
+ className: cn("moonui-theme", "inline-flex items-center gap-1.5", className),
555
555
  "aria-current": isCurrent ? "page" : void 0,
556
556
  ...props,
557
557
  children: /* @__PURE__ */ jsx(
@@ -559,7 +559,7 @@ var BreadcrumbItem = t.forwardRef(
559
559
  {
560
560
  className: cn(
561
561
  "transition-colors duration-200 hover:text-foreground",
562
- isCurrent ? "font-medium text-foreground dark:text-white dark:text-opacity-95" : "text-muted-foreground hover:text-foreground dark:text-gray-400 dark:hover:text-gray-200 dark:hover:text-opacity-95 hover:underline hover:underline-offset-4 hover:decoration-gray-300/30"
562
+ isCurrent ? "font-medium text-foreground" : "text-muted-foreground hover:text-foreground hover:underline hover:underline-offset-4 hover:decoration-muted-foreground/30"
563
563
  ),
564
564
  ...itemProps,
565
565
  children: props.children
@@ -579,7 +579,7 @@ var BreadcrumbSeparator = ({
579
579
  {
580
580
  role: "presentation",
581
581
  "aria-hidden": "true",
582
- className: cn("text-muted-foreground dark:text-gray-500 opacity-70", className),
582
+ className: cn("moonui-theme", "text-muted-foreground opacity-70", className),
583
583
  ...props,
584
584
  children: children || /* @__PURE__ */ jsx(ChevronRight, { className: "h-3.5 w-3.5" })
585
585
  }
@@ -593,7 +593,7 @@ var BreadcrumbEllipsis = ({
593
593
  {
594
594
  role: "presentation",
595
595
  "aria-hidden": "true",
596
- className: cn("flex items-center text-muted-foreground dark:text-gray-500 dark:hover:text-gray-400 transition-colors duration-200", className),
596
+ className: cn("moonui-theme", "flex items-center text-muted-foreground hover:text-foreground/80 transition-colors duration-200", className),
597
597
  ...props,
598
598
  children: [
599
599
  /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
@@ -609,7 +609,7 @@ var BreadcrumbLink = t.forwardRef(
609
609
  ref,
610
610
  href,
611
611
  className: cn(
612
- "transition-colors duration-200 hover:text-foreground text-muted-foreground hover:underline hover:underline-offset-4 hover:decoration-gray-300/30 dark:text-gray-400 dark:hover:text-gray-200",
612
+ "transition-colors duration-200 hover:text-foreground text-muted-foreground hover:underline hover:underline-offset-4 hover:decoration-muted-foreground/30",
613
613
  className
614
614
  ),
615
615
  ...props
@@ -636,75 +636,71 @@ var buttonVariants = cva(
636
636
  "inline-flex items-center justify-center gap-2 whitespace-nowrap",
637
637
  "font-medium relative",
638
638
  "transition-all duration-200 ease-out",
639
- "premium-hover",
640
- /* Standart premium hover efekti */
639
+ "transform active:scale-[0.98]",
641
640
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
642
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"
641
+ "disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none disabled:transform-none"
643
642
  ],
644
643
  {
645
644
  variants: {
646
645
  variant: {
647
646
  primary: [
648
647
  "bg-primary text-primary-foreground",
649
- "hover:bg-primary-hover dark:hover:bg-primary/90",
650
- "active:bg-primary-active dark:active:bg-primary/80",
651
- "shadow-sm dark:shadow-primary/20 dark:shadow-md",
652
- "focus-visible:ring-primary/50 dark:focus-visible:ring-primary/30",
653
- "dark:bg-primary dark:text-white",
648
+ "dark:bg-primary dark:text-primary-foreground",
649
+ "hover:bg-primary/90 dark:hover:bg-primary/90",
650
+ "active:bg-primary/80 dark:active:bg-primary/80",
651
+ "shadow-sm hover:shadow-md",
652
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
654
653
  "transition-all duration-200"
655
654
  ],
656
655
  secondary: [
657
- "bg-secondary text-secondary-foreground",
658
- "hover:bg-gray-200 dark:hover:bg-gray-700/90",
659
- "active:bg-gray-300 dark:active:bg-gray-600/90",
660
- "border border-transparent dark:border-gray-700",
661
- "focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
662
- "dark:bg-gray-800 dark:text-gray-100",
663
- "dark:shadow-sm dark:shadow-gray-900/20"
656
+ "bg-muted text-muted-foreground",
657
+ "dark:bg-muted dark:text-muted-foreground",
658
+ "hover:bg-muted/80 dark:hover:bg-muted/80",
659
+ "active:bg-muted/70 dark:active:bg-muted/70",
660
+ "border border-input dark:border-input",
661
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
662
+ "shadow-sm hover:shadow-md"
664
663
  ],
665
664
  outline: [
666
665
  "bg-background text-foreground",
667
- "border border-gray-300 dark:border-gray-700",
668
- "hover:border-gray-400 dark:hover:border-gray-500",
669
- "hover:bg-gray-50 dark:hover:bg-gray-800/80",
670
- "active:bg-gray-100 dark:active:bg-gray-800/90",
671
- "focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
672
- "dark:text-gray-200 dark:bg-gray-900/50",
673
- "dark:shadow-sm dark:shadow-gray-950/10"
666
+ "dark:bg-background dark:text-foreground",
667
+ "border border-input dark:border-input",
668
+ "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground",
669
+ "active:bg-accent/80 dark:active:bg-accent/80",
670
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
671
+ "transition-all duration-200"
674
672
  ],
675
673
  ghost: [
676
674
  "text-foreground",
677
- "hover:bg-gray-100 dark:hover:bg-gray-800/90",
678
- "active:bg-gray-200 dark:active:bg-gray-700/90",
679
- "focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
680
- "dark:text-gray-200",
681
- "transition-colors duration-200"
675
+ "dark:text-foreground",
676
+ "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground",
677
+ "active:bg-accent/80 dark:active:bg-accent/80",
678
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
679
+ "transition-all duration-200"
682
680
  ],
683
681
  destructive: [
684
- "bg-error text-white",
685
- "hover:bg-error/90 dark:hover:bg-error/80",
686
- "active:bg-error/80 dark:active:bg-error/70",
687
- "shadow-sm dark:shadow-error/10 dark:shadow-md",
688
- "focus-visible:ring-error/50 dark:focus-visible:ring-error/30",
689
- "dark:text-white dark:border-error/20",
690
- "transition-colors duration-200"
682
+ "bg-destructive text-destructive-foreground",
683
+ "dark:bg-destructive dark:text-destructive-foreground",
684
+ "hover:bg-destructive/90 dark:hover:bg-destructive/90",
685
+ "active:bg-destructive/80 dark:active:bg-destructive/80",
686
+ "shadow-sm hover:shadow-md",
687
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
688
+ "transition-all duration-200"
691
689
  ],
692
690
  success: [
693
- "bg-success text-white",
694
- "hover:bg-success/90 dark:hover:bg-success/80",
695
- "active:bg-success/80 dark:active:bg-success/70",
696
- "shadow-sm dark:shadow-success/10 dark:shadow-md",
697
- "focus-visible:ring-success/50 dark:focus-visible:ring-success/30",
698
- "dark:text-white dark:border-success/20",
699
- "transition-colors duration-200"
691
+ "bg-success text-success-foreground",
692
+ "dark:bg-success dark:text-success-foreground",
693
+ "hover:bg-success/90 dark:hover:bg-success/90",
694
+ "active:bg-success/80 dark:active:bg-success/80",
695
+ "shadow-sm hover:shadow-md",
696
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
697
+ "transition-all duration-200"
700
698
  ],
701
699
  link: [
702
700
  "text-primary bg-transparent",
703
701
  "underline-offset-4 hover:underline",
704
- "hover:text-primary-hover active:text-primary-active",
702
+ "hover:text-primary/80 active:text-primary/70",
705
703
  "p-0 h-auto",
706
- "dark:text-blue-400 dark:hover:text-blue-300",
707
- "dark:active:text-blue-500",
708
704
  "transition-colors duration-200"
709
705
  ],
710
706
  gradient: [
@@ -754,14 +750,14 @@ var buttonVariants = cva(
754
750
  ]
755
751
  },
756
752
  size: {
757
- xs: "h-7 px-2.5 text-xs rounded",
758
- sm: "h-8 px-3 text-sm rounded",
759
- md: "h-10 px-4 text-base rounded-md",
753
+ xs: "h-7 px-2.5 text-xs rounded-md",
754
+ sm: "h-8 px-3 text-sm rounded-md",
755
+ md: "h-10 px-4 text-base rounded-lg",
760
756
  lg: "h-12 px-6 text-lg rounded-lg",
761
- xl: "h-14 px-8 text-xl rounded-lg",
762
- icon: "h-10 w-10 p-2 rounded-md",
763
- "icon-sm": "h-8 w-8 p-1.5 rounded",
764
- "icon-lg": "h-12 w-12 p-3 rounded-lg"
757
+ xl: "h-14 px-8 text-xl rounded-xl",
758
+ icon: "h-10 w-10 p-2 rounded-lg",
759
+ "icon-sm": "h-8 w-8 p-1.5 rounded-md",
760
+ "icon-lg": "h-12 w-12 p-3 rounded-xl"
765
761
  },
766
762
  rounded: {
767
763
  default: "",
@@ -799,7 +795,7 @@ var Button = t.forwardRef(
799
795
  return /* @__PURE__ */ jsxs(
800
796
  Comp,
801
797
  {
802
- className: cn(buttonVariants({ variant, size, rounded, fullWidth, className })),
798
+ className: cn("moonui-theme", buttonVariants({ variant, size, rounded, fullWidth, className })),
803
799
  ref,
804
800
  disabled: disabled || loading,
805
801
  "data-loading": loading ? "" : void 0,
@@ -815,203 +811,7 @@ var Button = t.forwardRef(
815
811
  }
816
812
  );
817
813
  Button.displayName = "Button";
818
- function Calendar({
819
- mode = "single",
820
- selected,
821
- onSelect,
822
- disabled,
823
- showOutsideDays = false,
824
- className,
825
- classNames,
826
- numberOfMonths = 1,
827
- defaultMonth,
828
- ...props
829
- }) {
830
- const [currentMonth, setCurrentMonth] = t.useState(
831
- defaultMonth || selected && selected || /* @__PURE__ */ new Date()
832
- );
833
- const weekDays = [
834
- { short: "S", full: "Sunday" },
835
- { short: "M", full: "Monday" },
836
- { short: "T", full: "Tuesday" },
837
- { short: "W", full: "Wednesday" },
838
- { short: "T", full: "Thursday" },
839
- { short: "F", full: "Friday" },
840
- { short: "S", full: "Saturday" }
841
- ];
842
- const handlePreviousMonth = () => {
843
- setCurrentMonth(subMonths(currentMonth, 1));
844
- };
845
- const handleNextMonth = () => {
846
- setCurrentMonth(addMonths(currentMonth, 1));
847
- };
848
- const handleDateClick = (date) => {
849
- if (disabled?.(date))
850
- return;
851
- if (mode === "single") {
852
- onSelect?.(date);
853
- } else if (mode === "range") {
854
- const currentSelection = selected;
855
- if (!currentSelection?.from || currentSelection.from && currentSelection.to) {
856
- onSelect?.({ from: date, to: void 0 });
857
- } else {
858
- if (date < currentSelection.from) {
859
- onSelect?.({ from: date, to: currentSelection.from });
860
- } else {
861
- onSelect?.({ from: currentSelection.from, to: date });
862
- }
863
- }
864
- }
865
- };
866
- const isDateSelected = (date) => {
867
- if (!selected)
868
- return false;
869
- if (mode === "single") {
870
- return isSameDay(date, selected);
871
- } else if (mode === "range") {
872
- const range = selected;
873
- if (range.from && range.to) {
874
- return date >= range.from && date <= range.to;
875
- }
876
- return range.from ? isSameDay(date, range.from) : false;
877
- }
878
- return false;
879
- };
880
- const isRangeStart = (date) => {
881
- if (mode !== "range" || !selected)
882
- return false;
883
- const range = selected;
884
- return range.from ? isSameDay(date, range.from) : false;
885
- };
886
- const isRangeEnd = (date) => {
887
- if (mode !== "range" || !selected)
888
- return false;
889
- const range = selected;
890
- return range.to ? isSameDay(date, range.to) : false;
891
- };
892
- const isRangeMiddle = (date) => {
893
- if (mode !== "range" || !selected)
894
- return false;
895
- const range = selected;
896
- if (!range.from || !range.to)
897
- return false;
898
- return date > range.from && date < range.to;
899
- };
900
- const getDaysInMonth = () => {
901
- const start = startOfMonth(currentMonth);
902
- const end = endOfMonth(currentMonth);
903
- const days2 = eachDayOfInterval({ start, end });
904
- const firstDayOfWeek = getDay(start);
905
- const previousMonthDays = [];
906
- if (firstDayOfWeek > 0 && showOutsideDays) {
907
- const previousMonthStart = startOfWeek(start);
908
- const previousMonthEnd = new Date(start);
909
- previousMonthEnd.setDate(previousMonthEnd.getDate() - 1);
910
- previousMonthDays.push(...eachDayOfInterval({
911
- start: previousMonthStart,
912
- end: previousMonthEnd
913
- }));
914
- }
915
- const lastDayOfWeek = getDay(end);
916
- const nextMonthDays = [];
917
- if (lastDayOfWeek < 6 && showOutsideDays) {
918
- const nextMonthStart = new Date(end);
919
- nextMonthStart.setDate(nextMonthStart.getDate() + 1);
920
- const nextMonthEnd = endOfWeek(end);
921
- nextMonthDays.push(...eachDayOfInterval({
922
- start: nextMonthStart,
923
- end: nextMonthEnd
924
- }));
925
- }
926
- const emptyCells = [];
927
- if (!showOutsideDays && firstDayOfWeek > 0) {
928
- for (let i = 0; i < firstDayOfWeek; i++) {
929
- emptyCells.push(null);
930
- }
931
- }
932
- return [...previousMonthDays, ...emptyCells, ...days2, ...nextMonthDays];
933
- };
934
- const days = getDaysInMonth();
935
- return /* @__PURE__ */ jsxs("div", { className: cn("p-0", className), children: [
936
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [
937
- /* @__PURE__ */ jsx(
938
- "button",
939
- {
940
- onClick: handlePreviousMonth,
941
- className: cn(
942
- "h-10 w-10 bg-transparent p-0 rounded-lg",
943
- "hover:bg-muted transition-colors",
944
- "inline-flex items-center justify-center"
945
- ),
946
- type: "button",
947
- children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-5 w-5" })
948
- }
949
- ),
950
- /* @__PURE__ */ jsx("h2", { className: "text-base font-medium", children: format(currentMonth, "MMMM yyyy") }),
951
- /* @__PURE__ */ jsx(
952
- "button",
953
- {
954
- onClick: handleNextMonth,
955
- className: cn(
956
- "h-10 w-10 bg-transparent p-0 rounded-lg",
957
- "hover:bg-muted transition-colors",
958
- "inline-flex items-center justify-center"
959
- ),
960
- type: "button",
961
- children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-5 w-5" })
962
- }
963
- )
964
- ] }),
965
- /* @__PURE__ */ jsxs("div", { className: "px-6 pb-4", children: [
966
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7 mb-2", children: weekDays.map((day, index) => /* @__PURE__ */ jsx(
967
- "div",
968
- {
969
- className: "text-muted-foreground text-xs font-medium h-10 flex items-center justify-center",
970
- title: day.full,
971
- children: day.short
972
- },
973
- `weekday-${index}`
974
- )) }),
975
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7 gap-1", children: days.map((date, index) => {
976
- if (!date) {
977
- return /* @__PURE__ */ jsx("div", { className: "h-10 w-10" }, `empty-${index}`);
978
- }
979
- const isOutsideMonth = !isSameMonth(date, currentMonth);
980
- const isDisabled = disabled?.(date) || false;
981
- const isSelected = isDateSelected(date);
982
- const isTodayDate = isToday(date);
983
- const rangeStart = isRangeStart(date);
984
- const rangeEnd = isRangeEnd(date);
985
- const rangeMiddle = isRangeMiddle(date);
986
- return /* @__PURE__ */ jsx(
987
- "button",
988
- {
989
- onClick: () => handleDateClick(date),
990
- disabled: isDisabled,
991
- className: cn(
992
- "h-10 w-10 p-0 font-normal",
993
- "inline-flex items-center justify-center rounded-lg",
994
- "hover:bg-muted transition-colors text-sm",
995
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
996
- isOutsideMonth && "text-muted-foreground/50",
997
- isDisabled && "text-muted-foreground/30 cursor-not-allowed hover:bg-transparent",
998
- isSelected && !rangeMiddle && "bg-primary text-primary-foreground font-medium hover:bg-primary hover:text-primary-foreground",
999
- isTodayDate && "font-semibold relative after:absolute after:bottom-1 after:left-1/2 after:-translate-x-1/2 after:h-1 after:w-1 after:rounded-full after:bg-primary",
1000
- rangeMiddle && "bg-accent/30 text-accent-foreground rounded-none",
1001
- rangeStart && "rounded-r-none",
1002
- rangeEnd && "rounded-l-none"
1003
- ),
1004
- type: "button",
1005
- children: format(date, "d")
1006
- },
1007
- date.toISOString()
1008
- );
1009
- }) })
1010
- ] })
1011
- ] });
1012
- }
1013
- Calendar.displayName = "Calendar";
1014
- var microInteractionVariants = cva("", {
814
+ cva("", {
1015
815
  variants: {
1016
816
  hover: {
1017
817
  lift: [
@@ -1142,6 +942,32 @@ var tapAnimations = {
1142
942
  transition: { duration: 0.1 }
1143
943
  }
1144
944
  };
945
+ var pageTransitions = {
946
+ fadeIn: {
947
+ initial: { opacity: 0 },
948
+ animate: { opacity: 1 },
949
+ exit: { opacity: 0 },
950
+ transition: { duration: 0.3 }
951
+ },
952
+ slideUp: {
953
+ initial: { opacity: 0, y: 20 },
954
+ animate: { opacity: 1, y: 0 },
955
+ exit: { opacity: 0, y: -20 },
956
+ transition: springAnimations.smooth
957
+ },
958
+ slideRight: {
959
+ initial: { opacity: 0, x: -20 },
960
+ animate: { opacity: 1, x: 0 },
961
+ exit: { opacity: 0, x: 20 },
962
+ transition: springAnimations.smooth
963
+ },
964
+ scale: {
965
+ initial: { opacity: 0, scale: 0.95 },
966
+ animate: { opacity: 1, scale: 1 },
967
+ exit: { opacity: 0, scale: 1.05 },
968
+ transition: springAnimations.smooth
969
+ }
970
+ };
1145
971
  var skeletonAnimation = {
1146
972
  initial: { opacity: 0.5 },
1147
973
  animate: {
@@ -1201,7 +1027,7 @@ var Card = t.forwardRef(
1201
1027
  motion.div,
1202
1028
  {
1203
1029
  ref,
1204
- className: cn(cardVariants({ variant, size, radius, interactive, className })),
1030
+ className: cn("moonui-theme", cardVariants({ variant, size, radius, interactive, className })),
1205
1031
  ...interactionProps,
1206
1032
  ...props
1207
1033
  }
@@ -1211,7 +1037,7 @@ var Card = t.forwardRef(
1211
1037
  "div",
1212
1038
  {
1213
1039
  ref,
1214
- className: cn(cardVariants({ variant, size, radius, interactive, className })),
1040
+ className: cn("moonui-theme", cardVariants({ variant, size, radius, interactive, className })),
1215
1041
  ...props
1216
1042
  }
1217
1043
  );
@@ -1222,7 +1048,7 @@ var CardHeader = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1222
1048
  "div",
1223
1049
  {
1224
1050
  ref,
1225
- className: cn("flex flex-col space-y-1.5", className),
1051
+ className: cn("moonui-theme", "flex flex-col space-y-1.5", className),
1226
1052
  ...props
1227
1053
  }
1228
1054
  ));
@@ -1231,7 +1057,7 @@ var CardTitle = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
1231
1057
  "h3",
1232
1058
  {
1233
1059
  ref,
1234
- className: cn("text-lg font-semibold leading-none tracking-tight", className),
1060
+ className: cn("moonui-theme", "text-lg font-semibold leading-none tracking-tight", className),
1235
1061
  ...props
1236
1062
  }
1237
1063
  ));
@@ -1240,18 +1066,18 @@ var CardDescription = t.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1240
1066
  "p",
1241
1067
  {
1242
1068
  ref,
1243
- className: cn("text-sm text-muted-foreground", className),
1069
+ className: cn("moonui-theme", "text-sm text-muted-foreground", className),
1244
1070
  ...props
1245
1071
  }
1246
1072
  ));
1247
1073
  CardDescription.displayName = "CardDescription";
1248
- var CardContent = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("pt-0", className), ...props }));
1074
+ var CardContent = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("moonui-theme", "pt-0", className), ...props }));
1249
1075
  CardContent.displayName = "CardContent";
1250
1076
  var CardFooter = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1251
1077
  "div",
1252
1078
  {
1253
1079
  ref,
1254
- className: cn("flex items-center pt-4", className),
1080
+ className: cn("moonui-theme", "flex items-center pt-4", className),
1255
1081
  ...props
1256
1082
  }
1257
1083
  ));
@@ -1315,7 +1141,7 @@ var Checkbox = t.forwardRef(({
1315
1141
  {
1316
1142
  ref,
1317
1143
  checked: effectiveChecked,
1318
- className: cn(checkboxVariants({ variant, size, radius, animation }), className),
1144
+ className: cn("moonui-theme", checkboxVariants({ variant, size, radius, animation }), className),
1319
1145
  ...props,
1320
1146
  children: /* @__PURE__ */ jsx(
1321
1147
  CheckboxPrimitive.Indicator,
@@ -1900,7 +1726,7 @@ var CollapsibleTrigger2 = t.forwardRef(({ className, children, variant, size, as
1900
1726
  Trigger2,
1901
1727
  {
1902
1728
  ref,
1903
- className: cn(collapsibleTriggerVariants({ variant, size }), className),
1729
+ className: cn("moonui-theme", collapsibleTriggerVariants({ variant, size }), className),
1904
1730
  asChild,
1905
1731
  ...props,
1906
1732
  children
@@ -1911,7 +1737,7 @@ var CollapsibleTrigger2 = t.forwardRef(({ className, children, variant, size, as
1911
1737
  Trigger2,
1912
1738
  {
1913
1739
  ref,
1914
- className: cn(collapsibleTriggerVariants({ variant, size }), className),
1740
+ className: cn("moonui-theme", collapsibleTriggerVariants({ variant, size }), className),
1915
1741
  ...props,
1916
1742
  children: [
1917
1743
  children,
@@ -1947,7 +1773,7 @@ var CollapsibleContent2 = t.forwardRef(({ className, children, variant, size, ..
1947
1773
  Content2,
1948
1774
  {
1949
1775
  ref,
1950
- className: cn(collapsibleContentVariants({ variant, size }), className),
1776
+ className: cn("moonui-theme", collapsibleContentVariants({ variant, size }), className),
1951
1777
  ...props,
1952
1778
  children: /* @__PURE__ */ jsx("div", { className: "p-4", children })
1953
1779
  }
@@ -2047,7 +1873,7 @@ var Input = t.forwardRef(
2047
1873
  const showMessage = alwaysShowMessage || error || success;
2048
1874
  const messageType = error ? "error" : success ? "success" : "normal";
2049
1875
  return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5 w-full", children: [
2050
- /* @__PURE__ */ jsxs("div", { className: cn(inputWrapperVariants({ size }), wrapperClassName), children: [
1876
+ /* @__PURE__ */ jsxs("div", { className: cn("moonui-theme", inputWrapperVariants({ size }), wrapperClassName), children: [
2051
1877
  leftIcon && /* @__PURE__ */ jsx("div", { className: "absolute left-3 text-gray-500 flex items-center justify-center pointer-events-none", children: loading ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : leftIcon }),
2052
1878
  /* @__PURE__ */ jsx(
2053
1879
  "input",
@@ -2208,7 +2034,7 @@ var PopoverClose = PopoverPrimitive.Close;
2208
2034
  var PopoverSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
2209
2035
  "div",
2210
2036
  {
2211
- className: cn("my-2 h-px bg-border", className),
2037
+ className: cn("moonui-theme", "my-2 h-px bg-border", className),
2212
2038
  ...props
2213
2039
  }
2214
2040
  );
@@ -2216,7 +2042,7 @@ PopoverSeparator.displayName = "PopoverSeparator";
2216
2042
  var PopoverHeader = ({ className, ...props }) => /* @__PURE__ */ jsx(
2217
2043
  "div",
2218
2044
  {
2219
- className: cn("-mx-4 -mt-4 mb-3 px-4 pt-4 pb-3 border-b border-border", className),
2045
+ className: cn("moonui-theme", "-mx-4 -mt-4 mb-3 px-4 pt-4 pb-3 border-b border-border", className),
2220
2046
  ...props
2221
2047
  }
2222
2048
  );
@@ -2224,7 +2050,7 @@ PopoverHeader.displayName = "PopoverHeader";
2224
2050
  var PopoverFooter = ({ className, ...props }) => /* @__PURE__ */ jsx(
2225
2051
  "div",
2226
2052
  {
2227
- className: cn("-mx-4 -mb-4 mt-3 px-4 pt-3 pb-4 border-t border-border", className),
2053
+ className: cn("moonui-theme", "-mx-4 -mb-4 mt-3 px-4 pt-3 pb-4 border-t border-border", className),
2228
2054
  ...props
2229
2055
  }
2230
2056
  );
@@ -2233,6 +2059,7 @@ var Tabs = t.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE__ */
2233
2059
  TabsPrimitive.Root,
2234
2060
  {
2235
2061
  ref,
2062
+ className: cn("moonui-theme", props.className),
2236
2063
  orientation: vertical ? "vertical" : "horizontal",
2237
2064
  ...props
2238
2065
  }
@@ -2268,7 +2095,7 @@ var TabsList = t.forwardRef(({ className, variant, orientation, fullWidth, ...pr
2268
2095
  TabsPrimitive.List,
2269
2096
  {
2270
2097
  ref,
2271
- className: cn(tabsListVariants({ variant, orientation, fullWidth, className })),
2098
+ className: cn("moonui-theme", tabsListVariants({ variant, orientation, fullWidth, className })),
2272
2099
  ...props
2273
2100
  }
2274
2101
  ));
@@ -2322,6 +2149,7 @@ var TabsTrigger = t.forwardRef(({
2322
2149
  {
2323
2150
  ref,
2324
2151
  className: cn(
2152
+ "moonui-theme",
2325
2153
  tabsTriggerVariants({ variant, size, orientation, fullWidth }),
2326
2154
  fadeTabs && "data-[state=inactive]:opacity-60",
2327
2155
  className
@@ -2341,6 +2169,7 @@ var TabsContent = t.forwardRef(({ className, animated = false, ...props }, ref)
2341
2169
  {
2342
2170
  ref,
2343
2171
  className: cn(
2172
+ "moonui-theme",
2344
2173
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2345
2174
  animated && "data-[state=active]:animate-fadeIn data-[state=inactive]:animate-fadeOut",
2346
2175
  className
@@ -2531,7 +2360,7 @@ var Slider = t.forwardRef(({
2531
2360
  /* @__PURE__ */ jsxs(
2532
2361
  "div",
2533
2362
  {
2534
- className: cn(sliderVariants({ size }), className),
2363
+ className: cn("moonui-theme", sliderVariants({ size }), className),
2535
2364
  "data-disabled": disabled ? true : void 0,
2536
2365
  children: [
2537
2366
  /* @__PURE__ */ jsx(
@@ -3111,7 +2940,7 @@ function SimpleColorPicker({
3111
2940
  default: "h-8 w-8",
3112
2941
  lg: "h-10 w-10"
3113
2942
  };
3114
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap gap-2", className), children: colors.map((color) => /* @__PURE__ */ jsx(
2943
+ return /* @__PURE__ */ jsx("div", { className: cn("moonui-theme", "flex flex-wrap gap-2", className), children: colors.map((color) => /* @__PURE__ */ jsx(
3115
2944
  "button",
3116
2945
  {
3117
2946
  className: cn(
@@ -3136,7 +2965,7 @@ function GradientPicker({
3136
2965
  setGradient(newGradient);
3137
2966
  onChange?.(newGradient);
3138
2967
  };
3139
- return /* @__PURE__ */ jsxs("div", { className: cn("space-y-4", className), children: [
2968
+ return /* @__PURE__ */ jsxs("div", { className: cn("moonui-theme", "space-y-4", className), children: [
3140
2969
  /* @__PURE__ */ jsx(
3141
2970
  "div",
3142
2971
  {
@@ -3656,7 +3485,7 @@ var DialogOverlay = t.forwardRef(({ className, variant, animation, ...props }, r
3656
3485
  DialogPrimitive.Overlay,
3657
3486
  {
3658
3487
  ref,
3659
- className: cn(overlayVariants({ variant, animation }), className),
3488
+ className: cn("moonui-theme", overlayVariants({ variant, animation }), className),
3660
3489
  ...props
3661
3490
  }
3662
3491
  ));
@@ -3852,7 +3681,7 @@ var DialogForm = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
3852
3681
  "form",
3853
3682
  {
3854
3683
  ref,
3855
- className: cn("flex flex-col gap-4", className),
3684
+ className: cn("moonui-theme", "flex flex-col gap-4", className),
3856
3685
  ...props
3857
3686
  }
3858
3687
  ));
@@ -3882,7 +3711,7 @@ var Command = t.forwardRef(({ className, variant, size, ...props }, ref) => /* @
3882
3711
  _e,
3883
3712
  {
3884
3713
  ref,
3885
- className: cn(commandVariants({ variant, size }), className),
3714
+ className: cn("moonui-theme", commandVariants({ variant, size }), className),
3886
3715
  ...props
3887
3716
  }
3888
3717
  ));
@@ -3919,7 +3748,7 @@ var CommandList = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
3919
3748
  _e.List,
3920
3749
  {
3921
3750
  ref,
3922
- className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
3751
+ className: cn("moonui-theme", "max-h-[300px] overflow-y-auto overflow-x-hidden", className),
3923
3752
  ...props
3924
3753
  }
3925
3754
  ));
@@ -3928,7 +3757,7 @@ var CommandEmpty = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
3928
3757
  _e.Empty,
3929
3758
  {
3930
3759
  ref,
3931
- className: cn("py-6 text-center text-sm text-muted-foreground", className),
3760
+ className: cn("moonui-theme", "py-6 text-center text-sm text-muted-foreground", className),
3932
3761
  ...props
3933
3762
  }
3934
3763
  ));
@@ -3949,7 +3778,7 @@ var CommandSeparator = t.forwardRef(({ className, ...props }, ref) => /* @__PURE
3949
3778
  _e.Separator,
3950
3779
  {
3951
3780
  ref,
3952
- className: cn("-mx-1 h-px bg-border", className),
3781
+ className: cn("moonui-theme", "-mx-1 h-px bg-border", className),
3953
3782
  ...props
3954
3783
  }
3955
3784
  ));
@@ -7082,7 +6911,7 @@ var Table = t.forwardRef(({
7082
6911
  ] });
7083
6912
  });
7084
6913
  Table.displayName = "Table";
7085
- var TableHeader = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
6914
+ var TableHeader = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("moonui-theme", "[&_tr]:border-b", className), ...props }));
7086
6915
  TableHeader.displayName = "TableHeader";
7087
6916
  var TableBody = t.forwardRef(({ className, emptyContent, emptyMessage = "No data available", children, ...props }, ref) => {
7088
6917
  const hasChildren = t.Children.count(children) > 0;
@@ -7090,7 +6919,7 @@ var TableBody = t.forwardRef(({ className, emptyContent, emptyMessage = "No data
7090
6919
  "tbody",
7091
6920
  {
7092
6921
  ref,
7093
- className: cn("[&_tr:last-child]:border-0", className),
6922
+ className: cn("moonui-theme", "[&_tr:last-child]:border-0", className),
7094
6923
  ...props,
7095
6924
  children: hasChildren ? children : /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: 100, className: "h-24 text-center", children: emptyContent || /* @__PURE__ */ jsx("div", { className: "py-6 text-muted-foreground", children: /* @__PURE__ */ jsx("div", { className: "text-sm", children: emptyMessage }) }) }) })
7096
6925
  }
@@ -7101,7 +6930,7 @@ var TableFooter = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
7101
6930
  "tfoot",
7102
6931
  {
7103
6932
  ref,
7104
- className: cn("bg-primary text-primary-foreground font-medium", className),
6933
+ className: cn("moonui-theme", "bg-primary text-primary-foreground font-medium", className),
7105
6934
  ...props
7106
6935
  }
7107
6936
  ));
@@ -7203,7 +7032,7 @@ var TableCell = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
7203
7032
  "td",
7204
7033
  {
7205
7034
  ref,
7206
- className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
7035
+ className: cn("moonui-theme", "p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
7207
7036
  ...props
7208
7037
  }
7209
7038
  ));
@@ -7212,7 +7041,7 @@ var TableCaption = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
7212
7041
  "caption",
7213
7042
  {
7214
7043
  ref,
7215
- className: cn("mt-4 text-sm text-muted-foreground", className),
7044
+ className: cn("moonui-theme", "mt-4 text-sm text-muted-foreground", className),
7216
7045
  ...props
7217
7046
  }
7218
7047
  ));
@@ -7330,7 +7159,7 @@ var SelectLabel = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
7330
7159
  SelectPrimitive.Label,
7331
7160
  {
7332
7161
  ref,
7333
- className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
7162
+ className: cn("moonui-theme", "py-1.5 pl-8 pr-2 text-sm font-semibold", className),
7334
7163
  ...props
7335
7164
  }
7336
7165
  ));
@@ -7366,7 +7195,7 @@ var SelectSeparator = t.forwardRef(({ className, ...props }, ref) => /* @__PURE_
7366
7195
  SelectPrimitive.Separator,
7367
7196
  {
7368
7197
  ref,
7369
- className: cn("-mx-1 my-1 h-px bg-muted dark:bg-gray-700", className),
7198
+ className: cn("moonui-theme", "-mx-1 my-1 h-px bg-muted dark:bg-gray-700", className),
7370
7199
  ...props
7371
7200
  }
7372
7201
  ));
@@ -7482,7 +7311,7 @@ var DropdownMenuSeparator = t.forwardRef(({ className, ...props }, ref) => /* @_
7482
7311
  DropdownMenuPrimitive.Separator,
7483
7312
  {
7484
7313
  ref,
7485
- className: cn("-mx-1 my-1 h-px bg-muted", className),
7314
+ className: cn("moonui-theme", "-mx-1 my-1 h-px bg-muted", className),
7486
7315
  ...props
7487
7316
  }
7488
7317
  ));
@@ -7494,7 +7323,7 @@ var DropdownMenuShortcut = ({
7494
7323
  return /* @__PURE__ */ jsx(
7495
7324
  "span",
7496
7325
  {
7497
- className: cn("ml-auto text-xs tracking-widest opacity-60", className),
7326
+ className: cn("moonui-theme", "ml-auto text-xs tracking-widest opacity-60", className),
7498
7327
  ...props
7499
7328
  }
7500
7329
  );
@@ -7550,6 +7379,15 @@ var Skeleton = t.forwardRef(
7550
7379
  style,
7551
7380
  ...props
7552
7381
  }, ref) => {
7382
+ const {
7383
+ onDrag,
7384
+ onDragEnd,
7385
+ onDragStart,
7386
+ onAnimationStart,
7387
+ onAnimationEnd,
7388
+ onAnimationIteration,
7389
+ ...filteredProps
7390
+ } = props;
7553
7391
  if (isLoaded && children) {
7554
7392
  if (useMotion) {
7555
7393
  return /* @__PURE__ */ jsx(
@@ -7559,13 +7397,13 @@ var Skeleton = t.forwardRef(
7559
7397
  initial: { opacity: 0 },
7560
7398
  animate: { opacity: 1 },
7561
7399
  transition: { duration: fadeInDuration / 1e3 },
7562
- className,
7400
+ className: cn("moonui-theme", className),
7563
7401
  style: {
7564
7402
  height,
7565
7403
  width,
7566
7404
  ...style
7567
7405
  },
7568
- ...props,
7406
+ ...filteredProps,
7569
7407
  children
7570
7408
  }
7571
7409
  );
@@ -7574,7 +7412,7 @@ var Skeleton = t.forwardRef(
7574
7412
  "div",
7575
7413
  {
7576
7414
  ref,
7577
- className: cn("animate-fade-in", className),
7415
+ className: cn("moonui-theme", "animate-fade-in", className),
7578
7416
  style: {
7579
7417
  animationDuration: `${fadeInDuration}ms`,
7580
7418
  height,
@@ -7592,6 +7430,7 @@ var Skeleton = t.forwardRef(
7592
7430
  {
7593
7431
  ref,
7594
7432
  className: cn(
7433
+ "moonui-theme",
7595
7434
  skeletonVariants({ variant, size, shape, animation }),
7596
7435
  "relative isolate",
7597
7436
  className
@@ -7602,7 +7441,7 @@ var Skeleton = t.forwardRef(
7602
7441
  ...style
7603
7442
  },
7604
7443
  ...useMotion ? skeletonAnimation : {},
7605
- ...props
7444
+ ...filteredProps
7606
7445
  }
7607
7446
  );
7608
7447
  }
@@ -7624,7 +7463,7 @@ var SkeletonText = t.forwardRef(
7624
7463
  "div",
7625
7464
  {
7626
7465
  ref,
7627
- className: cn("flex flex-col", className),
7466
+ className: cn("moonui-theme", "flex flex-col", className),
7628
7467
  style: { gap: spacing },
7629
7468
  ...props,
7630
7469
  children: Array.from({ length: lines }).map((_, i) => {
@@ -7664,7 +7503,7 @@ var SkeletonAvatar = t.forwardRef(
7664
7503
  variant,
7665
7504
  animation,
7666
7505
  shape: "circle",
7667
- className: cn("shrink-0", className),
7506
+ className: cn("moonui-theme", "shrink-0", className),
7668
7507
  style: {
7669
7508
  height: size,
7670
7509
  width: size
@@ -7856,7 +7695,7 @@ function DataTable({
7856
7695
  return /* @__PURE__ */ jsx(DataTableLoading, {});
7857
7696
  }
7858
7697
  const selectedRows = table.getFilteredSelectedRowModel().rows;
7859
- return /* @__PURE__ */ jsxs("div", { className: cn("space-y-4", className), children: [
7698
+ return /* @__PURE__ */ jsxs("div", { className: cn("moonui-theme", "space-y-4", className), children: [
7860
7699
  (title || description) && /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
7861
7700
  title && /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: title }),
7862
7701
  description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: description })
@@ -8104,6 +7943,202 @@ function createFilterableColumn(accessorKey, header, filterFn) {
8104
7943
  filterFn
8105
7944
  };
8106
7945
  }
7946
+ function Calendar({
7947
+ mode = "single",
7948
+ selected,
7949
+ onSelect,
7950
+ disabled,
7951
+ showOutsideDays = false,
7952
+ className,
7953
+ classNames,
7954
+ numberOfMonths = 1,
7955
+ defaultMonth,
7956
+ ...props
7957
+ }) {
7958
+ const [currentMonth, setCurrentMonth] = t.useState(
7959
+ defaultMonth || selected && selected || /* @__PURE__ */ new Date()
7960
+ );
7961
+ const weekDays = [
7962
+ { short: "S", full: "Sunday" },
7963
+ { short: "M", full: "Monday" },
7964
+ { short: "T", full: "Tuesday" },
7965
+ { short: "W", full: "Wednesday" },
7966
+ { short: "T", full: "Thursday" },
7967
+ { short: "F", full: "Friday" },
7968
+ { short: "S", full: "Saturday" }
7969
+ ];
7970
+ const handlePreviousMonth = () => {
7971
+ setCurrentMonth(subMonths(currentMonth, 1));
7972
+ };
7973
+ const handleNextMonth = () => {
7974
+ setCurrentMonth(addMonths(currentMonth, 1));
7975
+ };
7976
+ const handleDateClick = (date) => {
7977
+ if (disabled?.(date))
7978
+ return;
7979
+ if (mode === "single") {
7980
+ onSelect?.(date);
7981
+ } else if (mode === "range") {
7982
+ const currentSelection = selected;
7983
+ if (!currentSelection?.from || currentSelection.from && currentSelection.to) {
7984
+ onSelect?.({ from: date, to: void 0 });
7985
+ } else {
7986
+ if (date < currentSelection.from) {
7987
+ onSelect?.({ from: date, to: currentSelection.from });
7988
+ } else {
7989
+ onSelect?.({ from: currentSelection.from, to: date });
7990
+ }
7991
+ }
7992
+ }
7993
+ };
7994
+ const isDateSelected = (date) => {
7995
+ if (!selected)
7996
+ return false;
7997
+ if (mode === "single") {
7998
+ return isSameDay(date, selected);
7999
+ } else if (mode === "range") {
8000
+ const range = selected;
8001
+ if (range.from && range.to) {
8002
+ return date >= range.from && date <= range.to;
8003
+ }
8004
+ return range.from ? isSameDay(date, range.from) : false;
8005
+ }
8006
+ return false;
8007
+ };
8008
+ const isRangeStart = (date) => {
8009
+ if (mode !== "range" || !selected)
8010
+ return false;
8011
+ const range = selected;
8012
+ return range.from ? isSameDay(date, range.from) : false;
8013
+ };
8014
+ const isRangeEnd = (date) => {
8015
+ if (mode !== "range" || !selected)
8016
+ return false;
8017
+ const range = selected;
8018
+ return range.to ? isSameDay(date, range.to) : false;
8019
+ };
8020
+ const isRangeMiddle = (date) => {
8021
+ if (mode !== "range" || !selected)
8022
+ return false;
8023
+ const range = selected;
8024
+ if (!range.from || !range.to)
8025
+ return false;
8026
+ return date > range.from && date < range.to;
8027
+ };
8028
+ const getDaysInMonth = () => {
8029
+ const start = startOfMonth(currentMonth);
8030
+ const end = endOfMonth(currentMonth);
8031
+ const days2 = eachDayOfInterval({ start, end });
8032
+ const firstDayOfWeek = getDay(start);
8033
+ const previousMonthDays = [];
8034
+ if (firstDayOfWeek > 0 && showOutsideDays) {
8035
+ const previousMonthStart = startOfWeek(start);
8036
+ const previousMonthEnd = new Date(start);
8037
+ previousMonthEnd.setDate(previousMonthEnd.getDate() - 1);
8038
+ previousMonthDays.push(...eachDayOfInterval({
8039
+ start: previousMonthStart,
8040
+ end: previousMonthEnd
8041
+ }));
8042
+ }
8043
+ const lastDayOfWeek = getDay(end);
8044
+ const nextMonthDays = [];
8045
+ if (lastDayOfWeek < 6 && showOutsideDays) {
8046
+ const nextMonthStart = new Date(end);
8047
+ nextMonthStart.setDate(nextMonthStart.getDate() + 1);
8048
+ const nextMonthEnd = endOfWeek(end);
8049
+ nextMonthDays.push(...eachDayOfInterval({
8050
+ start: nextMonthStart,
8051
+ end: nextMonthEnd
8052
+ }));
8053
+ }
8054
+ const emptyCells = [];
8055
+ if (!showOutsideDays && firstDayOfWeek > 0) {
8056
+ for (let i = 0; i < firstDayOfWeek; i++) {
8057
+ emptyCells.push(null);
8058
+ }
8059
+ }
8060
+ return [...previousMonthDays, ...emptyCells, ...days2, ...nextMonthDays];
8061
+ };
8062
+ const days = getDaysInMonth();
8063
+ return /* @__PURE__ */ jsxs("div", { className: cn("moonui-theme", "p-0", className), children: [
8064
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [
8065
+ /* @__PURE__ */ jsx(
8066
+ "button",
8067
+ {
8068
+ onClick: handlePreviousMonth,
8069
+ className: cn(
8070
+ "h-10 w-10 bg-transparent p-0 rounded-lg",
8071
+ "hover:bg-muted transition-colors",
8072
+ "inline-flex items-center justify-center"
8073
+ ),
8074
+ type: "button",
8075
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-5 w-5" })
8076
+ }
8077
+ ),
8078
+ /* @__PURE__ */ jsx("h2", { className: "text-base font-medium", children: format(currentMonth, "MMMM yyyy") }),
8079
+ /* @__PURE__ */ jsx(
8080
+ "button",
8081
+ {
8082
+ onClick: handleNextMonth,
8083
+ className: cn(
8084
+ "h-10 w-10 bg-transparent p-0 rounded-lg",
8085
+ "hover:bg-muted transition-colors",
8086
+ "inline-flex items-center justify-center"
8087
+ ),
8088
+ type: "button",
8089
+ children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-5 w-5" })
8090
+ }
8091
+ )
8092
+ ] }),
8093
+ /* @__PURE__ */ jsxs("div", { className: "px-6 pb-4", children: [
8094
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7 mb-2", children: weekDays.map((day, index) => /* @__PURE__ */ jsx(
8095
+ "div",
8096
+ {
8097
+ className: "text-muted-foreground text-xs font-medium h-10 flex items-center justify-center",
8098
+ title: day.full,
8099
+ children: day.short
8100
+ },
8101
+ `weekday-${index}`
8102
+ )) }),
8103
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7 gap-1", children: days.map((date, index) => {
8104
+ if (!date) {
8105
+ return /* @__PURE__ */ jsx("div", { className: "h-10 w-10" }, `empty-${index}`);
8106
+ }
8107
+ const isOutsideMonth = !isSameMonth(date, currentMonth);
8108
+ const isDisabled = disabled?.(date) || false;
8109
+ const isSelected = isDateSelected(date);
8110
+ const isTodayDate = isToday(date);
8111
+ const rangeStart = isRangeStart(date);
8112
+ const rangeEnd = isRangeEnd(date);
8113
+ const rangeMiddle = isRangeMiddle(date);
8114
+ return /* @__PURE__ */ jsx(
8115
+ "button",
8116
+ {
8117
+ onClick: () => handleDateClick(date),
8118
+ disabled: isDisabled,
8119
+ className: cn(
8120
+ "h-10 w-10 p-0 font-normal",
8121
+ "inline-flex items-center justify-center rounded-lg",
8122
+ "hover:bg-muted transition-colors text-sm",
8123
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
8124
+ isOutsideMonth && "text-muted-foreground/50",
8125
+ isDisabled && "text-muted-foreground/30 cursor-not-allowed hover:bg-transparent",
8126
+ isSelected && !rangeMiddle && "bg-primary text-primary-foreground font-medium hover:bg-primary hover:text-primary-foreground",
8127
+ isTodayDate && "font-semibold relative after:absolute after:bottom-1 after:left-1/2 after:-translate-x-1/2 after:h-1 after:w-1 after:rounded-full after:bg-primary",
8128
+ rangeMiddle && "bg-accent/30 text-accent-foreground rounded-none",
8129
+ rangeStart && "rounded-r-none",
8130
+ rangeEnd && "rounded-l-none"
8131
+ ),
8132
+ type: "button",
8133
+ children: format(date, "d")
8134
+ },
8135
+ date.toISOString()
8136
+ );
8137
+ }) })
8138
+ ] })
8139
+ ] });
8140
+ }
8141
+ Calendar.displayName = "Calendar";
8107
8142
  var datePickerVariants = cva(
8108
8143
  "w-full justify-start text-left font-normal",
8109
8144
  {
@@ -8111,8 +8146,7 @@ var datePickerVariants = cva(
8111
8146
  variant: {
8112
8147
  default: "",
8113
8148
  outline: "border-2",
8114
- ghost: "hover:bg-accent hover:text-accent-foreground",
8115
- minimal: "h-auto p-0 border-0 shadow-none"
8149
+ ghost: "hover:bg-accent hover:text-accent-foreground"
8116
8150
  },
8117
8151
  size: {
8118
8152
  default: "h-10 px-4 py-2",
@@ -8190,11 +8224,11 @@ function DatePicker({
8190
8224
  };
8191
8225
  const displayValue = internalDate && isValid(internalDate) ? format(internalDate, formatString) : null;
8192
8226
  const iconElement = icon || /* @__PURE__ */ jsx(Calendar$1, { className: "h-4 w-4" });
8193
- return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
8227
+ return /* @__PURE__ */ jsx("div", { className: "moonui-theme", children: /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
8194
8228
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
8195
8229
  Button,
8196
8230
  {
8197
- variant: variant === "minimal" ? "ghost" : variant || "outline",
8231
+ variant: variant === "ghost" ? "ghost" : "outline",
8198
8232
  className: cn(
8199
8233
  datePickerVariants({ variant, size, state }),
8200
8234
  !displayValue && "text-muted-foreground",
@@ -8273,7 +8307,7 @@ function DatePicker({
8273
8307
  children: /* @__PURE__ */ jsxs(
8274
8308
  motion.div,
8275
8309
  {
8276
- ...microInteractionVariants.fadeIn,
8310
+ ...pageTransitions.fadeIn,
8277
8311
  className: "rounded-2xl bg-background overflow-hidden",
8278
8312
  children: [
8279
8313
  /* @__PURE__ */ jsx(
@@ -8303,7 +8337,7 @@ function DatePicker({
8303
8337
  )
8304
8338
  }
8305
8339
  )
8306
- ] });
8340
+ ] }) });
8307
8341
  }
8308
8342
  function DateRangePicker({
8309
8343
  className,
@@ -8341,7 +8375,7 @@ function DateRangePicker({
8341
8375
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
8342
8376
  Button,
8343
8377
  {
8344
- variant: props.variant === "minimal" ? "ghost" : props.variant || "outline",
8378
+ variant: props.variant === "ghost" ? "ghost" : "outline",
8345
8379
  className: cn(
8346
8380
  datePickerVariants({
8347
8381
  variant: props.variant,
@@ -8499,7 +8533,7 @@ function MonthPicker({
8499
8533
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
8500
8534
  Button,
8501
8535
  {
8502
- variant: props.variant || "outline",
8536
+ variant: props.variant === "default" ? "outline" : props.variant || "outline",
8503
8537
  className: cn(
8504
8538
  datePickerVariants({
8505
8539
  variant: props.variant,
@@ -8541,7 +8575,7 @@ function MonthPicker({
8541
8575
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: months.map((month, index) => /* @__PURE__ */ jsx(
8542
8576
  Button,
8543
8577
  {
8544
- variant: value && value.getMonth() === index ? "default" : "outline",
8578
+ variant: value && value.getMonth() === index ? "primary" : "outline",
8545
8579
  size: "sm",
8546
8580
  onClick: () => handleMonthSelect(index),
8547
8581
  className: "h-8 text-xs",
@@ -8587,7 +8621,7 @@ function DraggableList({
8587
8621
  const handleDragEnd = () => {
8588
8622
  setDraggedIndex(null);
8589
8623
  };
8590
- return /* @__PURE__ */ jsx("div", { className: cn("space-y-2", className), children: items.map((item, index) => /* @__PURE__ */ jsx(
8624
+ return /* @__PURE__ */ jsx("div", { className: cn("moonui-theme", "space-y-2", className), children: items.map((item, index) => /* @__PURE__ */ jsx(
8591
8625
  "div",
8592
8626
  {
8593
8627
  draggable: !disabled,
@@ -8706,7 +8740,7 @@ var Progress = t.forwardRef(({
8706
8740
  "div",
8707
8741
  {
8708
8742
  ref,
8709
- className: cn(progressVariants({ variant, size, radius, animation }), className),
8743
+ className: cn("moonui-theme", progressVariants({ variant, size, radius, animation }), className),
8710
8744
  role: "progressbar",
8711
8745
  "aria-valuemin": 0,
8712
8746
  "aria-valuemax": max2,
@@ -8787,7 +8821,7 @@ var FileItem = ({
8787
8821
  /* @__PURE__ */ jsx(Loader2, { className: "h-3 w-3 mr-1 animate-spin" }),
8788
8822
  "Uploading"
8789
8823
  ] }),
8790
- status === "success" && /* @__PURE__ */ jsxs(Badge, { variant: "default", className: "h-5 bg-green-500", children: [
8824
+ status === "success" && /* @__PURE__ */ jsxs(Badge, { variant: "success", className: "h-5", children: [
8791
8825
  /* @__PURE__ */ jsx(CheckCircle, { className: "h-3 w-3 mr-1" }),
8792
8826
  "Done"
8793
8827
  ] }),
@@ -8936,7 +8970,7 @@ var FileUpload = t__default.forwardRef(
8936
8970
  onRemove(fileId);
8937
8971
  }
8938
8972
  }, [onRemove]);
8939
- return /* @__PURE__ */ jsxs("div", { ref, className: cn("space-y-4", className), ...props, children: [
8973
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("moonui-theme", "space-y-4", className), ...props, children: [
8940
8974
  /* @__PURE__ */ jsxs(
8941
8975
  motion.div,
8942
8976
  {
@@ -9275,7 +9309,7 @@ function GitHubStarButton({
9275
9309
  {
9276
9310
  variant: "outline",
9277
9311
  size,
9278
- className: cn("group", className),
9312
+ className: cn("moonui-theme", "group", className),
9279
9313
  asChild: true,
9280
9314
  children: /* @__PURE__ */ jsxs(
9281
9315
  "a",
@@ -9303,7 +9337,7 @@ function MoonLogo({
9303
9337
  }) {
9304
9338
  const logoId = t.useId();
9305
9339
  const gradientId = `moon-gradient-${logoId}`;
9306
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", className), children: [
9340
+ return /* @__PURE__ */ jsxs("div", { className: cn("moonui-theme", "flex items-center gap-2", className), children: [
9307
9341
  /* @__PURE__ */ jsxs(
9308
9342
  "svg",
9309
9343
  {
@@ -9380,7 +9414,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
9380
9414
  {
9381
9415
  role: "navigation",
9382
9416
  "aria-label": "pagination",
9383
- className: cn("mx-auto flex w-full justify-center", className),
9417
+ className: cn("moonui-theme", "mx-auto flex w-full justify-center", className),
9384
9418
  ...props
9385
9419
  }
9386
9420
  );
@@ -9389,12 +9423,12 @@ var PaginationContent = t.forwardRef(({ className, ...props }, ref) => /* @__PUR
9389
9423
  "ul",
9390
9424
  {
9391
9425
  ref,
9392
- className: cn("flex flex-row items-center gap-1", className),
9426
+ className: cn("moonui-theme", "flex flex-row items-center gap-1", className),
9393
9427
  ...props
9394
9428
  }
9395
9429
  ));
9396
9430
  PaginationContent.displayName = "PaginationContent";
9397
- var PaginationItem = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
9431
+ var PaginationItem = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("moonui-theme", "", className), ...props }));
9398
9432
  PaginationItem.displayName = "PaginationItem";
9399
9433
  var PaginationLink = ({
9400
9434
  className,
@@ -9423,8 +9457,8 @@ var PaginationPrevious = ({
9423
9457
  PaginationLink,
9424
9458
  {
9425
9459
  "aria-label": "Go to previous page",
9426
- size: "default",
9427
- className: cn("gap-1 pl-2.5", className),
9460
+ size: "md",
9461
+ className: cn("moonui-theme", "gap-1 pl-2.5", className),
9428
9462
  ...props,
9429
9463
  children: [
9430
9464
  /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
@@ -9440,8 +9474,8 @@ var PaginationNext = ({
9440
9474
  PaginationLink,
9441
9475
  {
9442
9476
  "aria-label": "Go to next page",
9443
- size: "default",
9444
- className: cn("gap-1 pr-2.5", className),
9477
+ size: "md",
9478
+ className: cn("moonui-theme", "gap-1 pr-2.5", className),
9445
9479
  ...props,
9446
9480
  children: [
9447
9481
  /* @__PURE__ */ jsx("span", { children: "Next" }),
@@ -9457,7 +9491,7 @@ var PaginationEllipsis = ({
9457
9491
  "span",
9458
9492
  {
9459
9493
  "aria-hidden": true,
9460
- className: cn("flex h-9 w-9 items-center justify-center", className),
9494
+ className: cn("moonui-theme", "flex h-9 w-9 items-center justify-center", className),
9461
9495
  ...props,
9462
9496
  children: [
9463
9497
  /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
@@ -9496,7 +9530,7 @@ var RadioGroup2 = t.forwardRef(
9496
9530
  {
9497
9531
  ref,
9498
9532
  role: "radiogroup",
9499
- className: cn("grid gap-2", className),
9533
+ className: cn("moonui-theme", "grid gap-2", className),
9500
9534
  ...props
9501
9535
  }
9502
9536
  ) });
@@ -9901,7 +9935,7 @@ var Toggle2 = t.forwardRef(({ className, variant, size, ...props }, ref) => /* @
9901
9935
  Root13,
9902
9936
  {
9903
9937
  ref,
9904
- className: cn(toggleVariants({ variant, size, className })),
9938
+ className: cn("moonui-theme", toggleVariants({ variant, size, className })),
9905
9939
  ...props
9906
9940
  }
9907
9941
  ));
@@ -9937,7 +9971,7 @@ var TooltipArrow = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
9937
9971
  TooltipPrimitive.Arrow,
9938
9972
  {
9939
9973
  ref,
9940
- className: cn("fill-current", className),
9974
+ className: cn("moonui-theme", "fill-current", className),
9941
9975
  ...props
9942
9976
  }
9943
9977
  ));
@@ -9947,7 +9981,7 @@ var TooltipContent = t.forwardRef(({ className, variant, size, showArrow = false
9947
9981
  {
9948
9982
  ref,
9949
9983
  sideOffset,
9950
- className: cn(tooltipVariants({ variant, size }), className),
9984
+ className: cn("moonui-theme", tooltipVariants({ variant, size }), className),
9951
9985
  ...props,
9952
9986
  children: [
9953
9987
  props.children,
@@ -9965,7 +9999,6 @@ var SimpleTooltip = t.forwardRef(
9965
9999
  side = "top",
9966
10000
  align = "center",
9967
10001
  delayDuration = 400,
9968
- skipDelayDuration = 300,
9969
10002
  sideOffset = 4,
9970
10003
  showArrow = false,
9971
10004
  className,
@@ -9981,7 +10014,6 @@ var SimpleTooltip = t.forwardRef(
9981
10014
  defaultOpen,
9982
10015
  onOpenChange,
9983
10016
  delayDuration,
9984
- skipDelayDuration,
9985
10017
  children: [
9986
10018
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children }),
9987
10019
  /* @__PURE__ */ jsx(
@@ -10619,7 +10651,7 @@ var SwipeableCard = t.forwardRef(
10619
10651
  }
10620
10652
  );
10621
10653
  SwipeableCard.displayName = "SwipeableCard";
10622
- var Switch = t.forwardRef(({ className, size = "md", variant = "primary", loading, leftIcon, rightIcon, description, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-2", children: [
10654
+ var Switch = t.forwardRef(({ className, size = "md", variant = "primary", loading, leftIcon, rightIcon, description, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "moonui-theme inline-flex items-center gap-2", children: [
10623
10655
  leftIcon && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: leftIcon }),
10624
10656
  /* @__PURE__ */ jsxs(
10625
10657
  SwitchPrimitives.Root,
@@ -10684,6 +10716,7 @@ var Textarea = t.forwardRef(
10684
10716
  "textarea",
10685
10717
  {
10686
10718
  className: cn(
10719
+ "moonui-theme",
10687
10720
  "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",
10688
10721
  className
10689
10722
  ),
@@ -10729,7 +10762,7 @@ var Toast = t.forwardRef(({ className, variant, ...props }, ref) => {
10729
10762
  ToastPrimitives.Root,
10730
10763
  {
10731
10764
  ref,
10732
- className: cn(toastVariants({ variant }), className),
10765
+ className: cn("moonui-theme", toastVariants({ variant }), className),
10733
10766
  ...props
10734
10767
  }
10735
10768
  );
@@ -10765,7 +10798,7 @@ var ToastTitle = t.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
10765
10798
  ToastPrimitives.Title,
10766
10799
  {
10767
10800
  ref,
10768
- className: cn("text-sm font-semibold [&+div]:text-xs", className),
10801
+ className: cn("moonui-theme", "text-sm font-semibold [&+div]:text-xs", className),
10769
10802
  ...props
10770
10803
  }
10771
10804
  ));
@@ -10774,7 +10807,7 @@ var ToastDescription = t.forwardRef(({ className, ...props }, ref) => /* @__PURE
10774
10807
  ToastPrimitives.Description,
10775
10808
  {
10776
10809
  ref,
10777
- className: cn("text-sm opacity-90", className),
10810
+ className: cn("moonui-theme", "text-sm opacity-90", className),
10778
10811
  ...props
10779
10812
  }
10780
10813
  ));
@@ -10935,6 +10968,6 @@ function Toaster() {
10935
10968
  *)
10936
10969
  */
10937
10970
 
10938
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroup, CheckboxLabel, CheckboxWithLabel, Collapsible2 as Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DataTable, DatePicker, DateRangePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogForm, DialogHeader, DialogTitle, DialogTrigger, DraggableList, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FileUpload, GestureDrawer, GitHubStarButton, GitHubStars, GradientPicker, Input, Label, MonthPicker, MoonLogo, MoonLogoAnimated, MoonLogoIcon, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverFooter, PopoverHeader, PopoverSeparator, PopoverTrigger, Progress, RadioGroup2 as RadioGroup, RadioGroupItem, RadioItemWithLabel, RadioLabel, RichTextEditor, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, SimpleColorPicker, SimpleEditor, SimpleTooltip, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonText, Slider, SwipeableCard, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle2 as Toggle, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, aspectRatioVariants, badgeVariants, buttonVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, createFilterableColumn, createSortableHeader, popoverContentVariants, progressVariants, separatorVariants, skeletonVariants, toast, toggleVariants, tooltipVariants, useToast };
10971
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroup, CheckboxLabel, CheckboxWithLabel, Collapsible2 as Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DataTable, DatePicker, DateRangePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogForm, DialogHeader, DialogTitle, DialogTrigger, DraggableList, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FileUpload, GestureDrawer, GitHubStarButton, GitHubStars, GradientPicker, Input, Label, MonthPicker, MoonLogo, MoonLogoAnimated, MoonLogoIcon, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverFooter, PopoverHeader, PopoverSeparator, PopoverTrigger, Progress, RadioGroup2 as RadioGroup, RadioGroupItem, RadioItemWithLabel, RadioLabel, RichTextEditor, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, SimpleColorPicker, SimpleEditor, SimpleTooltip, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonText, Slider, SwipeableCard, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle2 as Toggle, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, aspectRatioVariants, badgeVariants, buttonVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, createFilterableColumn, createSortableHeader, popoverContentVariants, progressVariants, separatorVariants, skeletonVariants, toast, toggleVariants, tooltipVariants, useToast };
10939
10972
  //# sourceMappingURL=out.js.map
10940
10973
  //# sourceMappingURL=index.mjs.map