@tulip-systems/core 0.10.1 → 0.10.3

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 (673) hide show
  1. package/dist/auth/client.d.mts +11 -11
  2. package/dist/auth/client.mjs +10 -10
  3. package/dist/auth/server.d.mts +8 -8
  4. package/dist/auth/server.mjs +8 -8
  5. package/dist/auth.d.mts +5 -5
  6. package/dist/auth.mjs +4 -4
  7. package/dist/commands/client.d.mts +16 -16
  8. package/dist/commands/client.mjs +16 -16
  9. package/dist/commands.d.mts +3 -3
  10. package/dist/commands.mjs +3 -3
  11. package/dist/components/client.d.mts +48 -48
  12. package/dist/components/client.mjs +48 -48
  13. package/dist/components/layouts/root-layout.server.mjs +1 -0
  14. package/dist/components/server.d.mts +2 -2
  15. package/dist/components/server.mjs +2 -2
  16. package/dist/components/ui/badge.d.mts +1 -1
  17. package/dist/components/ui/button-group.d.mts +1 -1
  18. package/dist/components/ui/button.d.mts +2 -2
  19. package/dist/components/ui/field.client.d.mts +1 -1
  20. package/dist/components.d.mts +40 -40
  21. package/dist/components.mjs +39 -39
  22. package/dist/config.d.mts +5 -7
  23. package/dist/config.mjs +4 -5
  24. package/dist/data-tables/client.d.mts +21 -21
  25. package/dist/data-tables/client.mjs +21 -21
  26. package/dist/data-tables/server.d.mts +7 -7
  27. package/dist/data-tables/server.mjs +7 -7
  28. package/dist/data-tables.d.mts +15 -14
  29. package/dist/data-tables.mjs +14 -13
  30. package/dist/database/server.d.mts +1 -1
  31. package/dist/database/server.mjs +1 -1
  32. package/dist/database.d.mts +2 -2
  33. package/dist/database.mjs +1 -1
  34. package/dist/emails/server.d.mts +1 -1
  35. package/dist/emails/server.mjs +1 -1
  36. package/dist/inline/client.d.mts +15 -15
  37. package/dist/inline/client.mjs +15 -15
  38. package/dist/inline.d.mts +1 -1
  39. package/dist/inline.mjs +1 -1
  40. package/dist/lib/client.d.mts +4 -4
  41. package/dist/lib/client.mjs +4 -4
  42. package/dist/lib/utils/url.d.mts +15 -4
  43. package/dist/lib/utils/url.mjs +17 -8
  44. package/dist/lib.d.mts +7 -7
  45. package/dist/lib.mjs +6 -6
  46. package/dist/modules/auth/components/create-first-user-guard.server.d.mts +4 -3
  47. package/dist/modules/auth/components/guard.server.d.mts +5 -5
  48. package/dist/modules/auth/components/guard.server.mjs +3 -4
  49. package/dist/modules/auth/handler/create-client.client.d.mts +28 -6382
  50. package/dist/modules/auth/handler/create-client.client.mjs +4 -16
  51. package/dist/modules/auth/handler/proxy.server.d.mts +1 -0
  52. package/dist/modules/auth/handler/proxy.server.mjs +1 -1
  53. package/dist/modules/auth/handler/route.server.d.mts +2 -4
  54. package/dist/modules/auth/handler/route.server.mjs +3 -3
  55. package/dist/modules/auth/handler/service.server.d.mts +41 -2079
  56. package/dist/modules/auth/handler/service.server.mjs +40 -60
  57. package/dist/modules/auth/hooks/use-auth-client.d.mts +5 -6
  58. package/dist/modules/auth/hooks/use-permission.d.mts +7 -7
  59. package/dist/modules/auth/hooks/use-permission.mjs +1 -1
  60. package/dist/modules/auth/hooks/use-session.d.mts +13 -35
  61. package/dist/modules/auth/hooks/use-session.mjs +3 -0
  62. package/dist/modules/auth/lib/helpers.server.d.mts +7 -77
  63. package/dist/modules/auth/lib/helpers.server.mjs +4 -34
  64. package/dist/modules/auth/lib/permissions.d.mts +22 -3
  65. package/dist/modules/auth/plugins/admin.d.mts +916 -0
  66. package/dist/modules/auth/plugins/admin.mjs +18 -0
  67. package/dist/modules/auth/plugins/email-otp.d.mts +554 -0
  68. package/dist/modules/auth/plugins/email-otp.mjs +34 -0
  69. package/dist/modules/config/lib/context.d.mts +5 -4
  70. package/dist/modules/data-tables/components/filters/date-range.client.mjs +5 -2
  71. package/dist/modules/data-tables/lib/converters/dto.d.mts +12 -1
  72. package/dist/modules/data-tables/lib/converters/dto.mjs +13 -1
  73. package/dist/modules/data-tables/lib/converters/filters.d.mts +1 -1
  74. package/dist/modules/data-tables/server/get-data.server.d.mts +3 -2
  75. package/dist/modules/data-tables/strategies/infinite/components.mjs +1 -2
  76. package/dist/modules/data-tables/strategies/infinite/strategy.mjs +0 -6
  77. package/dist/modules/inline/lib/variants.d.mts +1 -1
  78. package/dist/modules/router/handler/init.server.d.mts +43 -51
  79. package/dist/modules/router/handler/init.server.mjs +24 -41
  80. package/dist/modules/router/handler/route.server.d.mts +6 -3
  81. package/dist/modules/router/handler/route.server.mjs +6 -9
  82. package/dist/modules/router/lib/query-client.server.d.mts +2 -2
  83. package/dist/modules/router/lib/query-client.server.mjs +3 -3
  84. package/dist/modules/storage/components/dropzone.client.d.mts +2 -2
  85. package/dist/modules/storage/lib/router-handlers.server.d.mts +6 -7
  86. package/dist/modules/storage/lib/router-handlers.server.mjs +2 -2
  87. package/dist/modules/storage/lib/{procedures.server.d.mts → router.server.d.mts} +42 -19
  88. package/dist/modules/storage/lib/router.server.mjs +21 -0
  89. package/dist/modules/storage/lib/service.server.d.mts +25 -25
  90. package/dist/modules/storage/lib/upload.client.d.mts +9 -10
  91. package/dist/router/client.d.mts +1 -1
  92. package/dist/router/client.mjs +1 -1
  93. package/dist/router/server.d.mts +7 -8
  94. package/dist/router/server.mjs +7 -8
  95. package/dist/router.d.mts +2 -2
  96. package/dist/router.mjs +2 -2
  97. package/dist/storage/client.d.mts +8 -8
  98. package/dist/storage/client.mjs +8 -8
  99. package/dist/storage/server.d.mts +5 -5
  100. package/dist/storage/server.mjs +5 -5
  101. package/dist/storage.d.mts +8 -8
  102. package/dist/storage.mjs +7 -7
  103. package/package.json +2 -2
  104. package/src/components/layouts/root-layout.server.tsx +1 -1
  105. package/src/lib/utils/url.ts +19 -8
  106. package/src/modules/auth/components/create-first-user-guard.server.tsx +5 -4
  107. package/src/modules/auth/components/create-first-user-page.client.tsx +6 -1
  108. package/src/modules/auth/components/forget-password-page.client.tsx +3 -2
  109. package/src/modules/auth/components/guard.server.tsx +6 -7
  110. package/src/modules/auth/components/login-page.client.tsx +3 -1
  111. package/src/modules/auth/components/reset-password-page.client.tsx +3 -2
  112. package/src/modules/auth/db/schema.ts +1 -1
  113. package/src/modules/auth/entry.server.ts +0 -1
  114. package/src/modules/auth/handler/create-client.client.ts +43 -41
  115. package/src/modules/auth/handler/proxy.server.ts +4 -2
  116. package/src/modules/auth/handler/route.server.ts +6 -5
  117. package/src/modules/auth/handler/service.server.ts +70 -94
  118. package/src/modules/auth/hooks/use-auth-client.tsx +6 -18
  119. package/src/modules/auth/hooks/use-permission.ts +23 -9
  120. package/src/modules/auth/hooks/use-session.ts +18 -5
  121. package/src/modules/auth/lib/helpers.server.ts +16 -44
  122. package/src/modules/auth/lib/permissions.ts +35 -2
  123. package/src/modules/auth/plugins/admin.ts +28 -0
  124. package/src/modules/auth/plugins/email-otp.ts +43 -0
  125. package/src/modules/config/entry.ts +0 -3
  126. package/src/modules/config/lib/context.ts +8 -4
  127. package/src/modules/data-tables/components/filters/date-range.client.tsx +6 -12
  128. package/src/modules/data-tables/entry.ts +1 -0
  129. package/src/modules/data-tables/lib/converters/dto.ts +12 -0
  130. package/src/modules/data-tables/lib/converters/filters.ts +1 -1
  131. package/src/modules/data-tables/lib/filters/parsers.ts +1 -2
  132. package/src/modules/data-tables/server/get-data.server.ts +8 -3
  133. package/src/modules/data-tables/strategies/infinite/components.tsx +2 -2
  134. package/src/modules/data-tables/strategies/infinite/strategy.ts +0 -14
  135. package/src/modules/inline/components/inputs/combobox-dropdown.client.tsx +1 -3
  136. package/src/modules/inline/components/inputs/combobox.client.tsx +2 -8
  137. package/src/modules/inline/components/inputs/date-time.client.tsx +4 -24
  138. package/src/modules/inline/components/inputs/date.client.tsx +3 -11
  139. package/src/modules/inline/components/inputs/editor.client.tsx +9 -10
  140. package/src/modules/inline/components/inputs/input.client.tsx +10 -33
  141. package/src/modules/inline/components/inputs/select.client.tsx +3 -16
  142. package/src/modules/inline/components/inputs/switch.client.tsx +3 -16
  143. package/src/modules/router/entry.server.ts +0 -1
  144. package/src/modules/router/handler/init.server.ts +58 -62
  145. package/src/modules/router/handler/route.server.ts +19 -19
  146. package/src/modules/router/lib/query-client.server.tsx +2 -2
  147. package/src/modules/storage/entry.server.ts +1 -1
  148. package/src/modules/storage/lib/router-handlers.server.ts +8 -10
  149. package/src/modules/storage/lib/router.server.ts +53 -0
  150. package/src/modules/storage/lib/upload.client.ts +9 -21
  151. package/src/styles.css +107 -78
  152. package/dist/dist/config.d.mts +0 -5
  153. package/dist/dist/modules/auth/handler/service.server.d.mts +0 -8
  154. package/dist/dist/modules/auth/lib/permissions.d.mts +0 -2
  155. package/dist/dist/modules/config/lib/context.d.mts +0 -4
  156. package/dist/dist/modules/config/paths/helpers.d.mts +0 -1
  157. package/dist/dist/modules/config/paths/types.d.mts +0 -3
  158. package/dist/dist/modules/database/lib/helpers.d.mts +0 -2
  159. package/dist/dist/modules/database/lib/service.server.d.mts +0 -2
  160. package/dist/dist/modules/database/lib/types.d.mts +0 -5
  161. package/dist/dist/modules/emails/lib/service.server.d.mts +0 -2
  162. package/dist/dist/modules/storage/lib/schema.d.mts +0 -1
  163. package/dist/dist/modules/storage/lib/service.server.d.mts +0 -5
  164. package/dist/dist/modules/storage/lib/validators.d.mts +0 -4
  165. package/dist/dist/modules/storage/providers/lib/types.d.mts +0 -1
  166. package/dist/dist/modules/storage/providers/lib/validators.d.mts +0 -2
  167. package/dist/modules/router/handler/context.server.d.mts +0 -62
  168. package/dist/modules/router/handler/context.server.mjs +0 -20
  169. package/dist/modules/storage/lib/procedures.server.mjs +0 -21
  170. package/dist/src/components/common/icons.d.mts +0 -60
  171. package/dist/src/components/common/icons.mjs +0 -121
  172. package/dist/src/components/common/status.d.mts +0 -52
  173. package/dist/src/components/common/status.mjs +0 -55
  174. package/dist/src/components/editor/components/content.client.d.mts +0 -6
  175. package/dist/src/components/editor/components/content.client.mjs +0 -16
  176. package/dist/src/components/editor/components/editor.client.d.mts +0 -48
  177. package/dist/src/components/editor/components/editor.client.mjs +0 -55
  178. package/dist/src/components/editor/components/menu-nodes.client.mjs +0 -92
  179. package/dist/src/components/editor/components/menu.client.d.mts +0 -9
  180. package/dist/src/components/editor/components/menu.client.mjs +0 -168
  181. package/dist/src/components/editor/extensions/file-handler/extension.d.mts +0 -20
  182. package/dist/src/components/editor/extensions/file-handler/extension.mjs +0 -39
  183. package/dist/src/components/editor/extensions/file-handler/strategy.d.mts +0 -26
  184. package/dist/src/components/editor/extensions/file-handler/strategy.mjs +0 -110
  185. package/dist/src/components/editor/extensions/file-handler/utils.mjs +0 -49
  186. package/dist/src/components/editor/extensions/image/extension.d.mts +0 -7
  187. package/dist/src/components/editor/extensions/image/extension.mjs +0 -50
  188. package/dist/src/components/editor/extensions/skeleton/extension.mjs +0 -40
  189. package/dist/src/components/editor/extensions/skeleton/renderer.mjs +0 -24
  190. package/dist/src/components/editor/lib/constants.d.mts +0 -62
  191. package/dist/src/components/editor/lib/constants.mjs +0 -101
  192. package/dist/src/components/editor/lib/extensions.d.mts +0 -67
  193. package/dist/src/components/editor/lib/extensions.mjs +0 -49
  194. package/dist/src/components/editor/lib/helpers.d.mts +0 -25
  195. package/dist/src/components/editor/lib/helpers.mjs +0 -75
  196. package/dist/src/components/editor/lib/types.d.mts +0 -9
  197. package/dist/src/components/editor/lib/variants.mjs +0 -15
  198. package/dist/src/components/emails/forget-password-email.mjs +0 -50
  199. package/dist/src/components/header/back-button.client.d.mts +0 -9
  200. package/dist/src/components/header/back-button.client.mjs +0 -42
  201. package/dist/src/components/header/bottom-bar.client.d.mts +0 -28
  202. package/dist/src/components/header/bottom-bar.client.mjs +0 -37
  203. package/dist/src/components/header/breadcrumbs.client.d.mts +0 -34
  204. package/dist/src/components/header/breadcrumbs.client.mjs +0 -63
  205. package/dist/src/components/header/header.client.d.mts +0 -11
  206. package/dist/src/components/header/header.client.mjs +0 -14
  207. package/dist/src/components/header/indicator.client.mjs +0 -24
  208. package/dist/src/components/header/mobile-nav-switcher.client.d.mts +0 -9
  209. package/dist/src/components/header/mobile-nav-switcher.client.mjs +0 -18
  210. package/dist/src/components/header/top-bar.client.d.mts +0 -42
  211. package/dist/src/components/header/top-bar.client.mjs +0 -47
  212. package/dist/src/components/layouts/admin-content.client.d.mts +0 -12
  213. package/dist/src/components/layouts/admin-content.client.mjs +0 -22
  214. package/dist/src/components/layouts/admin-error-pages.d.mts +0 -22
  215. package/dist/src/components/layouts/admin-error-pages.mjs +0 -59
  216. package/dist/src/components/layouts/admin-layout.d.mts +0 -7
  217. package/dist/src/components/layouts/admin-layout.mjs +0 -13
  218. package/dist/src/components/layouts/admin-loading.d.mts +0 -7
  219. package/dist/src/components/layouts/admin-loading.mjs +0 -13
  220. package/dist/src/components/layouts/empty-page.d.mts +0 -30
  221. package/dist/src/components/layouts/empty-page.mjs +0 -28
  222. package/dist/src/components/layouts/error-page.d.mts +0 -47
  223. package/dist/src/components/layouts/error-page.mjs +0 -53
  224. package/dist/src/components/layouts/error-sections.d.mts +0 -28
  225. package/dist/src/components/layouts/error-sections.mjs +0 -46
  226. package/dist/src/components/layouts/list-layout.d.mts +0 -11
  227. package/dist/src/components/layouts/list-layout.mjs +0 -14
  228. package/dist/src/components/layouts/providers.client.d.mts +0 -9
  229. package/dist/src/components/layouts/providers.client.mjs +0 -31
  230. package/dist/src/components/layouts/root-error-pages.d.mts +0 -9
  231. package/dist/src/components/layouts/root-error-pages.mjs +0 -16
  232. package/dist/src/components/layouts/root-layout.server.d.mts +0 -37
  233. package/dist/src/components/layouts/root-layout.server.mjs +0 -44
  234. package/dist/src/components/layouts/root-loading.d.mts +0 -6
  235. package/dist/src/components/layouts/root-loading.mjs +0 -13
  236. package/dist/src/components/layouts/tab-layout.d.mts +0 -22
  237. package/dist/src/components/layouts/tab-layout.mjs +0 -50
  238. package/dist/src/components/lists/data-list.d.mts +0 -30
  239. package/dist/src/components/lists/data-list.mjs +0 -35
  240. package/dist/src/components/lists/data-stack.d.mts +0 -48
  241. package/dist/src/components/lists/data-stack.mjs +0 -56
  242. package/dist/src/components/navigation/admin-sidebar-header.client.mjs +0 -92
  243. package/dist/src/components/navigation/admin-sidebar-paths.client.d.mts +0 -91
  244. package/dist/src/components/navigation/admin-sidebar-paths.client.mjs +0 -143
  245. package/dist/src/components/navigation/admin-sidebar-skeleton.mjs +0 -30
  246. package/dist/src/components/themes/color-theme-provider.client.d.mts +0 -27
  247. package/dist/src/components/themes/color-theme-provider.client.mjs +0 -59
  248. package/dist/src/components/themes/color-theme.d.mts +0 -29
  249. package/dist/src/components/themes/color-theme.mjs +0 -32
  250. package/dist/src/components/ui/accordion.client.d.mts +0 -25
  251. package/dist/src/components/ui/accordion.client.mjs +0 -57
  252. package/dist/src/components/ui/alert-dialog.client.d.mts +0 -60
  253. package/dist/src/components/ui/alert-dialog.client.mjs +0 -103
  254. package/dist/src/components/ui/alert.d.mts +0 -28
  255. package/dist/src/components/ui/alert.mjs +0 -44
  256. package/dist/src/components/ui/aspect-ratio.client.d.mts +0 -9
  257. package/dist/src/components/ui/aspect-ratio.client.mjs +0 -15
  258. package/dist/src/components/ui/avatar.client.d.mts +0 -34
  259. package/dist/src/components/ui/avatar.client.mjs +0 -53
  260. package/dist/src/components/ui/badge.d.mts +0 -19
  261. package/dist/src/components/ui/badge.mjs +0 -28
  262. package/dist/src/components/ui/breadcrumb.d.mts +0 -37
  263. package/dist/src/components/ui/breadcrumb.mjs +0 -70
  264. package/dist/src/components/ui/button-group.d.mts +0 -28
  265. package/dist/src/components/ui/button-group.mjs +0 -40
  266. package/dist/src/components/ui/button.d.mts +0 -21
  267. package/dist/src/components/ui/button.mjs +0 -48
  268. package/dist/src/components/ui/calendar.client.d.mts +0 -30
  269. package/dist/src/components/ui/calendar.client.mjs +0 -113
  270. package/dist/src/components/ui/card.d.mts +0 -37
  271. package/dist/src/components/ui/card.mjs +0 -57
  272. package/dist/src/components/ui/carousel.client.d.mts +0 -56
  273. package/dist/src/components/ui/carousel.client.mjs +0 -135
  274. package/dist/src/components/ui/chart.client.d.mts +0 -71
  275. package/dist/src/components/ui/chart.client.mjs +0 -142
  276. package/dist/src/components/ui/checkbox.client.d.mts +0 -11
  277. package/dist/src/components/ui/checkbox.client.mjs +0 -23
  278. package/dist/src/components/ui/collapsible.client.d.mts +0 -15
  279. package/dist/src/components/ui/collapsible.client.mjs +0 -27
  280. package/dist/src/components/ui/color-picker.client.d.mts +0 -15
  281. package/dist/src/components/ui/color-picker.client.mjs +0 -38
  282. package/dist/src/components/ui/combobox-dropdown.client.d.mts +0 -45
  283. package/dist/src/components/ui/combobox-dropdown.client.mjs +0 -94
  284. package/dist/src/components/ui/combobox.client.d.mts +0 -30
  285. package/dist/src/components/ui/combobox.client.mjs +0 -66
  286. package/dist/src/components/ui/command.client.d.mts +0 -58
  287. package/dist/src/components/ui/command.client.mjs +0 -97
  288. package/dist/src/components/ui/context-menu.client.d.mts +0 -85
  289. package/dist/src/components/ui/context-menu.client.mjs +0 -127
  290. package/dist/src/components/ui/date-picker.client.d.mts +0 -20
  291. package/dist/src/components/ui/date-picker.client.mjs +0 -43
  292. package/dist/src/components/ui/dialog.client.d.mts +0 -51
  293. package/dist/src/components/ui/dialog.client.mjs +0 -98
  294. package/dist/src/components/ui/drawer.client.d.mts +0 -44
  295. package/dist/src/components/ui/drawer.client.mjs +0 -80
  296. package/dist/src/components/ui/dropdown-menu.client.d.mts +0 -84
  297. package/dist/src/components/ui/dropdown-menu.client.mjs +0 -130
  298. package/dist/src/components/ui/empty.d.mts +0 -35
  299. package/dist/src/components/ui/empty.mjs +0 -61
  300. package/dist/src/components/ui/field.client.d.mts +0 -64
  301. package/dist/src/components/ui/field.client.mjs +0 -113
  302. package/dist/src/components/ui/form.client.d.mts +0 -47
  303. package/dist/src/components/ui/form.client.mjs +0 -92
  304. package/dist/src/components/ui/hover-card.client.d.mts +0 -19
  305. package/dist/src/components/ui/hover-card.client.mjs +0 -34
  306. package/dist/src/components/ui/input-date-time.client.d.mts +0 -22
  307. package/dist/src/components/ui/input-date-time.client.mjs +0 -33
  308. package/dist/src/components/ui/input-date.d.mts +0 -13
  309. package/dist/src/components/ui/input-date.mjs +0 -15
  310. package/dist/src/components/ui/input-group.client.d.mts +0 -58
  311. package/dist/src/components/ui/input-group.client.mjs +0 -105
  312. package/dist/src/components/ui/input-recipient.d.mts +0 -26
  313. package/dist/src/components/ui/input-recipient.mjs +0 -218
  314. package/dist/src/components/ui/input-time.d.mts +0 -13
  315. package/dist/src/components/ui/input-time.mjs +0 -15
  316. package/dist/src/components/ui/input.d.mts +0 -11
  317. package/dist/src/components/ui/input.mjs +0 -15
  318. package/dist/src/components/ui/item.d.mts +0 -62
  319. package/dist/src/components/ui/item.mjs +0 -118
  320. package/dist/src/components/ui/kbd.d.mts +0 -13
  321. package/dist/src/components/ui/kbd.mjs +0 -21
  322. package/dist/src/components/ui/label.d.mts +0 -11
  323. package/dist/src/components/ui/label.mjs +0 -17
  324. package/dist/src/components/ui/loader.d.mts +0 -6
  325. package/dist/src/components/ui/loader.mjs +0 -62
  326. package/dist/src/components/ui/navigation-menu.d.mts +0 -46
  327. package/dist/src/components/ui/navigation-menu.mjs +0 -81
  328. package/dist/src/components/ui/pagination.d.mts +0 -45
  329. package/dist/src/components/ui/pagination.mjs +0 -87
  330. package/dist/src/components/ui/popover.client.d.mts +0 -34
  331. package/dist/src/components/ui/popover.client.mjs +0 -58
  332. package/dist/src/components/ui/progress.client.d.mts +0 -12
  333. package/dist/src/components/ui/progress.client.mjs +0 -22
  334. package/dist/src/components/ui/radio-group.d.mts +0 -15
  335. package/dist/src/components/ui/radio-group.mjs +0 -29
  336. package/dist/src/components/ui/resizable.client.d.mts +0 -20
  337. package/dist/src/components/ui/resizable.client.mjs +0 -31
  338. package/dist/src/components/ui/scroll-area.d.mts +0 -17
  339. package/dist/src/components/ui/scroll-area.mjs +0 -39
  340. package/dist/src/components/ui/select.client.d.mts +0 -53
  341. package/dist/src/components/ui/select.client.mjs +0 -102
  342. package/dist/src/components/ui/separator.d.mts +0 -13
  343. package/dist/src/components/ui/separator.mjs +0 -19
  344. package/dist/src/components/ui/sheet.client.d.mts +0 -42
  345. package/dist/src/components/ui/sheet.client.mjs +0 -92
  346. package/dist/src/components/ui/sidebar.client.d.mts +0 -167
  347. package/dist/src/components/ui/sidebar.client.mjs +0 -373
  348. package/dist/src/components/ui/skeleton.d.mts +0 -9
  349. package/dist/src/components/ui/skeleton.mjs +0 -14
  350. package/dist/src/components/ui/slider.d.mts +0 -15
  351. package/dist/src/components/ui/slider.mjs +0 -39
  352. package/dist/src/components/ui/sonner.client.d.mts +0 -9
  353. package/dist/src/components/ui/sonner.client.mjs +0 -24
  354. package/dist/src/components/ui/spinner.d.mts +0 -9
  355. package/dist/src/components/ui/spinner.mjs +0 -16
  356. package/dist/src/components/ui/switch.client.d.mts +0 -14
  357. package/dist/src/components/ui/switch.client.mjs +0 -22
  358. package/dist/src/components/ui/tabs.client.d.mts +0 -30
  359. package/dist/src/components/ui/tabs.client.mjs +0 -48
  360. package/dist/src/components/ui/textarea.d.mts +0 -10
  361. package/dist/src/components/ui/textarea.mjs +0 -14
  362. package/dist/src/components/ui/toggle-group.client.d.mts +0 -28
  363. package/dist/src/components/ui/toggle-group.client.mjs +0 -54
  364. package/dist/src/components/ui/toggle.client.d.mts +0 -19
  365. package/dist/src/components/ui/toggle.client.mjs +0 -39
  366. package/dist/src/components/ui/tooltip.client.d.mts +0 -23
  367. package/dist/src/components/ui/tooltip.client.mjs +0 -38
  368. package/dist/src/lib/hooks/use-action.d.mts +0 -16
  369. package/dist/src/lib/hooks/use-action.mjs +0 -41
  370. package/dist/src/lib/hooks/use-indicator.d.mts +0 -39
  371. package/dist/src/lib/hooks/use-indicator.mjs +0 -63
  372. package/dist/src/lib/hooks/use-mobile.client.d.mts +0 -6
  373. package/dist/src/lib/hooks/use-mobile.client.mjs +0 -21
  374. package/dist/src/lib/types/config.d.mts +0 -11
  375. package/dist/src/lib/utils/array-move.d.mts +0 -10
  376. package/dist/src/lib/utils/array-move.mjs +0 -12
  377. package/dist/src/lib/utils/cn.d.mts +0 -6
  378. package/dist/src/lib/utils/cn.mjs +0 -10
  379. package/dist/src/lib/utils/fonts.d.mts +0 -7
  380. package/dist/src/lib/utils/fonts.mjs +0 -11
  381. package/dist/src/lib/utils/format.d.mts +0 -51
  382. package/dist/src/lib/utils/format.mjs +0 -113
  383. package/dist/src/lib/utils/manifest.d.mts +0 -7
  384. package/dist/src/lib/utils/manifest.mjs +0 -35
  385. package/dist/src/lib/utils/markdown.d.mts +0 -9
  386. package/dist/src/lib/utils/markdown.mjs +0 -14
  387. package/dist/src/lib/utils/url.d.mts +0 -9
  388. package/dist/src/lib/utils/url.mjs +0 -15
  389. package/dist/src/lib/utils/user-agent.mjs +0 -74
  390. package/dist/src/modules/auth/components/allowed.client.d.mts +0 -33
  391. package/dist/src/modules/auth/components/allowed.client.mjs +0 -19
  392. package/dist/src/modules/auth/components/auth-layout.server.d.mts +0 -9
  393. package/dist/src/modules/auth/components/auth-layout.server.mjs +0 -36
  394. package/dist/src/modules/auth/components/auth-loading.d.mts +0 -6
  395. package/dist/src/modules/auth/components/auth-loading.mjs +0 -17
  396. package/dist/src/modules/auth/components/create-first-user-guard.server.d.mts +0 -15
  397. package/dist/src/modules/auth/components/create-first-user-guard.server.mjs +0 -15
  398. package/dist/src/modules/auth/components/create-first-user-page.client.d.mts +0 -6
  399. package/dist/src/modules/auth/components/create-first-user-page.client.mjs +0 -153
  400. package/dist/src/modules/auth/components/forget-password-page.client.d.mts +0 -6
  401. package/dist/src/modules/auth/components/forget-password-page.client.mjs +0 -72
  402. package/dist/src/modules/auth/components/guard.server.d.mts +0 -14
  403. package/dist/src/modules/auth/components/guard.server.mjs +0 -20
  404. package/dist/src/modules/auth/components/login-page.client.d.mts +0 -11
  405. package/dist/src/modules/auth/components/login-page.client.mjs +0 -155
  406. package/dist/src/modules/auth/components/reset-password-page.client.d.mts +0 -11
  407. package/dist/src/modules/auth/components/reset-password-page.client.mjs +0 -121
  408. package/dist/src/modules/auth/components/update-password-command.d.mts +0 -22
  409. package/dist/src/modules/auth/components/update-password-command.mjs +0 -47
  410. package/dist/src/modules/auth/db/schema.d.mts +0 -983
  411. package/dist/src/modules/auth/db/schema.mjs +0 -101
  412. package/dist/src/modules/auth/handler/create-client.client.d.mts +0 -6393
  413. package/dist/src/modules/auth/handler/create-client.client.mjs +0 -25
  414. package/dist/src/modules/auth/handler/proxy.server.d.mts +0 -11
  415. package/dist/src/modules/auth/handler/proxy.server.mjs +0 -20
  416. package/dist/src/modules/auth/handler/route.server.d.mts +0 -16
  417. package/dist/src/modules/auth/handler/route.server.mjs +0 -28
  418. package/dist/src/modules/auth/handler/service.server.d.mts +0 -2101
  419. package/dist/src/modules/auth/handler/service.server.mjs +0 -87
  420. package/dist/src/modules/auth/hooks/use-auth-client.d.mts +0 -23
  421. package/dist/src/modules/auth/hooks/use-auth-client.mjs +0 -30
  422. package/dist/src/modules/auth/hooks/use-permission.d.mts +0 -42
  423. package/dist/src/modules/auth/hooks/use-permission.mjs +0 -57
  424. package/dist/src/modules/auth/hooks/use-session.d.mts +0 -40
  425. package/dist/src/modules/auth/hooks/use-session.mjs +0 -22
  426. package/dist/src/modules/auth/lib/helpers.server.d.mts +0 -84
  427. package/dist/src/modules/auth/lib/helpers.server.mjs +0 -41
  428. package/dist/src/modules/auth/lib/permissions.d.mts +0 -17
  429. package/dist/src/modules/auth/lib/permissions.mjs +0 -14
  430. package/dist/src/modules/auth/lib/validators.d.mts +0 -299
  431. package/dist/src/modules/auth/lib/validators.mjs +0 -59
  432. package/dist/src/modules/commands/components/menus/context-menu.client.d.mts +0 -39
  433. package/dist/src/modules/commands/components/menus/context-menu.client.mjs +0 -47
  434. package/dist/src/modules/commands/components/menus/dropdown-menu.client.d.mts +0 -29
  435. package/dist/src/modules/commands/components/menus/dropdown-menu.client.mjs +0 -58
  436. package/dist/src/modules/commands/components/menus/floating-menu.client.d.mts +0 -29
  437. package/dist/src/modules/commands/components/menus/floating-menu.client.mjs +0 -33
  438. package/dist/src/modules/commands/components/menus/inline-menu.client.d.mts +0 -29
  439. package/dist/src/modules/commands/components/menus/inline-menu.client.mjs +0 -41
  440. package/dist/src/modules/commands/components/menus/responsive-menu.client.d.mts +0 -16
  441. package/dist/src/modules/commands/components/menus/responsive-menu.client.mjs +0 -22
  442. package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.d.mts +0 -65
  443. package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.mjs +0 -138
  444. package/dist/src/modules/commands/components/primitives/click-command.client.d.mts +0 -26
  445. package/dist/src/modules/commands/components/primitives/click-command.client.mjs +0 -52
  446. package/dist/src/modules/commands/components/primitives/command-trigger.client.d.mts +0 -17
  447. package/dist/src/modules/commands/components/primitives/command-trigger.client.mjs +0 -42
  448. package/dist/src/modules/commands/components/primitives/dialog-command.client.d.mts +0 -53
  449. package/dist/src/modules/commands/components/primitives/dialog-command.client.mjs +0 -116
  450. package/dist/src/modules/commands/components/primitives/dropdown-command.client.d.mts +0 -47
  451. package/dist/src/modules/commands/components/primitives/dropdown-command.client.mjs +0 -131
  452. package/dist/src/modules/commands/components/primitives/empty-command.client.d.mts +0 -20
  453. package/dist/src/modules/commands/components/primitives/empty-command.client.mjs +0 -44
  454. package/dist/src/modules/commands/components/primitives/form-dialog-command.client.d.mts +0 -71
  455. package/dist/src/modules/commands/components/primitives/form-dialog-command.client.mjs +0 -163
  456. package/dist/src/modules/commands/components/render-command.mjs +0 -48
  457. package/dist/src/modules/commands/components/utils/archive-command.client.d.mts +0 -24
  458. package/dist/src/modules/commands/components/utils/archive-command.client.mjs +0 -29
  459. package/dist/src/modules/commands/components/utils/delete-command.client.d.mts +0 -20
  460. package/dist/src/modules/commands/components/utils/delete-command.client.mjs +0 -28
  461. package/dist/src/modules/commands/hooks/use-command-mutation.client.d.mts +0 -11
  462. package/dist/src/modules/commands/hooks/use-command-mutation.client.mjs +0 -39
  463. package/dist/src/modules/commands/hooks/use-command.client.d.mts +0 -31
  464. package/dist/src/modules/commands/hooks/use-command.client.mjs +0 -45
  465. package/dist/src/modules/commands/lib/builder.d.mts +0 -135
  466. package/dist/src/modules/commands/lib/builder.mjs +0 -82
  467. package/dist/src/modules/commands/lib/registery.d.mts +0 -68
  468. package/dist/src/modules/commands/lib/registery.mjs +0 -103
  469. package/dist/src/modules/commands/lib/utils.d.mts +0 -11
  470. package/dist/src/modules/commands/lib/utils.mjs +0 -14
  471. package/dist/src/modules/config/lib/config.d.mts +0 -16
  472. package/dist/src/modules/config/lib/config.mjs +0 -8
  473. package/dist/src/modules/config/lib/context.d.mts +0 -17
  474. package/dist/src/modules/config/lib/context.mjs +0 -7
  475. package/dist/src/modules/config/paths/helpers.d.mts +0 -9
  476. package/dist/src/modules/config/paths/helpers.mjs +0 -8
  477. package/dist/src/modules/config/paths/types.d.mts +0 -31
  478. package/dist/src/modules/data-tables/components/cell/common.client.d.mts +0 -26
  479. package/dist/src/modules/data-tables/components/cell/common.client.mjs +0 -35
  480. package/dist/src/modules/data-tables/components/cell/index.client.d.mts +0 -10
  481. package/dist/src/modules/data-tables/components/cell/index.client.mjs +0 -24
  482. package/dist/src/modules/data-tables/components/cell/select.client.d.mts +0 -10
  483. package/dist/src/modules/data-tables/components/cell/select.client.mjs +0 -36
  484. package/dist/src/modules/data-tables/components/column-header.d.mts +0 -15
  485. package/dist/src/modules/data-tables/components/column-header.mjs +0 -46
  486. package/dist/src/modules/data-tables/components/filters/combobox.client.d.mts +0 -27
  487. package/dist/src/modules/data-tables/components/filters/combobox.client.mjs +0 -97
  488. package/dist/src/modules/data-tables/components/filters/date-range.client.d.mts +0 -24
  489. package/dist/src/modules/data-tables/components/filters/date-range.client.mjs +0 -99
  490. package/dist/src/modules/data-tables/components/filters/search.client.d.mts +0 -17
  491. package/dist/src/modules/data-tables/components/filters/search.client.mjs +0 -32
  492. package/dist/src/modules/data-tables/components/filters/slider.client.d.mts +0 -22
  493. package/dist/src/modules/data-tables/components/filters/slider.client.mjs +0 -128
  494. package/dist/src/modules/data-tables/components/filters/toggle.client.d.mts +0 -17
  495. package/dist/src/modules/data-tables/components/filters/toggle.client.mjs +0 -25
  496. package/dist/src/modules/data-tables/components/footer.mjs +0 -31
  497. package/dist/src/modules/data-tables/components/header.d.mts +0 -40
  498. package/dist/src/modules/data-tables/components/header.mjs +0 -43
  499. package/dist/src/modules/data-tables/components/layout.d.mts +0 -11
  500. package/dist/src/modules/data-tables/components/layout.mjs +0 -14
  501. package/dist/src/modules/data-tables/components/search-input.client.d.mts +0 -6
  502. package/dist/src/modules/data-tables/components/search-input.client.mjs +0 -19
  503. package/dist/src/modules/data-tables/components/skeleton.d.mts +0 -6
  504. package/dist/src/modules/data-tables/components/skeleton.mjs +0 -21
  505. package/dist/src/modules/data-tables/components/table.d.mts +0 -33
  506. package/dist/src/modules/data-tables/components/table.mjs +0 -55
  507. package/dist/src/modules/data-tables/components/toolbar.d.mts +0 -22
  508. package/dist/src/modules/data-tables/components/toolbar.mjs +0 -21
  509. package/dist/src/modules/data-tables/hooks/use-context.client.d.mts +0 -47
  510. package/dist/src/modules/data-tables/hooks/use-context.client.mjs +0 -34
  511. package/dist/src/modules/data-tables/hooks/use-search.client.mjs +0 -39
  512. package/dist/src/modules/data-tables/hooks/use-selection.client.mjs +0 -44
  513. package/dist/src/modules/data-tables/hooks/use-table.client.d.mts +0 -10
  514. package/dist/src/modules/data-tables/hooks/use-table.client.mjs +0 -55
  515. package/dist/src/modules/data-tables/lib/converters/dto.d.mts +0 -50
  516. package/dist/src/modules/data-tables/lib/converters/dto.mjs +0 -24
  517. package/dist/src/modules/data-tables/lib/converters/filters.d.mts +0 -41
  518. package/dist/src/modules/data-tables/lib/converters/filters.mjs +0 -38
  519. package/dist/src/modules/data-tables/lib/converters/pagination.d.mts +0 -17
  520. package/dist/src/modules/data-tables/lib/converters/pagination.mjs +0 -15
  521. package/dist/src/modules/data-tables/lib/converters/search.d.mts +0 -16
  522. package/dist/src/modules/data-tables/lib/converters/search.mjs +0 -15
  523. package/dist/src/modules/data-tables/lib/converters/sorting.d.mts +0 -48
  524. package/dist/src/modules/data-tables/lib/converters/sorting.mjs +0 -55
  525. package/dist/src/modules/data-tables/lib/filters/config.d.mts +0 -13
  526. package/dist/src/modules/data-tables/lib/filters/config.mjs +0 -5
  527. package/dist/src/modules/data-tables/lib/filters/helpers.d.mts +0 -10
  528. package/dist/src/modules/data-tables/lib/filters/helpers.mjs +0 -16
  529. package/dist/src/modules/data-tables/lib/filters/parsers.d.mts +0 -46
  530. package/dist/src/modules/data-tables/lib/filters/parsers.mjs +0 -47
  531. package/dist/src/modules/data-tables/lib/filters/resolvers.d.mts +0 -28
  532. package/dist/src/modules/data-tables/lib/filters/resolvers.mjs +0 -55
  533. package/dist/src/modules/data-tables/lib/helpers/create-column.mjs +0 -10
  534. package/dist/src/modules/data-tables/lib/search-params.d.mts +0 -21
  535. package/dist/src/modules/data-tables/lib/search-params.mjs +0 -16
  536. package/dist/src/modules/data-tables/lib/types.d.mts +0 -54
  537. package/dist/src/modules/data-tables/lib/validators.d.mts +0 -19
  538. package/dist/src/modules/data-tables/lib/validators.mjs +0 -16
  539. package/dist/src/modules/data-tables/server/get-data.server.d.mts +0 -29
  540. package/dist/src/modules/data-tables/server/get-data.server.mjs +0 -47
  541. package/dist/src/modules/data-tables/strategies/helpers/sorting.mjs +0 -37
  542. package/dist/src/modules/data-tables/strategies/infinite/components.mjs +0 -50
  543. package/dist/src/modules/data-tables/strategies/infinite/strategy.d.mts +0 -20
  544. package/dist/src/modules/data-tables/strategies/infinite/strategy.mjs +0 -50
  545. package/dist/src/modules/data-tables/strategies/local/components.mjs +0 -25
  546. package/dist/src/modules/data-tables/strategies/local/strategy.d.mts +0 -12
  547. package/dist/src/modules/data-tables/strategies/local/strategy.mjs +0 -31
  548. package/dist/src/modules/data-tables/strategies/pagination/components.mjs +0 -131
  549. package/dist/src/modules/data-tables/strategies/pagination/strategy.d.mts +0 -12
  550. package/dist/src/modules/data-tables/strategies/pagination/strategy.mjs +0 -45
  551. package/dist/src/modules/data-tables/tables/data-table/components/body.mjs +0 -32
  552. package/dist/src/modules/data-tables/tables/data-table/components/header.mjs +0 -12
  553. package/dist/src/modules/data-tables/tables/data-table/components/row.mjs +0 -13
  554. package/dist/src/modules/data-tables/tables/data-table/components/table.d.mts +0 -8
  555. package/dist/src/modules/data-tables/tables/data-table/components/table.mjs +0 -42
  556. package/dist/src/modules/data-tables/tables/inline-table/components/body.mjs +0 -69
  557. package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.d.mts +0 -11
  558. package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.mjs +0 -14
  559. package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +0 -24
  560. package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +0 -38
  561. package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +0 -11
  562. package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +0 -14
  563. package/dist/src/modules/data-tables/tables/inline-table/components/header.mjs +0 -10
  564. package/dist/src/modules/data-tables/tables/inline-table/components/row.client.mjs +0 -24
  565. package/dist/src/modules/data-tables/tables/inline-table/components/table.d.mts +0 -14
  566. package/dist/src/modules/data-tables/tables/inline-table/components/table.mjs +0 -52
  567. package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +0 -48
  568. package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.mjs +0 -58
  569. package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +0 -29
  570. package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +0 -94
  571. package/dist/src/modules/database/lib/helpers.d.mts +0 -15
  572. package/dist/src/modules/database/lib/helpers.mjs +0 -16
  573. package/dist/src/modules/database/lib/service.server.d.mts +0 -33
  574. package/dist/src/modules/database/lib/service.server.mjs +0 -23
  575. package/dist/src/modules/database/lib/types.d.mts +0 -4
  576. package/dist/src/modules/emails/lib/service.server.d.mts +0 -28
  577. package/dist/src/modules/emails/lib/service.server.mjs +0 -20
  578. package/dist/src/modules/inline/components/cell.client.d.mts +0 -20
  579. package/dist/src/modules/inline/components/cell.client.mjs +0 -46
  580. package/dist/src/modules/inline/components/field.client.d.mts +0 -36
  581. package/dist/src/modules/inline/components/field.client.mjs +0 -61
  582. package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.d.mts +0 -28
  583. package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.mjs +0 -49
  584. package/dist/src/modules/inline/components/inputs/combobox.client.d.mts +0 -23
  585. package/dist/src/modules/inline/components/inputs/combobox.client.mjs +0 -45
  586. package/dist/src/modules/inline/components/inputs/date-time.client.d.mts +0 -25
  587. package/dist/src/modules/inline/components/inputs/date-time.client.mjs +0 -48
  588. package/dist/src/modules/inline/components/inputs/date.client.d.mts +0 -66
  589. package/dist/src/modules/inline/components/inputs/date.client.mjs +0 -175
  590. package/dist/src/modules/inline/components/inputs/editor.client.d.mts +0 -26
  591. package/dist/src/modules/inline/components/inputs/editor.client.mjs +0 -51
  592. package/dist/src/modules/inline/components/inputs/input-recipient.client.d.mts +0 -27
  593. package/dist/src/modules/inline/components/inputs/input-recipient.client.mjs +0 -48
  594. package/dist/src/modules/inline/components/inputs/input.client.d.mts +0 -54
  595. package/dist/src/modules/inline/components/inputs/input.client.mjs +0 -129
  596. package/dist/src/modules/inline/components/inputs/select.client.d.mts +0 -32
  597. package/dist/src/modules/inline/components/inputs/select.client.mjs +0 -64
  598. package/dist/src/modules/inline/components/inputs/switch.client.d.mts +0 -22
  599. package/dist/src/modules/inline/components/inputs/switch.client.mjs +0 -42
  600. package/dist/src/modules/inline/components/inputs/toggle.client.d.mts +0 -24
  601. package/dist/src/modules/inline/components/inputs/toggle.client.mjs +0 -47
  602. package/dist/src/modules/inline/hooks/inline-provider.d.mts +0 -28
  603. package/dist/src/modules/inline/hooks/inline-provider.mjs +0 -25
  604. package/dist/src/modules/inline/hooks/inline-state.client.d.mts +0 -30
  605. package/dist/src/modules/inline/hooks/inline-state.client.mjs +0 -25
  606. package/dist/src/modules/inline/hooks/use-inline.client.d.mts +0 -144
  607. package/dist/src/modules/inline/hooks/use-inline.client.mjs +0 -125
  608. package/dist/src/modules/inline/lib/validators.d.mts +0 -56
  609. package/dist/src/modules/inline/lib/validators.mjs +0 -34
  610. package/dist/src/modules/inline/lib/variants.d.mts +0 -11
  611. package/dist/src/modules/inline/lib/variants.mjs +0 -21
  612. package/dist/src/modules/router/handler/caller.client.d.mts +0 -10
  613. package/dist/src/modules/router/handler/caller.client.mjs +0 -23
  614. package/dist/src/modules/router/handler/caller.server.d.mts +0 -6
  615. package/dist/src/modules/router/handler/caller.server.mjs +0 -7
  616. package/dist/src/modules/router/handler/context.server.d.mts +0 -62
  617. package/dist/src/modules/router/handler/context.server.mjs +0 -20
  618. package/dist/src/modules/router/handler/init.server.d.mts +0 -65
  619. package/dist/src/modules/router/handler/init.server.mjs +0 -55
  620. package/dist/src/modules/router/handler/register.server.d.mts +0 -8
  621. package/dist/src/modules/router/handler/register.server.mjs +0 -10
  622. package/dist/src/modules/router/handler/route.server.d.mts +0 -21
  623. package/dist/src/modules/router/handler/route.server.mjs +0 -32
  624. package/dist/src/modules/router/lib/error.server.d.mts +0 -2
  625. package/dist/src/modules/router/lib/error.server.mjs +0 -3
  626. package/dist/src/modules/router/lib/helpers.mjs +0 -7
  627. package/dist/src/modules/router/lib/query-client.d.mts +0 -10
  628. package/dist/src/modules/router/lib/query-client.mjs +0 -50
  629. package/dist/src/modules/router/lib/query-client.server.d.mts +0 -17
  630. package/dist/src/modules/router/lib/query-client.server.mjs +0 -23
  631. package/dist/src/modules/router/lib/validators.d.mts +0 -12
  632. package/dist/src/modules/router/lib/validators.mjs +0 -10
  633. package/dist/src/modules/storage/components/dropzone-context.client.d.mts +0 -18
  634. package/dist/src/modules/storage/components/dropzone-context.client.mjs +0 -17
  635. package/dist/src/modules/storage/components/dropzone.client.d.mts +0 -52
  636. package/dist/src/modules/storage/components/dropzone.client.mjs +0 -110
  637. package/dist/src/modules/storage/components/image-grid.client.d.mts +0 -32
  638. package/dist/src/modules/storage/components/image-grid.client.mjs +0 -167
  639. package/dist/src/modules/storage/components/image.client.d.mts +0 -7
  640. package/dist/src/modules/storage/components/image.client.mjs +0 -16
  641. package/dist/src/modules/storage/components/upload-button.client.d.mts +0 -11
  642. package/dist/src/modules/storage/components/upload-button.client.mjs +0 -33
  643. package/dist/src/modules/storage/components/upload-zone-context.client.d.mts +0 -30
  644. package/dist/src/modules/storage/components/upload-zone-context.client.mjs +0 -20
  645. package/dist/src/modules/storage/components/upload-zone.client.d.mts +0 -27
  646. package/dist/src/modules/storage/components/upload-zone.client.mjs +0 -111
  647. package/dist/src/modules/storage/lib/constants.d.mts +0 -5
  648. package/dist/src/modules/storage/lib/constants.mjs +0 -5
  649. package/dist/src/modules/storage/lib/helpers.d.mts +0 -29
  650. package/dist/src/modules/storage/lib/helpers.mjs +0 -49
  651. package/dist/src/modules/storage/lib/procedures.server.d.mts +0 -1990
  652. package/dist/src/modules/storage/lib/procedures.server.mjs +0 -21
  653. package/dist/src/modules/storage/lib/router-handlers.server.d.mts +0 -40
  654. package/dist/src/modules/storage/lib/router-handlers.server.mjs +0 -123
  655. package/dist/src/modules/storage/lib/schema.d.mts +0 -291
  656. package/dist/src/modules/storage/lib/schema.mjs +0 -37
  657. package/dist/src/modules/storage/lib/service.server.d.mts +0 -2217
  658. package/dist/src/modules/storage/lib/service.server.mjs +0 -514
  659. package/dist/src/modules/storage/lib/upload.client.d.mts +0 -57
  660. package/dist/src/modules/storage/lib/upload.client.mjs +0 -86
  661. package/dist/src/modules/storage/lib/validators.d.mts +0 -935
  662. package/dist/src/modules/storage/lib/validators.mjs +0 -52
  663. package/dist/src/modules/storage/providers/adapters/s3.server.d.mts +0 -18
  664. package/dist/src/modules/storage/providers/adapters/s3.server.mjs +0 -172
  665. package/dist/src/modules/storage/providers/lib/constants.d.mts +0 -5
  666. package/dist/src/modules/storage/providers/lib/constants.mjs +0 -5
  667. package/dist/src/modules/storage/providers/lib/errors.d.mts +0 -11
  668. package/dist/src/modules/storage/providers/lib/errors.mjs +0 -12
  669. package/dist/src/modules/storage/providers/lib/types.d.mts +0 -20
  670. package/dist/src/modules/storage/providers/lib/validators.d.mts +0 -111
  671. package/dist/src/modules/storage/providers/lib/validators.mjs +0 -74
  672. package/src/modules/router/handler/context.server.ts +0 -28
  673. package/src/modules/storage/lib/procedures.server.ts +0 -60
