@codefast/ui 0.0.4 → 0.0.6

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 (270) hide show
  1. package/dist/accordion.js +52 -1
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/accordion.mjs +52 -1
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/alert-dialog.d.mts +1 -3
  6. package/dist/alert-dialog.d.ts +1 -3
  7. package/dist/alert-dialog.js +106 -1
  8. package/dist/alert-dialog.js.map +1 -1
  9. package/dist/alert-dialog.mjs +106 -1
  10. package/dist/alert-dialog.mjs.map +1 -1
  11. package/dist/alert.js +54 -1
  12. package/dist/alert.js.map +1 -1
  13. package/dist/alert.mjs +54 -1
  14. package/dist/alert.mjs.map +1 -1
  15. package/dist/aspect-ratio.js +8 -1
  16. package/dist/aspect-ratio.js.map +1 -1
  17. package/dist/aspect-ratio.mjs +8 -1
  18. package/dist/aspect-ratio.mjs.map +1 -1
  19. package/dist/avatar.js +47 -1
  20. package/dist/avatar.js.map +1 -1
  21. package/dist/avatar.mjs +47 -1
  22. package/dist/avatar.mjs.map +1 -1
  23. package/dist/badge.js +30 -1
  24. package/dist/badge.js.map +1 -1
  25. package/dist/badge.mjs +30 -1
  26. package/dist/badge.mjs.map +1 -1
  27. package/dist/breadcrumb.js +99 -1
  28. package/dist/breadcrumb.js.map +1 -1
  29. package/dist/breadcrumb.mjs +99 -1
  30. package/dist/breadcrumb.mjs.map +1 -1
  31. package/dist/button.d.mts +1 -1
  32. package/dist/button.d.ts +1 -1
  33. package/dist/button.js +9 -1
  34. package/dist/button.mjs +9 -1
  35. package/dist/calendar.js +82 -1
  36. package/dist/calendar.js.map +1 -1
  37. package/dist/calendar.mjs +82 -1
  38. package/dist/calendar.mjs.map +1 -1
  39. package/dist/card.js +66 -1
  40. package/dist/card.js.map +1 -1
  41. package/dist/card.mjs +66 -1
  42. package/dist/card.mjs.map +1 -1
  43. package/dist/carousel.js +193 -1
  44. package/dist/carousel.js.map +1 -1
  45. package/dist/carousel.mjs +193 -1
  46. package/dist/carousel.mjs.map +1 -1
  47. package/dist/checkbox.js +26 -1
  48. package/dist/checkbox.js.map +1 -1
  49. package/dist/checkbox.mjs +26 -1
  50. package/dist/checkbox.mjs.map +1 -1
  51. package/dist/chunk-4K26QLS2.js +52 -0
  52. package/dist/chunk-4K26QLS2.js.map +1 -0
  53. package/dist/chunk-5GHZ6EXI.js +41 -0
  54. package/dist/chunk-5GHZ6EXI.js.map +1 -0
  55. package/dist/chunk-EIHWTXQ4.mjs +112 -0
  56. package/dist/chunk-EIHWTXQ4.mjs.map +1 -0
  57. package/dist/chunk-G3NP7M2N.js +19 -0
  58. package/dist/chunk-G3NP7M2N.js.map +1 -0
  59. package/dist/chunk-LDYBRDAY.js +112 -0
  60. package/dist/chunk-LDYBRDAY.js.map +1 -0
  61. package/dist/chunk-PTD4AMHI.mjs +25 -0
  62. package/dist/{chunk-76AASLTX.mjs.map → chunk-PTD4AMHI.mjs.map} +1 -1
  63. package/dist/chunk-RTKEO347.js +25 -0
  64. package/dist/chunk-RTKEO347.js.map +1 -0
  65. package/dist/chunk-T52N6ZBP.mjs +41 -0
  66. package/dist/chunk-T52N6ZBP.mjs.map +1 -0
  67. package/dist/chunk-UG3URV2Z.mjs +19 -0
  68. package/dist/chunk-UG3URV2Z.mjs.map +1 -0
  69. package/dist/chunk-Z524G4RY.mjs +52 -0
  70. package/dist/chunk-Z524G4RY.mjs.map +1 -0
  71. package/dist/collapsible.js +12 -1
  72. package/dist/collapsible.js.map +1 -1
  73. package/dist/collapsible.mjs +12 -1
  74. package/dist/collapsible.mjs.map +1 -1
  75. package/dist/command.js +131 -1
  76. package/dist/command.js.map +1 -1
  77. package/dist/command.mjs +131 -1
  78. package/dist/command.mjs.map +1 -1
  79. package/dist/context-menu.d.mts +2 -2
  80. package/dist/context-menu.d.ts +2 -2
  81. package/dist/context-menu.js +169 -1
  82. package/dist/context-menu.js.map +1 -1
  83. package/dist/context-menu.mjs +169 -1
  84. package/dist/context-menu.mjs.map +1 -1
  85. package/dist/dialog.d.mts +1 -3
  86. package/dist/dialog.d.ts +1 -3
  87. package/dist/dialog.js +22 -1
  88. package/dist/dialog.mjs +22 -1
  89. package/dist/drawer.d.mts +1 -3
  90. package/dist/drawer.d.ts +1 -3
  91. package/dist/drawer.js +97 -1
  92. package/dist/drawer.js.map +1 -1
  93. package/dist/drawer.mjs +97 -1
  94. package/dist/drawer.mjs.map +1 -1
  95. package/dist/dropdown-menu.d.mts +1 -2
  96. package/dist/dropdown-menu.d.ts +1 -2
  97. package/dist/dropdown-menu.js +157 -1
  98. package/dist/dropdown-menu.js.map +1 -1
  99. package/dist/dropdown-menu.mjs +157 -1
  100. package/dist/dropdown-menu.mjs.map +1 -1
  101. package/dist/form.js +117 -1
  102. package/dist/form.js.map +1 -1
  103. package/dist/form.mjs +117 -1
  104. package/dist/form.mjs.map +1 -1
  105. package/dist/hover-card.js +30 -1
  106. package/dist/hover-card.js.map +1 -1
  107. package/dist/hover-card.mjs +30 -1
  108. package/dist/hover-card.mjs.map +1 -1
  109. package/dist/input-otp.js +59 -1
  110. package/dist/input-otp.js.map +1 -1
  111. package/dist/input-otp.mjs +59 -1
  112. package/dist/input-otp.mjs.map +1 -1
  113. package/dist/input.js +25 -1
  114. package/dist/input.js.map +1 -1
  115. package/dist/input.mjs +25 -1
  116. package/dist/input.mjs.map +1 -1
  117. package/dist/label.js +8 -1
  118. package/dist/label.mjs +8 -1
  119. package/dist/menubar.d.mts +1 -2
  120. package/dist/menubar.d.ts +1 -2
  121. package/dist/menubar.js +188 -1
  122. package/dist/menubar.js.map +1 -1
  123. package/dist/menubar.mjs +188 -1
  124. package/dist/menubar.mjs.map +1 -1
  125. package/dist/navigation-menu.js +124 -1
  126. package/dist/navigation-menu.js.map +1 -1
  127. package/dist/navigation-menu.mjs +124 -1
  128. package/dist/navigation-menu.mjs.map +1 -1
  129. package/dist/pagination.js +123 -1
  130. package/dist/pagination.js.map +1 -1
  131. package/dist/pagination.mjs +123 -1
  132. package/dist/pagination.mjs.map +1 -1
  133. package/dist/popover.d.mts +2 -1
  134. package/dist/popover.d.ts +2 -1
  135. package/dist/popover.js +42 -1
  136. package/dist/popover.js.map +1 -1
  137. package/dist/popover.mjs +42 -1
  138. package/dist/popover.mjs.map +1 -1
  139. package/dist/progress.js +33 -1
  140. package/dist/progress.js.map +1 -1
  141. package/dist/progress.mjs +33 -1
  142. package/dist/progress.mjs.map +1 -1
  143. package/dist/radio-group.js +46 -1
  144. package/dist/radio-group.js.map +1 -1
  145. package/dist/radio-group.mjs +46 -1
  146. package/dist/radio-group.mjs.map +1 -1
  147. package/dist/resizable.js +47 -1
  148. package/dist/resizable.js.map +1 -1
  149. package/dist/resizable.mjs +47 -1
  150. package/dist/resizable.mjs.map +1 -1
  151. package/dist/scroll-area.js +44 -1
  152. package/dist/scroll-area.js.map +1 -1
  153. package/dist/scroll-area.mjs +44 -1
  154. package/dist/scroll-area.mjs.map +1 -1
  155. package/dist/select.js +134 -1
  156. package/dist/select.js.map +1 -1
  157. package/dist/select.mjs +134 -1
  158. package/dist/select.mjs.map +1 -1
  159. package/dist/separator.js +29 -1
  160. package/dist/separator.js.map +1 -1
  161. package/dist/separator.mjs +29 -1
  162. package/dist/separator.mjs.map +1 -1
  163. package/dist/sheet.d.mts +1 -3
  164. package/dist/sheet.d.ts +1 -3
  165. package/dist/sheet.js +121 -1
  166. package/dist/sheet.js.map +1 -1
  167. package/dist/sheet.mjs +121 -1
  168. package/dist/sheet.mjs.map +1 -1
  169. package/dist/skeleton.js +21 -1
  170. package/dist/skeleton.js.map +1 -1
  171. package/dist/skeleton.mjs +21 -1
  172. package/dist/skeleton.mjs.map +1 -1
  173. package/dist/slider.js +28 -1
  174. package/dist/slider.js.map +1 -1
  175. package/dist/slider.mjs +28 -1
  176. package/dist/slider.mjs.map +1 -1
  177. package/dist/sonner.js +34 -1
  178. package/dist/sonner.js.map +1 -1
  179. package/dist/sonner.mjs +34 -1
  180. package/dist/sonner.mjs.map +1 -1
  181. package/dist/styles.css +1 -1
  182. package/dist/styles.css.map +1 -1
  183. package/dist/switch.js +25 -1
  184. package/dist/switch.js.map +1 -1
  185. package/dist/switch.mjs +25 -1
  186. package/dist/switch.mjs.map +1 -1
  187. package/dist/table.js +94 -1
  188. package/dist/table.js.map +1 -1
  189. package/dist/table.mjs +94 -1
  190. package/dist/table.mjs.map +1 -1
  191. package/dist/tabs.js +52 -1
  192. package/dist/tabs.js.map +1 -1
  193. package/dist/tabs.mjs +52 -1
  194. package/dist/tabs.mjs.map +1 -1
  195. package/dist/textarea.js +24 -1
  196. package/dist/textarea.js.map +1 -1
  197. package/dist/textarea.mjs +24 -1
  198. package/dist/textarea.mjs.map +1 -1
  199. package/dist/toggle-group.js +49 -1
  200. package/dist/toggle-group.js.map +1 -1
  201. package/dist/toggle-group.mjs +49 -1
  202. package/dist/toggle-group.mjs.map +1 -1
  203. package/dist/toggle.d.mts +1 -1
  204. package/dist/toggle.d.ts +1 -1
  205. package/dist/toggle.js +10 -1
  206. package/dist/toggle.mjs +10 -1
  207. package/dist/tooltip.d.mts +2 -3
  208. package/dist/tooltip.d.ts +2 -3
  209. package/dist/tooltip.js +41 -1
  210. package/dist/tooltip.js.map +1 -1
  211. package/dist/tooltip.mjs +41 -1
  212. package/dist/tooltip.mjs.map +1 -1
  213. package/dist/utils.js +10 -1
  214. package/dist/utils.mjs +10 -1
  215. package/package.json +6 -6
  216. package/src/accordion.tsx +2 -6
  217. package/src/alert-dialog.tsx +4 -35
  218. package/src/alert.tsx +1 -1
  219. package/src/avatar.tsx +1 -1
  220. package/src/badge.tsx +1 -1
  221. package/src/breadcrumb.tsx +1 -1
  222. package/src/button.tsx +5 -5
  223. package/src/calendar.tsx +6 -7
  224. package/src/card.tsx +1 -1
  225. package/src/checkbox.tsx +1 -2
  226. package/src/command.tsx +6 -17
  227. package/src/context-menu.tsx +32 -44
  228. package/src/dialog.tsx +9 -37
  229. package/src/drawer.tsx +3 -27
  230. package/src/dropdown-menu.tsx +15 -44
  231. package/src/form.tsx +0 -1
  232. package/src/hover-card.tsx +12 -20
  233. package/src/input-otp.tsx +2 -2
  234. package/src/input.tsx +1 -1
  235. package/src/menubar.tsx +17 -42
  236. package/src/navigation-menu.tsx +6 -19
  237. package/src/pagination.tsx +2 -4
  238. package/src/popover.tsx +18 -12
  239. package/src/progress.tsx +3 -1
  240. package/src/radio-group.tsx +6 -4
  241. package/src/resizable.tsx +2 -5
  242. package/src/select.tsx +13 -22
  243. package/src/sheet.tsx +15 -59
  244. package/src/slider.tsx +1 -1
  245. package/src/sonner.tsx +4 -2
  246. package/src/switch.tsx +2 -8
  247. package/src/table.tsx +2 -2
  248. package/src/tabs.tsx +3 -4
  249. package/src/textarea.tsx +1 -1
  250. package/src/toggle.tsx +4 -7
  251. package/src/tooltip.tsx +23 -34
  252. package/dist/chunk-4ZL55G6C.js +0 -2
  253. package/dist/chunk-4ZL55G6C.js.map +0 -1
  254. package/dist/chunk-76AASLTX.mjs +0 -2
  255. package/dist/chunk-7UVSBFQU.js +0 -2
  256. package/dist/chunk-7UVSBFQU.js.map +0 -1
  257. package/dist/chunk-BP7PEVLB.js +0 -2
  258. package/dist/chunk-BP7PEVLB.js.map +0 -1
  259. package/dist/chunk-BPCLLQ62.mjs +0 -2
  260. package/dist/chunk-BPCLLQ62.mjs.map +0 -1
  261. package/dist/chunk-CAGY2ZSE.js +0 -2
  262. package/dist/chunk-CAGY2ZSE.js.map +0 -1
  263. package/dist/chunk-JTI7KCLO.mjs +0 -2
  264. package/dist/chunk-JTI7KCLO.mjs.map +0 -1
  265. package/dist/chunk-QZCQ42BP.js +0 -2
  266. package/dist/chunk-QZCQ42BP.js.map +0 -1
  267. package/dist/chunk-WZ4XIF6U.mjs +0 -2
  268. package/dist/chunk-WZ4XIF6U.mjs.map +0 -1
  269. package/dist/chunk-YQJHVJVX.mjs +0 -2
  270. package/dist/chunk-YQJHVJVX.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenu\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuTrigger\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuGroup\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuPortal\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSub\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n DropdownMenuPrimitive.DropdownMenuSubTriggerProps & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"focus:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none\",\n \"data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubContent\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n DropdownMenuPrimitive.DropdownMenuSubContentProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=open]:data-[side=top]:slide-in-from-bottom-2\",\n \"data-[state=open]:data-[side=right]:slide-in-from-left-2\",\n \"data-[state=open]:data-[side=bottom]:slide-in-from-top-2\",\n \"data-[state=open]:data-[side=left]:slide-in-from-right-2\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"data-[state=closed]:data-[side=top]:slide-out-to-bottom-2\",\n \"data-[state=closed]:data-[side=right]:slide-out-to-left-2\",\n \"data-[state=closed]:data-[side=bottom]:slide-out-to-top-2\",\n \"data-[state=closed]:data-[side=left]:slide-out-to-right-2\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuContent\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n DropdownMenuPrimitive.DropdownMenuContentProps\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=open]:data-[side=top]:slide-in-from-bottom-2\",\n \"data-[state=open]:data-[side=right]:slide-in-from-left-2\",\n \"data-[state=open]:data-[side=bottom]:slide-in-from-top-2\",\n \"data-[state=open]:data-[side=left]:slide-in-from-right-2\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"data-[state=closed]:data-[side=top]:slide-out-to-bottom-2\",\n \"data-[state=closed]:data-[side=right]:slide-out-to-left-2\",\n \"data-[state=closed]:data-[side=bottom]:slide-out-to-top-2\",\n \"data-[state=closed]:data-[side=left]:slide-out-to-right-2\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuItem\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n DropdownMenuPrimitive.DropdownMenuItemProps & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n DropdownMenuPrimitive.DropdownMenuCheckboxItemProps\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuRadioItem\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n DropdownMenuPrimitive.DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"size-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuLabel\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n DropdownMenuPrimitive.DropdownMenuLabelProps & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSeparator\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n DropdownMenuPrimitive.DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuShortcut\n * -------------------------------------------------------------------------- */\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"mappings":"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","names":["React","DropdownMenuPrimitive","CheckIcon","ChevronRightIcon","DotFilledIcon","jsx","jsxs","DropdownMenu","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","className","inset","children","props","ref","cn","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","CheckIcon","DropdownMenuRadioItem","DotFilledIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut"]}
