gladvn 0.2.18 → 0.2.20

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 (203) hide show
  1. package/bin/cli.js +15 -5
  2. package/dist/components/macro/accordion-preset.d.ts.map +1 -1
  3. package/dist/components/macro/alert-dialog-preset.d.ts.map +1 -1
  4. package/dist/components/macro/alert-preset.d.ts.map +1 -1
  5. package/dist/components/macro/avatar-preset.d.ts.map +1 -1
  6. package/dist/components/macro/breadcrumb-preset.d.ts.map +1 -1
  7. package/dist/components/macro/card-preset.d.ts.map +1 -1
  8. package/dist/components/macro/carousel-preset.d.ts.map +1 -1
  9. package/dist/components/macro/checkbox-preset.d.ts.map +1 -1
  10. package/dist/components/macro/combobox-preset.d.ts.map +1 -1
  11. package/dist/components/macro/command-preset.d.ts +1 -1
  12. package/dist/components/macro/command-preset.d.ts.map +1 -1
  13. package/dist/components/macro/date-picker.d.ts.map +1 -1
  14. package/dist/components/macro/dialog-preset.d.ts.map +1 -1
  15. package/dist/components/macro/empty-preset.d.ts +1 -1
  16. package/dist/components/macro/empty-preset.d.ts.map +1 -1
  17. package/dist/components/macro/field-preset.d.ts.map +1 -1
  18. package/dist/components/macro/input-otp-preset.d.ts.map +1 -1
  19. package/dist/components/macro/input-preset.d.ts.map +1 -1
  20. package/dist/components/macro/pagination-preset.d.ts.map +1 -1
  21. package/dist/components/macro/progress-preset.d.ts.map +1 -1
  22. package/dist/components/macro/radio-group-preset.d.ts.map +1 -1
  23. package/dist/components/macro/select-preset.d.ts.map +1 -1
  24. package/dist/components/macro/slider-preset.d.ts.map +1 -1
  25. package/dist/components/macro/switch-preset.d.ts.map +1 -1
  26. package/dist/components/macro/tabs-preset.d.ts.map +1 -1
  27. package/dist/components/micro/alert-dialog.d.ts +4 -4
  28. package/dist/components/micro/alert-dialog.d.ts.map +1 -1
  29. package/dist/components/micro/combobox.d.ts +4 -3
  30. package/dist/components/micro/combobox.d.ts.map +1 -1
  31. package/dist/components/micro/context-menu.d.ts +4 -6
  32. package/dist/components/micro/context-menu.d.ts.map +1 -1
  33. package/dist/components/micro/dialog.d.ts +4 -3
  34. package/dist/components/micro/dialog.d.ts.map +1 -1
  35. package/dist/components/micro/drawer.d.ts +4 -3
  36. package/dist/components/micro/drawer.d.ts.map +1 -1
  37. package/dist/components/micro/dropdown-menu.d.ts +7 -4
  38. package/dist/components/micro/dropdown-menu.d.ts.map +1 -1
  39. package/dist/components/micro/hover-card.d.ts +4 -3
  40. package/dist/components/micro/hover-card.d.ts.map +1 -1
  41. package/dist/components/micro/menubar.d.ts +2 -3
  42. package/dist/components/micro/menubar.d.ts.map +1 -1
  43. package/dist/components/micro/navigation-menu.d.ts +4 -3
  44. package/dist/components/micro/navigation-menu.d.ts.map +1 -1
  45. package/dist/components/micro/popover.d.ts +4 -3
  46. package/dist/components/micro/popover.d.ts.map +1 -1
  47. package/dist/components/micro/select.d.ts +4 -3
  48. package/dist/components/micro/select.d.ts.map +1 -1
  49. package/dist/components/micro/sheet.d.ts +3 -3
  50. package/dist/components/micro/sheet.d.ts.map +1 -1
  51. package/dist/components/micro/tooltip.d.ts +4 -3
  52. package/dist/components/micro/tooltip.d.ts.map +1 -1
  53. package/dist/dev/showcase/accordion.d.ts.map +1 -1
  54. package/dist/dev/showcase/alert-dialog.d.ts.map +1 -1
  55. package/dist/dev/showcase/alert.d.ts.map +1 -1
  56. package/dist/dev/showcase/aspect-ratio.d.ts.map +1 -1
  57. package/dist/dev/showcase/avatar.d.ts.map +1 -1
  58. package/dist/dev/showcase/badge.d.ts.map +1 -1
  59. package/dist/dev/showcase/breadcrumb.d.ts.map +1 -1
  60. package/dist/dev/showcase/button.d.ts.map +1 -1
  61. package/dist/dev/showcase/calendar.d.ts.map +1 -1
  62. package/dist/dev/showcase/card.d.ts.map +1 -1
  63. package/dist/dev/showcase/carousel.d.ts.map +1 -1
  64. package/dist/dev/showcase/chart.d.ts.map +1 -1
  65. package/dist/dev/showcase/checkbox.d.ts.map +1 -1
  66. package/dist/dev/showcase/collapsible.d.ts.map +1 -1
  67. package/dist/dev/showcase/combobox.d.ts.map +1 -1
  68. package/dist/dev/showcase/command.d.ts.map +1 -1
  69. package/dist/dev/showcase/context-menu.d.ts.map +1 -1
  70. package/dist/dev/showcase/dialog.d.ts.map +1 -1
  71. package/dist/dev/showcase/drawer.d.ts.map +1 -1
  72. package/dist/dev/showcase/dropdown-menu.d.ts.map +1 -1
  73. package/dist/dev/showcase/empty.d.ts.map +1 -1
  74. package/dist/dev/showcase/hover-card.d.ts.map +1 -1
  75. package/dist/dev/showcase/input-group.d.ts.map +1 -1
  76. package/dist/dev/showcase/input-otp.d.ts.map +1 -1
  77. package/dist/dev/showcase/input.d.ts.map +1 -1
  78. package/dist/dev/showcase/item.d.ts.map +1 -1
  79. package/dist/dev/showcase/kbd.d.ts.map +1 -1
  80. package/dist/dev/showcase/label.d.ts.map +1 -1
  81. package/dist/dev/showcase/menubar.d.ts.map +1 -1
  82. package/dist/dev/showcase/navigation-menu.d.ts.map +1 -1
  83. package/dist/dev/showcase/overview.d.ts.map +1 -1
  84. package/dist/dev/showcase/pagination.d.ts.map +1 -1
  85. package/dist/dev/showcase/popover.d.ts.map +1 -1
  86. package/dist/dev/showcase/progress.d.ts.map +1 -1
  87. package/dist/dev/showcase/radio-group.d.ts.map +1 -1
  88. package/dist/dev/showcase/resizable.d.ts.map +1 -1
  89. package/dist/dev/showcase/scroll-area.d.ts.map +1 -1
  90. package/dist/dev/showcase/select.d.ts.map +1 -1
  91. package/dist/dev/showcase/separator.d.ts.map +1 -1
  92. package/dist/dev/showcase/sheet.d.ts.map +1 -1
  93. package/dist/dev/showcase/sidebar.d.ts.map +1 -1
  94. package/dist/dev/showcase/skeleton.d.ts.map +1 -1
  95. package/dist/dev/showcase/slider.d.ts.map +1 -1
  96. package/dist/dev/showcase/sonner.d.ts.map +1 -1
  97. package/dist/dev/showcase/spinner.d.ts.map +1 -1
  98. package/dist/dev/showcase/switch.d.ts.map +1 -1
  99. package/dist/dev/showcase/table.d.ts.map +1 -1
  100. package/dist/dev/showcase/tabs.d.ts.map +1 -1
  101. package/dist/dev/showcase/textarea.d.ts.map +1 -1
  102. package/dist/dev/showcase/theme-provider.d.ts.map +1 -1
  103. package/dist/dev/showcase/toast.d.ts.map +1 -1
  104. package/dist/dev/showcase/toggle-group.d.ts.map +1 -1
  105. package/dist/dev/showcase/toggle.d.ts.map +1 -1
  106. package/dist/dev/showcase/tooltip.d.ts.map +1 -1
  107. package/dist/index.cjs +256 -256
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.js +257 -244
  110. package/dist/index.js.map +1 -1
  111. package/package.json +1 -1
  112. package/src/components/macro/accordion-preset.test.tsx +1 -2
  113. package/src/components/macro/accordion-preset.tsx +1 -2
  114. package/src/components/macro/alert-dialog-preset.tsx +7 -12
  115. package/src/components/macro/alert-preset.tsx +1 -2
  116. package/src/components/macro/avatar-preset.tsx +2 -4
  117. package/src/components/macro/breadcrumb-preset.tsx +1 -2
  118. package/src/components/macro/card-preset.tsx +1 -2
  119. package/src/components/macro/carousel-preset.tsx +1 -2
  120. package/src/components/macro/checkbox-preset.tsx +1 -2
  121. package/src/components/macro/combobox-preset.tsx +8 -14
  122. package/src/components/macro/command-preset.tsx +18 -24
  123. package/src/components/macro/date-picker.tsx +14 -23
  124. package/src/components/macro/dialog-preset.tsx +45 -49
  125. package/src/components/macro/empty-preset.tsx +2 -4
  126. package/src/components/macro/field-preset.tsx +1 -2
  127. package/src/components/macro/input-otp-preset.tsx +1 -2
  128. package/src/components/macro/input-preset.tsx +1 -2
  129. package/src/components/macro/pagination-preset.tsx +3 -6
  130. package/src/components/macro/progress-preset.tsx +1 -2
  131. package/src/components/macro/radio-group-preset.tsx +2 -4
  132. package/src/components/macro/select-preset.tsx +7 -12
  133. package/src/components/macro/slider-preset.tsx +1 -2
  134. package/src/components/macro/switch-preset.tsx +1 -2
  135. package/src/components/macro/tabs-preset.tsx +1 -2
  136. package/src/components/micro/alert-dialog.tsx +16 -14
  137. package/src/components/micro/combobox.tsx +28 -22
  138. package/src/components/micro/context-menu.tsx +52 -36
  139. package/src/components/micro/dialog.tsx +23 -19
  140. package/src/components/micro/drawer.tsx +23 -19
  141. package/src/components/micro/dropdown-menu.tsx +23 -18
  142. package/src/components/micro/hover-card.tsx +31 -23
  143. package/src/components/micro/menubar.tsx +0 -8
  144. package/src/components/micro/navigation-menu.tsx +26 -19
  145. package/src/components/micro/popover.tsx +31 -25
  146. package/src/components/micro/select.tsx +36 -29
  147. package/src/components/micro/sheet.tsx +36 -31
  148. package/src/components/micro/tooltip.tsx +28 -23
  149. package/src/dev/showcase/accordion.tsx +47 -94
  150. package/src/dev/showcase/alert-dialog.tsx +27 -39
  151. package/src/dev/showcase/alert.tsx +5 -10
  152. package/src/dev/showcase/aspect-ratio.tsx +1 -2
  153. package/src/dev/showcase/avatar.tsx +5 -10
  154. package/src/dev/showcase/badge.tsx +2 -4
  155. package/src/dev/showcase/breadcrumb.tsx +8 -11
  156. package/src/dev/showcase/button.tsx +2 -4
  157. package/src/dev/showcase/calendar.tsx +5 -10
  158. package/src/dev/showcase/card.tsx +4 -8
  159. package/src/dev/showcase/carousel.tsx +40 -80
  160. package/src/dev/showcase/chart.tsx +7 -16
  161. package/src/dev/showcase/checkbox.tsx +7 -14
  162. package/src/dev/showcase/collapsible.tsx +3 -6
  163. package/src/dev/showcase/combobox.tsx +27 -43
  164. package/src/dev/showcase/command.tsx +4 -8
  165. package/src/dev/showcase/context-menu.tsx +13 -19
  166. package/src/dev/showcase/dialog.tsx +19 -33
  167. package/src/dev/showcase/drawer.tsx +19 -27
  168. package/src/dev/showcase/dropdown-menu.tsx +19 -29
  169. package/src/dev/showcase/empty.tsx +3 -6
  170. package/src/dev/showcase/hover-card.tsx +24 -36
  171. package/src/dev/showcase/input-group.tsx +4 -8
  172. package/src/dev/showcase/input-otp.tsx +5 -10
  173. package/src/dev/showcase/input.tsx +5 -10
  174. package/src/dev/showcase/item.tsx +3 -6
  175. package/src/dev/showcase/kbd.tsx +12 -16
  176. package/src/dev/showcase/label.tsx +2 -4
  177. package/src/dev/showcase/menubar.tsx +17 -19
  178. package/src/dev/showcase/navigation-menu.tsx +12 -15
  179. package/src/dev/showcase/overview.tsx +14 -27
  180. package/src/dev/showcase/pagination.tsx +4 -8
  181. package/src/dev/showcase/popover.tsx +21 -27
  182. package/src/dev/showcase/progress.tsx +4 -8
  183. package/src/dev/showcase/radio-group.tsx +8 -16
  184. package/src/dev/showcase/resizable.tsx +2 -4
  185. package/src/dev/showcase/scroll-area.tsx +1 -2
  186. package/src/dev/showcase/select.tsx +27 -39
  187. package/src/dev/showcase/separator.tsx +1 -2
  188. package/src/dev/showcase/sheet.tsx +22 -33
  189. package/src/dev/showcase/sidebar.tsx +2 -4
  190. package/src/dev/showcase/skeleton.tsx +1 -2
  191. package/src/dev/showcase/slider.tsx +5 -10
  192. package/src/dev/showcase/sonner.tsx +18 -38
  193. package/src/dev/showcase/spinner.tsx +2 -4
  194. package/src/dev/showcase/switch.tsx +6 -12
  195. package/src/dev/showcase/table.tsx +3 -6
  196. package/src/dev/showcase/tabs.tsx +20 -40
  197. package/src/dev/showcase/textarea.tsx +5 -10
  198. package/src/dev/showcase/theme-provider.tsx +384 -545
  199. package/src/dev/showcase/toast.tsx +4 -10
  200. package/src/dev/showcase/toggle-group.tsx +4 -8
  201. package/src/dev/showcase/toggle.tsx +2 -4
  202. package/src/dev/showcase/tooltip.tsx +34 -43
  203. package/src/styles/gladvn.css +1 -2
