@jbpark/ui-kit 2.3.3 → 2.3.4

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 (274) hide show
  1. package/README.ko.md +0 -1
  2. package/README.md +0 -1
  3. package/dist/Menu.d.mts +62 -2
  4. package/dist/Menu.d.mts.map +1 -0
  5. package/dist/Menu.mjs +66 -5
  6. package/dist/Menu.mjs.map +1 -0
  7. package/dist/Reveals.d.mts +43 -2
  8. package/dist/Reveals.d.mts.map +1 -0
  9. package/dist/Reveals.mjs +28 -3
  10. package/dist/Reveals.mjs.map +1 -0
  11. package/dist/Typography.d.mts +40 -2
  12. package/dist/Typography.d.mts.map +1 -0
  13. package/dist/Typography.mjs +20 -3
  14. package/dist/Typography.mjs.map +1 -0
  15. package/dist/{chunk-BWyCjowX.mjs → _virtual/_rolldown/runtime.mjs} +4 -4
  16. package/dist/components/atoms/Button/index.d.mts +36 -0
  17. package/dist/components/atoms/Button/index.d.mts.map +1 -0
  18. package/dist/components/atoms/Button/index.mjs +56 -0
  19. package/dist/components/atoms/Button/index.mjs.map +1 -0
  20. package/dist/components/atoms/Checkbox/Group/index.d.mts +21 -0
  21. package/dist/components/atoms/Checkbox/Group/index.d.mts.map +1 -0
  22. package/dist/components/atoms/Checkbox/Group/index.mjs +41 -0
  23. package/dist/components/atoms/Checkbox/Group/index.mjs.map +1 -0
  24. package/dist/components/atoms/Checkbox/index.d.mts +45 -0
  25. package/dist/components/atoms/Checkbox/index.d.mts.map +1 -0
  26. package/dist/components/atoms/Checkbox/index.mjs +70 -0
  27. package/dist/components/atoms/Checkbox/index.mjs.map +1 -0
  28. package/dist/components/atoms/ColorPicker/index.d.mts +18 -0
  29. package/dist/components/atoms/ColorPicker/index.d.mts.map +1 -0
  30. package/dist/components/atoms/ColorPicker/index.mjs +39 -0
  31. package/dist/components/atoms/ColorPicker/index.mjs.map +1 -0
  32. package/dist/components/atoms/FloatButton/BackTop/index.d.mts +12 -0
  33. package/dist/components/atoms/FloatButton/BackTop/index.d.mts.map +1 -0
  34. package/dist/components/atoms/FloatButton/BackTop/index.mjs +27 -0
  35. package/dist/components/atoms/FloatButton/BackTop/index.mjs.map +1 -0
  36. package/dist/components/atoms/FloatButton/index.d.mts +22 -0
  37. package/dist/components/atoms/FloatButton/index.d.mts.map +1 -0
  38. package/dist/components/atoms/FloatButton/index.mjs +19 -0
  39. package/dist/components/atoms/FloatButton/index.mjs.map +1 -0
  40. package/dist/components/atoms/Input/Search/index.d.mts +15 -0
  41. package/dist/components/atoms/Input/Search/index.d.mts.map +1 -0
  42. package/dist/components/atoms/Input/Search/index.mjs +57 -0
  43. package/dist/components/atoms/Input/Search/index.mjs.map +1 -0
  44. package/dist/components/atoms/Input/TextArea/index.d.mts +1 -0
  45. package/dist/components/atoms/Input/TextArea/index.mjs +18 -0
  46. package/dist/components/atoms/Input/TextArea/index.mjs.map +1 -0
  47. package/dist/components/atoms/Input/index.d.mts +31 -0
  48. package/dist/components/atoms/Input/index.d.mts.map +1 -0
  49. package/dist/components/atoms/Input/index.mjs +17 -0
  50. package/dist/components/atoms/Input/index.mjs.map +1 -0
  51. package/dist/components/atoms/Popover/index.d.mts +19 -0
  52. package/dist/components/atoms/Popover/index.d.mts.map +1 -0
  53. package/dist/components/atoms/Popover/index.mjs +229 -0
  54. package/dist/components/atoms/Popover/index.mjs.map +1 -0
  55. package/dist/components/atoms/Progress/index.d.mts +20 -0
  56. package/dist/components/atoms/Progress/index.d.mts.map +1 -0
  57. package/dist/components/atoms/Progress/index.mjs +25 -0
  58. package/dist/components/atoms/Progress/index.mjs.map +1 -0
  59. package/dist/components/atoms/Radio/Group/index.d.mts +21 -0
  60. package/dist/components/atoms/Radio/Group/index.d.mts.map +1 -0
  61. package/dist/components/atoms/Radio/Group/index.mjs +41 -0
  62. package/dist/components/atoms/Radio/Group/index.mjs.map +1 -0
  63. package/dist/components/atoms/Radio/index.d.mts +47 -0
  64. package/dist/components/atoms/Radio/index.d.mts.map +1 -0
  65. package/dist/components/atoms/Radio/index.mjs +77 -0
  66. package/dist/components/atoms/Radio/index.mjs.map +1 -0
  67. package/dist/components/atoms/Select/index.d.mts +31 -0
  68. package/dist/components/atoms/Select/index.d.mts.map +1 -0
  69. package/dist/components/atoms/Select/index.mjs +31 -0
  70. package/dist/components/atoms/Select/index.mjs.map +1 -0
  71. package/dist/components/atoms/Skeleton/Button/index.d.mts +2 -0
  72. package/dist/components/atoms/Skeleton/Button/index.mjs +15 -0
  73. package/dist/components/atoms/Skeleton/Button/index.mjs.map +1 -0
  74. package/dist/components/atoms/Skeleton/Node/index.d.mts +2 -0
  75. package/dist/components/atoms/Skeleton/Node/index.mjs +16 -0
  76. package/dist/components/atoms/Skeleton/Node/index.mjs.map +1 -0
  77. package/dist/components/atoms/Skeleton/index.d.mts +51 -0
  78. package/dist/components/atoms/Skeleton/index.d.mts.map +1 -0
  79. package/dist/components/atoms/Skeleton/index.mjs +46 -0
  80. package/dist/components/atoms/Skeleton/index.mjs.map +1 -0
  81. package/dist/components/atoms/Spin/index.d.mts +14 -0
  82. package/dist/components/atoms/Spin/index.d.mts.map +1 -0
  83. package/dist/components/atoms/Spin/index.mjs +17 -0
  84. package/dist/components/atoms/Spin/index.mjs.map +1 -0
  85. package/dist/components/atoms/Switch/index.d.mts +24 -0
  86. package/dist/components/atoms/Switch/index.d.mts.map +1 -0
  87. package/dist/components/atoms/Switch/index.mjs +32 -0
  88. package/dist/components/atoms/Switch/index.mjs.map +1 -0
  89. package/dist/components/atoms/Typography/Link/index.d.mts +12 -0
  90. package/dist/components/atoms/Typography/Link/index.d.mts.map +1 -0
  91. package/dist/components/atoms/Typography/Link/index.mjs +15 -0
  92. package/dist/components/atoms/Typography/Link/index.mjs.map +1 -0
  93. package/dist/components/atoms/Typography/Paragraph/index.d.mts +12 -0
  94. package/dist/components/atoms/Typography/Paragraph/index.d.mts.map +1 -0
  95. package/dist/components/atoms/Typography/Paragraph/index.mjs +15 -0
  96. package/dist/components/atoms/Typography/Paragraph/index.mjs.map +1 -0
  97. package/dist/components/atoms/Typography/Text/index.d.mts +17 -0
  98. package/dist/components/atoms/Typography/Text/index.d.mts.map +1 -0
  99. package/dist/components/atoms/Typography/Text/index.mjs +15 -0
  100. package/dist/components/atoms/Typography/Text/index.mjs.map +1 -0
  101. package/dist/components/atoms/Typography/Title/index.d.mts +15 -0
  102. package/dist/components/atoms/Typography/Title/index.d.mts.map +1 -0
  103. package/dist/components/atoms/Typography/Title/index.mjs +24 -0
  104. package/dist/components/atoms/Typography/Title/index.mjs.map +1 -0
  105. package/dist/components/atoms/index.d.mts +13 -0
  106. package/dist/components/atoms/index.mjs +15 -0
  107. package/dist/components/molecules/Card/index.d.mts +22 -0
  108. package/dist/components/molecules/Card/index.d.mts.map +1 -0
  109. package/dist/components/molecules/Card/index.mjs +21 -0
  110. package/dist/components/molecules/Card/index.mjs.map +1 -0
  111. package/dist/components/molecules/Collapse/index.d.mts +36 -0
  112. package/dist/components/molecules/Collapse/index.d.mts.map +1 -0
  113. package/dist/components/molecules/Collapse/index.mjs +53 -0
  114. package/dist/components/molecules/Collapse/index.mjs.map +1 -0
  115. package/dist/components/molecules/Dropdown/index.d.mts +23 -0
  116. package/dist/components/molecules/Dropdown/index.d.mts.map +1 -0
  117. package/dist/components/molecules/Dropdown/index.mjs +66 -0
  118. package/dist/components/molecules/Dropdown/index.mjs.map +1 -0
  119. package/dist/components/molecules/Marquees/Item/index.d.mts +17 -0
  120. package/dist/components/molecules/Marquees/Item/index.d.mts.map +1 -0
  121. package/dist/components/molecules/Marquees/Item/index.mjs +103 -0
  122. package/dist/components/molecules/Marquees/Item/index.mjs.map +1 -0
  123. package/dist/components/molecules/Marquees/index.d.mts +31 -0
  124. package/dist/components/molecules/Marquees/index.d.mts.map +1 -0
  125. package/dist/components/molecules/Marquees/index.mjs +63 -0
  126. package/dist/components/molecules/Marquees/index.mjs.map +1 -0
  127. package/dist/components/molecules/Menu/Item/Label/index.mjs +18 -0
  128. package/dist/components/molecules/Menu/Item/Label/index.mjs.map +1 -0
  129. package/dist/components/molecules/Menu/Item/index.mjs +122 -0
  130. package/dist/components/molecules/Menu/Item/index.mjs.map +1 -0
  131. package/dist/{index-CsjsTuId.d.mts → components/molecules/Reveals/Item/index.d.mts} +4 -41
  132. package/dist/components/molecules/Reveals/Item/index.d.mts.map +1 -0
  133. package/dist/{Reveals-Cqo3i2hh.mjs → components/molecules/Reveals/Item/index.mjs} +5 -27
  134. package/dist/components/molecules/Reveals/Item/index.mjs.map +1 -0
  135. package/dist/components/molecules/Space/index.d.mts +34 -0
  136. package/dist/components/molecules/Space/index.d.mts.map +1 -0
  137. package/dist/components/molecules/Space/index.mjs +41 -0
  138. package/dist/components/molecules/Space/index.mjs.map +1 -0
  139. package/dist/components/molecules/index.d.mts +7 -0
  140. package/dist/components/molecules/index.mjs +9 -0
  141. package/dist/components/organisms/Drawer/index.d.mts +54 -0
  142. package/dist/components/organisms/Drawer/index.d.mts.map +1 -0
  143. package/dist/components/organisms/Drawer/index.mjs +72 -0
  144. package/dist/components/organisms/Drawer/index.mjs.map +1 -0
  145. package/dist/components/organisms/List/Item/index.mjs +15 -0
  146. package/dist/components/organisms/List/Item/index.mjs.map +1 -0
  147. package/dist/components/organisms/List/index.d.mts +52 -0
  148. package/dist/components/organisms/List/index.d.mts.map +1 -0
  149. package/dist/components/organisms/List/index.mjs +77 -0
  150. package/dist/components/organisms/List/index.mjs.map +1 -0
  151. package/dist/components/organisms/Modal/index.d.mts +66 -0
  152. package/dist/components/organisms/Modal/index.d.mts.map +1 -0
  153. package/dist/components/organisms/Modal/index.mjs +197 -0
  154. package/dist/components/organisms/Modal/index.mjs.map +1 -0
  155. package/dist/components/organisms/Swiper/Slide/index.mjs +17 -0
  156. package/dist/components/organisms/Swiper/Slide/index.mjs.map +1 -0
  157. package/dist/components/organisms/Swiper/index.d.mts +42 -0
  158. package/dist/components/organisms/Swiper/index.d.mts.map +1 -0
  159. package/dist/components/organisms/Swiper/index.mjs +58 -0
  160. package/dist/components/organisms/Swiper/index.mjs.map +1 -0
  161. package/dist/components/organisms/index.d.mts +4 -0
  162. package/dist/components/organisms/index.mjs +6 -0
  163. package/dist/components/templates/Layout/Content/index.d.mts +1 -0
  164. package/dist/components/templates/Layout/Content/index.mjs +15 -0
  165. package/dist/components/templates/Layout/Content/index.mjs.map +1 -0
  166. package/dist/components/templates/Layout/Footer/index.d.mts +1 -0
  167. package/dist/components/templates/Layout/Footer/index.mjs +15 -0
  168. package/dist/components/templates/Layout/Footer/index.mjs.map +1 -0
  169. package/dist/components/templates/Layout/Header/index.d.mts +7 -0
  170. package/dist/components/templates/Layout/Header/index.d.mts.map +1 -0
  171. package/dist/components/templates/Layout/Header/index.mjs +15 -0
  172. package/dist/components/templates/Layout/Header/index.mjs.map +1 -0
  173. package/dist/components/templates/Layout/Sider/index.d.mts +1 -0
  174. package/dist/components/templates/Layout/Sider/index.mjs +15 -0
  175. package/dist/components/templates/Layout/Sider/index.mjs.map +1 -0
  176. package/dist/components/templates/Layout/index.d.mts +38 -0
  177. package/dist/components/templates/Layout/index.d.mts.map +1 -0
  178. package/dist/components/templates/Layout/index.mjs +23 -0
  179. package/dist/components/templates/Layout/index.mjs.map +1 -0
  180. package/dist/components/templates/index.d.mts +1 -0
  181. package/dist/components/templates/index.mjs +3 -0
  182. package/dist/core/accordion.d.mts +32 -0
  183. package/dist/core/accordion.d.mts.map +1 -0
  184. package/dist/core/accordion.mjs +59 -0
  185. package/dist/core/accordion.mjs.map +1 -0
  186. package/dist/core/button.d.mts +26 -0
  187. package/dist/core/button.d.mts.map +1 -0
  188. package/dist/core/button.mjs +55 -0
  189. package/dist/core/button.mjs.map +1 -0
  190. package/dist/core/checkbox.d.mts +15 -0
  191. package/dist/core/checkbox.d.mts.map +1 -0
  192. package/dist/core/checkbox.mjs +34 -0
  193. package/dist/core/checkbox.mjs.map +1 -0
  194. package/dist/core/dialog.d.mts +68 -0
  195. package/dist/core/dialog.d.mts.map +1 -0
  196. package/dist/core/dialog.mjs +124 -0
  197. package/dist/core/dialog.mjs.map +1 -0
  198. package/dist/core/drawer.d.mts +60 -0
  199. package/dist/core/drawer.d.mts.map +1 -0
  200. package/dist/core/drawer.mjs +120 -0
  201. package/dist/core/drawer.mjs.map +1 -0
  202. package/dist/core/field.d.mts +68 -0
  203. package/dist/core/field.d.mts.map +1 -0
  204. package/dist/core/field.mjs +145 -0
  205. package/dist/core/field.mjs.map +1 -0
  206. package/dist/core/input.d.mts +15 -0
  207. package/dist/core/input.d.mts.map +1 -0
  208. package/dist/core/input.mjs +27 -0
  209. package/dist/core/input.mjs.map +1 -0
  210. package/dist/core/label.d.mts +15 -0
  211. package/dist/core/label.d.mts.map +1 -0
  212. package/dist/core/label.mjs +24 -0
  213. package/dist/core/label.mjs.map +1 -0
  214. package/dist/core/popover.d.mts +38 -0
  215. package/dist/core/popover.d.mts.map +1 -0
  216. package/dist/core/popover.mjs +78 -0
  217. package/dist/core/popover.mjs.map +1 -0
  218. package/dist/core/progress.d.mts +22 -0
  219. package/dist/core/progress.d.mts.map +1 -0
  220. package/dist/core/progress.mjs +29 -0
  221. package/dist/core/progress.mjs.map +1 -0
  222. package/dist/core/radio-group.d.mts +19 -0
  223. package/dist/core/radio-group.d.mts.map +1 -0
  224. package/dist/core/radio-group.mjs +43 -0
  225. package/dist/core/radio-group.mjs.map +1 -0
  226. package/dist/core/select.d.mts +56 -0
  227. package/dist/core/select.d.mts.map +1 -0
  228. package/dist/core/select.mjs +144 -0
  229. package/dist/core/select.mjs.map +1 -0
  230. package/dist/core/separator.d.mts +17 -0
  231. package/dist/core/separator.d.mts.map +1 -0
  232. package/dist/core/separator.mjs +25 -0
  233. package/dist/core/separator.mjs.map +1 -0
  234. package/dist/core/skeleton.d.mts +13 -0
  235. package/dist/core/skeleton.d.mts.map +1 -0
  236. package/dist/core/skeleton.mjs +17 -0
  237. package/dist/core/skeleton.mjs.map +1 -0
  238. package/dist/core/switch.d.mts +22 -0
  239. package/dist/core/switch.d.mts.map +1 -0
  240. package/dist/core/switch.mjs +39 -0
  241. package/dist/core/switch.mjs.map +1 -0
  242. package/dist/core/textarea.d.mts +14 -0
  243. package/dist/core/textarea.d.mts.map +1 -0
  244. package/dist/core/textarea.mjs +25 -0
  245. package/dist/core/textarea.mjs.map +1 -0
  246. package/dist/core.d.mts +16 -1
  247. package/dist/core.mjs +16 -4
  248. package/dist/enums.d.mts +2 -1
  249. package/dist/enums.d.mts.map +1 -0
  250. package/dist/enums.mjs +2 -1
  251. package/dist/enums.mjs.map +1 -0
  252. package/dist/index.d.mts +29 -714
  253. package/dist/index.mjs +31 -5
  254. package/dist/node_modules/gsap/CSSPlugin.mjs +920 -0
  255. package/dist/node_modules/gsap/CSSPlugin.mjs.map +1 -0
  256. package/dist/node_modules/gsap/gsap-core.mjs +2723 -0
  257. package/dist/node_modules/gsap/gsap-core.mjs.map +1 -0
  258. package/dist/node_modules/gsap/index.mjs +9 -0
  259. package/dist/node_modules/gsap/index.mjs.map +1 -0
  260. package/dist/{output.css → style.css} +3 -196
  261. package/dist/style.css.map +1 -0
  262. package/dist/style.mjs +1 -0
  263. package/dist/utils.d.mts +2 -1
  264. package/dist/utils.d.mts.map +1 -0
  265. package/dist/utils.mjs +16 -2
  266. package/dist/utils.mjs.map +1 -0
  267. package/package.json +10 -11
  268. package/dist/Typography-Dznhj8uL.mjs +0 -71
  269. package/dist/index-BNAJ1QtH.d.mts +0 -75
  270. package/dist/index-tclrN3ts.d.mts +0 -61
  271. package/dist/index-y5n1p7t3.d.mts +0 -390
  272. package/dist/src-B6Kaolt3.mjs +0 -6158
  273. package/dist/src-BzCZ9O6j.css +0 -211
  274. package/dist/utils-1s_37TSX.mjs +0 -16