1
+ {"version":3,"sources":["../src/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenu\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuTrigger\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuGroup\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSub\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n DropdownMenuPrimitive.DropdownMenuSubTriggerProps & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubContent\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n DropdownMenuPrimitive.DropdownMenuSubContentProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuContent\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n DropdownMenuPrimitive.DropdownMenuContentProps\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuItem\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n DropdownMenuPrimitive.DropdownMenuItemProps & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n DropdownMenuPrimitive.DropdownMenuCheckboxItemProps\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuRadioItem\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n DropdownMenuPrimitive.DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"size-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuLabel\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n DropdownMenuPrimitive.DropdownMenuLabelProps & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSeparator\n * -------------------------------------------------------------------------- */\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n DropdownMenuPrimitive.DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuShortcut\n * -------------------------------------------------------------------------- */\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"mappings":"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","names":[]}
package/dist/form.js CHANGED
@@ -1,2 +1,118 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _chunk7UVSBFQUjs = require('./chunk-7UVSBFQU.js');var _chunkQZCQ42BPjs = require('./chunk-QZCQ42BP.js');var _react = require('react'); var t = _interopRequireWildcard(_react);var _reactslot = require('@radix-ui/react-slot');var _reacthookform = require('react-hook-form');var _jsxruntime = require('react/jsx-runtime');var F=t.createContext({}),f=t.createContext({}),l= exports.useFormField =()=>{let e=t.useContext(f),o=t.useContext(F),{getFieldState:r,formState:a}=_reacthookform.useFormContext.call(void 0, ),i=r(e.name,a);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:m}=o;return{id:m,name:e.name,formItemId:`form-item-${m}`,formDescriptionId:`form-item-description-${m}`,formMessageId:`form-item-message-${m}`,...i}},h= exports.Form =_reacthookform.FormProvider;function L({...e}){return _jsxruntime.jsx.call(void 0, f.Provider,{value:{name:e.name},children:_jsxruntime.jsx.call(void 0, _reacthookform.Controller,{...e})})}var C=t.forwardRef(({className:e,...o},r)=>{let a=t.useId();return _jsxruntime.jsx.call(void 0, F.Provider,{value:{id:a},children:_jsxruntime.jsx.call(void 0, "div",{ref:r,className:_chunkQZCQ42BPjs.b.call(void 0, "space-y-2",e),...o})})});C.displayName="FormItem";var I=t.forwardRef(({className:e,...o},r)=>{let{error:a,formItemId:i}=l();return _jsxruntime.jsx.call(void 0, _chunk7UVSBFQUjs.a,{ref:r,className:_chunkQZCQ42BPjs.b.call(void 0, a&&"text-destructive",e),htmlFor:i,...o})});I.displayName="FormLabel";var g=t.forwardRef(({...e},o)=>{let{error:r,formItemId:a,formDescriptionId:i,formMessageId:m}=l();return _jsxruntime.jsx.call(void 0, _reactslot.Slot,{ref:o,id:a,"aria-describedby":r?`${i} ${m}`:i,"aria-invalid":!!r,...e})});g.displayName="FormControl";var P=t.forwardRef(({className:e,...o},r)=>{let{formDescriptionId:a}=l();return _jsxruntime.jsx.call(void 0, "p",{ref:r,id:a,className:_chunkQZCQ42BPjs.b.call(void 0, "text-muted-foreground text-[0.8rem]",e),...o})});P.displayName="FormDescription";var T=t.forwardRef(({className:e,children:o,...r},a)=>{let{error:i,formMessageId:m}=l(),d=i?String(i.message):o;return d?_jsxruntime.jsx.call(void 0, "p",{ref:a,id:m,className:_chunkQZCQ42BPjs.b.call(void 0, "text-destructive text-[0.8rem] font-medium",e),...r,children:d}):null});T.displayName="FormMessage";exports.Form = h; exports.FormControl = g; exports.FormDescription = P; exports.FormField = L; exports.FormItem = C; exports.FormLabel = I; exports.FormMessage = T; exports.useFormField = l;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
+
3
+ var _chunkRTKEO347js = require('./chunk-RTKEO347.js');
4
+
5
+
6
+ var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
7
+
8
+ // src/form.tsx
9
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
10
+ var _reactslot = require('@radix-ui/react-slot');
11
+
12
+
13
+
14
+
15
+ var _reacthookform = require('react-hook-form');
16
+ var _jsxruntime = require('react/jsx-runtime');
17
+ var FormItemContext = React.createContext(
18
+ {}
19
+ );
20
+ var FormFieldContext = React.createContext(
21
+ {}
22
+ );
23
+ var useFormField = () => {
24
+ const fieldContext = React.useContext(FormFieldContext);
25
+ const itemContext = React.useContext(FormItemContext);
26
+ const { getFieldState, formState } = _reacthookform.useFormContext.call(void 0, );
27
+ const fieldState = getFieldState(fieldContext.name, formState);
28
+ if (!fieldContext) {
29
+ throw new Error("useFormField should be used within <FormField>");
30
+ }
31
+ const { id } = itemContext;
32
+ return {
33
+ id,
34
+ name: fieldContext.name,
35
+ formItemId: `form-item-${id}`,
36
+ formDescriptionId: `form-item-description-${id}`,
37
+ formMessageId: `form-item-message-${id}`,
38
+ ...fieldState
39
+ };
40
+ };
41
+ var Form = _reacthookform.FormProvider;
42
+ function FormField({ ...props }) {
43
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacthookform.Controller, { ...props }) });
44
+ }
45
+ var FormItem = React.forwardRef(({ className, ...props }, ref) => {
46
+ const id = React.useId();
47
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkG3NP7M2Njs.cn.call(void 0, "space-y-2", className), ...props }) });
48
+ });
49
+ FormItem.displayName = "FormItem";
50
+ var FormLabel = React.forwardRef(({ className, ...props }, ref) => {
51
+ const { error, formItemId } = useFormField();
52
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
53
+ _chunkRTKEO347js.Label,
54
+ {
55
+ ref,
56
+ className: _chunkG3NP7M2Njs.cn.call(void 0, error && "text-destructive", className),
57
+ htmlFor: formItemId,
58
+ ...props
59
+ }
60
+ );
61
+ });
62
+ FormLabel.displayName = "FormLabel";
63
+ var FormControl = React.forwardRef(({ ...props }, ref) => {
64
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
65
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
66
+ _reactslot.Slot,
67
+ {
68
+ ref,
69
+ id: formItemId,
70
+ "aria-describedby": !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`,
71
+ "aria-invalid": Boolean(error),
72
+ ...props
73
+ }
74
+ );
75
+ });
76
+ FormControl.displayName = "FormControl";
77
+ var FormDescription = React.forwardRef(({ className, ...props }, ref) => {
78
+ const { formDescriptionId } = useFormField();
79
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
80
+ "p",
81
+ {
82
+ ref,
83
+ id: formDescriptionId,
84
+ className: _chunkG3NP7M2Njs.cn.call(void 0, "text-muted-foreground text-[0.8rem]", className),
85
+ ...props
86
+ }
87
+ );
88
+ });
89
+ FormDescription.displayName = "FormDescription";
90
+ var FormMessage = React.forwardRef(({ className, children, ...props }, ref) => {
91
+ const { error, formMessageId } = useFormField();
92
+ const body = error ? String(error.message) : children;
93
+ if (!body) {
94
+ return null;
95
+ }
96
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
97
+ "p",
98
+ {
99
+ ref,
100
+ id: formMessageId,
101
+ className: _chunkG3NP7M2Njs.cn.call(void 0, "text-destructive text-[0.8rem] font-medium", className),
102
+ ...props,
103
+ children: body
104
+ }
105
+ );
106
+ });
107
+ FormMessage.displayName = "FormMessage";
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ exports.Form = Form; exports.FormControl = FormControl; exports.FormDescription = FormDescription; exports.FormField = FormField; exports.FormItem = FormItem; exports.FormLabel = FormLabel; exports.FormMessage = FormMessage; exports.useFormField = useFormField;
2
118
  //# sourceMappingURL=form.js.map
package/dist/form.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/form.tsx"],"names":["React","Slot","Controller","FormProvider","useFormContext","jsx","FormItemContext","FormFieldContext","useFormField","fieldContext","itemContext","getFieldState","formState","fieldState","id","Form","FormField","props","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","FormDescription","FormMessage","children","body"],"mappings":"gFAAA,UAAYA,MAAW,QAEvB,OAAS,QAAAC,MAAY,uBACrB,OACE,cAAAC,EAKA,gBAAAC,EACA,kBAAAC,MAEK,kBAiFD,cAAAC,MAAA,oBArEN,IAAMC,EAAwB,gBAC5B,CAAC,CACH,EAaMC,EAAyB,gBAC7B,CAAC,CACH,EAEMC,EAAe,IAWhB,CACH,IAAMC,EAAqB,aAAWF,CAAgB,EAChDG,EAAoB,aAAWJ,CAAe,EAC9C,CAAE,cAAAK,EAAe,UAAAC,CAAU,EAAIR,EAAe,EAE9CS,EAAaF,EAAcF,EAAa,KAAMG,CAAS,EAE7D,GAAI,CAACH,EACH,MAAM,IAAI,MAAM,gDAAgD,EAGlE,GAAM,CAAE,GAAAK,CAAG,EAAIJ,EAEf,MAAO,CACL,GAAAI,EACA,KAAML,EAAa,KACnB,WAAY,aAAaK,CAAE,GAC3B,kBAAmB,yBAAyBA,CAAE,GAC9C,cAAe,qBAAqBA,CAAE,GACtC,GAAGD,CACL,CACF,EAMME,EAAOZ,EAMb,SAASa,EAGP,CAAE,GAAGC,CAAM,EAA4D,CACvE,OACEZ,EAACE,EAAiB,SAAjB,CAA0B,MAAO,CAAE,KAAMU,EAAM,IAAK,EACnD,SAAAZ,EAACH,EAAA,CAAY,GAAGe,EAAO,EACzB,CAEJ,CAMA,IAAMC,EAAiB,aAGrB,CAAC,CAAE,UAAAC,EAAW,GAAGF,CAAM,EAAGG,IAAQ,CAClC,IAAMN,EAAW,QAAM,EAEvB,OACET,EAACC,EAAgB,SAAhB,CAAyB,MAAO,CAAE,GAAAQ,CAAG,EACpC,SAAAT,EAAC,OAAI,IAAKe,EAAK,UAAWC,EAAG,YAAaF,CAAS,EAAI,GAAGF,EAAO,EACnE,CAEJ,CAAC,EACDC,EAAS,YAAc,WAMvB,IAAMI,EAAkB,aAGtB,CAAC,CAAE,UAAAH,EAAW,GAAGF,CAAM,EAAGG,IAAQ,CAClC,GAAM,CAAE,MAAAG,EAAO,WAAAC,CAAW,EAAIhB,EAAa,EAE3C,OACEH,EAACoB,EAAA,CACC,IAAKL,EACL,UAAWC,EAAGE,GAAS,mBAAoBJ,CAAS,EACpD,QAASK,EACR,GAAGP,EACN,CAEJ,CAAC,EACDK,EAAU,YAAc,YAMxB,IAAMI,EAAoB,aAGxB,CAAC,CAAE,GAAGT,CAAM,EAAGG,IAAQ,CACvB,GAAM,CAAE,MAAAG,EAAO,WAAAC,EAAY,kBAAAG,EAAmB,cAAAC,CAAc,EAC1DpB,EAAa,EAEf,OACEH,EAACJ,EAAA,CACC,IAAKmB,EACL,GAAII,EACJ,mBACGD,EAA4B,GAAGI,CAAiB,IAAIC,CAAa,GAAzDD,EAEX,eAAc,EAAQJ,EACrB,GAAGN,EACN,CAEJ,CAAC,EACDS,EAAY,YAAc,cAM1B,IAAMG,EAAwB,aAG5B,CAAC,CAAE,UAAAV,EAAW,GAAGF,CAAM,EAAGG,IAAQ,CAClC,GAAM,CAAE,kBAAAO,CAAkB,EAAInB,EAAa,EAE3C,OACEH,EAAC,KACC,IAAKe,EACL,GAAIO,EACJ,UAAWN,EAAG,sCAAuCF,CAAS,EAC7D,GAAGF,EACN,CAEJ,CAAC,EACDY,EAAgB,YAAc,kBAM9B,IAAMC,EAAoB,aAGxB,CAAC,CAAE,UAAAX,EAAW,SAAAY,EAAU,GAAGd,CAAM,EAAGG,IAAQ,CAC5C,GAAM,CAAE,MAAAG,EAAO,cAAAK,CAAc,EAAIpB,EAAa,EACxCwB,EAAOT,EAAQ,OAAOA,EAAM,OAAO,EAAIQ,EAE7C,OAAKC,EAKH3B,EAAC,KACC,IAAKe,EACL,GAAIQ,EACJ,UAAWP,EAAG,6CAA8CF,CAAS,EACpE,GAAGF,EAEH,SAAAe,EACH,EAXO,IAaX,CAAC,EACDF,EAAY,YAAc","sourcesContent":["import * as React from \"react\";\nimport type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n type ControllerProps,\n type FieldError,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n type UseFormGetFieldState,\n} from \"react-hook-form\";\nimport { cn } from \"./utils\";\nimport { Label } from \"./label\";\n\n/* -----------------------------------------------------------------------------\n * Context: FormItemContext\n * -------------------------------------------------------------------------- */\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\n/* -----------------------------------------------------------------------------\n * Context: FormFieldContext\n * -------------------------------------------------------------------------- */\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst useFormField = (): {\n invalid: boolean;\n isDirty: boolean;\n isTouched: boolean;\n isValidating: boolean;\n error?: FieldError | undefined;\n id: string;\n name: string;\n formItemId: string;\n formDescriptionId: string;\n formMessageId: string;\n} => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `form-item-${id}`,\n formDescriptionId: `form-item-description-${id}`,\n formMessageId: `form-item-message-${id}`,\n ...fieldState,\n };\n};\n\n/* -----------------------------------------------------------------------------\n * Component: Form\n * -------------------------------------------------------------------------- */\n\nconst Form = FormProvider;\n\n/* -----------------------------------------------------------------------------\n * Component: FormField\n * -------------------------------------------------------------------------- */\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({ ...props }: ControllerProps<TFieldValues, TName>): React.JSX.Element {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormItem\n * -------------------------------------------------------------------------- */\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = \"FormItem\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormLabel\n * -------------------------------------------------------------------------- */\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = \"FormLabel\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormControl\n * -------------------------------------------------------------------------- */\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={Boolean(error)}\n {...props}\n />\n );\n});\nFormControl.displayName = \"FormControl\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormDescription\n * -------------------------------------------------------------------------- */\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-[0.8rem]\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormMessage\n * -------------------------------------------------------------------------- */\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-destructive text-[0.8rem] font-medium\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nFormMessage.displayName = \"FormMessage\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"]}
1
+ {"version":3,"sources":["../src/form.tsx"],"names":[],"mappings":";;;;;;;;AAAA,YAAY,WAAW;AAEvB,SAAS,YAAY;AACrB;AAAA,EACE;AAAA,EAKA;AAAA,EACA;AAAA,OACK;AAiFD;AArEN,IAAM,kBAAwB;AAAA,EAC5B,CAAC;AACH;AAaA,IAAM,mBAAyB;AAAA,EAC7B,CAAC;AACH;AAEA,IAAM,eAAe,MAWhB;AACH,QAAM,eAAqB,iBAAW,gBAAgB;AACtD,QAAM,cAAoB,iBAAW,eAAe;AACpD,QAAM,EAAE,eAAe,UAAU,IAAI,eAAe;AAEpD,QAAM,aAAa,cAAc,aAAa,MAAM,SAAS;AAE7D,MAAI,CAAC,cAAc;AACjB,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,QAAM,EAAE,GAAG,IAAI;AAEf,SAAO;AAAA,IACL;AAAA,IACA,MAAM,aAAa;AAAA,IACnB,YAAY,aAAa,EAAE;AAAA,IAC3B,mBAAmB,yBAAyB,EAAE;AAAA,IAC9C,eAAe,qBAAqB,EAAE;AAAA,IACtC,GAAG;AAAA,EACL;AACF;AAMA,IAAM,OAAO;AAMb,SAAS,UAGP,EAAE,GAAG,MAAM,GAA4D;AACvE,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,EAAE,MAAM,MAAM,KAAK,GACnD,8BAAC,cAAY,GAAG,OAAO,GACzB;AAEJ;AAMA,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AAClC,QAAM,KAAW,YAAM;AAEvB,SACE,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,GAAG,GACpC,8BAAC,SAAI,KAAU,WAAW,GAAG,aAAa,SAAS,GAAI,GAAG,OAAO,GACnE;AAEJ,CAAC;AACD,SAAS,cAAc;AAMvB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AAClC,QAAM,EAAE,OAAO,WAAW,IAAI,aAAa;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,SAAS,oBAAoB,SAAS;AAAA,MACpD,SAAS;AAAA,MACR,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AACD,UAAU,cAAc;AAMxB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,GAAG,MAAM,GAAG,QAAQ;AACvB,QAAM,EAAE,OAAO,YAAY,mBAAmB,cAAc,IAC1D,aAAa;AAEf,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,oBACE,CAAC,QAAQ,oBAAoB,GAAG,iBAAiB,IAAI,aAAa;AAAA,MAEpE,gBAAc,QAAQ,KAAK;AAAA,MAC1B,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AACD,YAAY,cAAc;AAM1B,IAAM,kBAAwB,iBAG5B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AAClC,QAAM,EAAE,kBAAkB,IAAI,aAAa;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,WAAW,GAAG,uCAAuC,SAAS;AAAA,MAC7D,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AACD,gBAAgB,cAAc;AAM9B,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QAAQ;AAC5C,QAAM,EAAE,OAAO,cAAc,IAAI,aAAa;AAC9C,QAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,IAAI;AAE7C,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ,WAAW,GAAG,8CAA8C,SAAS;AAAA,MACpE,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ,CAAC;AACD,YAAY,cAAc","sourcesContent":["import * as React from \"react\";\nimport type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n type ControllerProps,\n type FieldError,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n} from \"react-hook-form\";\nimport { cn } from \"./utils\";\nimport { Label } from \"./label\";\n\n/* -----------------------------------------------------------------------------\n * Context: FormItemContext\n * -------------------------------------------------------------------------- */\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\n/* -----------------------------------------------------------------------------\n * Context: FormFieldContext\n * -------------------------------------------------------------------------- */\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst useFormField = (): {\n invalid: boolean;\n isDirty: boolean;\n isTouched: boolean;\n isValidating: boolean;\n error?: FieldError | undefined;\n id: string;\n name: string;\n formItemId: string;\n formDescriptionId: string;\n formMessageId: string;\n} => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `form-item-${id}`,\n formDescriptionId: `form-item-description-${id}`,\n formMessageId: `form-item-message-${id}`,\n ...fieldState,\n };\n};\n\n/* -----------------------------------------------------------------------------\n * Component: Form\n * -------------------------------------------------------------------------- */\n\nconst Form = FormProvider;\n\n/* -----------------------------------------------------------------------------\n * Component: FormField\n * -------------------------------------------------------------------------- */\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({ ...props }: ControllerProps<TFieldValues, TName>): React.JSX.Element {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormItem\n * -------------------------------------------------------------------------- */\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = \"FormItem\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormLabel\n * -------------------------------------------------------------------------- */\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = \"FormLabel\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormControl\n * -------------------------------------------------------------------------- */\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={Boolean(error)}\n {...props}\n />\n );\n});\nFormControl.displayName = \"FormControl\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormDescription\n * -------------------------------------------------------------------------- */\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-[0.8rem]\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormMessage\n * -------------------------------------------------------------------------- */\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-destructive text-[0.8rem] font-medium\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nFormMessage.displayName = \"FormMessage\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"]}
package/dist/form.mjs CHANGED
@@ -1,2 +1,118 @@
1
- import{a as c}from"./chunk-76AASLTX.mjs";import{b as s}from"./chunk-JTI7KCLO.mjs";import*as t from"react";import{Slot as u}from"@radix-ui/react-slot";import{Controller as p,FormProvider as R,useFormContext as x}from"react-hook-form";import{jsx as n}from"react/jsx-runtime";var F=t.createContext({}),f=t.createContext({}),l=()=>{let e=t.useContext(f),o=t.useContext(F),{getFieldState:r,formState:a}=x(),i=r(e.name,a);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:m}=o;return{id:m,name:e.name,formItemId:`form-item-${m}`,formDescriptionId:`form-item-description-${m}`,formMessageId:`form-item-message-${m}`,...i}},h=R;function L({...e}){return n(f.Provider,{value:{name:e.name},children:n(p,{...e})})}var C=t.forwardRef(({className:e,...o},r)=>{let a=t.useId();return n(F.Provider,{value:{id:a},children:n("div",{ref:r,className:s("space-y-2",e),...o})})});C.displayName="FormItem";var I=t.forwardRef(({className:e,...o},r)=>{let{error:a,formItemId:i}=l();return n(c,{ref:r,className:s(a&&"text-destructive",e),htmlFor:i,...o})});I.displayName="FormLabel";var g=t.forwardRef(({...e},o)=>{let{error:r,formItemId:a,formDescriptionId:i,formMessageId:m}=l();return n(u,{ref:o,id:a,"aria-describedby":r?`${i} ${m}`:i,"aria-invalid":!!r,...e})});g.displayName="FormControl";var P=t.forwardRef(({className:e,...o},r)=>{let{formDescriptionId:a}=l();return n("p",{ref:r,id:a,className:s("text-muted-foreground text-[0.8rem]",e),...o})});P.displayName="FormDescription";var T=t.forwardRef(({className:e,children:o,...r},a)=>{let{error:i,formMessageId:m}=l(),d=i?String(i.message):o;return d?n("p",{ref:a,id:m,className:s("text-destructive text-[0.8rem] font-medium",e),...r,children:d}):null});T.displayName="FormMessage";export{h as Form,g as FormControl,P as FormDescription,L as FormField,C as FormItem,I as FormLabel,T as FormMessage,l as useFormField};
1
+ import {
2
+ Label
3
+ } from "./chunk-PTD4AMHI.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-UG3URV2Z.mjs";
7
+
8
+ // src/form.tsx
9
+ import * as React from "react";
10
+ import { Slot } from "@radix-ui/react-slot";
11
+ import {
12
+ Controller,
13
+ FormProvider,
14
+ useFormContext
15
+ } from "react-hook-form";
16
+ import { jsx } from "react/jsx-runtime";
17
+ var FormItemContext = React.createContext(
18
+ {}
19
+ );
20
+ var FormFieldContext = React.createContext(
21
+ {}
22
+ );
23
+ var useFormField = () => {
24
+ const fieldContext = React.useContext(FormFieldContext);
25
+ const itemContext = React.useContext(FormItemContext);
26
+ const { getFieldState, formState } = useFormContext();
27
+ const fieldState = getFieldState(fieldContext.name, formState);
28
+ if (!fieldContext) {
29
+ throw new Error("useFormField should be used within <FormField>");
30
+ }
31
+ const { id } = itemContext;
32
+ return {
33
+ id,
34
+ name: fieldContext.name,
35
+ formItemId: `form-item-${id}`,
36
+ formDescriptionId: `form-item-description-${id}`,
37
+ formMessageId: `form-item-message-${id}`,
38
+ ...fieldState
39
+ };
40
+ };
41
+ var Form = FormProvider;
42
+ function FormField({ ...props }) {
43
+ return /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx(Controller, { ...props }) });
44
+ }
45
+ var FormItem = React.forwardRef(({ className, ...props }, ref) => {
46
+ const id = React.useId();
47
+ return /* @__PURE__ */ jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx("div", { ref, className: cn("space-y-2", className), ...props }) });
48
+ });
49
+ FormItem.displayName = "FormItem";
50
+ var FormLabel = React.forwardRef(({ className, ...props }, ref) => {
51
+ const { error, formItemId } = useFormField();
52
+ return /* @__PURE__ */ jsx(
53
+ Label,
54
+ {
55
+ ref,
56
+ className: cn(error && "text-destructive", className),
57
+ htmlFor: formItemId,
58
+ ...props
59
+ }
60
+ );
61
+ });
62
+ FormLabel.displayName = "FormLabel";
63
+ var FormControl = React.forwardRef(({ ...props }, ref) => {
64
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
65
+ return /* @__PURE__ */ jsx(
66
+ Slot,
67
+ {
68
+ ref,
69
+ id: formItemId,
70
+ "aria-describedby": !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`,
71
+ "aria-invalid": Boolean(error),
72
+ ...props
73
+ }
74
+ );
75
+ });
76
+ FormControl.displayName = "FormControl";
77
+ var FormDescription = React.forwardRef(({ className, ...props }, ref) => {
78
+ const { formDescriptionId } = useFormField();
79
+ return /* @__PURE__ */ jsx(
80
+ "p",
81
+ {
82
+ ref,
83
+ id: formDescriptionId,
84
+ className: cn("text-muted-foreground text-[0.8rem]", className),
85
+ ...props
86
+ }
87
+ );
88
+ });
89
+ FormDescription.displayName = "FormDescription";
90
+ var FormMessage = React.forwardRef(({ className, children, ...props }, ref) => {
91
+ const { error, formMessageId } = useFormField();
92
+ const body = error ? String(error.message) : children;
93
+ if (!body) {
94
+ return null;
95
+ }
96
+ return /* @__PURE__ */ jsx(
97
+ "p",
98
+ {
99
+ ref,
100
+ id: formMessageId,
101
+ className: cn("text-destructive text-[0.8rem] font-medium", className),
102
+ ...props,
103
+ children: body
104
+ }
105
+ );
106
+ });
107
+ FormMessage.displayName = "FormMessage";
108
+ export {
109
+ Form,
110
+ FormControl,
111
+ FormDescription,
112
+ FormField,
113
+ FormItem,
114
+ FormLabel,
115
+ FormMessage,
116
+ useFormField
117
+ };
2
118
  //# sourceMappingURL=form.mjs.map