package/dist/index.js CHANGED
@@ -533,6 +533,97 @@ var ButtonIcon = React.forwardRef(function ButtonIcon({ className, render, ...pr
533
533
  });
534
534
  ButtonIcon.displayName = "ButtonIcon";
535
535
  //#endregion
536
+ //#region src/components/micro/theme-provider.tsx
537
+ /**
538
+ * ThemeProvider — Micro primitive.
539
+ *
540
+ * Supports both **uncontrolled** and **controlled** modes:
541
+ *
542
+ * - **Uncontrolled**: pass `defaultMode` (optional). Internal state manages
543
+ * the current mode. Children call `setMode()` via `useTheme()`.
544
+ * - **Controlled**: pass `mode` + `onModeChange`. The caller owns the state;
545
+ * `setMode()` inside the context delegates to `onModeChange`.
546
+ *
547
+ * Does NOT read localStorage, system preference, or sync to <html>.
548
+ * All of that belongs to Macro layer (e.g. a ThemeManager preset).
549
+ */
550
+ var ThemeContext = React.createContext(void 0);
551
+ /**
552
+ * Read and control the nearest ThemeProvider.
553
+ * Returns `undefined` when no provider is found in the tree.
554
+ *
555
+ * @example
556
+ * ```tsx
557
+ * const theme = useTheme();
558
+ * theme?.setMode("dark");
559
+ * console.log(theme?.mode); // "light" | "dark"
560
+ * ```
561
+ */
562
+ function useTheme() {
563
+ return React.useContext(ThemeContext);
564
+ }
565
+ /**
566
+ * ThemeProvider — wraps children in a `display: contents` div with the
567
+ * `.dark` or `.light` class applied, enabling CSS variable cascade without
568
+ * affecting layout.
569
+ *
570
+ * @example Uncontrolled
571
+ * ```tsx
572
+ * <ThemeProvider defaultMode="dark">
573
+ * <App />
574
+ * </ThemeProvider>
575
+ * ```
576
+ *
577
+ * @example Controlled
578
+ * ```tsx
579
+ * const [mode, setMode] = useState<ThemeMode>("light");
580
+ *
581
+ * <ThemeProvider mode={mode} onModeChange={setMode}>
582
+ * <App />
583
+ * </ThemeProvider>
584
+ * ```
585
+ */
586
+ function ThemeProvider({ children, defaultMode, mode: controlledMode, onModeChange }) {
587
+ const isControlled = controlledMode !== void 0;
588
+ const [internalMode, setInternalMode] = React.useState(defaultMode ?? "light");
589
+ const mode = isControlled ? controlledMode : internalMode;
590
+ const setMode = React.useCallback((next) => {
591
+ if (isControlled) onModeChange(next);
592
+ else setInternalMode(next);
593
+ }, [isControlled, onModeChange]);
594
+ const value = React.useMemo(() => ({
595
+ mode,
596
+ setMode
597
+ }), [mode, setMode]);
598
+ return /* @__PURE__ */ jsx(ThemeContext.Provider, {
599
+ value,
600
+ children: /* @__PURE__ */ jsx("div", {
601
+ className: mode,
602
+ style: { display: "contents" },
603
+ children
604
+ })
605
+ });
606
+ }
607
+ ThemeProvider.displayName = "ThemeProvider";
608
+ /**
609
+ * ThemeWrapper — re-applies the current theme class inside a Portal.
610
+ * Used internally by Dialog, Tooltip, Popover, etc. to tunnel the theme
611
+ * across the Portal boundary.
612
+ *
613
+ * Falls back gracefully (renders children as-is) when no ThemeProvider
614
+ * is found in the tree.
615
+ */
616
+ function ThemeWrapper({ children }) {
617
+ const theme = useTheme();
618
+ if (!theme) return /* @__PURE__ */ jsx(Fragment, { children });
619
+ return /* @__PURE__ */ jsx("div", {
620
+ className: theme.mode,
621
+ style: { display: "contents" },
622
+ children
623
+ });
624
+ }
625
+ ThemeWrapper.displayName = "ThemeWrapper";
626
+ //#endregion
536
627
  //#region src/components/micro/alert-dialog.tsx
537
628
  /**
538
629
  * @description A modal dialog that interrupts the user with important content and expects a response.
@@ -564,7 +655,6 @@ function AlertDialogClose({ ...props }) {
564
655
  ...props
565
656
  });
566
657
  }
567
- var AlertDialogPortal = AlertDialog$1.Portal;
568
658
  function AlertDialogOverlay({ className, ...props }) {
569
659
  return /* @__PURE__ */ jsx(AlertDialog$1.Backdrop, {
570
660
  "data-slot": "alert-dialog-overlay",
@@ -572,14 +662,17 @@ function AlertDialogOverlay({ className, ...props }) {
572
662
  ...props
573
663
  });
574
664
  }
575
- function AlertDialogContent({ className, size = "md", ...props }) {
576
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(AlertDialogOverlay, {}), /* @__PURE__ */ jsx(AlertDialog$1.Popup, {
665
+ var AlertDialogContent = React.forwardRef(({ className, container, size = "md", ...props }, ref) => /* @__PURE__ */ jsx(AlertDialog$1.Portal, {
666
+ container,
667
+ children: /* @__PURE__ */ jsxs(ThemeWrapper, { children: [/* @__PURE__ */ jsx(AlertDialogOverlay, {}), /* @__PURE__ */ jsx(AlertDialog$1.Popup, {
668
+ ref,
577
669
  "data-slot": "alert-dialog-content",
578
670
  "data-size": size,
579
671
  className: cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none", "data-[size=sm]:max-w-xs", "data-[size=md]:max-w-xs data-[size=md]:sm:max-w-sm", "data-[size=lg]:max-w-sm data-[size=lg]:sm:max-w-md", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
580
672
  ...props
581
- })] });
582
- }
673
+ })] })
674
+ }));
675
+ AlertDialogContent.displayName = "AlertDialogContent";
583
676
  function AlertDialogHeader({ className, ...props }) {
584
677
  return /* @__PURE__ */ jsx("div", {
585
678
  "data-slot": "alert-dialog-header",
@@ -1048,7 +1141,6 @@ var SelectValue = React.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1048
1141
  ...props
1049
1142
  }));
