@konopskidev/ui 0.0.0-stage → 0.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 (280) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +182 -2
  3. package/dist/components/ui/accordion.d.ts +8 -0
  4. package/dist/components/ui/accordion.d.ts.map +1 -0
  5. package/dist/components/ui/accordion.js +55 -0
  6. package/dist/components/ui/accordion.js.map +1 -0
  7. package/dist/components/ui/alert-dialog.d.ts +19 -0
  8. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  9. package/dist/components/ui/alert-dialog.js +101 -0
  10. package/dist/components/ui/alert-dialog.js.map +1 -0
  11. package/dist/components/ui/alert.d.ts +11 -0
  12. package/dist/components/ui/alert.d.ts.map +1 -0
  13. package/dist/components/ui/alert.js +44 -0
  14. package/dist/components/ui/alert.js.map +1 -0
  15. package/dist/components/ui/aspect-ratio.d.ts +4 -0
  16. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  17. package/dist/components/ui/aspect-ratio.js +14 -0
  18. package/dist/components/ui/aspect-ratio.js.map +1 -0
  19. package/dist/components/ui/attachment.d.ts +25 -0
  20. package/dist/components/ui/attachment.d.ts.map +1 -0
  21. package/dist/components/ui/attachment.js +102 -0
  22. package/dist/components/ui/attachment.js.map +1 -0
  23. package/dist/components/ui/avatar.d.ts +12 -0
  24. package/dist/components/ui/avatar.d.ts.map +1 -0
  25. package/dist/components/ui/avatar.js +51 -0
  26. package/dist/components/ui/avatar.js.map +1 -0
  27. package/dist/components/ui/badge.d.ts +10 -0
  28. package/dist/components/ui/badge.d.ts.map +1 -0
  29. package/dist/components/ui/badge.js +29 -0
  30. package/dist/components/ui/badge.js.map +1 -0
  31. package/dist/components/ui/breadcrumb.d.ts +12 -0
  32. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  33. package/dist/components/ui/breadcrumb.js +72 -0
  34. package/dist/components/ui/breadcrumb.js.map +1 -0
  35. package/dist/components/ui/bubble.d.ts +18 -0
  36. package/dist/components/ui/bubble.d.ts.map +1 -0
  37. package/dist/components/ui/bubble.js +73 -0
  38. package/dist/components/ui/bubble.js.map +1 -0
  39. package/dist/components/ui/button-group.d.ts +12 -0
  40. package/dist/components/ui/button-group.d.ts.map +1 -0
  41. package/dist/components/ui/button-group.js +40 -0
  42. package/dist/components/ui/button-group.js.map +1 -0
  43. package/dist/components/ui/button.d.ts +22 -0
  44. package/dist/components/ui/button.d.ts.map +1 -0
  45. package/dist/components/ui/button.js +61 -0
  46. package/dist/components/ui/button.js.map +1 -0
  47. package/dist/components/ui/calendar.d.ts +11 -0
  48. package/dist/components/ui/calendar.d.ts.map +1 -0
  49. package/dist/components/ui/calendar.js +111 -0
  50. package/dist/components/ui/calendar.js.map +1 -0
  51. package/dist/components/ui/card.d.ts +26 -0
  52. package/dist/components/ui/card.d.ts.map +1 -0
  53. package/dist/components/ui/card.js +76 -0
  54. package/dist/components/ui/card.js.map +1 -0
  55. package/dist/components/ui/carousel.d.ts +29 -0
  56. package/dist/components/ui/carousel.d.ts.map +1 -0
  57. package/dist/components/ui/carousel.js +132 -0
  58. package/dist/components/ui/carousel.js.map +1 -0
  59. package/dist/components/ui/chart.d.ts +45 -0
  60. package/dist/components/ui/chart.d.ts.map +1 -0
  61. package/dist/components/ui/chart.js +151 -0
  62. package/dist/components/ui/chart.js.map +1 -0
  63. package/dist/components/ui/checkbox.d.ts +5 -0
  64. package/dist/components/ui/checkbox.d.ts.map +1 -0
  65. package/dist/components/ui/checkbox.js +21 -0
  66. package/dist/components/ui/checkbox.js.map +1 -0
  67. package/dist/components/ui/code-block.d.ts +27 -0
  68. package/dist/components/ui/code-block.d.ts.map +1 -0
  69. package/dist/components/ui/code-block.js +123 -0
  70. package/dist/components/ui/code-block.js.map +1 -0
  71. package/dist/components/ui/collapsible.d.ts +6 -0
  72. package/dist/components/ui/collapsible.d.ts.map +1 -0
  73. package/dist/components/ui/collapsible.js +26 -0
  74. package/dist/components/ui/collapsible.js.map +1 -0
  75. package/dist/components/ui/combobox.d.ts +25 -0
  76. package/dist/components/ui/combobox.d.ts.map +1 -0
  77. package/dist/components/ui/combobox.js +174 -0
  78. package/dist/components/ui/combobox.js.map +1 -0
  79. package/dist/components/ui/command.d.ts +19 -0
  80. package/dist/components/ui/command.d.ts.map +1 -0
  81. package/dist/components/ui/command.js +90 -0
  82. package/dist/components/ui/command.js.map +1 -0
  83. package/dist/components/ui/context-menu.d.ts +32 -0
  84. package/dist/components/ui/context-menu.d.ts.map +1 -0
  85. package/dist/components/ui/context-menu.js +125 -0
  86. package/dist/components/ui/context-menu.js.map +1 -0
  87. package/dist/components/ui/dialog.d.ts +18 -0
  88. package/dist/components/ui/dialog.d.ts.map +1 -0
  89. package/dist/components/ui/dialog.js +98 -0
  90. package/dist/components/ui/dialog.js.map +1 -0
  91. package/dist/components/ui/direction.d.ts +12 -0
  92. package/dist/components/ui/direction.d.ts.map +1 -0
  93. package/dist/components/ui/direction.js +16 -0
  94. package/dist/components/ui/direction.js.map +1 -0
  95. package/dist/components/ui/drawer.d.ts +14 -0
  96. package/dist/components/ui/drawer.d.ts.map +1 -0
  97. package/dist/components/ui/drawer.js +78 -0
  98. package/dist/components/ui/drawer.js.map +1 -0
  99. package/dist/components/ui/dropdown-menu.d.ts +30 -0
  100. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  101. package/dist/components/ui/dropdown-menu.js +130 -0
  102. package/dist/components/ui/dropdown-menu.js.map +1 -0
  103. package/dist/components/ui/empty.d.ts +12 -0
  104. package/dist/components/ui/empty.d.ts.map +1 -0
  105. package/dist/components/ui/empty.js +60 -0
  106. package/dist/components/ui/empty.js.map +1 -0
  107. package/dist/components/ui/field.d.ts +25 -0
  108. package/dist/components/ui/field.d.ts.map +1 -0
  109. package/dist/components/ui/field.js +112 -0
  110. package/dist/components/ui/field.js.map +1 -0
  111. package/dist/components/ui/hover-card.d.ts +7 -0
  112. package/dist/components/ui/hover-card.d.ts.map +1 -0
  113. package/dist/components/ui/hover-card.js +32 -0
  114. package/dist/components/ui/hover-card.js.map +1 -0
  115. package/dist/components/ui/input-group.d.ts +17 -0
  116. package/dist/components/ui/input-group.d.ts.map +1 -0
  117. package/dist/components/ui/input-group.js +79 -0
  118. package/dist/components/ui/input-group.js.map +1 -0
  119. package/dist/components/ui/input-otp.d.ts +12 -0
  120. package/dist/components/ui/input-otp.d.ts.map +1 -0
  121. package/dist/components/ui/input-otp.js +49 -0
  122. package/dist/components/ui/input-otp.js.map +1 -0
  123. package/dist/components/ui/input.d.ts +11 -0
  124. package/dist/components/ui/input.d.ts.map +1 -0
  125. package/dist/components/ui/input.js +25 -0
  126. package/dist/components/ui/input.js.map +1 -0
  127. package/dist/components/ui/item.d.ts +24 -0
  128. package/dist/components/ui/item.d.ts.map +1 -0
  129. package/dist/components/ui/item.js +121 -0
  130. package/dist/components/ui/item.js.map +1 -0
  131. package/dist/components/ui/kbd.d.ts +4 -0
  132. package/dist/components/ui/kbd.d.ts.map +1 -0
  133. package/dist/components/ui/kbd.js +20 -0
  134. package/dist/components/ui/kbd.js.map +1 -0
  135. package/dist/components/ui/label.d.ts +5 -0
  136. package/dist/components/ui/label.d.ts.map +1 -0
  137. package/dist/components/ui/label.js +15 -0
  138. package/dist/components/ui/label.js.map +1 -0
  139. package/dist/components/ui/marker.d.ts +12 -0
  140. package/dist/components/ui/marker.d.ts.map +1 -0
  141. package/dist/components/ui/marker.js +41 -0
  142. package/dist/components/ui/marker.js.map +1 -0
  143. package/dist/components/ui/menubar.d.ts +31 -0
  144. package/dist/components/ui/menubar.d.ts.map +1 -0
  145. package/dist/components/ui/menubar.js +137 -0
  146. package/dist/components/ui/menubar.js.map +1 -0
  147. package/dist/components/ui/message-scroller.d.ts +11 -0
  148. package/dist/components/ui/message-scroller.d.ts.map +1 -0
  149. package/dist/components/ui/message-scroller.js +61 -0
  150. package/dist/components/ui/message-scroller.js.map +1 -0
  151. package/dist/components/ui/message.d.ts +11 -0
  152. package/dist/components/ui/message.d.ts.map +1 -0
  153. package/dist/components/ui/message.js +50 -0
  154. package/dist/components/ui/message.js.map +1 -0
  155. package/dist/components/ui/native-select.d.ts +9 -0
  156. package/dist/components/ui/native-select.d.ts.map +1 -0
  157. package/dist/components/ui/native-select.js +39 -0
  158. package/dist/components/ui/native-select.js.map +1 -0
  159. package/dist/components/ui/navigation-menu.d.ts +15 -0
  160. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  161. package/dist/components/ui/navigation-menu.js +81 -0
  162. package/dist/components/ui/navigation-menu.js.map +1 -0
  163. package/dist/components/ui/pagination.d.ts +18 -0
  164. package/dist/components/ui/pagination.d.ts.map +1 -0
  165. package/dist/components/ui/pagination.js +81 -0
  166. package/dist/components/ui/pagination.js.map +1 -0
  167. package/dist/components/ui/popover.d.ts +11 -0
  168. package/dist/components/ui/popover.d.ts.map +1 -0
  169. package/dist/components/ui/popover.js +56 -0
  170. package/dist/components/ui/popover.js.map +1 -0
  171. package/dist/components/ui/progress.d.ts +5 -0
  172. package/dist/components/ui/progress.d.ts.map +1 -0
  173. package/dist/components/ui/progress.js +23 -0
  174. package/dist/components/ui/progress.js.map +1 -0
  175. package/dist/components/ui/questionnaire.d.ts +20 -0
  176. package/dist/components/ui/questionnaire.d.ts.map +1 -0
  177. package/dist/components/ui/questionnaire.js +172 -0
  178. package/dist/components/ui/questionnaire.js.map +1 -0
  179. package/dist/components/ui/radio-group.d.ts +6 -0
  180. package/dist/components/ui/radio-group.d.ts.map +1 -0
  181. package/dist/components/ui/radio-group.js +27 -0
  182. package/dist/components/ui/radio-group.js.map +1 -0
  183. package/dist/components/ui/resizable.d.ts +8 -0
  184. package/dist/components/ui/resizable.d.ts.map +1 -0
  185. package/dist/components/ui/resizable.js +30 -0
  186. package/dist/components/ui/resizable.js.map +1 -0
  187. package/dist/components/ui/scroll-area.d.ts +6 -0
  188. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  189. package/dist/components/ui/scroll-area.js +38 -0
  190. package/dist/components/ui/scroll-area.js.map +1 -0
  191. package/dist/components/ui/select.d.ts +16 -0
  192. package/dist/components/ui/select.d.ts.map +1 -0
  193. package/dist/components/ui/select.js +102 -0
  194. package/dist/components/ui/select.js.map +1 -0
  195. package/dist/components/ui/separator.d.ts +5 -0
  196. package/dist/components/ui/separator.d.ts.map +1 -0
  197. package/dist/components/ui/separator.js +17 -0
  198. package/dist/components/ui/separator.js.map +1 -0
  199. package/dist/components/ui/sheet.d.ts +15 -0
  200. package/dist/components/ui/sheet.d.ts.map +1 -0
  201. package/dist/components/ui/sheet.js +90 -0
  202. package/dist/components/ui/sheet.js.map +1 -0
  203. package/dist/components/ui/sidebar.d.ts +70 -0
  204. package/dist/components/ui/sidebar.d.ts.map +1 -0
  205. package/dist/components/ui/sidebar.js +380 -0
  206. package/dist/components/ui/sidebar.js.map +1 -0
  207. package/dist/components/ui/skeleton.d.ts +3 -0
  208. package/dist/components/ui/skeleton.d.ts.map +1 -0
  209. package/dist/components/ui/skeleton.js +13 -0
  210. package/dist/components/ui/skeleton.js.map +1 -0
  211. package/dist/components/ui/slider.d.ts +8 -0
  212. package/dist/components/ui/slider.d.ts.map +1 -0
  213. package/dist/components/ui/slider.js +40 -0
  214. package/dist/components/ui/slider.js.map +1 -0
  215. package/dist/components/ui/sonner.d.ts +14 -0
  216. package/dist/components/ui/sonner.d.ts.map +1 -0
  217. package/dist/components/ui/sonner.js +35 -0
  218. package/dist/components/ui/sonner.js.map +1 -0
  219. package/dist/components/ui/spinner.d.ts +3 -0
  220. package/dist/components/ui/spinner.d.ts.map +1 -0
  221. package/dist/components/ui/spinner.js +16 -0
  222. package/dist/components/ui/spinner.js.map +1 -0
  223. package/dist/components/ui/switch.d.ts +7 -0
  224. package/dist/components/ui/switch.d.ts.map +1 -0
  225. package/dist/components/ui/switch.js +22 -0
  226. package/dist/components/ui/switch.js.map +1 -0
  227. package/dist/components/ui/table.d.ts +11 -0
  228. package/dist/components/ui/table.d.ts.map +1 -0
  229. package/dist/components/ui/table.js +67 -0
  230. package/dist/components/ui/table.js.map +1 -0
  231. package/dist/components/ui/tabs.d.ts +12 -0
  232. package/dist/components/ui/tabs.d.ts.map +1 -0
  233. package/dist/components/ui/tabs.js +48 -0
  234. package/dist/components/ui/tabs.js.map +1 -0
  235. package/dist/components/ui/textarea.d.ts +10 -0
  236. package/dist/components/ui/textarea.d.ts.map +1 -0
  237. package/dist/components/ui/textarea.js +37 -0
  238. package/dist/components/ui/textarea.js.map +1 -0
  239. package/dist/components/ui/toggle-group.d.ts +11 -0
  240. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  241. package/dist/components/ui/toggle-group.js +53 -0
  242. package/dist/components/ui/toggle-group.js.map +1 -0
  243. package/dist/components/ui/toggle.d.ts +10 -0
  244. package/dist/components/ui/toggle.d.ts.map +1 -0
  245. package/dist/components/ui/toggle.js +37 -0
  246. package/dist/components/ui/toggle.js.map +1 -0
  247. package/dist/components/ui/tooltip.d.ts +8 -0
  248. package/dist/components/ui/tooltip.d.ts.map +1 -0
  249. package/dist/components/ui/tooltip.js +38 -0
  250. package/dist/components/ui/tooltip.js.map +1 -0
  251. package/dist/components/ui/trace.d.ts +19 -0
  252. package/dist/components/ui/trace.d.ts.map +1 -0
  253. package/dist/components/ui/trace.js +76 -0
  254. package/dist/components/ui/trace.js.map +1 -0
  255. package/dist/hooks/use-highlighted-code.d.ts +3 -0
  256. package/dist/hooks/use-highlighted-code.d.ts.map +1 -0
  257. package/dist/hooks/use-mobile.d.ts +2 -0
  258. package/dist/hooks/use-mobile.d.ts.map +1 -0
  259. package/dist/hooks/use-mobile.js +22 -0
  260. package/dist/hooks/use-mobile.js.map +1 -0
  261. package/dist/index.d.ts +74 -0
  262. package/dist/index.d.ts.map +1 -0
  263. package/dist/index.js +67 -0
  264. package/dist/lib/get-placeholder.d.ts +6 -0
  265. package/dist/lib/get-placeholder.d.ts.map +1 -0
  266. package/dist/lib/get-placeholder.js +12 -0
  267. package/dist/lib/get-placeholder.js.map +1 -0
  268. package/dist/lib/highlighter.d.ts +10 -0
  269. package/dist/lib/highlighter.d.ts.map +1 -0
  270. package/dist/lib/utils.d.ts +9 -0
  271. package/dist/lib/utils.d.ts.map +1 -0
  272. package/dist/lib/utils.js +1 -0
  273. package/package.json +150 -4
  274. package/src/styles/base.css +70 -0
  275. package/src/styles/globals.css +33 -0
  276. package/src/styles/prose.css +105 -0
  277. package/src/styles/theme.css +108 -0
  278. package/src/styles/tokens.css +129 -0
  279. package/src/styles/utilities.css +57 -0
  280. package/src/styles/variants.css +649 -0
