@tulip-systems/core 0.4.1 → 0.5.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 (602) hide show
  1. package/dist/auth/client.d.mts +2 -2
  2. package/dist/auth/client.mjs +2 -2
  3. package/dist/commands/client.d.mts +3 -3
  4. package/dist/commands/client.mjs +3 -3
  5. package/dist/components/client.d.mts +3 -5
  6. package/dist/components/client.mjs +3 -5
  7. package/dist/components/common/icons.d.mts +52 -52
  8. package/dist/components/common/icons.d.mts.map +1 -1
  9. package/dist/components/common/status.d.mts +3 -3
  10. package/dist/components/common/status.d.mts.map +1 -1
  11. package/dist/components/editor/components/block-dropdown.mjs +28 -14
  12. package/dist/components/editor/components/block-dropdown.mjs.map +1 -1
  13. package/dist/components/editor/components/content.client.d.mts +2 -2
  14. package/dist/components/editor/components/content.client.mjs +1 -1
  15. package/dist/components/editor/components/content.client.mjs.map +1 -1
  16. package/dist/components/editor/components/editor.client.d.mts +48 -0
  17. package/dist/components/editor/components/editor.client.d.mts.map +1 -0
  18. package/dist/components/editor/components/editor.client.mjs +53 -0
  19. package/dist/components/editor/components/editor.client.mjs.map +1 -0
  20. package/dist/components/editor/components/menu-fixed.client.d.mts +7 -0
  21. package/dist/components/editor/components/menu-fixed.client.d.mts.map +1 -0
  22. package/dist/components/editor/components/{fixed-menu.client.mjs → menu-fixed.client.mjs} +21 -27
  23. package/dist/components/editor/components/menu-fixed.client.mjs.map +1 -0
  24. package/dist/components/editor/lib/constants.d.mts +60 -0
  25. package/dist/components/editor/lib/constants.d.mts.map +1 -0
  26. package/dist/components/editor/lib/constants.mjs +90 -0
  27. package/dist/components/editor/lib/constants.mjs.map +1 -0
  28. package/dist/components/editor/lib/extensions.d.mts +62 -0
  29. package/dist/components/editor/lib/extensions.d.mts.map +1 -0
  30. package/dist/components/editor/lib/extensions.mjs +52 -0
  31. package/dist/components/editor/lib/extensions.mjs.map +1 -0
  32. package/dist/components/editor/lib/helpers.mjs +3 -3
  33. package/dist/components/editor/lib/helpers.mjs.map +1 -1
  34. package/dist/components/editor/lib/variants.mjs +8 -0
  35. package/dist/components/editor/lib/variants.mjs.map +1 -0
  36. package/dist/components/header/back-button.client.d.mts +2 -2
  37. package/dist/components/header/bottom-bar.client.d.mts +3 -3
  38. package/dist/components/header/breadcrumbs.client.d.mts +7 -7
  39. package/dist/components/header/header.client.d.mts +2 -2
  40. package/dist/components/header/mobile-nav-switcher.client.d.mts +2 -2
  41. package/dist/components/header/top-bar.client.d.mts +4 -4
  42. package/dist/components/header/top-bar.client.mjs +1 -1
  43. package/dist/components/header/top-bar.client.mjs.map +1 -1
  44. package/dist/components/layouts/admin-content.client.d.mts +2 -2
  45. package/dist/components/layouts/admin-content.client.mjs +1 -1
  46. package/dist/components/layouts/admin-content.client.mjs.map +1 -1
  47. package/dist/components/layouts/admin-layout.d.mts +2 -2
  48. package/dist/components/layouts/admin-layout.d.mts.map +1 -1
  49. package/dist/components/layouts/admin-loading.d.mts +2 -2
  50. package/dist/components/layouts/admin-loading.d.mts.map +1 -1
  51. package/dist/components/layouts/empty-page.d.mts +4 -4
  52. package/dist/components/layouts/empty-page.d.mts.map +1 -1
  53. package/dist/components/layouts/list-layout.d.mts +2 -2
  54. package/dist/components/layouts/list-layout.d.mts.map +1 -1
  55. package/dist/components/layouts/not-found-page.d.mts +3 -3
  56. package/dist/components/layouts/not-found-page.d.mts.map +1 -1
  57. package/dist/components/layouts/providers.client.d.mts +2 -2
  58. package/dist/components/layouts/root-layout.server.d.mts +4 -4
  59. package/dist/components/layouts/root-layout.server.d.mts.map +1 -1
  60. package/dist/components/layouts/root-loading.d.mts +2 -2
  61. package/dist/components/layouts/root-loading.d.mts.map +1 -1
  62. package/dist/components/layouts/tab-layout.d.mts +2 -2
  63. package/dist/components/layouts/tab-layout.d.mts.map +1 -1
  64. package/dist/components/lists/data-list.d.mts +5 -5
  65. package/dist/components/lists/data-list.d.mts.map +1 -1
  66. package/dist/components/lists/data-stack.d.mts +8 -8
  67. package/dist/components/lists/data-stack.d.mts.map +1 -1
  68. package/dist/components/navigation/admin-sidebar-paths.client.d.mts +10 -10
  69. package/dist/components/ui/accordion.d.mts +5 -5
  70. package/dist/components/ui/alert-dialog.d.mts +12 -12
  71. package/dist/components/ui/alert.d.mts +4 -4
  72. package/dist/components/ui/aspect-ratio.d.mts +2 -2
  73. package/dist/components/ui/avatar.client.d.mts +4 -4
  74. package/dist/components/ui/badge.d.mts +2 -2
  75. package/dist/components/ui/breadcrumb.d.mts +8 -8
  76. package/dist/components/ui/button.d.mts +2 -2
  77. package/dist/components/ui/calendar.d.mts +17 -4
  78. package/dist/components/ui/calendar.d.mts.map +1 -1
  79. package/dist/components/ui/calendar.mjs +90 -37
  80. package/dist/components/ui/calendar.mjs.map +1 -1
  81. package/dist/components/ui/card.d.mts +7 -7
  82. package/dist/components/ui/carousel.d.mts +6 -6
  83. package/dist/components/ui/chart.client.d.mts +5 -5
  84. package/dist/components/ui/checkbox.d.mts +2 -2
  85. package/dist/components/ui/collapsible.client.d.mts +4 -4
  86. package/dist/components/ui/color-picker.client.d.mts +2 -2
  87. package/dist/components/ui/combobox-dropdown.client.d.mts +2 -2
  88. package/dist/components/ui/combobox.client.d.mts +2 -2
  89. package/dist/components/ui/command.d.mts +10 -10
  90. package/dist/components/ui/context-menu.d.mts +16 -16
  91. package/dist/components/ui/date-picker.client.d.mts +2 -2
  92. package/dist/components/ui/dialog.client.d.mts +11 -11
  93. package/dist/components/ui/drawer.client.d.mts +11 -11
  94. package/dist/components/ui/dropdown-menu.d.mts +16 -16
  95. package/dist/components/ui/form.client.d.mts +7 -7
  96. package/dist/components/ui/hover-card.client.d.mts +4 -4
  97. package/dist/components/ui/input-recipient.d.mts +5 -3
  98. package/dist/components/ui/input-recipient.d.mts.map +1 -1
  99. package/dist/components/ui/input-recipient.mjs +2 -2
  100. package/dist/components/ui/input-recipient.mjs.map +1 -1
  101. package/dist/components/ui/input.d.mts +2 -2
  102. package/dist/components/ui/label.d.mts +2 -2
  103. package/dist/components/ui/navigation-menu.d.mts +9 -9
  104. package/dist/components/ui/pagination.d.mts +8 -8
  105. package/dist/components/ui/popover.d.mts +5 -5
  106. package/dist/components/ui/progress.client.d.mts +2 -2
  107. package/dist/components/ui/radio-group.d.mts +3 -3
  108. package/dist/components/ui/resizable.client.d.mts +4 -4
  109. package/dist/components/ui/scroll-area.d.mts +3 -3
  110. package/dist/components/ui/select.client.d.mts +11 -11
  111. package/dist/components/ui/separator.d.mts +2 -2
  112. package/dist/components/ui/sheet.client.d.mts +9 -9
  113. package/dist/components/ui/sidebar.client.d.mts +26 -26
  114. package/dist/components/ui/skeleton.d.mts +2 -2
  115. package/dist/components/ui/slider.d.mts +2 -2
  116. package/dist/components/ui/sonner.client.d.mts +2 -2
  117. package/dist/components/ui/switch.d.mts +2 -2
  118. package/dist/components/ui/tabs.d.mts +5 -5
  119. package/dist/components/ui/textarea.d.mts +2 -2
  120. package/dist/components/ui/time-input.client.d.mts +2 -2
  121. package/dist/components/ui/toggle-group.client.d.mts +3 -3
  122. package/dist/components/ui/toggle.d.mts +4 -4
  123. package/dist/components/ui/toggle.d.mts.map +1 -1
  124. package/dist/components/ui/tooltip.client.d.mts +5 -5
  125. package/dist/components/ui/tooltip.client.d.mts.map +1 -1
  126. package/dist/components.d.mts +2 -2
  127. package/dist/components.mjs +2 -2
  128. package/dist/config/server.d.mts +1 -2
  129. package/dist/config/server.mjs +1 -2
  130. package/dist/data-tables.d.mts +6 -5
  131. package/dist/data-tables.mjs +4 -3
  132. package/dist/inline-edit/client.d.mts +4 -4
  133. package/dist/inline-edit/client.mjs +3 -3
  134. package/dist/lib/hooks/use-action.d.mts +2 -2
  135. package/dist/lib/hooks/use-indicator.d.mts +2 -2
  136. package/dist/lib.mjs +1 -1
  137. package/dist/modules/auth/components/allowed.client.d.mts +2 -2
  138. package/dist/modules/auth/components/allowed.client.d.mts.map +1 -1
  139. package/dist/modules/auth/components/auth-layout.server.d.mts +2 -2
  140. package/dist/modules/auth/components/auth-layout.server.d.mts.map +1 -1
  141. package/dist/modules/auth/components/auth-loading.d.mts +2 -2
  142. package/dist/modules/auth/components/auth-loading.d.mts.map +1 -1
  143. package/dist/modules/auth/components/create-first-user-page.client.d.mts +2 -2
  144. package/dist/modules/auth/components/create-first-user-page.client.d.mts.map +1 -1
  145. package/dist/modules/auth/components/forget-password-page.client.d.mts +2 -2
  146. package/dist/modules/auth/components/forget-password-page.client.d.mts.map +1 -1
  147. package/dist/modules/auth/components/guard-first-user.server.d.mts +2 -2
  148. package/dist/modules/auth/components/guard-first-user.server.d.mts.map +1 -1
  149. package/dist/modules/auth/components/guard.server.d.mts +2 -2
  150. package/dist/modules/auth/components/guard.server.d.mts.map +1 -1
  151. package/dist/modules/auth/components/login-page.client.d.mts +2 -2
  152. package/dist/modules/auth/components/login-page.client.d.mts.map +1 -1
  153. package/dist/modules/auth/components/reset-password-page.client.d.mts +2 -2
  154. package/dist/modules/auth/components/reset-password-page.client.d.mts.map +1 -1
  155. package/dist/modules/auth/components/update-password-command.d.mts +2 -2
  156. package/dist/modules/auth/components/update-password-command.d.mts.map +1 -1
  157. package/dist/modules/auth/db/schema.d.mts +247 -230
  158. package/dist/modules/auth/db/schema.d.mts.map +1 -1
  159. package/dist/modules/auth/db/schema.mjs +12 -20
  160. package/dist/modules/auth/db/schema.mjs.map +1 -1
  161. package/dist/modules/auth/handler/client.client.d.mts +129 -129
  162. package/dist/modules/auth/handler/client.client.d.mts.map +1 -1
  163. package/dist/modules/auth/handler/client.client.mjs +10 -6
  164. package/dist/modules/auth/handler/client.client.mjs.map +1 -1
  165. package/dist/modules/auth/handler/init.d.mts +134 -131
  166. package/dist/modules/auth/handler/init.d.mts.map +1 -1
  167. package/dist/modules/auth/handler/init.mjs +5 -2
  168. package/dist/modules/auth/handler/init.mjs.map +1 -1
  169. package/dist/modules/auth/hooks/use-permission.d.mts +2 -2
  170. package/dist/modules/auth/hooks/use-permission.d.mts.map +1 -1
  171. package/dist/modules/auth/hooks/use-permission.mjs +7 -2
  172. package/dist/modules/auth/hooks/use-permission.mjs.map +1 -1
  173. package/dist/modules/auth/hooks/use-session.d.mts +119 -3
  174. package/dist/modules/auth/hooks/use-session.d.mts.map +1 -1
  175. package/dist/modules/auth/hooks/use-session.mjs +15 -10
  176. package/dist/modules/auth/hooks/use-session.mjs.map +1 -1
  177. package/dist/modules/auth/lib/helpers.server.d.mts +5 -5
  178. package/dist/modules/auth/lib/helpers.server.d.mts.map +1 -1
  179. package/dist/modules/auth/lib/validators.d.mts +1 -1
  180. package/dist/modules/auth/lib/validators.d.mts.map +1 -1
  181. package/dist/modules/auth/lib/validators.mjs +1 -1
  182. package/dist/modules/auth/lib/validators.mjs.map +1 -1
  183. package/dist/modules/commands/components/alert-dialog-command.client.d.mts +10 -10
  184. package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
  185. package/dist/modules/commands/components/alert-dialog-command.client.mjs +2 -2
  186. package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
  187. package/dist/modules/commands/components/click-command.client.d.mts +2 -2
  188. package/dist/modules/commands/components/click-command.client.d.mts.map +1 -1
  189. package/dist/modules/commands/components/click-command.client.mjs +2 -2
  190. package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
  191. package/dist/modules/commands/components/command-trigger.client.d.mts +6 -6
  192. package/dist/modules/commands/components/command-trigger.client.d.mts.map +1 -1
  193. package/dist/modules/commands/components/dialog-command.client.d.mts +18 -8
  194. package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
  195. package/dist/modules/commands/components/dialog-command.client.mjs +12 -8
  196. package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
  197. package/dist/modules/commands/components/dropdown-command.client.d.mts +5 -5
  198. package/dist/modules/commands/components/dropdown-command.client.d.mts.map +1 -1
  199. package/dist/modules/commands/components/dropdown-command.client.mjs +2 -2
  200. package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
  201. package/dist/modules/commands/components/empty-command.client.d.mts +2 -2
  202. package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -11
  203. package/dist/modules/commands/components/form-dialog-command.client.mjs +2 -2
  204. package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
  205. package/dist/modules/commands/hooks/use-command-mutation.client.d.mts +17 -0
  206. package/dist/modules/commands/hooks/use-command-mutation.client.d.mts.map +1 -0
  207. package/dist/modules/commands/hooks/use-command-mutation.client.mjs +42 -0
  208. package/dist/modules/commands/hooks/use-command-mutation.client.mjs.map +1 -0
  209. package/dist/modules/commands/menus/context-menu.client.d.mts +2 -2
  210. package/dist/modules/commands/menus/dropdown-menu.client.d.mts +3 -3
  211. package/dist/modules/commands/menus/inline-menu.client.d.mts +3 -3
  212. package/dist/modules/commands/menus/responsive-menu.client.d.mts +3 -3
  213. package/dist/modules/commands/utils/archive-command.client.d.mts +3 -3
  214. package/dist/modules/commands/utils/delete-command.client.d.mts +13 -8
  215. package/dist/modules/commands/utils/delete-command.client.d.mts.map +1 -1
  216. package/dist/modules/commands/utils/delete-command.client.mjs +10 -1
  217. package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
  218. package/dist/modules/config/db/helpers.d.mts +5 -5
  219. package/dist/modules/config/db/helpers.d.mts.map +1 -1
  220. package/dist/modules/config/lib/config.d.mts +3 -3
  221. package/dist/modules/config/lib/config.d.mts.map +1 -1
  222. package/dist/modules/config/lib/config.mjs.map +1 -1
  223. package/dist/modules/config/lib/context.d.mts +2 -2
  224. package/dist/modules/config/lib/context.d.mts.map +1 -1
  225. package/dist/modules/config/lib/context.mjs.map +1 -1
  226. package/dist/modules/data-tables/components/cell/common.client.d.mts +5 -5
  227. package/dist/modules/data-tables/components/cell/common.client.d.mts.map +1 -1
  228. package/dist/modules/data-tables/components/column-header.d.mts +2 -2
  229. package/dist/modules/data-tables/components/filters/combobox.client.d.mts +2 -2
  230. package/dist/modules/data-tables/components/filters/combobox.client.d.mts.map +1 -1
  231. package/dist/modules/data-tables/components/filters/combobox.client.mjs +5 -2
  232. package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
  233. package/dist/modules/data-tables/components/filters/slider.client.d.mts +2 -2
  234. package/dist/modules/data-tables/components/filters/slider.client.d.mts.map +1 -1
  235. package/dist/modules/data-tables/components/header.d.mts +4 -4
  236. package/dist/modules/data-tables/components/layout.d.mts +2 -2
  237. package/dist/modules/data-tables/components/layout.d.mts.map +1 -1
  238. package/dist/modules/data-tables/components/search-input.client.d.mts +2 -2
  239. package/dist/modules/data-tables/components/search-input.client.d.mts.map +1 -1
  240. package/dist/modules/data-tables/components/skeleton.d.mts +2 -2
  241. package/dist/modules/data-tables/components/skeleton.d.mts.map +1 -1
  242. package/dist/modules/data-tables/components/table.d.mts +7 -7
  243. package/dist/modules/data-tables/components/table.d.mts.map +1 -1
  244. package/dist/modules/data-tables/components/toolbar.d.mts +3 -3
  245. package/dist/modules/data-tables/components/toolbar.d.mts.map +1 -1
  246. package/dist/modules/data-tables/hooks/use-context.client.d.mts +13 -10
  247. package/dist/modules/data-tables/hooks/use-context.client.d.mts.map +1 -1
  248. package/dist/modules/data-tables/hooks/use-context.client.mjs.map +1 -1
  249. package/dist/modules/data-tables/hooks/use-table.client.d.mts +2 -1
  250. package/dist/modules/data-tables/hooks/use-table.client.d.mts.map +1 -1
  251. package/dist/modules/data-tables/hooks/use-table.client.mjs.map +1 -1
  252. package/dist/modules/data-tables/lib/converters/search.d.mts +1 -1
  253. package/dist/modules/data-tables/lib/converters/sorting.d.mts +1 -1
  254. package/dist/modules/data-tables/lib/filters/config.d.mts +4 -1
  255. package/dist/modules/data-tables/lib/filters/config.d.mts.map +1 -1
  256. package/dist/modules/data-tables/lib/filters/config.mjs.map +1 -1
  257. package/dist/modules/data-tables/lib/filters/helpers.d.mts +11 -0
  258. package/dist/modules/data-tables/lib/filters/helpers.d.mts.map +1 -0
  259. package/dist/modules/data-tables/lib/filters/helpers.mjs +17 -0
  260. package/dist/modules/data-tables/lib/filters/helpers.mjs.map +1 -0
  261. package/dist/modules/data-tables/lib/filters/parsers.d.mts +7 -2
  262. package/dist/modules/data-tables/lib/filters/parsers.d.mts.map +1 -1
  263. package/dist/modules/data-tables/lib/filters/parsers.mjs +6 -1
  264. package/dist/modules/data-tables/lib/filters/parsers.mjs.map +1 -1
  265. package/dist/modules/data-tables/lib/filters/resolvers.d.mts +6 -1
  266. package/dist/modules/data-tables/lib/filters/resolvers.d.mts.map +1 -1
  267. package/dist/modules/data-tables/lib/filters/resolvers.mjs +8 -1
  268. package/dist/modules/data-tables/lib/filters/resolvers.mjs.map +1 -1
  269. package/dist/modules/data-tables/lib/types.d.mts +8 -5
  270. package/dist/modules/data-tables/lib/types.d.mts.map +1 -1
  271. package/dist/modules/data-tables/server/get-data.server.d.mts +1 -1
  272. package/dist/modules/data-tables/tables/data-table/components/table.d.mts +2 -2
  273. package/dist/modules/data-tables/tables/data-table/components/table.d.mts.map +1 -1
  274. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts +2 -2
  275. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts.map +1 -1
  276. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +2 -2
  277. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts.map +1 -1
  278. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -1
  279. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
  280. package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.mts +2 -2
  281. package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.mts.map +1 -1
  282. package/dist/modules/data-tables/tables/inline-table/components/inputs/combobox.client.d.mts +2 -2
  283. package/dist/modules/data-tables/tables/inline-table/components/inputs/combobox.client.d.mts.map +1 -1
  284. package/dist/modules/data-tables/tables/inline-table/components/inputs/input.client.d.mts +3 -3
  285. package/dist/modules/data-tables/tables/inline-table/components/inputs/input.client.d.mts.map +1 -1
  286. package/dist/modules/data-tables/tables/inline-table/components/inputs/read-only.d.mts +2 -2
  287. package/dist/modules/data-tables/tables/inline-table/components/inputs/read-only.d.mts.map +1 -1
  288. package/dist/modules/data-tables/tables/inline-table/components/inputs/select.client.d.mts +2 -2
  289. package/dist/modules/data-tables/tables/inline-table/components/inputs/select.client.d.mts.map +1 -1
  290. package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +2 -2
  291. package/dist/modules/data-tables/tables/inline-table/components/table.d.mts.map +1 -1
  292. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +2 -2
  293. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts.map +1 -1
  294. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +5 -2
  295. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts.map +1 -1
  296. package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +7 -3
  297. package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +1 -1
  298. package/dist/modules/inline-edit/components/combobox.client.d.mts +5 -2
  299. package/dist/modules/inline-edit/components/combobox.client.d.mts.map +1 -1
  300. package/dist/modules/inline-edit/components/combobox.client.mjs +6 -2
  301. package/dist/modules/inline-edit/components/combobox.client.mjs.map +1 -1
  302. package/dist/modules/inline-edit/components/date-input.client.d.mts +6 -3
  303. package/dist/modules/inline-edit/components/date-input.client.d.mts.map +1 -1
  304. package/dist/modules/inline-edit/components/date-input.client.mjs +5 -3
  305. package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
  306. package/dist/modules/inline-edit/components/date-picker.client.d.mts +7 -3
  307. package/dist/modules/inline-edit/components/date-picker.client.d.mts.map +1 -1
  308. package/dist/modules/inline-edit/components/date-picker.client.mjs +5 -3
  309. package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
  310. package/dist/modules/inline-edit/components/deprecated-editor.client.d.mts +21 -0
  311. package/dist/modules/inline-edit/components/deprecated-editor.client.d.mts.map +1 -0
  312. package/dist/modules/inline-edit/components/deprecated-editor.client.mjs +37 -0
  313. package/dist/modules/inline-edit/components/deprecated-editor.client.mjs.map +1 -0
  314. package/dist/modules/inline-edit/components/editor.client.d.mts +10 -7
  315. package/dist/modules/inline-edit/components/editor.client.d.mts.map +1 -1
  316. package/dist/modules/inline-edit/components/editor.client.mjs +13 -18
  317. package/dist/modules/inline-edit/components/editor.client.mjs.map +1 -1
  318. package/dist/modules/inline-edit/components/input-recipient.client.d.mts +4 -2
  319. package/dist/modules/inline-edit/components/input-recipient.client.d.mts.map +1 -1
  320. package/dist/modules/inline-edit/components/input-recipient.client.mjs +7 -3
  321. package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +1 -1
  322. package/dist/modules/inline-edit/components/input-toggle.client.d.mts +3 -2
  323. package/dist/modules/inline-edit/components/input-toggle.client.d.mts.map +1 -1
  324. package/dist/modules/inline-edit/components/input-toggle.client.mjs +3 -2
  325. package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
  326. package/dist/modules/inline-edit/components/input.client.d.mts +18 -4
  327. package/dist/modules/inline-edit/components/input.client.d.mts.map +1 -1
  328. package/dist/modules/inline-edit/components/input.client.mjs +26 -5
  329. package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
  330. package/dist/modules/inline-edit/components/select.client.d.mts +8 -6
  331. package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
  332. package/dist/modules/inline-edit/components/select.client.mjs +3 -2
  333. package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
  334. package/dist/modules/inline-edit/components/switch.client.d.mts +3 -2
  335. package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
  336. package/dist/modules/inline-edit/components/switch.client.mjs +3 -2
  337. package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
  338. package/dist/modules/inline-edit/components/toggle.client.d.mts +3 -2
  339. package/dist/modules/inline-edit/components/toggle.client.d.mts.map +1 -1
  340. package/dist/modules/inline-edit/components/toggle.client.mjs +3 -2
  341. package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
  342. package/dist/modules/inline-edit/hooks/context.client.d.mts +2 -2
  343. package/dist/modules/inline-edit/hooks/context.client.d.mts.map +1 -1
  344. package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +1 -1
  345. package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +1 -1
  346. package/dist/modules/inline-edit/lib/variants.d.mts +3 -3
  347. package/dist/modules/inline-edit/lib/variants.mjs +1 -1
  348. package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
  349. package/dist/modules/router/handler/context.server.d.mts +2 -2
  350. package/dist/modules/router/handler/context.server.d.mts.map +1 -1
  351. package/dist/modules/router/handler/init.server.d.mts +7 -7
  352. package/dist/modules/router/lib/query-client.server.d.mts +2 -2
  353. package/dist/modules/router/lib/query-client.server.d.mts.map +1 -1
  354. package/dist/modules/{uploads/components/dropzone/context.d.mts → storage/components/dropzone-context.client.d.mts} +2 -2
  355. package/dist/modules/storage/components/dropzone-context.client.d.mts.map +1 -0
  356. package/dist/modules/{uploads/components/dropzone/context.mjs → storage/components/dropzone-context.client.mjs} +2 -2
  357. package/dist/modules/storage/components/dropzone-context.client.mjs.map +1 -0
  358. package/dist/modules/{uploads/components/dropzone/index.d.mts → storage/components/dropzone.client.d.mts} +7 -7
  359. package/dist/modules/storage/components/dropzone.client.d.mts.map +1 -0
  360. package/dist/modules/{uploads/components/dropzone/index.mjs → storage/components/dropzone.client.mjs} +6 -6
  361. package/dist/modules/storage/components/dropzone.client.mjs.map +1 -0
  362. package/dist/modules/storage/components/image-grid.client.d.mts +26 -0
  363. package/dist/modules/storage/components/image-grid.client.d.mts.map +1 -0
  364. package/dist/modules/storage/components/image-grid.client.mjs +169 -0
  365. package/dist/modules/storage/components/image-grid.client.mjs.map +1 -0
  366. package/dist/modules/storage/components/upload-zone-context.client.d.mts +34 -0
  367. package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +1 -0
  368. package/dist/modules/storage/components/upload-zone-context.client.mjs +21 -0
  369. package/dist/modules/storage/components/upload-zone-context.client.mjs.map +1 -0
  370. package/dist/modules/storage/components/upload-zone.client.d.mts +51 -0
  371. package/dist/modules/storage/components/upload-zone.client.d.mts.map +1 -0
  372. package/dist/modules/storage/components/upload-zone.client.mjs +196 -0
  373. package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -0
  374. package/dist/modules/{uploads/lib → storage/config}/filters.d.mts +2 -2
  375. package/dist/modules/storage/config/filters.d.mts.map +1 -0
  376. package/dist/modules/{uploads/lib → storage/config}/filters.mjs +3 -3
  377. package/dist/modules/storage/config/filters.mjs.map +1 -0
  378. package/dist/modules/storage/lib/constants.d.mts +10 -0
  379. package/dist/modules/storage/lib/constants.d.mts.map +1 -0
  380. package/dist/modules/{uploads → storage}/lib/constants.mjs +3 -2
  381. package/dist/modules/storage/lib/constants.mjs.map +1 -0
  382. package/dist/modules/storage/lib/create-client.server.d.mts +11 -0
  383. package/dist/modules/storage/lib/create-client.server.d.mts.map +1 -0
  384. package/dist/modules/storage/lib/create-client.server.mjs +11 -0
  385. package/dist/modules/storage/lib/create-client.server.mjs.map +1 -0
  386. package/dist/modules/storage/lib/helpers.d.mts +45 -0
  387. package/dist/modules/storage/lib/helpers.d.mts.map +1 -0
  388. package/dist/modules/{uploads → storage}/lib/helpers.mjs +20 -6
  389. package/dist/modules/storage/lib/helpers.mjs.map +1 -0
  390. package/dist/modules/storage/lib/proxy.server.d.mts +21 -0
  391. package/dist/modules/storage/lib/proxy.server.d.mts.map +1 -0
  392. package/dist/modules/storage/lib/proxy.server.mjs +46 -0
  393. package/dist/modules/storage/lib/proxy.server.mjs.map +1 -0
  394. package/dist/modules/storage/lib/router.server.d.mts +29074 -0
  395. package/dist/modules/storage/lib/router.server.d.mts.map +1 -0
  396. package/dist/modules/storage/lib/router.server.mjs +83 -0
  397. package/dist/modules/storage/lib/router.server.mjs.map +1 -0
  398. package/dist/modules/{uploads → storage}/lib/schema.d.mts +414 -150
  399. package/dist/modules/storage/lib/schema.d.mts.map +1 -0
  400. package/dist/modules/{uploads → storage}/lib/schema.mjs +23 -18
  401. package/dist/modules/storage/lib/schema.mjs.map +1 -0
  402. package/dist/modules/storage/lib/service.server.d.mts +188 -0
  403. package/dist/modules/storage/lib/service.server.d.mts.map +1 -0
  404. package/dist/modules/storage/lib/service.server.mjs +297 -0
  405. package/dist/modules/storage/lib/service.server.mjs.map +1 -0
  406. package/dist/modules/{uploads → storage}/lib/validators.d.mts +413 -108
  407. package/dist/modules/storage/lib/validators.d.mts.map +1 -0
  408. package/dist/modules/storage/lib/validators.mjs +106 -0
  409. package/dist/modules/storage/lib/validators.mjs.map +1 -0
  410. package/dist/storage/client.d.mts +6 -0
  411. package/dist/storage/client.mjs +14 -0
  412. package/dist/storage/client.mjs.map +1 -0
  413. package/dist/storage/server.d.mts +4 -0
  414. package/dist/storage/server.mjs +5 -0
  415. package/dist/storage.d.mts +6 -0
  416. package/dist/storage.mjs +7 -0
  417. package/package.json +32 -20
  418. package/src/components/editor/components/block-dropdown.tsx +43 -25
  419. package/src/components/editor/components/content.client.tsx +1 -1
  420. package/src/components/editor/components/editor.client.tsx +95 -0
  421. package/src/components/editor/components/menu-fixed.client.tsx +165 -0
  422. package/src/components/editor/components/spinner.tsx +2 -2
  423. package/src/components/editor/lib/constants.ts +109 -0
  424. package/src/components/editor/lib/extensions.ts +195 -0
  425. package/src/components/editor/lib/helpers.ts +3 -3
  426. package/src/components/editor/lib/variants.ts +5 -0
  427. package/src/components/entry.client.ts +2 -4
  428. package/src/components/header/top-bar.client.tsx +1 -1
  429. package/src/components/layouts/admin-content.client.tsx +1 -1
  430. package/src/components/ui/calendar.tsx +152 -44
  431. package/src/components/ui/input-recipient.tsx +3 -0
  432. package/src/entry.ts +4 -4
  433. package/src/modules/auth/db/schema.ts +13 -21
  434. package/src/modules/auth/handler/client.client.ts +2 -0
  435. package/src/modules/auth/handler/init.ts +4 -1
  436. package/src/modules/auth/hooks/use-permission.ts +3 -2
  437. package/src/modules/auth/hooks/use-session.ts +16 -10
  438. package/src/modules/auth/lib/validators.ts +1 -1
  439. package/src/modules/commands/components/alert-dialog-command.client.tsx +2 -2
  440. package/src/modules/commands/components/click-command.client.tsx +2 -2
  441. package/src/modules/commands/components/dialog-command.client.tsx +20 -8
  442. package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
  443. package/src/modules/commands/components/form-dialog-command.client.tsx +2 -2
  444. package/src/modules/commands/entry.client.ts +1 -1
  445. package/src/modules/commands/hooks/{use-command-action.client.tsx → use-command-mutation.client.tsx} +9 -47
  446. package/src/modules/commands/utils/delete-command.client.tsx +14 -2
  447. package/src/modules/config/db/create-client.ts +11 -4
  448. package/src/modules/config/entry.server.ts +0 -1
  449. package/src/modules/config/lib/config.ts +3 -3
  450. package/src/modules/config/lib/context.ts +2 -2
  451. package/src/modules/data-tables/components/filters/combobox.client.tsx +3 -3
  452. package/src/modules/data-tables/entry.ts +1 -1
  453. package/src/modules/data-tables/hooks/use-context.client.tsx +31 -13
  454. package/src/modules/data-tables/hooks/use-table.client.ts +6 -3
  455. package/src/modules/data-tables/lib/filters/config.ts +1 -0
  456. package/src/modules/data-tables/lib/filters/helpers.ts +19 -0
  457. package/src/modules/data-tables/lib/filters/parsers.ts +14 -1
  458. package/src/modules/data-tables/lib/filters/resolvers.ts +8 -0
  459. package/src/modules/data-tables/lib/types.ts +10 -3
  460. package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +1 -1
  461. package/src/modules/inline-edit/components/combobox-dropdown.client.tsx +9 -2
  462. package/src/modules/inline-edit/components/combobox.client.tsx +8 -1
  463. package/src/modules/inline-edit/components/date-input.client.tsx +7 -3
  464. package/src/modules/inline-edit/components/date-picker.client.tsx +10 -3
  465. package/src/modules/inline-edit/components/deprecated-editor.client.tsx +48 -0
  466. package/src/modules/inline-edit/components/editor.client.tsx +32 -29
  467. package/src/modules/inline-edit/components/input-recipient.client.tsx +6 -2
  468. package/src/modules/inline-edit/components/input-toggle.client.tsx +2 -0
  469. package/src/modules/inline-edit/components/input.client.tsx +39 -0
  470. package/src/modules/inline-edit/components/select.client.tsx +9 -2
  471. package/src/modules/inline-edit/components/switch.client.tsx +2 -0
  472. package/src/modules/inline-edit/components/toggle.client.tsx +2 -0
  473. package/src/modules/inline-edit/entry.client.ts +1 -1
  474. package/src/modules/inline-edit/hooks/use-inline.client.tsx +2 -2
  475. package/src/modules/inline-edit/lib/variants.ts +1 -1
  476. package/src/modules/{uploads/components/dropzone/index.tsx → storage/components/dropzone.client.tsx} +2 -2
  477. package/src/modules/storage/components/image-grid.client.tsx +225 -0
  478. package/src/modules/{uploads/components/button.client.tsx → storage/components/upload-button.client.tsx} +1 -1
  479. package/src/modules/storage/components/upload-zone-context.client.tsx +32 -0
  480. package/src/modules/storage/components/upload-zone.client.tsx +258 -0
  481. package/src/modules/{uploads/lib → storage/config}/filters.ts +2 -2
  482. package/src/modules/storage/entry.client.ts +12 -0
  483. package/src/modules/storage/entry.server.ts +6 -0
  484. package/src/modules/{uploads → storage}/entry.ts +1 -1
  485. package/src/modules/storage/lib/constants.ts +14 -0
  486. package/src/modules/storage/lib/create-client.server.ts +14 -0
  487. package/src/modules/{uploads → storage}/lib/helpers.ts +23 -9
  488. package/src/modules/storage/lib/proxy.server.ts +63 -0
  489. package/src/modules/storage/lib/router.server.ts +174 -0
  490. package/src/modules/{uploads → storage}/lib/schema.ts +34 -13
  491. package/src/modules/storage/lib/service.server.ts +463 -0
  492. package/src/modules/storage/lib/validators.ts +156 -0
  493. package/dist/components/editor/components/fixed-menu.client.d.mts +0 -7
  494. package/dist/components/editor/components/fixed-menu.client.d.mts.map +0 -1
  495. package/dist/components/editor/components/fixed-menu.client.mjs.map +0 -1
  496. package/dist/components/editor/context.client.d.mts +0 -33
  497. package/dist/components/editor/context.client.d.mts.map +0 -1
  498. package/dist/components/editor/context.client.mjs +0 -45
  499. package/dist/components/editor/context.client.mjs.map +0 -1
  500. package/dist/components/editor/index.client.d.mts +0 -11
  501. package/dist/components/editor/index.client.d.mts.map +0 -1
  502. package/dist/components/editor/index.client.mjs +0 -17
  503. package/dist/components/editor/index.client.mjs.map +0 -1
  504. package/dist/components/editor/preview.client.d.mts +0 -12
  505. package/dist/components/editor/preview.client.d.mts.map +0 -1
  506. package/dist/components/editor/preview.client.mjs +0 -19
  507. package/dist/components/editor/preview.client.mjs.map +0 -1
  508. package/dist/modules/commands/hooks/use-command-action.client.d.mts +0 -22
  509. package/dist/modules/commands/hooks/use-command-action.client.d.mts.map +0 -1
  510. package/dist/modules/commands/hooks/use-command-action.client.mjs +0 -74
  511. package/dist/modules/commands/hooks/use-command-action.client.mjs.map +0 -1
  512. package/dist/modules/config/providers/blob.d.mts +0 -10
  513. package/dist/modules/config/providers/blob.d.mts.map +0 -1
  514. package/dist/modules/config/providers/blob.mjs +0 -11
  515. package/dist/modules/config/providers/blob.mjs.map +0 -1
  516. package/dist/modules/inline-edit/components/richtext.client.d.mts +0 -15
  517. package/dist/modules/inline-edit/components/richtext.client.d.mts.map +0 -1
  518. package/dist/modules/inline-edit/components/richtext.client.mjs +0 -31
  519. package/dist/modules/inline-edit/components/richtext.client.mjs.map +0 -1
  520. package/dist/modules/uploads/components/button.client.d.mts +0 -12
  521. package/dist/modules/uploads/components/button.client.d.mts.map +0 -1
  522. package/dist/modules/uploads/components/button.client.mjs +0 -34
  523. package/dist/modules/uploads/components/button.client.mjs.map +0 -1
  524. package/dist/modules/uploads/components/dropzone/context.d.mts.map +0 -1
  525. package/dist/modules/uploads/components/dropzone/context.mjs.map +0 -1
  526. package/dist/modules/uploads/components/dropzone/index.d.mts.map +0 -1
  527. package/dist/modules/uploads/components/dropzone/index.mjs.map +0 -1
  528. package/dist/modules/uploads/components/images/grid.client.d.mts +0 -11
  529. package/dist/modules/uploads/components/images/grid.client.d.mts.map +0 -1
  530. package/dist/modules/uploads/components/images/grid.client.mjs +0 -119
  531. package/dist/modules/uploads/components/images/grid.client.mjs.map +0 -1
  532. package/dist/modules/uploads/components/images/input.client.d.mts +0 -16
  533. package/dist/modules/uploads/components/images/input.client.d.mts.map +0 -1
  534. package/dist/modules/uploads/components/images/input.client.mjs +0 -28
  535. package/dist/modules/uploads/components/images/input.client.mjs.map +0 -1
  536. package/dist/modules/uploads/components/preview-dialog.client.d.mts +0 -16
  537. package/dist/modules/uploads/components/preview-dialog.client.d.mts.map +0 -1
  538. package/dist/modules/uploads/components/preview-dialog.client.mjs +0 -22
  539. package/dist/modules/uploads/components/preview-dialog.client.mjs.map +0 -1
  540. package/dist/modules/uploads/components/zone.client.d.mts +0 -21
  541. package/dist/modules/uploads/components/zone.client.d.mts.map +0 -1
  542. package/dist/modules/uploads/components/zone.client.mjs +0 -38
  543. package/dist/modules/uploads/components/zone.client.mjs.map +0 -1
  544. package/dist/modules/uploads/hooks/use-upload-image.client.d.mts +0 -34
  545. package/dist/modules/uploads/hooks/use-upload-image.client.d.mts.map +0 -1
  546. package/dist/modules/uploads/hooks/use-upload-image.client.mjs +0 -101
  547. package/dist/modules/uploads/hooks/use-upload-image.client.mjs.map +0 -1
  548. package/dist/modules/uploads/hooks/use-upload-zone.client.d.mts +0 -39
  549. package/dist/modules/uploads/hooks/use-upload-zone.client.d.mts.map +0 -1
  550. package/dist/modules/uploads/hooks/use-upload-zone.client.mjs +0 -20
  551. package/dist/modules/uploads/hooks/use-upload-zone.client.mjs.map +0 -1
  552. package/dist/modules/uploads/lib/constants.d.mts +0 -9
  553. package/dist/modules/uploads/lib/constants.d.mts.map +0 -1
  554. package/dist/modules/uploads/lib/constants.mjs.map +0 -1
  555. package/dist/modules/uploads/lib/filters.d.mts.map +0 -1
  556. package/dist/modules/uploads/lib/filters.mjs.map +0 -1
  557. package/dist/modules/uploads/lib/helpers.d.mts +0 -36
  558. package/dist/modules/uploads/lib/helpers.d.mts.map +0 -1
  559. package/dist/modules/uploads/lib/helpers.mjs.map +0 -1
  560. package/dist/modules/uploads/lib/procedures.server.d.mts +0 -13628
  561. package/dist/modules/uploads/lib/procedures.server.d.mts.map +0 -1
  562. package/dist/modules/uploads/lib/procedures.server.mjs +0 -176
  563. package/dist/modules/uploads/lib/procedures.server.mjs.map +0 -1
  564. package/dist/modules/uploads/lib/proxy.server.d.mts +0 -54
  565. package/dist/modules/uploads/lib/proxy.server.d.mts.map +0 -1
  566. package/dist/modules/uploads/lib/proxy.server.mjs +0 -97
  567. package/dist/modules/uploads/lib/proxy.server.mjs.map +0 -1
  568. package/dist/modules/uploads/lib/route.server.d.mts +0 -43
  569. package/dist/modules/uploads/lib/route.server.d.mts.map +0 -1
  570. package/dist/modules/uploads/lib/route.server.mjs +0 -70
  571. package/dist/modules/uploads/lib/route.server.mjs.map +0 -1
  572. package/dist/modules/uploads/lib/schema.d.mts.map +0 -1
  573. package/dist/modules/uploads/lib/schema.mjs.map +0 -1
  574. package/dist/modules/uploads/lib/validators.d.mts.map +0 -1
  575. package/dist/modules/uploads/lib/validators.mjs +0 -26
  576. package/dist/modules/uploads/lib/validators.mjs.map +0 -1
  577. package/dist/uploads/client.d.mts +0 -10
  578. package/dist/uploads/client.mjs +0 -11
  579. package/dist/uploads/server.d.mts +0 -4
  580. package/dist/uploads/server.mjs +0 -5
  581. package/dist/uploads.d.mts +0 -6
  582. package/dist/uploads.mjs +0 -7
  583. package/src/components/editor/components/fixed-menu.client.tsx +0 -143
  584. package/src/components/editor/context.client.tsx +0 -116
  585. package/src/components/editor/index.client.tsx +0 -13
  586. package/src/components/editor/preview.client.tsx +0 -13
  587. package/src/modules/config/providers/blob.ts +0 -11
  588. package/src/modules/inline-edit/components/richtext.client.tsx +0 -38
  589. package/src/modules/uploads/components/images/grid.client.tsx +0 -162
  590. package/src/modules/uploads/components/images/input.client.tsx +0 -34
  591. package/src/modules/uploads/components/preview-dialog.client.tsx +0 -21
  592. package/src/modules/uploads/components/zone.client.tsx +0 -56
  593. package/src/modules/uploads/entry.client.ts +0 -16
  594. package/src/modules/uploads/entry.server.ts +0 -6
  595. package/src/modules/uploads/hooks/use-upload-image.client.tsx +0 -131
  596. package/src/modules/uploads/hooks/use-upload-zone.client.ts +0 -44
  597. package/src/modules/uploads/lib/constants.ts +0 -10
  598. package/src/modules/uploads/lib/procedures.server.ts +0 -332
  599. package/src/modules/uploads/lib/proxy.server.ts +0 -139
  600. package/src/modules/uploads/lib/route.server.ts +0 -93
  601. package/src/modules/uploads/lib/validators.ts +0 -50
  602. /package/src/modules/{uploads/components/dropzone/context.tsx → storage/components/dropzone-context.client.tsx} +0 -0
