@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.js CHANGED
@@ -8,7 +8,6 @@ var lucideReact = require('lucide-react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
  var classVarianceAuthority = require('class-variance-authority');
10
10
  var AvatarPrimitive = require('@radix-ui/react-avatar');
11
- var dateFns = require('date-fns');
12
11
  var framerMotion = require('framer-motion');
13
12
  var CheckboxPrimitive = require('@radix-ui/react-checkbox');
14
13
  require('react-dom');
@@ -19,6 +18,7 @@ var TabsPrimitive = require('@radix-ui/react-tabs');
19
18
  var DialogPrimitive = require('@radix-ui/react-dialog');
20
19
  var SelectPrimitive = require('@radix-ui/react-select');
21
20
  var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
21
+ var dateFns = require('date-fns');
22
22
  var SeparatorPrimitive = require('@radix-ui/react-separator');
23
23
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
24
24
  var SwitchPrimitives = require('@radix-ui/react-switch');
@@ -67,7 +67,7 @@ var AccordionItem = t__namespace.forwardRef(({ className, ...props }, ref) => /*
67
67
  AccordionPrimitive__namespace.Item,
68
68
  {
69
69
  ref,
70
- className: cn("border-b border-gray-200 dark:border-gray-800", className),
70
+ className: cn("moonui-theme", "border-b border-gray-200 dark:border-gray-800", className),
71
71
  ...props
72
72
  }
73
73
  ));
@@ -161,7 +161,7 @@ var Alert = t__namespace.forwardRef(
161
161
  {
162
162
  ref,
163
163
  role: "alert",
164
- className: cn(alertVariants({ variant, size, radius, withClose: closable }), className),
164
+ className: cn("moonui-theme", alertVariants({ variant, size, radius, withClose: closable }), className),
165
165
  ...props,
166
166
  children: [
167
167
  !hideIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: "h-5 w-5" }),
@@ -185,7 +185,7 @@ var AlertTitle = t__namespace.forwardRef(({ className, ...props }, ref) => /* @_
185
185
  "h5",
186
186
  {
187
187
  ref,
188
- className: cn("font-semibold leading-tight tracking-tight mb-1", className),
188
+ className: cn("moonui-theme", "font-semibold leading-tight tracking-tight mb-1", className),
189
189
  ...props
190
190
  }
191
191
  ));
@@ -194,7 +194,7 @@ var AlertDescription = t__namespace.forwardRef(({ className, ...props }, ref) =>
194
194
  "div",
195
195
  {
196
196
  ref,
197
- className: cn("text-sm leading-5 text-muted-foreground", className),
197
+ className: cn("moonui-theme", "text-sm leading-5 text-muted-foreground", className),
198
198
  ...props
199
199
  }
200
200
  ));
@@ -226,7 +226,7 @@ var AspectRatio = t__namespace.forwardRef(({ className, variant, radius, ratio =
226
226
  "div",
227
227
  {
228
228
  ref,
229
- className: cn(aspectRatioVariants({ variant, radius }), className),
229
+ className: cn("moonui-theme", aspectRatioVariants({ variant, radius }), className),
230
230
  style: {
231
231
  position: "relative",
232
232
  paddingBottom: `${1 / ratio * 100}%`,
@@ -259,9 +259,9 @@ var avatarVariants = classVarianceAuthority.cva(
259
259
  },
260
260
  variant: {
261
261
  default: "",
262
- ring: "ring-2 ring-gray-300 dark:ring-gray-600",
263
- ringOffset: "ring-2 ring-gray-300 dark:ring-gray-600 ring-offset-2 ring-offset-background dark:ring-offset-gray-950",
264
- border: "border-2 border-gray-200 dark:border-gray-800"
262
+ ring: "ring-2 ring-border",
263
+ ringOffset: "ring-2 ring-border ring-offset-2 ring-offset-background",
264
+ border: "border-2 border-border"
265
265
  }
266
266
  },
267
267
  defaultVariants: {
@@ -275,7 +275,7 @@ var Avatar = t__namespace.forwardRef(({ className, size, radius, variant, ...pro
275
275
  AvatarPrimitive__namespace.Root,
276
276
  {
277
277
  ref,
278
- className: cn(avatarVariants({ size, radius, variant }), className),
278
+ className: cn("moonui-theme", avatarVariants({ size, radius, variant }), className),
279
279
  ...props
280
280
  }
281
281
  ));
@@ -284,7 +284,7 @@ var AvatarImage = t__namespace.forwardRef(({ className, ...props }, ref) => /* @
284
284
  AvatarPrimitive__namespace.Image,
285
285
  {
286
286
  ref,
287
- className: cn("aspect-square h-full w-full", className),
287
+ className: cn("moonui-theme", "aspect-square h-full w-full", className),
288
288
  ...props
289
289
  }
290
290
  ));
@@ -309,7 +309,7 @@ var AvatarGroup = t__namespace.forwardRef(
309
309
  "div",
310
310
  {
311
311
  ref,
312
- className: cn("flex items-center", className),
312
+ className: cn("moonui-theme", "flex items-center", className),
313
313
  ...props,
314
314
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex", children: [
315
315
  visibleAvatars.map((avatar, index) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -458,7 +458,7 @@ function Badge({
458
458
  return /* @__PURE__ */ jsxRuntime.jsxs(
459
459
  "div",
460
460
  {
461
- className: cn(badgeVariants({ variant, size, radius }), className),
461
+ className: cn("moonui-theme", badgeVariants({ variant, size, radius }), className),
462
462
  "data-removable": removable ? "" : void 0,
463
463
  ...props,
464
464
  children: [
@@ -509,9 +509,9 @@ var breadcrumbVariants = classVarianceAuthority.cva(
509
509
  {
510
510
  variants: {
511
511
  variant: {
512
- default: "dark:text-gray-100 transition-colors",
513
- muted: "text-muted-foreground dark:text-gray-400 transition-colors",
514
- ghost: "text-foreground/60 dark:text-gray-300/60 transition-colors"
512
+ default: "text-foreground transition-colors",
513
+ muted: "text-muted-foreground transition-colors",
514
+ ghost: "text-foreground/60 transition-colors"
515
515
  },
516
516
  size: {
517
517
  default: "text-sm",
@@ -530,7 +530,7 @@ var Breadcrumb = t__namespace.forwardRef(
530
530
  "nav",
531
531
  {
532
532
  ref,
533
- className: cn(breadcrumbVariants({ variant, size }), className),
533
+ className: cn("moonui-theme", breadcrumbVariants({ variant, size }), className),
534
534
  "aria-label": "breadcrumb",
535
535
  ...props
536
536
  }
@@ -583,7 +583,7 @@ var BreadcrumbItem = t__namespace.forwardRef(
583
583
  "li",
584
584
  {
585
585
  ref,
586
- className: cn("inline-flex items-center gap-1.5", className),
586
+ className: cn("moonui-theme", "inline-flex items-center gap-1.5", className),
587
587
  "aria-current": isCurrent ? "page" : void 0,
588
588
  ...props,
589
589
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -591,7 +591,7 @@ var BreadcrumbItem = t__namespace.forwardRef(
591
591
  {
592
592
  className: cn(
593
593
  "transition-colors duration-200 hover:text-foreground",
594
- 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"
594
+ isCurrent ? "font-medium text-foreground" : "text-muted-foreground hover:text-foreground hover:underline hover:underline-offset-4 hover:decoration-muted-foreground/30"
595
595
  ),
596
596
  ...itemProps,
597
597
  children: props.children
@@ -611,7 +611,7 @@ var BreadcrumbSeparator = ({
611
611
  {
612
612
  role: "presentation",
613
613
  "aria-hidden": "true",
614
- className: cn("text-muted-foreground dark:text-gray-500 opacity-70", className),
614
+ className: cn("moonui-theme", "text-muted-foreground opacity-70", className),
615
615
  ...props,
616
616
  children: children || /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-3.5 w-3.5" })
617
617
  }
@@ -625,7 +625,7 @@ var BreadcrumbEllipsis = ({
625
625
  {
626
626
  role: "presentation",
627
627
  "aria-hidden": "true",
628
- className: cn("flex items-center text-muted-foreground dark:text-gray-500 dark:hover:text-gray-400 transition-colors duration-200", className),
628
+ className: cn("moonui-theme", "flex items-center text-muted-foreground hover:text-foreground/80 transition-colors duration-200", className),
629
629
  ...props,
630
630
  children: [
631
631
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "h-4 w-4" }),
@@ -641,7 +641,7 @@ var BreadcrumbLink = t__namespace.forwardRef(
641
641
  ref,
642
642
  href,
643
643
  className: cn(
644
- "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",
644
+ "transition-colors duration-200 hover:text-foreground text-muted-foreground hover:underline hover:underline-offset-4 hover:decoration-muted-foreground/30",
645
645
  className
646
646
  ),
647
647
  ...props
@@ -668,75 +668,71 @@ var buttonVariants = classVarianceAuthority.cva(
668
668
  "inline-flex items-center justify-center gap-2 whitespace-nowrap",
669
669
  "font-medium relative",
670
670
  "transition-all duration-200 ease-out",
671
- "premium-hover",
672
- /* Standart premium hover efekti */
671
+ "transform active:scale-[0.98]",
673
672
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
674
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"
673
+ "disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none disabled:transform-none"
675
674
  ],
676
675
  {
677
676
  variants: {
678
677
  variant: {
679
678
  primary: [
680
679
  "bg-primary text-primary-foreground",
681
- "hover:bg-primary-hover dark:hover:bg-primary/90",
682
- "active:bg-primary-active dark:active:bg-primary/80",
683
- "shadow-sm dark:shadow-primary/20 dark:shadow-md",
684
- "focus-visible:ring-primary/50 dark:focus-visible:ring-primary/30",
685
- "dark:bg-primary dark:text-white",
680
+ "dark:bg-primary dark:text-primary-foreground",
681
+ "hover:bg-primary/90 dark:hover:bg-primary/90",
682
+ "active:bg-primary/80 dark:active:bg-primary/80",
683
+ "shadow-sm hover:shadow-md",
684
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
686
685
  "transition-all duration-200"
687
686
  ],
688
687
  secondary: [
689
- "bg-secondary text-secondary-foreground",
690
- "hover:bg-gray-200 dark:hover:bg-gray-700/90",
691
- "active:bg-gray-300 dark:active:bg-gray-600/90",
692
- "border border-transparent dark:border-gray-700",
693
- "focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
694
- "dark:bg-gray-800 dark:text-gray-100",
695
- "dark:shadow-sm dark:shadow-gray-900/20"
688
+ "bg-muted text-muted-foreground",
689
+ "dark:bg-muted dark:text-muted-foreground",
690
+ "hover:bg-muted/80 dark:hover:bg-muted/80",
691
+ "active:bg-muted/70 dark:active:bg-muted/70",
692
+ "border border-input dark:border-input",
693
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
694
+ "shadow-sm hover:shadow-md"
696
695
  ],
697
696
  outline: [
698
697
  "bg-background text-foreground",
699
- "border border-gray-300 dark:border-gray-700",
700
- "hover:border-gray-400 dark:hover:border-gray-500",
701
- "hover:bg-gray-50 dark:hover:bg-gray-800/80",
702
- "active:bg-gray-100 dark:active:bg-gray-800/90",
703
- "focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
704
- "dark:text-gray-200 dark:bg-gray-900/50",
705
- "dark:shadow-sm dark:shadow-gray-950/10"
698
+ "dark:bg-background dark:text-foreground",
699
+ "border border-input dark:border-input",
700
+ "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground",
701
+ "active:bg-accent/80 dark:active:bg-accent/80",
702
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
703
+ "transition-all duration-200"
706
704
  ],
707
705
  ghost: [
708
706
  "text-foreground",
709
- "hover:bg-gray-100 dark:hover:bg-gray-800/90",
710
- "active:bg-gray-200 dark:active:bg-gray-700/90",
711
- "focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
712
- "dark:text-gray-200",
713
- "transition-colors duration-200"
707
+ "dark:text-foreground",
708
+ "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground",
709
+ "active:bg-accent/80 dark:active:bg-accent/80",
710
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
711
+ "transition-all duration-200"
714
712
  ],
715
713
  destructive: [
716
- "bg-error text-white",
717
- "hover:bg-error/90 dark:hover:bg-error/80",
718
- "active:bg-error/80 dark:active:bg-error/70",
719
- "shadow-sm dark:shadow-error/10 dark:shadow-md",
720
- "focus-visible:ring-error/50 dark:focus-visible:ring-error/30",
721
- "dark:text-white dark:border-error/20",
722
- "transition-colors duration-200"
714
+ "bg-destructive text-destructive-foreground",
715
+ "dark:bg-destructive dark:text-destructive-foreground",
716
+ "hover:bg-destructive/90 dark:hover:bg-destructive/90",
717
+ "active:bg-destructive/80 dark:active:bg-destructive/80",
718
+ "shadow-sm hover:shadow-md",
719
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
720
+ "transition-all duration-200"
723
721
  ],
724
722
  success: [
725
- "bg-success text-white",
726
- "hover:bg-success/90 dark:hover:bg-success/80",
727
- "active:bg-success/80 dark:active:bg-success/70",
728
- "shadow-sm dark:shadow-success/10 dark:shadow-md",
729
- "focus-visible:ring-success/50 dark:focus-visible:ring-success/30",
730
- "dark:text-white dark:border-success/20",
731
- "transition-colors duration-200"
723
+ "bg-success text-success-foreground",
724
+ "dark:bg-success dark:text-success-foreground",
725
+ "hover:bg-success/90 dark:hover:bg-success/90",
726
+ "active:bg-success/80 dark:active:bg-success/80",
727
+ "shadow-sm hover:shadow-md",
728
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
729
+ "transition-all duration-200"
732
730
  ],
733
731
  link: [
734
732
  "text-primary bg-transparent",
735
733
  "underline-offset-4 hover:underline",
736
- "hover:text-primary-hover active:text-primary-active",
734
+ "hover:text-primary/80 active:text-primary/70",
737
735
  "p-0 h-auto",
738
- "dark:text-blue-400 dark:hover:text-blue-300",
739
- "dark:active:text-blue-500",
740
736
  "transition-colors duration-200"
741
737
  ],
742
738
  gradient: [
@@ -786,14 +782,14 @@ var buttonVariants = classVarianceAuthority.cva(
786
782
  ]
787
783
  },
788
784
  size: {
789
- xs: "h-7 px-2.5 text-xs rounded",
790
- sm: "h-8 px-3 text-sm rounded",
791
- md: "h-10 px-4 text-base rounded-md",
785
+ xs: "h-7 px-2.5 text-xs rounded-md",
786
+ sm: "h-8 px-3 text-sm rounded-md",
787
+ md: "h-10 px-4 text-base rounded-lg",
792
788
  lg: "h-12 px-6 text-lg rounded-lg",
793
- xl: "h-14 px-8 text-xl rounded-lg",
794
- icon: "h-10 w-10 p-2 rounded-md",
795
- "icon-sm": "h-8 w-8 p-1.5 rounded",
796
- "icon-lg": "h-12 w-12 p-3 rounded-lg"
789
+ xl: "h-14 px-8 text-xl rounded-xl",
790
+ icon: "h-10 w-10 p-2 rounded-lg",
791
+ "icon-sm": "h-8 w-8 p-1.5 rounded-md",
792
+ "icon-lg": "h-12 w-12 p-3 rounded-xl"
797
793
  },
798
794
  rounded: {
799
795
  default: "",
@@ -831,7 +827,7 @@ var Button = t__namespace.forwardRef(
831
827
  return /* @__PURE__ */ jsxRuntime.jsxs(
832
828
  Comp,
833
829
  {
834
- className: cn(buttonVariants({ variant, size, rounded, fullWidth, className })),
830
+ className: cn("moonui-theme", buttonVariants({ variant, size, rounded, fullWidth, className })),
835
831
  ref,
836
832
  disabled: disabled || loading,
837
833
  "data-loading": loading ? "" : void 0,
@@ -847,203 +843,7 @@ var Button = t__namespace.forwardRef(
847
843
  }
848
844
  );
849
845
  Button.displayName = "Button";
850
- function Calendar({
851
- mode = "single",
852
- selected,
853
- onSelect,
854
- disabled,
855
- showOutsideDays = false,
856
- className,
857
- classNames,
858
- numberOfMonths = 1,
859
- defaultMonth,
860
- ...props
861
- }) {
862
- const [currentMonth, setCurrentMonth] = t__namespace.useState(
863
- defaultMonth || selected && selected || /* @__PURE__ */ new Date()
864
- );
865
- const weekDays = [
866
- { short: "S", full: "Sunday" },
867
- { short: "M", full: "Monday" },
868
- { short: "T", full: "Tuesday" },
869
- { short: "W", full: "Wednesday" },
870
- { short: "T", full: "Thursday" },
871
- { short: "F", full: "Friday" },
872
- { short: "S", full: "Saturday" }
873
- ];
874
- const handlePreviousMonth = () => {
875
- setCurrentMonth(dateFns.subMonths(currentMonth, 1));
876
- };
877
- const handleNextMonth = () => {
878
- setCurrentMonth(dateFns.addMonths(currentMonth, 1));
879
- };
880
- const handleDateClick = (date) => {
881
- if (disabled?.(date))
882
- return;
883
- if (mode === "single") {
884
- onSelect?.(date);
885
- } else if (mode === "range") {
886
- const currentSelection = selected;
887
- if (!currentSelection?.from || currentSelection.from && currentSelection.to) {
888
- onSelect?.({ from: date, to: void 0 });
889
- } else {
890
- if (date < currentSelection.from) {
891
- onSelect?.({ from: date, to: currentSelection.from });
892
- } else {
893
- onSelect?.({ from: currentSelection.from, to: date });
894
- }
895
- }
896
- }
897
- };
898
- const isDateSelected = (date) => {
899
- if (!selected)
900
- return false;
901
- if (mode === "single") {
902
- return dateFns.isSameDay(date, selected);
903
- } else if (mode === "range") {
904
- const range = selected;
905
- if (range.from && range.to) {
906
- return date >= range.from && date <= range.to;
907
- }
908
- return range.from ? dateFns.isSameDay(date, range.from) : false;
909
- }
910
- return false;
911
- };
912
- const isRangeStart = (date) => {
913
- if (mode !== "range" || !selected)
914
- return false;
915
- const range = selected;
916
- return range.from ? dateFns.isSameDay(date, range.from) : false;
917
- };
918
- const isRangeEnd = (date) => {
919
- if (mode !== "range" || !selected)
920
- return false;
921
- const range = selected;
922
- return range.to ? dateFns.isSameDay(date, range.to) : false;
923
- };
924
- const isRangeMiddle = (date) => {
925
- if (mode !== "range" || !selected)
926
- return false;
927
- const range = selected;
928
- if (!range.from || !range.to)
929
- return false;
930
- return date > range.from && date < range.to;
931
- };
932
- const getDaysInMonth = () => {
933
- const start = dateFns.startOfMonth(currentMonth);
934
- const end = dateFns.endOfMonth(currentMonth);
935
- const days2 = dateFns.eachDayOfInterval({ start, end });
936
- const firstDayOfWeek = dateFns.getDay(start);
937
- const previousMonthDays = [];
938
- if (firstDayOfWeek > 0 && showOutsideDays) {
939
- const previousMonthStart = dateFns.startOfWeek(start);
940
- const previousMonthEnd = new Date(start);
941
- previousMonthEnd.setDate(previousMonthEnd.getDate() - 1);
942
- previousMonthDays.push(...dateFns.eachDayOfInterval({
943
- start: previousMonthStart,
944
- end: previousMonthEnd
945
- }));
946
- }
947
- const lastDayOfWeek = dateFns.getDay(end);
948
- const nextMonthDays = [];
949
- if (lastDayOfWeek < 6 && showOutsideDays) {
950
- const nextMonthStart = new Date(end);
951
- nextMonthStart.setDate(nextMonthStart.getDate() + 1);
952
- const nextMonthEnd = dateFns.endOfWeek(end);
953
- nextMonthDays.push(...dateFns.eachDayOfInterval({
954
- start: nextMonthStart,
955
- end: nextMonthEnd
956
- }));
957
- }
958
- const emptyCells = [];
959
- if (!showOutsideDays && firstDayOfWeek > 0) {
960
- for (let i = 0; i < firstDayOfWeek; i++) {
961
- emptyCells.push(null);
962
- }
963
- }
964
- return [...previousMonthDays, ...emptyCells, ...days2, ...nextMonthDays];
965
- };
966
- const days = getDaysInMonth();
967
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("p-0", className), children: [
968
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [
969
- /* @__PURE__ */ jsxRuntime.jsx(
970
- "button",
971
- {
972
- onClick: handlePreviousMonth,
973
- className: cn(
974
- "h-10 w-10 bg-transparent p-0 rounded-lg",
975
- "hover:bg-muted transition-colors",
976
- "inline-flex items-center justify-center"
977
- ),
978
- type: "button",
979
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-5 w-5" })
980
- }
981
- ),
982
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-base font-medium", children: dateFns.format(currentMonth, "MMMM yyyy") }),
983
- /* @__PURE__ */ jsxRuntime.jsx(
984
- "button",
985
- {
986
- onClick: handleNextMonth,
987
- className: cn(
988
- "h-10 w-10 bg-transparent p-0 rounded-lg",
989
- "hover:bg-muted transition-colors",
990
- "inline-flex items-center justify-center"
991
- ),
992
- type: "button",
993
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-5 w-5" })
994
- }
995
- )
996
- ] }),
997
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-6 pb-4", children: [
998
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 mb-2", children: weekDays.map((day, index) => /* @__PURE__ */ jsxRuntime.jsx(
999
- "div",
1000
- {
1001
- className: "text-muted-foreground text-xs font-medium h-10 flex items-center justify-center",
1002
- title: day.full,
1003
- children: day.short
1004
- },
1005
- `weekday-${index}`
1006
- )) }),
1007
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 gap-1", children: days.map((date, index) => {
1008
- if (!date) {
1009
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-10 w-10" }, `empty-${index}`);
1010
- }
1011
- const isOutsideMonth = !dateFns.isSameMonth(date, currentMonth);
1012
- const isDisabled = disabled?.(date) || false;
1013
- const isSelected = isDateSelected(date);
1014
- const isTodayDate = dateFns.isToday(date);
1015
- const rangeStart = isRangeStart(date);
1016
- const rangeEnd = isRangeEnd(date);
1017
- const rangeMiddle = isRangeMiddle(date);
1018
- return /* @__PURE__ */ jsxRuntime.jsx(
1019
- "button",
1020
- {
1021
- onClick: () => handleDateClick(date),
1022
- disabled: isDisabled,
1023
- className: cn(
1024
- "h-10 w-10 p-0 font-normal",
1025
- "inline-flex items-center justify-center rounded-lg",
1026
- "hover:bg-muted transition-colors text-sm",
1027
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1028
- isOutsideMonth && "text-muted-foreground/50",
1029
- isDisabled && "text-muted-foreground/30 cursor-not-allowed hover:bg-transparent",
1030
- isSelected && !rangeMiddle && "bg-primary text-primary-foreground font-medium hover:bg-primary hover:text-primary-foreground",
1031
- 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",
1032
- rangeMiddle && "bg-accent/30 text-accent-foreground rounded-none",
1033
- rangeStart && "rounded-r-none",
1034
- rangeEnd && "rounded-l-none"
1035
- ),
1036
- type: "button",
1037
- children: dateFns.format(date, "d")
1038
- },
1039
- date.toISOString()
1040
- );
1041
- }) })
1042
- ] })
1043
- ] });
1044
- }
1045
- Calendar.displayName = "Calendar";
1046
- var microInteractionVariants = classVarianceAuthority.cva("", {
846
+ classVarianceAuthority.cva("", {
1047
847
  variants: {
1048
848
  hover: {
1049
849
  lift: [
@@ -1174,6 +974,32 @@ var tapAnimations = {
1174
974
  transition: { duration: 0.1 }
1175
975
  }
1176
976
  };
977
+ var pageTransitions = {
978
+ fadeIn: {
979
+ initial: { opacity: 0 },
980
+ animate: { opacity: 1 },
981
+ exit: { opacity: 0 },
982
+ transition: { duration: 0.3 }
983
+ },
984
+ slideUp: {
985
+ initial: { opacity: 0, y: 20 },
986
+ animate: { opacity: 1, y: 0 },
987
+ exit: { opacity: 0, y: -20 },
988
+ transition: springAnimations.smooth
989
+ },
990
+ slideRight: {
991
+ initial: { opacity: 0, x: -20 },
992
+ animate: { opacity: 1, x: 0 },
993
+ exit: { opacity: 0, x: 20 },
994
+ transition: springAnimations.smooth
995
+ },
996
+ scale: {
997
+ initial: { opacity: 0, scale: 0.95 },
998
+ animate: { opacity: 1, scale: 1 },
999
+ exit: { opacity: 0, scale: 1.05 },
1000
+ transition: springAnimations.smooth
1001
+ }
1002
+ };
1177
1003
  var skeletonAnimation = {
1178
1004
  initial: { opacity: 0.5 },
1179
1005
  animate: {
@@ -1233,7 +1059,7 @@ var Card = t__namespace.forwardRef(
1233
1059
  framerMotion.motion.div,
1234
1060
  {
1235
1061
  ref,
1236
- className: cn(cardVariants({ variant, size, radius, interactive, className })),
1062
+ className: cn("moonui-theme", cardVariants({ variant, size, radius, interactive, className })),
1237
1063
  ...interactionProps,
1238
1064
  ...props
1239
1065
  }
@@ -1243,7 +1069,7 @@ var Card = t__namespace.forwardRef(
1243
1069
  "div",
1244
1070
  {
1245
1071
  ref,
1246
- className: cn(cardVariants({ variant, size, radius, interactive, className })),
1072
+ className: cn("moonui-theme", cardVariants({ variant, size, radius, interactive, className })),
1247
1073
  ...props
1248
1074
  }
1249
1075
  );
@@ -1254,7 +1080,7 @@ var CardHeader = t__namespace.forwardRef(({ className, ...props }, ref) => /* @_
1254
1080
  "div",
1255
1081
  {
1256
1082
  ref,
1257
- className: cn("flex flex-col space-y-1.5", className),
1083
+ className: cn("moonui-theme", "flex flex-col space-y-1.5", className),
1258
1084
  ...props
1259
1085
  }
1260
1086
  ));
@@ -1263,7 +1089,7 @@ var CardTitle = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__
1263
1089
  "h3",
1264
1090
  {
1265
1091
  ref,
1266
- className: cn("text-lg font-semibold leading-none tracking-tight", className),
1092
+ className: cn("moonui-theme", "text-lg font-semibold leading-none tracking-tight", className),
1267
1093
  ...props
1268
1094
  }
1269
1095
  ));
@@ -1272,18 +1098,18 @@ var CardDescription = t__namespace.forwardRef(({ className, ...props }, ref) =>
1272
1098
  "p",
1273
1099
  {
1274
1100
  ref,
1275
- className: cn("text-sm text-muted-foreground", className),
1101
+ className: cn("moonui-theme", "text-sm text-muted-foreground", className),
1276
1102
  ...props
1277
1103
  }
1278
1104
  ));
1279
1105
  CardDescription.displayName = "CardDescription";
1280
- var CardContent = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("pt-0", className), ...props }));
1106
+ var CardContent = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("moonui-theme", "pt-0", className), ...props }));
1281
1107
  CardContent.displayName = "CardContent";
1282
1108
  var CardFooter = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1283
1109
  "div",
1284
1110
  {
1285
1111
  ref,
1286
- className: cn("flex items-center pt-4", className),
1112
+ className: cn("moonui-theme", "flex items-center pt-4", className),
1287
1113
  ...props
1288
1114
  }
1289
1115
  ));
@@ -1347,7 +1173,7 @@ var Checkbox = t__namespace.forwardRef(({
1347
1173
  {
1348
1174
  ref,
1349
1175
  checked: effectiveChecked,
1350
- className: cn(checkboxVariants({ variant, size, radius, animation }), className),
1176
+ className: cn("moonui-theme", checkboxVariants({ variant, size, radius, animation }), className),
1351
1177
  ...props,
1352
1178
  children: /* @__PURE__ */ jsxRuntime.jsx(
1353
1179
  CheckboxPrimitive__namespace.Indicator,
@@ -1932,7 +1758,7 @@ var CollapsibleTrigger2 = t__namespace.forwardRef(({ className, children, varian
1932
1758
  Trigger2,
1933
1759
  {
1934
1760
  ref,
1935
- className: cn(collapsibleTriggerVariants({ variant, size }), className),
1761
+ className: cn("moonui-theme", collapsibleTriggerVariants({ variant, size }), className),
1936
1762
  asChild,
1937
1763
  ...props,
1938
1764
  children
@@ -1943,7 +1769,7 @@ var CollapsibleTrigger2 = t__namespace.forwardRef(({ className, children, varian
1943
1769
  Trigger2,
1944
1770
  {
1945
1771
  ref,
1946
- className: cn(collapsibleTriggerVariants({ variant, size }), className),
1772
+ className: cn("moonui-theme", collapsibleTriggerVariants({ variant, size }), className),
1947
1773
  ...props,
1948
1774
  children: [
1949
1775
  children,
@@ -1979,7 +1805,7 @@ var CollapsibleContent2 = t__namespace.forwardRef(({ className, children, varian
1979
1805
  Content2,
1980
1806
  {
1981
1807
  ref,
1982
- className: cn(collapsibleContentVariants({ variant, size }), className),
1808
+ className: cn("moonui-theme", collapsibleContentVariants({ variant, size }), className),
1983
1809
  ...props,
1984
1810
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4", children })
1985
1811
  }
@@ -2079,7 +1905,7 @@ var Input = t__namespace.forwardRef(
2079
1905
  const showMessage = alwaysShowMessage || error || success;
2080
1906
  const messageType = error ? "error" : success ? "success" : "normal";
2081
1907
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 w-full", children: [
2082
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(inputWrapperVariants({ size }), wrapperClassName), children: [
1908
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("moonui-theme", inputWrapperVariants({ size }), wrapperClassName), children: [
2083
1909
  leftIcon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute left-3 text-gray-500 flex items-center justify-center pointer-events-none", children: loading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 animate-spin" }) : leftIcon }),
2084
1910
  /* @__PURE__ */ jsxRuntime.jsx(
2085
1911
  "input",
@@ -2240,7 +2066,7 @@ var PopoverClose = PopoverPrimitive__namespace.Close;
2240
2066
  var PopoverSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2241
2067
  "div",
2242
2068
  {
2243
- className: cn("my-2 h-px bg-border", className),
2069
+ className: cn("moonui-theme", "my-2 h-px bg-border", className),
2244
2070
  ...props
2245
2071
  }
2246
2072
  );
@@ -2248,7 +2074,7 @@ PopoverSeparator.displayName = "PopoverSeparator";
2248
2074
  var PopoverHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2249
2075
  "div",
2250
2076
  {
2251
- className: cn("-mx-4 -mt-4 mb-3 px-4 pt-4 pb-3 border-b border-border", className),
2077
+ className: cn("moonui-theme", "-mx-4 -mt-4 mb-3 px-4 pt-4 pb-3 border-b border-border", className),
2252
2078
  ...props
2253
2079
  }
2254
2080
  );
@@ -2256,7 +2082,7 @@ PopoverHeader.displayName = "PopoverHeader";
2256
2082
  var PopoverFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2257
2083
  "div",
2258
2084
  {
2259
- className: cn("-mx-4 -mb-4 mt-3 px-4 pt-3 pb-4 border-t border-border", className),
2085
+ className: cn("moonui-theme", "-mx-4 -mb-4 mt-3 px-4 pt-3 pb-4 border-t border-border", className),
2260
2086
  ...props
2261
2087
  }
2262
2088
  );
@@ -2265,6 +2091,7 @@ var Tabs = t__namespace.forwardRef(({ vertical = false, ...props }, ref) => /* @
2265
2091
  TabsPrimitive__namespace.Root,
2266
2092
  {
2267
2093
  ref,
2094
+ className: cn("moonui-theme", props.className),
2268
2095
  orientation: vertical ? "vertical" : "horizontal",
2269
2096
  ...props
2270
2097
  }
@@ -2300,7 +2127,7 @@ var TabsList = t__namespace.forwardRef(({ className, variant, orientation, fullW
2300
2127
  TabsPrimitive__namespace.List,
2301
2128
  {
2302
2129
  ref,
2303
- className: cn(tabsListVariants({ variant, orientation, fullWidth, className })),
2130
+ className: cn("moonui-theme", tabsListVariants({ variant, orientation, fullWidth, className })),
2304
2131
  ...props
2305
2132
  }
2306
2133
  ));
@@ -2354,6 +2181,7 @@ var TabsTrigger = t__namespace.forwardRef(({
2354
2181
  {
2355
2182
  ref,
2356
2183
  className: cn(
2184
+ "moonui-theme",
2357
2185
  tabsTriggerVariants({ variant, size, orientation, fullWidth }),
2358
2186
  fadeTabs && "data-[state=inactive]:opacity-60",
2359
2187
  className
@@ -2373,6 +2201,7 @@ var TabsContent = t__namespace.forwardRef(({ className, animated = false, ...pro
2373
2201
  {
2374
2202
  ref,
2375
2203
  className: cn(
2204
+ "moonui-theme",
2376
2205
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2377
2206
  animated && "data-[state=active]:animate-fadeIn data-[state=inactive]:animate-fadeOut",
2378
2207
  className
@@ -2563,7 +2392,7 @@ var Slider = t__namespace.forwardRef(({
2563
2392
  /* @__PURE__ */ jsxRuntime.jsxs(
2564
2393
  "div",
2565
2394
  {
2566
- className: cn(sliderVariants({ size }), className),
2395
+ className: cn("moonui-theme", sliderVariants({ size }), className),
2567
2396
  "data-disabled": disabled ? true : void 0,
2568
2397
  children: [
2569
2398
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3143,7 +2972,7 @@ function SimpleColorPicker({
3143
2972
  default: "h-8 w-8",
3144
2973
  lg: "h-10 w-10"
3145
2974
  };
3146
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap gap-2", className), children: colors.map((color) => /* @__PURE__ */ jsxRuntime.jsx(
2975
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("moonui-theme", "flex flex-wrap gap-2", className), children: colors.map((color) => /* @__PURE__ */ jsxRuntime.jsx(
3147
2976
  "button",
3148
2977
  {
3149
2978
  className: cn(
@@ -3168,7 +2997,7 @@ function GradientPicker({
3168
2997
  setGradient(newGradient);
3169
2998
  onChange?.(newGradient);
3170
2999
  };
3171
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4", className), children: [
3000
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("moonui-theme", "space-y-4", className), children: [
3172
3001
  /* @__PURE__ */ jsxRuntime.jsx(
3173
3002
  "div",
3174
3003
  {
@@ -3688,7 +3517,7 @@ var DialogOverlay = t__namespace.forwardRef(({ className, variant, animation, ..
3688
3517
  DialogPrimitive__namespace.Overlay,
3689
3518
  {
3690
3519
  ref,
3691
- className: cn(overlayVariants({ variant, animation }), className),
3520
+ className: cn("moonui-theme", overlayVariants({ variant, animation }), className),
3692
3521
  ...props
3693
3522
  }
3694
3523
  ));
@@ -3884,7 +3713,7 @@ var DialogForm = t__namespace.forwardRef(({ className, ...props }, ref) => /* @_
3884
3713
  "form",
3885
3714
  {
3886
3715
  ref,
3887
- className: cn("flex flex-col gap-4", className),
3716
+ className: cn("moonui-theme", "flex flex-col gap-4", className),
3888
3717
  ...props
3889
3718
  }
3890
3719
  ));
@@ -3914,7 +3743,7 @@ var Command = t__namespace.forwardRef(({ className, variant, size, ...props }, r
3914
3743
  _e,
3915
3744
  {
3916
3745
  ref,
3917
- className: cn(commandVariants({ variant, size }), className),
3746
+ className: cn("moonui-theme", commandVariants({ variant, size }), className),
3918
3747
  ...props
3919
3748
  }
3920
3749
  ));
@@ -3951,7 +3780,7 @@ var CommandList = t__namespace.forwardRef(({ className, ...props }, ref) => /* @
3951
3780
  _e.List,
3952
3781
  {
3953
3782
  ref,
3954
- className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
3783
+ className: cn("moonui-theme", "max-h-[300px] overflow-y-auto overflow-x-hidden", className),
3955
3784
  ...props
3956
3785
  }
3957
3786
  ));
@@ -3960,7 +3789,7 @@ var CommandEmpty = t__namespace.forwardRef(({ className, ...props }, ref) => /*
3960
3789
  _e.Empty,
3961
3790
  {
3962
3791
  ref,
3963
- className: cn("py-6 text-center text-sm text-muted-foreground", className),
3792
+ className: cn("moonui-theme", "py-6 text-center text-sm text-muted-foreground", className),
3964
3793
  ...props
3965
3794
  }
3966
3795
  ));
@@ -3981,7 +3810,7 @@ var CommandSeparator = t__namespace.forwardRef(({ className, ...props }, ref) =>
3981
3810
  _e.Separator,
3982
3811
  {
3983
3812
  ref,
3984
- className: cn("-mx-1 h-px bg-border", className),
3813
+ className: cn("moonui-theme", "-mx-1 h-px bg-border", className),
3985
3814
  ...props
3986
3815
  }
3987
3816
  ));
@@ -7114,7 +6943,7 @@ var Table = t__namespace.forwardRef(({
7114
6943
  ] });
7115
6944
  });
7116
6945
  Table.displayName = "Table";
7117
- var TableHeader = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
6946
+ var TableHeader = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("moonui-theme", "[&_tr]:border-b", className), ...props }));
7118
6947
  TableHeader.displayName = "TableHeader";
7119
6948
  var TableBody = t__namespace.forwardRef(({ className, emptyContent, emptyMessage = "No data available", children, ...props }, ref) => {
7120
6949
  const hasChildren = t__namespace.Children.count(children) > 0;
@@ -7122,7 +6951,7 @@ var TableBody = t__namespace.forwardRef(({ className, emptyContent, emptyMessage
7122
6951
  "tbody",
7123
6952
  {
7124
6953
  ref,
7125
- className: cn("[&_tr:last-child]:border-0", className),
6954
+ className: cn("moonui-theme", "[&_tr:last-child]:border-0", className),
7126
6955
  ...props,
7127
6956
  children: hasChildren ? children : /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 100, className: "h-24 text-center", children: emptyContent || /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-6 text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: emptyMessage }) }) }) })
7128
6957
  }
@@ -7133,7 +6962,7 @@ var TableFooter = t__namespace.forwardRef(({ className, ...props }, ref) => /* @
7133
6962
  "tfoot",
7134
6963
  {
7135
6964
  ref,
7136
- className: cn("bg-primary text-primary-foreground font-medium", className),
6965
+ className: cn("moonui-theme", "bg-primary text-primary-foreground font-medium", className),
7137
6966
  ...props
7138
6967
  }
7139
6968
  ));
@@ -7235,7 +7064,7 @@ var TableCell = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__
7235
7064
  "td",
7236
7065
  {
7237
7066
  ref,
7238
- className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
7067
+ className: cn("moonui-theme", "p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
7239
7068
  ...props
7240
7069
  }
7241
7070
  ));
@@ -7244,7 +7073,7 @@ var TableCaption = t__namespace.forwardRef(({ className, ...props }, ref) => /*
7244
7073
  "caption",
7245
7074
  {
7246
7075
  ref,
7247
- className: cn("mt-4 text-sm text-muted-foreground", className),
7076
+ className: cn("moonui-theme", "mt-4 text-sm text-muted-foreground", className),
7248
7077
  ...props
7249
7078
  }
7250
7079
  ));
@@ -7362,7 +7191,7 @@ var SelectLabel = t__namespace.forwardRef(({ className, ...props }, ref) => /* @
7362
7191
  SelectPrimitive__namespace.Label,
7363
7192
  {
7364
7193
  ref,
7365
- className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
7194
+ className: cn("moonui-theme", "py-1.5 pl-8 pr-2 text-sm font-semibold", className),
7366
7195
  ...props
7367
7196
  }
7368
7197
  ));
@@ -7398,7 +7227,7 @@ var SelectSeparator = t__namespace.forwardRef(({ className, ...props }, ref) =>
7398
7227
  SelectPrimitive__namespace.Separator,
7399
7228
  {
7400
7229
  ref,
7401
- className: cn("-mx-1 my-1 h-px bg-muted dark:bg-gray-700", className),
7230
+ className: cn("moonui-theme", "-mx-1 my-1 h-px bg-muted dark:bg-gray-700", className),
7402
7231
  ...props
7403
7232
  }
7404
7233
  ));
@@ -7514,7 +7343,7 @@ var DropdownMenuSeparator = t__namespace.forwardRef(({ className, ...props }, re
7514
7343
  DropdownMenuPrimitive__namespace.Separator,
7515
7344
  {
7516
7345
  ref,
7517
- className: cn("-mx-1 my-1 h-px bg-muted", className),
7346
+ className: cn("moonui-theme", "-mx-1 my-1 h-px bg-muted", className),
7518
7347
  ...props
7519
7348
  }
7520
7349
  ));
@@ -7526,7 +7355,7 @@ var DropdownMenuShortcut = ({
7526
7355
  return /* @__PURE__ */ jsxRuntime.jsx(
7527
7356
  "span",
7528
7357
  {
7529
- className: cn("ml-auto text-xs tracking-widest opacity-60", className),
7358
+ className: cn("moonui-theme", "ml-auto text-xs tracking-widest opacity-60", className),
7530
7359
  ...props
7531
7360
  }
7532
7361
  );
@@ -7582,6 +7411,15 @@ var Skeleton = t__namespace.forwardRef(
7582
7411
  style,
7583
7412
  ...props
7584
7413
  }, ref) => {
7414
+ const {
7415
+ onDrag,
7416
+ onDragEnd,
7417
+ onDragStart,
7418
+ onAnimationStart,
7419
+ onAnimationEnd,
7420
+ onAnimationIteration,
7421
+ ...filteredProps
7422
+ } = props;
7585
7423
  if (isLoaded && children) {
7586
7424
  if (useMotion) {
7587
7425
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -7591,13 +7429,13 @@ var Skeleton = t__namespace.forwardRef(
7591
7429
  initial: { opacity: 0 },
7592
7430
  animate: { opacity: 1 },
7593
7431
  transition: { duration: fadeInDuration / 1e3 },
7594
- className,
7432
+ className: cn("moonui-theme", className),
7595
7433
  style: {
7596
7434
  height,
7597
7435
  width,
7598
7436
  ...style
7599
7437
  },
7600
- ...props,
7438
+ ...filteredProps,
7601
7439
  children
7602
7440
  }
7603
7441
  );
@@ -7606,7 +7444,7 @@ var Skeleton = t__namespace.forwardRef(
7606
7444
  "div",
7607
7445
  {
7608
7446
  ref,
7609
- className: cn("animate-fade-in", className),
7447
+ className: cn("moonui-theme", "animate-fade-in", className),
7610
7448
  style: {
7611
7449
  animationDuration: `${fadeInDuration}ms`,
7612
7450
  height,
@@ -7624,6 +7462,7 @@ var Skeleton = t__namespace.forwardRef(
7624
7462
  {
7625
7463
  ref,
7626
7464
  className: cn(
7465
+ "moonui-theme",
7627
7466
  skeletonVariants({ variant, size, shape, animation }),
7628
7467
  "relative isolate",
7629
7468
  className
@@ -7634,7 +7473,7 @@ var Skeleton = t__namespace.forwardRef(
7634
7473
  ...style
7635
7474
  },
7636
7475
  ...useMotion ? skeletonAnimation : {},
7637
- ...props
7476
+ ...filteredProps
7638
7477
  }
7639
7478
  );
7640
7479
  }
@@ -7656,7 +7495,7 @@ var SkeletonText = t__namespace.forwardRef(
7656
7495
  "div",
7657
7496
  {
7658
7497
  ref,
7659
- className: cn("flex flex-col", className),
7498
+ className: cn("moonui-theme", "flex flex-col", className),
7660
7499
  style: { gap: spacing },
7661
7500
  ...props,
7662
7501
  children: Array.from({ length: lines }).map((_, i) => {
@@ -7696,7 +7535,7 @@ var SkeletonAvatar = t__namespace.forwardRef(
7696
7535
  variant,
7697
7536
  animation,
7698
7537
  shape: "circle",
7699
- className: cn("shrink-0", className),
7538
+ className: cn("moonui-theme", "shrink-0", className),
7700
7539
  style: {
7701
7540
  height: size,
7702
7541
  width: size
@@ -7888,7 +7727,7 @@ function DataTable({
7888
7727
  return /* @__PURE__ */ jsxRuntime.jsx(DataTableLoading, {});
7889
7728
  }
7890
7729
  const selectedRows = table.getFilteredSelectedRowModel().rows;
7891
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4", className), children: [
7730
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("moonui-theme", "space-y-4", className), children: [
7892
7731
  (title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
7893
7732
  title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold", children: title }),
7894
7733
  description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: description })
@@ -8136,6 +7975,202 @@ function createFilterableColumn(accessorKey, header, filterFn) {
8136
7975
  filterFn
8137
7976
  };
8138
7977
  }
7978
+ function Calendar({
7979
+ mode = "single",
7980
+ selected,
7981
+ onSelect,
7982
+ disabled,
7983
+ showOutsideDays = false,
7984
+ className,
7985
+ classNames,
7986
+ numberOfMonths = 1,
7987
+ defaultMonth,
7988
+ ...props
7989
+ }) {
7990
+ const [currentMonth, setCurrentMonth] = t__namespace.useState(
7991
+ defaultMonth || selected && selected || /* @__PURE__ */ new Date()
7992
+ );
7993
+ const weekDays = [
7994
+ { short: "S", full: "Sunday" },
7995
+ { short: "M", full: "Monday" },
7996
+ { short: "T", full: "Tuesday" },
7997
+ { short: "W", full: "Wednesday" },
7998
+ { short: "T", full: "Thursday" },
7999
+ { short: "F", full: "Friday" },
8000
+ { short: "S", full: "Saturday" }
8001
+ ];
8002
+ const handlePreviousMonth = () => {
8003
+ setCurrentMonth(dateFns.subMonths(currentMonth, 1));
8004
+ };
8005
+ const handleNextMonth = () => {
8006
+ setCurrentMonth(dateFns.addMonths(currentMonth, 1));
8007
+ };
8008
+ const handleDateClick = (date) => {
8009
+ if (disabled?.(date))
8010
+ return;
8011
+ if (mode === "single") {
8012
+ onSelect?.(date);
8013
+ } else if (mode === "range") {
8014
+ const currentSelection = selected;
8015
+ if (!currentSelection?.from || currentSelection.from && currentSelection.to) {
8016
+ onSelect?.({ from: date, to: void 0 });
8017
+ } else {
8018
+ if (date < currentSelection.from) {
8019
+ onSelect?.({ from: date, to: currentSelection.from });
8020
+ } else {
8021
+ onSelect?.({ from: currentSelection.from, to: date });
8022
+ }
8023
+ }
8024
+ }
8025
+ };
8026
+ const isDateSelected = (date) => {
8027
+ if (!selected)
8028
+ return false;
8029
+ if (mode === "single") {
8030
+ return dateFns.isSameDay(date, selected);
8031
+ } else if (mode === "range") {
8032
+ const range = selected;
8033
+ if (range.from && range.to) {
8034
+ return date >= range.from && date <= range.to;
8035
+ }
8036
+ return range.from ? dateFns.isSameDay(date, range.from) : false;
8037
+ }
8038
+ return false;
8039
+ };
8040
+ const isRangeStart = (date) => {
8041
+ if (mode !== "range" || !selected)
8042
+ return false;
8043
+ const range = selected;
8044
+ return range.from ? dateFns.isSameDay(date, range.from) : false;
8045
+ };
8046
+ const isRangeEnd = (date) => {
8047
+ if (mode !== "range" || !selected)
8048
+ return false;
8049
+ const range = selected;
8050
+ return range.to ? dateFns.isSameDay(date, range.to) : false;
8051
+ };
8052
+ const isRangeMiddle = (date) => {
8053
+ if (mode !== "range" || !selected)
8054
+ return false;
8055
+ const range = selected;
8056
+ if (!range.from || !range.to)
8057
+ return false;
8058
+ return date > range.from && date < range.to;
8059
+ };
8060
+ const getDaysInMonth = () => {
8061
+ const start = dateFns.startOfMonth(currentMonth);
8062
+ const end = dateFns.endOfMonth(currentMonth);
8063
+ const days2 = dateFns.eachDayOfInterval({ start, end });
8064
+ const firstDayOfWeek = dateFns.getDay(start);
8065
+ const previousMonthDays = [];
8066
+ if (firstDayOfWeek > 0 && showOutsideDays) {
8067
+ const previousMonthStart = dateFns.startOfWeek(start);
8068
+ const previousMonthEnd = new Date(start);
8069
+ previousMonthEnd.setDate(previousMonthEnd.getDate() - 1);
8070
+ previousMonthDays.push(...dateFns.eachDayOfInterval({
8071
+ start: previousMonthStart,
8072
+ end: previousMonthEnd
8073
+ }));
8074
+ }
8075
+ const lastDayOfWeek = dateFns.getDay(end);
8076
+ const nextMonthDays = [];
8077
+ if (lastDayOfWeek < 6 && showOutsideDays) {
8078
+ const nextMonthStart = new Date(end);
8079
+ nextMonthStart.setDate(nextMonthStart.getDate() + 1);
8080
+ const nextMonthEnd = dateFns.endOfWeek(end);
8081
+ nextMonthDays.push(...dateFns.eachDayOfInterval({
8082
+ start: nextMonthStart,
8083
+ end: nextMonthEnd
8084
+ }));
8085
+ }
8086
+ const emptyCells = [];
8087
+ if (!showOutsideDays && firstDayOfWeek > 0) {
8088
+ for (let i = 0; i < firstDayOfWeek; i++) {
8089
+ emptyCells.push(null);
8090
+ }
8091
+ }
8092
+ return [...previousMonthDays, ...emptyCells, ...days2, ...nextMonthDays];
8093
+ };
8094
+ const days = getDaysInMonth();
8095
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("moonui-theme", "p-0", className), children: [
8096
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [
8097
+ /* @__PURE__ */ jsxRuntime.jsx(
8098
+ "button",
8099
+ {
8100
+ onClick: handlePreviousMonth,
8101
+ className: cn(
8102
+ "h-10 w-10 bg-transparent p-0 rounded-lg",
8103
+ "hover:bg-muted transition-colors",
8104
+ "inline-flex items-center justify-center"
8105
+ ),
8106
+ type: "button",
8107
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-5 w-5" })
8108
+ }
8109
+ ),
8110
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-base font-medium", children: dateFns.format(currentMonth, "MMMM yyyy") }),
8111
+ /* @__PURE__ */ jsxRuntime.jsx(
8112
+ "button",
8113
+ {
8114
+ onClick: handleNextMonth,
8115
+ className: cn(
8116
+ "h-10 w-10 bg-transparent p-0 rounded-lg",
8117
+ "hover:bg-muted transition-colors",
8118
+ "inline-flex items-center justify-center"
8119
+ ),
8120
+ type: "button",
8121
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-5 w-5" })
8122
+ }
8123
+ )
8124
+ ] }),
8125
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-6 pb-4", children: [
8126
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 mb-2", children: weekDays.map((day, index) => /* @__PURE__ */ jsxRuntime.jsx(
8127
+ "div",
8128
+ {
8129
+ className: "text-muted-foreground text-xs font-medium h-10 flex items-center justify-center",
8130
+ title: day.full,
8131
+ children: day.short
8132
+ },
8133
+ `weekday-${index}`
8134
+ )) }),
8135
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 gap-1", children: days.map((date, index) => {
8136
+ if (!date) {
8137
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-10 w-10" }, `empty-${index}`);
8138
+ }
8139
+ const isOutsideMonth = !dateFns.isSameMonth(date, currentMonth);
8140
+ const isDisabled = disabled?.(date) || false;
8141
+ const isSelected = isDateSelected(date);
8142
+ const isTodayDate = dateFns.isToday(date);
8143
+ const rangeStart = isRangeStart(date);
8144
+ const rangeEnd = isRangeEnd(date);
8145
+ const rangeMiddle = isRangeMiddle(date);
8146
+ return /* @__PURE__ */ jsxRuntime.jsx(
8147
+ "button",
8148
+ {
8149
+ onClick: () => handleDateClick(date),
8150
+ disabled: isDisabled,
8151
+ className: cn(
8152
+ "h-10 w-10 p-0 font-normal",
8153
+ "inline-flex items-center justify-center rounded-lg",
8154
+ "hover:bg-muted transition-colors text-sm",
8155
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
8156
+ isOutsideMonth && "text-muted-foreground/50",
8157
+ isDisabled && "text-muted-foreground/30 cursor-not-allowed hover:bg-transparent",
8158
+ isSelected && !rangeMiddle && "bg-primary text-primary-foreground font-medium hover:bg-primary hover:text-primary-foreground",
8159
+ 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",
8160
+ rangeMiddle && "bg-accent/30 text-accent-foreground rounded-none",
8161
+ rangeStart && "rounded-r-none",
8162
+ rangeEnd && "rounded-l-none"
8163
+ ),
8164
+ type: "button",
8165
+ children: dateFns.format(date, "d")
8166
+ },
8167
+ date.toISOString()
8168
+ );
8169
+ }) })
8170
+ ] })
8171
+ ] });
8172
+ }
8173
+ Calendar.displayName = "Calendar";
8139
8174
  var datePickerVariants = classVarianceAuthority.cva(
8140
8175
  "w-full justify-start text-left font-normal",
8141
8176
  {
@@ -8143,8 +8178,7 @@ var datePickerVariants = classVarianceAuthority.cva(
8143
8178
  variant: {
8144
8179
  default: "",
8145
8180
  outline: "border-2",
8146
- ghost: "hover:bg-accent hover:text-accent-foreground",
8147
- minimal: "h-auto p-0 border-0 shadow-none"
8181
+ ghost: "hover:bg-accent hover:text-accent-foreground"
8148
8182
  },
8149
8183
  size: {
8150
8184
  default: "h-10 px-4 py-2",
@@ -8222,11 +8256,11 @@ function DatePicker({
8222
8256
  };
8223
8257
  const displayValue = internalDate && dateFns.isValid(internalDate) ? dateFns.format(internalDate, formatString) : null;
8224
8258
  const iconElement = icon || /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "h-4 w-4" });
8225
- return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
8259
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "moonui-theme", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
8226
8260
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
8227
8261
  Button,
8228
8262
  {
8229
- variant: variant === "minimal" ? "ghost" : variant || "outline",
8263
+ variant: variant === "ghost" ? "ghost" : "outline",
8230
8264
  className: cn(
8231
8265
  datePickerVariants({ variant, size, state }),
8232
8266
  !displayValue && "text-muted-foreground",
@@ -8305,7 +8339,7 @@ function DatePicker({
8305
8339
  children: /* @__PURE__ */ jsxRuntime.jsxs(
8306
8340
  framerMotion.motion.div,
8307
8341
  {
8308
- ...microInteractionVariants.fadeIn,
8342
+ ...pageTransitions.fadeIn,
8309
8343
  className: "rounded-2xl bg-background overflow-hidden",
8310
8344
  children: [
8311
8345
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -8335,7 +8369,7 @@ function DatePicker({
8335
8369
  )
8336
8370
  }
8337
8371
  )
8338
- ] });
8372
+ ] }) });
8339
8373
  }
8340
8374
  function DateRangePicker({
8341
8375
  className,
@@ -8373,7 +8407,7 @@ function DateRangePicker({
8373
8407
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
8374
8408
  Button,
8375
8409
  {
8376
- variant: props.variant === "minimal" ? "ghost" : props.variant || "outline",
8410
+ variant: props.variant === "ghost" ? "ghost" : "outline",
8377
8411
  className: cn(
8378
8412
  datePickerVariants({
8379
8413
  variant: props.variant,
@@ -8531,7 +8565,7 @@ function MonthPicker({
8531
8565
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
8532
8566
  Button,
8533
8567
  {
8534
- variant: props.variant || "outline",
8568
+ variant: props.variant === "default" ? "outline" : props.variant || "outline",
8535
8569
  className: cn(
8536
8570
  datePickerVariants({
8537
8571
  variant: props.variant,
@@ -8573,7 +8607,7 @@ function MonthPicker({
8573
8607
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2", children: months.map((month, index) => /* @__PURE__ */ jsxRuntime.jsx(
8574
8608
  Button,
8575
8609
  {
8576
- variant: value && value.getMonth() === index ? "default" : "outline",
8610
+ variant: value && value.getMonth() === index ? "primary" : "outline",
8577
8611
  size: "sm",
8578
8612
  onClick: () => handleMonthSelect(index),
8579
8613
  className: "h-8 text-xs",
@@ -8619,7 +8653,7 @@ function DraggableList({
8619
8653
  const handleDragEnd = () => {
8620
8654
  setDraggedIndex(null);
8621
8655
  };
8622
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-2", className), children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
8656
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("moonui-theme", "space-y-2", className), children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
8623
8657
  "div",
8624
8658
  {
8625
8659
  draggable: !disabled,
@@ -8738,7 +8772,7 @@ var Progress = t__namespace.forwardRef(({
8738
8772
  "div",
8739
8773
  {
8740
8774
  ref,
8741
- className: cn(progressVariants({ variant, size, radius, animation }), className),
8775
+ className: cn("moonui-theme", progressVariants({ variant, size, radius, animation }), className),
8742
8776
  role: "progressbar",
8743
8777
  "aria-valuemin": 0,
8744
8778
  "aria-valuemax": max2,
@@ -8819,7 +8853,7 @@ var FileItem = ({
8819
8853
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-3 w-3 mr-1 animate-spin" }),
8820
8854
  "Uploading"
8821
8855
  ] }),
8822
- status === "success" && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "default", className: "h-5 bg-green-500", children: [
8856
+ status === "success" && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "success", className: "h-5", children: [
8823
8857
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "h-3 w-3 mr-1" }),
8824
8858
  "Done"
8825
8859
  ] }),
@@ -8968,7 +9002,7 @@ var FileUpload = t__namespace.default.forwardRef(
8968
9002
  onRemove(fileId);
8969
9003
  }
8970
9004
  }, [onRemove]);
8971
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("space-y-4", className), ...props, children: [
9005
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("moonui-theme", "space-y-4", className), ...props, children: [
8972
9006
  /* @__PURE__ */ jsxRuntime.jsxs(
8973
9007
  framerMotion.motion.div,
8974
9008
  {
@@ -9307,7 +9341,7 @@ function GitHubStarButton({
9307
9341
  {
9308
9342
  variant: "outline",
9309
9343
  size,
9310
- className: cn("group", className),
9344
+ className: cn("moonui-theme", "group", className),
9311
9345
  asChild: true,
9312
9346
  children: /* @__PURE__ */ jsxRuntime.jsxs(
9313
9347
  "a",
@@ -9335,7 +9369,7 @@ function MoonLogo({
9335
9369
  }) {
9336
9370
  const logoId = t__namespace.useId();
9337
9371
  const gradientId = `moon-gradient-${logoId}`;
9338
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2", className), children: [
9372
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("moonui-theme", "flex items-center gap-2", className), children: [
9339
9373
  /* @__PURE__ */ jsxRuntime.jsxs(
9340
9374
  "svg",
9341
9375
  {
@@ -9412,7 +9446,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
9412
9446
  {
9413
9447
  role: "navigation",
9414
9448
  "aria-label": "pagination",
9415
- className: cn("mx-auto flex w-full justify-center", className),
9449
+ className: cn("moonui-theme", "mx-auto flex w-full justify-center", className),
9416
9450
  ...props
9417
9451
  }
9418
9452
  );
@@ -9421,12 +9455,12 @@ var PaginationContent = t__namespace.forwardRef(({ className, ...props }, ref) =
9421
9455
  "ul",
9422
9456
  {
9423
9457
  ref,
9424
- className: cn("flex flex-row items-center gap-1", className),
9458
+ className: cn("moonui-theme", "flex flex-row items-center gap-1", className),
9425
9459
  ...props
9426
9460
  }
9427
9461
  ));
9428
9462
  PaginationContent.displayName = "PaginationContent";
9429
- var PaginationItem = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
9463
+ var PaginationItem = t__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("moonui-theme", "", className), ...props }));
9430
9464
  PaginationItem.displayName = "PaginationItem";
9431
9465
  var PaginationLink = ({
9432
9466
  className,
@@ -9455,8 +9489,8 @@ var PaginationPrevious = ({
9455
9489
  PaginationLink,
9456
9490
  {
9457
9491
  "aria-label": "Go to previous page",
9458
- size: "default",
9459
- className: cn("gap-1 pl-2.5", className),
9492
+ size: "md",
9493
+ className: cn("moonui-theme", "gap-1 pl-2.5", className),
9460
9494
  ...props,
9461
9495
  children: [
9462
9496
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" }),
@@ -9472,8 +9506,8 @@ var PaginationNext = ({
9472
9506
  PaginationLink,
9473
9507
  {
9474
9508
  "aria-label": "Go to next page",
9475
- size: "default",
9476
- className: cn("gap-1 pr-2.5", className),
9509
+ size: "md",
9510
+ className: cn("moonui-theme", "gap-1 pr-2.5", className),
9477
9511
  ...props,
9478
9512
  children: [
9479
9513
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Next" }),
@@ -9489,7 +9523,7 @@ var PaginationEllipsis = ({
9489
9523
  "span",
9490
9524
  {
9491
9525
  "aria-hidden": true,
9492
- className: cn("flex h-9 w-9 items-center justify-center", className),
9526
+ className: cn("moonui-theme", "flex h-9 w-9 items-center justify-center", className),
9493
9527
  ...props,
9494
9528
  children: [
9495
9529
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "h-4 w-4" }),
@@ -9528,7 +9562,7 @@ var RadioGroup2 = t__namespace.forwardRef(
9528
9562
  {
9529
9563
  ref,
9530
9564
  role: "radiogroup",
9531
- className: cn("grid gap-2", className),
9565
+ className: cn("moonui-theme", "grid gap-2", className),
9532
9566
  ...props
9533
9567
  }
9534
9568
  ) });
@@ -9933,7 +9967,7 @@ var Toggle2 = t__namespace.forwardRef(({ className, variant, size, ...props }, r
9933
9967
  Root13,
9934
9968
  {
9935
9969
  ref,
9936
- className: cn(toggleVariants({ variant, size, className })),
9970
+ className: cn("moonui-theme", toggleVariants({ variant, size, className })),
9937
9971
  ...props
9938
9972
  }
9939
9973
  ));
@@ -9969,7 +10003,7 @@ var TooltipArrow = t__namespace.forwardRef(({ className, ...props }, ref) => /*
9969
10003
  TooltipPrimitive__namespace.Arrow,
9970
10004
  {
9971
10005
  ref,
9972
- className: cn("fill-current", className),
10006
+ className: cn("moonui-theme", "fill-current", className),
9973
10007
  ...props
9974
10008
  }
9975
10009
  ));
@@ -9979,7 +10013,7 @@ var TooltipContent = t__namespace.forwardRef(({ className, variant, size, showAr
9979
10013
  {
9980
10014
  ref,
9981
10015
  sideOffset,
9982
- className: cn(tooltipVariants({ variant, size }), className),
10016
+ className: cn("moonui-theme", tooltipVariants({ variant, size }), className),
9983
10017
  ...props,
9984
10018
  children: [
9985
10019
  props.children,
@@ -9997,7 +10031,6 @@ var SimpleTooltip = t__namespace.forwardRef(
9997
10031
  side = "top",
9998
10032
  align = "center",
9999
10033
  delayDuration = 400,
10000
- skipDelayDuration = 300,
10001
10034
  sideOffset = 4,
10002
10035
  showArrow = false,
10003
10036
  className,
@@ -10013,7 +10046,6 @@ var SimpleTooltip = t__namespace.forwardRef(
10013
10046
  defaultOpen,
10014
10047
  onOpenChange,
10015
10048
  delayDuration,
10016
- skipDelayDuration,
10017
10049
  children: [
10018
10050
  /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children }),
10019
10051
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -10651,7 +10683,7 @@ var SwipeableCard = t__namespace.forwardRef(
10651
10683
  }
10652
10684
  );
10653
10685
  SwipeableCard.displayName = "SwipeableCard";
10654
- var Switch = t__namespace.forwardRef(({ className, size = "md", variant = "primary", loading, leftIcon, rightIcon, description, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "inline-flex items-center gap-2", children: [
10686
+ var Switch = t__namespace.forwardRef(({ className, size = "md", variant = "primary", loading, leftIcon, rightIcon, description, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "moonui-theme inline-flex items-center gap-2", children: [
10655
10687
  leftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: leftIcon }),
10656
10688
  /* @__PURE__ */ jsxRuntime.jsxs(
10657
10689
  SwitchPrimitives__namespace.Root,
@@ -10716,6 +10748,7 @@ var Textarea = t__namespace.forwardRef(
10716
10748
  "textarea",
10717
10749
  {
10718
10750
  className: cn(
10751
+ "moonui-theme",
10719
10752
  "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",
10720
10753
  className
10721
10754
  ),
@@ -10761,7 +10794,7 @@ var Toast = t__namespace.forwardRef(({ className, variant, ...props }, ref) => {
10761
10794
  ToastPrimitives__namespace.Root,
10762
10795
  {
10763
10796
  ref,
10764
- className: cn(toastVariants({ variant }), className),
10797
+ className: cn("moonui-theme", toastVariants({ variant }), className),
10765
10798
  ...props
10766
10799
  }
10767
10800
  );
@@ -10797,7 +10830,7 @@ var ToastTitle = t__namespace.forwardRef(({ className, ...props }, ref) => /* @_
10797
10830
  ToastPrimitives__namespace.Title,
10798
10831
  {
10799
10832
  ref,
10800
- className: cn("text-sm font-semibold [&+div]:text-xs", className),
10833
+ className: cn("moonui-theme", "text-sm font-semibold [&+div]:text-xs", className),
10801
10834
  ...props
10802
10835
  }
10803
10836
  ));
@@ -10806,7 +10839,7 @@ var ToastDescription = t__namespace.forwardRef(({ className, ...props }, ref) =>
10806
10839
  ToastPrimitives__namespace.Description,
10807
10840
  {
10808
10841
  ref,
10809
- className: cn("text-sm opacity-90", className),
10842
+ className: cn("moonui-theme", "text-sm opacity-90", className),
10810
10843
  ...props
10811
10844
  }
10812
10845
  ));
@@ -11000,7 +11033,6 @@ exports.BreadcrumbList = BreadcrumbList;
11000
11033
  exports.BreadcrumbPage = BreadcrumbPage;
11001
11034
  exports.BreadcrumbSeparator = BreadcrumbSeparator;
11002
11035
  exports.Button = Button;
11003
- exports.Calendar = Calendar;
11004
11036
  exports.Card = Card;
11005
11037
  exports.CardContent = CardContent;
11006
11038
  exports.CardDescription = CardDescription;