1050
1143
  SelectValue.displayName = "SelectValue";
1051
- var SelectPortal = Select$1.Portal;
1052
1144
  var selectTriggerVariants = cva("inline-flex items-center justify-between rounded-lg border border-input bg-transparent text-foreground text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:focus-visible:ring-3 aria-invalid:focus-visible:ring-destructive/50 data-placeholder:text-muted-foreground [&_[data-slot=select-value]]:line-clamp-1 [&_[data-slot=select-value]]:flex [&_[data-slot=select-value]]:items-center [&>svg]:pointer-events-none [&>svg]:shrink-0 [&>svg:not([class*='size-'])]:size-4 dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:focus-visible:ring-destructive/50", { variants: { size: {
1053
1145
  sm: "h-7 gap-1 px-2 py-0.5 text-xs [&_[data-slot=select-value]]:gap-1",
1054
1146
  md: "h-8 gap-1.5 px-2.5 py-1 text-sm [&_[data-slot=select-value]]:gap-1.5",
@@ -1065,25 +1157,28 @@ var SelectTrigger = React.forwardRef(({ className, size = "md", children, ...pro
1065
1157
  children: [children, /* @__PURE__ */ jsx(Select$1.Icon, { render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })]
1066
1158
  }));
1067
1159
  SelectTrigger.displayName = "SelectTrigger";
1068
- var SelectContent = React.forwardRef(({ className, children, side = "bottom", sideOffset = 4, align = "center", alignOffset = 0, alignItemWithTrigger = false, ...props }, ref) => /* @__PURE__ */ jsx(Select$1.Positioner, {
1069
- side,
1070
- sideOffset,
1071
- align,
1072
- alignOffset,
1073
- alignItemWithTrigger,
1074
- className: "isolate z-50",
1075
- children: /* @__PURE__ */ jsxs(Select$1.Popup, {
1076
- ref,
1077
- "data-slot": "select-content",
1078
- "data-align-trigger": alignItemWithTrigger,
1079
- className: cn("relative isolate z-50 max-h-(--available-height) w-[calc(var(--anchor-width)+8px)] overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", alignItemWithTrigger ? "origin-(--transform-origin) data-[align-trigger=true]:animate-none" : "", className),
1080
- ...props,
1081
- children: [
1082
- /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
1083
- /* @__PURE__ */ jsx(Select$1.List, { children }),
1084
- /* @__PURE__ */ jsx(SelectScrollDownButton, {})
1085
- ]
1086
- })
1160
+ var SelectContent = React.forwardRef(({ className, children, side = "bottom", sideOffset = 4, align = "center", alignOffset = 0, alignItemWithTrigger = false, container, ...props }, ref) => /* @__PURE__ */ jsx(Select$1.Portal, {
1161
+ container,
1162
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(Select$1.Positioner, {
1163
+ side,
1164
+ sideOffset,
1165
+ align,
1166
+ alignOffset,
1167
+ alignItemWithTrigger,
1168
+ className: "isolate z-50",
1169
+ children: /* @__PURE__ */ jsxs(Select$1.Popup, {
1170
+ ref,
1171
+ "data-slot": "select-content",
1172
+ "data-align-trigger": alignItemWithTrigger,
1173
+ className: cn("relative isolate z-50 max-h-(--available-height) w-[calc(var(--anchor-width)+8px)] overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", alignItemWithTrigger ? "origin-(--transform-origin) data-[align-trigger=true]:animate-none" : "", className),
1174
+ ...props,
1175
+ children: [
1176
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
1177
+ /* @__PURE__ */ jsx(Select$1.List, { children }),
1178
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
1179
+ ]
1180
+ })
1181
+ }) })
1087
1182
  }));
1088
1183
  SelectContent.displayName = "SelectContent";
1089
1184
  var SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Select$1.GroupLabel, {
@@ -2006,22 +2101,24 @@ function ComboboxInput({ className, ...props }) {
2006
2101
  ...props
2007
2102
  });
2008
2103
  }
2009
- var ComboboxContent = React.forwardRef(({ className, side = "bottom", sideOffset = 4, align = "start", alignOffset = 0, anchor, ...props }, ref) => {
2104
+ var ComboboxContent = React.forwardRef(({ className, side = "bottom", sideOffset = 4, align = "start", alignOffset = 0, anchor, container, ...props }, ref) => {
2010
2105
  const { anchor: contextAnchor } = React.useContext(ComboboxContext);
2011
- return /* @__PURE__ */ jsx(Combobox$1.Positioner, {
2012
- side,
2013
- sideOffset,
2014
- align,
2015
- alignOffset,
2016
- anchor: anchor || contextAnchor,
2017
- className: "isolate z-50",
2018
- children: /* @__PURE__ */ jsx(Combobox$1.Popup, {
2019
- ref,
2020
- "data-slot": "combobox-content",
2021
- "data-chips": !!anchor,
2022
- className: cn("group/combobox-content relative max-h-(--available-height) min-w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 p-1 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 [&_[data-slot=input-group]]:mb-1 [&_[data-slot=input-group]]:w-full [&_[data-slot=input-group]]:border-input/30 [&_[data-slot=input-group]]:bg-input/30 [&_[data-slot=input-group]]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
2023
- ...props
2024
- })
2106
+ return /* @__PURE__ */ jsx(Combobox$1.Portal, {
2107
+ container,
2108
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(Combobox$1.Positioner, {
2109
+ side,
2110
+ sideOffset,
2111
+ align,
2112
+ alignOffset,
2113
+ anchor: anchor || contextAnchor,
2114
+ className: "isolate z-50",
2115
+ children: /* @__PURE__ */ jsx(Combobox$1.Popup, {
2116
+ ref,
2117
+ "data-slot": "combobox-content",
2118
+ className: cn("group/combobox-content relative max-h-(--available-height) min-w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 p-1 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 [&_[data-slot=input-group]]:mb-1 [&_[data-slot=input-group]]:w-full [&_[data-slot=input-group]]:border-input/30 [&_[data-slot=input-group]]:bg-input/30 [&_[data-slot=input-group]]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
2119
+ ...props
2120
+ })
2121
+ }) })
2025
2122
  });
2026
2123
  });
2027
2124
  ComboboxContent.displayName = "ComboboxContent";
@@ -2077,7 +2174,6 @@ function ComboboxSeparator({ className, ...props }) {
2077
2174
  ...props
2078
2175
  });
2079
2176
  }
2080
- var ComboboxPortal = Combobox$1.Portal;
2081
2177
  var comboboxChipsVariants = cva("group/combobox-chips flex flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:focus-within:ring-3 has-aria-invalid:focus-within:ring-destructive/20 has-[[data-slot=combobox-chip]]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:focus-within:ring-destructive/40 has-disabled:opacity-50 has-disabled:cursor-not-allowed has-disabled:pointer-events-none", { variants: { size: {
2082
2178
  sm: "chips-sm min-h-7 px-2 py-0.5 text-xs",
2083
2179
  md: "chips-md min-h-8 px-2.5 py-1 text-sm",
@@ -2271,8 +2367,6 @@ function ContextMenu({ ...props }) {
2271
2367
  });
2272
2368
  }
2273
2369
  ContextMenu.displayName = "ContextMenu";
2274
- var ContextMenuPortal = ContextMenu$1.Portal;
2275
- ContextMenuPortal.displayName = "ContextMenuPortal";
2276
2370
  var ContextMenuTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu$1.Trigger, {
2277
2371
  ref,
2278
2372
  "data-slot": "context-menu-trigger",
@@ -2280,20 +2374,25 @@ var ContextMenuTrigger = React.forwardRef(({ className, ...props }, ref) => /* @
2280
2374
  ...props
2281
2375
  }));
2282
2376
  ContextMenuTrigger.displayName = "ContextMenuTrigger";
2283
- function ContextMenuContent({ className, align = "start", alignOffset = 4, side = "right", sideOffset = 0, ...props }) {
2284
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(ContextMenu$1.Positioner, {
2285
- className: "isolate z-50 outline-none",
2286
- align,
2287
- alignOffset,
2288
- side,
2289
- sideOffset,
2290
- children: /* @__PURE__ */ jsx(ContextMenu$1.Popup, {
2291
- "data-slot": "context-menu-content",
2292
- className: cn("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
2293
- ...props
2294
- })
2295
- }) });
2296
- }
2377
+ var ContextMenuContent = React.forwardRef(({ className, align = "start", alignOffset = 0, side = "right", sideOffset = 4, container, children, ...props }, ref) => {
2378
+ return /* @__PURE__ */ jsx(ContextMenu$1.Portal, {
2379
+ container,
2380
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(ContextMenu$1.Positioner, {
2381
+ align,
2382
+ alignOffset,
2383
+ side,
2384
+ sideOffset,
2385
+ className: "isolate z-50 outline-none",
2386
+ children: /* @__PURE__ */ jsx(ContextMenu$1.Popup, {
2387
+ ref,
2388
+ "data-slot": "context-menu-content",
2389
+ className: cn("z-50 min-w-[8rem] origin-(--transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-md duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
2390
+ ...props,
2391
+ children
2392
+ })
2393
+ }) })
2394
+ });
2395
+ });
2297
2396
  ContextMenuContent.displayName = "ContextMenuContent";
2298
2397
  function ContextMenuGroup({ ...props }) {
2299
2398
  return /* @__PURE__ */ jsx(ContextMenu$1.Group, {
@@ -2411,7 +2510,6 @@ var DialogTrigger = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
2411
2510
  ...props
2412
2511
  }));
2413
2512
  DialogTrigger.displayName = "DialogTrigger";
2414
- var DialogPortal = Dialog$1.Portal;
2415
2513
  var DialogClose = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(Dialog$1.Close, {
2416
2514
  ref,
2417
2515
  "data-slot": "dialog-close",
@@ -2425,13 +2523,16 @@ var DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PUR
2425
2523
  ...props
2426
2524
  }));
2427
2525
  DialogOverlay.displayName = "DialogOverlay";
2428
- var DialogContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsx(Dialog$1.Popup, {
2429
- ref,
2430
- "data-slot": "dialog-content",
2431
- className: cn("group/dialog-content fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-y-auto", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
2432
- ...props,
2433
- children
2434
- })] }));
2526
+ var DialogContent = React.forwardRef(({ className, children, container, ...props }, ref) => /* @__PURE__ */ jsx(Dialog$1.Portal, {
2527
+ container,
2528
+ children: /* @__PURE__ */ jsxs(ThemeWrapper, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsx(Dialog$1.Popup, {
2529
+ ref,
2530
+ "data-slot": "dialog-content",
2531
+ className: cn("group/dialog-content fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-y-auto", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
2532
+ ...props,
2533
+ children
2534
+ })] })
2535
+ }));
2435
2536
  DialogContent.displayName = "DialogContent";