@@ -1,26 +1,26 @@
1
- import * as react_jsx_runtime316 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime151 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
4
4
 
5
5
  //#region src/components/ui/context-menu.d.ts
6
6
  declare function ContextMenu({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Root>): react_jsx_runtime316.JSX.Element;
8
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Root>): react_jsx_runtime151.JSX.Element;
9
9
  declare function ContextMenuTrigger({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Trigger>): react_jsx_runtime316.JSX.Element;
11
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Trigger>): react_jsx_runtime151.JSX.Element;
12
12
  declare function ContextMenuGroup({
13
13
  ...props
14
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Group>): react_jsx_runtime316.JSX.Element;
14
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Group>): react_jsx_runtime151.JSX.Element;
15
15
  declare function ContextMenuPortal({
16
16
  ...props
17
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Portal>): react_jsx_runtime316.JSX.Element;
17
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Portal>): react_jsx_runtime151.JSX.Element;
18
18
  declare function ContextMenuSub({
19
19
  ...props
20
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Sub>): react_jsx_runtime316.JSX.Element;
20
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Sub>): react_jsx_runtime151.JSX.Element;
21
21
  declare function ContextMenuRadioGroup({
22
22
  ...props
23
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): react_jsx_runtime316.JSX.Element;
23
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): react_jsx_runtime151.JSX.Element;
24
24
  declare function ContextMenuSubTrigger({
25
25
  className,
26
26
  inset,
@@ -28,15 +28,15 @@ declare function ContextMenuSubTrigger({
28
28
  ...props
29
29
  }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
30
30
  inset?: boolean;
31
- }): react_jsx_runtime316.JSX.Element;
31
+ }): react_jsx_runtime151.JSX.Element;
32
32
  declare function ContextMenuSubContent({
33
33
  className,
34
34
  ...props
35
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubContent>): react_jsx_runtime316.JSX.Element;
35
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubContent>): react_jsx_runtime151.JSX.Element;
36
36
  declare function ContextMenuContent({
37
37
  className,
38
38
  ...props
39
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Content>): react_jsx_runtime316.JSX.Element;
39
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Content>): react_jsx_runtime151.JSX.Element;
40
40
  declare function ContextMenuItem({
41
41
  className,
42
42
  inset,
@@ -45,33 +45,33 @@ declare function ContextMenuItem({
45
45
  }: React$1.ComponentProps<typeof ContextMenuPrimitive.Item> & {
46
46
  inset?: boolean;
47
47
  variant?: "default" | "destructive";
48
- }): react_jsx_runtime316.JSX.Element;
48
+ }): react_jsx_runtime151.JSX.Element;
49
49
  declare function ContextMenuCheckboxItem({
50
50
  className,
51
51
  children,
52
52
  checked,
53
53
  ...props
54
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): react_jsx_runtime316.JSX.Element;
54
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): react_jsx_runtime151.JSX.Element;
55
55
  declare function ContextMenuRadioItem({
56
56
  className,
57
57
  children,
58
58
  ...props
59
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioItem>): react_jsx_runtime316.JSX.Element;
59
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioItem>): react_jsx_runtime151.JSX.Element;
60
60
  declare function ContextMenuLabel({
61
61
  className,
62
62
  inset,
63
63
  ...props
64
64
  }: React$1.ComponentProps<typeof ContextMenuPrimitive.Label> & {
65
65
  inset?: boolean;
66
- }): react_jsx_runtime316.JSX.Element;
66
+ }): react_jsx_runtime151.JSX.Element;
67
67
  declare function ContextMenuSeparator({
68
68
  className,
69
69
  ...props
70
- }: React$1.ComponentProps<typeof ContextMenuPrimitive.Separator>): react_jsx_runtime316.JSX.Element;
70
+ }: React$1.ComponentProps<typeof ContextMenuPrimitive.Separator>): react_jsx_runtime151.JSX.Element;
71
71
  declare function ContextMenuShortcut({
72
72
  className,
73
73
  ...props
74
- }: React$1.ComponentProps<"span">): react_jsx_runtime316.JSX.Element;
74
+ }: React$1.ComponentProps<"span">): react_jsx_runtime151.JSX.Element;
75
75
  //#endregion