package/dist/form.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/form.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n type ControllerProps,\n type FieldError,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n type UseFormGetFieldState,\n} from \"react-hook-form\";\nimport { cn } from \"./utils\";\nimport { Label } from \"./label\";\n\n/* -----------------------------------------------------------------------------\n * Context: FormItemContext\n * -------------------------------------------------------------------------- */\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\n/* -----------------------------------------------------------------------------\n * Context: FormFieldContext\n * -------------------------------------------------------------------------- */\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst useFormField = (): {\n invalid: boolean;\n isDirty: boolean;\n isTouched: boolean;\n isValidating: boolean;\n error?: FieldError | undefined;\n id: string;\n name: string;\n formItemId: string;\n formDescriptionId: string;\n formMessageId: string;\n} => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `form-item-${id}`,\n formDescriptionId: `form-item-description-${id}`,\n formMessageId: `form-item-message-${id}`,\n ...fieldState,\n };\n};\n\n/* -----------------------------------------------------------------------------\n * Component: Form\n * -------------------------------------------------------------------------- */\n\nconst Form = FormProvider;\n\n/* -----------------------------------------------------------------------------\n * Component: FormField\n * -------------------------------------------------------------------------- */\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({ ...props }: ControllerProps<TFieldValues, TName>): React.JSX.Element {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormItem\n * -------------------------------------------------------------------------- */\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = \"FormItem\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormLabel\n * -------------------------------------------------------------------------- */\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = \"FormLabel\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormControl\n * -------------------------------------------------------------------------- */\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={Boolean(error)}\n {...props}\n />\n );\n});\nFormControl.displayName = \"FormControl\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormDescription\n * -------------------------------------------------------------------------- */\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-[0.8rem]\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormMessage\n * -------------------------------------------------------------------------- */\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-destructive text-[0.8rem] font-medium\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nFormMessage.displayName = \"FormMessage\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"mappings":"kFAAA,UAAYA,MAAW,QAEvB,OAAS,QAAAC,MAAY,uBACrB,OACE,cAAAC,EAKA,gBAAAC,EACA,kBAAAC,MAEK,kBAiFD,cAAAC,MAAA,oBArEN,IAAMC,EAAwB,gBAC5B,CAAC,CACH,EAaMC,EAAyB,gBAC7B,CAAC,CACH,EAEMC,EAAe,IAWhB,CACH,IAAMC,EAAqB,aAAWF,CAAgB,EAChDG,EAAoB,aAAWJ,CAAe,EAC9C,CAAE,cAAAK,EAAe,UAAAC,CAAU,EAAIC,EAAe,EAE9CC,EAAaH,EAAcF,EAAa,KAAMG,CAAS,EAE7D,GAAI,CAACH,EACH,MAAM,IAAI,MAAM,gDAAgD,EAGlE,GAAM,CAAE,GAAAM,CAAG,EAAIL,EAEf,MAAO,CACL,GAAAK,EACA,KAAMN,EAAa,KACnB,WAAY,aAAaM,CAAE,GAC3B,kBAAmB,yBAAyBA,CAAE,GAC9C,cAAe,qBAAqBA,CAAE,GACtC,GAAGD,CACL,CACF,EAMME,EAAOC,EAMb,SAASC,EAGP,CAAE,GAAGC,CAAM,EAA4D,CACvE,OACEd,EAACE,EAAiB,SAAjB,CAA0B,MAAO,CAAE,KAAMY,EAAM,IAAK,EACnD,SAAAd,EAACe,EAAA,CAAY,GAAGD,EAAO,EACzB,CAEJ,CAMA,IAAME,EAAiB,aAGrB,CAAC,CAAE,UAAAC,EAAW,GAAGH,CAAM,EAAGI,IAAQ,CAClC,IAAMR,EAAW,QAAM,EAEvB,OACEV,EAACC,EAAgB,SAAhB,CAAyB,MAAO,CAAE,GAAAS,CAAG,EACpC,SAAAV,EAAC,OAAI,IAAKkB,EAAK,UAAWC,EAAG,YAAaF,CAAS,EAAI,GAAGH,EAAO,EACnE,CAEJ,CAAC,EACDE,EAAS,YAAc,WAMvB,IAAMI,EAAkB,aAGtB,CAAC,CAAE,UAAAH,EAAW,GAAGH,CAAM,EAAGI,IAAQ,CAClC,GAAM,CAAE,MAAAG,EAAO,WAAAC,CAAW,EAAInB,EAAa,EAE3C,OACEH,EAACuB,EAAA,CACC,IAAKL,EACL,UAAWC,EAAGE,GAAS,mBAAoBJ,CAAS,EACpD,QAASK,EACR,GAAGR,EACN,CAEJ,CAAC,EACDM,EAAU,YAAc,YAMxB,IAAMI,EAAoB,aAGxB,CAAC,CAAE,GAAGV,CAAM,EAAGI,IAAQ,CACvB,GAAM,CAAE,MAAAG,EAAO,WAAAC,EAAY,kBAAAG,EAAmB,cAAAC,CAAc,EAC1DvB,EAAa,EAEf,OACEH,EAAC2B,EAAA,CACC,IAAKT,EACL,GAAII,EACJ,mBACGD,EAA4B,GAAGI,CAAiB,IAAIC,CAAa,GAAzDD,EAEX,eAAc,EAAQJ,EACrB,GAAGP,EACN,CAEJ,CAAC,EACDU,EAAY,YAAc,cAM1B,IAAMI,EAAwB,aAG5B,CAAC,CAAE,UAAAX,EAAW,GAAGH,CAAM,EAAGI,IAAQ,CAClC,GAAM,CAAE,kBAAAO,CAAkB,EAAItB,EAAa,EAE3C,OACEH,EAAC,KACC,IAAKkB,EACL,GAAIO,EACJ,UAAWN,EAAG,sCAAuCF,CAAS,EAC7D,GAAGH,EACN,CAEJ,CAAC,EACDc,EAAgB,YAAc,kBAM9B,IAAMC,EAAoB,aAGxB,CAAC,CAAE,UAAAZ,EAAW,SAAAa,EAAU,GAAGhB,CAAM,EAAGI,IAAQ,CAC5C,GAAM,CAAE,MAAAG,EAAO,cAAAK,CAAc,EAAIvB,EAAa,EACxC4B,EAAOV,EAAQ,OAAOA,EAAM,OAAO,EAAIS,EAE7C,OAAKC,EAKH/B,EAAC,KACC,IAAKkB,EACL,GAAIQ,EACJ,UAAWP,EAAG,6CAA8CF,CAAS,EACpE,GAAGH,EAEH,SAAAiB,EACH,EAXO,IAaX,CAAC,EACDF,EAAY,YAAc","names":["React","Slot","Controller","FormProvider","useFormContext","jsx","FormItemContext","FormFieldContext","useFormField","fieldContext","itemContext","getFieldState","formState","useFormContext","fieldState","id","Form","FormProvider","FormField","props","Controller","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"]}
1
+ {"version":3,"sources":["../src/form.tsx"],"sourcesContent":["import * as React from \"react\";\nimport type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n type ControllerProps,\n type FieldError,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n} from \"react-hook-form\";\nimport { cn } from \"./utils\";\nimport { Label } from \"./label\";\n\n/* -----------------------------------------------------------------------------\n * Context: FormItemContext\n * -------------------------------------------------------------------------- */\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\n/* -----------------------------------------------------------------------------\n * Context: FormFieldContext\n * -------------------------------------------------------------------------- */\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst useFormField = (): {\n invalid: boolean;\n isDirty: boolean;\n isTouched: boolean;\n isValidating: boolean;\n error?: FieldError | undefined;\n id: string;\n name: string;\n formItemId: string;\n formDescriptionId: string;\n formMessageId: string;\n} => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `form-item-${id}`,\n formDescriptionId: `form-item-description-${id}`,\n formMessageId: `form-item-message-${id}`,\n ...fieldState,\n };\n};\n\n/* -----------------------------------------------------------------------------\n * Component: Form\n * -------------------------------------------------------------------------- */\n\nconst Form = FormProvider;\n\n/* -----------------------------------------------------------------------------\n * Component: FormField\n * -------------------------------------------------------------------------- */\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({ ...props }: ControllerProps<TFieldValues, TName>): React.JSX.Element {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormItem\n * -------------------------------------------------------------------------- */\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = \"FormItem\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormLabel\n * -------------------------------------------------------------------------- */\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = \"FormLabel\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormControl\n * -------------------------------------------------------------------------- */\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={Boolean(error)}\n {...props}\n />\n );\n});\nFormControl.displayName = \"FormControl\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormDescription\n * -------------------------------------------------------------------------- */\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-[0.8rem]\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\n/* -----------------------------------------------------------------------------\n * Component: FormMessage\n * -------------------------------------------------------------------------- */\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-destructive text-[0.8rem] font-medium\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nFormMessage.displayName = \"FormMessage\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"mappings":"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","names":[]}
@@ -1,2 +1,31 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";var _chunkQZCQ42BPjs = require('./chunk-QZCQ42BP.js');var _react = require('react'); var a = _interopRequireWildcard(_react);var _reacthovercard = require('@radix-ui/react-hover-card'); var t = _interopRequireWildcard(_reacthovercard);var _jsxruntime = require('react/jsx-runtime');var p=t.Root,f= exports.HoverCardTrigger =t.Trigger,n= exports.HoverCardContent =a.forwardRef(({className:o,align:d="center",sideOffset:i=4,...r},s)=>_jsxruntime.jsx.call(void 0, t.Content,{ref:s,align:d,sideOffset:i,className:_chunkQZCQ42BPjs.b.call(void 0, "bg-popover text-popover-foreground z-50 w-64 rounded-md border p-4 shadow-md outline-none","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","data-[state=open]:data-[side=top]:slide-in-from-bottom-2","data-[state=open]:data-[side=left]:slide-in-from-right-2","data-[state=open]:data-[side=bottom]:slide-in-from-top-2","data-[state=open]:data-[side=right]:slide-in-from-left-2","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[state=closed]:data-[side=top]:slide-out-to-bottom-2","data-[state=closed]:data-[side=left]:slide-out-to-right-2","data-[state=closed]:data-[side=bottom]:slide-out-to-top-2","data-[state=closed]:data-[side=right]:slide-out-to-left-2",o),...r}));n.displayName=t.Content.displayName;exports.HoverCard = p; exports.HoverCardContent = n; exports.HoverCardTrigger = f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
+
3
+
4
+ var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
5
+
6
+ // src/hover-card.tsx
7
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
8
+ var _reacthovercard = require('@radix-ui/react-hover-card'); var HoverCardPrimitive = _interopRequireWildcard(_reacthovercard);
9
+ var _jsxruntime = require('react/jsx-runtime');
10
+ var HoverCard = HoverCardPrimitive.Root;
11
+ var HoverCardTrigger = HoverCardPrimitive.Trigger;
12
+ var HoverCardContent = React.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HoverCardPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13
+ HoverCardPrimitive.Content,
14
+ {
15
+ ref,
16
+ align,
17
+ sideOffset,
18
+ className: _chunkG3NP7M2Njs.cn.call(void 0,
19
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ ) }));
25
+ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
26
+
27
+
28
+
29
+
30
+ exports.HoverCard = HoverCard; exports.HoverCardContent = HoverCardContent; exports.HoverCardTrigger = HoverCardTrigger;
2
31
  //# sourceMappingURL=hover-card.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hover-card.tsx"],"names":["React","HoverCardPrimitive","jsx","HoverCard","HoverCardTrigger","HoverCardContent","className","align","sideOffset","props","ref","cn"],"mappings":"qDAEA,UAAYA,MAAW,QACvB,UAAYC,MAAwB,6BAuBlC,cAAAC,MAAA,oBAhBF,IAAMC,EAA+B,OAM/BC,EAAsC,UAMtCC,EAAyB,aAG7B,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAM,EAAGC,IAC5DR,EAAoB,UAAnB,CACC,IAAKQ,EACL,MAAOH,EACP,WAAYC,EACZ,UAAWG,EACT,4FACA,wFACA,2DACA,2DACA,2DACA,2DACA,iGACA,4DACA,4DACA,4DACA,4DACAL,CACF,EACC,GAAGG,EACN,CACD,EACDJ,EAAiB,YAAiC,UAAQ","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCard\n * -------------------------------------------------------------------------- */\n\nconst HoverCard = HoverCardPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardTrigger\n * -------------------------------------------------------------------------- */\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardContent\n * -------------------------------------------------------------------------- */\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n HoverCardPrimitive.HoverCardContentProps\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground z-50 w-64 rounded-md border p-4 shadow-md outline-none\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=open]:data-[side=top]:slide-in-from-bottom-2\",\n \"data-[state=open]:data-[side=left]:slide-in-from-right-2\",\n \"data-[state=open]:data-[side=bottom]:slide-in-from-top-2\",\n \"data-[state=open]:data-[side=right]:slide-in-from-left-2\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"data-[state=closed]:data-[side=top]:slide-out-to-bottom-2\",\n \"data-[state=closed]:data-[side=left]:slide-out-to-right-2\",\n \"data-[state=closed]:data-[side=bottom]:slide-out-to-top-2\",\n \"data-[state=closed]:data-[side=right]:slide-out-to-left-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"]}
