@esmate/shadcn 1.0.0 → 1.1.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 (188) hide show
  1. package/README.md +21 -2
  2. package/dist/hooks/use-mobile.d.ts +1 -0
  3. package/dist/hooks/use-mobile.js +16 -0
  4. package/dist/hooks/use-zod-form.d.ts +8 -0
  5. package/dist/hooks/use-zod-form.js +10 -0
  6. package/dist/lib/class-variance-authority.d.ts +1 -0
  7. package/dist/lib/class-variance-authority.js +1 -0
  8. package/dist/lib/clsx.d.ts +2 -0
  9. package/dist/lib/clsx.js +4 -0
  10. package/dist/lib/cmdk.d.ts +1 -0
  11. package/dist/lib/cmdk.js +1 -0
  12. package/dist/lib/date-fns.d.ts +1 -0
  13. package/dist/lib/date-fns.js +1 -0
  14. package/dist/lib/embla-carousel-react.d.ts +2 -0
  15. package/dist/lib/embla-carousel-react.js +4 -0
  16. package/dist/lib/hookform__resolvers.d.ts +1 -0
  17. package/dist/lib/hookform__resolvers.js +1 -0
  18. package/dist/lib/input-otp.d.ts +1 -0
  19. package/dist/lib/input-otp.js +1 -0
  20. package/dist/lib/lucide-react.d.ts +2 -0
  21. package/dist/lib/lucide-react.js +4 -0
  22. package/dist/lib/next-themes.d.ts +1 -0
  23. package/dist/lib/next-themes.js +1 -0
  24. package/dist/lib/radix-ui__react-accordion.d.ts +1 -0
  25. package/dist/lib/radix-ui__react-accordion.js +1 -0
  26. package/dist/lib/radix-ui__react-alert-dialog.d.ts +1 -0
  27. package/dist/lib/radix-ui__react-alert-dialog.js +1 -0
  28. package/dist/lib/radix-ui__react-aspect-ratio.d.ts +1 -0
  29. package/dist/lib/radix-ui__react-aspect-ratio.js +1 -0
  30. package/dist/lib/radix-ui__react-avatar.d.ts +1 -0
  31. package/dist/lib/radix-ui__react-avatar.js +1 -0
  32. package/dist/lib/radix-ui__react-checkbox.d.ts +1 -0
  33. package/dist/lib/radix-ui__react-checkbox.js +1 -0
  34. package/dist/lib/radix-ui__react-collapsible.d.ts +1 -0
  35. package/dist/lib/radix-ui__react-collapsible.js +1 -0
  36. package/dist/lib/radix-ui__react-context-menu.d.ts +1 -0
  37. package/dist/lib/radix-ui__react-context-menu.js +1 -0
  38. package/dist/lib/radix-ui__react-dialog.d.ts +1 -0
  39. package/dist/lib/radix-ui__react-dialog.js +1 -0
  40. package/dist/lib/radix-ui__react-dropdown-menu.d.ts +1 -0
  41. package/dist/lib/radix-ui__react-dropdown-menu.js +1 -0
  42. package/dist/lib/radix-ui__react-hover-card.d.ts +1 -0
  43. package/dist/lib/radix-ui__react-hover-card.js +1 -0
  44. package/dist/lib/radix-ui__react-label.d.ts +1 -0
  45. package/dist/lib/radix-ui__react-label.js +1 -0
  46. package/dist/lib/radix-ui__react-menubar.d.ts +1 -0
  47. package/dist/lib/radix-ui__react-menubar.js +1 -0
  48. package/dist/lib/radix-ui__react-navigation-menu.d.ts +1 -0
  49. package/dist/lib/radix-ui__react-navigation-menu.js +1 -0
  50. package/dist/lib/radix-ui__react-popover.d.ts +1 -0
  51. package/dist/lib/radix-ui__react-popover.js +1 -0
  52. package/dist/lib/radix-ui__react-progress.d.ts +1 -0
  53. package/dist/lib/radix-ui__react-progress.js +1 -0
  54. package/dist/lib/radix-ui__react-radio-group.d.ts +1 -0
  55. package/dist/lib/radix-ui__react-radio-group.js +1 -0
  56. package/dist/lib/radix-ui__react-scroll-area.d.ts +1 -0
  57. package/dist/lib/radix-ui__react-scroll-area.js +1 -0
  58. package/dist/lib/radix-ui__react-select.d.ts +1 -0
  59. package/dist/lib/radix-ui__react-select.js +1 -0
  60. package/dist/lib/radix-ui__react-separator.d.ts +1 -0
  61. package/dist/lib/radix-ui__react-separator.js +1 -0
  62. package/dist/lib/radix-ui__react-slider.d.ts +1 -0
  63. package/dist/lib/radix-ui__react-slider.js +1 -0
  64. package/dist/lib/radix-ui__react-slot.d.ts +1 -0
  65. package/dist/lib/radix-ui__react-slot.js +1 -0
  66. package/dist/lib/radix-ui__react-switch.d.ts +1 -0
  67. package/dist/lib/radix-ui__react-switch.js +1 -0
  68. package/dist/lib/radix-ui__react-tabs.d.ts +1 -0
  69. package/dist/lib/radix-ui__react-tabs.js +1 -0
  70. package/dist/lib/radix-ui__react-toggle-group.d.ts +1 -0
  71. package/dist/lib/radix-ui__react-toggle-group.js +1 -0
  72. package/dist/lib/radix-ui__react-toggle.d.ts +1 -0
  73. package/dist/lib/radix-ui__react-toggle.js +1 -0
  74. package/dist/lib/radix-ui__react-tooltip.d.ts +1 -0
  75. package/dist/lib/radix-ui__react-tooltip.js +1 -0
  76. package/dist/lib/react-day-picker.d.ts +2 -0
  77. package/dist/lib/react-day-picker.js +4 -0
  78. package/dist/lib/react-hook-form.d.ts +1 -0
  79. package/dist/lib/react-hook-form.js +1 -0
  80. package/dist/lib/react-resizable-panels.d.ts +1 -0
  81. package/dist/lib/react-resizable-panels.js +1 -0
  82. package/dist/lib/recharts.d.ts +1 -0
  83. package/dist/lib/recharts.js +1 -0
  84. package/dist/lib/sonner.d.ts +1 -0
  85. package/dist/lib/sonner.js +1 -0
  86. package/dist/lib/tailwind-merge.d.ts +1 -0
  87. package/dist/lib/tailwind-merge.js +1 -0
  88. package/dist/lib/utils.d.ts +2 -0
  89. package/dist/lib/utils.js +6 -0
  90. package/dist/lib/vaul.d.ts +1 -0
  91. package/dist/lib/vaul.js +1 -0
  92. package/dist/lib/zod.d.ts +2 -0
  93. package/dist/lib/zod.js +4 -0
  94. package/dist/styles/base.css +1 -0
  95. package/dist/styles/new-york.css +123 -0
  96. package/dist/ui/accordion.d.ts +7 -0
  97. package/dist/ui/accordion.js +39 -0
  98. package/dist/ui/alert-dialog.d.ts +14 -0
  99. package/dist/ui/alert-dialog.js +80 -0
  100. package/dist/ui/alert.d.ts +9 -0
  101. package/dist/ui/alert.js +39 -0
  102. package/dist/ui/aspect-ratio.d.ts +3 -0
  103. package/dist/ui/aspect-ratio.js +9 -0
  104. package/dist/ui/avatar.d.ts +6 -0
  105. package/dist/ui/avatar.js +26 -0
  106. package/dist/ui/badge.d.ts +9 -0
  107. package/dist/ui/badge.js +28 -0
  108. package/dist/ui/breadcrumb.d.ts +11 -0
  109. package/dist/ui/breadcrumb.js +66 -0
  110. package/dist/ui/button.d.ts +10 -0
  111. package/dist/ui/button.js +39 -0
  112. package/dist/ui/calendar.d.ts +4 -0
  113. package/dist/ui/calendar.js +53 -0
  114. package/dist/ui/card.d.ts +9 -0
  115. package/dist/ui/card.js +52 -0
  116. package/dist/ui/carousel.d.ts +19 -0
  117. package/dist/ui/carousel.js +135 -0
  118. package/dist/ui/chart.d.ts +40 -0
  119. package/dist/ui/chart.js +138 -0
  120. package/dist/ui/checkbox.d.ts +4 -0
  121. package/dist/ui/checkbox.js +18 -0
  122. package/dist/ui/collapsible.d.ts +5 -0
  123. package/dist/ui/collapsible.js +21 -0
  124. package/dist/ui/command.d.ts +16 -0
  125. package/dist/ui/command.js +77 -0
  126. package/dist/ui/context-menu.d.ts +25 -0
  127. package/dist/ui/context-menu.js +120 -0
  128. package/dist/ui/dialog.d.ts +13 -0
  129. package/dist/ui/dialog.js +78 -0
  130. package/dist/ui/drawer.d.ts +13 -0
  131. package/dist/ui/drawer.js +75 -0
  132. package/dist/ui/dropdown-menu.d.ts +25 -0
  133. package/dist/ui/dropdown-menu.js +121 -0
  134. package/dist/ui/form.d.ts +24 -0
  135. package/dist/ui/form.js +86 -0
  136. package/dist/ui/hover-card.d.ts +6 -0
  137. package/dist/ui/hover-card.js +28 -0
  138. package/dist/ui/input-otp.d.ts +11 -0
  139. package/dist/ui/input-otp.js +42 -0
  140. package/dist/ui/input.d.ts +3 -0
  141. package/dist/ui/input.js +11 -0
  142. package/dist/ui/label.d.ts +4 -0
  143. package/dist/ui/label.js +12 -0
  144. package/dist/ui/menubar.d.ts +26 -0
  145. package/dist/ui/menubar.js +131 -0
  146. package/dist/ui/navigation-menu.d.ts +14 -0
  147. package/dist/ui/navigation-menu.js +71 -0
  148. package/dist/ui/pagination.d.ts +13 -0
  149. package/dist/ui/pagination.js +71 -0
  150. package/dist/ui/popover.d.ts +7 -0
  151. package/dist/ui/popover.js +32 -0
  152. package/dist/ui/progress.d.ts +4 -0
  153. package/dist/ui/progress.js +18 -0
  154. package/dist/ui/radio-group.d.ts +5 -0
  155. package/dist/ui/radio-group.js +25 -0
  156. package/dist/ui/resizable.d.ts +8 -0
  157. package/dist/ui/resizable.js +30 -0
  158. package/dist/ui/scroll-area.d.ts +5 -0
  159. package/dist/ui/scroll-area.js +26 -0
  160. package/dist/ui/select.d.ts +15 -0
  161. package/dist/ui/select.js +89 -0
  162. package/dist/ui/separator.d.ts +4 -0
  163. package/dist/ui/separator.js +14 -0
  164. package/dist/ui/sheet.d.ts +13 -0
  165. package/dist/ui/sheet.js +78 -0
  166. package/dist/ui/sidebar.d.ts +69 -0
  167. package/dist/ui/sidebar.js +368 -0
  168. package/dist/ui/skeleton.d.ts +2 -0
  169. package/dist/ui/skeleton.js +9 -0
  170. package/dist/ui/slider.d.ts +4 -0
  171. package/dist/ui/slider.js +37 -0
  172. package/dist/ui/sonner.d.ts +3 -0
  173. package/dist/ui/sonner.js +17 -0
  174. package/dist/ui/switch.d.ts +4 -0
  175. package/dist/ui/switch.js +15 -0
  176. package/dist/ui/table.d.ts +10 -0
  177. package/dist/ui/table.js +63 -0
  178. package/dist/ui/tabs.d.ts +7 -0
  179. package/dist/ui/tabs.js +33 -0
  180. package/dist/ui/textarea.d.ts +3 -0
  181. package/dist/ui/textarea.js +10 -0
  182. package/dist/ui/toggle-group.d.ts +7 -0
  183. package/dist/ui/toggle-group.js +37 -0
  184. package/dist/ui/toggle.d.ts +9 -0
  185. package/dist/ui/toggle.js +34 -0
  186. package/dist/ui/tooltip.d.ts +7 -0
  187. package/dist/ui/tooltip.js +34 -0
  188. package/package.json +5 -1