76
76
  export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
77
77
  //# sourceMappingURL=context-menu.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { Button } from "./button.mjs";
2
- import * as react_jsx_runtime164 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime261 from "react/jsx-runtime";
3
3
  import * as React$1 from "react";
4
4
 
5
5
  //#region src/components/ui/date-picker.client.d.ts
@@ -15,7 +15,7 @@ declare function DatePicker({
15
15
  className,
16
16
  variant,
17
17
  ...props
18
- }: DatePickerProps): react_jsx_runtime164.JSX.Element;
18
+ }: DatePickerProps): react_jsx_runtime261.JSX.Element;
19
19
  //#endregion
20
20
  export { DatePicker, DatePickerProps };
21
21
  //# sourceMappingURL=date-picker.client.d.mts.map
@@ -1,45 +1,45 @@
1
- import * as react_jsx_runtime165 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime262 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import * as DialogPrimitive from "@radix-ui/react-dialog";
4
4
 
5
5
  //#region src/components/ui/dialog.client.d.ts
6
6
  declare function Dialog({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime165.JSX.Element;
8
+ }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime262.JSX.Element;
9
9
  declare function DialogTrigger({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime165.JSX.Element;
11
+ }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime262.JSX.Element;
12
12
  declare function DialogPortal({
13
13
  ...props
14
- }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime165.JSX.Element;
14
+ }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime262.JSX.Element;
15
15
  declare function DialogClose({
16
16
  ...props
17
- }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime165.JSX.Element;
17
+ }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime262.JSX.Element;
18
18
  declare function DialogOverlay({
19
19
  className,
20
20
  ...props
21
- }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime165.JSX.Element;
21
+ }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime262.JSX.Element;
22
22
  declare function DialogContent({
23
23
  className,
24
24
  children,
25
25
  ...props
26
- }: React$1.ComponentProps<typeof DialogPrimitive.Content>): react_jsx_runtime165.JSX.Element;
26
+ }: React$1.ComponentProps<typeof DialogPrimitive.Content>): react_jsx_runtime262.JSX.Element;
27
27
  declare function DialogHeader({
28
28
  className,
29
29
  ...props
30
- }: React$1.ComponentProps<"div">): react_jsx_runtime165.JSX.Element;
30
+ }: React$1.ComponentProps<"div">): react_jsx_runtime262.JSX.Element;
31
31
  declare function DialogFooter({
32
32
  className,
33
33
  ...props
34
- }: React$1.ComponentProps<"div">): react_jsx_runtime165.JSX.Element;
34
+ }: React$1.ComponentProps<"div">): react_jsx_runtime262.JSX.Element;
35
35
  declare function DialogTitle({
36
36
  className,
37
37
  ...props
38
- }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime165.JSX.Element;
38
+ }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime262.JSX.Element;
39
39
  declare function DialogDescription({
40
40
  className,
41
41
  ...props
42
- }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime165.JSX.Element;
42
+ }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime262.JSX.Element;
43
43
  //#endregion