@@ -0,0 +1,98 @@
1
+ "use client";
2
+ "use client";
3
+ import { Button } from "./button.js";
4
+ import { cn } from "cn";
5
+ import { XIcon } from "lucide-react";
6
+ import { Dialog } from "radix-ui";
7
+ import "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ // src/components/ui/dialog.tsx
10
+ function Dialog$1({ ...props }) {
11
+ return /* @__PURE__ */ jsx(Dialog.Root, {
12
+ "data-slot": "dialog",
13
+ ...props
14
+ });
15
+ }
16
+ function DialogTrigger({ ...props }) {
17
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
18
+ "data-slot": "dialog-trigger",
19
+ ...props
20
+ });
21
+ }
22
+ function DialogPortal({ ...props }) {
23
+ return /* @__PURE__ */ jsx(Dialog.Portal, {
24
+ "data-slot": "dialog-portal",
25
+ ...props
26
+ });
27
+ }
28
+ function DialogClose({ ...props }) {
29
+ return /* @__PURE__ */ jsx(Dialog.Close, {
30
+ "data-slot": "dialog-close",
31
+ ...props
32
+ });
33
+ }
34
+ function DialogOverlay({ className, ...props }) {
35
+ return /* @__PURE__ */ jsx(Dialog.Overlay, {
36
+ "data-slot": "dialog-overlay",
37
+ className: cn("fixed inset-0 isolate z-[var(--z-index-overlay)] bg-black/80 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
38
+ ...props
39
+ });
40
+ }
41
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
42
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Content, {
43
+ "data-slot": "dialog-content",
44
+ className: cn("fixed top-1/3 left-1/2 z-[var(--z-index-modal)] grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-sm border border-border bg-background p-6 shadow-lg duration-200 outline-none sm:max-w-lg md:top-1/2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-open:slide-in-from-top-[20%] data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-closed:slide-out-to-top-[20%]", className),
45
+ ...props,
46
+ children: [children, showCloseButton && /* @__PURE__ */ jsx(Dialog.Close, {
47
+ "data-slot": "dialog-close",
48
+ asChild: true,
49
+ children: /* @__PURE__ */ jsxs(Button, {
50
+ variant: "ghost",
51
+ size: "icon-sm",
52
+ className: "absolute top-4 right-4",
53
+ children: [/* @__PURE__ */ jsx(XIcon, { className: "size-5" }), /* @__PURE__ */ jsx("span", {
54
+ className: "sr-only",
55
+ children: "Close modal"
56
+ })]
57
+ })
58
+ })]
59
+ })] });
60
+ }
61
+ function DialogHeader({ className, ...props }) {
62
+ return /* @__PURE__ */ jsx("div", {
63
+ "data-slot": "dialog-header",
64
+ className: cn("flex flex-col gap-1.5", className),
65
+ ...props
66
+ });
67
+ }
68
+ function DialogFooter({ className, showCloseButton = false, children, ...props }) {
69
+ return /* @__PURE__ */ jsxs("div", {
70
+ "data-slot": "dialog-footer",
71
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
72
+ ...props,
73
+ children: [children, showCloseButton && /* @__PURE__ */ jsx(Dialog.Close, {
74
+ asChild: true,
75
+ children: /* @__PURE__ */ jsx(Button, {
76
+ variant: "outline",
77
+ children: "Close"
78
+ })
79
+ })]
80
+ });
81
+ }
82
+ function DialogTitle({ className, ...props }) {
83
+ return /* @__PURE__ */ jsx(Dialog.Title, {
84
+ "data-slot": "dialog-title",
85
+ className: cn("font-display text-h3 leading-none font-semibold tracking-tight", className),
86
+ ...props
87
+ });
88
+ }
89
+ function DialogDescription({ className, ...props }) {
90
+ return /* @__PURE__ */ jsx(Dialog.Description, {
91
+ "data-slot": "dialog-description",
92
+ className: cn("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
93
+ ...props
94
+ });
95
+ }
96
+ export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
97
+
98
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","names":["Dialog","DialogPrimitive"],"sources":["../../../src/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from 'cn';\nimport { XIcon } from 'lucide-react';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { Button } from './button';\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 isolate z-[var(--z-index-overlay)] bg-black/80 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/3 left-1/2 z-[var(--z-index-modal)] grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-sm border border-border bg-background p-6 shadow-lg duration-200 outline-none sm:max-w-lg md:top-1/2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-open:slide-in-from-top-[20%] data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-closed:slide-out-to-top-[20%]',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n <Button variant=\"ghost\" size=\"icon-sm\" className=\"absolute top-4 right-4\">\n <XIcon className=\"size-5\" />\n <span className=\"sr-only\">Close modal</span>\n </Button>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-1.5', className)} {...props} />\n );\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display text-h3 leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n 'text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":";;;;;;;;;AAUE,SAAO,SAAA,EAAA,GAAA,SAACC;CAAqB,OAAU,oBAAA,OAAA,MAAA;EAAS,aAAI;EAAQ,GAAA;CAC9D,CAAA;AAEA;AACE,SAAO,cAAA,EAAA,GAACA,SAAgB;CAAQ,OAAU,oBAAA,OAAA,SAAA;EAAiB,aAAI;EAAQ,GAAA;CACzE,CAAA;AAEA;AACE,SAAO,aAAA,EAAA,GAAA,SAAiB;CAAO,OAAU,oBAAA,OAAA,QAAA;EAAgB,aAAI;EAAQ,GAAA;CACvE,CAAA;AAEA;AACE,SAAO,YAAA,EAAA,GAAA,SAAiB;CAAM,OAAU,oBAAA,OAAA,OAAA;EAAe,aAAI;EAAQ,GAAA;CACrE,CAAA;AAEA;AAIE,SACE,cAAA,EAAA,WAAiB,GAAA,SAAjB;CACE,OAAU,oBAAA,OAAA,SAAA;EACV,aAAW;EAIX,WAAI,GAAA,qKAAA,SAAA;EACL,GAAA;CAEL,CAAA;AAEA;AAQE,SACE,cAAA,EAAA,WAAC,UAAD,kBACE,MAAA,GAAA,SAAC;CAEC,OAAU,qBAAA,cAAA,EAAA,UAAA,CAAA,oBAAA,eAAA,CAAA,CAAA,GAAA,qBAAA,OAAA,SAAA;EACV,aAAW;EAIX,WAAI,GAAA,sbAAA,SAAA;EANN,GAAA;EAU2B,UAAA,CAAA,UAAU,mBAAA,oBAAA,OAAA,OAAA;GAAe,aAAA;GAC9C,SAAA;GAAQ,UAAQ,qBAAA,QAAA;IAAQ,SAAK;IAAU,MAAA;IAAvC,WACE;IACM,UAAA,CAAU,oBAAA,OAAA,EAAA,WAAA,SAAA,CAAA,GAAA,oBAAA,QAAA;KAAU,WAAA;KAAiB,UACrC;;GACa,CAEF;EACb,CAAA,CAAA;CAElB,CAAA,CAAA,EAAA,CAAA;AAEA;AACE,SACE,aAAA,EAAA,WAAA,GAAA,SAAA;CAAK,OAAU,oBAAA,OAAA;EAAgB,aAAW;EAAwC,WAAI,GAAA,yBAAA,SAAA;EAAQ,GAAA;CAElG,CAAA;AAEA;AAQE,SACE,aAAA,EAAA,WAAC,kBAAD,OAAA,UAAA,GAAA,SAAA;CACE,OAAU,qBAAA,OAAA;EACV,aAAW;EACX,WAAI,GAAA,0DAAA,SAAA;EAHN,GAAA;EAO2B,UAAA,CAAA,UAAA,mBAAA,oBAAA,OAAA,OAAA;GACrB,SAAA;GAAQ,UAAQ,oBAAA,QAAA;IAAU,SAAA;IAAa,UAAA;GAClB,CAEtB;;CAET,CAAA;AAEA;AACE,SACE,YAAA,EAAA,WAACA,GAAgB,SAAjB;CACE,OAAU,oBAAA,OAAA,OAAA;EACV,aAAW;EACX,WAAI,GAAA,kEAAA,SAAA;EACL,GAAA;CAEL,CAAA;AAEA;AAIE,SACE,kBAAA,EAACA,WAAgB,GAAA,SAAjB;CACE,OAAU,oBAAA,OAAA,aAAA;EACV,aAAW;EAIX,WAAI,GAAA,sGAAA,SAAA;EACL,GAAA;CAEL,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Direction } from 'radix-ui';
2
+ import * as React from 'react';
3
+ type DirectionValue = 'ltr' | 'rtl';
4
+ type DirectionProviderProps = Omit<React.ComponentProps<typeof Direction.DirectionProvider>, 'dir'> & {
5
+ dir?: DirectionValue;
6
+ /** @deprecated use `dir` */
7
+ direction?: DirectionValue;
8
+ };
9
+ declare function DirectionProvider({ dir, direction, children }: DirectionProviderProps): React.JSX.Element;
10
+ declare const useDirection: typeof Direction.useDirection;
11
+ export { DirectionProvider, useDirection };
12
+ //# sourceMappingURL=direction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../../src/components/ui/direction.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAEpC,KAAK,sBAAsB,GAAG,IAAI,CAChC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,iBAAiB,CAAC,EACxD,KAAK,CACN,GAAG;IACF,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF,iBAAS,iBAAiB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAM9E;AAED,QAAA,MAAM,YAAY,+BAAyB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ "use client";
3
+ import { Direction } from "radix-ui";
4
+ import "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ // src/components/ui/direction.tsx
7
+ function DirectionProvider({ dir, direction, children }) {
8
+ return /* @__PURE__ */ jsx(Direction.DirectionProvider, {
9
+ dir: dir ?? direction ?? "ltr",
10
+ children
11
+ });
12
+ }
13
+ var useDirection = Direction.useDirection;
14
+ export { DirectionProvider, useDirection };
15
+
16
+ //# sourceMappingURL=direction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction.js","names":[],"sources":["../../../src/components/ui/direction.tsx"],"sourcesContent":["'use client';\n\nimport { Direction } from 'radix-ui';\nimport * as React from 'react';\n\ntype DirectionValue = 'ltr' | 'rtl';\n\ntype DirectionProviderProps = Omit<\n React.ComponentProps<typeof Direction.DirectionProvider>,\n 'dir'\n> & {\n dir?: DirectionValue;\n /** @deprecated use `dir` */\n direction?: DirectionValue;\n};\n\nfunction DirectionProvider({ dir, direction, children }: DirectionProviderProps) {\n return (\n <Direction.DirectionProvider dir={dir ?? direction ?? 'ltr'}>\n {children}\n </Direction.DirectionProvider>\n );\n}\n\nconst useDirection = Direction.useDirection;\n\nexport { DirectionProvider, useDirection };\n"],"mappings":";;;;;;AAiBE,SACE,kBAAA,EAAC,KAAA,WAAU,YAAX;CAA6B,OAAY,oBAAa,UAAA,mBAAA;EACnD,KAAA,OAAA,aAAA;EAC0B;CAEjC,CAAA;AAEA"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { Drawer as DrawerPrimitive } from 'vaul';
3
+ declare function Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>): React.JSX.Element;
4
+ declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>): React.JSX.Element;
5
+ declare function DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>): React.JSX.Element;
6
+ declare function DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>): React.JSX.Element;
7
+ declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Overlay>): React.JSX.Element;
8
+ declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof DrawerPrimitive.Content>): React.JSX.Element;
9
+ declare function DrawerHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
10
+ declare function DrawerFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
11
+ declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>): React.JSX.Element;
12
+ declare function DrawerDescription({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Description>): React.JSX.Element;
13
+ export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
14
+ //# sourceMappingURL=drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAEjD,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAE9E;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,qBAExF;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,qBAEtF;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpF;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,qBAWtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,qBAiBtD;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQzE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAQ/F;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,qBAQ1D;AAED,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { cn } from "cn";
2
+ import "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { Drawer } from "vaul";
5
+ // src/components/ui/drawer.tsx
6
+ function Drawer$1({ ...props }) {
7
+ return /* @__PURE__ */ jsx(Drawer.Root, {
8
+ "data-slot": "drawer",
9
+ ...props
10
+ });
11
+ }
12
+ function DrawerTrigger({ ...props }) {
13
+ return /* @__PURE__ */ jsx(Drawer.Trigger, {
14
+ "data-slot": "drawer-trigger",
15
+ ...props
16
+ });
17
+ }
18
+ function DrawerPortal({ ...props }) {
19
+ return /* @__PURE__ */ jsx(Drawer.Portal, {
20
+ "data-slot": "drawer-portal",
21
+ ...props
22
+ });
23
+ }
24
+ function DrawerClose({ ...props }) {
25
+ return /* @__PURE__ */ jsx(Drawer.Close, {
26
+ "data-slot": "drawer-close",
27
+ ...props
28
+ });
29
+ }
30
+ function DrawerOverlay({ className, ...props }) {
31
+ return /* @__PURE__ */ jsx(Drawer.Overlay, {
32
+ "data-slot": "drawer-overlay",
33
+ className: cn("fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
34
+ ...props
35
+ });
36
+ }
37
+ function DrawerContent({ className, children, ...props }) {
38
+ return /* @__PURE__ */ jsxs(DrawerPortal, {
39
+ "data-slot": "drawer-portal",
40
+ children: [/* @__PURE__ */ jsx(DrawerOverlay, {}), /* @__PURE__ */ jsxs(Drawer.Content, {
41
+ "data-slot": "drawer-content",
42
+ 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-sm 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-sm 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-sm 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-sm 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),
43
+ ...props,
44
+ 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]
45
+ })]
46
+ });
47
+ }
48
+ function DrawerHeader({ className, ...props }) {
49
+ return /* @__PURE__ */ jsx("div", {
50
+ "data-slot": "drawer-header",
51
+ className: cn("flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left", className),
52
+ ...props
53
+ });
54
+ }
55
+ function DrawerFooter({ className, ...props }) {
56
+ return /* @__PURE__ */ jsx("div", {
57
+ "data-slot": "drawer-footer",
58
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
59
+ ...props
60
+ });
61
+ }
62
+ function DrawerTitle({ className, ...props }) {
63
+ return /* @__PURE__ */ jsx(Drawer.Title, {
64
+ "data-slot": "drawer-title",
65
+ className: cn("text-base font-medium text-foreground", className),
66
+ ...props
67
+ });
68
+ }
69
+ function DrawerDescription({ className, ...props }) {
70
+ return /* @__PURE__ */ jsx(Drawer.Description, {
71
+ "data-slot": "drawer-description",
72
+ className: cn("text-sm text-muted-foreground", className),
73
+ ...props
74
+ });
75
+ }
76
+ export { Drawer$1 as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
77
+
78
+ //# sourceMappingURL=drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.js","names":["Drawer","DrawerPrimitive"],"sources":["../../../src/components/ui/drawer.tsx"],"sourcesContent":["import { cn } from 'cn';\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nfunction Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot=\"drawer\" {...props} />;\n}\n\nfunction DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n}\n\nfunction DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n}\n\nfunction DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n '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-sm 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-sm 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-sm 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-sm 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',\n className,\n )}\n {...props}\n >\n <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\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n );\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn(\n 'flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('text-base font-medium text-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n"],"mappings":";;;;;AAIA,SAASA,SAAO,EAAE,GAAG,SAA4D;CAC/E,OAAO,oBAACC,OAAgB,MAAjB;EAAsB,aAAU;EAAS,GAAI;CAAQ,CAAA;AAC9D;AAEA,SAAS,cAAc,EAAE,GAAG,SAA+D;CACzF,OAAO,oBAACA,OAAgB,SAAjB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,aAAa,EAAE,GAAG,SAA8D;CACvF,OAAO,oBAACA,OAAgB,QAAjB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAEA,SAAS,YAAY,EAAE,GAAG,SAA6D;CACrF,OAAO,oBAACA,OAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;AAEA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,oBAACA,OAAgB,SAAjB;EACE,aAAU;EACV,WAAW,GACT,oKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,cAAc,EACrB,WACA,UACA,GAAG,SACoD;CACvD,OACE,qBAAC,cAAD;EAAc,aAAU;EAAxB,UAAA,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,qBAACA,OAAgB,SAAjB;GACE,aAAU;GACV,WAAW,GACT,uoCACA,SACF;GACA,GAAI;GANN,UAAA,CAQE,oBAAC,OAAD,EAAK,WAAU,kIAAmI,CAAA,GACjJ,QACsB;EACb,CAAA,CAAA;;AAElB;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,4LACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;CAChG,OACE,oBAACA,OAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,yCAAyC,SAAS;EAChE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;CAC3D,OACE,oBAACA,OAAgB,aAAjB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,30 @@
1
+ import { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
4
+ declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React.JSX.Element;
5
+ declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
6
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
7
+ declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
8
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
9
+ inset?: boolean;
10
+ variant?: 'default' | 'destructive';
11
+ }): React.JSX.Element;
12
+ declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {
13
+ inset?: boolean;
14
+ }): React.JSX.Element;
15
+ declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React.JSX.Element;
16
+ declare function DropdownMenuRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {
17
+ inset?: boolean;
18
+ }): React.JSX.Element;
19
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
20
+ inset?: boolean;
21
+ }): React.JSX.Element;
22
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
23
+ declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element;
24
+ declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element;
25
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
26
+ inset?: boolean;
27
+ }): React.JSX.Element;
28
+ declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
29
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
30
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ "use client";
2
+ "use client";
3
+ import { cn } from "cn";
4
+ import { CheckIcon, ChevronRightIcon } from "lucide-react";
5
+ import { DropdownMenu } from "radix-ui";
6
+ import "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ // src/components/ui/dropdown-menu.tsx
9
+ function DropdownMenu$1({ ...props }) {
10
+ return /* @__PURE__ */ jsx(DropdownMenu.Root, {
11
+ "data-slot": "dropdown-menu",
12
+ ...props
13
+ });
14
+ }
15
+ function DropdownMenuPortal({ ...props }) {
16
+ return /* @__PURE__ */ jsx(DropdownMenu.Portal, {
17
+ "data-slot": "dropdown-menu-portal",
18
+ ...props
19
+ });
20
+ }
21
+ function DropdownMenuTrigger({ ...props }) {
22
+ return /* @__PURE__ */ jsx(DropdownMenu.Trigger, {
23
+ "data-slot": "dropdown-menu-trigger",
24
+ ...props
25
+ });
26
+ }
27
+ function DropdownMenuContent({ className, align = "start", sideOffset = 4, ...props }) {
28
+ return /* @__PURE__ */ jsx(DropdownMenu.Portal, { children: /* @__PURE__ */ jsx(DropdownMenu.Content, {
29
+ "data-slot": "dropdown-menu-content",
30
+ sideOffset,
31
+ align,
32
+ className: cn("z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border border-border bg-popover p-1 text-popover-foreground duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden 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),
33
+ ...props
34
+ }) });
35
+ }
36
+ function DropdownMenuGroup({ ...props }) {
37
+ return /* @__PURE__ */ jsx(DropdownMenu.Group, {
38
+ "data-slot": "dropdown-menu-group",
39
+ ...props
40
+ });
41
+ }
42
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
43
+ return /* @__PURE__ */ jsx(DropdownMenu.Item, {
44
+ "data-slot": "dropdown-menu-item",
45
+ "data-inset": inset,
46
+ "data-variant": variant,
47
+ className: cn("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className),
48
+ ...props
49
+ });
50
+ }
51
+ function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }) {
52
+ return /* @__PURE__ */ jsxs(DropdownMenu.CheckboxItem, {
53
+ "data-slot": "dropdown-menu-checkbox-item",
54
+ "data-inset": inset,
55
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
56
+ checked,
57
+ ...props,
58
+ children: [/* @__PURE__ */ jsx("span", {
59
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
60
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
61
+ children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
62
+ }), children]
63
+ });
64
+ }
65
+ function DropdownMenuRadioGroup({ ...props }) {
66
+ return /* @__PURE__ */ jsx(DropdownMenu.RadioGroup, {
67
+ "data-slot": "dropdown-menu-radio-group",
68
+ ...props
69
+ });
70
+ }
71
+ function DropdownMenuRadioItem({ className, children, inset, ...props }) {
72
+ return /* @__PURE__ */ jsxs(DropdownMenu.RadioItem, {
73
+ "data-slot": "dropdown-menu-radio-item",
74
+ "data-inset": inset,
75
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
76
+ ...props,
77
+ children: [/* @__PURE__ */ jsx("span", {
78
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
79
+ "data-slot": "dropdown-menu-radio-item-indicator",
80
+ children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
81
+ }), children]
82
+ });
83
+ }
84
+ function DropdownMenuLabel({ className, inset, ...props }) {
85
+ return /* @__PURE__ */ jsx(DropdownMenu.Label, {
86
+ "data-slot": "dropdown-menu-label",
87
+ "data-inset": inset,
88
+ className: cn("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", className),
89
+ ...props
90
+ });
91
+ }
92
+ function DropdownMenuSeparator({ className, ...props }) {
93
+ return /* @__PURE__ */ jsx(DropdownMenu.Separator, {
94
+ "data-slot": "dropdown-menu-separator",
95
+ className: cn("-mx-1 my-1 h-px bg-border", className),
96
+ ...props
97
+ });
98
+ }
99
+ function DropdownMenuShortcut({ className, ...props }) {
100
+ return /* @__PURE__ */ jsx("span", {
101
+ "data-slot": "dropdown-menu-shortcut",
102
+ className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", className),
103
+ ...props
104
+ });
105
+ }
106
+ function DropdownMenuSub({ ...props }) {
107
+ return /* @__PURE__ */ jsx(DropdownMenu.Sub, {
108
+ "data-slot": "dropdown-menu-sub",
109
+ ...props
110
+ });
111
+ }
112
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
113
+ return /* @__PURE__ */ jsxs(DropdownMenu.SubTrigger, {
114
+ "data-slot": "dropdown-menu-sub-trigger",
115
+ "data-inset": inset,
116
+ className: cn("flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
117
+ ...props,
118
+ children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })]
119
+ });
120
+ }
121
+ function DropdownMenuSubContent({ className, ...props }) {
122
+ return /* @__PURE__ */ jsx(DropdownMenu.SubContent, {
123
+ "data-slot": "dropdown-menu-sub-content",
124
+ className: cn("z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 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),
125
+ ...props
126
+ });
127
+ }
128
+ export { DropdownMenu$1 as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
129
+
130
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from 'cn';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n align = 'start',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border border-border bg-popover p-1 text-popover-foreground duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden 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',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n 'px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 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',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ declare function Empty({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
3
+ declare function EmptyHeader({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
4
+ declare const emptyMediaVariants: (props?: ({
5
+ variant?: "default" | "icon" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>): import("react").JSX.Element;
8
+ declare function EmptyTitle({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
9
+ declare function EmptyDescription({ className, ...props }: React.ComponentProps<'p'>): import("react").JSX.Element;
10
+ declare function EmptyContent({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
11
+ export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia };
12
+ //# sourceMappingURL=empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../src/components/ui/empty.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWlE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAQxE;AAED,QAAA,MAAM,kBAAkB;;8EAavB,CAAC;AAEF,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,+BASvE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAQvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,+BAW3E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWzE;AAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { cn } from "cn";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ // src/components/ui/empty.tsx
5
+ function Empty({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx("div", {
7
+ "data-slot": "empty",
8
+ className: cn("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-sm border-dashed p-6 text-center text-balance", className),
9
+ ...props
10
+ });
11
+ }
12
+ function EmptyHeader({ className, ...props }) {
13
+ return /* @__PURE__ */ jsx("div", {
14
+ "data-slot": "empty-header",
15
+ className: cn("flex max-w-sm flex-col items-center gap-2", className),
16
+ ...props
17
+ });
18
+ }
19
+ var emptyMediaVariants = cva("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
20
+ variants: { variant: {
21
+ default: "bg-transparent",
22
+ icon: "flex size-8 shrink-0 items-center justify-center rounded-sm bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"
23
+ } },
24
+ defaultVariants: { variant: "default" }
25
+ });
26
+ function EmptyMedia({ className, variant = "default", ...props }) {
27
+ return /* @__PURE__ */ jsx("div", {
28
+ "data-slot": "empty-icon",
29
+ "data-variant": variant,
30
+ className: cn(emptyMediaVariants({
31
+ variant,
32
+ className
33
+ })),
34
+ ...props
35
+ });
36
+ }
37
+ function EmptyTitle({ className, ...props }) {
38
+ return /* @__PURE__ */ jsx("div", {
39
+ "data-slot": "empty-title",
40
+ className: cn("text-sm font-medium tracking-tight", className),
41
+ ...props
42
+ });
43
+ }
44
+ function EmptyDescription({ className, ...props }) {
45
+ return /* @__PURE__ */ jsx("div", {
46
+ "data-slot": "empty-description",
47
+ className: cn("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
48
+ ...props
49
+ });
50
+ }
51
+ function EmptyContent({ className, ...props }) {
52
+ return /* @__PURE__ */ jsx("div", {
53
+ "data-slot": "empty-content",
54
+ className: cn("flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance", className),
55
+ ...props
56
+ });
57
+ }
58
+ export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
59
+
60
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","names":[],"sources":["../../../src/components/ui/empty.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from 'cn';\n\nfunction Empty({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n 'flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-sm border-dashed p-6 text-center text-balance',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn('flex max-w-sm flex-col items-center gap-2', className)}\n {...props}\n />\n );\n}\n\nconst emptyMediaVariants = cva(\n 'mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"flex size-8 shrink-0 items-center justify-center rounded-sm bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4\",\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction EmptyMedia({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn('text-sm font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n 'text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n 'flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia };\n"],"mappings":";;;;AAGA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAsC;CACnE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,+HACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,6CAA6C,SAAS;EACpE,GAAI;CACL,CAAA;AAEL;AAEA,IAAM,qBAAqB,IACzB,+FACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,WAAW,EAClB,WACA,UAAU,WACV,GAAG,SACqE;CACxE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,mBAAmB;GAAE;GAAS;EAAU,CAAC,CAAC;EACxD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;CACxE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;CAC5E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,2GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,mFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,25 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ import { Label } from './label.js';
3
+ declare function FieldSet({ className, ...props }: React.ComponentProps<'fieldset'>): import("react").JSX.Element;
4
+ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<'legend'> & {
5
+ variant?: 'legend' | 'label';
6
+ }): import("react").JSX.Element;
7
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
8
+ declare const fieldVariants: (props?: ({
9
+ orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ declare function Field({ className, orientation, ...props }: React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>): import("react").JSX.Element;
12
+ declare function FieldContent({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
13
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react").JSX.Element;
14
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
15
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<'p'>): import("react").JSX.Element;
16
+ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<'div'> & {
17
+ children?: React.ReactNode;
18
+ }): import("react").JSX.Element;
19
+ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<'div'> & {
20
+ errors?: Array<{
21
+ message?: string;
22
+ } | undefined>;
23
+ }): import("react").JSX.Element | null;
24
+ export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };
25
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/components/ui/field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,+BAW1E;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,+BAYnE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWvE;AAED,QAAA,MAAM,aAAa;;8EAajB,CAAC;AAEH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,+BAUlE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAQzE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,+BAY9E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,+BAa3E;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,+BAsBA;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAClD,sCAqCA;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,CAAC"}