@@ -0,0 +1,80 @@
1
+ "use client"
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__ from "@radix-ui/react-alert-dialog";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
6
+ function AlertDialog({ ...props }) {
7
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Root, {
8
+ "data-slot": "alert-dialog",
9
+ ...props
10
+ });
11
+ }
12
+ function AlertDialogTrigger({ ...props }) {
13
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Trigger, {
14
+ "data-slot": "alert-dialog-trigger",
15
+ ...props
16
+ });
17
+ }
18
+ function AlertDialogPortal({ ...props }) {
19
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Portal, {
20
+ "data-slot": "alert-dialog-portal",
21
+ ...props
22
+ });
23
+ }
24
+ function AlertDialogOverlay({ className, ...props }) {
25
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Overlay, {
26
+ "data-slot": "alert-dialog-overlay",
27
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className),
28
+ ...props
29
+ });
30
+ }
31
+ function AlertDialogContent({ className, ...props }) {
32
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(AlertDialogPortal, null, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(AlertDialogOverlay, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Content, {
33
+ "data-slot": "alert-dialog-content",
34
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", className),
35
+ ...props
36
+ }));
37
+ }
38
+ function AlertDialogHeader({ className, ...props }) {
39
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
40
+ "data-slot": "alert-dialog-header",
41
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex flex-col gap-2 text-center sm:text-left", className),
42
+ ...props
43
+ });
44
+ }
45
+ function AlertDialogFooter({ className, ...props }) {
46
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
47
+ "data-slot": "alert-dialog-footer",
48
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
49
+ ...props
50
+ });
51
+ }
52
+ function AlertDialogTitle({ className, ...props }) {
53
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Title, {
54
+ "data-slot": "alert-dialog-title",
55
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-lg font-semibold", className),
56
+ ...props
57
+ });
58
+ }
59
+ function AlertDialogDescription({ className, ...props }) {
60
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Description, {
61
+ "data-slot": "alert-dialog-description",
62
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground text-sm", className),
63
+ ...props
64
+ });
65
+ }
66
+ function AlertDialogAction({ className, ...props }) {
67
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Action, {
68
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)(), className),
69
+ ...props
70
+ });
71
+ }
72
+ function AlertDialogCancel({ className, ...props }) {
73
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_alert_dialog_c2bcbc55__.Cancel, {
74
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
75
+ variant: "outline"
76
+ }), className),
77
+ ...props
78
+ });
79
+ }
80
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const alertVariants: (props?: ({
4
+ variant?: "default" | "destructive" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
7
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ export { Alert, AlertTitle, AlertDescription };
@@ -0,0 +1,39 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__ from "class-variance-authority";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
4
+ const alertVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
5
+ variants: {
6
+ variant: {
7
+ default: "bg-card text-card-foreground",
8
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
9
+ }
10
+ },
11
+ defaultVariants: {
12
+ variant: "default"
13
+ }
14
+ });
15
+ function Alert({ className, variant, ...props }) {
16
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
17
+ "data-slot": "alert",
18
+ role: "alert",
19
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)(alertVariants({
20
+ variant
21
+ }), className),
22
+ ...props
23
+ });
24
+ }
25
+ function AlertTitle({ className, ...props }) {
26
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
27
+ "data-slot": "alert-title",
28
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className),
29
+ ...props
30
+ });
31
+ }
32
+ function AlertDescription({ className, ...props }) {
33
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
34
+ "data-slot": "alert-description",
35
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", className),
36
+ ...props
37
+ });
38
+ }
39
+ export { Alert, AlertDescription, AlertTitle };
@@ -0,0 +1,3 @@
1
+ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
2
+ declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ export { AspectRatio };
@@ -0,0 +1,9 @@
1
+ "use client"
2
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_aspect_ratio_38a84aed__ from "@radix-ui/react-aspect-ratio";
3
+ function AspectRatio({ ...props }) {
4
+ return /*#__PURE__*/ React.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_aspect_ratio_38a84aed__.Root, {
5
+ "data-slot": "aspect-ratio",
6
+ ...props
7
+ });
8
+ }
9
+ export { AspectRatio };
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
3
+ declare function Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): import("react/jsx-runtime").JSX.Element;
6
+ export { Avatar, AvatarImage, AvatarFallback };
@@ -0,0 +1,26 @@
1
+ "use client"
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_avatar_fe03757d__ from "@radix-ui/react-avatar";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
+ function Avatar({ className, ...props }) {
6
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_avatar_fe03757d__.Root, {
7
+ "data-slot": "avatar",
8
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative flex size-8 shrink-0 overflow-hidden rounded-full", className),
9
+ ...props
10
+ });
11
+ }
12
+ function AvatarImage({ className, ...props }) {
13
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_avatar_fe03757d__.Image, {
14
+ "data-slot": "avatar-image",
15
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("aspect-square size-full", className),
16
+ ...props
17
+ });
18
+ }
19
+ function AvatarFallback({ className, ...props }) {
20
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_avatar_fe03757d__.Fallback, {
21
+ "data-slot": "avatar-fallback",
22
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-muted flex size-full items-center justify-center rounded-full", className),
23
+ ...props
24
+ });
25
+ }
26
+ export { Avatar, AvatarFallback, AvatarImage };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
7
+ asChild?: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
@@ -0,0 +1,28 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__ from "@radix-ui/react-slot";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__ from "class-variance-authority";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
+ const badgeVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
6
+ variants: {
7
+ variant: {
8
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
9
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
10
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
11
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: "default"
16
+ }
17
+ });
18
+ function Badge({ className, variant, asChild = false, ...props }) {
19
+ const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "span";
20
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(Comp, {
21
+ "data-slot": "badge",
22
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)(badgeVariants({
23
+ variant
24
+ }), className),
25
+ ...props
26
+ });
27
+ }
28
+ export { Badge, badgeVariants };
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ declare function Breadcrumb({ ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
3
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): import("react/jsx-runtime").JSX.Element;
4
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
5
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<"a"> & {
6
+ asChild?: boolean;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
9
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
10
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
11
+ export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
@@ -0,0 +1,66 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__ from "@radix-ui/react-slot";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
+ function Breadcrumb({ ...props }) {
6
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("nav", {
7
+ "aria-label": "breadcrumb",
8
+ "data-slot": "breadcrumb",
9
+ ...props
10
+ });
11
+ }
12
+ function BreadcrumbList({ className, ...props }) {
13
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("ol", {
14
+ "data-slot": "breadcrumb-list",
15
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", className),
16
+ ...props
17
+ });
18
+ }
19
+ function BreadcrumbItem({ className, ...props }) {
20
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("li", {
21
+ "data-slot": "breadcrumb-item",
22
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("inline-flex items-center gap-1.5", className),
23
+ ...props
24
+ });
25
+ }
26
+ function BreadcrumbLink({ asChild, className, ...props }) {
27
+ const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "a";
28
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(Comp, {
29
+ "data-slot": "breadcrumb-link",
30
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("hover:text-foreground transition-colors", className),
31
+ ...props
32
+ });
33
+ }
34
+ function BreadcrumbPage({ className, ...props }) {
35
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
36
+ "data-slot": "breadcrumb-page",
37
+ role: "link",
38
+ "aria-disabled": "true",
39
+ "aria-current": "page",
40
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-foreground font-normal", className),
41
+ ...props
42
+ });
43
+ }
44
+ function BreadcrumbSeparator({ children, className, ...props }) {
45
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("li", {
46
+ "data-slot": "breadcrumb-separator",
47
+ role: "presentation",
48
+ "aria-hidden": "true",
49
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("[&>svg]:size-3.5", className),
50
+ ...props
51
+ }, children ?? /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRight, null));
52
+ }
53
+ function BreadcrumbEllipsis({ className, ...props }) {
54
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
55
+ "data-slot": "breadcrumb-ellipsis",
56
+ role: "presentation",
57
+ "aria-hidden": "true",
58
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex size-9 items-center justify-center", className),
59
+ ...props
60
+ }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.MoreHorizontal, {
61
+ className: "size-4"
62
+ }), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
63
+ className: "sr-only"
64
+ }, "More"));
65
+ }
66
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
+ asChild?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export { Button, buttonVariants };
@@ -0,0 +1,39 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__ from "@radix-ui/react-slot";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__ from "class-variance-authority";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
+ const buttonVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
6
+ variants: {
7
+ variant: {
8
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
9
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
10
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
11
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
12
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
13
+ link: "text-primary underline-offset-4 hover:underline"
14
+ },
15
+ size: {
16
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
17
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
18
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
19
+ icon: "size-9"
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ variant: "default",
24
+ size: "default"
25
+ }
26
+ });
27
+ function Button({ className, variant, size, asChild = false, ...props }) {
28
+ const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "button";
29
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(Comp, {
30
+ "data-slot": "button",
31
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)(buttonVariants({
32
+ variant,
33
+ size,
34
+ className
35
+ })),
36
+ ...props
37
+ });
38
+ }
39
+ export { Button, buttonVariants };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { DayPicker } from "react-day-picker";
3
+ declare function Calendar({ className, classNames, showOutsideDays, ...props }: React.ComponentProps<typeof DayPicker>): import("react/jsx-runtime").JSX.Element;
4
+ export { Calendar };
@@ -0,0 +1,53 @@
1
+ "use client"
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__ from "react-day-picker";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
7
+ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
8
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__.DayPicker, {
9
+ showOutsideDays: showOutsideDays,
10
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("p-3", className),
11
+ classNames: {
12
+ months: "flex flex-col sm:flex-row gap-2",
13
+ month: "flex flex-col gap-4",
14
+ caption: "flex justify-center pt-1 relative items-center w-full",
15
+ caption_label: "text-sm font-medium",
16
+ nav: "flex items-center gap-1",
17
+ nav_button: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
18
+ variant: "outline"
19
+ }), "size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),
20
+ nav_button_previous: "absolute left-1",
21
+ nav_button_next: "absolute right-1",
22
+ table: "w-full border-collapse space-x-1",
23
+ head_row: "flex",
24
+ head_cell: "text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",
25
+ row: "flex w-full mt-2",
26
+ cell: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md", "range" === props.mode ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"),
27
+ day: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
28
+ variant: "ghost"
29
+ }), "size-8 p-0 font-normal aria-selected:opacity-100"),
30
+ day_range_start: "day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",
31
+ day_range_end: "day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",
32
+ day_selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
33
+ day_today: "bg-accent text-accent-foreground",
34
+ day_outside: "day-outside text-muted-foreground aria-selected:text-muted-foreground",
35
+ day_disabled: "text-muted-foreground opacity-50",
36
+ day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
37
+ day_hidden: "invisible",
38
+ ...classNames
39
+ },
40
+ components: {
41
+ IconLeft: ({ className, ...props })=>/*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronLeft, {
42
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
43
+ ...props
44
+ }),
45
+ IconRight: ({ className, ...props })=>/*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRight, {
46
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
47
+ ...props
48
+ })
49
+ },
50
+ ...props
51
+ });
52
+ }
53
+ export { Calendar };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
3
+ declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
+ declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
6
+ declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
+ declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
@@ -0,0 +1,52 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
3
+ function Card({ className, ...props }) {
4
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
5
+ "data-slot": "card",
6
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className),
7
+ ...props
8
+ });
9
+ }
10
+ function CardHeader({ className, ...props }) {
11
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
12
+ "data-slot": "card-header",
13
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className),
14
+ ...props
15
+ });
16
+ }
17
+ function CardTitle({ className, ...props }) {
18
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
19
+ "data-slot": "card-title",
20
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("leading-none font-semibold", className),
21
+ ...props
22
+ });
23
+ }
24
+ function CardDescription({ className, ...props }) {
25
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
26
+ "data-slot": "card-description",
27
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground text-sm", className),
28
+ ...props
29
+ });
30
+ }
31
+ function CardAction({ className, ...props }) {
32
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
33
+ "data-slot": "card-action",
34
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
35
+ ...props
36
+ });
37
+ }
38
+ function CardContent({ className, ...props }) {
39
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
40
+ "data-slot": "card-content",
41
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("px-6", className),
42
+ ...props
43
+ });
44
+ }
45
+ function CardFooter({ className, ...props }) {
46
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
47
+ "data-slot": "card-footer",
48
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex items-center px-6 [.border-t]:pt-6", className),
49
+ ...props
50
+ });
51
+ }
52
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
3
+ import { Button } from "./button";
4
+ type CarouselApi = UseEmblaCarouselType[1];
5
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
6
+ type CarouselOptions = UseCarouselParameters[0];
7
+ type CarouselPlugin = UseCarouselParameters[1];
8
+ type CarouselProps = {
9
+ opts?: CarouselOptions;
10
+ plugins?: CarouselPlugin;
11
+ orientation?: "horizontal" | "vertical";
12
+ setApi?: (api: CarouselApi) => void;
13
+ };
14
+ declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: React.ComponentProps<"div"> & CarouselProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function CarouselContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
16
+ declare function CarouselItem({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
17
+ declare function CarouselPrevious({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
18
+ declare function CarouselNext({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
19
+ export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
@@ -0,0 +1,135 @@
1
+ "use client"
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_embla_carousel_react_7f67003b__ from "embla-carousel-react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
7
+ const CarouselContext = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createContext(null);
8
+ function useCarousel() {
9
+ const context = __WEBPACK_EXTERNAL_MODULE_react__.useContext(CarouselContext);
10
+ if (!context) throw new Error("useCarousel must be used within a <Carousel />");
11
+ return context;
12
+ }
13
+ function Carousel({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }) {
14
+ const [carouselRef, api] = (0, __WEBPACK_EXTERNAL_MODULE_embla_carousel_react_7f67003b__["default"])({
15
+ ...opts,
16
+ axis: "horizontal" === orientation ? "x" : "y"
17
+ }, plugins);
18
+ const [canScrollPrev, setCanScrollPrev] = __WEBPACK_EXTERNAL_MODULE_react__.useState(false);
19
+ const [canScrollNext, setCanScrollNext] = __WEBPACK_EXTERNAL_MODULE_react__.useState(false);
20
+ const onSelect = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((api)=>{
21
+ if (!api) return;
22
+ setCanScrollPrev(api.canScrollPrev());
23
+ setCanScrollNext(api.canScrollNext());
24
+ }, []);
25
+ const scrollPrev = __WEBPACK_EXTERNAL_MODULE_react__.useCallback(()=>{
26
+ null == api || api.scrollPrev();
27
+ }, [
28
+ api
29
+ ]);
30
+ const scrollNext = __WEBPACK_EXTERNAL_MODULE_react__.useCallback(()=>{
31
+ null == api || api.scrollNext();
32
+ }, [
33
+ api
34
+ ]);
35
+ const handleKeyDown = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((event)=>{
36
+ if ("ArrowLeft" === event.key) {
37
+ event.preventDefault();
38
+ scrollPrev();
39
+ } else if ("ArrowRight" === event.key) {
40
+ event.preventDefault();
41
+ scrollNext();
42
+ }
43
+ }, [
44
+ scrollPrev,
45
+ scrollNext
46
+ ]);
47
+ __WEBPACK_EXTERNAL_MODULE_react__.useEffect(()=>{
48
+ if (!api || !setApi) return;
49
+ setApi(api);
50
+ }, [
51
+ api,
52
+ setApi
53
+ ]);
54
+ __WEBPACK_EXTERNAL_MODULE_react__.useEffect(()=>{
55
+ if (!api) return;
56
+ onSelect(api);
57
+ api.on("reInit", onSelect);
58
+ api.on("select", onSelect);
59
+ return ()=>{
60
+ null == api || api.off("select", onSelect);
61
+ };
62
+ }, [
63
+ api,
64
+ onSelect
65
+ ]);
66
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(CarouselContext.Provider, {
67
+ value: {
68
+ carouselRef,
69
+ api: api,
70
+ opts,
71
+ orientation: orientation || ((null == opts ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
72
+ scrollPrev,
73
+ scrollNext,
74
+ canScrollPrev,
75
+ canScrollNext
76
+ }
77
+ }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
78
+ onKeyDownCapture: handleKeyDown,
79
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative", className),
80
+ role: "region",
81
+ "aria-roledescription": "carousel",
82
+ "data-slot": "carousel",
83
+ ...props
84
+ }, children));
85
+ }
86
+ function CarouselContent({ className, ...props }) {
87
+ const { carouselRef, orientation } = useCarousel();
88
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
89
+ ref: carouselRef,
90
+ className: "overflow-hidden",
91
+ "data-slot": "carousel-content"
92
+ }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
93
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex", "horizontal" === orientation ? "-ml-4" : "-mt-4 flex-col", className),
94
+ ...props
95
+ }));
96
+ }
97
+ function CarouselItem({ className, ...props }) {
98
+ const { orientation } = useCarousel();
99
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
100
+ role: "group",
101
+ "aria-roledescription": "slide",
102
+ "data-slot": "carousel-item",
103
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("min-w-0 shrink-0 grow-0 basis-full", "horizontal" === orientation ? "pl-4" : "pt-4", className),
104
+ ...props
105
+ });
106
+ }
107
+ function CarouselPrevious({ className, variant = "outline", size = "icon", ...props }) {
108
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
109
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.Button, {
110
+ "data-slot": "carousel-previous",
111
+ variant: variant,
112
+ size: size,
113
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("absolute size-8 rounded-full", "horizontal" === orientation ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className),
114
+ disabled: !canScrollPrev,
115
+ onClick: scrollPrev,
116
+ ...props
117
+ }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ArrowLeft, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
118
+ className: "sr-only"
119
+ }, "Previous slide"));
120
+ }
121
+ function CarouselNext({ className, variant = "outline", size = "icon", ...props }) {
122
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
123
+ return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.Button, {
124
+ "data-slot": "carousel-next",
125
+ variant: variant,
126
+ size: size,
127
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("absolute size-8 rounded-full", "horizontal" === orientation ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className),
128
+ disabled: !canScrollNext,
129
+ onClick: scrollNext,
130
+ ...props
131
+ }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ArrowRight, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
132
+ className: "sr-only"
133
+ }, "Next slide"));
134
+ }
135
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };