@tulip-systems/core 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/LICENSE +662 -0
  2. package/dist/components/client.d.mts +19 -3
  3. package/dist/components/client.mjs +18 -2
  4. package/dist/components/editor/components/menu-nodes.client.mjs +1 -1
  5. package/dist/components/editor/components/menu-nodes.client.mjs.map +1 -1
  6. package/dist/components/editor/components/menu.client.mjs +3 -3
  7. package/dist/components/editor/components/menu.client.mjs.map +1 -1
  8. package/dist/components/emails/forget-password-email.mjs +6 -6
  9. package/dist/components/emails/forget-password-email.mjs.map +1 -1
  10. package/dist/components/header/back-button.client.mjs +2 -2
  11. package/dist/components/header/back-button.client.mjs.map +1 -1
  12. package/dist/components/header/bottom-bar.client.mjs +2 -2
  13. package/dist/components/header/bottom-bar.client.mjs.map +1 -1
  14. package/dist/components/header/breadcrumbs.client.mjs +1 -1
  15. package/dist/components/header/breadcrumbs.client.mjs.map +1 -1
  16. package/dist/components/header/header.client.mjs +1 -1
  17. package/dist/components/header/header.client.mjs.map +1 -1
  18. package/dist/components/layouts/empty-page.mjs +2 -2
  19. package/dist/components/layouts/empty-page.mjs.map +1 -1
  20. package/dist/components/layouts/error-page.mjs +3 -3
  21. package/dist/components/layouts/error-page.mjs.map +1 -1
  22. package/dist/components/layouts/providers.client.d.mts.map +1 -1
  23. package/dist/components/layouts/providers.client.mjs +3 -2
  24. package/dist/components/layouts/providers.client.mjs.map +1 -1
  25. package/dist/components/layouts/root-loading.mjs +2 -2
  26. package/dist/components/layouts/root-loading.mjs.map +1 -1
  27. package/dist/components/layouts/tab-layout.mjs +1 -1
  28. package/dist/components/layouts/tab-layout.mjs.map +1 -1
  29. package/dist/components/lists/data-list.mjs +1 -1
  30. package/dist/components/lists/data-list.mjs.map +1 -1
  31. package/dist/components/lists/data-stack.mjs +1 -1
  32. package/dist/components/lists/data-stack.mjs.map +1 -1
  33. package/dist/components/navigation/admin-sidebar-header.client.mjs +3 -3
  34. package/dist/components/navigation/admin-sidebar-header.client.mjs.map +1 -1
  35. package/dist/components/navigation/admin-sidebar-skeleton.mjs +1 -1
  36. package/dist/components/navigation/admin-sidebar-skeleton.mjs.map +1 -1
  37. package/dist/components/ui/accordion.client.d.mts +26 -0
  38. package/dist/components/ui/accordion.client.d.mts.map +1 -0
  39. package/dist/components/ui/accordion.client.mjs +58 -0
  40. package/dist/components/ui/accordion.client.mjs.map +1 -0
  41. package/dist/components/ui/alert-dialog.client.d.mts +61 -0
  42. package/dist/components/ui/alert-dialog.client.d.mts.map +1 -0
  43. package/dist/components/ui/alert-dialog.client.mjs +104 -0
  44. package/dist/components/ui/alert-dialog.client.mjs.map +1 -0
  45. package/dist/components/ui/alert.d.mts +5 -1
  46. package/dist/components/ui/alert.d.mts.map +1 -1
  47. package/dist/components/ui/alert.mjs +13 -6
  48. package/dist/components/ui/alert.mjs.map +1 -1
  49. package/dist/components/ui/aspect-ratio.client.d.mts +10 -0
  50. package/dist/components/ui/aspect-ratio.client.d.mts.map +1 -0
  51. package/dist/components/ui/aspect-ratio.client.mjs +16 -0
  52. package/dist/components/ui/aspect-ratio.client.mjs.map +1 -0
  53. package/dist/components/ui/avatar.client.d.mts +21 -6
  54. package/dist/components/ui/avatar.client.d.mts.map +1 -1
  55. package/dist/components/ui/avatar.client.mjs +31 -9
  56. package/dist/components/ui/avatar.client.mjs.map +1 -1
  57. package/dist/components/ui/badge.d.mts +1 -1
  58. package/dist/components/ui/badge.d.mts.map +1 -1
  59. package/dist/components/ui/badge.mjs +11 -8
  60. package/dist/components/ui/badge.mjs.map +1 -1
  61. package/dist/components/ui/breadcrumb.d.mts +3 -1
  62. package/dist/components/ui/breadcrumb.d.mts.map +1 -1
  63. package/dist/components/ui/breadcrumb.mjs +7 -7
  64. package/dist/components/ui/breadcrumb.mjs.map +1 -1
  65. package/dist/components/ui/button-group.d.mts +29 -0
  66. package/dist/components/ui/button-group.d.mts.map +1 -0
  67. package/dist/components/ui/button-group.mjs +41 -0
  68. package/dist/components/ui/button-group.mjs.map +1 -0
  69. package/dist/components/ui/button.d.mts +1 -1
  70. package/dist/components/ui/button.d.mts.map +1 -1
  71. package/dist/components/ui/button.mjs +19 -13
  72. package/dist/components/ui/button.mjs.map +1 -1
  73. package/dist/components/ui/{calendar.d.mts → calendar.client.d.mts} +7 -4
  74. package/dist/components/ui/calendar.client.d.mts.map +1 -0
  75. package/dist/components/ui/{calendar.mjs → calendar.client.mjs} +22 -19
  76. package/dist/components/ui/calendar.client.mjs.map +1 -0
  77. package/dist/components/ui/card.d.mts +9 -2
  78. package/dist/components/ui/card.d.mts.map +1 -1
  79. package/dist/components/ui/card.mjs +15 -7
  80. package/dist/components/ui/card.mjs.map +1 -1
  81. package/dist/components/ui/{carousel.d.mts → carousel.client.d.mts} +12 -3
  82. package/dist/components/ui/carousel.client.d.mts.map +1 -0
  83. package/dist/components/ui/{carousel.mjs → carousel.client.mjs} +10 -10
  84. package/dist/components/ui/carousel.client.mjs.map +1 -0
  85. package/dist/components/ui/chart.client.d.mts.map +1 -1
  86. package/dist/components/ui/chart.client.mjs +11 -11
  87. package/dist/components/ui/chart.client.mjs.map +1 -1
  88. package/dist/components/ui/checkbox.client.d.mts +12 -0
  89. package/dist/components/ui/checkbox.client.d.mts.map +1 -0
  90. package/dist/components/ui/checkbox.client.mjs +24 -0
  91. package/dist/components/ui/checkbox.client.mjs.map +1 -0
  92. package/dist/components/ui/collapsible.client.d.mts +6 -6
  93. package/dist/components/ui/collapsible.client.d.mts.map +1 -1
  94. package/dist/components/ui/collapsible.client.mjs +6 -6
  95. package/dist/components/ui/collapsible.client.mjs.map +1 -1
  96. package/dist/components/ui/combobox-dropdown.client.d.mts +1 -1
  97. package/dist/components/ui/combobox-dropdown.client.mjs +2 -2
  98. package/dist/components/ui/combobox-dropdown.client.mjs.map +1 -1
  99. package/dist/components/ui/combobox.client.mjs +4 -4
  100. package/dist/components/ui/combobox.client.mjs.map +1 -1
  101. package/dist/components/ui/{command.d.mts → command.client.d.mts} +8 -2
  102. package/dist/components/ui/command.client.d.mts.map +1 -0
  103. package/dist/components/ui/command.client.mjs +91 -0
  104. package/dist/components/ui/command.client.mjs.map +1 -0
  105. package/dist/components/ui/context-menu.client.d.mts +86 -0
  106. package/dist/components/ui/context-menu.client.d.mts.map +1 -0
  107. package/dist/components/ui/context-menu.client.mjs +128 -0
  108. package/dist/components/ui/context-menu.client.mjs.map +1 -0
  109. package/dist/components/ui/date-picker.client.mjs +2 -2
  110. package/dist/components/ui/date-picker.client.mjs.map +1 -1
  111. package/dist/components/ui/dialog.client.d.mts +19 -12
  112. package/dist/components/ui/dialog.client.d.mts.map +1 -1
  113. package/dist/components/ui/dialog.client.mjs +40 -29
  114. package/dist/components/ui/dialog.client.mjs.map +1 -1
  115. package/dist/components/ui/drawer.client.d.mts.map +1 -1
  116. package/dist/components/ui/drawer.client.mjs +5 -5
  117. package/dist/components/ui/drawer.client.mjs.map +1 -1
  118. package/dist/components/ui/dropdown-menu.client.d.mts +85 -0
  119. package/dist/components/ui/dropdown-menu.client.d.mts.map +1 -0
  120. package/dist/components/ui/dropdown-menu.client.mjs +131 -0
  121. package/dist/components/ui/dropdown-menu.client.mjs.map +1 -0
  122. package/dist/components/ui/empty.d.mts +36 -0
  123. package/dist/components/ui/empty.d.mts.map +1 -0
  124. package/dist/components/ui/empty.mjs +62 -0
  125. package/dist/components/ui/empty.mjs.map +1 -0
  126. package/dist/components/ui/field.client.d.mts +65 -0
  127. package/dist/components/ui/field.client.d.mts.map +1 -0
  128. package/dist/components/ui/field.client.mjs +114 -0
  129. package/dist/components/ui/field.client.mjs.map +1 -0
  130. package/dist/components/ui/form.client.d.mts +3 -4
  131. package/dist/components/ui/form.client.d.mts.map +1 -1
  132. package/dist/components/ui/form.client.mjs +4 -4
  133. package/dist/components/ui/form.client.mjs.map +1 -1
  134. package/dist/components/ui/hover-card.client.d.mts +6 -6
  135. package/dist/components/ui/hover-card.client.d.mts.map +1 -1
  136. package/dist/components/ui/hover-card.client.mjs +14 -11
  137. package/dist/components/ui/hover-card.client.mjs.map +1 -1
  138. package/dist/components/ui/{input-date-time.d.mts → input-date-time.client.d.mts} +3 -3
  139. package/dist/components/ui/input-date-time.client.d.mts.map +1 -0
  140. package/dist/components/ui/{input-date-time.mjs → input-date-time.client.mjs} +4 -2
  141. package/dist/components/ui/input-date-time.client.mjs.map +1 -0
  142. package/dist/components/ui/input-date.d.mts +1 -1
  143. package/dist/components/ui/input-date.d.mts.map +1 -1
  144. package/dist/components/ui/input-date.mjs.map +1 -1
  145. package/dist/components/ui/input-group.client.d.mts +59 -0
  146. package/dist/components/ui/input-group.client.d.mts.map +1 -0
  147. package/dist/components/ui/input-group.client.mjs +106 -0
  148. package/dist/components/ui/input-group.client.mjs.map +1 -0
  149. package/dist/components/ui/input-recipient.mjs +11 -11
  150. package/dist/components/ui/input-recipient.mjs.map +1 -1
  151. package/dist/components/ui/input-time.d.mts +1 -1
  152. package/dist/components/ui/input-time.d.mts.map +1 -1
  153. package/dist/components/ui/input-time.mjs.map +1 -1
  154. package/dist/components/ui/input.d.mts.map +1 -1
  155. package/dist/components/ui/input.mjs +1 -1
  156. package/dist/components/ui/input.mjs.map +1 -1
  157. package/dist/components/ui/item.d.mts +63 -0
  158. package/dist/components/ui/item.d.mts.map +1 -0
  159. package/dist/components/ui/item.mjs +119 -0
  160. package/dist/components/ui/item.mjs.map +1 -0
  161. package/dist/components/ui/kbd.d.mts +14 -0
  162. package/dist/components/ui/kbd.d.mts.map +1 -0
  163. package/dist/components/ui/kbd.mjs +22 -0
  164. package/dist/components/ui/kbd.mjs.map +1 -0
  165. package/dist/components/ui/label.d.mts +4 -4
  166. package/dist/components/ui/label.d.mts.map +1 -1
  167. package/dist/components/ui/label.mjs +5 -5
  168. package/dist/components/ui/label.mjs.map +1 -1
  169. package/dist/components/ui/loader.d.mts +7 -0
  170. package/dist/components/ui/loader.d.mts.map +1 -0
  171. package/dist/components/ui/loader.mjs +63 -0
  172. package/dist/components/ui/loader.mjs.map +1 -0
  173. package/dist/components/ui/navigation-menu.d.mts +11 -11
  174. package/dist/components/ui/navigation-menu.d.mts.map +1 -1
  175. package/dist/components/ui/navigation-menu.mjs +18 -20
  176. package/dist/components/ui/navigation-menu.mjs.map +1 -1
  177. package/dist/components/ui/pagination.d.mts +8 -2
  178. package/dist/components/ui/pagination.d.mts.map +1 -1
  179. package/dist/components/ui/pagination.mjs +29 -21
  180. package/dist/components/ui/pagination.mjs.map +1 -1
  181. package/dist/components/ui/popover.client.d.mts +35 -0
  182. package/dist/components/ui/popover.client.d.mts.map +1 -0
  183. package/dist/components/ui/popover.client.mjs +59 -0
  184. package/dist/components/ui/popover.client.mjs.map +1 -0
  185. package/dist/components/ui/progress.client.d.mts +4 -4
  186. package/dist/components/ui/progress.client.d.mts.map +1 -1
  187. package/dist/components/ui/progress.client.mjs +7 -7
  188. package/dist/components/ui/progress.client.mjs.map +1 -1
  189. package/dist/components/ui/radio-group.d.mts +5 -5
  190. package/dist/components/ui/radio-group.d.mts.map +1 -1
  191. package/dist/components/ui/radio-group.mjs +10 -11
  192. package/dist/components/ui/radio-group.mjs.map +1 -1
  193. package/dist/components/ui/resizable.client.d.mts +3 -4
  194. package/dist/components/ui/resizable.client.d.mts.map +1 -1
  195. package/dist/components/ui/resizable.client.mjs +5 -9
  196. package/dist/components/ui/resizable.client.mjs.map +1 -1
  197. package/dist/components/ui/scroll-area.d.mts +5 -5
  198. package/dist/components/ui/scroll-area.d.mts.map +1 -1
  199. package/dist/components/ui/scroll-area.mjs +12 -11
  200. package/dist/components/ui/scroll-area.mjs.map +1 -1
  201. package/dist/components/ui/select.client.d.mts +18 -13
  202. package/dist/components/ui/select.client.d.mts.map +1 -1
  203. package/dist/components/ui/select.client.mjs +37 -32
  204. package/dist/components/ui/select.client.mjs.map +1 -1
  205. package/dist/components/ui/separator.d.mts +4 -4
  206. package/dist/components/ui/separator.d.mts.map +1 -1
  207. package/dist/components/ui/separator.mjs +6 -6
  208. package/dist/components/ui/separator.mjs.map +1 -1
  209. package/dist/components/ui/sheet.client.d.mts +9 -7
  210. package/dist/components/ui/sheet.client.d.mts.map +1 -1
  211. package/dist/components/ui/sheet.client.mjs +30 -20
  212. package/dist/components/ui/sheet.client.mjs.map +1 -1
  213. package/dist/components/ui/sidebar.client.mjs +28 -28
  214. package/dist/components/ui/sidebar.client.mjs.map +1 -1
  215. package/dist/components/ui/skeleton.mjs +1 -1
  216. package/dist/components/ui/skeleton.mjs.map +1 -1
  217. package/dist/components/ui/slider.d.mts +4 -4
  218. package/dist/components/ui/slider.d.mts.map +1 -1
  219. package/dist/components/ui/slider.mjs +11 -11
  220. package/dist/components/ui/slider.mjs.map +1 -1
  221. package/dist/components/ui/spinner.d.mts +10 -0
  222. package/dist/components/ui/spinner.d.mts.map +1 -0
  223. package/dist/components/ui/spinner.mjs +9 -55
  224. package/dist/components/ui/spinner.mjs.map +1 -1
  225. package/dist/components/ui/switch.client.d.mts +15 -0
  226. package/dist/components/ui/switch.client.d.mts.map +1 -0
  227. package/dist/components/ui/switch.client.mjs +23 -0
  228. package/dist/components/ui/switch.client.mjs.map +1 -0
  229. package/dist/components/ui/tabs.client.d.mts +31 -0
  230. package/dist/components/ui/tabs.client.d.mts.map +1 -0
  231. package/dist/components/ui/tabs.client.mjs +49 -0
  232. package/dist/components/ui/tabs.client.mjs.map +1 -0
  233. package/dist/components/ui/textarea.d.mts.map +1 -1
  234. package/dist/components/ui/textarea.mjs +1 -1
  235. package/dist/components/ui/textarea.mjs.map +1 -1
  236. package/dist/components/ui/toggle-group.client.d.mts +11 -6
  237. package/dist/components/ui/toggle-group.client.d.mts.map +1 -1
  238. package/dist/components/ui/toggle-group.client.mjs +20 -12
  239. package/dist/components/ui/toggle-group.client.mjs.map +1 -1
  240. package/dist/components/ui/{toggle.d.mts → toggle.client.d.mts} +6 -6
  241. package/dist/components/ui/toggle.client.d.mts.map +1 -0
  242. package/dist/components/ui/toggle.client.mjs +40 -0
  243. package/dist/components/ui/toggle.client.mjs.map +1 -0
  244. package/dist/components/ui/tooltip.client.d.mts +7 -7
  245. package/dist/components/ui/tooltip.client.d.mts.map +1 -1
  246. package/dist/components/ui/tooltip.client.mjs +10 -10
  247. package/dist/components/ui/tooltip.client.mjs.map +1 -1
  248. package/dist/components.d.mts +12 -20
  249. package/dist/components.mjs +12 -20
  250. package/dist/inline-edit/client.d.mts +2 -2
  251. package/dist/lib/hooks/use-indicator.d.mts.map +1 -1
  252. package/dist/lib/hooks/use-indicator.mjs.map +1 -1
  253. package/dist/modules/auth/components/auth-layout.server.mjs +2 -2
  254. package/dist/modules/auth/components/auth-layout.server.mjs.map +1 -1
  255. package/dist/modules/auth/components/create-first-user-page.client.mjs +3 -3
  256. package/dist/modules/auth/components/create-first-user-page.client.mjs.map +1 -1
  257. package/dist/modules/auth/components/forget-password-page.client.mjs +1 -1
  258. package/dist/modules/auth/components/forget-password-page.client.mjs.map +1 -1
  259. package/dist/modules/auth/components/login-page.client.mjs +5 -5
  260. package/dist/modules/auth/components/login-page.client.mjs.map +1 -1
  261. package/dist/modules/auth/components/reset-password-page.client.mjs +5 -5
  262. package/dist/modules/auth/components/reset-password-page.client.mjs.map +1 -1
  263. package/dist/modules/commands/components/alert-dialog-command.client.d.mts +9 -9
  264. package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
  265. package/dist/modules/commands/components/alert-dialog-command.client.mjs +3 -3
  266. package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
  267. package/dist/modules/commands/components/click-command.client.mjs +2 -2
  268. package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
  269. package/dist/modules/commands/components/dialog-command.client.d.mts +8 -8
  270. package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
  271. package/dist/modules/commands/components/dialog-command.client.mjs +2 -2
  272. package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
  273. package/dist/modules/commands/components/dropdown-command.client.mjs +2 -2
  274. package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
  275. package/dist/modules/commands/components/empty-command.client.mjs +2 -2
  276. package/dist/modules/commands/components/empty-command.client.mjs.map +1 -1
  277. package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -9
  278. package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +1 -1
  279. package/dist/modules/commands/components/form-dialog-command.client.mjs +8 -6
  280. package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
  281. package/dist/modules/commands/menus/context-menu.client.d.mts +3 -3
  282. package/dist/modules/commands/menus/context-menu.client.d.mts.map +1 -1
  283. package/dist/modules/commands/menus/context-menu.client.mjs +1 -1
  284. package/dist/modules/commands/menus/context-menu.client.mjs.map +1 -1
  285. package/dist/modules/commands/menus/dropdown-menu.client.mjs +2 -2
  286. package/dist/modules/commands/menus/dropdown-menu.client.mjs.map +1 -1
  287. package/dist/modules/commands/menus/floating-menu.client.mjs +2 -2
  288. package/dist/modules/commands/menus/floating-menu.client.mjs.map +1 -1
  289. package/dist/modules/commands/utils/archive-command.client.mjs +1 -1
  290. package/dist/modules/commands/utils/archive-command.client.mjs.map +1 -1
  291. package/dist/modules/commands/utils/delete-command.client.mjs +1 -1
  292. package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
  293. package/dist/modules/data-tables/components/cell/select.client.mjs +1 -1
  294. package/dist/modules/data-tables/components/cell/select.client.mjs.map +1 -1
  295. package/dist/modules/data-tables/components/column-header.mjs +5 -5
  296. package/dist/modules/data-tables/components/column-header.mjs.map +1 -1
  297. package/dist/modules/data-tables/components/filters/combobox.client.mjs +6 -6
  298. package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
  299. package/dist/modules/data-tables/components/filters/slider.client.mjs +2 -2
  300. package/dist/modules/data-tables/components/filters/slider.client.mjs.map +1 -1
  301. package/dist/modules/data-tables/components/header.mjs +1 -1
  302. package/dist/modules/data-tables/components/header.mjs.map +1 -1
  303. package/dist/modules/data-tables/components/skeleton.mjs +2 -2
  304. package/dist/modules/data-tables/components/skeleton.mjs.map +1 -1
  305. package/dist/modules/data-tables/components/table.mjs +3 -3
  306. package/dist/modules/data-tables/components/table.mjs.map +1 -1
  307. package/dist/modules/data-tables/components/toolbar.mjs +1 -1
  308. package/dist/modules/data-tables/components/toolbar.mjs.map +1 -1
  309. package/dist/modules/data-tables/strategies/pagination/components.mjs +3 -3
  310. package/dist/modules/data-tables/strategies/pagination/components.mjs.map +1 -1
  311. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs +1 -1
  312. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs.map +1 -1
  313. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -1
  314. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
  315. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +1 -1
  316. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs.map +1 -1
  317. package/dist/modules/inline-edit/components/date-input.client.mjs +3 -3
  318. package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
  319. package/dist/modules/inline-edit/components/date-picker.client.mjs +2 -2
  320. package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
  321. package/dist/modules/inline-edit/components/date-time.client.d.mts +1 -1
  322. package/dist/modules/inline-edit/components/date-time.client.mjs +1 -1
  323. package/dist/modules/inline-edit/components/date-time.client.mjs.map +1 -1
  324. package/dist/modules/inline-edit/components/input-toggle.client.mjs +2 -2
  325. package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
  326. package/dist/modules/inline-edit/components/input.client.mjs +3 -3
  327. package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
  328. package/dist/modules/inline-edit/components/select.client.d.mts +8 -11
  329. package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
  330. package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
  331. package/dist/modules/inline-edit/components/switch.client.d.mts +3 -2
  332. package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
  333. package/dist/modules/inline-edit/components/switch.client.mjs +1 -1
  334. package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
  335. package/dist/modules/inline-edit/components/toggle.client.mjs +1 -1
  336. package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
  337. package/dist/modules/inline-edit/lib/variants.d.mts +1 -1
  338. package/dist/modules/inline-edit/lib/variants.mjs +1 -1
  339. package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
  340. package/dist/modules/storage/components/dropzone.client.mjs +8 -8
  341. package/dist/modules/storage/components/dropzone.client.mjs.map +1 -1
  342. package/dist/modules/storage/components/image-grid.client.mjs +5 -5
  343. package/dist/modules/storage/components/image-grid.client.mjs.map +1 -1
  344. package/dist/modules/storage/components/upload-zone.client.mjs +1 -1
  345. package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -1
  346. package/dist/modules/storage/lib/router.server.d.mts +11 -11
  347. package/dist/modules/storage/lib/service.server.d.mts +9 -9
  348. package/dist/modules/storage/lib/validators.d.mts +7 -7
  349. package/package.json +6 -31
  350. package/src/components/editor/components/menu-nodes.client.tsx +1 -1
  351. package/src/components/editor/components/menu.client.tsx +3 -3
  352. package/src/components/emails/forget-password-email.tsx +6 -6
  353. package/src/components/entry.client.ts +16 -0
  354. package/src/components/entry.ts +6 -14
  355. package/src/components/header/back-button.client.tsx +2 -2
  356. package/src/components/header/bottom-bar.client.tsx +2 -2
  357. package/src/components/header/breadcrumbs.client.tsx +1 -1
  358. package/src/components/header/header.client.tsx +1 -1
  359. package/src/components/layouts/empty-page.tsx +2 -2
  360. package/src/components/layouts/error-page.tsx +3 -3
  361. package/src/components/layouts/providers.client.tsx +8 -5
  362. package/src/components/layouts/root-loading.tsx +2 -2
  363. package/src/components/layouts/tab-layout.tsx +1 -1
  364. package/src/components/lists/data-list.tsx +1 -1
  365. package/src/components/lists/data-stack.tsx +1 -1
  366. package/src/components/navigation/admin-sidebar-header.client.tsx +3 -3
  367. package/src/components/navigation/admin-sidebar-skeleton.tsx +1 -1
  368. package/src/components/ui/accordion.client.tsx +83 -0
  369. package/src/components/ui/alert-dialog.client.tsx +181 -0
  370. package/src/components/ui/alert.tsx +15 -7
  371. package/src/components/ui/aspect-ratio.client.tsx +9 -0
  372. package/src/components/ui/avatar.client.tsx +61 -6
  373. package/src/components/ui/badge.tsx +17 -11
  374. package/src/components/ui/breadcrumb.tsx +9 -10
  375. package/src/components/ui/button-group.tsx +78 -0
  376. package/src/components/ui/button.tsx +26 -16
  377. package/src/components/ui/{calendar.tsx → calendar.client.tsx} +27 -20
  378. package/src/components/ui/card.tsx +41 -8
  379. package/src/components/ui/{carousel.tsx → carousel.client.tsx} +12 -12
  380. package/src/components/ui/chart.client.tsx +105 -103
  381. package/src/components/ui/checkbox.client.tsx +28 -0
  382. package/src/components/ui/collapsible.client.tsx +2 -2
  383. package/src/components/ui/combobox-dropdown.client.tsx +2 -2
  384. package/src/components/ui/combobox.client.tsx +6 -6
  385. package/src/components/ui/command.client.tsx +179 -0
  386. package/src/components/ui/{context-menu.tsx → context-menu.client.tsx} +86 -64
  387. package/src/components/ui/date-picker.client.tsx +2 -2
  388. package/src/components/ui/dialog.client.tsx +43 -20
  389. package/src/components/ui/drawer.client.tsx +13 -15
  390. package/src/components/ui/{dropdown-menu.tsx → dropdown-menu.client.tsx} +45 -24
  391. package/src/components/ui/empty.tsx +93 -0
  392. package/src/components/ui/field.client.tsx +224 -0
  393. package/src/components/ui/form.client.tsx +4 -4
  394. package/src/components/ui/hover-card.client.tsx +14 -13
  395. package/src/components/ui/{input-date-time.tsx → input-date-time.client.tsx} +6 -1
  396. package/src/components/ui/input-date.tsx +1 -1
  397. package/src/components/ui/input-group.client.tsx +191 -0
  398. package/src/components/ui/input-recipient.tsx +12 -12
  399. package/src/components/ui/input-time.tsx +1 -1
  400. package/src/components/ui/input.tsx +2 -4
  401. package/src/components/ui/item.tsx +182 -0
  402. package/src/components/ui/kbd.tsx +26 -0
  403. package/src/components/ui/label.tsx +2 -3
  404. package/src/components/ui/loader.tsx +51 -0
  405. package/src/components/ui/navigation-menu.tsx +14 -17
  406. package/src/components/ui/pagination.tsx +31 -26
  407. package/src/components/ui/popover.client.tsx +73 -0
  408. package/src/components/ui/progress.client.tsx +6 -4
  409. package/src/components/ui/radio-group.tsx +5 -7
  410. package/src/components/ui/resizable.client.tsx +9 -19
  411. package/src/components/ui/scroll-area.tsx +5 -7
  412. package/src/components/ui/select.client.tsx +40 -22
  413. package/src/components/ui/separator.tsx +3 -4
  414. package/src/components/ui/sheet.client.tsx +19 -18
  415. package/src/components/ui/sidebar.client.tsx +27 -27
  416. package/src/components/ui/skeleton.tsx +1 -1
  417. package/src/components/ui/slider.tsx +5 -10
  418. package/src/components/ui/spinner.tsx +12 -48
  419. package/src/components/ui/switch.client.tsx +32 -0
  420. package/src/components/ui/tabs.client.tsx +79 -0
  421. package/src/components/ui/textarea.tsx +1 -2
  422. package/src/components/ui/toggle-group.client.tsx +26 -10
  423. package/src/components/ui/toggle.client.tsx +44 -0
  424. package/src/components/ui/tooltip.client.tsx +4 -9
  425. package/src/lib/hooks/use-indicator.tsx +4 -7
  426. package/src/modules/auth/components/auth-layout.server.tsx +2 -2
  427. package/src/modules/auth/components/create-first-user-page.client.tsx +4 -4
  428. package/src/modules/auth/components/forget-password-page.client.tsx +1 -1
  429. package/src/modules/auth/components/login-page.client.tsx +6 -6
  430. package/src/modules/auth/components/reset-password-page.client.tsx +7 -7
  431. package/src/modules/commands/components/alert-dialog-command.client.tsx +20 -16
  432. package/src/modules/commands/components/click-command.client.tsx +2 -2
  433. package/src/modules/commands/components/dialog-command.client.tsx +11 -10
  434. package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
  435. package/src/modules/commands/components/empty-command.client.tsx +2 -2
  436. package/src/modules/commands/components/form-dialog-command.client.tsx +29 -13
  437. package/src/modules/commands/menus/context-menu.client.tsx +3 -4
  438. package/src/modules/commands/menus/dropdown-menu.client.tsx +2 -2
  439. package/src/modules/commands/menus/floating-menu.client.tsx +2 -2
  440. package/src/modules/commands/utils/archive-command.client.tsx +1 -1
  441. package/src/modules/commands/utils/delete-command.client.tsx +1 -1
  442. package/src/modules/data-tables/components/cell/select.client.tsx +1 -1
  443. package/src/modules/data-tables/components/column-header.tsx +5 -5
  444. package/src/modules/data-tables/components/filters/combobox.client.tsx +6 -6
  445. package/src/modules/data-tables/components/filters/slider.client.tsx +2 -2
  446. package/src/modules/data-tables/components/header.tsx +1 -1
  447. package/src/modules/data-tables/components/skeleton.tsx +2 -2
  448. package/src/modules/data-tables/components/table.tsx +3 -3
  449. package/src/modules/data-tables/components/toolbar.tsx +1 -1
  450. package/src/modules/data-tables/strategies/pagination/components.tsx +3 -3
  451. package/src/modules/data-tables/tables/inline-table/components/cells/common.tsx +1 -1
  452. package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +1 -1
  453. package/src/modules/data-tables/tables/inline-table/components/cells/read-only.tsx +1 -1
  454. package/src/modules/inline-edit/components/date-input.client.tsx +3 -3
  455. package/src/modules/inline-edit/components/date-picker.client.tsx +2 -2
  456. package/src/modules/inline-edit/components/date-time.client.tsx +1 -1
  457. package/src/modules/inline-edit/components/input-toggle.client.tsx +2 -2
  458. package/src/modules/inline-edit/components/input.client.tsx +3 -3
  459. package/src/modules/inline-edit/components/select.client.tsx +6 -20
  460. package/src/modules/inline-edit/components/switch.client.tsx +3 -3
  461. package/src/modules/inline-edit/components/toggle.client.tsx +1 -1
  462. package/src/modules/inline-edit/lib/variants.ts +1 -1
  463. package/src/modules/storage/components/dropzone.client.tsx +8 -8
  464. package/src/modules/storage/components/image-grid.client.tsx +5 -5
  465. package/src/modules/storage/components/upload-zone.client.tsx +1 -1
  466. package/src/styles.css +1 -3
  467. package/dist/components/ui/accordion.d.mts +0 -25
  468. package/dist/components/ui/accordion.d.mts.map +0 -1
  469. package/dist/components/ui/accordion.mjs +0 -46
  470. package/dist/components/ui/accordion.mjs.map +0 -1
  471. package/dist/components/ui/alert-dialog.d.mts +0 -43
  472. package/dist/components/ui/alert-dialog.d.mts.map +0 -1
  473. package/dist/components/ui/alert-dialog.mjs +0 -84
  474. package/dist/components/ui/alert-dialog.mjs.map +0 -1
  475. package/dist/components/ui/aspect-ratio.d.mts +0 -8
  476. package/dist/components/ui/aspect-ratio.d.mts.map +0 -1
  477. package/dist/components/ui/aspect-ratio.mjs +0 -16
  478. package/dist/components/ui/aspect-ratio.mjs.map +0 -1
  479. package/dist/components/ui/calendar.d.mts.map +0 -1
  480. package/dist/components/ui/calendar.mjs.map +0 -1
  481. package/dist/components/ui/carousel.d.mts.map +0 -1
  482. package/dist/components/ui/carousel.mjs.map +0 -1
  483. package/dist/components/ui/checkbox.d.mts +0 -12
  484. package/dist/components/ui/checkbox.d.mts.map +0 -1
  485. package/dist/components/ui/checkbox.mjs +0 -24
  486. package/dist/components/ui/checkbox.mjs.map +0 -1
  487. package/dist/components/ui/command.d.mts.map +0 -1
  488. package/dist/components/ui/command.mjs +0 -88
  489. package/dist/components/ui/command.mjs.map +0 -1
  490. package/dist/components/ui/context-menu.d.mts +0 -77
  491. package/dist/components/ui/context-menu.d.mts.map +0 -1
  492. package/dist/components/ui/context-menu.mjs +0 -125
  493. package/dist/components/ui/context-menu.mjs.map +0 -1
  494. package/dist/components/ui/dropdown-menu.d.mts +0 -78
  495. package/dist/components/ui/dropdown-menu.d.mts.map +0 -1
  496. package/dist/components/ui/dropdown-menu.mjs +0 -126
  497. package/dist/components/ui/dropdown-menu.mjs.map +0 -1
  498. package/dist/components/ui/input-date-time.d.mts.map +0 -1
  499. package/dist/components/ui/input-date-time.mjs.map +0 -1
  500. package/dist/components/ui/popover.d.mts +0 -23
  501. package/dist/components/ui/popover.d.mts.map +0 -1
  502. package/dist/components/ui/popover.mjs +0 -38
  503. package/dist/components/ui/popover.mjs.map +0 -1
  504. package/dist/components/ui/switch.d.mts +0 -12
  505. package/dist/components/ui/switch.d.mts.map +0 -1
  506. package/dist/components/ui/switch.mjs +0 -22
  507. package/dist/components/ui/switch.mjs.map +0 -1
  508. package/dist/components/ui/tabs.d.mts +0 -24
  509. package/dist/components/ui/tabs.d.mts.map +0 -1
  510. package/dist/components/ui/tabs.mjs +0 -39
  511. package/dist/components/ui/tabs.mjs.map +0 -1
  512. package/dist/components/ui/toggle.d.mts.map +0 -1
  513. package/dist/components/ui/toggle.mjs +0 -40
  514. package/dist/components/ui/toggle.mjs.map +0 -1
  515. package/src/components/ui/accordion.tsx +0 -63
  516. package/src/components/ui/alert-dialog.tsx +0 -133
  517. package/src/components/ui/aspect-ratio.tsx +0 -9
  518. package/src/components/ui/checkbox.tsx +0 -29
  519. package/src/components/ui/command.tsx +0 -154
  520. package/src/components/ui/popover.tsx +0 -42
  521. package/src/components/ui/switch.tsx +0 -28
  522. package/src/components/ui/tabs.tsx +0 -54
  523. package/src/components/ui/toggle.tsx +0 -46