2436
2537
  var DialogHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
2437
2538
  ref,
@@ -2493,7 +2594,6 @@ var DrawerTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PUR
2493
2594
  ...props
2494
2595
  }));
2495
2596
  DrawerTrigger.displayName = "DrawerTrigger";
2496
- var DrawerPortal = Drawer$1.Portal;
2497
2597
  var DrawerClose = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Drawer$1.Close, {
2498
2598
  ref,
2499
2599
  "data-slot": "drawer-close",
@@ -2507,15 +2607,15 @@ var DrawerOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PUR
2507
2607
  ...props
2508
2608
  }));
2509
2609
  DrawerOverlay.displayName = "DrawerOverlay";
2510
- var DrawerContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DrawerPortal, {
2511
- "data-slot": "drawer-portal",
2512
- children: [/* @__PURE__ */ jsx(DrawerOverlay, {}), /* @__PURE__ */ jsxs(Drawer$1.Content, {
2610
+ var DrawerContent = React.forwardRef(({ className, children, container, ...props }, ref) => /* @__PURE__ */ jsx(Drawer$1.Portal, {
2611
+ container,
2612
+ children: /* @__PURE__ */ jsxs(ThemeWrapper, { children: [/* @__PURE__ */ jsx(DrawerOverlay, {}), /* @__PURE__ */ jsxs(Drawer$1.Content, {
2513
2613
  ref,
2514
2614
  "data-slot": "drawer-content",
2515
2615
  className: cn("group/drawer-content fixed z-50 flex h-auto flex-col bg-popover text-sm text-popover-foreground data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm", className),
2516
2616
  ...props,
2517
2617
  children: [/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }), children]
2518
- })]
2618
+ })] })
2519
2619
  }));