@@ -1,92 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "../../lib/utils/cn.mjs";
4
- import { Label as Label$1 } from "./label.mjs";
5
- import { jsx } from "react/jsx-runtime";
6
- import { Slot } from "radix-ui";
7
- import * as React$1 from "react";
8
- import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
9
-
10
- //#region src/components/ui/form.client.tsx
11
- const Form$1 = FormProvider;
12
- const FormFieldContext = React$1.createContext({});
13
- const FormField = ({ visible = true, ...props }) => {
14
- if (!visible) return null;
15
- return /* @__PURE__ */ jsx(FormFieldContext.Provider, {
16
- value: { name: props.name },
17
- children: /* @__PURE__ */ jsx(Controller, { ...props })
18
- });
19
- };
20
- const useFormField = () => {
21
- const fieldContext = React$1.useContext(FormFieldContext);
22
- const itemContext = React$1.useContext(FormItemContext);
23
- const { getFieldState } = useFormContext();
24
- const formState = useFormState({ name: fieldContext.name });
25
- const fieldState = getFieldState(fieldContext.name, formState);
26
- if (!fieldContext) throw new Error("useFormField should be used within <FormField>");
27
- const { id } = itemContext;
28
- return {
29
- id,
30
- name: fieldContext.name,
31
- formItemId: `${id}-form-item`,
32
- formDescriptionId: `${id}-form-item-description`,
33
- formMessageId: `${id}-form-item-message`,
34
- ...fieldState
35
- };
36
- };
37
- const FormItemContext = React$1.createContext({});
38
- function FormItem({ className, ...props }) {
39
- const id = React$1.useId();
40
- return /* @__PURE__ */ jsx(FormItemContext.Provider, {
41
- value: { id },
42
- children: /* @__PURE__ */ jsx("div", {
43
- "data-slot": "form-item",
44
- className: cn("grid gap-2", className),
45
- ...props
46
- })
47
- });
48
- }
49
- function FormLabel({ className, ...props }) {
50
- const { error, formItemId } = useFormField();
51
- return /* @__PURE__ */ jsx(Label$1, {
52
- "data-slot": "form-label",
53
- "data-error": !!error,
54
- className: cn("data-[error=true]:text-destructive-foreground", className),
55
- htmlFor: formItemId,
56
- ...props
57
- });
58
- }
59
- function FormControl({ ...props }) {
60
- const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
61
- return /* @__PURE__ */ jsx(Slot.Root, {
62
- "data-slot": "form-control",
63
- id: formItemId,
64
- "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
65
- "aria-invalid": !!error,
66
- ...props
67
- });
68
- }
69
- function FormDescription({ className, ...props }) {
70
- const { formDescriptionId } = useFormField();
71
- return /* @__PURE__ */ jsx("p", {
72
- "data-slot": "form-description",
73
- id: formDescriptionId,
74
- className: cn("text-muted-foreground text-sm", className),
75
- ...props
76
- });
77
- }
78
- function FormMessage({ className, ...props }) {
79
- const { error, formMessageId } = useFormField();
80
- const body = error ? String(error?.message ?? "") : props.children;
81
- if (!body) return null;
82
- return /* @__PURE__ */ jsx("p", {
83
- "data-slot": "form-message",
84
- id: formMessageId,
85
- className: cn("text-destructive-foreground text-sm", className),
86
- ...props,
87
- children: body
88
- });
89
- }
90
-
91
- //#endregion
92
- export { Form$1 as Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
@@ -1,19 +0,0 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
- import { HoverCard } from "radix-ui";
3
- import * as React$1 from "react";
4
-
5
- //#region src/components/ui/hover-card.client.d.ts
6
- declare function HoverCard$1({
7
- ...props
8
- }: React$1.ComponentProps<typeof HoverCard.Root>): react_jsx_runtime0.JSX.Element;
9
- declare function HoverCardTrigger({
10
- ...props
11
- }: React$1.ComponentProps<typeof HoverCard.Trigger>): react_jsx_runtime0.JSX.Element;
12
- declare function HoverCardContent({
13
- className,
14
- align,
15
- sideOffset,
16
- ...props
17
- }: React$1.ComponentProps<typeof HoverCard.Content>): react_jsx_runtime0.JSX.Element;
18
- //#endregion
19
- export { HoverCard$1 as HoverCard, HoverCardContent, HoverCardTrigger };
@@ -1,34 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "../../lib/utils/cn.mjs";
4
- import { jsx } from "react/jsx-runtime";
5
- import { HoverCard } from "radix-ui";
6
-
7
- //#region src/components/ui/hover-card.client.tsx
8
- function HoverCard$1({ ...props }) {
9
- return /* @__PURE__ */ jsx(HoverCard.Root, {
10
- "data-slot": "hover-card",
11
- ...props
12
- });
13
- }
14
- function HoverCardTrigger({ ...props }) {
15
- return /* @__PURE__ */ jsx(HoverCard.Trigger, {
16
- "data-slot": "hover-card-trigger",
17
- ...props
18
- });
19
- }
20
- function HoverCardContent({ className, align = "center", sideOffset = 4, ...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
- })
30
- });
31
- }
32
-
33
- //#endregion
34
- export { HoverCard$1 as HoverCard, HoverCardContent, HoverCardTrigger };
@@ -1,22 +0,0 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/ui/input-date-time.client.d.ts
4
- /**
5
- * DateTimeInput
6
- */
7
- type DateTimeInputProps = Omit<React.ComponentProps<"input">, "type" | "value" | "defaultValue"> & {
8
- defaultValue?: Date | string;
9
- value?: Date | string;
10
- onValueChange?: (date: string | undefined) => void;
11
- onValueBlur?: (date: string | undefined) => void;
12
- };
13
- declare function DateTimeInput({
14
- className,
15
- onValueChange,
16
- onChange,
17
- onValueBlur,
18
- onBlur,
19
- ...props
20
- }: DateTimeInputProps): react_jsx_runtime0.JSX.Element;
21
- //#endregion
22
- export { DateTimeInput, DateTimeInputProps };
@@ -1,33 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "../../lib/utils/cn.mjs";
4
- import { Input } from "./input.mjs";
5
- import { jsx } from "react/jsx-runtime";
6
- import { format } from "date-fns";
7
-
8
- //#region src/components/ui/input-date-time.client.tsx
9
- function DateTimeInput({ className, onValueChange, onChange, onValueBlur, onBlur, ...props }) {
10
- /**
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.
12
- */
13
- const defaultValue = props.defaultValue instanceof Date ? format(props.defaultValue, "yyyy-MM-dd'T'HH:mm") : typeof props.defaultValue === "string" ? props.defaultValue : void 0;
14
- const value = props.value && props.value instanceof Date ? format(props.value, "yyyy-MM-dd'T'HH:mm") : typeof props.value === "string" ? props.value : void 0;
15
- return /* @__PURE__ */ jsx(Input, {
16
- ...props,
17
- type: "datetime-local",
18
- defaultValue,
19
- value,
20
- onChange: (e) => {
21
- onValueChange?.(e.target.value ?? void 0);
22
- onChange?.(e);
23
- },
24
- onBlur: (e) => {
25
- onValueBlur?.(e.target.value ?? void 0);
26
- onBlur?.(e);
27
- },
28
- className: cn("appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none", className)
29
- });
30
- }
31
-
32
- //#endregion
33
- export { DateTimeInput };
@@ -1,13 +0,0 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/ui/input-date.d.ts
4
- /**
5
- * DateInput
6
- */
7
- type DateInputProps = Omit<React.ComponentProps<"input">, "type">;
8
- declare function DateInput({
9
- className,
10
- ...props
11
- }: DateInputProps): react_jsx_runtime0.JSX.Element;
12
- //#endregion
13
- export { DateInput, DateInputProps };
@@ -1,15 +0,0 @@
1
- import { cn } from "../../lib/utils/cn.mjs";
2
- import { Input } from "./input.mjs";
3
- import { jsx } from "react/jsx-runtime";
4
-
5
- //#region src/components/ui/input-date.tsx
6
- function DateInput({ className, ...props }) {
7
- return /* @__PURE__ */ jsx(Input, {
8
- ...props,
9
- type: "date",
10
- className: cn("appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none", className)
11
- });
12
- }
13
-
14
- //#endregion
15
- export { DateInput };
@@ -1,58 +0,0 @@
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 };
@@ -1,105 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "../../lib/utils/cn.mjs";
4
- import { Button } from "./button.mjs";
5
- import { Input } from "./input.mjs";
6
- import { Textarea } from "./textarea.mjs";
7
- import { DateInput } from "./input-date.mjs";
8
- import { DateTimeInput } from "./input-date-time.client.mjs";
9
- import { TimeInput } from "./input-time.mjs";
10
- import { jsx } from "react/jsx-runtime";
11
- import { cva } from "class-variance-authority";
12
-
13
- //#region src/components/ui/input-group.client.tsx
14
- function InputGroup({ className, ...props }) {
15
- return /* @__PURE__ */ jsx("div", {
16
- "data-slot": "input-group",
17
- role: "group",
18
- className: cn("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input outline-none transition-colors in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
19
- ...props
20
- });
21
- }
22
- const inputGroupAddonVariants = cva("text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none", {
23
- variants: { align: {
24
- "inline-start": "pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem] order-first",
25
- "inline-end": "pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem] order-last",
26
- "block-start": "px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start",
27
- "block-end": "px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"
28
- } },
29
- defaultVariants: { align: "inline-start" }
30
- });
31
- function InputGroupAddon({ className, align = "inline-start", ...props }) {
32
- return /* @__PURE__ */ jsx("div", {
33
- role: "group",
34
- "data-slot": "input-group-addon",
35
- "data-align": align,
36
- className: cn(inputGroupAddonVariants({ align }), className),
37
- onClick: (e) => {
38
- if (e.target.closest("button")) return;
39
- e.currentTarget.parentElement?.querySelector("input")?.focus();
40
- },
41
- ...props
42
- });
43
- }
44
- const inputGroupButtonVariants = cva("gap-2 text-sm flex items-center shadow-none", {
45
- variants: { size: {
46
- xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
47
- sm: "",
48
- "icon-xs": "size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
49
- "icon-sm": "size-8 p-0 has-[>svg]:p-0"
50
- } },
51
- defaultVariants: { size: "xs" }
52
- });
53
- function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
54
- return /* @__PURE__ */ jsx(Button, {
55
- type,
56
- "data-size": size,
57
- variant,
58
- className: cn(inputGroupButtonVariants({ size }), className),
59
- ...props
60
- });
61
- }
62
- function InputGroupText({ className, ...props }) {
63
- return /* @__PURE__ */ jsx("span", {
64
- className: cn("flex items-center gap-2 text-muted-foreground text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", className),
65
- ...props
66
- });
67
- }
68
- function InputGroupInput({ className, ...props }) {
69
- return /* @__PURE__ */ jsx(Input, {
70
- "data-slot": "input-group-control",
71
- className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
72
- ...props
73
- });
74
- }
75
- function InputGroupTextarea({ className, ...props }) {
76
- return /* @__PURE__ */ jsx(Textarea, {
77
- "data-slot": "input-group-control",
78
- className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
79
- ...props
80
- });
81
- }
82
- function InputGroupTimeInput({ className, ...props }) {
83
- return /* @__PURE__ */ jsx(TimeInput, {
84
- "data-slot": "input-group-control",
85
- className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
86
- ...props
87
- });
88
- }
89
- function InputGroupDateInput({ className, ...props }) {
90
- return /* @__PURE__ */ jsx(DateInput, {
91
- "data-slot": "input-group-control",
92
- className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
93
- ...props
94
- });
95
- }
96
- function InputGroupDateTimeInput({ className, ...props }) {
97
- return /* @__PURE__ */ jsx(DateTimeInput, {
98
- "data-slot": "input-group-control",
99
- className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
100
- ...props
101
- });
102
- }
103
-
104
- //#endregion
105
- export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupDateInput, InputGroupDateTimeInput, InputGroupInput, InputGroupText, InputGroupTextarea, InputGroupTimeInput };
@@ -1,26 +0,0 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/ui/input-recipient.d.ts
4
- type Contact = {
5
- id: string;
6
- email: string;
7
- name: string;
8
- };
9
- interface RecipientInputProps {
10
- contacts: Contact[];
11
- value: string[];
12
- onChange: (value: string[]) => void;
13
- placeholder?: string;
14
- disabled?: boolean;
15
- className?: string;
16
- }
17
- declare function RecipientInput({
18
- contacts,
19
- value,
20
- onChange,
21
- placeholder,
22
- disabled,
23
- className
24
- }: RecipientInputProps): react_jsx_runtime0.JSX.Element;
25
- //#endregion
26
- export { Contact, RecipientInput };
@@ -1,218 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "../../lib/utils/cn.mjs";
4
- import { Button } from "./button.mjs";
5
- import { Popover, PopoverContent, PopoverTrigger } from "./popover.client.mjs";
6
- import { X } from "lucide-react";
7
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
- import * as React$1 from "react";
9
- import { toast } from "sonner";
10
-
11
- //#region src/components/ui/input-recipient.tsx
12
- const isValidEmail = (email) => {
13
- return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
14
- };
15
- function RecipientInput({ contacts, value, onChange, placeholder = "Kies een ontvanger...", disabled = false, className }) {
16
- const [open, setOpen] = React$1.useState(false);
17
- const [inputValue, setInputValue] = React$1.useState("");
18
- const [highlightedIndex, setHighlightedIndex] = React$1.useState(0);
19
- const inputRef = React$1.useRef(null);
20
- const containerRef = React$1.useRef(null);
21
- const itemRefs = React$1.useRef([]);
22
- const selectedContacts = React$1.useMemo(() => {
23
- return value.map((email) => {
24
- return contacts.find((c) => c.email === email) || {
25
- id: email,
26
- email,
27
- name: email
28
- };
29
- }).filter(Boolean);
30
- }, [value, contacts]);
31
- const availableContacts = React$1.useMemo(() => {
32
- return contacts.filter((contact) => !value.includes(contact.email));
33
- }, [contacts, value]);
34
- const filteredContacts = React$1.useMemo(() => {
35
- if (!inputValue?.trim()) return availableContacts;
36
- const search = inputValue.toLowerCase().trim();
37
- return availableContacts.filter((contact) => contact.email.toLowerCase().includes(search) || contact.name.toLowerCase().includes(search));
38
- }, [availableContacts, inputValue]);
39
- React$1.useEffect(() => {
40
- setHighlightedIndex(0);
41
- }, [filteredContacts]);
42
- React$1.useEffect(() => {
43
- if (open && highlightedIndex >= 0 && itemRefs.current[highlightedIndex]) itemRefs.current[highlightedIndex]?.scrollIntoView({
44
- block: "nearest",
45
- behavior: "smooth"
46
- });
47
- }, [highlightedIndex, open]);
48
- React$1.useEffect(() => {
49
- const handleClickOutside = (event) => {
50
- if (containerRef.current && !containerRef.current.contains(event.target)) setOpen(false);
51
- };
52
- if (open) {
53
- document.addEventListener("mousedown", handleClickOutside);
54
- return () => {
55
- document.removeEventListener("mousedown", handleClickOutside);
56
- };
57
- }
58
- }, [open]);
59
- const handleSelect = (contact) => {
60
- onChange([...value, contact.email]);
61
- setInputValue("");
62
- setOpen(false);
63
- setHighlightedIndex(0);
64
- inputRef.current?.focus();
65
- };
66
- const handleAddManualEmail = () => {
67
- const trimmedEmail = inputValue.trim();
68
- if (!trimmedEmail) return;
69
- if (!isValidEmail(trimmedEmail)) {
70
- toast.error("Ongeldig email adres");
71
- return;
72
- }
73
- if (value.includes(trimmedEmail)) {
74
- toast.error("Email is al toegevoegd");
75
- setInputValue("");
76
- return;
77
- }
78
- onChange([...value, trimmedEmail]);
79
- setInputValue("");
80
- setOpen(false);
81
- setHighlightedIndex(0);
82
- inputRef.current?.focus();
83
- };
84
- const handleRemove = (email) => {
85
- onChange(value.filter((v) => v !== email));
86
- inputRef.current?.focus();
87
- };
88
- const handleKeyDown = (e) => {
89
- if (e.key === "ArrowDown") {
90
- e.preventDefault();
91
- if (!open) setOpen(true);
92
- else setHighlightedIndex((prev) => prev < filteredContacts.length - 1 ? prev + 1 : prev);
93
- } else if (e.key === "ArrowUp") {
94
- e.preventDefault();
95
- if (open) setHighlightedIndex((prev) => prev > 0 ? prev - 1 : prev);
96
- } else if (e.key === "Enter") {
97
- e.preventDefault();
98
- if (open && filteredContacts[highlightedIndex]) handleSelect(filteredContacts[highlightedIndex]);
99
- else if (inputValue.trim()) handleAddManualEmail();
100
- } else if (e.key === "Escape") {
101
- e.preventDefault();
102
- setOpen(false);
103
- } else if (e.key === "Backspace" && !inputValue && value.length > 0) {
104
- e.preventDefault();
105
- const lastEmail = value[value.length - 1];
106
- if (lastEmail) handleRemove(lastEmail);
107
- }
108
- };
109
- return /* @__PURE__ */ jsxs(Popover, {
110
- open,
111
- children: [/* @__PURE__ */ jsx(PopoverTrigger, {
112
- asChild: true,
113
- children: /* @__PURE__ */ jsxs("div", {
114
- ref: containerRef,
115
- className: cn("flex min-h-0 w-full flex-wrap items-center gap-2 rounded-lg border border-input bg-background px-3 py-2 text-base ring-offset-background transition-colors md:text-sm", "focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50", disabled && "cursor-not-allowed opacity-50", className),
116
- onClick: () => {
117
- if (!disabled) inputRef.current?.focus();
118
- },
119
- children: [selectedContacts.map((contact) => /* @__PURE__ */ jsxs("div", {
120
- className: "flex items-center gap-2 rounded-full border border-border bg-accent/50 px-2 py-0.5",
121
- children: [/* @__PURE__ */ jsx("span", {
122
- className: "text-xs",
123
- children: contact.email
124
- }), /* @__PURE__ */ jsxs(Button, {
125
- type: "button",
126
- variant: "ghost",
127
- size: "icon",
128
- className: "h-4 w-4 rounded-full p-0 hover:bg-destructive/20",
129
- onClick: (e) => {
130
- e.stopPropagation();
131
- handleRemove(contact.email);
132
- },
133
- disabled,
134
- children: [/* @__PURE__ */ jsx(X, { className: "h-3 w-3" }), /* @__PURE__ */ jsxs("span", {
135
- className: "sr-only",
136
- children: ["Verwijder ", contact.email]
137
- })]
138
- })]
139
- }, contact.id)), /* @__PURE__ */ jsx("input", {
140
- ref: inputRef,
141
- type: "text",
142
- value: inputValue,
143
- onChange: (e) => {
144
- setInputValue(e.target.value);
145
- if (e.target.value) setOpen(true);
146
- },
147
- onKeyDown: handleKeyDown,
148
- placeholder: value.length === 0 ? placeholder : "",
149
- disabled,
150
- className: "min-w-30 flex-1 bg-transparent outline-none placeholder:text-muted-foreground placeholder:text-sm disabled:cursor-not-allowed"
151
- })]
152
- })
153
- }), /* @__PURE__ */ jsx(PopoverContent, {
154
- className: "w-full p-0",
155
- align: "start",
156
- onOpenAutoFocus: (e) => e.preventDefault(),
157
- style: { width: containerRef.current?.offsetWidth || "auto" },
158
- children: /* @__PURE__ */ jsx("div", {
159
- className: "max-h-75 overflow-y-auto p-1",
160
- children: filteredContacts.length === 0 && inputValue ? /* @__PURE__ */ jsxs("div", {
161
- className: "px-2 py-2 text-muted-foreground",
162
- children: [/* @__PURE__ */ jsx("div", {
163
- className: "mb-2 text-xs",
164
- children: "Geen contacten gevonden."
165
- }), isValidEmail(inputValue.trim()) && /* @__PURE__ */ jsxs("button", {
166
- type: "button",
167
- onClick: handleAddManualEmail,
168
- className: "w-full rounded-sm px-2 py-1.5 text-left text-xs transition-colors hover:bg-accent",
169
- children: [/* @__PURE__ */ jsx("span", {
170
- className: "font-medium",
171
- children: "Voeg toe: "
172
- }), /* @__PURE__ */ jsx("span", {
173
- className: "text-muted-foreground",
174
- children: inputValue.trim()
175
- })]
176
- })]
177
- }) : filteredContacts.length === 0 ? /* @__PURE__ */ jsx("div", {
178
- className: "py-6 text-center text-muted-foreground text-xs",
179
- children: "Geen contacten gevonden."
180
- }) : /* @__PURE__ */ jsxs(Fragment, { children: [filteredContacts.map((contact, index) => /* @__PURE__ */ jsx("button", {
181
- ref: (el) => {
182
- itemRefs.current[index] = el;
183
- },
184
- type: "button",
185
- onClick: () => handleSelect(contact),
186
- className: cn("flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs outline-hidden transition-colors hover:bg-accent", highlightedIndex === index && "bg-accent"),
187
- children: /* @__PURE__ */ jsxs("div", {
188
- className: "flex flex-col items-start",
189
- children: [/* @__PURE__ */ jsx("span", {
190
- className: "font-medium text-xs",
191
- children: contact.name
192
- }), /* @__PURE__ */ jsx("span", {
193
- className: "text-muted-foreground text-xs",
194
- children: contact.email
195
- })]
196
- })
197
- }, contact.id)), inputValue && isValidEmail(inputValue.trim()) && /* @__PURE__ */ jsx("div", {
198
- className: "mt-1 border-t pt-1",
199
- children: /* @__PURE__ */ jsxs("button", {
200
- type: "button",
201
- onClick: handleAddManualEmail,
202
- className: "w-full rounded-sm px-2 py-1.5 text-left text-xs transition-colors hover:bg-accent",
203
- children: [/* @__PURE__ */ jsx("span", {
204
- className: "font-medium",
205
- children: "Voeg toe: "
206
- }), /* @__PURE__ */ jsx("span", {
207
- className: "text-muted-foreground",
208
- children: inputValue.trim()
209
- })]
210
- })
211
- })] })
212
- })
213
- })]
214
- });
215
- }
216
-
217
- //#endregion
218
- export { RecipientInput };
@@ -1,13 +0,0 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
- //#region src/components/ui/input-time.d.ts
4
- /**
5
- * TimeInput
6
- */
7
- type TimeInputProps = Omit<React.ComponentProps<"input">, "type">;
8
- declare function TimeInput({
9
- className,
10
- ...props
11
- }: TimeInputProps): react_jsx_runtime0.JSX.Element;
12
- //#endregion
13
- export { TimeInput, TimeInputProps };
@@ -1,15 +0,0 @@
1
- import { cn } from "../../lib/utils/cn.mjs";
2
- import { Input } from "./input.mjs";
3
- import { jsx } from "react/jsx-runtime";
4
-
5
- //#region src/components/ui/input-time.tsx
6
- function TimeInput({ className, ...props }) {
7
- return /* @__PURE__ */ jsx(Input, {
8
- ...props,
9
- type: "time",
10
- className: cn("appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none", className)
11
- });
12
- }
13
-
14
- //#endregion
15
- export { TimeInput };