44
44
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
45
45
  //# sourceMappingURL=dialog.client.d.mts.map
@@ -1,45 +1,45 @@
1
- import * as react_jsx_runtime175 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime272 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import { Drawer } from "vaul";
4
4
 
5
5
  //#region src/components/ui/drawer.client.d.ts
6
6
  declare function Drawer$1({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof Drawer.Root>): react_jsx_runtime175.JSX.Element;
8
+ }: React$1.ComponentProps<typeof Drawer.Root>): react_jsx_runtime272.JSX.Element;
9
9
  declare function DrawerTrigger({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof Drawer.Trigger>): react_jsx_runtime175.JSX.Element;
11
+ }: React$1.ComponentProps<typeof Drawer.Trigger>): react_jsx_runtime272.JSX.Element;
12
12
  declare function DrawerPortal({
13
13
  ...props
14
- }: React$1.ComponentProps<typeof Drawer.Portal>): react_jsx_runtime175.JSX.Element;
14
+ }: React$1.ComponentProps<typeof Drawer.Portal>): react_jsx_runtime272.JSX.Element;
15
15
  declare function DrawerClose({
16
16
  ...props
17
- }: React$1.ComponentProps<typeof Drawer.Close>): react_jsx_runtime175.JSX.Element;
17
+ }: React$1.ComponentProps<typeof Drawer.Close>): react_jsx_runtime272.JSX.Element;
18
18
  declare function DrawerOverlay({
19
19
  className,
20
20
  ...props
21
- }: React$1.ComponentProps<typeof Drawer.Overlay>): react_jsx_runtime175.JSX.Element;
21
+ }: React$1.ComponentProps<typeof Drawer.Overlay>): react_jsx_runtime272.JSX.Element;
22
22
  declare function DrawerContent({
23
23
  className,
24
24
  children,
25
25
  ...props
26
- }: React$1.ComponentProps<typeof Drawer.Content>): react_jsx_runtime175.JSX.Element;
26
+ }: React$1.ComponentProps<typeof Drawer.Content>): react_jsx_runtime272.JSX.Element;
27
27
  declare function DrawerHeader({
28
28
  className,
29
29
  ...props
30
- }: React$1.ComponentProps<"div">): react_jsx_runtime175.JSX.Element;
30
+ }: React$1.ComponentProps<"div">): react_jsx_runtime272.JSX.Element;
31
31
  declare function DrawerFooter({
32
32
  className,
33
33
  ...props
34
- }: React$1.ComponentProps<"div">): react_jsx_runtime175.JSX.Element;
34
+ }: React$1.ComponentProps<"div">): react_jsx_runtime272.JSX.Element;
35
35
  declare function DrawerTitle({
36
36
  className,
37
37
  ...props
38
- }: React$1.ComponentProps<typeof Drawer.Title>): react_jsx_runtime175.JSX.Element;
38
+ }: React$1.ComponentProps<typeof Drawer.Title>): react_jsx_runtime272.JSX.Element;
39
39
  declare function DrawerDescription({
40
40
  className,
41
41
  ...props
42
- }: React$1.ComponentProps<typeof Drawer.Description>): react_jsx_runtime175.JSX.Element;
42
+ }: React$1.ComponentProps<typeof Drawer.Description>): react_jsx_runtime272.JSX.Element;
43
43
  //#endregion