@@ -0,0 +1,65 @@
1
+ import { Label } from "./label.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
+
6
+ //#region src/components/ui/field.client.d.ts
7
+ declare function FieldSet({
8
+ className,
9
+ ...props
10
+ }: React.ComponentProps<"fieldset">): react_jsx_runtime0.JSX.Element;
11
+ declare function FieldLegend({
12
+ className,
13
+ variant,
14
+ ...props
15
+ }: React.ComponentProps<"legend"> & {
16
+ variant?: "legend" | "label";
17
+ }): react_jsx_runtime0.JSX.Element;
18
+ declare function FieldGroup({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
22
+ declare const fieldVariants: (props?: ({
23
+ orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
24
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
25
+ declare function Field({
26
+ className,
27
+ orientation,
28
+ ...props
29
+ }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime0.JSX.Element;
30
+ declare function FieldContent({
31
+ className,
32
+ ...props
33
+ }: React.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
34
+ declare function FieldLabel({
35
+ className,
36
+ ...props
37
+ }: React.ComponentProps<typeof Label>): react_jsx_runtime0.JSX.Element;
38
+ declare function FieldTitle({
39
+ className,
40
+ ...props
41
+ }: React.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
42
+ declare function FieldDescription({
43
+ className,
44
+ ...props
45
+ }: React.ComponentProps<"p">): react_jsx_runtime0.JSX.Element;
46
+ declare function FieldSeparator({
47
+ children,
48
+ className,
49
+ ...props
50
+ }: React.ComponentProps<"div"> & {
51
+ children?: React.ReactNode;
52
+ }): react_jsx_runtime0.JSX.Element;
53
+ declare function FieldError({
54
+ className,
55
+ children,
56
+ errors,
57
+ ...props
58
+ }: React.ComponentProps<"div"> & {
59
+ errors?: Array<{
60
+ message?: string;
61
+ } | undefined>;
62
+ }): react_jsx_runtime0.JSX.Element | null;
63
+ //#endregion
64
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
65
+ //# sourceMappingURL=field.client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.client.d.mts","names":[],"sources":["../../../src/components/ui/field.client.tsx"],"mappings":";;;;;;iBAQS,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,eAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAalE,WAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EAA6B,OAAA;AAAA,IAA8B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAc3D,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAalE,aAAA,GAAa,KAAA;;IAajB,+BAAA,CAAA,SAAA;AAAA,iBAEO,KAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,aAAA,IAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAa1D,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjE,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,QAAsB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBActE,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAa/D,gBAAA,CAAA;EAAmB,SAAA;EAAA,GAAc;AAAA,GAAS,KAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAenE,cAAA,CAAA;EACP,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EACP,QAAA,GAAW,KAAA,CAAM,SAAA;AAAA,IAClB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAwBQ,UAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EACP,MAAA,GAAS,KAAA;IAAQ,OAAA;EAAA;AAAA,IAClB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,114 @@
1
+ "use client";
2
+
3
+ import { cn } from "../../lib/utils/cn.mjs";
4
+ import { Separator } from "./separator.mjs";
5
+ import { Label } from "./label.mjs";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { cva } from "class-variance-authority";
8
+ import { useMemo } from "react";
9
+
10
+ //#region src/components/ui/field.client.tsx
11
+ function FieldSet({ className, ...props }) {
12
+ return /* @__PURE__ */ jsx("fieldset", {
13
+ "data-slot": "field-set",
14
+ className: cn("flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", className),
15
+ ...props
16
+ });
17
+ }
18
+ function FieldLegend({ className, variant = "legend", ...props }) {
19
+ return /* @__PURE__ */ jsx("legend", {
20
+ "data-slot": "field-legend",
21
+ "data-variant": variant,
22
+ className: cn("mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", className),
23
+ ...props
24
+ });
25
+ }
26
+ function FieldGroup({ className, ...props }) {
27
+ return /* @__PURE__ */ jsx("div", {
28
+ "data-slot": "field-group",
29
+ className: cn("group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4", className),
30
+ ...props
31
+ });
32
+ }
33
+ const fieldVariants = cva("data-[invalid=true]:text-destructive gap-2 group/field flex w-full", {
34
+ variants: { orientation: {
35
+ vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
36
+ horizontal: "flex-row items-center *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
37
+ responsive: "flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:*:data-[slot=field-label]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
38
+ } },
39
+ defaultVariants: { orientation: "vertical" }
40
+ });
41
+ function Field({ className, orientation = "vertical", ...props }) {
42
+ return /* @__PURE__ */ jsx("div", {
43
+ role: "group",
44
+ "data-slot": "field",
45
+ "data-orientation": orientation,
46
+ className: cn(fieldVariants({ orientation }), className),
47
+ ...props
48
+ });
49
+ }
50
+ function FieldContent({ className, ...props }) {
51
+ return /* @__PURE__ */ jsx("div", {
52
+ "data-slot": "field-content",
53
+ className: cn("group/field-content flex flex-1 flex-col gap-0.5 leading-snug", className),
54
+ ...props
55
+ });
56
+ }
57
+ function FieldLabel({ className, ...props }) {
58
+ return /* @__PURE__ */ jsx(Label, {
59
+ "data-slot": "field-label",
60
+ className: cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-data-checked:border-primary/30 has-data-checked:bg-primary/5 *:data-[slot=field]:p-2.5 group-data-[disabled=true]/field:opacity-50 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col", className),
61
+ ...props
62
+ });
63
+ }
64
+ function FieldTitle({ className, ...props }) {
65
+ return /* @__PURE__ */ jsx("div", {
66
+ "data-slot": "field-label",
67
+ className: cn("flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50", className),
68
+ ...props
69
+ });
70
+ }
71
+ function FieldDescription({ className, ...props }) {
72
+ return /* @__PURE__ */ jsx("p", {
73
+ "data-slot": "field-description",
74
+ className: cn("text-left font-normal text-muted-foreground text-sm leading-normal group-has-data-[orientation=horizontal]/field:text-balance [[data-variant=legend]+&]:-mt-1.5", "nth-last-2:-mt-1 last:mt-0", "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4", className),
75
+ ...props
76
+ });
77
+ }
78
+ function FieldSeparator({ children, className, ...props }) {
79
+ return /* @__PURE__ */ jsxs("div", {
80
+ "data-slot": "field-separator",
81
+ "data-content": !!children,
82
+ className: cn("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", className),
83
+ ...props,
84
+ children: [/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }), children && /* @__PURE__ */ jsx("span", {
85
+ className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
86
+ "data-slot": "field-separator-content",
87
+ children
88
+ })]
89
+ });
90
+ }
91
+ function FieldError({ className, children, errors, ...props }) {
92
+ const content = useMemo(() => {
93
+ if (children) return children;
94
+ if (!errors?.length) return null;
95
+ const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];
96
+ if (uniqueErrors?.length === 1) return uniqueErrors[0]?.message;
97
+ return /* @__PURE__ */ jsx("ul", {
98
+ className: "ml-4 flex list-disc flex-col gap-1",
99
+ children: uniqueErrors.map((error, index) => error?.message && /* @__PURE__ */ jsx("li", { children: error.message }, index))
100
+ });
101
+ }, [children, errors]);
102
+ if (!content) return null;
103
+ return /* @__PURE__ */ jsx("div", {
104
+ role: "alert",
105
+ "data-slot": "field-error",
106
+ className: cn("font-normal text-destructive text-sm", className),
107
+ ...props,
108
+ children: content
109
+ });
110
+ }
111
+
112
+ //#endregion
113
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
114
+ //# sourceMappingURL=field.client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.client.mjs","names":[],"sources":["../../../src/components/ui/field.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { useMemo } from \"react\";\nimport { Label } from \"@/components/ui/label\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst fieldVariants = cva(\"data-[invalid=true]:text-destructive gap-2 group/field flex w-full\", {\n variants: {\n orientation: {\n vertical: \"flex-col *:w-full [&>.sr-only]:w-auto\",\n horizontal:\n \"flex-row items-center *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n responsive:\n \"flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:*:data-[slot=field-label]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n});\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n // biome-ignore lint/a11y/useSemanticElements: We use divs here to allow for more flexible styling of the field component, which can be used to wrap various form elements such as checkboxes, radios, and switches that may not be compatible with a fieldset element\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\"group/field-content flex flex-1 flex-col gap-0.5 leading-snug\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-data-checked:border-primary/30 has-data-checked:bg-primary/5 *:data-[slot=field]:p-2.5 group-data-[disabled=true]/field:opacity-50 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-left font-normal text-muted-foreground text-sm leading-normal group-has-data-[orientation=horizontal]/field:text-balance [[data-variant=legend]+&]:-mt-1.5\",\n \"nth-last-2:-mt-1 last:mt-0\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className,\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"relative mx-auto block w-fit bg-background px-2 text-muted-foreground\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>;\n}) {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors?.length) {\n return null;\n }\n\n const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];\n\n if (uniqueErrors?.length === 1) {\n return uniqueErrors[0]?.message;\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map((error, index) => error?.message && <li key={index}>{error.message}</li>)}\n </ul>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"font-normal text-destructive text-sm\", className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n};\n"],"mappings":";;;;;;;;;;AAQA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA2C;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,oGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,UAAU,UACV,GAAG,SACiE;AACpE,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GACT,mFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,wIACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,gBAAgB,IAAI,sEAAsE;CAC9F,UAAU,EACR,aAAa;EACX,UAAU;EACV,YACE;EACF,YACE;EACH,EACF;CACD,iBAAiB,EACf,aAAa,YACd;CACF,CAAC;AAEF,SAAS,MAAM,EACb,WACA,cAAc,YACd,GAAG,SACgE;AACnE,QAEE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,cAAc,EAAE,aAAa,CAAC,EAAE,UAAU;EACxD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,iEAAiE,UAAU;EACzF,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAA6C;AAC/E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,2VACA,qEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,8GACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,mKACA,8BACA,qEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,UACA,WACA,GAAG,SAGF;AACD,QACE,qBAAC;EACC,aAAU;EACV,gBAAc,CAAC,CAAC;EAChB,WAAW,GACT,6EACA,UACD;EACD,GAAI;aAEJ,oBAAC,aAAU,WAAU,6BAA6B,EACjD,YACC,oBAAC;GACC,WAAU;GACV,aAAU;GAET;IACI;GAEL;;AAIV,SAAS,WAAW,EAClB,WACA,UACA,QACA,GAAG,SAGF;CACD,MAAM,UAAU,cAAc;AAC5B,MAAI,SACF,QAAO;AAGT,MAAI,CAAC,QAAQ,OACX,QAAO;EAGT,MAAM,eAAe,CAAC,GAAG,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAE1F,MAAI,cAAc,WAAW,EAC3B,QAAO,aAAa,IAAI;AAG1B,SACE,oBAAC;GAAG,WAAU;aACX,aAAa,KAAK,OAAO,UAAU,OAAO,WAAW,oBAAC,kBAAgB,MAAM,WAAd,MAA2B,CAAC;IACxF;IAEN,CAAC,UAAU,OAAO,CAAC;AAEtB,KAAI,CAAC,QACH,QAAO;AAGT,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;YAEH;GACG"}
@@ -1,9 +1,8 @@
1
1
  import * as react_jsx_runtime0 from "react/jsx-runtime";
2
- import { Slot } from "@radix-ui/react-slot";
2
+ import { Label, Slot } from "radix-ui";
3
3
  import * as React$1 from "react";
4
4
  import * as react_hook_form0 from "react-hook-form";
5
5
  import { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
6
- import * as LabelPrimitive from "@radix-ui/react-label";
7
6
 
8
7
  //#region src/components/ui/form.client.d.ts
9
8
  declare const Form$1: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
@@ -32,10 +31,10 @@ declare function FormItem({
32
31
  declare function FormLabel({
33
32
  className,
34
33
  ...props
35
- }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime0.JSX.Element;
34
+ }: React$1.ComponentProps<typeof Label.Root>): react_jsx_runtime0.JSX.Element;
36
35
  declare function FormControl({
37
36
  ...props
38
- }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime0.JSX.Element;
37
+ }: React$1.ComponentProps<typeof Slot.Root>): react_jsx_runtime0.JSX.Element;
39
38
  declare function FormDescription({
40
39
  className,
41
40
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"form.client.d.mts","names":[],"sources":["../../../src/components/ui/form.client.tsx"],"mappings":";;;;;;;;cAkBM,MAAA,wBAAI,WAAA,uCAAA,YAAA,EAAA,KAAA,EAAA,gBAAA,CAAA,iBAAA,CAAA,YAAA,EAAA,QAAA,EAAA,kBAAA,MAAA,OAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAWJ,SAAA,wBACiB,WAAA,GAAc,WAAA,gBACrB,SAAA,CAAU,YAAA,IAAgB,SAAA,CAAU,YAAA;EAClD,OAAA;EAAA,GAAA;AAAA,GAGC,eAAA,CAAgB,YAAA,EAAc,KAAA;EAAW,OAAA;AAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAUzD,YAAA;;;;;UAqBL,gBAAA,CAAA,UAAA;;;;;;;iBAQQ,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU7D,SAAA,CAAA;EAAY,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,cAAA,CAAe,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcnF,WAAA,CAAA;EAAA,GAAiB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAc3D,eAAA,CAAA;EAAkB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAalE,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"form.client.d.mts","names":[],"sources":["../../../src/components/ui/form.client.tsx"],"mappings":";;;;;;;cAkBM,MAAA,wBAAI,WAAA,uCAAA,YAAA,EAAA,KAAA,EAAA,gBAAA,CAAA,iBAAA,CAAA,YAAA,EAAA,QAAA,EAAA,kBAAA,MAAA,OAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAWJ,SAAA,wBACiB,WAAA,GAAc,WAAA,gBACrB,SAAA,CAAU,YAAA,IAAgB,SAAA,CAAU,YAAA;EAClD,OAAA;EAAA,GAAA;AAAA,GAGC,eAAA,CAAgB,YAAA,EAAc,KAAA;EAAW,OAAA;AAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAUzD,YAAA;;;;;UAqBL,gBAAA,CAAA,UAAA;;;;;;;iBAQQ,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU7D,SAAA,CAAA;EAAY,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,KAAA,CAAe,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcnF,WAAA,CAAA;EAAA,GAAiB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,IAAA,CAAK,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAchE,eAAA,CAAA;EAAkB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAalE,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  import { cn } from "../../lib/utils/cn.mjs";
4
- import { Label } from "./label.mjs";
4
+ import { Label as Label$1 } from "./label.mjs";
5
5
  import { jsx } from "react/jsx-runtime";
6
- import { Slot } from "@radix-ui/react-slot";
6
+ import { Slot } from "radix-ui";
7
7
  import * as React$1 from "react";
8
8
  import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
9
9
 
@@ -48,7 +48,7 @@ function FormItem({ className, ...props }) {
48
48
  }
49
49
  function FormLabel({ className, ...props }) {
50
50
  const { error, formItemId } = useFormField();
51
- return /* @__PURE__ */ jsx(Label, {
51
+ return /* @__PURE__ */ jsx(Label$1, {
52
52
  "data-slot": "form-label",
53
53
  "data-error": !!error,
54
54
  className: cn("data-[error=true]:text-destructive-foreground", className),
@@ -58,7 +58,7 @@ function FormLabel({ className, ...props }) {
58
58
  }
59
59
  function FormControl({ ...props }) {
60
60
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
61
- return /* @__PURE__ */ jsx(Slot, {
61
+ return /* @__PURE__ */ jsx(Slot.Root, {
62
62
  "data-slot": "form-control",
63
63
  id: formItemId,
64
64
  "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"form.client.mjs","names":["Form","React"],"sources":["../../../src/components/ui/form.client.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from \"react-hook-form\";\n\nimport { Label } from \"@/components/ui/label\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n visible = true,\n ...props\n}: ControllerProps<TFieldValues, TName> & { visible?: boolean }) => {\n if (!visible) return null;\n\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\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: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn(\"grid gap-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive-foreground\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive-foreground text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n useFormField,\n};\n"],"mappings":";;;;;;;;;;AAkBA,MAAMA,SAAO;AASb,MAAM,mBAAmBC,QAAM,cAAqC,EAAE,CAA0B;AAEhG,MAAM,aAGJ,EACA,UAAU,MACV,GAAG,YAC+D;AAClE,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAAC,iBAAiB;EAAS,OAAO,EAAE,MAAM,MAAM,MAAM;YACpD,oBAAC,cAAW,GAAI,QAAS;GACC;;AAIhC,MAAM,qBAAqB;CACzB,MAAM,eAAeA,QAAM,WAAW,iBAAiB;CACvD,MAAM,cAAcA,QAAM,WAAW,gBAAgB;CACrD,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,YAAY,aAAa,EAAE,MAAM,aAAa,MAAM,CAAC;CAC3D,MAAM,aAAa,cAAc,aAAa,MAAM,UAAU;AAE9D,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,iDAAiD;CAGnE,MAAM,EAAE,OAAO;AAEf,QAAO;EACL;EACA,MAAM,aAAa;EACnB,YAAY,GAAG,GAAG;EAClB,mBAAmB,GAAG,GAAG;EACzB,eAAe,GAAG,GAAG;EACrB,GAAG;EACJ;;AAOH,MAAM,kBAAkBA,QAAM,cAAoC,EAAE,CAAyB;AAE7F,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;CACtE,MAAM,KAAKA,QAAM,OAAO;AAExB,QACE,oBAAC,gBAAgB;EAAS,OAAO,EAAE,IAAI;YACrC,oBAAC;GAAI,aAAU;GAAY,WAAW,GAAG,cAAc,UAAU;GAAE,GAAI;IAAS;GACvD;;AAI/B,SAAS,UAAU,EAAE,WAAW,GAAG,SAA2D;CAC5F,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,cAAY,CAAC,CAAC;EACd,WAAW,GAAG,iDAAiD,UAAU;EACzE,SAAS;EACT,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,GAAG,SAA4C;CACpE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAAkB,cAAc;AAE9E,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,oBAAkB,CAAC,QAAQ,GAAG,sBAAsB,GAAG,kBAAkB,GAAG;EAC5E,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAoC;CAC3E,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoC;CACvE,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG,MAAM;AAE1D,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,uCAAuC,UAAU;EAC/D,GAAI;YAEH;GACC"}
1
+ {"version":3,"file":"form.client.mjs","names":["Form","React","Label"],"sources":["../../../src/components/ui/form.client.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Label as LabelPrimitive } from \"radix-ui\";\nimport { Slot } from \"radix-ui\";\nimport * as React from \"react\";\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from \"react-hook-form\";\n\nimport { Label } from \"@/components/ui/label\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n visible = true,\n ...props\n}: ControllerProps<TFieldValues, TName> & { visible?: boolean }) => {\n if (!visible) return null;\n\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\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: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn(\"grid gap-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive-foreground\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot.Root>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot.Root\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive-foreground text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n useFormField,\n};\n"],"mappings":";;;;;;;;;;AAkBA,MAAMA,SAAO;AASb,MAAM,mBAAmBC,QAAM,cAAqC,EAAE,CAA0B;AAEhG,MAAM,aAGJ,EACA,UAAU,MACV,GAAG,YAC+D;AAClE,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAAC,iBAAiB;EAAS,OAAO,EAAE,MAAM,MAAM,MAAM;YACpD,oBAAC,cAAW,GAAI,QAAS;GACC;;AAIhC,MAAM,qBAAqB;CACzB,MAAM,eAAeA,QAAM,WAAW,iBAAiB;CACvD,MAAM,cAAcA,QAAM,WAAW,gBAAgB;CACrD,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,YAAY,aAAa,EAAE,MAAM,aAAa,MAAM,CAAC;CAC3D,MAAM,aAAa,cAAc,aAAa,MAAM,UAAU;AAE9D,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,iDAAiD;CAGnE,MAAM,EAAE,OAAO;AAEf,QAAO;EACL;EACA,MAAM,aAAa;EACnB,YAAY,GAAG,GAAG;EAClB,mBAAmB,GAAG,GAAG;EACzB,eAAe,GAAG,GAAG;EACrB,GAAG;EACJ;;AAOH,MAAM,kBAAkBA,QAAM,cAAoC,EAAE,CAAyB;AAE7F,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;CACtE,MAAM,KAAKA,QAAM,OAAO;AAExB,QACE,oBAAC,gBAAgB;EAAS,OAAO,EAAE,IAAI;YACrC,oBAAC;GAAI,aAAU;GAAY,WAAW,GAAG,cAAc,UAAU;GAAE,GAAI;IAAS;GACvD;;AAI/B,SAAS,UAAU,EAAE,WAAW,GAAG,SAA2D;CAC5F,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAACC;EACC,aAAU;EACV,cAAY,CAAC,CAAC;EACd,WAAW,GAAG,iDAAiD,UAAU;EACzE,SAAS;EACT,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,GAAG,SAAiD;CACzE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAAkB,cAAc;AAE9E,QACE,oBAAC,KAAK;EACJ,aAAU;EACV,IAAI;EACJ,oBAAkB,CAAC,QAAQ,GAAG,sBAAsB,GAAG,kBAAkB,GAAG;EAC5E,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAoC;CAC3E,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoC;CACvE,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG,MAAM;AAE1D,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,uCAAuC,UAAU;EAC/D,GAAI;YAEH;GACC"}
@@ -1,20 +1,20 @@
1
1
  import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import { HoverCard } from "radix-ui";
2
3
  import * as React$1 from "react";
3
- import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
4
4
 
5
5
  //#region src/components/ui/hover-card.client.d.ts
6
- declare function HoverCard({
6
+ declare function HoverCard$1({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime0.JSX.Element;
8
+ }: React$1.ComponentProps<typeof HoverCard.Root>): react_jsx_runtime0.JSX.Element;
9
9
  declare function HoverCardTrigger({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime0.JSX.Element;
11
+ }: React$1.ComponentProps<typeof HoverCard.Trigger>): react_jsx_runtime0.JSX.Element;
12
12
  declare function HoverCardContent({
13
13
  className,
14
14
  align,
15
15
  sideOffset,
16
16
  ...props
17
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime0.JSX.Element;
17
+ }: React$1.ComponentProps<typeof HoverCard.Content>): react_jsx_runtime0.JSX.Element;
18
18
  //#endregion
19
- export { HoverCard, HoverCardContent, HoverCardTrigger };
19
+ export { HoverCard$1 as HoverCard, HoverCardContent, HoverCardTrigger };
20
20
  //# sourceMappingURL=hover-card.client.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.client.d.mts","names":[],"sources":["../../../src/components/ui/hover-card.client.tsx"],"mappings":";;;;;iBAOS,SAAA,CAAA;EAAA,GAAe;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,gBAAA,CAAA;EAAA,GAAsB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAItF,gBAAA,CAAA;EACP,SAAA;EACA,KAAA;EACA,UAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"hover-card.client.d.mts","names":[],"sources":["../../../src/components/ui/hover-card.client.tsx"],"mappings":";;;;;iBAMS,WAAA,CAAA;EAAA,GAAe;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,gBAAA,CAAA;EAAA,GAAsB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAItF,gBAAA,CAAA;EACP,SAAA;EACA,KAAA;EACA,UAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -2,31 +2,34 @@
2
2
 
3
3
  import { cn } from "../../lib/utils/cn.mjs";
4
4
  import { jsx } from "react/jsx-runtime";
5
- import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
5
+ import { HoverCard } from "radix-ui";
6
6
 
7
7
  //#region src/components/ui/hover-card.client.tsx
8
- function HoverCard({ ...props }) {
9
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Root, {
8
+ function HoverCard$1({ ...props }) {
9
+ return /* @__PURE__ */ jsx(HoverCard.Root, {
10
10
  "data-slot": "hover-card",
11
11
  ...props
12
12
  });
13
13
  }
14
14
  function HoverCardTrigger({ ...props }) {
15
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Trigger, {
15
+ return /* @__PURE__ */ jsx(HoverCard.Trigger, {
16
16
  "data-slot": "hover-card-trigger",
17
17
  ...props
18
18
  });
19
19
  }
20
20
  function HoverCardContent({ className, align = "center", sideOffset = 4, ...props }) {
21
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Content, {
22
- "data-slot": "hover-card-content",
23
- align,
24
- sideOffset,
25
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 outline-hidden z-50 w-64 rounded-md border p-4 shadow-md", className),
26
- ...props
21
+ return /* @__PURE__ */ jsx(HoverCard.Portal, {
22
+ "data-slot": "hover-card-portal",
23
+ children: /* @__PURE__ */ jsx(HoverCard.Content, {
24
+ "data-slot": "hover-card-content",
25
+ align,
26
+ sideOffset,
27
+ className: cn("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-2.5 text-popover-foreground text-sm shadow-md outline-hidden ring-1 ring-foreground/10 duration-100 data-[state=closed]:animate-out data-[state=open]:animate-in", className),
28
+ ...props
29
+ })
27
30
  });
28
31
  }
29
32
 
30
33
  //#endregion
31
- export { HoverCard, HoverCardContent, HoverCardTrigger };
34
+ export { HoverCard$1 as HoverCard, HoverCardContent, HoverCardTrigger };
32
35
  //# sourceMappingURL=hover-card.client.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.client.mjs","names":[],"sources":["../../../src/components/ui/hover-card.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />;\n}\n\nfunction HoverCardContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 outline-hidden z-50 w-64 rounded-md border p-4 shadow-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n"],"mappings":";;;;;;;AAOA,SAAS,UAAU,EAAE,GAAG,SAA+D;AACrF,QAAO,oBAAC,mBAAmB;EAAK,aAAU;EAAa,GAAI;GAAS;;AAGtE,SAAS,iBAAiB,EAAE,GAAG,SAAkE;AAC/F,QAAO,oBAAC,mBAAmB;EAAQ,aAAU;EAAqB,GAAI;GAAS;;AAGjF,SAAS,iBAAiB,EACxB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACH;EACK;EACZ,WAAW,GACT,gbACA,UACD;EACD,GAAI;GACJ"}
1
+ {"version":3,"file":"hover-card.client.mjs","names":["HoverCard","HoverCardPrimitive"],"sources":["../../../src/components/ui/hover-card.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { HoverCard as HoverCardPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />;\n}\n\nfunction HoverCardContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-2.5 text-popover-foreground text-sm shadow-md outline-hidden ring-1 ring-foreground/10 duration-100 data-[state=closed]:animate-out data-[state=open]:animate-in\",\n className,\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;;AAMA,SAASA,YAAU,EAAE,GAAG,SAA+D;AACrF,QAAO,oBAACC,UAAmB;EAAK,aAAU;EAAa,GAAI;GAAS;;AAGtE,SAAS,iBAAiB,EAAE,GAAG,SAAkE;AAC/F,QAAO,oBAACA,UAAmB;EAAQ,aAAU;EAAqB,GAAI;GAAS;;AAGjF,SAAS,iBAAiB,EACxB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACuD;AAC1D,QACE,oBAACA,UAAmB;EAAO,aAAU;YACnC,oBAACA,UAAmB;GAClB,aAAU;GACH;GACK;GACZ,WAAW,GACT,+gBACA,UACD;GACD,GAAI;IACJ;GACwB"}
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
 
3
- //#region src/components/ui/input-date-time.d.ts
3
+ //#region src/components/ui/input-date-time.client.d.ts
4
4
  /**
5
5
  * DateTimeInput
6
6
  */
@@ -19,5 +19,5 @@ declare function DateTimeInput({
19
19
  ...props
20
20
  }: DateTimeInputProps): react_jsx_runtime0.JSX.Element;
21
21
  //#endregion
22
- export { DateTimeInput };
23
- //# sourceMappingURL=input-date-time.d.mts.map
22
+ export { DateTimeInput, DateTimeInputProps };
23
+ //# sourceMappingURL=input-date-time.client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-date-time.client.d.mts","names":[],"sources":["../../../src/components/ui/input-date-time.client.tsx"],"mappings":";;;;;;KASY,kBAAA,GAAqB,IAAA,CAC/B,KAAA,CAAM,cAAA;EAGN,YAAA,GAAe,IAAA;EACf,KAAA,GAAQ,IAAA;EACR,aAAA,IAAiB,IAAA;EACjB,WAAA,IAAe,IAAA;AAAA;AAAA,iBAGD,aAAA,CAAA;EACd,SAAA;EACA,aAAA;EACA,QAAA;EACA,WAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,11 @@
1
+ "use client";
2
+
1
3
  import { cn } from "../../lib/utils/cn.mjs";
2
4
  import { Input } from "./input.mjs";
3
5
  import { jsx } from "react/jsx-runtime";
4
6
  import { format } from "date-fns";
5
7
 
6
- //#region src/components/ui/input-date-time.tsx
8
+ //#region src/components/ui/input-date-time.client.tsx
7
9
  function DateTimeInput({ className, onValueChange, onChange, onValueBlur, onBlur, ...props }) {
8
10
  /**
9
11
  * Transform Date to string in the format "yyyy-MM-ddTHH:mm" for the input value. If the value is not a Date, use undefined.
@@ -29,4 +31,4 @@ function DateTimeInput({ className, onValueChange, onChange, onValueBlur, onBlur
29
31
 
30
32
  //#endregion
31
33
  export { DateTimeInput };
32
- //# sourceMappingURL=input-date-time.mjs.map
34
+ //# sourceMappingURL=input-date-time.client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-date-time.client.mjs","names":[],"sources":["../../../src/components/ui/input-date-time.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { format } from \"date-fns\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { Input } from \"./input\";\n\n/**\n * DateTimeInput\n */\nexport type DateTimeInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"type\" | \"value\" | \"defaultValue\"\n> & {\n defaultValue?: Date | string;\n value?: Date | string;\n onValueChange?: (date: string | undefined) => void;\n onValueBlur?: (date: string | undefined) => void;\n};\n\nexport function DateTimeInput({\n className,\n onValueChange,\n onChange,\n onValueBlur,\n onBlur,\n ...props\n}: DateTimeInputProps) {\n /**\n * Transform Date to string in the format \"yyyy-MM-ddTHH:mm\" for the input value. If the value is not a Date, use undefined.\n */\n const defaultValue =\n props.defaultValue instanceof Date\n ? format(props.defaultValue, \"yyyy-MM-dd'T'HH:mm\")\n : typeof props.defaultValue === \"string\"\n ? props.defaultValue\n : undefined;\n\n const value =\n props.value && props.value instanceof Date\n ? format(props.value, \"yyyy-MM-dd'T'HH:mm\")\n : typeof props.value === \"string\"\n ? props.value\n : undefined;\n\n return (\n <Input\n {...props}\n type=\"datetime-local\"\n defaultValue={defaultValue}\n value={value}\n onChange={(e) => {\n onValueChange?.(e.target.value ?? undefined);\n onChange?.(e);\n }}\n onBlur={(e) => {\n onValueBlur?.(e.target.value ?? undefined);\n onBlur?.(e);\n }}\n className={cn(\n \"appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none\",\n className,\n )}\n />\n );\n}\n"],"mappings":";;;;;;;;AAmBA,SAAgB,cAAc,EAC5B,WACA,eACA,UACA,aACA,QACA,GAAG,SACkB;;;;CAIrB,MAAM,eACJ,MAAM,wBAAwB,OAC1B,OAAO,MAAM,cAAc,qBAAqB,GAChD,OAAO,MAAM,iBAAiB,WAC5B,MAAM,eACN;CAER,MAAM,QACJ,MAAM,SAAS,MAAM,iBAAiB,OAClC,OAAO,MAAM,OAAO,qBAAqB,GACzC,OAAO,MAAM,UAAU,WACrB,MAAM,QACN;AAER,QACE,oBAAC;EACC,GAAI;EACJ,MAAK;EACS;EACP;EACP,WAAW,MAAM;AACf,mBAAgB,EAAE,OAAO,SAAS,OAAU;AAC5C,cAAW,EAAE;;EAEf,SAAS,MAAM;AACb,iBAAc,EAAE,OAAO,SAAS,OAAU;AAC1C,YAAS,EAAE;;EAEb,WAAW,GACT,wHACA,UACD;GACD"}
@@ -10,5 +10,5 @@ declare function DateInput({
10
10
  ...props
11
11
  }: DateInputProps): react_jsx_runtime0.JSX.Element;
12
12
  //#endregion
13
- export { DateInput };
13
+ export { DateInput, DateInputProps };
14
14
  //# sourceMappingURL=input-date.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-date.d.mts","names":[],"sources":["../../../src/components/ui/input-date.tsx"],"mappings":";;;;;;KAMK,cAAA,GAAiB,IAAA,CAAK,KAAA,CAAM,cAAA;AAAA,iBAEjB,SAAA,CAAA;EAAY,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"input-date.d.mts","names":[],"sources":["../../../src/components/ui/input-date.tsx"],"mappings":";;;;;;KAMY,cAAA,GAAiB,IAAA,CAAK,KAAA,CAAM,cAAA;AAAA,iBAExB,SAAA,CAAA;EAAY,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-date.mjs","names":[],"sources":["../../../src/components/ui/input-date.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils/cn\";\nimport { Input } from \"./input\";\n\n/**\n * DateInput\n */\ntype DateInputProps = Omit<React.ComponentProps<\"input\">, \"type\">;\n\nexport function DateInput({ className, ...props }: DateInputProps) {\n return (\n <Input\n {...props}\n type=\"date\"\n className={cn(\n \"appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none\",\n className,\n )}\n />\n );\n}\n"],"mappings":";;;;;AAQA,SAAgB,UAAU,EAAE,WAAW,GAAG,SAAyB;AACjE,QACE,oBAAC;EACC,GAAI;EACJ,MAAK;EACL,WAAW,GACT,wHACA,UACD;GACD"}
1
+ {"version":3,"file":"input-date.mjs","names":[],"sources":["../../../src/components/ui/input-date.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils/cn\";\nimport { Input } from \"./input\";\n\n/**\n * DateInput\n */\nexport type DateInputProps = Omit<React.ComponentProps<\"input\">, \"type\">;\n\nexport function DateInput({ className, ...props }: DateInputProps) {\n return (\n <Input\n {...props}\n type=\"date\"\n className={cn(\n \"appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none\",\n className,\n )}\n />\n );\n}\n"],"mappings":";;;;;AAQA,SAAgB,UAAU,EAAE,WAAW,GAAG,SAAyB;AACjE,QACE,oBAAC;EACC,GAAI;EACJ,MAAK;EACL,WAAW,GACT,wHACA,UACD;GACD"}
@@ -0,0 +1,59 @@
1
+ import { Button } from "./button.mjs";
2
+ import { DateTimeInputProps } from "./input-date-time.client.mjs";
3
+ import { DateInputProps } from "./input-date.mjs";
4
+ import { TimeInputProps } from "./input-time.mjs";
5
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
6
+ import { VariantProps } from "class-variance-authority";
7
+ import * as React$1 from "react";
8
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
9
+
10
+ //#region src/components/ui/input-group.client.d.ts
11
+ declare function InputGroup({
12
+ className,
13
+ ...props
14
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
15
+ declare const inputGroupAddonVariants: (props?: ({
16
+ align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
17
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
18
+ declare function InputGroupAddon({
19
+ className,
20
+ align,
21
+ ...props
22
+ }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime0.JSX.Element;
23
+ declare const inputGroupButtonVariants: (props?: ({
24
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
25
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
26
+ declare function InputGroupButton({
27
+ className,
28
+ type,
29
+ variant,
30
+ size,
31
+ ...props
32
+ }: Omit<React$1.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime0.JSX.Element;
33
+ declare function InputGroupText({
34
+ className,
35
+ ...props
36
+ }: React$1.ComponentProps<"span">): react_jsx_runtime0.JSX.Element;
37
+ declare function InputGroupInput({
38
+ className,
39
+ ...props
40
+ }: React$1.ComponentProps<"input">): react_jsx_runtime0.JSX.Element;
41
+ declare function InputGroupTextarea({
42
+ className,
43
+ ...props
44
+ }: React$1.ComponentProps<"textarea">): react_jsx_runtime0.JSX.Element;
45
+ declare function InputGroupTimeInput({
46
+ className,
47
+ ...props
48
+ }: TimeInputProps): react_jsx_runtime0.JSX.Element;
49
+ declare function InputGroupDateInput({
50
+ className,
51
+ ...props
52
+ }: DateInputProps): react_jsx_runtime0.JSX.Element;
53
+ declare function InputGroupDateTimeInput({
54
+ className,
55
+ ...props
56
+ }: DateTimeInputProps): react_jsx_runtime0.JSX.Element;
57
+ //#endregion
58
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupDateInput, InputGroupDateTimeInput, InputGroupInput, InputGroupText, InputGroupTextarea, InputGroupTimeInput };
59
+ //# sourceMappingURL=input-group.client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-group.client.d.mts","names":[],"sources":["../../../src/components/ui/input-group.client.tsx"],"mappings":";;;;;;;;;;iBAYS,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAelE,uBAAA,GAAuB,KAAA;;IAiB5B,+BAAA,CAAA,SAAA;AAAA,iBAEQ,eAAA,CAAA;EACP,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,uBAAA,IAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAoBvE,wBAAA,GAAwB,KAAA;;IAY5B,+BAAA,CAAA,SAAA;AAAA,iBAEO,gBAAA,CAAA;EACP,SAAA;EACA,IAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,IAAA,CAAK,OAAA,CAAM,cAAA,QAAsB,MAAA,aAClC,YAAA,QAAoB,wBAAA,IAAyB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYtC,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYpE,eAAA,CAAA;EAAkB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,YAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAatE,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,eAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAa5E,mBAAA,CAAA;EAAsB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAa3D,mBAAA,CAAA;EAAsB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAa3D,uBAAA,CAAA;EAA0B,SAAA;EAAA,GAAc;AAAA,GAAS,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}