2520
2620
  DrawerContent.displayName = "DrawerContent";
2521
2621
  var DrawerHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
@@ -2562,29 +2662,29 @@ function DropdownMenu({ ...props }) {
2562
2662
  });
2563
2663
  }
2564
2664
  DropdownMenu.displayName = "DropdownMenu";
2565
- var DropdownMenuPortal = Menu.Portal;
2566
- DropdownMenuPortal.displayName = "DropdownMenuPortal";
2567
2665
  var DropdownMenuTrigger = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(Menu.Trigger, {
2568
2666
  ref,
2569
2667
  "data-slot": "dropdown-menu-trigger",
2570
2668
  ...props
2571
2669
  }));
2572
2670
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
2573
- var DropdownMenuContent = React.forwardRef(({ align = "start", alignOffset = 0, side = "bottom", sideOffset = 4, className, ...props }, ref) => {
2574
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
2575
- className: "isolate z-50 outline-none",
2671
+ var DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, side = "bottom", align = "start", alignOffset = 0, container, children, ...props }, ref) => /* @__PURE__ */ jsx(Menu.Portal, {
2672
+ container,
2673
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
2576
2674
  align,
2577
2675
  alignOffset,
2578
2676
  side,
2579
2677
  sideOffset,
2678
+ className: "isolate z-50 outline-none",
2580
2679
  children: /* @__PURE__ */ jsx(Menu.Popup, {
2581
2680
  ref,
2582
2681
  "data-slot": "dropdown-menu-content",
2583
2682
  className: cn("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", className),
2584
- ...props
2683
+ ...props,
2684
+ children
2585
2685
  })
2586
- }) });
2587
- });
2686
+ }) })
2687
+ }));
2588
2688
  DropdownMenuContent.displayName = "DropdownMenuContent";