44
44
  export { Drawer$1 as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
45
45
  //# sourceMappingURL=drawer.client.d.mts.map
@@ -1,25 +1,25 @@
1
- import * as react_jsx_runtime331 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime166 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
4
4
 
5
5
  //#region src/components/ui/dropdown-menu.d.ts
6
6
  declare function DropdownMenu$1({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime331.JSX.Element;
8
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime166.JSX.Element;
9
9
  declare function DropdownMenuPortal({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime331.JSX.Element;
11
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime166.JSX.Element;
12
12
  declare function DropdownMenuTrigger({
13
13
  ...props
14
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime331.JSX.Element;
14
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime166.JSX.Element;
15
15
  declare function DropdownMenuContent({
16
16
  className,
17
17
  sideOffset,
18
18
  ...props
19
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime331.JSX.Element;
19
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime166.JSX.Element;
20
20
  declare function DropdownMenuGroup({
21
21
  ...props
22
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime331.JSX.Element;
22
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime166.JSX.Element;
23
23
  declare function DropdownMenuItem({
24
24
  className,
25
25
  inset,
@@ -28,39 +28,39 @@ declare function DropdownMenuItem({
28
28
  }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
29
29
  inset?: boolean;
30
30
  variant?: "default" | "destructive";
31
- }): react_jsx_runtime331.JSX.Element;
31
+ }): react_jsx_runtime166.JSX.Element;
32
32
  declare function DropdownMenuCheckboxItem({
33
33
  className,
34
34
  children,
35
35
  checked,
36
36
  ...props
37
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime331.JSX.Element;
37
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime166.JSX.Element;
38
38
  declare function DropdownMenuRadioGroup({
39
39
  ...props
40
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime331.JSX.Element;
40
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime166.JSX.Element;
41
41
  declare function DropdownMenuRadioItem({
42
42
  className,
43
43
  children,
44
44
  ...props
45
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime331.JSX.Element;
45
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime166.JSX.Element;
46
46
  declare function DropdownMenuLabel({
47
47
  className,
48
48
  inset,
49
49
  ...props
50
50
  }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
51
51
  inset?: boolean;
52
- }): react_jsx_runtime331.JSX.Element;
52
+ }): react_jsx_runtime166.JSX.Element;
53
53
  declare function DropdownMenuSeparator({
54
54
  className,
55
55
  ...props
56
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime331.JSX.Element;
56
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime166.JSX.Element;
57
57
  declare function DropdownMenuShortcut({
58
58
  className,
59
59
  ...props
60
- }: React$1.ComponentProps<"span">): react_jsx_runtime331.JSX.Element;
60
+ }: React$1.ComponentProps<"span">): react_jsx_runtime166.JSX.Element;
61
61
  declare function DropdownMenuSub({
62
62
  ...props
63
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime331.JSX.Element;
63
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime166.JSX.Element;
64
64
  declare function DropdownMenuSubTrigger({
65
65
  className,
66
66
  inset,
@@ -68,11 +68,11 @@ declare function DropdownMenuSubTrigger({
68
68
  ...props
69
69
  }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
70
70
  inset?: boolean;
71
- }): react_jsx_runtime331.JSX.Element;
71
+ }): react_jsx_runtime166.JSX.Element;
72
72
  declare function DropdownMenuSubContent({
73
73
  className,
74
74
  ...props
75
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime331.JSX.Element;
75
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime166.JSX.Element;
76
76
  //#endregion
77
77
  export { DropdownMenu$1 as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
78
78
  //# sourceMappingURL=dropdown-menu.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime185 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime282 from "react/jsx-runtime";
2
2
  import { Slot } from "@radix-ui/react-slot";
3
3
  import * as React$1 from "react";
4
4
  import * as react_hook_form0 from "react-hook-form";
@@ -12,7 +12,7 @@ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName
12
12
  ...props
13
13
  }: ControllerProps<TFieldValues, TName> & {
14
14
  visible?: boolean;
15
- }) => react_jsx_runtime185.JSX.Element | null;
15
+ }) => react_jsx_runtime282.JSX.Element | null;
16
16
  declare const useFormField: () => {
17
17
  invalid: boolean;
18
18
  isDirty: boolean;
@@ -28,22 +28,22 @@ declare const useFormField: () => {
28
28
  declare function FormItem({
29
29
  className,
30
30
  ...props
31
- }: React$1.ComponentProps<"div">): react_jsx_runtime185.JSX.Element;
31
+ }: React$1.ComponentProps<"div">): react_jsx_runtime282.JSX.Element;
32
32
  declare function FormLabel({
33
33
  className,
34
34
  ...props
35
- }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime185.JSX.Element;
35
+ }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime282.JSX.Element;
36
36
  declare function FormControl({
37
37
  ...props
38
- }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime185.JSX.Element;
38
+ }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime282.JSX.Element;
39
39
  declare function FormDescription({
40
40
  className,
41
41
  ...props
42
- }: React$1.ComponentProps<"p">): react_jsx_runtime185.JSX.Element;
42
+ }: React$1.ComponentProps<"p">): react_jsx_runtime282.JSX.Element;
43
43
  declare function FormMessage({
44
44
  className,
45
45
  ...props
46
- }: React$1.ComponentProps<"p">): react_jsx_runtime185.JSX.Element | null;
46
+ }: React$1.ComponentProps<"p">): react_jsx_runtime282.JSX.Element | null;
47
47
  //#endregion
48
48
  export { Form$1 as Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
49
49
  //# sourceMappingURL=form.client.d.mts.map
@@ -1,20 +1,20 @@
1
- import * as react_jsx_runtime191 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime288 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
4
4
 
5
5
  //#region src/components/ui/hover-card.client.d.ts
6
6
  declare function HoverCard({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime191.JSX.Element;
8
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime288.JSX.Element;
9
9
  declare function HoverCardTrigger({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime191.JSX.Element;
11
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime288.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_runtime191.JSX.Element;
17
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime288.JSX.Element;
18
18
  //#endregion
19
19
  export { HoverCard, HoverCardContent, HoverCardTrigger };
20
20
  //# sourceMappingURL=hover-card.client.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime381 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime380 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/ui/input-recipient.d.ts
4
4
  type Contact = {
@@ -12,14 +12,16 @@ interface RecipientInputProps {
12
12
  onChange: (value: string[]) => void;
13
13
  placeholder?: string;
14
14
  disabled?: boolean;
15
+ className?: string;
15
16
  }
16
17
  declare function RecipientInput({
17
18
  contacts,
18
19
  value,
19
20
  onChange,
20
21
  placeholder,
21
- disabled
22
- }: RecipientInputProps): react_jsx_runtime381.JSX.Element;
22
+ disabled,
23
+ className
24
+ }: RecipientInputProps): react_jsx_runtime380.JSX.Element;
23
25
  //#endregion
24
26
  export { Contact, RecipientInput };
25
27
  //# sourceMappingURL=input-recipient.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-recipient.d.mts","names":[],"sources":["../../../src/components/ui/input-recipient.tsx"],"sourcesContent":[],"mappings":";;;KAUY,OAAA;;;EAAA,IAAA,EAAA,MAAO;AAIjB,CAAA;AAgBF,UAdU,mBAAA,CAcoB;EAC5B,QAAA,EAdU,OAcV,EAAA;EACA,KAAA,EAAA,MAAA,EAAA;EACA,QAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,IAAA;EACA,WAAA,CAAA,EAAA,MAAA;EACA,QAAA,CAAA,EAAA,OAAA;;AACoB,iBANN,cAAA,CAMM;EAAA,QAAA;EAAA,KAAA;EAAA,QAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAAnB,mBAAmB,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"input-recipient.d.mts","names":[],"sources":["../../../src/components/ui/input-recipient.tsx"],"sourcesContent":[],"mappings":";;;KAUY,OAAA;;;EAAA,IAAA,EAAA,MAAO;AAIjB,CAAA;AAiBF,UAfU,mBAAA,CAeoB;EAC5B,QAAA,EAfU,OAeV,EAAA;EACA,KAAA,EAAA,MAAA,EAAA;EACA,QAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,IAAA;EACA,WAAA,CAAA,EAAA,MAAA;EACA,QAAA,CAAA,EAAA,OAAA;EACA,SAAA,CAAA,EAAA,MAAA;;AACoB,iBAPN,cAAA,CAOM;EAAA,QAAA;EAAA,KAAA;EAAA,QAAA;EAAA,WAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAAnB,mBAAmB,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -12,7 +12,7 @@ import { toast } from "sonner";
12
12
  const isValidEmail = (email) => {
13
13
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
14
14
  };
15
- function RecipientInput({ contacts, value, onChange, placeholder = "Kies een ontvanger...", disabled = false }) {
15
+ function RecipientInput({ contacts, value, onChange, placeholder = "Kies een ontvanger...", disabled = false, className }) {
16
16
  const [open, setOpen] = React$1.useState(false);
17
17
  const [inputValue, setInputValue] = React$1.useState("");
18
18
  const [highlightedIndex, setHighlightedIndex] = React$1.useState(0);
@@ -112,7 +112,7 @@ function RecipientInput({ contacts, value, onChange, placeholder = "Kies een ont
112
112
  asChild: true,
113
113
  children: /* @__PURE__ */ jsxs("div", {
114
114
  ref: containerRef,
115
- className: cn("border-input bg-background ring-offset-background flex min-h-0 w-full flex-wrap items-center gap-2 rounded-lg border px-3 py-2 text-base transition-colors md:text-sm", "focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]", disabled && "cursor-not-allowed opacity-50"),
115
+ className: cn("border-input bg-background ring-offset-background flex min-h-0 w-full flex-wrap items-center gap-2 rounded-lg border px-3 py-2 text-base transition-colors md:text-sm", "focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]", disabled && "cursor-not-allowed opacity-50", className),
116
116
  onClick: () => {
117
117
  if (!disabled) inputRef.current?.focus();
118
118
  },
@@ -1 +1 @@
1
- {"version":3,"file":"input-recipient.mjs","names":["React"],"sources":["../../../src/components/ui/input-recipient.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn } from \"@/lib/utils/cn\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\nimport { toast } from \"sonner\";\n\nimport { Button } from \"./button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\n\nexport type Contact = {\n id: string;\n email: string;\n name: string;\n};\n\ninterface RecipientInputProps {\n contacts: Contact[];\n value: string[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n}\n\n// Simpele email validatie\nconst isValidEmail = (email: string): boolean => {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n return emailRegex.test(email);\n};\n\nexport function RecipientInput({\n contacts,\n value,\n onChange,\n placeholder = \"Kies een ontvanger...\",\n disabled = false,\n}: RecipientInputProps) {\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(\"\");\n const [highlightedIndex, setHighlightedIndex] = React.useState(0);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const itemRefs = React.useRef<(HTMLButtonElement | null)[]>([]);\n\n const selectedContacts = React.useMemo(() => {\n return value\n .map((email) => {\n const contact = contacts.find((c) => c.email === email);\n return contact || { id: email, email, name: email };\n })\n .filter(Boolean) as Contact[];\n }, [value, contacts]);\n\n const availableContacts = React.useMemo(() => {\n return contacts.filter((contact) => !value.includes(contact.email));\n }, [contacts, value]);\n\n const filteredContacts = React.useMemo(() => {\n if (!inputValue || !inputValue.trim()) return availableContacts;\n const search = inputValue.toLowerCase().trim();\n return availableContacts.filter(\n (contact) =>\n contact.email.toLowerCase().includes(search) || contact.name.toLowerCase().includes(search),\n );\n }, [availableContacts, inputValue]);\n\n React.useEffect(() => {\n setHighlightedIndex(0);\n }, [filteredContacts]);\n\n React.useEffect(() => {\n if (open && highlightedIndex >= 0 && itemRefs.current[highlightedIndex]) {\n itemRefs.current[highlightedIndex]?.scrollIntoView({\n block: \"nearest\",\n behavior: \"smooth\",\n });\n }\n }, [highlightedIndex, open]);\n\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }\n }, [open]);\n\n const handleSelect = (contact: Contact) => {\n onChange([...value, contact.email]);\n setInputValue(\"\");\n setOpen(false);\n setHighlightedIndex(0);\n inputRef.current?.focus();\n };\n\n const handleAddManualEmail = () => {\n const trimmedEmail = inputValue.trim();\n\n if (!trimmedEmail) return;\n\n if (!isValidEmail(trimmedEmail)) {\n toast.error(\"Ongeldig email adres\");\n return;\n }\n\n if (value.includes(trimmedEmail)) {\n toast.error(\"Email is al toegevoegd\");\n setInputValue(\"\");\n return;\n }\n\n onChange([...value, trimmedEmail]);\n setInputValue(\"\");\n setOpen(false);\n setHighlightedIndex(0);\n inputRef.current?.focus();\n };\n\n const handleRemove = (email: string) => {\n onChange(value.filter((v) => v !== email));\n inputRef.current?.focus();\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (!open) {\n setOpen(true);\n } else {\n setHighlightedIndex((prev) => (prev < filteredContacts.length - 1 ? prev + 1 : prev));\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (open) {\n setHighlightedIndex((prev) => (prev > 0 ? prev - 1 : prev));\n }\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n if (open && filteredContacts[highlightedIndex]) {\n // Selecteer contact uit lijst\n handleSelect(filteredContacts[highlightedIndex]);\n } else if (inputValue.trim()) {\n // Voeg handmatig ingevoerde email toe\n handleAddManualEmail();\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false);\n } else if (e.key === \"Backspace\" && !inputValue && value.length > 0) {\n e.preventDefault();\n const lastEmail = value[value.length - 1];\n if (lastEmail) {\n handleRemove(lastEmail);\n }\n }\n };\n\n return (\n <Popover open={open}>\n <PopoverTrigger asChild>\n <div\n ref={containerRef}\n className={cn(\n \"border-input bg-background ring-offset-background flex min-h-0 w-full flex-wrap items-center gap-2 rounded-lg border px-3 py-2 text-base transition-colors md:text-sm\",\n \"focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]\",\n disabled && \"cursor-not-allowed opacity-50\",\n )}\n onClick={() => {\n if (!disabled) {\n inputRef.current?.focus();\n }\n }}\n >\n {selectedContacts.map((contact) => (\n <div\n key={contact.id}\n className=\"border-border bg-accent/50 flex items-center gap-2 rounded-full border px-2 py-0.5\"\n >\n <span className=\"text-xs\">{contact.email}</span>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"hover:bg-destructive/20 h-4 w-4 rounded-full p-0\"\n onClick={(e) => {\n e.stopPropagation();\n handleRemove(contact.email);\n }}\n disabled={disabled}\n >\n <X className=\"h-3 w-3\" />\n <span className=\"sr-only\">Verwijder {contact.email}</span>\n </Button>\n </div>\n ))}\n <input\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n if (e.target.value) {\n setOpen(true);\n }\n }}\n onKeyDown={handleKeyDown}\n placeholder={value.length === 0 ? placeholder : \"\"}\n disabled={disabled}\n className=\"placeholder:text-muted-foreground min-w-[120px] flex-1 bg-transparent outline-none placeholder:text-sm disabled:cursor-not-allowed\"\n />\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-full p-0\"\n align=\"start\"\n onOpenAutoFocus={(e) => e.preventDefault()}\n style={{\n width: containerRef.current?.offsetWidth || \"auto\",\n }}\n >\n <div className=\"max-h-[300px] overflow-y-auto p-1\">\n {filteredContacts.length === 0 && inputValue ? (\n <div className=\"text-muted-foreground px-2 py-2\">\n <div className=\"mb-2 text-xs\">Geen contacten gevonden.</div>\n {isValidEmail(inputValue.trim()) && (\n <button\n type=\"button\"\n onClick={handleAddManualEmail}\n className=\"hover:bg-accent w-full rounded-sm px-2 py-1.5 text-left text-xs transition-colors\"\n >\n <span className=\"font-medium\">Voeg toe: </span>\n <span className=\"text-muted-foreground\">{inputValue.trim()}</span>\n </button>\n )}\n </div>\n ) : filteredContacts.length === 0 ? (\n <div className=\"text-muted-foreground py-6 text-center text-xs\">\n Geen contacten gevonden.\n </div>\n ) : (\n <>\n {filteredContacts.map((contact, index) => (\n <button\n key={contact.id}\n ref={(el) => {\n itemRefs.current[index] = el;\n }}\n type=\"button\"\n onClick={() => handleSelect(contact)}\n className={cn(\n \"outline-hidden hover:bg-accent flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs transition-colors\",\n highlightedIndex === index && \"bg-accent\",\n )}\n >\n <div className=\"flex flex-col items-start\">\n <span className=\"text-xs font-medium\">{contact.name}</span>\n <span className=\"text-muted-foreground text-xs\">{contact.email}</span>\n </div>\n </button>\n ))}\n {inputValue && isValidEmail(inputValue.trim()) && (\n <div className=\"mt-1 border-t pt-1\">\n <button\n type=\"button\"\n onClick={handleAddManualEmail}\n className=\"hover:bg-accent w-full rounded-sm px-2 py-1.5 text-left text-xs transition-colors\"\n >\n <span className=\"font-medium\">Voeg toe: </span>\n <span className=\"text-muted-foreground\">{inputValue.trim()}</span>\n </button>\n </div>\n )}\n </>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"input-recipient.mjs","names":["React"],"sources":["../../../src/components/ui/input-recipient.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn } from \"@/lib/utils/cn\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\nimport { toast } from \"sonner\";\n\nimport { Button } from \"./button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\n\nexport type Contact = {\n id: string;\n email: string;\n name: string;\n};\n\ninterface RecipientInputProps {\n contacts: Contact[];\n value: string[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n}\n\n// Simpele email validatie\nconst isValidEmail = (email: string): boolean => {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n return emailRegex.test(email);\n};\n\nexport function RecipientInput({\n contacts,\n value,\n onChange,\n placeholder = \"Kies een ontvanger...\",\n disabled = false,\n className,\n}: RecipientInputProps) {\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(\"\");\n const [highlightedIndex, setHighlightedIndex] = React.useState(0);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const itemRefs = React.useRef<(HTMLButtonElement | null)[]>([]);\n\n const selectedContacts = React.useMemo(() => {\n return value\n .map((email) => {\n const contact = contacts.find((c) => c.email === email);\n return contact || { id: email, email, name: email };\n })\n .filter(Boolean) as Contact[];\n }, [value, contacts]);\n\n const availableContacts = React.useMemo(() => {\n return contacts.filter((contact) => !value.includes(contact.email));\n }, [contacts, value]);\n\n const filteredContacts = React.useMemo(() => {\n if (!inputValue || !inputValue.trim()) return availableContacts;\n const search = inputValue.toLowerCase().trim();\n return availableContacts.filter(\n (contact) =>\n contact.email.toLowerCase().includes(search) || contact.name.toLowerCase().includes(search),\n );\n }, [availableContacts, inputValue]);\n\n React.useEffect(() => {\n setHighlightedIndex(0);\n }, [filteredContacts]);\n\n React.useEffect(() => {\n if (open && highlightedIndex >= 0 && itemRefs.current[highlightedIndex]) {\n itemRefs.current[highlightedIndex]?.scrollIntoView({\n block: \"nearest\",\n behavior: \"smooth\",\n });\n }\n }, [highlightedIndex, open]);\n\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }\n }, [open]);\n\n const handleSelect = (contact: Contact) => {\n onChange([...value, contact.email]);\n setInputValue(\"\");\n setOpen(false);\n setHighlightedIndex(0);\n inputRef.current?.focus();\n };\n\n const handleAddManualEmail = () => {\n const trimmedEmail = inputValue.trim();\n\n if (!trimmedEmail) return;\n\n if (!isValidEmail(trimmedEmail)) {\n toast.error(\"Ongeldig email adres\");\n return;\n }\n\n if (value.includes(trimmedEmail)) {\n toast.error(\"Email is al toegevoegd\");\n setInputValue(\"\");\n return;\n }\n\n onChange([...value, trimmedEmail]);\n setInputValue(\"\");\n setOpen(false);\n setHighlightedIndex(0);\n inputRef.current?.focus();\n };\n\n const handleRemove = (email: string) => {\n onChange(value.filter((v) => v !== email));\n inputRef.current?.focus();\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (!open) {\n setOpen(true);\n } else {\n setHighlightedIndex((prev) => (prev < filteredContacts.length - 1 ? prev + 1 : prev));\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (open) {\n setHighlightedIndex((prev) => (prev > 0 ? prev - 1 : prev));\n }\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n if (open && filteredContacts[highlightedIndex]) {\n // Selecteer contact uit lijst\n handleSelect(filteredContacts[highlightedIndex]);\n } else if (inputValue.trim()) {\n // Voeg handmatig ingevoerde email toe\n handleAddManualEmail();\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false);\n } else if (e.key === \"Backspace\" && !inputValue && value.length > 0) {\n e.preventDefault();\n const lastEmail = value[value.length - 1];\n if (lastEmail) {\n handleRemove(lastEmail);\n }\n }\n };\n\n return (\n <Popover open={open}>\n <PopoverTrigger asChild>\n <div\n ref={containerRef}\n className={cn(\n \"border-input bg-background ring-offset-background flex min-h-0 w-full flex-wrap items-center gap-2 rounded-lg border px-3 py-2 text-base transition-colors md:text-sm\",\n \"focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]\",\n disabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n onClick={() => {\n if (!disabled) {\n inputRef.current?.focus();\n }\n }}\n >\n {selectedContacts.map((contact) => (\n <div\n key={contact.id}\n className=\"border-border bg-accent/50 flex items-center gap-2 rounded-full border px-2 py-0.5\"\n >\n <span className=\"text-xs\">{contact.email}</span>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"hover:bg-destructive/20 h-4 w-4 rounded-full p-0\"\n onClick={(e) => {\n e.stopPropagation();\n handleRemove(contact.email);\n }}\n disabled={disabled}\n >\n <X className=\"h-3 w-3\" />\n <span className=\"sr-only\">Verwijder {contact.email}</span>\n </Button>\n </div>\n ))}\n <input\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n if (e.target.value) {\n setOpen(true);\n }\n }}\n onKeyDown={handleKeyDown}\n placeholder={value.length === 0 ? placeholder : \"\"}\n disabled={disabled}\n className=\"placeholder:text-muted-foreground min-w-[120px] flex-1 bg-transparent outline-none placeholder:text-sm disabled:cursor-not-allowed\"\n />\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-full p-0\"\n align=\"start\"\n onOpenAutoFocus={(e) => e.preventDefault()}\n style={{\n width: containerRef.current?.offsetWidth || \"auto\",\n }}\n >\n <div className=\"max-h-[300px] overflow-y-auto p-1\">\n {filteredContacts.length === 0 && inputValue ? (\n <div className=\"text-muted-foreground px-2 py-2\">\n <div className=\"mb-2 text-xs\">Geen contacten gevonden.</div>\n {isValidEmail(inputValue.trim()) && (\n <button\n type=\"button\"\n onClick={handleAddManualEmail}\n className=\"hover:bg-accent w-full rounded-sm px-2 py-1.5 text-left text-xs transition-colors\"\n >\n <span className=\"font-medium\">Voeg toe: </span>\n <span className=\"text-muted-foreground\">{inputValue.trim()}</span>\n </button>\n )}\n </div>\n ) : filteredContacts.length === 0 ? (\n <div className=\"text-muted-foreground py-6 text-center text-xs\">\n Geen contacten gevonden.\n </div>\n ) : (\n <>\n {filteredContacts.map((contact, index) => (\n <button\n key={contact.id}\n ref={(el) => {\n itemRefs.current[index] = el;\n }}\n type=\"button\"\n onClick={() => handleSelect(contact)}\n className={cn(\n \"outline-hidden hover:bg-accent flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs transition-colors\",\n highlightedIndex === index && \"bg-accent\",\n )}\n >\n <div className=\"flex flex-col items-start\">\n <span className=\"text-xs font-medium\">{contact.name}</span>\n <span className=\"text-muted-foreground text-xs\">{contact.email}</span>\n </div>\n </button>\n ))}\n {inputValue && isValidEmail(inputValue.trim()) && (\n <div className=\"mt-1 border-t pt-1\">\n <button\n type=\"button\"\n onClick={handleAddManualEmail}\n className=\"hover:bg-accent w-full rounded-sm px-2 py-1.5 text-left text-xs transition-colors\"\n >\n <span className=\"font-medium\">Voeg toe: </span>\n <span className=\"text-muted-foreground\">{inputValue.trim()}</span>\n </button>\n </div>\n )}\n </>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime346 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime181 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/components/ui/input.d.ts
@@ -6,7 +6,7 @@ declare function Input({
6
6
  className,
7
7
  type,
8
8
  ...props
9
- }: React$1.ComponentProps<"input">): react_jsx_runtime346.JSX.Element;
9
+ }: React$1.ComponentProps<"input">): react_jsx_runtime181.JSX.Element;
10
10
  //#endregion
11
11
  export { Input };
12
12
  //# sourceMappingURL=input.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime347 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime182 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import * as LabelPrimitive from "@radix-ui/react-label";
4
4
 
@@ -6,7 +6,7 @@ import * as LabelPrimitive from "@radix-ui/react-label";
6
6
  declare function Label({
7
7
  className,
8
8
  ...props
9
- }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime347.JSX.Element;
9
+ }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime182.JSX.Element;
10
10
  //#endregion
11
11
  export { Label };
12
12
  //# sourceMappingURL=label.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime348 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime183 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
4
4
  import * as class_variance_authority_types3 from "class-variance-authority/types";
@@ -11,37 +11,37 @@ declare function NavigationMenu({
11
11
  ...props
12
12
  }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
13
13
  viewport?: boolean;
14
- }): react_jsx_runtime348.JSX.Element;
14
+ }): react_jsx_runtime183.JSX.Element;
15
15
  declare function NavigationMenuList({
16
16
  className,
17
17
  ...props
18
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.List>): react_jsx_runtime348.JSX.Element;
18
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.List>): react_jsx_runtime183.JSX.Element;
19
19
  declare function NavigationMenuItem({
20
20
  className,
21
21
  ...props
22
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Item>): react_jsx_runtime348.JSX.Element;
22
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Item>): react_jsx_runtime183.JSX.Element;
23
23
  declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types3.ClassProp | undefined) => string;
24
24
  declare function NavigationMenuTrigger({
25
25
  className,
26
26
  children,
27
27
  ...props
28
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): react_jsx_runtime348.JSX.Element;
28
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): react_jsx_runtime183.JSX.Element;
29
29
  declare function NavigationMenuContent({
30
30
  className,
31
31
  ...props
32
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Content>): react_jsx_runtime348.JSX.Element;
32
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Content>): react_jsx_runtime183.JSX.Element;
33
33
  declare function NavigationMenuViewport({
34
34
  className,
35
35
  ...props
36
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): react_jsx_runtime348.JSX.Element;
36
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): react_jsx_runtime183.JSX.Element;
37
37
  declare function NavigationMenuLink({
38
38
  className,
39
39
  ...props
40
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Link>): react_jsx_runtime348.JSX.Element;
40
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Link>): react_jsx_runtime183.JSX.Element;
41
41
  declare function NavigationMenuIndicator({
42
42
  className,
43
43
  ...props
44
- }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): react_jsx_runtime348.JSX.Element;
44
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): react_jsx_runtime183.JSX.Element;
45
45
  //#endregion
46
46
  export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
47
47
  //# sourceMappingURL=navigation-menu.d.mts.map