1
+ {"version":3,"sources":["../src/hover-card.tsx"],"names":[],"mappings":";;;;;;AAEA,YAAY,WAAW;AACvB,YAAY,wBAAwB;AAwBhC;AAjBJ,IAAM,YAA+B;AAMrC,IAAM,mBAAsC;AAM5C,IAAM,mBAAyB,iBAG7B,CAAC,EAAE,WAAW,QAAQ,UAAU,aAAa,GAAG,GAAG,MAAM,GAAG,QAC5D,oBAAoB,2BAAnB,EACC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,GACF,CACD;AACD,iBAAiB,cAAiC,2BAAQ","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCard\n * -------------------------------------------------------------------------- */\n\nconst HoverCard = HoverCardPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardTrigger\n * -------------------------------------------------------------------------- */\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardContent\n * -------------------------------------------------------------------------- */\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n HoverCardPrimitive.HoverCardContentProps\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Portal>\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"]}
@@ -1,2 +1,31 @@
1
- "use client";import{b as e}from"./chunk-JTI7KCLO.mjs";import*as a from"react";import*as t from"@radix-ui/react-hover-card";import{jsx as m}from"react/jsx-runtime";var p=t.Root,f=t.Trigger,n=a.forwardRef(({className:o,align:d="center",sideOffset:i=4,...r},s)=>m(t.Content,{ref:s,align:d,sideOffset:i,className:e("bg-popover text-popover-foreground z-50 w-64 rounded-md border p-4 shadow-md outline-none","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","data-[state=open]:data-[side=top]:slide-in-from-bottom-2","data-[state=open]:data-[side=left]:slide-in-from-right-2","data-[state=open]:data-[side=bottom]:slide-in-from-top-2","data-[state=open]:data-[side=right]:slide-in-from-left-2","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[state=closed]:data-[side=top]:slide-out-to-bottom-2","data-[state=closed]:data-[side=left]:slide-out-to-right-2","data-[state=closed]:data-[side=bottom]:slide-out-to-top-2","data-[state=closed]:data-[side=right]:slide-out-to-left-2",o),...r}));n.displayName=t.Content.displayName;export{p as HoverCard,n as HoverCardContent,f as HoverCardTrigger};
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-UG3URV2Z.mjs";
5
+
6
+ // src/hover-card.tsx
7
+ import * as React from "react";
8
+ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var HoverCard = HoverCardPrimitive.Root;
11
+ var HoverCardTrigger = HoverCardPrimitive.Trigger;
12
+ var HoverCardContent = React.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx(
13
+ HoverCardPrimitive.Content,
14
+ {
15
+ ref,
16
+ align,
17
+ sideOffset,
18
+ className: cn(
19
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ ) }));
25
+ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
26
+ export {
27
+ HoverCard,
28
+ HoverCardContent,
29
+ HoverCardTrigger
30
+ };
2
31
  //# sourceMappingURL=hover-card.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hover-card.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCard\n * -------------------------------------------------------------------------- */\n\nconst HoverCard = HoverCardPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardTrigger\n * -------------------------------------------------------------------------- */\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardContent\n * -------------------------------------------------------------------------- */\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n HoverCardPrimitive.HoverCardContentProps\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground z-50 w-64 rounded-md border p-4 shadow-md outline-none\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=open]:data-[side=top]:slide-in-from-bottom-2\",\n \"data-[state=open]:data-[side=left]:slide-in-from-right-2\",\n \"data-[state=open]:data-[side=bottom]:slide-in-from-top-2\",\n \"data-[state=open]:data-[side=right]:slide-in-from-left-2\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"data-[state=closed]:data-[side=top]:slide-out-to-bottom-2\",\n \"data-[state=closed]:data-[side=left]:slide-out-to-right-2\",\n \"data-[state=closed]:data-[side=bottom]:slide-out-to-top-2\",\n \"data-[state=closed]:data-[side=right]:slide-out-to-left-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":"sDAEA,UAAYA,MAAW,QACvB,UAAYC,MAAwB,6BAuBlC,cAAAC,MAAA,oBAhBF,IAAMC,EAA+B,OAM/BC,EAAsC,UAMtCC,EAAyB,aAG7B,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAM,EAAGC,IAC5DR,EAAoB,UAAnB,CACC,IAAKQ,EACL,MAAOH,EACP,WAAYC,EACZ,UAAWG,EACT,4FACA,wFACA,2DACA,2DACA,2DACA,2DACA,iGACA,4DACA,4DACA,4DACA,4DACAL,CACF,EACC,GAAGG,EACN,CACD,EACDJ,EAAiB,YAAiC,UAAQ","names":["React","HoverCardPrimitive","jsx","HoverCard","HoverCardTrigger","HoverCardContent","className","align","sideOffset","props","ref","cn"]}