2589
2689
  var DropdownMenuGroup = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(Menu.Group, {
2590
2690
  ref,
@@ -3029,20 +3129,22 @@ var HoverCardTrigger = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ j
3029
3129
  ...props
3030
3130
  }));
3031
3131
  HoverCardTrigger.displayName = "HoverCardTrigger";
3032
- var HoverCardPortal = PreviewCard.Portal;
3033
- var HoverCardContent = React.forwardRef(({ className, side = "bottom", sideOffset = 4, align = "center", alignOffset = 4, ...props }, ref) => {
3034
- return /* @__PURE__ */ jsx(PreviewCard.Positioner, {
3035
- align,
3036
- alignOffset,
3037
- side,
3038
- sideOffset,
3039
- className: "isolate",
3040
- children: /* @__PURE__ */ jsx(PreviewCard.Popup, {
3041
- ref,
3042
- "data-slot": "hover-card-content",
3043
- className: cn("z-50 w-64 origin-(--transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100", "data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:animate-none motion-reduce:transition-none", className),
3044
- ...props
3045
- })
3132
+ var HoverCardContent = React.forwardRef(({ className, side = "bottom", sideOffset = 4, align = "center", alignOffset = 4, container, ...props }, ref) => {
3133
+ return /* @__PURE__ */ jsx(PreviewCard.Portal, {
3134
+ container,
3135
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(PreviewCard.Positioner, {
3136
+ align,
3137
+ alignOffset,
3138
+ side,
3139
+ sideOffset,
3140
+ className: "isolate",
3141
+ children: /* @__PURE__ */ jsx(PreviewCard.Popup, {
3142
+ ref,
3143
+ "data-slot": "hover-card-content",
3144
+ className: cn("z-50 w-64 origin-(--transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100", "data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:animate-none motion-reduce:transition-none", className),
3145
+ ...props
3146
+ })
3147
+ }) })
3046
3148
  });
3047
3149
  });
3048
3150
  HoverCardContent.displayName = "HoverCardContent";
@@ -3313,12 +3415,6 @@ function MenubarGroup({ ...props }) {
3313
3415
  ...props
3314
3416
  });
3315
3417
  }