@@ -0,0 +1,68 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
4
+
5
+ //#region src/core/dialog.d.ts
6
+ declare namespace dialog_d_exports {
7
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
8
+ }
9
+ declare function Dialog({
10
+ ...props
11
+ }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime0.JSX.Element;
12
+ declare function DialogTrigger({
13
+ ...props
14
+ }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime0.JSX.Element;
15
+ declare function DialogPortal({
16
+ ...props
17
+ }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime0.JSX.Element;
18
+ declare function DialogClose({
19
+ ...props
20
+ }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime0.JSX.Element;
21
+ declare function DialogOverlay({
22
+ className,
23
+ ...props
24
+ }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime0.JSX.Element;
25
+ interface CustomContentProps {
26
+ classNames?: Record<string, string>;
27
+ closeIcon?: React$1.ReactNode;
28
+ closable?: boolean | {
29
+ disabled?: boolean;
30
+ };
31
+ container?: HTMLElement;
32
+ onCancel?: () => void;
33
+ }
34
+ declare function DialogContent({
35
+ className,
36
+ children,
37
+ classNames,
38
+ closeIcon: _closeIcon,
39
+ closable,
40
+ container,
41
+ onCancel,
42
+ ...props
43
+ }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
44
+ showCloseButton?: boolean;
45
+ } & CustomContentProps): react_jsx_runtime0.JSX.Element;
46
+ declare function DialogHeader({
47
+ className,
48
+ ...props
49
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
50
+ declare function DialogFooter({
51
+ className,
52
+ showCloseButton,
53
+ children,
54
+ ...props
55
+ }: React$1.ComponentProps<'div'> & {
56
+ showCloseButton?: boolean;
57
+ }): react_jsx_runtime0.JSX.Element;
58
+ declare function DialogTitle({
59
+ className,
60
+ ...props
61
+ }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime0.JSX.Element;
62
+ declare function DialogDescription({
63
+ className,
64
+ ...props
65
+ }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime0.JSX.Element;
66
+ //#endregion
67
+ export { dialog_d_exports };
68
+ //# sourceMappingURL=dialog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.mts","names":[],"sources":["../../src/core/dialog.tsx"],"mappings":";;;;;;;;iBAUS,MAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI3C,aAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9C,YAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI7C,WAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5C,aAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,UAe7C,kBAAA;EACR,UAAA,GAAa,MAAA;EACb,SAAA,GAAY,OAAA,CAAM,SAAA;EAClB,QAAA;IAAuB,QAAA;EAAA;EACvB,SAAA,GAAY,WAAA;EACZ,QAAA;AAAA;AAAA,iBAGO,aAAA,CAAA;EACP,SAAA;EACA,QAAA;EAEA,UAAA;EACA,SAAA,EAAW,UAAA;EACX,QAAA;EACA,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,OAAA;EAC7C,eAAA;AAAA,IACE,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAuDb,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjE,YAAA,CAAA;EACP,SAAA;EACA,eAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EACP,eAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAoBQ,WAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU5C,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,124 @@
1
+ 'use client';
2
+
3
+ import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
4
+ import { cn } from "../utils.mjs";
5
+ import Button from "../components/atoms/Button/index.mjs";
6
+ import "../index.mjs";
7
+ import { XIcon } from "lucide-react";
8
+ import "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
11
+
12
+ //#region src/core/dialog.tsx
13
+ var dialog_exports = /* @__PURE__ */ __exportAll({
14
+ Dialog: () => Dialog,
15
+ DialogClose: () => DialogClose,
16
+ DialogContent: () => DialogContent,
17
+ DialogDescription: () => DialogDescription,
18
+ DialogFooter: () => DialogFooter,
19
+ DialogHeader: () => DialogHeader,
20
+ DialogOverlay: () => DialogOverlay,
21
+ DialogPortal: () => DialogPortal,
22
+ DialogTitle: () => DialogTitle,
23
+ DialogTrigger: () => DialogTrigger
24
+ });
25
+ function Dialog({ ...props }) {
26
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, {
27
+ "data-slot": "dialog",
28
+ ...props
29
+ });
30
+ }
31
+ function DialogTrigger({ ...props }) {
32
+ return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, {
33
+ "data-slot": "dialog-trigger",
34
+ ...props
35
+ });
36
+ }
37
+ function DialogPortal({ ...props }) {
38
+ return /* @__PURE__ */ jsx(DialogPrimitive.Portal, {
39
+ "data-slot": "dialog-portal",
40
+ ...props
41
+ });
42
+ }
43
+ function DialogClose({ ...props }) {
44
+ return /* @__PURE__ */ jsx(DialogPrimitive.Close, {
45
+ "data-slot": "dialog-close",
46
+ ...props
47
+ });
48
+ }
49
+ function DialogOverlay({ className, ...props }) {
50
+ return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
51
+ "data-slot": "dialog-overlay",
52
+ className: cn(`data-[state=open]:animate-in data-[state=closed]:animate-out
53
+ data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0
54
+ z-50 bg-black/50`, className),
55
+ ...props
56
+ });
57
+ }
58
+ function DialogContent({ className, children, classNames, closeIcon: _closeIcon, closable, container, onCancel, ...props }) {
59
+ const closeIcon = /* @__PURE__ */ jsxs(DialogPrimitive.Close, {
60
+ "data-slot": "dialog-close",
61
+ className: "ring-offset-background focus:ring-ring\n data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\n absolute top-4 right-4 rounded-xs opacity-70 transition-opacity\n hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden\n disabled:pointer-events-none [&_svg]:pointer-events-none\n [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
62
+ disabled: typeof closable === "object" && closable.disabled,
63
+ onClick: onCancel,
64
+ children: [_closeIcon || /* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
65
+ className: "sr-only",
66
+ children: "Close"
67
+ })]
68
+ });
69
+ return /* @__PURE__ */ jsxs(DialogPortal, {
70
+ "data-slot": "dialog-portal",
71
+ container,
72
+ children: [/* @__PURE__ */ jsx(DialogOverlay, { className: cn(classNames?.mask) }), /* @__PURE__ */ jsxs(DialogPrimitive.Content, {
73
+ "data-slot": "dialog-content",
74
+ className: cn(`bg-background data-[state=open]:animate-in
75
+ data-[state=closed]:animate-out data-[state=closed]:fade-out-0
76
+ data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95
77
+ data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid
78
+ w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%]
79
+ gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none
80
+ sm:max-w-lg`, className),
81
+ ...props,
82
+ children: [children, closable && closeIcon]
83
+ })]
84
+ });
85
+ }
86
+ function DialogHeader({ className, ...props }) {
87
+ return /* @__PURE__ */ jsx("div", {
88
+ "data-slot": "dialog-header",
89
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
90
+ ...props
91
+ });
92
+ }
93
+ function DialogFooter({ className, showCloseButton = false, children, ...props }) {
94
+ return /* @__PURE__ */ jsxs("div", {
95
+ "data-slot": "dialog-footer",
96
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
97
+ ...props,
98
+ children: [children, showCloseButton && /* @__PURE__ */ jsx(DialogPrimitive.Close, {
99
+ asChild: true,
100
+ children: /* @__PURE__ */ jsx(Button, {
101
+ variant: "outlined",
102
+ children: "Close"
103
+ })
104
+ })]
105
+ });
106
+ }
107
+ function DialogTitle({ className, ...props }) {
108
+ return /* @__PURE__ */ jsx(DialogPrimitive.Title, {
109
+ "data-slot": "dialog-title",
110
+ className: cn("text-lg leading-none font-semibold", className),
111
+ ...props
112
+ });
113
+ }
114
+ function DialogDescription({ className, ...props }) {
115
+ return /* @__PURE__ */ jsx(DialogPrimitive.Description, {
116
+ "data-slot": "dialog-description",
117
+ className: cn("text-muted-foreground text-sm", className),
118
+ ...props
119
+ });
120
+ }
121
+
122
+ //#endregion
123
+ export { dialog_exports };
124
+ //# sourceMappingURL=dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.mjs","names":[],"sources":["../../src/core/dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { Button } from '@repo/ui';\nimport { cn } from '@repo/ui/utils';\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: 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 `data-[state=open]:animate-in data-[state=closed]:animate-out\n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0\n z-50 bg-black/50`,\n className,\n )}\n {...props}\n />\n );\n}\n\ninterface CustomContentProps {\n classNames?: Record<string, string>;\n closeIcon?: React.ReactNode;\n closable?: boolean | { disabled?: boolean };\n container?: HTMLElement;\n onCancel?: () => void;\n}\n\nfunction DialogContent({\n className,\n children,\n // showCloseButton = true,\n classNames,\n closeIcon: _closeIcon,\n closable,\n container,\n onCancel,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n} & CustomContentProps) {\n const closeIcon = (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring\n data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\n absolute top-4 right-4 rounded-xs opacity-70 transition-opacity\n hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden\n disabled:pointer-events-none [&_svg]:pointer-events-none\n [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n disabled={typeof closable === 'object' && closable.disabled}\n onClick={onCancel}\n >\n {_closeIcon || <XIcon />}\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n );\n\n return (\n <DialogPortal data-slot=\"dialog-portal\" container={container}>\n <DialogOverlay className={cn(classNames?.mask)} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n `bg-background data-[state=open]:animate-in\n data-[state=closed]:animate-out data-[state=closed]:fade-out-0\n data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95\n data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid\n w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%]\n gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none\n sm:max-w-lg`,\n className,\n )}\n {...props}\n >\n {children}\n {closable && closeIcon}\n {/* {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent\n data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs\n opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2\n focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none\n [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )} */}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\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(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outlined\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg leading-none font-semibold', 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('text-muted-foreground text-sm', className)}\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":";;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,OAAO,EACd,GAAG,SACiD;AACpD,QAAO,oBAAC,gBAAgB;EAAK,aAAU;EAAS,GAAI;GAAS;;AAG/D,SAAS,cAAc,EACrB,GAAG,SACoD;AACvD,QAAO,oBAAC,gBAAgB;EAAQ,aAAU;EAAiB,GAAI;GAAS;;AAG1E,SAAS,aAAa,EACpB,GAAG,SACmD;AACtD,QAAO,oBAAC,gBAAgB;EAAO,aAAU;EAAgB,GAAI;GAAS;;AAGxE,SAAS,YAAY,EACnB,GAAG,SACkD;AACrD,QAAO,oBAAC,gBAAgB;EAAM,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT;;2BAGA,UACD;EACD,GAAI;GACJ;;AAYN,SAAS,cAAc,EACrB,WACA,UAEA,YACA,WAAW,YACX,UACA,WACA,UACA,GAAG,SAGmB;CACtB,MAAM,YACJ,qBAAC,gBAAgB;EACf,aAAU;EACV,WAAU;EAMV,UAAU,OAAO,aAAa,YAAY,SAAS;EACnD,SAAS;aAER,cAAc,oBAAC,UAAQ,EACxB,oBAAC;GAAK,WAAU;aAAU;IAAY;GAChB;AAG1B,QACE,qBAAC;EAAa,aAAU;EAA2B;aACjD,oBAAC,iBAAc,WAAW,GAAG,YAAY,KAAK,GAAI,EAClD,qBAAC,gBAAgB;GACf,aAAU;GACV,WAAW,GACT;;;;;;wBAOA,UACD;GACD,GAAI;cAEH,UACA,YAAY;IAcW;GACb;;AAInB,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;GACJ;;AAIN,SAAS,aAAa,EACpB,WACA,kBAAkB,OAClB,UACA,GAAG,SAGF;AACD,QACE,qBAAC;EACC,aAAU;EACV,WAAW,GACT,0DACA,UACD;EACD,GAAI;aAEH,UACA,mBACC,oBAAC,gBAAgB;GAAM;aACrB,oBAAC;IAAO,SAAQ;cAAW;KAAc;IACnB;GAEtB;;AAIV,SAAS,YAAY,EACnB,WACA,GAAG,SACkD;AACrD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ"}
@@ -0,0 +1,60 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { Drawer } from "vaul";
4
+
5
+ //#region src/core/drawer.d.ts
6
+ declare namespace drawer_d_exports {
7
+ export { Drawer$1 as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
8
+ }
9
+ interface CustomProps {
10
+ draggable?: boolean;
11
+ }
12
+ declare function Drawer$1({
13
+ draggable,
14
+ ...props
15
+ }: React$1.ComponentProps<typeof Drawer.Root> & CustomProps): react_jsx_runtime0.JSX.Element;
16
+ declare function DrawerTrigger({
17
+ ...props
18
+ }: React$1.ComponentProps<typeof Drawer.Trigger>): react_jsx_runtime0.JSX.Element;
19
+ declare function DrawerPortal({
20
+ ...props
21
+ }: React$1.ComponentProps<typeof Drawer.Portal>): react_jsx_runtime0.JSX.Element;
22
+ declare function DrawerClose({
23
+ ...props
24
+ }: React$1.ComponentProps<typeof Drawer.Close>): react_jsx_runtime0.JSX.Element;
25
+ declare function DrawerOverlay({
26
+ className,
27
+ ...props
28
+ }: React$1.ComponentProps<typeof Drawer.Overlay>): react_jsx_runtime0.JSX.Element;
29
+ interface CustomContentProps {
30
+ classNames?: Record<string, string>;
31
+ handlebar?: boolean;
32
+ mask?: boolean;
33
+ }
34
+ declare function DrawerContent({
35
+ className,
36
+ children,
37
+ classNames,
38
+ handlebar,
39
+ mask,
40
+ ...props
41
+ }: React$1.ComponentProps<typeof Drawer.Content> & CustomContentProps): react_jsx_runtime0.JSX.Element;
42
+ declare function DrawerHeader({
43
+ className,
44
+ ...props
45
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
46
+ declare function DrawerFooter({
47
+ className,
48
+ ...props
49
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
50
+ declare function DrawerTitle({
51
+ className,
52
+ ...props
53
+ }: React$1.ComponentProps<typeof Drawer.Title>): react_jsx_runtime0.JSX.Element;
54
+ declare function DrawerDescription({
55
+ className,
56
+ ...props
57
+ }: React$1.ComponentProps<typeof Drawer.Description>): react_jsx_runtime0.JSX.Element;
58
+ //#endregion
59
+ export { drawer_d_exports };
60
+ //# sourceMappingURL=drawer.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.d.mts","names":[],"sources":["../../src/core/drawer.tsx"],"mappings":";;;;;;;;UAQU,WAAA;EACR,SAAA;AAAA;AAAA,iBAGO,QAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,IAAA,IAAQ,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUzD,aAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9C,YAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI7C,WAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5C,aAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,UAe7C,kBAAA;EACR,UAAA,GAAa,MAAA;EACb,SAAA;EACA,IAAA;AAAA;AAAA,iBAGO,aAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,UAAA;EACA,SAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,OAAA,IAAW,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA2DnE,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBjE,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjE,WAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU5C,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,120 @@
1
+ 'use client';
2
+
3
+ import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
4
+ import { cn } from "../utils.mjs";
5
+ import "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Drawer } from "vaul";
8
+
9
+ //#region src/core/drawer.tsx
10
+ var drawer_exports = /* @__PURE__ */ __exportAll({
11
+ Drawer: () => Drawer$1,
12
+ DrawerClose: () => DrawerClose,
13
+ DrawerContent: () => DrawerContent,
14
+ DrawerDescription: () => DrawerDescription,
15
+ DrawerFooter: () => DrawerFooter,
16
+ DrawerHeader: () => DrawerHeader,
17
+ DrawerOverlay: () => DrawerOverlay,
18
+ DrawerPortal: () => DrawerPortal,
19
+ DrawerTitle: () => DrawerTitle,
20
+ DrawerTrigger: () => DrawerTrigger
21
+ });
22
+ function Drawer$1({ draggable, ...props }) {
23
+ return /* @__PURE__ */ jsx(Drawer.Root, {
24
+ "data-slot": "drawer",
25
+ handleOnly: !draggable,
26
+ ...props
27
+ });
28
+ }
29
+ function DrawerTrigger({ ...props }) {
30
+ return /* @__PURE__ */ jsx(Drawer.Trigger, {
31
+ "data-slot": "drawer-trigger",
32
+ ...props
33
+ });
34
+ }
35
+ function DrawerPortal({ ...props }) {
36
+ return /* @__PURE__ */ jsx(Drawer.Portal, {
37
+ "data-slot": "drawer-portal",
38
+ ...props
39
+ });
40
+ }
41
+ function DrawerClose({ ...props }) {
42
+ return /* @__PURE__ */ jsx(Drawer.Close, {
43
+ "data-slot": "drawer-close",
44
+ ...props
45
+ });
46
+ }
47
+ function DrawerOverlay({ className, ...props }) {
48
+ return /* @__PURE__ */ jsx(Drawer.Overlay, {
49
+ "data-slot": "drawer-overlay",
50
+ className: cn(`data-[state=open]:animate-in data-[state=closed]:animate-out
51
+ data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0
52
+ z-50 bg-black/50`, className),
53
+ ...props
54
+ });
55
+ }
56
+ function DrawerContent({ className, children, classNames = {}, handlebar, mask, ...props }) {
57
+ return /* @__PURE__ */ jsxs(DrawerPortal, {
58
+ "data-slot": "drawer-portal",
59
+ children: [/* @__PURE__ */ jsx(DrawerOverlay, { className: cn(classNames?.mask || "", !mask && "hidden") }), /* @__PURE__ */ jsxs(Drawer.Content, {
60
+ "data-slot": "drawer-content",
61
+ className: cn("group/drawer-content bg-background fixed z-50 flex h-auto flex-col", `data-[vaul-drawer-direction=top]:inset-x-0
62
+ data-[vaul-drawer-direction=top]:top-0
63
+ data-[vaul-drawer-direction=top]:mb-24
64
+ data-[vaul-drawer-direction=top]:max-h-[80vh]
65
+ data-[vaul-drawer-direction=top]:rounded-b-lg
66
+ data-[vaul-drawer-direction=top]:border-b`, `data-[vaul-drawer-direction=bottom]:inset-x-0
67
+ data-[vaul-drawer-direction=bottom]:bottom-0
68
+ data-[vaul-drawer-direction=bottom]:mt-24
69
+ data-[vaul-drawer-direction=bottom]:max-h-[80vh]
70
+ data-[vaul-drawer-direction=bottom]:rounded-t-lg
71
+ data-[vaul-drawer-direction=bottom]:border-t`, `data-[vaul-drawer-direction=right]:inset-y-0
72
+ data-[vaul-drawer-direction=right]:right-0
73
+ data-[vaul-drawer-direction=right]:w-3/4
74
+ data-[vaul-drawer-direction=right]:border-l
75
+ data-[vaul-drawer-direction=right]:sm:max-w-sm`, `data-[vaul-drawer-direction=left]:inset-y-0
76
+ data-[vaul-drawer-direction=left]:left-0
77
+ data-[vaul-drawer-direction=left]:w-3/4
78
+ data-[vaul-drawer-direction=left]:border-r
79
+ data-[vaul-drawer-direction=left]:sm:max-w-sm`, className),
80
+ ...props,
81
+ children: [handlebar && /* @__PURE__ */ jsx("div", { className: cn(`bg-muted mx-auto mt-4 hidden h-2 w-25 shrink-0 rounded-full
82
+ group-data-[vaul-drawer-direction=bottom]/drawer-content:block`, classNames?.handlebar) }), children]
83
+ })]
84
+ });
85
+ }
86
+ function DrawerHeader({ className, ...props }) {
87
+ return /* @__PURE__ */ jsx("div", {
88
+ "data-slot": "drawer-header",
89
+ className: cn(`flex flex-col gap-0.5 p-4
90
+ group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center
91
+ group-data-[vaul-drawer-direction=top]/drawer-content:text-center
92
+ md:gap-1.5 md:text-left`, className),
93
+ ...props
94
+ });
95
+ }
96
+ function DrawerFooter({ className, ...props }) {
97
+ return /* @__PURE__ */ jsx("div", {
98
+ "data-slot": "drawer-footer",
99
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
100
+ ...props
101
+ });
102
+ }
103
+ function DrawerTitle({ className, ...props }) {
104
+ return /* @__PURE__ */ jsx(Drawer.Title, {
105
+ "data-slot": "drawer-title",
106
+ className: cn("text-foreground font-semibold", className),
107
+ ...props
108
+ });
109
+ }
110
+ function DrawerDescription({ className, ...props }) {
111
+ return /* @__PURE__ */ jsx(Drawer.Description, {
112
+ "data-slot": "drawer-description",
113
+ className: cn("text-muted-foreground text-sm", className),
114
+ ...props
115
+ });
116
+ }
117
+
118
+ //#endregion
119
+ export { drawer_exports };
120
+ //# sourceMappingURL=drawer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.mjs","names":["Drawer","DrawerPrimitive"],"sources":["../../src/core/drawer.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@repo/ui/utils';\n\ninterface CustomProps {\n draggable?: boolean;\n}\n\nfunction Drawer({\n draggable,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root> & CustomProps) {\n return (\n <DrawerPrimitive.Root\n data-slot=\"drawer\"\n handleOnly={!draggable}\n {...props}\n />\n );\n}\n\nfunction DrawerTrigger({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n}\n\nfunction DrawerPortal({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n}\n\nfunction DrawerClose({\n ...props\n}: 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 `data-[state=open]:animate-in data-[state=closed]:animate-out\n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0\n z-50 bg-black/50`,\n className,\n )}\n {...props}\n />\n );\n}\n\ninterface CustomContentProps {\n classNames?: Record<string, string>;\n handlebar?: boolean;\n mask?: boolean;\n}\n\nfunction DrawerContent({\n className,\n children,\n classNames = {},\n handlebar,\n mask,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content> & CustomContentProps) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay\n className={cn(\n classNames?.mask || '',\n !mask && 'hidden',\n //\n )}\n />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background fixed z-50 flex h-auto flex-col',\n `data-[vaul-drawer-direction=top]:inset-x-0\n data-[vaul-drawer-direction=top]:top-0\n data-[vaul-drawer-direction=top]:mb-24\n data-[vaul-drawer-direction=top]:max-h-[80vh]\n data-[vaul-drawer-direction=top]:rounded-b-lg\n data-[vaul-drawer-direction=top]:border-b`,\n `data-[vaul-drawer-direction=bottom]:inset-x-0\n data-[vaul-drawer-direction=bottom]:bottom-0\n data-[vaul-drawer-direction=bottom]:mt-24\n data-[vaul-drawer-direction=bottom]:max-h-[80vh]\n data-[vaul-drawer-direction=bottom]:rounded-t-lg\n data-[vaul-drawer-direction=bottom]:border-t`,\n `data-[vaul-drawer-direction=right]:inset-y-0\n data-[vaul-drawer-direction=right]:right-0\n data-[vaul-drawer-direction=right]:w-3/4\n data-[vaul-drawer-direction=right]:border-l\n data-[vaul-drawer-direction=right]:sm:max-w-sm`,\n `data-[vaul-drawer-direction=left]:inset-y-0\n data-[vaul-drawer-direction=left]:left-0\n data-[vaul-drawer-direction=left]:w-3/4\n data-[vaul-drawer-direction=left]:border-r\n data-[vaul-drawer-direction=left]:sm:max-w-sm`,\n className,\n )}\n {...props}\n >\n {handlebar && (\n <div\n className={cn(\n `bg-muted mx-auto mt-4 hidden h-2 w-25 shrink-0 rounded-full\n group-data-[vaul-drawer-direction=bottom]/drawer-content:block`,\n classNames?.handlebar,\n )}\n />\n )}\n {/* <div\n className=\"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full\n group-data-[vaul-drawer-direction=bottom]/drawer-content:block\"\n /> */}\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\n group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center\n group-data-[vaul-drawer-direction=top]/drawer-content:text-center\n md:gap-1.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({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('text-foreground font-semibold', 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-muted-foreground text-sm', 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":";;;;;;;;;;;;;;;;;;;;;AAYA,SAASA,SAAO,EACd,WACA,GAAG,SAC+D;AAClE,QACE,oBAACC,OAAgB;EACf,aAAU;EACV,YAAY,CAAC;EACb,GAAI;GACJ;;AAIN,SAAS,cAAc,EACrB,GAAG,SACoD;AACvD,QAAO,oBAACA,OAAgB;EAAQ,aAAU;EAAiB,GAAI;GAAS;;AAG1E,SAAS,aAAa,EACpB,GAAG,SACmD;AACtD,QAAO,oBAACA,OAAgB;EAAO,aAAU;EAAgB,GAAI;GAAS;;AAGxE,SAAS,YAAY,EACnB,GAAG,SACkD;AACrD,QAAO,oBAACA,OAAgB;EAAM,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAACA,OAAgB;EACf,aAAU;EACV,WAAW,GACT;;2BAGA,UACD;EACD,GAAI;GACJ;;AAUN,SAAS,cAAc,EACrB,WACA,UACA,aAAa,EAAE,EACf,WACA,MACA,GAAG,SACyE;AAC5E,QACE,qBAAC;EAAa,aAAU;aACtB,oBAAC,iBACC,WAAW,GACT,YAAY,QAAQ,IACpB,CAAC,QAAQ,SAEV,GACD,EACF,qBAACA,OAAgB;GACf,aAAU;GACV,WAAW,GACT,sEACA;;;;;sDAMA;;;;;yDAMA;;;;2DAKA;;;;0DAKA,UACD;GACD,GAAI;cAEH,aACC,oBAAC,SACC,WAAW,GACT;+EAEA,YAAY,UACb,GACD,EAMH;IACuB;GACb;;AAInB,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT;;;kCAIA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,mCAAmC,UAAU;EAC3D,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,GAAG,SACkD;AACrD,QACE,oBAACA,OAAgB;EACf,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAACA,OAAgB;EACf,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ"}
@@ -0,0 +1,68 @@
1
+ import { Label } from "./label.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
+
6
+ //#region src/core/field.d.ts
7
+ declare namespace field_d_exports {
8
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
9
+ }
10
+ declare function FieldSet({
11
+ className,
12
+ ...props
13
+ }: React.ComponentProps<'fieldset'>): react_jsx_runtime0.JSX.Element;
14
+ declare function FieldLegend({
15
+ className,
16
+ variant,
17
+ ...props
18
+ }: React.ComponentProps<'legend'> & {
19
+ variant?: 'legend' | 'label';
20
+ }): react_jsx_runtime0.JSX.Element;
21
+ declare function FieldGroup({
22
+ className,
23
+ ...props
24
+ }: React.ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
25
+ declare const fieldVariants: (props?: ({
26
+ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
27
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
28
+ declare function Field({
29
+ className,
30
+ orientation,
31
+ ...props
32
+ }: React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>): react_jsx_runtime0.JSX.Element;
33
+ declare function FieldContent({
34
+ className,
35
+ ...props
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
37
+ declare function FieldLabel({
38
+ className,
39
+ ...props
40
+ }: React.ComponentProps<typeof Label>): react_jsx_runtime0.JSX.Element;
41
+ declare function FieldTitle({
42
+ className,
43
+ ...props
44
+ }: React.ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
45
+ declare function FieldDescription({
46
+ className,
47
+ ...props
48
+ }: React.ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
49
+ declare function FieldSeparator({
50
+ children,
51
+ className,
52
+ ...props
53
+ }: React.ComponentProps<'div'> & {
54
+ children?: React.ReactNode;
55
+ }): react_jsx_runtime0.JSX.Element;
56
+ declare function FieldError({
57
+ className,
58
+ children,
59
+ errors,
60
+ ...props
61
+ }: React.ComponentProps<'div'> & {
62
+ errors?: Array<{
63
+ message?: string;
64
+ } | undefined>;
65
+ }): react_jsx_runtime0.JSX.Element | null;
66
+ //#endregion
67
+ export { field_d_exports };
68
+ //# sourceMappingURL=field.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.mts","names":[],"sources":["../../src/core/field.tsx"],"mappings":";;;;;;;;;iBAWS,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,eAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAelE,WAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EAA6B,OAAA;AAAA,IAA8B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgB3D,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAclE,aAAA,GAAa,KAAA;;IAsBlB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,KAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,aAAA,IAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAY1D,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAajE,UAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,QAAsB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAoB5B,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAc/D,gBAAA,CAAA;EAAmB,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBnE,cAAA,CAAA;EACP,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EACP,QAAA,GAAW,KAAA,CAAM,SAAA;AAAA,IAClB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA0BQ,UAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EACP,MAAA,GAAS,KAAA;IAAQ,OAAA;EAAA;AAAA,IAClB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,145 @@
1
+ 'use client';
2
+
3
+ import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
4
+ import { cn } from "../utils.mjs";
5
+ import { Label } from "./label.mjs";
6
+ import { Separator } from "./separator.mjs";
7
+ import { useMemo } from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { cva } from "class-variance-authority";
10
+
11
+ //#region src/core/field.tsx
12
+ var field_exports = /* @__PURE__ */ __exportAll({
13
+ Field: () => Field,
14
+ FieldContent: () => FieldContent,
15
+ FieldDescription: () => FieldDescription,
16
+ FieldError: () => FieldError,
17
+ FieldGroup: () => FieldGroup,
18
+ FieldLabel: () => FieldLabel,
19
+ FieldLegend: () => FieldLegend,
20
+ FieldSeparator: () => FieldSeparator,
21
+ FieldSet: () => FieldSet,
22
+ FieldTitle: () => FieldTitle
23
+ });
24
+ function FieldSet({ className, ...props }) {
25
+ return /* @__PURE__ */ jsx("fieldset", {
26
+ "data-slot": "field-set",
27
+ className: cn("flex flex-col gap-6", `has-[>[data-slot=checkbox-group]]:gap-3
28
+ has-[>[data-slot=radio-group]]:gap-3`, className),
29
+ ...props
30
+ });
31
+ }
32
+ function FieldLegend({ className, variant = "legend", ...props }) {
33
+ return /* @__PURE__ */ jsx("legend", {
34
+ "data-slot": "field-legend",
35
+ "data-variant": variant,
36
+ className: cn("mb-3 font-medium", "data-[variant=legend]:text-base", "data-[variant=label]:text-sm", className),
37
+ ...props
38
+ });
39
+ }
40
+ function FieldGroup({ className, ...props }) {
41
+ return /* @__PURE__ */ jsx("div", {
42
+ "data-slot": "field-group",
43
+ className: cn(`group/field-group @container/field-group flex w-full flex-col gap-7
44
+ data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4`, className),
45
+ ...props
46
+ });
47
+ }
48
+ const fieldVariants = cva("group/field flex w-full gap-3 data-[invalid=true]:text-destructive", {
49
+ variants: { orientation: {
50
+ vertical: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
51
+ horizontal: [
52
+ "flex-row items-center",
53
+ "[&>[data-slot=field-label]]:flex-auto",
54
+ "has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
55
+ ],
56
+ responsive: [
57
+ "flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto",
58
+ "@md/field-group:[&>[data-slot=field-label]]:flex-auto",
59
+ "@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
60
+ ]
61
+ } },
62
+ defaultVariants: { orientation: "vertical" }
63
+ });
64
+ function Field({ className, orientation = "vertical", ...props }) {
65
+ return /* @__PURE__ */ jsx("div", {
66
+ role: "group",
67
+ "data-slot": "field",
68
+ "data-orientation": orientation,
69
+ className: cn(fieldVariants({ orientation }), className),
70
+ ...props
71
+ });
72
+ }
73
+ function FieldContent({ className, ...props }) {
74
+ return /* @__PURE__ */ jsx("div", {
75
+ "data-slot": "field-content",
76
+ className: cn("group/field-content flex flex-1 flex-col gap-1.5 leading-snug", className),
77
+ ...props
78
+ });
79
+ }
80
+ function FieldLabel({ className, ...props }) {
81
+ return /* @__PURE__ */ jsx(Label, {
82
+ "data-slot": "field-label",
83
+ className: cn(`group/field-label peer/field-label flex w-fit gap-2 leading-snug
84
+ group-data-[disabled=true]/field:opacity-50`, `has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col
85
+ has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border
86
+ [&>*]:data-[slot=field]:p-4`, `has-data-[state=checked]:bg-primary/5
87
+ has-data-[state=checked]:border-primary
88
+ dark:has-data-[state=checked]:bg-primary/10`, className),
89
+ ...props
90
+ });
91
+ }
92
+ function FieldTitle({ className, ...props }) {
93
+ return /* @__PURE__ */ jsx("div", {
94
+ "data-slot": "field-label",
95
+ className: cn(`flex w-fit items-center gap-2 text-sm leading-snug font-medium
96
+ group-data-[disabled=true]/field:opacity-50`, className),
97
+ ...props
98
+ });
99
+ }
100
+ function FieldDescription({ className, ...props }) {
101
+ return /* @__PURE__ */ jsx("p", {
102
+ "data-slot": "field-description",
103
+ className: cn(`text-muted-foreground text-sm leading-normal font-normal
104
+ group-has-[[data-orientation=horizontal]]/field:text-balance`, "last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5", "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4", className),
105
+ ...props
106
+ });
107
+ }
108
+ function FieldSeparator({ children, className, ...props }) {
109
+ return /* @__PURE__ */ jsxs("div", {
110
+ "data-slot": "field-separator",
111
+ "data-content": !!children,
112
+ className: cn(`relative -my-2 h-5 text-sm
113
+ group-data-[variant=outline]/field-group:-mb-2`, className),
114
+ ...props,
115
+ children: [/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }), children && /* @__PURE__ */ jsx("span", {
116
+ className: "bg-background text-muted-foreground relative mx-auto block\n w-fit px-2",
117
+ "data-slot": "field-separator-content",
118
+ children
119
+ })]
120
+ });
121
+ }
122
+ function FieldError({ className, children, errors, ...props }) {
123
+ const content = useMemo(() => {
124
+ if (children) return children;
125
+ if (!errors?.length) return null;
126
+ const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];
127
+ if (uniqueErrors?.length == 1) return uniqueErrors[0]?.message;
128
+ return /* @__PURE__ */ jsx("ul", {
129
+ className: "ml-4 flex list-disc flex-col gap-1",
130
+ children: uniqueErrors.map((error, index) => error?.message && /* @__PURE__ */ jsx("li", { children: error.message }, index))
131
+ });
132
+ }, [children, errors]);
133
+ if (!content) return null;
134
+ return /* @__PURE__ */ jsx("div", {
135
+ role: "alert",
136
+ "data-slot": "field-error",
137
+ className: cn("text-destructive text-sm font-normal", className),
138
+ ...props,
139
+ children: content
140
+ });
141
+ }
142
+
143
+ //#endregion
144
+ export { field_exports };
145
+ //# sourceMappingURL=field.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.mjs","names":[],"sources":["../../src/core/field.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { type VariantProps, cva } from 'class-variance-authority';\n\nimport { cn } from '@repo/ui/utils';\n\nimport { Label } from './label';\nimport { Separator } from './separator';\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<'fieldset'>) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n 'flex flex-col gap-6',\n `has-[>[data-slot=checkbox-group]]:gap-3\n has-[>[data-slot=radio-group]]:gap-3`,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLegend({\n className,\n variant = 'legend',\n ...props\n}: React.ComponentProps<'legend'> & { variant?: 'legend' | 'label' }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n 'mb-3 font-medium',\n 'data-[variant=legend]:text-base',\n 'data-[variant=label]:text-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n `group/field-group @container/field-group flex w-full flex-col gap-7\n data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4`,\n className,\n )}\n {...props}\n />\n );\n}\n\nconst fieldVariants = cva(\n 'group/field flex w-full gap-3 data-[invalid=true]:text-destructive',\n {\n variants: {\n orientation: {\n vertical: ['flex-col [&>*]:w-full [&>.sr-only]:w-auto'],\n horizontal: [\n 'flex-row items-center',\n '[&>[data-slot=field-label]]:flex-auto',\n 'has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n responsive: [\n 'flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto',\n '@md/field-group:[&>[data-slot=field-label]]:flex-auto',\n '@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n },\n);\n\nfunction Field({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n 'group/field-content flex flex-1 flex-col gap-1.5 leading-snug',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n `group/field-label peer/field-label flex w-fit gap-2 leading-snug\n group-data-[disabled=true]/field:opacity-50`,\n `has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\n has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border\n [&>*]:data-[slot=field]:p-4`,\n `has-data-[state=checked]:bg-primary/5\n has-data-[state=checked]:border-primary\n dark:has-data-[state=checked]:bg-primary/10`,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n `flex w-fit items-center gap-2 text-sm leading-snug font-medium\n group-data-[disabled=true]/field:opacity-50`,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n `text-muted-foreground text-sm leading-normal font-normal\n group-has-[[data-orientation=horizontal]]/field:text-balance`,\n 'last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'div'> & {\n children?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n `relative -my-2 h-5 text-sm\n group-data-[variant=outline]/field-group:-mb-2`,\n className,\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block\n w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<'div'> & {\n errors?: Array<{ message?: string } | undefined>;\n}) {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors?.length) {\n return null;\n }\n\n const uniqueErrors = [\n ...new Map(errors.map(error => [error?.message, error])).values(),\n ];\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message;\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>,\n )}\n </ul>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn('text-destructive text-sm font-normal', className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAWA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA2C;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uBACA;+CAEA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,UAAU,UACV,GAAG,SACiE;AACpE,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GACT,oBACA,mCACA,gCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT;6EAEA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,gBAAgB,IACpB,sEACA;CACE,UAAU,EACR,aAAa;EACX,UAAU,CAAC,4CAA4C;EACvD,YAAY;GACV;GACA;GACA;GACD;EACD,YAAY;GACV;GACA;GACA;GACD;EACF,EACF;CACD,iBAAiB,EACf,aAAa,YACd;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,cAAc,YACd,GAAG,SACgE;AACnE,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,cAAc,EAAE,aAAa,CAAC,EAAE,UAAU;EACxD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAClB,WACA,GAAG,SACkC;AACrC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT;sDAEA;;sCAGA;;sDAGA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT;sDAEA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT;uEAEA,gEACA,qEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,UACA,WACA,GAAG,SAGF;AACD,QACE,qBAAC;EACC,aAAU;EACV,gBAAc,CAAC,CAAC;EAChB,WAAW,GACT;yDAEA,UACD;EACD,GAAI;aAEJ,oBAAC,aAAU,WAAU,6BAA6B,EACjD,YACC,oBAAC;GACC,WAAU;GAEV,aAAU;GAET;IACI;GAEL;;AAIV,SAAS,WAAW,EAClB,WACA,UACA,QACA,GAAG,SAGF;CACD,MAAM,UAAU,cAAc;AAC5B,MAAI,SACF,QAAO;AAGT,MAAI,CAAC,QAAQ,OACX,QAAO;EAGT,MAAM,eAAe,CACnB,GAAG,IAAI,IAAI,OAAO,KAAI,UAAS,CAAC,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,QAAQ,CAClE;AAED,MAAI,cAAc,UAAU,EAC1B,QAAO,aAAa,IAAI;AAG1B,SACE,oBAAC;GAAG,WAAU;aACX,aAAa,KACX,OAAO,UACN,OAAO,WAAW,oBAAC,kBAAgB,MAAM,WAAd,MAA2B,CACzD;IACE;IAEN,CAAC,UAAU,OAAO,CAAC;AAEtB,KAAI,CAAC,QACH,QAAO;AAGT,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;YAEH;GACG"}