1
+ {"version":3,"sources":["../src/hover-card.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCard\n * -------------------------------------------------------------------------- */\n\nconst HoverCard = HoverCardPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardTrigger\n * -------------------------------------------------------------------------- */\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: HoverCardContent\n * -------------------------------------------------------------------------- */\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n HoverCardPrimitive.HoverCardContentProps\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Portal>\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;AAEA,YAAY,WAAW;AACvB,YAAY,wBAAwB;AAwBhC;AAjBJ,IAAM,YAA+B;AAMrC,IAAM,mBAAsC;AAM5C,IAAM,mBAAyB,iBAG7B,CAAC,EAAE,WAAW,QAAQ,UAAU,aAAa,GAAG,GAAG,MAAM,GAAG,QAC5D,oBAAoB,2BAAnB,EACC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,GACF,CACD;AACD,iBAAiB,cAAiC,2BAAQ;","names":[]}
package/dist/input-otp.js CHANGED
@@ -1,2 +1,60 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkQZCQ42BPjs = require('./chunk-QZCQ42BP.js');var _react = require('react'); var r = _interopRequireWildcard(_react);var _reacticons = require('@radix-ui/react-icons');var _inputotp = require('input-otp');var _jsxruntime = require('react/jsx-runtime');var d=r.forwardRef(({className:e,containerClassName:t,...a},i)=>_jsxruntime.jsx.call(void 0, _inputotp.OTPInput,{ref:i,containerClassName:_chunkQZCQ42BPjs.b.call(void 0, "flex items-center gap-2 has-[:disabled]:opacity-50",t),className:_chunkQZCQ42BPjs.b.call(void 0, "disabled:cursor-not-allowed",e),...a}));d.displayName="InputOTP";var m=r.forwardRef(({className:e,...t},a)=>_jsxruntime.jsx.call(void 0, "div",{ref:a,className:_chunkQZCQ42BPjs.b.call(void 0, "flex items-center",e),...t}));m.displayName="InputOTPGroup";var u=r.forwardRef(({index:e,className:t,...a},i)=>{let s=r.useContext(_inputotp.OTPInputContext).slots[e];return _jsxruntime.jsxs.call(void 0, "div",{ref:i,className:_chunkQZCQ42BPjs.b.call(void 0, "border-input relative flex h-10 w-10 items-center justify-center border-y border-r text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",_optionalChain([s, 'optionalAccess', _ => _.isActive])&&"ring-ring ring-offset-background z-10 ring-2",t),...a,children:[_optionalChain([s, 'optionalAccess', _2 => _2.char]),_optionalChain([s, 'optionalAccess', _3 => _3.hasFakeCaret])?_jsxruntime.jsx.call(void 0, "div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:_jsxruntime.jsx.call(void 0, "div",{className:"animate-caret-blink bg-foreground h-4 w-px duration-1000"})}):null]})});u.displayName="InputOTPSlot";var f=r.forwardRef(({...e},t)=>_jsxruntime.jsx.call(void 0, "div",{ref:t,role:"separator",...e,children:_jsxruntime.jsx.call(void 0, _reacticons.DotFilledIcon,{})}));f.displayName="InputOTPSeparator";exports.InputOTP = d; exports.InputOTPGroup = m; exports.InputOTPSeparator = f; exports.InputOTPSlot = u; exports.REGEXP_ONLY_DIGITS_AND_CHARS = _inputotp.REGEXP_ONLY_DIGITS_AND_CHARS;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+
3
+
4
+ var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
5
+
6
+ // src/input-otp.tsx
7
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
8
+ var _reacticons = require('@radix-ui/react-icons');
9
+
10
+
11
+
12
+
13
+ var _inputotp = require('input-otp');
14
+ var _jsxruntime = require('react/jsx-runtime');
15
+ var InputOTP = React.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16
+ _inputotp.OTPInput,
17
+ {
18
+ ref,
19
+ containerClassName: _chunkG3NP7M2Njs.cn.call(void 0,
20
+ "flex items-center gap-2 has-[:disabled]:opacity-50",
21
+ containerClassName
22
+ ),
23
+ className: _chunkG3NP7M2Njs.cn.call(void 0, "disabled:cursor-not-allowed", className),
24
+ ...props
25
+ }
26
+ ));
27
+ InputOTP.displayName = "InputOTP";
28
+ var InputOTPGroup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkG3NP7M2Njs.cn.call(void 0, "flex items-center", className), ...props }));
29
+ InputOTPGroup.displayName = "InputOTPGroup";
30
+ var InputOTPSlot = React.forwardRef(({ index, className, ...props }, ref) => {
31
+ const inputOTPContext = React.useContext(_inputotp.OTPInputContext);
32
+ const slot = inputOTPContext.slots[index];
33
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34
+ "div",
35
+ {
36
+ ref,
37
+ className: _chunkG3NP7M2Njs.cn.call(void 0,
38
+ "border-input relative flex size-10 items-center justify-center border-y border-r text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
39
+ _optionalChain([slot, 'optionalAccess', _ => _.isActive]) && "ring-ring z-10 ring-2",
40
+ className
41
+ ),
42
+ ...props,
43
+ children: [
44
+ _optionalChain([slot, 'optionalAccess', _2 => _2.char]),
45
+ _optionalChain([slot, 'optionalAccess', _3 => _3.hasFakeCaret]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) }) : null
46
+ ]
47
+ }
48
+ );
49
+ });
50
+ InputOTPSlot.displayName = "InputOTPSlot";
51
+ var InputOTPSeparator = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, role: "separator", ...props, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DotFilledIcon, {}) }));
52
+ InputOTPSeparator.displayName = "InputOTPSeparator";
53
+
54
+
55
+
56
+
57
+
58
+
59
+ exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSeparator = InputOTPSeparator; exports.InputOTPSlot = InputOTPSlot; exports.REGEXP_ONLY_DIGITS_AND_CHARS = _inputotp.REGEXP_ONLY_DIGITS_AND_CHARS;
2
60
  //# sourceMappingURL=input-otp.js.map