3316
- function MenubarPortal({ ...props }) {
3317
- return /* @__PURE__ */ jsx(DropdownMenuPortal, {
3318
- "data-slot": "menubar-portal",
3319
- ...props
3320
- });
3321
- }
3322
3418
  function MenubarTrigger({ className, ...props }) {
3323
3419
  return /* @__PURE__ */ jsx(DropdownMenuTrigger, {
3324
3420
  "data-slot": "menubar-trigger",
@@ -3489,19 +3585,22 @@ var NavigationMenuContent = React.forwardRef(({ className, ...props }, ref) => {
3489
3585
  });
3490
3586
  });
3491
3587
  NavigationMenuContent.displayName = "NavigationMenuContent";
3492
- var NavigationMenuPositioner = React.forwardRef(({ className, side = "bottom", sideOffset = 8, align = "start", alignOffset = 0, ...props }, ref) => {
3493
- return /* @__PURE__ */ jsx(NavigationMenu$1.Positioner, {
3494
- ref,
3495
- side,
3496
- sideOffset,
3497
- align,
3498
- alignOffset,
3499
- className: cn("isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", className),
3500
- ...props,
3501
- children: /* @__PURE__ */ jsx(NavigationMenu$1.Popup, {
3502
- className: "data-ending-style:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0",
3503
- children: /* @__PURE__ */ jsx(NavigationMenuViewport, {})
3504
- })
3588
+ var NavigationMenuPositioner = React.forwardRef(({ className, side = "bottom", sideOffset = 8, align = "start", alignOffset = 0, container, ...props }, ref) => {
3589
+ return /* @__PURE__ */ jsx(NavigationMenu$1.Portal, {
3590
+ container,
3591
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(NavigationMenu$1.Positioner, {
3592
+ ref,
3593
+ side,
3594
+ sideOffset,
3595
+ align,
3596
+ alignOffset,
3597
+ className: cn("isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", className),
3598
+ ...props,
3599
+ children: /* @__PURE__ */ jsx(NavigationMenu$1.Popup, {
3600
+ className: "data-ending-style:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0",
3601
+ children: /* @__PURE__ */ jsx(NavigationMenuViewport, {})
3602
+ })
3603
+ }) })
3505
3604
  });
3506
3605
  });
3507
3606
  NavigationMenuPositioner.displayName = "NavigationMenuPositioner";
@@ -3520,7 +3619,6 @@ var NavigationMenuLink = React.forwardRef(({ className, ...props }, ref) => {
3520
3619
  });
3521
3620
  });
3522
3621
  NavigationMenuLink.displayName = "NavigationMenuLink";
3523
- var NavigationMenuPortal = NavigationMenu$1.Portal;
3524
3622
  //#endregion
3525
3623
  //#region src/components/micro/pagination.tsx
3526
3624
  var ellipsisSizeMap = {
@@ -3641,9 +3739,9 @@ var PopoverTrigger = React.forwardRef((props, ref) => {
3641
3739
  });
3642
3740
  });
3643
3741
  PopoverTrigger.displayName = "PopoverTrigger";
3644
- var PopoverPortal = Popover$1.Portal;
3645
- var PopoverContent = React.forwardRef(({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, ...props }, ref) => {
3646
- return /* @__PURE__ */ jsx(Popover$1.Positioner, {
3742
+ var PopoverContent = React.forwardRef(({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, container, children, ...props }, ref) => /* @__PURE__ */ jsx(Popover$1.Portal, {
3743
+ container,
3744
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(Popover$1.Positioner, {
3647
3745
  align,
3648
3746
  alignOffset,
3649
3747
  side,
@@ -3653,10 +3751,11 @@ var PopoverContent = React.forwardRef(({ className, align = "center", alignOffse
3653
3751
  ref,
3654
3752
  "data-slot": "popover-content",
3655
3753
  className: cn("flex origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
3656
- ...props
3754
+ ...props,
3755
+ children
3657
3756
  })
3658
- });
3659
- });
3757
+ }) })
3758
+ }));
3660
3759
  PopoverContent.displayName = "PopoverContent";
3661
3760
  var PopoverHeader = React.forwardRef(({ className, ...props }, ref) => {
3662
3761
  return /* @__PURE__ */ jsx("div", {
@@ -3921,7 +4020,6 @@ function SheetClose({ ...props }) {
3921
4020
  ...props
3922
4021
  });
3923
4022
  }
3924
- var SheetPortal = Dialog$1.Portal;
3925
4023
  function SheetOverlay({ className, ...props }) {
3926
4024
  return /* @__PURE__ */ jsx(Dialog$1.Backdrop, {
3927
4025
  "data-slot": "sheet-overlay",
@@ -3929,25 +4027,29 @@ function SheetOverlay({ className, ...props }) {
3929
4027
  ...props
3930
4028
  });
3931
4029
  }
3932
- function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }) {
3933
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(Dialog$1.Popup, {
3934
- "data-slot": "sheet-content",
3935
- "data-side": side,
3936
- className: cn("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm motion-reduce:transition-none", className),
3937
- ...props,
3938
- children: [children, showCloseButton && /* @__PURE__ */ jsxs(Dialog$1.Close, {
3939
- "data-slot": "sheet-close",
3940
- render: /* @__PURE__ */ jsx(Button, {
3941
- variant: "ghost",
3942
- className: "absolute top-4 right-4",
3943
- size: "sm"
3944
- }),
3945
- children: [/* @__PURE__ */ jsx(XIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", {
3946
- className: "sr-only",
3947
- children: "Close"
4030
+ function SheetContent({ className, children, side = "right", showCloseButton = true, container, ...props }) {
4031
+ return /* @__PURE__ */ jsx(Dialog$1.Portal, {
4032
+ container,
4033
+ children: /* @__PURE__ */ jsxs(ThemeWrapper, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(Dialog$1.Popup, {
4034
+ "data-slot": "sheet-content",
4035
+ "data-side": side,
4036
+ className: cn("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm motion-reduce:transition-none", className),
4037
+ ...props,
4038
+ children: [children, showCloseButton && /* @__PURE__ */ jsxs(Dialog$1.Close, {
4039
+ "data-slot": "sheet-close",
4040
+ render: /* @__PURE__ */ jsx(Button, {
4041
+ variant: "ghost",
4042
+ className: "absolute top-4 right-4",
4043
+ size: "sm",
4044
+ iconOnly: true
4045
+ }),
4046
+ children: [/* @__PURE__ */ jsx(XIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", {
4047
+ className: "sr-only",
4048
+ children: "Close"
4049
+ })]
3948
4050
  })]
3949
- })]
3950
- })] });
4051
+ })] })
4052
+ });
3951
4053
  }
3952
4054
  function SheetHeader({ className, ...props }) {
3953
4055
  return /* @__PURE__ */ jsx("div", {
@@ -4202,97 +4304,6 @@ function Spinner({ className, size = "md", ...props }) {
4202
4304
  });
4203
4305
  }
4204
4306
  //#endregion
4205
- //#region src/components/micro/theme-provider.tsx
4206
- /**
4207
- * ThemeProvider — Micro primitive.
4208
- *
4209
- * Supports both **uncontrolled** and **controlled** modes:
4210
- *
4211
- * - **Uncontrolled**: pass `defaultMode` (optional). Internal state manages
4212
- * the current mode. Children call `setMode()` via `useTheme()`.
4213
- * - **Controlled**: pass `mode` + `onModeChange`. The caller owns the state;
4214
- * `setMode()` inside the context delegates to `onModeChange`.
4215
- *
4216
- * Does NOT read localStorage, system preference, or sync to <html>.
4217
- * All of that belongs to Macro layer (e.g. a ThemeManager preset).
4218
- */
4219
- var ThemeContext = React.createContext(void 0);
4220
- /**
4221
- * Read and control the nearest ThemeProvider.
4222
- * Returns `undefined` when no provider is found in the tree.
4223
- *
4224
- * @example
4225
- * ```tsx
4226
- * const theme = useTheme();
4227
- * theme?.setMode("dark");
4228
- * console.log(theme?.mode); // "light" | "dark"
4229
- * ```
4230
- */
4231
- function useTheme() {
4232
- return React.useContext(ThemeContext);
4233
- }
4234
- /**
4235
- * ThemeProvider — wraps children in a `display: contents` div with the
4236
- * `.dark` or `.light` class applied, enabling CSS variable cascade without
4237
- * affecting layout.
4238
- *
4239
- * @example Uncontrolled
4240
- * ```tsx
4241
- * <ThemeProvider defaultMode="dark">
4242
- * <App />
4243
- * </ThemeProvider>
4244
- * ```
4245
- *
4246
- * @example Controlled
4247
- * ```tsx
4248
- * const [mode, setMode] = useState<ThemeMode>("light");
4249
- *
4250
- * <ThemeProvider mode={mode} onModeChange={setMode}>
4251
- * <App />
4252
- * </ThemeProvider>
4253
- * ```
4254
- */
4255
- function ThemeProvider({ children, defaultMode, mode: controlledMode, onModeChange }) {
4256
- const isControlled = controlledMode !== void 0;
4257
- const [internalMode, setInternalMode] = React.useState(defaultMode ?? "light");
4258
- const mode = isControlled ? controlledMode : internalMode;
4259
- const setMode = React.useCallback((next) => {
4260
- if (isControlled) onModeChange(next);
4261
- else setInternalMode(next);
4262
- }, [isControlled, onModeChange]);
4263
- const value = React.useMemo(() => ({
4264
- mode,
4265
- setMode
4266
- }), [mode, setMode]);
4267
- return /* @__PURE__ */ jsx(ThemeContext.Provider, {
4268
- value,
4269
- children: /* @__PURE__ */ jsx("div", {
4270
- className: mode,
4271
- style: { display: "contents" },
4272
- children
4273
- })
4274
- });
4275
- }
4276
- ThemeProvider.displayName = "ThemeProvider";
4277
- /**
4278
- * ThemeWrapper — re-applies the current theme class inside a Portal.
4279
- * Used internally by Dialog, Tooltip, Popover, etc. to tunnel the theme
4280
- * across the Portal boundary.
4281
- *
4282
- * Falls back gracefully (renders children as-is) when no ThemeProvider
4283
- * is found in the tree.
4284
- */
4285
- function ThemeWrapper({ children }) {
4286
- const theme = useTheme();
4287
- if (!theme) return /* @__PURE__ */ jsx(Fragment, { children });
4288
- return /* @__PURE__ */ jsx("div", {
4289
- className: theme.mode,
4290
- style: { display: "contents" },
4291
- children
4292
- });
4293
- }
4294
- ThemeWrapper.displayName = "ThemeWrapper";
4295
- //#endregion
4296
4307
  //#region src/components/micro/sonner.tsx
4297
4308
  /**
4298
4309
  * ✅ AUDITED & REFACTORED
@@ -4716,25 +4727,27 @@ var TooltipTrigger = React.forwardRef((props, ref) => {
4716
4727
  });
4717
4728
  });
4718
4729
  TooltipTrigger.displayName = "TooltipTrigger";
4719
- var TooltipPortal = Tooltip$1.Portal;
4720
- var TooltipContent = React.forwardRef(({ className, side = "top", sideOffset = 4, align = "center", alignOffset = 0, children, ...props }, ref) => {
4721
- return /* @__PURE__ */ jsx(Tooltip$1.Positioner, {
4722
- align,
4723
- alignOffset,
4724
- side,
4725
- sideOffset,
4726
- className: "isolate z-50",
4727
- children: /* @__PURE__ */ jsx(Tooltip$1.Popup, {
4728
- ref,
4729
- "data-slot": "tooltip-content",
4730
- className: cn("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
4731
- ...props,
4732
- children
4733
- })
4730
+ var TooltipContent = React.forwardRef(({ className, side = "top", sideOffset = 4, align = "center", alignOffset = 0, container, children, ...props }, ref) => {
4731
+ return /* @__PURE__ */ jsx(Tooltip$1.Portal, {
4732
+ container,
4733
+ children: /* @__PURE__ */ jsx(ThemeWrapper, { children: /* @__PURE__ */ jsx(Tooltip$1.Positioner, {
4734
+ align,
4735
+ alignOffset,
4736
+ side,
4737
+ sideOffset,
4738
+ className: "isolate z-50",
4739
+ children: /* @__PURE__ */ jsx(Tooltip$1.Popup, {
4740
+ ref,
4741
+ "data-slot": "tooltip-content",
4742
+ className: cn("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
4743
+ ...props,
4744
+ children
4745
+ })
4746
+ }) })
4734
4747
  });
4735
4748
  });
4736
4749
  TooltipContent.displayName = "TooltipContent";
4737
4750
  //#endregion
4738
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertIcon, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonIcon, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselDots, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxIndicator, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxAnchor, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxPortal, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyAction, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPortal, NavigationMenuPositioner, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverPortal, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectPortal, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarLabel, SidebarLogo, SidebarMenuItem, SidebarMenuItemList, Skeleton, Slider, SliderControl, SliderIndicator, SliderThumb, SliderTrack, Spinner, Switch, SwitchThumb, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider, ThemeWrapper, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, labelVariants, navigationMenuTriggerStyle, selectTriggerVariants, tabsListVariants, toggleVariants, useCarousel, useComboboxContext, useDirection, useIsMobile, useSidebarToggle, useTheme };
4751
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogTitle, AlertDialogTrigger, AlertIcon, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonIcon, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselDots, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxIndicator, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxAnchor, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyAction, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger, Sidebar, SidebarLabel, SidebarLogo, SidebarMenuItem, SidebarMenuItemList, Skeleton, Slider, SliderControl, SliderIndicator, SliderThumb, SliderTrack, Spinner, Switch, SwitchThumb, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider, ThemeWrapper, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, labelVariants, navigationMenuTriggerStyle, selectTriggerVariants, tabsListVariants, toggleVariants, useCarousel, useComboboxContext, useDirection, useIsMobile, useSidebarToggle, useTheme };
4739
4752
 
4740
4753
  //# sourceMappingURL=index.js.map