@tulip-systems/core 0.2.1 → 0.4.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 (368) hide show
  1. package/dist/auth/client.d.ts +3 -1
  2. package/dist/auth/client.js +4 -2
  3. package/dist/auth/server.d.ts +2 -2
  4. package/dist/auth/server.js +3 -3
  5. package/dist/auth.d.ts +2 -1
  6. package/dist/auth.js +3 -2
  7. package/dist/commands/client.d.ts +4 -4
  8. package/dist/commands/client.js +4 -4
  9. package/dist/components/client.d.ts +5 -3
  10. package/dist/components/client.js +6 -4
  11. package/dist/components/common/icons.d.ts +5 -2
  12. package/dist/components/common/icons.d.ts.map +1 -1
  13. package/dist/components/common/icons.js +4 -1
  14. package/dist/components/common/icons.js.map +1 -1
  15. package/dist/components/common/status.d.ts +3 -3
  16. package/dist/components/editor/components/content.client.d.ts +2 -2
  17. package/dist/components/editor/components/fixed-menu.client.d.ts +2 -2
  18. package/dist/components/editor/context.client.d.ts +2 -2
  19. package/dist/components/editor/index.client.d.ts +2 -2
  20. package/dist/components/editor/preview.client.d.ts +2 -2
  21. package/dist/components/header/back-button.client.d.ts +2 -2
  22. package/dist/components/header/bottom-bar.client.d.ts +5 -5
  23. package/dist/components/header/bottom-bar.client.d.ts.map +1 -1
  24. package/dist/components/header/bottom-bar.client.js.map +1 -1
  25. package/dist/components/header/breadcrumbs.client.d.ts +7 -7
  26. package/dist/components/header/breadcrumbs.client.js +1 -1
  27. package/dist/components/header/header.client.d.ts +2 -2
  28. package/dist/components/header/mobile-nav-switcher.client.d.ts +2 -2
  29. package/dist/components/header/top-bar.client.d.ts +4 -4
  30. package/dist/components/layouts/admin-content.client.d.ts +13 -0
  31. package/dist/components/layouts/admin-content.client.d.ts.map +1 -0
  32. package/dist/components/layouts/admin-layout.d.ts +8 -0
  33. package/dist/components/layouts/admin-layout.d.ts.map +1 -0
  34. package/dist/components/layouts/admin-layout.js +15 -0
  35. package/dist/components/layouts/admin-layout.js.map +1 -0
  36. package/dist/components/layouts/admin-loading.d.ts +3 -3
  37. package/dist/components/layouts/admin-loading.d.ts.map +1 -1
  38. package/dist/components/layouts/admin-loading.js +2 -2
  39. package/dist/components/layouts/admin-loading.js.map +1 -1
  40. package/dist/components/layouts/empty-page.d.ts +4 -4
  41. package/dist/components/layouts/list-layout.d.ts +2 -2
  42. package/dist/components/layouts/not-found-page.d.ts +4 -3
  43. package/dist/components/layouts/not-found-page.d.ts.map +1 -1
  44. package/dist/components/layouts/not-found-page.js +8 -2
  45. package/dist/components/layouts/not-found-page.js.map +1 -1
  46. package/dist/components/layouts/not-found-section.js +1 -1
  47. package/dist/components/layouts/not-found-section.js.map +1 -1
  48. package/dist/components/layouts/providers.client.d.ts +2 -2
  49. package/dist/components/layouts/root-layout.server.d.ts +2 -2
  50. package/dist/components/layouts/root-layout.server.d.ts.map +1 -1
  51. package/dist/components/layouts/root-loading.d.ts +7 -0
  52. package/dist/components/layouts/root-loading.d.ts.map +1 -0
  53. package/dist/components/layouts/root-loading.js +14 -0
  54. package/dist/components/layouts/root-loading.js.map +1 -0
  55. package/dist/components/layouts/tab-layout.d.ts +2 -2
  56. package/dist/components/lists/data-list.d.ts +5 -5
  57. package/dist/components/lists/data-stack.d.ts +8 -8
  58. package/dist/components/{layouts → navigation}/admin-sidebar-header.client.js +8 -9
  59. package/dist/components/navigation/admin-sidebar-header.client.js.map +1 -0
  60. package/dist/components/navigation/admin-sidebar-paths.client.d.ts +81 -0
  61. package/dist/components/navigation/admin-sidebar-paths.client.d.ts.map +1 -0
  62. package/dist/components/navigation/admin-sidebar-paths.client.js +143 -0
  63. package/dist/components/navigation/admin-sidebar-paths.client.js.map +1 -0
  64. package/dist/components/navigation/admin-sidebar-skeleton.js +31 -0
  65. package/dist/components/navigation/admin-sidebar-skeleton.js.map +1 -0
  66. package/dist/components/server.d.ts +1 -1
  67. package/dist/components/server.js +1 -1
  68. package/dist/components/ui/accordion.d.ts +5 -5
  69. package/dist/components/ui/alert-dialog.d.ts +12 -12
  70. package/dist/components/ui/alert.d.ts +6 -6
  71. package/dist/components/ui/aspect-ratio.d.ts +2 -2
  72. package/dist/components/ui/avatar.client.d.ts +4 -4
  73. package/dist/components/ui/badge.d.ts +4 -4
  74. package/dist/components/ui/breadcrumb.d.ts +8 -8
  75. package/dist/components/ui/button.d.ts +4 -4
  76. package/dist/components/ui/calendar.d.ts +2 -2
  77. package/dist/components/ui/card.d.ts +7 -7
  78. package/dist/components/ui/carousel.d.ts +6 -6
  79. package/dist/components/ui/chart.client.d.ts +5 -5
  80. package/dist/components/ui/checkbox.d.ts +2 -2
  81. package/dist/components/ui/collapsible.client.d.ts +4 -4
  82. package/dist/components/ui/color-picker.client.d.ts +2 -2
  83. package/dist/components/ui/combobox-dropdown.client.d.ts +2 -2
  84. package/dist/components/ui/combobox.client.d.ts +2 -2
  85. package/dist/components/ui/command.d.ts +10 -10
  86. package/dist/components/ui/context-menu.d.ts +16 -16
  87. package/dist/components/ui/dialog.client.d.ts +11 -11
  88. package/dist/components/ui/drawer.client.d.ts +11 -11
  89. package/dist/components/ui/dropdown-menu.d.ts +16 -16
  90. package/dist/components/ui/form.client.d.ts +8 -8
  91. package/dist/components/ui/hover-card.client.d.ts +4 -4
  92. package/dist/components/ui/input.d.ts +2 -2
  93. package/dist/components/ui/label.d.ts +2 -2
  94. package/dist/components/ui/navigation-menu.d.ts +11 -11
  95. package/dist/components/ui/pagination.d.ts +8 -8
  96. package/dist/components/ui/popover.d.ts +5 -5
  97. package/dist/components/ui/progress.client.d.ts +2 -2
  98. package/dist/components/ui/radio-group.d.ts +3 -3
  99. package/dist/components/ui/resizable.client.d.ts +4 -4
  100. package/dist/components/ui/scroll-area.d.ts +3 -3
  101. package/dist/components/ui/select.client.d.ts +11 -11
  102. package/dist/components/ui/separator.d.ts +2 -2
  103. package/dist/components/ui/sheet.client.d.ts +9 -9
  104. package/dist/components/ui/sidebar.client.d.ts +24 -24
  105. package/dist/components/ui/sidebar.client.js +1 -1
  106. package/dist/components/ui/skeleton.d.ts +2 -2
  107. package/dist/components/ui/slider.d.ts +2 -2
  108. package/dist/components/ui/sonner.client.d.ts +2 -2
  109. package/dist/components/ui/sonner.client.js +1 -1
  110. package/dist/components/ui/spinner.js +63 -0
  111. package/dist/components/ui/spinner.js.map +1 -0
  112. package/dist/components/ui/switch.d.ts +2 -2
  113. package/dist/components/ui/tabs.d.ts +5 -5
  114. package/dist/components/ui/textarea.d.ts +2 -2
  115. package/dist/components/ui/time-input.client.d.ts +2 -2
  116. package/dist/components/ui/toggle-group.client.d.ts +3 -3
  117. package/dist/components/ui/toggle.d.ts +4 -4
  118. package/dist/components/ui/tooltip.client.d.ts +5 -5
  119. package/dist/components/ui/tree.client.d.ts +5 -5
  120. package/dist/components/ui/tree.client.d.ts.map +1 -1
  121. package/dist/components.d.ts +6 -5
  122. package/dist/components.js +8 -7
  123. package/dist/config/server.d.ts +2 -3
  124. package/dist/config/server.js +3 -4
  125. package/dist/config.d.ts +3 -2
  126. package/dist/config.js +2 -1
  127. package/dist/lib/client.js +1 -1
  128. package/dist/lib/hooks/use-action.d.ts +2 -2
  129. package/dist/modules/auth/components/allowed.client.js +1 -1
  130. package/dist/modules/auth/components/allowed.client.js.map +1 -1
  131. package/dist/modules/auth/components/auth-layout.server.d.ts +3 -4
  132. package/dist/modules/auth/components/auth-layout.server.d.ts.map +1 -1
  133. package/dist/modules/auth/components/auth-layout.server.js +1 -4
  134. package/dist/modules/auth/components/auth-layout.server.js.map +1 -1
  135. package/dist/modules/auth/components/auth-loading.d.ts +7 -0
  136. package/dist/modules/auth/components/auth-loading.d.ts.map +1 -0
  137. package/dist/modules/auth/components/auth-loading.js +18 -0
  138. package/dist/modules/auth/components/auth-loading.js.map +1 -0
  139. package/dist/modules/auth/components/forget-password-page.client.js +2 -2
  140. package/dist/modules/auth/components/guard.client.js +16 -0
  141. package/dist/modules/auth/components/guard.client.js.map +1 -0
  142. package/dist/modules/auth/components/login-page.client.d.ts +1 -5
  143. package/dist/modules/auth/components/login-page.client.d.ts.map +1 -1
  144. package/dist/modules/auth/components/login-page.client.js +41 -31
  145. package/dist/modules/auth/components/login-page.client.js.map +1 -1
  146. package/dist/modules/auth/components/reset-password-page.client.js +3 -3
  147. package/dist/modules/auth/components/update-password-command.d.ts +1 -1
  148. package/dist/modules/auth/components/update-password-command.js +1 -1
  149. package/dist/modules/auth/handler/client.client.d.ts +48 -48
  150. package/dist/modules/auth/handler/client.client.d.ts.map +1 -1
  151. package/dist/modules/auth/handler/proxy.server.d.ts +13 -0
  152. package/dist/modules/auth/handler/proxy.server.d.ts.map +1 -0
  153. package/dist/modules/auth/handler/proxy.server.js +22 -0
  154. package/dist/modules/auth/handler/proxy.server.js.map +1 -0
  155. package/dist/modules/auth/handler/server.server.js +3 -1
  156. package/dist/modules/auth/handler/server.server.js.map +1 -1
  157. package/dist/modules/auth/hooks/use-permission.d.ts +26 -0
  158. package/dist/modules/auth/hooks/use-permission.d.ts.map +1 -0
  159. package/dist/modules/auth/hooks/{use-permission.client.js → use-permission.js} +5 -3
  160. package/dist/modules/auth/hooks/use-permission.js.map +1 -0
  161. package/dist/modules/auth/hooks/use-session.d.ts +34 -0
  162. package/dist/modules/auth/hooks/use-session.d.ts.map +1 -0
  163. package/dist/modules/auth/hooks/use-session.js +21 -0
  164. package/dist/modules/auth/hooks/use-session.js.map +1 -0
  165. package/dist/modules/auth/lib/helpers.server.d.ts +2 -2
  166. package/dist/modules/auth/lib/helpers.server.d.ts.map +1 -1
  167. package/dist/modules/auth/lib/helpers.server.js +3 -6
  168. package/dist/modules/auth/lib/helpers.server.js.map +1 -1
  169. package/dist/modules/auth/lib/validators.d.ts +4 -4
  170. package/dist/modules/auth/lib/validators.d.ts.map +1 -1
  171. package/dist/modules/auth/lib/validators.js +1 -1
  172. package/dist/modules/auth/lib/validators.js.map +1 -1
  173. package/dist/modules/commands/components/alert-dialog-command.client.d.ts +11 -11
  174. package/dist/modules/commands/components/alert-dialog-command.client.js +1 -1
  175. package/dist/modules/commands/components/click-command.client.d.ts +2 -2
  176. package/dist/modules/commands/components/command-trigger.client.d.ts +4 -4
  177. package/dist/modules/commands/components/command-trigger.client.js +1 -1
  178. package/dist/modules/commands/components/dialog-command.client.d.ts +8 -8
  179. package/dist/modules/commands/components/dialog-command.client.js +1 -1
  180. package/dist/modules/commands/components/dropdown-command.client.d.ts +5 -5
  181. package/dist/modules/commands/components/empty-command.client.d.ts +2 -2
  182. package/dist/modules/commands/components/form-dialog-command.client.d.ts +12 -12
  183. package/dist/modules/commands/components/form-dialog-command.client.js +1 -1
  184. package/dist/modules/commands/hooks/use-command-action.client.js +1 -1
  185. package/dist/modules/commands/hooks/use-command-menu.client.js +1 -1
  186. package/dist/modules/commands/hooks/use-command-menu.client.js.map +1 -1
  187. package/dist/modules/commands/menus/context-menu.client.d.ts +2 -2
  188. package/dist/modules/commands/menus/dropdown-menu.client.d.ts +8 -4
  189. package/dist/modules/commands/menus/dropdown-menu.client.d.ts.map +1 -1
  190. package/dist/modules/commands/menus/dropdown-menu.client.js +9 -1
  191. package/dist/modules/commands/menus/dropdown-menu.client.js.map +1 -1
  192. package/dist/modules/commands/menus/inline-menu.client.d.ts +8 -4
  193. package/dist/modules/commands/menus/inline-menu.client.d.ts.map +1 -1
  194. package/dist/modules/commands/menus/inline-menu.client.js +12 -1
  195. package/dist/modules/commands/menus/inline-menu.client.js.map +1 -1
  196. package/dist/modules/commands/menus/responsive-menu.client.d.ts +2 -1
  197. package/dist/modules/commands/menus/responsive-menu.client.d.ts.map +1 -1
  198. package/dist/modules/commands/menus/responsive-menu.client.js +6 -3
  199. package/dist/modules/commands/menus/responsive-menu.client.js.map +1 -1
  200. package/dist/modules/commands/utils/archive-command.client.d.ts +3 -3
  201. package/dist/modules/commands/utils/delete-command.client.d.ts +2 -2
  202. package/dist/modules/commands/utils/send-mail-command.client.d.ts +2 -2
  203. package/dist/modules/commands/utils/send-mail-command.client.d.ts.map +1 -1
  204. package/dist/modules/commands/utils/send-mail-command.client.js +3 -3
  205. package/dist/modules/config/db/helpers.d.ts +5 -5
  206. package/dist/modules/config/db/helpers.d.ts.map +1 -1
  207. package/dist/modules/config/lib/config.server.d.ts +0 -2
  208. package/dist/modules/config/lib/config.server.d.ts.map +1 -1
  209. package/dist/modules/config/lib/config.server.js.map +1 -1
  210. package/dist/modules/config/lib/resolve.server.d.ts +192 -190
  211. package/dist/modules/config/lib/resolve.server.d.ts.map +1 -1
  212. package/dist/modules/config/paths/helpers.d.ts +11 -0
  213. package/dist/modules/config/paths/helpers.d.ts.map +1 -0
  214. package/dist/modules/config/paths/helpers.js +9 -0
  215. package/dist/modules/config/paths/helpers.js.map +1 -0
  216. package/dist/modules/config/paths/types.d.ts +8 -37
  217. package/dist/modules/config/paths/types.d.ts.map +1 -1
  218. package/dist/modules/config/router/client.server.d.ts +4 -4
  219. package/dist/modules/config/router/client.server.d.ts.map +1 -1
  220. package/dist/modules/config/router/context.server.d.ts +194 -192
  221. package/dist/modules/config/router/context.server.d.ts.map +1 -1
  222. package/dist/modules/config/router/init.server.d.ts +200 -198
  223. package/dist/modules/config/router/init.server.d.ts.map +1 -1
  224. package/dist/modules/data-tables/components/cell/common.client.d.ts +5 -5
  225. package/dist/modules/data-tables/components/cell/common.client.d.ts.map +1 -1
  226. package/dist/modules/data-tables/components/column-header.d.ts +2 -2
  227. package/dist/modules/data-tables/components/filters/combobox.client.d.ts +2 -2
  228. package/dist/modules/data-tables/components/filters/combobox.client.d.ts.map +1 -1
  229. package/dist/modules/data-tables/components/filters/combobox.client.js +1 -1
  230. package/dist/modules/data-tables/components/filters/combobox.client.js.map +1 -1
  231. package/dist/modules/data-tables/components/filters/slider.client.d.ts +2 -2
  232. package/dist/modules/data-tables/components/filters/slider.client.d.ts.map +1 -1
  233. package/dist/modules/data-tables/components/header.d.ts +4 -4
  234. package/dist/modules/data-tables/components/layout.d.ts +2 -2
  235. package/dist/modules/data-tables/components/search-input.client.d.ts +2 -2
  236. package/dist/modules/data-tables/components/search-input.client.d.ts.map +1 -1
  237. package/dist/modules/data-tables/components/skeleton.d.ts +2 -2
  238. package/dist/modules/data-tables/components/table.d.ts +7 -7
  239. package/dist/modules/data-tables/components/toolbar.d.ts +3 -3
  240. package/dist/modules/data-tables/hooks/use-context.client.d.ts +2 -2
  241. package/dist/modules/data-tables/hooks/use-context.client.d.ts.map +1 -1
  242. package/dist/modules/data-tables/lib/filters/resolvers.d.ts +1 -1
  243. package/dist/modules/data-tables/lib/filters/resolvers.d.ts.map +1 -1
  244. package/dist/modules/data-tables/lib/search-params.d.ts +5 -5
  245. package/dist/modules/data-tables/lib/search-params.d.ts.map +1 -1
  246. package/dist/modules/data-tables/lib/types.d.ts +1 -1
  247. package/dist/modules/data-tables/tables/data-table/components/table.d.ts +2 -2
  248. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.ts +2 -2
  249. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.ts.map +1 -1
  250. package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.ts +2 -2
  251. package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.ts.map +1 -1
  252. package/dist/modules/data-tables/tables/inline-table/components/inputs/combobox.client.d.ts +2 -2
  253. package/dist/modules/data-tables/tables/inline-table/components/inputs/input.client.d.ts +3 -3
  254. package/dist/modules/data-tables/tables/inline-table/components/inputs/read-only.d.ts +2 -2
  255. package/dist/modules/data-tables/tables/inline-table/components/inputs/select.client.d.ts +2 -2
  256. package/dist/modules/data-tables/tables/inline-table/components/table.d.ts +2 -2
  257. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.ts +2 -2
  258. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.js +1 -1
  259. package/dist/modules/data-tables/tables/inline-table/hooks/use-input.client.js +1 -1
  260. package/dist/modules/data-tables/tables/inline-table/hooks/use-input.client.js.map +1 -1
  261. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.ts +2 -2
  262. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.ts.map +1 -1
  263. package/dist/modules/inline-edit/components/combobox.client.d.ts +2 -2
  264. package/dist/modules/inline-edit/components/combobox.client.d.ts.map +1 -1
  265. package/dist/modules/inline-edit/components/date-input.client.d.ts +2 -2
  266. package/dist/modules/inline-edit/components/date-input.client.js +1 -1
  267. package/dist/modules/inline-edit/components/date-picker.client.d.ts +2 -2
  268. package/dist/modules/inline-edit/components/editor.client.d.ts +2 -2
  269. package/dist/modules/inline-edit/components/input-toggle.client.d.ts +2 -2
  270. package/dist/modules/inline-edit/components/input.client.d.ts +3 -3
  271. package/dist/modules/inline-edit/components/richtext.client.d.ts +2 -2
  272. package/dist/modules/inline-edit/components/select.client.d.ts +6 -6
  273. package/dist/modules/inline-edit/components/switch.client.d.ts +2 -2
  274. package/dist/modules/inline-edit/components/toggle.client.d.ts +2 -2
  275. package/dist/modules/inline-edit/hooks/context.client.d.ts +2 -2
  276. package/dist/modules/inline-edit/hooks/use-inline.client.js +1 -1
  277. package/dist/modules/inline-edit/hooks/use-inline.client.js.map +1 -1
  278. package/dist/modules/uploads/components/button.client.d.ts +2 -2
  279. package/dist/modules/uploads/components/button.client.d.ts.map +1 -1
  280. package/dist/modules/uploads/components/images/grid.client.d.ts +2 -2
  281. package/dist/modules/uploads/components/images/grid.client.d.ts.map +1 -1
  282. package/dist/modules/uploads/components/images/grid.client.js +1 -1
  283. package/dist/modules/uploads/components/images/input.client.d.ts +2 -2
  284. package/dist/modules/uploads/components/images/input.client.d.ts.map +1 -1
  285. package/dist/modules/uploads/components/preview-dialog.client.d.ts +2 -2
  286. package/dist/modules/uploads/components/preview-dialog.client.d.ts.map +1 -1
  287. package/dist/modules/uploads/components/zone.client.d.ts +2 -2
  288. package/dist/modules/uploads/components/zone.client.d.ts.map +1 -1
  289. package/dist/modules/uploads/hooks/use-upload-image.client.js +1 -1
  290. package/dist/modules/uploads/lib/proxy.server.d.ts +1 -1
  291. package/dist/modules/uploads/lib/proxy.server.js +4 -4
  292. package/dist/modules/uploads/lib/route.server.d.ts +1 -1
  293. package/dist/modules/uploads/lib/route.server.js +2 -2
  294. package/dist/modules/uploads/lib/router.server.d.ts +965 -965
  295. package/dist/modules/uploads/lib/router.server.d.ts.map +1 -1
  296. package/dist/modules/uploads/lib/router.server.js +2 -2
  297. package/dist/modules/uploads/lib/schema.d.ts +61 -61
  298. package/dist/modules/uploads/lib/validators.d.ts +56 -56
  299. package/dist/modules/uploads/lib/validators.d.ts.map +1 -1
  300. package/package.json +5 -4
  301. package/src/components/common/icons.tsx +6 -0
  302. package/src/components/entry.client.ts +6 -0
  303. package/src/components/entry.server.ts +1 -1
  304. package/src/components/entry.ts +1 -0
  305. package/src/components/header/bottom-bar.client.tsx +2 -2
  306. package/src/components/layouts/admin-layout.tsx +13 -0
  307. package/src/components/layouts/admin-loading.tsx +1 -1
  308. package/src/components/layouts/not-found-page.tsx +9 -1
  309. package/src/components/layouts/not-found-section.tsx +10 -5
  310. package/src/components/layouts/root-loading.tsx +9 -0
  311. package/src/components/{layouts → navigation}/admin-sidebar-header.client.tsx +11 -6
  312. package/src/components/navigation/admin-sidebar-paths.client.tsx +190 -0
  313. package/src/components/navigation/admin-sidebar-skeleton.tsx +44 -0
  314. package/src/components/navigation/admin-sidebar.client.tsx +123 -0
  315. package/src/components/ui/spinner.tsx +51 -0
  316. package/src/modules/auth/components/allowed.client.tsx +1 -1
  317. package/src/modules/auth/components/auth-layout.server.tsx +2 -10
  318. package/src/modules/auth/components/auth-loading.tsx +11 -0
  319. package/src/modules/auth/components/guard.client.tsx +12 -0
  320. package/src/modules/auth/components/login-page.client.tsx +45 -37
  321. package/src/modules/auth/entry.client.ts +2 -0
  322. package/src/modules/auth/entry.server.ts +1 -1
  323. package/src/modules/auth/entry.ts +1 -0
  324. package/src/modules/auth/handler/proxy.server.ts +28 -0
  325. package/src/modules/auth/handler/server.server.ts +5 -0
  326. package/src/modules/auth/hooks/{use-permission.client.ts → use-permission.ts} +4 -2
  327. package/src/modules/auth/hooks/use-session.ts +18 -0
  328. package/src/modules/auth/lib/helpers.server.ts +1 -5
  329. package/src/modules/auth/lib/validators.ts +1 -1
  330. package/src/modules/commands/hooks/use-command-menu.client.tsx +6 -7
  331. package/src/modules/commands/menus/dropdown-menu.client.tsx +11 -2
  332. package/src/modules/commands/menus/inline-menu.client.tsx +14 -1
  333. package/src/modules/commands/menus/responsive-menu.client.tsx +11 -2
  334. package/src/modules/config/entry.server.ts +1 -2
  335. package/src/modules/config/entry.ts +3 -0
  336. package/src/modules/config/lib/config.server.ts +1 -2
  337. package/src/modules/config/lib/router.server.ts +64 -0
  338. package/src/modules/config/paths/helpers.ts +6 -0
  339. package/src/modules/config/paths/types.ts +26 -38
  340. package/src/modules/data-tables/components/filters/combobox.client.tsx +1 -1
  341. package/src/modules/data-tables/tables/inline-table/hooks/use-input.client.ts +1 -1
  342. package/src/modules/inline-edit/hooks/use-inline.client.tsx +1 -1
  343. package/dist/components/layouts/admin-layout.server.d.ts +0 -14
  344. package/dist/components/layouts/admin-layout.server.d.ts.map +0 -1
  345. package/dist/components/layouts/admin-layout.server.js +0 -26
  346. package/dist/components/layouts/admin-layout.server.js.map +0 -1
  347. package/dist/components/layouts/admin-sidebar-context.client.js +0 -28
  348. package/dist/components/layouts/admin-sidebar-context.client.js.map +0 -1
  349. package/dist/components/layouts/admin-sidebar-header.client.js.map +0 -1
  350. package/dist/components/layouts/admin-sidebar.client.js +0 -51
  351. package/dist/components/layouts/admin-sidebar.client.js.map +0 -1
  352. package/dist/modules/auth/components/allowed.server.d.ts +0 -23
  353. package/dist/modules/auth/components/allowed.server.d.ts.map +0 -1
  354. package/dist/modules/auth/components/allowed.server.js +0 -24
  355. package/dist/modules/auth/components/allowed.server.js.map +0 -1
  356. package/dist/modules/auth/hooks/use-permission.client.js.map +0 -1
  357. package/dist/modules/config/paths/create.server.d.ts +0 -14
  358. package/dist/modules/config/paths/create.server.d.ts.map +0 -1
  359. package/dist/modules/config/paths/create.server.js +0 -12
  360. package/dist/modules/config/paths/create.server.js.map +0 -1
  361. package/dist/modules/config/paths/get.server.js +0 -47
  362. package/dist/modules/config/paths/get.server.js.map +0 -1
  363. package/src/components/layouts/admin-layout.server.tsx +0 -31
  364. package/src/components/layouts/admin-sidebar-context.client.tsx +0 -34
  365. package/src/components/layouts/admin-sidebar.client.tsx +0 -88
  366. package/src/modules/auth/components/allowed.server.tsx +0 -41
  367. package/src/modules/config/paths/create.server.ts +0 -10
  368. package/src/modules/config/paths/get.server.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"client.client.d.ts","names":[],"sources":["../../../../src/modules/auth/handler/client.client.ts"],"sourcesContent":[],"mappings":";;;;;cAiBa;;;;;QAAA,MAEX,EAAA,kBAAA,GAAA,YAAA,GAAA,0BAAA;QAAA,cAAA,EAAA,kBAAA,GAAA,YAAA,GAAA,mCAAA,GAAA,qBAAA,GAAA,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"client.client.d.ts","names":[],"sources":["../../../../src/modules/auth/handler/client.client.ts"],"sourcesContent":[],"mappings":";;;;;cAiBa;;;;;MAAA,OAEX,CAAA,EAAA,YAAA,GAAA,YAAA,GAAA;QAAA,MAAA,EAAA,kBAAA,GAAA,YAAA,GAAA,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,13 @@
1
+ import { NextRequest, NextResponse } from "next/server";
2
+
3
+ //#region src/modules/auth/handler/proxy.server.d.ts
4
+
5
+ /**
6
+ * Create auth proxy
7
+ */
8
+ declare function createAuthProxy(props: {
9
+ publicRoutes: string[];
10
+ }): (req: NextRequest) => NextResponse<unknown>;
11
+ //#endregion
12
+ export { createAuthProxy };
13
+ //# sourceMappingURL=proxy.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.server.d.ts","names":[],"sources":["../../../../src/modules/auth/handler/proxy.server.ts"],"sourcesContent":[],"mappings":";;;;;;AAQA;AAA+B,iBAAf,eAAA,CAAe,KAAA,EAAA;cAChB,EAAA,MAAA,EAAA;QAAW,EAAX,WAAW,EAAA,GAAA,YAAA,CAAA,OAAA,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { authCookiePrefix } from "./server.server.js";
2
+ import { getSessionCookie } from "better-auth/cookies";
3
+ import { NextResponse } from "next/server";
4
+ import { URLPattern } from "urlpattern-polyfill";
5
+
6
+ //#region src/modules/auth/handler/proxy.server.ts
7
+ /**
8
+ * Create auth proxy
9
+ */
10
+ function createAuthProxy(props) {
11
+ return (req) => {
12
+ const pathname = req.nextUrl.pathname;
13
+ const isPublicRoute = props.publicRoutes.some((route) => new URLPattern({ pathname: route }).test({ pathname }));
14
+ const sessionCookie = getSessionCookie(req, { cookiePrefix: authCookiePrefix });
15
+ if (!isPublicRoute && !sessionCookie) return NextResponse.redirect(new URL("/auth/login", req.nextUrl));
16
+ return NextResponse.next();
17
+ };
18
+ }
19
+
20
+ //#endregion
21
+ export { createAuthProxy };
22
+ //# sourceMappingURL=proxy.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.server.js","names":[],"sources":["../../../../src/modules/auth/handler/proxy.server.ts"],"sourcesContent":["import { getSessionCookie } from \"better-auth/cookies\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { URLPattern } from \"urlpattern-polyfill\";\nimport { authCookiePrefix } from \"./server.server\";\n\n/**\n * Create auth proxy\n */\nexport function createAuthProxy(props: { publicRoutes: string[] }) {\n return (req: NextRequest) => {\n // 1. Check if the current route is protected or public\n const pathname = req.nextUrl.pathname;\n\n const isPublicRoute = props.publicRoutes.some((route) =>\n new URLPattern({ pathname: route }).test({ pathname }),\n );\n\n // 2. Check if a session cookie is present\n const sessionCookie = getSessionCookie(req, { cookiePrefix: authCookiePrefix });\n\n // 3. Redirect to /auth/login if the user is not authenticated\n if (!isPublicRoute && !sessionCookie) {\n return NextResponse.redirect(new URL(\"/auth/login\", req.nextUrl));\n }\n\n return NextResponse.next();\n };\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,gBAAgB,OAAmC;AACjE,SAAQ,QAAqB;EAE3B,MAAM,WAAW,IAAI,QAAQ;EAE7B,MAAM,gBAAgB,MAAM,aAAa,MAAM,UAC7C,IAAI,WAAW,EAAE,UAAU,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CACvD;EAGD,MAAM,gBAAgB,iBAAiB,KAAK,EAAE,cAAc,kBAAkB,CAAC;AAG/E,MAAI,CAAC,iBAAiB,CAAC,cACrB,QAAO,aAAa,SAAS,IAAI,IAAI,eAAe,IAAI,QAAQ,CAAC;AAGnE,SAAO,aAAa,MAAM"}
@@ -7,7 +7,9 @@ import { nextCookies } from "better-auth/next-js";
7
7
  import { admin, emailOTP } from "better-auth/plugins";
8
8
 
9
9
  //#region src/modules/auth/handler/server.server.ts
10
+ const authCookiePrefix = "tulip";
10
11
  const createServerAuth = (config) => betterAuth({
12
+ advanced: { cookiePrefix: authCookiePrefix },
11
13
  database: drizzleAdapter(config.db, {
12
14
  provider: "pg",
13
15
  schema: config.schema,
@@ -57,5 +59,5 @@ const createServerAuth = (config) => betterAuth({
57
59
  });
58
60
 
59
61
  //#endregion
60
- export { createServerAuth };
62
+ export { authCookiePrefix, createServerAuth };
61
63
  //# sourceMappingURL=server.server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.server.js","names":["ForgetPasswordEmail"],"sources":["../../../../src/modules/auth/handler/server.server.ts"],"sourcesContent":["import \"server-cli-only\";\n\nimport ForgetPasswordEmail from \"@/components/emails/forget-password-email\";\nimport { url } from \"@/lib/utils/url\";\nimport { TDatabaseSchema } from \"@/modules/config/db/types\";\nimport { TulipConfig } from \"@/modules/config/lib/config.server\";\nimport { betterAuth } from \"better-auth\";\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\nimport { nextCookies } from \"better-auth/next-js\";\nimport { admin, emailOTP } from \"better-auth/plugins\";\nimport { Resend } from \"resend\";\n\ntype CreateServerAuthParams<TSchema extends TDatabaseSchema> = Pick<\n TulipConfig<TSchema>,\n \"email\" | \"auth\"\n> & {\n db: Parameters<typeof drizzleAdapter>[0];\n schema: Parameters<typeof drizzleAdapter>[1][\"schema\"];\n resend: Resend;\n};\n\nexport const createServerAuth = <TSchema extends TDatabaseSchema>(\n config: CreateServerAuthParams<TSchema>,\n) =>\n betterAuth({\n database: drizzleAdapter(config.db, {\n provider: \"pg\",\n schema: config.schema,\n usePlural: true,\n }),\n emailAndPassword: {\n enabled: true,\n },\n user: {\n changeEmail: {\n enabled: true,\n },\n additionalFields: {\n firstName: {\n type: \"string\",\n required: true,\n input: true,\n },\n lastName: {\n type: \"string\",\n required: true,\n input: true,\n },\n },\n },\n plugins: [\n nextCookies(),\n admin({\n ...config.auth,\n adminRoles: [\"admin\", \"developer\"],\n }),\n emailOTP({\n sendVerificationOTP: async ({ email, otp, type }) => {\n /**\n * Send a forget password mail\n */\n if (type === \"forget-password\") {\n const searchParams = new URLSearchParams();\n searchParams.set(\"email\", email);\n searchParams.set(\"otp\", otp);\n\n const resetPasswordHref = url(`/auth/reset-password?${searchParams.toString()}`);\n\n const result = await config.resend.emails.send({\n from: config.email.from,\n to: email,\n subject: \"Wachtwoord herstellen\",\n react: ForgetPasswordEmail({ resetPasswordHref }),\n });\n if (result.error) throw new Error(result.error.message);\n }\n },\n }),\n ],\n });\n\nexport type ServerAuth = ReturnType<typeof createServerAuth>;\n"],"mappings":";;;;;;;;;AAqBA,MAAa,oBACX,WAEA,WAAW;CACT,UAAU,eAAe,OAAO,IAAI;EAClC,UAAU;EACV,QAAQ,OAAO;EACf,WAAW;EACZ,CAAC;CACF,kBAAkB,EAChB,SAAS,MACV;CACD,MAAM;EACJ,aAAa,EACX,SAAS,MACV;EACD,kBAAkB;GAChB,WAAW;IACT,MAAM;IACN,UAAU;IACV,OAAO;IACR;GACD,UAAU;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACR;GACF;EACF;CACD,SAAS;EACP,aAAa;EACb,MAAM;GACJ,GAAG,OAAO;GACV,YAAY,CAAC,SAAS,YAAY;GACnC,CAAC;EACF,SAAS,EACP,qBAAqB,OAAO,EAAE,OAAO,KAAK,WAAW;;;;AAInD,OAAI,SAAS,mBAAmB;IAC9B,MAAM,eAAe,IAAI,iBAAiB;AAC1C,iBAAa,IAAI,SAAS,MAAM;AAChC,iBAAa,IAAI,OAAO,IAAI;IAE5B,MAAM,oBAAoB,IAAI,wBAAwB,aAAa,UAAU,GAAG;IAEhF,MAAM,SAAS,MAAM,OAAO,OAAO,OAAO,KAAK;KAC7C,MAAM,OAAO,MAAM;KACnB,IAAI;KACJ,SAAS;KACT,OAAOA,8BAAoB,EAAE,mBAAmB,CAAC;KAClD,CAAC;AACF,QAAI,OAAO,MAAO,OAAM,IAAI,MAAM,OAAO,MAAM,QAAQ;;KAG5D,CAAC;EACH;CACF,CAAC"}
1
+ {"version":3,"file":"server.server.js","names":["ForgetPasswordEmail"],"sources":["../../../../src/modules/auth/handler/server.server.ts"],"sourcesContent":["import \"server-cli-only\";\n\nimport ForgetPasswordEmail from \"@/components/emails/forget-password-email\";\nimport { url } from \"@/lib/utils/url\";\nimport { TDatabaseSchema } from \"@/modules/config/db/types\";\nimport { TulipConfig } from \"@/modules/config/lib/config.server\";\nimport { betterAuth } from \"better-auth\";\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\nimport { nextCookies } from \"better-auth/next-js\";\nimport { admin, emailOTP } from \"better-auth/plugins\";\nimport { Resend } from \"resend\";\n\nexport const authCookiePrefix = \"tulip\";\n\ntype CreateServerAuthParams<TSchema extends TDatabaseSchema> = Pick<\n TulipConfig<TSchema>,\n \"email\" | \"auth\"\n> & {\n db: Parameters<typeof drizzleAdapter>[0];\n schema: Parameters<typeof drizzleAdapter>[1][\"schema\"];\n resend: Resend;\n};\n\nexport const createServerAuth = <TSchema extends TDatabaseSchema>(\n config: CreateServerAuthParams<TSchema>,\n) =>\n betterAuth({\n advanced: {\n cookiePrefix: authCookiePrefix,\n },\n database: drizzleAdapter(config.db, {\n provider: \"pg\",\n schema: config.schema,\n usePlural: true,\n }),\n emailAndPassword: {\n enabled: true,\n },\n user: {\n changeEmail: {\n enabled: true,\n },\n additionalFields: {\n firstName: {\n type: \"string\",\n required: true,\n input: true,\n },\n lastName: {\n type: \"string\",\n required: true,\n input: true,\n },\n },\n },\n plugins: [\n nextCookies(),\n admin({\n ...config.auth,\n adminRoles: [\"admin\", \"developer\"],\n }),\n emailOTP({\n sendVerificationOTP: async ({ email, otp, type }) => {\n /**\n * Send a forget password mail\n */\n if (type === \"forget-password\") {\n const searchParams = new URLSearchParams();\n searchParams.set(\"email\", email);\n searchParams.set(\"otp\", otp);\n\n const resetPasswordHref = url(`/auth/reset-password?${searchParams.toString()}`);\n\n const result = await config.resend.emails.send({\n from: config.email.from,\n to: email,\n subject: \"Wachtwoord herstellen\",\n react: ForgetPasswordEmail({ resetPasswordHref }),\n });\n if (result.error) throw new Error(result.error.message);\n }\n },\n }),\n ],\n });\n\nexport type ServerAuth = ReturnType<typeof createServerAuth>;\n"],"mappings":";;;;;;;;;AAYA,MAAa,mBAAmB;AAWhC,MAAa,oBACX,WAEA,WAAW;CACT,UAAU,EACR,cAAc,kBACf;CACD,UAAU,eAAe,OAAO,IAAI;EAClC,UAAU;EACV,QAAQ,OAAO;EACf,WAAW;EACZ,CAAC;CACF,kBAAkB,EAChB,SAAS,MACV;CACD,MAAM;EACJ,aAAa,EACX,SAAS,MACV;EACD,kBAAkB;GAChB,WAAW;IACT,MAAM;IACN,UAAU;IACV,OAAO;IACR;GACD,UAAU;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACR;GACF;EACF;CACD,SAAS;EACP,aAAa;EACb,MAAM;GACJ,GAAG,OAAO;GACV,YAAY,CAAC,SAAS,YAAY;GACnC,CAAC;EACF,SAAS,EACP,qBAAqB,OAAO,EAAE,OAAO,KAAK,WAAW;;;;AAInD,OAAI,SAAS,mBAAmB;IAC9B,MAAM,eAAe,IAAI,iBAAiB;AAC1C,iBAAa,IAAI,SAAS,MAAM;AAChC,iBAAa,IAAI,OAAO,IAAI;IAE5B,MAAM,oBAAoB,IAAI,wBAAwB,aAAa,UAAU,GAAG;IAEhF,MAAM,SAAS,MAAM,OAAO,OAAO,OAAO,KAAK;KAC7C,MAAM,OAAO,MAAM;KACnB,IAAI;KACJ,SAAS;KACT,OAAOA,8BAAoB,EAAE,mBAAmB,CAAC;KAClD,CAAC;AACF,QAAI,OAAO,MAAO,OAAM,IAAI,MAAM,OAAO,MAAM,QAAQ;;KAG5D,CAAC;EACH;CACF,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { Permission } from "../lib/permissions.js";
2
+ import * as _tanstack_react_query0 from "@tanstack/react-query";
3
+
4
+ //#region src/modules/auth/hooks/use-permission.d.ts
5
+ /**
6
+ * UsePermission
7
+ */
8
+ declare function usePermission(permission?: Permission): {
9
+ data: null;
10
+ errors: _tanstack_react_query0.UseSuspenseQueryResult<{
11
+ permission: Permission;
12
+ success: boolean;
13
+ }, Error>[];
14
+ } | {
15
+ data: {
16
+ success: boolean;
17
+ values: {
18
+ permission: Permission;
19
+ success: boolean;
20
+ }[];
21
+ };
22
+ errors: null;
23
+ };
24
+ //#endregion
25
+ export { usePermission };
26
+ //# sourceMappingURL=use-permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-permission.d.ts","names":[],"sources":["../../../../src/modules/auth/hooks/use-permission.ts"],"sourcesContent":[],"mappings":";;;;;;;AAWgB,iBAAA,aAAA,CAAa,UAAA,CAAA,EAAc,UAAd,CAAA,EAAA;EAAA,IAAA,EAAA,IAAA;QAAc,+CAAA,CAAA"}
@@ -2,19 +2,21 @@
2
2
 
3
3
 
4
4
  import { authClient } from "../handler/client.client.js";
5
+ import { useSession } from "./use-session.js";
5
6
  import { useSuspenseQueries } from "@tanstack/react-query";
6
7
 
7
- //#region src/modules/auth/hooks/use-permission.client.ts
8
+ //#region src/modules/auth/hooks/use-permission.ts
8
9
  /**
9
10
  * UsePermission
10
11
  */
11
12
  function usePermission(permission) {
13
+ const sessionQuery = useSession();
12
14
  return useSuspenseQueries({
13
15
  queries: Object.entries(permission ?? {}).flatMap(([resource, permissions]) => permissions.map((permission$1) => [resource, permission$1])).map((key) => ({
14
16
  queryKey: ["permission", ...key],
15
17
  queryFn: async () => {
16
18
  const permission$1 = { [key[0]?.toString()]: [key[1]] };
17
- const userId = (await authClient.getSession()).data?.user.id;
19
+ const userId = sessionQuery.data?.user.id;
18
20
  const { data, error } = await authClient.admin.hasPermission({
19
21
  permission: permission$1,
20
22
  userId
@@ -49,4 +51,4 @@ function usePermission(permission) {
49
51
 
50
52
  //#endregion
51
53
  export { usePermission };
52
- //# sourceMappingURL=use-permission.client.js.map
54
+ //# sourceMappingURL=use-permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-permission.js","names":["permission","permission: Permission"],"sources":["../../../../src/modules/auth/hooks/use-permission.ts"],"sourcesContent":["\"use client\";\n\nimport { useSuspenseQueries } from \"@tanstack/react-query\";\nimport { LiteralString } from \"better-auth\";\nimport { authClient } from \"../handler/client.client\";\nimport { type Permission } from \"../lib/permissions\";\nimport { useSession } from \"./use-session\";\n\n/**\n * UsePermission\n */\nexport function usePermission(permission?: Permission) {\n const sessionQuery = useSession();\n\n const keys = Object.entries(permission ?? {}).flatMap(([resource, permissions]) =>\n permissions.map((permission) => [resource, permission] as const),\n );\n\n return useSuspenseQueries({\n queries: keys.map((key) => ({\n queryKey: [\"permission\", ...key],\n queryFn: async () => {\n const resource = key[0]?.toString() as string;\n const permission: Permission = { [resource]: [key[1]] as LiteralString[] };\n\n const userId = sessionQuery.data?.user.id;\n\n const { data, error } = await authClient.admin.hasPermission({ permission, userId });\n if (error) {\n console.error(error);\n throw error;\n }\n\n return {\n permission,\n success: data.success,\n };\n },\n })),\n combine: (results) => {\n const errors = results.filter(({ error }) => error);\n if (errors.length) return { data: null, errors };\n\n const values = results.map(({ data }) => data);\n const success = results.every(({ data }) => data.success);\n\n return { data: { success, values }, errors: null };\n },\n });\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,cAAc,YAAyB;CACrD,MAAM,eAAe,YAAY;AAMjC,QAAO,mBAAmB;EACxB,SALW,OAAO,QAAQ,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,iBAChE,YAAY,KAAK,iBAAe,CAAC,UAAUA,aAAW,CAAU,CACjE,CAGe,KAAK,SAAS;GAC1B,UAAU,CAAC,cAAc,GAAG,IAAI;GAChC,SAAS,YAAY;IAEnB,MAAMC,eAAyB,GADd,IAAI,IAAI,UAAU,GACU,CAAC,IAAI,GAAG,EAAqB;IAE1E,MAAM,SAAS,aAAa,MAAM,KAAK;IAEvC,MAAM,EAAE,MAAM,UAAU,MAAM,WAAW,MAAM,cAAc;KAAE;KAAY;KAAQ,CAAC;AACpF,QAAI,OAAO;AACT,aAAQ,MAAM,MAAM;AACpB,WAAM;;AAGR,WAAO;KACL;KACA,SAAS,KAAK;KACf;;GAEJ,EAAE;EACH,UAAU,YAAY;GACpB,MAAM,SAAS,QAAQ,QAAQ,EAAE,YAAY,MAAM;AACnD,OAAI,OAAO,OAAQ,QAAO;IAAE,MAAM;IAAM;IAAQ;GAEhD,MAAM,SAAS,QAAQ,KAAK,EAAE,WAAW,KAAK;AAG9C,UAAO;IAAE,MAAM;KAAE,SAFD,QAAQ,OAAO,EAAE,WAAW,KAAK,QAAQ;KAE/B;KAAQ;IAAE,QAAQ;IAAM;;EAErD,CAAC"}
@@ -0,0 +1,34 @@
1
+ import * as _tanstack_react_query0 from "@tanstack/react-query";
2
+
3
+ //#region src/modules/auth/hooks/use-session.d.ts
4
+ declare function useSession(): _tanstack_react_query0.UseSuspenseQueryResult<{
5
+ user: {
6
+ id: string;
7
+ createdAt: Date;
8
+ updatedAt: Date;
9
+ email: string;
10
+ emailVerified: boolean;
11
+ name: string;
12
+ image?: string | null | undefined;
13
+ banned: boolean | null | undefined;
14
+ role?: string | null | undefined;
15
+ banReason?: string | null | undefined;
16
+ banExpires?: Date | null | undefined;
17
+ firstName: string;
18
+ lastName: string;
19
+ };
20
+ session: {
21
+ id: string;
22
+ createdAt: Date;
23
+ updatedAt: Date;
24
+ userId: string;
25
+ expiresAt: Date;
26
+ token: string;
27
+ ipAddress?: string | null | undefined;
28
+ userAgent?: string | null | undefined;
29
+ impersonatedBy?: string | null | undefined;
30
+ };
31
+ } | null, Error>;
32
+ //#endregion
33
+ export { useSession };
34
+ //# sourceMappingURL=use-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-session.d.ts","names":[],"sources":["../../../../src/modules/auth/hooks/use-session.ts"],"sourcesContent":[],"mappings":";;;iBAKgB,UAAA,CAAA,0BAAU;;;IAAV,SAAU,MAAA;IAAA,SAAA,MAAA;;;;;;;;4BAAA,GAAA,SAAA;IAAA,SAAA,EAAA,MAAA"}
@@ -0,0 +1,21 @@
1
+ "use client";
2
+
3
+
4
+ import { authClient } from "../handler/client.client.js";
5
+ import { useSuspenseQuery } from "@tanstack/react-query";
6
+
7
+ //#region src/modules/auth/hooks/use-session.ts
8
+ function useSession() {
9
+ return useSuspenseQuery({
10
+ queryKey: ["session"],
11
+ queryFn: async () => {
12
+ const session = await authClient.getSession();
13
+ if (session.error) throw session.error;
14
+ return session.data;
15
+ }
16
+ });
17
+ }
18
+
19
+ //#endregion
20
+ export { useSession };
21
+ //# sourceMappingURL=use-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-session.js","names":[],"sources":["../../../../src/modules/auth/hooks/use-session.ts"],"sourcesContent":["\"use client\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { authClient } from \"../entry.client\";\n\nexport function useSession() {\n const session = useSuspenseQuery({\n queryKey: [\"session\"],\n queryFn: async () => {\n const session = await authClient.getSession();\n if (session.error) throw session.error;\n\n return session.data;\n },\n });\n\n return session;\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,aAAa;AAW3B,QAVgB,iBAAiB;EAC/B,UAAU,CAAC,UAAU;EACrB,SAAS,YAAY;GACnB,MAAM,UAAU,MAAM,WAAW,YAAY;AAC7C,OAAI,QAAQ,MAAO,OAAM,QAAQ;AAEjC,UAAO,QAAQ;;EAElB,CAAC"}
@@ -1,6 +1,6 @@
1
+ import { CreateUserSchema, UpdateUserSchema } from "./validators.js";
1
2
  import { TDatabaseSchema } from "../../config/db/types.js";
2
3
  import { GetTulipReturn } from "../../config/lib/resolve.server.js";
3
- import { CreateUserSchema, UpdateUserSchema } from "./validators.js";
4
4
  import "server-cli-only";
5
5
  import * as better_auth_plugins0 from "better-auth/plugins";
6
6
 
@@ -37,7 +37,7 @@ declare function getSession<TSchema extends TDatabaseSchema>({
37
37
  banReason?: string | null | undefined;
38
38
  banExpires?: Date | null | undefined;
39
39
  };
40
- }>;
40
+ } | null>;
41
41
  /**
42
42
  * Create a user
43
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.server.d.ts","names":[],"sources":["../../../../src/modules/auth/lib/helpers.server.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAcsB,iBAAA,UAAU,CAAA,gBAAiB,eAAjB,CAAA,CAAA;EAAA;AAAA,CAAA,EAE7B,IAF6B,CAExB,cAFwB,CAET,OAFS,CAAA,EAAA,MAAA,CAAA,CAAA,EAEQ,OAFR,CAAA;EAAA,OAAA,EAAA;IAAiB,EAAA,EAAA,MAAA;IAC/C,SAAA,MAAA;IACqB,SAAA,MAAA;IAAf,MAAA,EAAA,MAAA;IAAL,SAAA,MAAA;;;;;;;IAAqC,EAAA,EAAA,MAAA;IAAA,SAAA,MAAA;IAUxB,SAAU,MAAA;IAAA,KAAA,EAAA,MAAA;IAAiB,aAAA,EAAA,OAAA;IACvC,IAAA,EAAA,MAAA;IAAM,KAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA,GAAA,SAAA;IAA0B,SAAA,EAAA,MAAA;IAAf,QAAA,EAAA,MAAA;IAAqC,MAAA,EAAA,OAAA,GAAA,IAAA,GAAA,SAAA;IACtD,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA;IAAgB,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA;IAAgB,UAAA,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA;;CAAE,CAAA;AAkBtC;;;AACI,iBArBY,UAqBZ,CAAA,gBArBuC,eAqBvC,CAAA,CAAA;EAAA,IAAA;EAAA;CAAA,EApBiB,cAoBjB,CApBgC,OAoBhC,CAAA,GAAA;SAAqB,EApBiC,OAoBjC;;;CAAf,EAAA;MACN,EApBgB,gBAoBhB;IApBkC,OAoB1B,CAAA;MAAwC,EApBhB,oBAAA,CAAA,YAoBgB;;;;;AAAmB,iBAFjD,UAEiD,CAAA,gBAFtB,eAEsB,CAAA,CAAA;EAAA;AAAA,CAAA,EAD7D,cAC6D,CAD9C,OAC8C,CAAA,EAAA;EAAA,MAAA;EAAA;CAAA,EAAA;EAAA,MAAA,EAAA,MAAA;QAA3B,QAAQ;IAAmB"}
1
+ {"version":3,"file":"helpers.server.d.ts","names":[],"sources":["../../../../src/modules/auth/lib/helpers.server.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAasB,iBAAA,UAAU,CAAA,gBAAiB,eAAjB,CAAA,CAAA;EAAA;AAAA,CAAA,EAE7B,IAF6B,CAExB,cAFwB,CAET,OAFS,CAAA,EAAA,MAAA,CAAA,CAAA,EAEQ,OAFR,CAAA;EAAA,OAAA,EAAA;IAAiB,EAAA,EAAA,MAAA;IAC/C,SAAA,MAAA;IACqB,SAAA,MAAA;IAAf,MAAA,EAAA,MAAA;IAAL,SAAA,MAAA;;;;;;;IAAqC,EAAA,EAAA,MAAA;IAAA,SAAA,MAAA;IAOxB,SAAU,MAAA;IAAA,KAAA,EAAA,MAAA;IAAiB,aAAA,EAAA,OAAA;IACvC,IAAA,EAAA,MAAA;IAAM,KAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA,GAAA,SAAA;IAA0B,SAAA,EAAA,MAAA;IAAf,QAAA,EAAA,MAAA;IAAqC,MAAA,EAAA,OAAA,GAAA,IAAA,GAAA,SAAA;IACtD,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA;IAAgB,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA;IAAgB,UAAA,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA;;CAAE,GAAA,IAAA,CAAA;AAkBtC;;;AACI,iBArBY,UAqBZ,CAAA,gBArBuC,eAqBvC,CAAA,CAAA;EAAA,IAAA;EAAA;CAAA,EApBiB,cAoBjB,CApBgC,OAoBhC,CAAA,GAAA;SAAqB,EApBiC,OAoBjC;;;CAAf,EAAA;MACN,EApBgB,gBAoBhB;IApBkC,OAoB1B,CAAA;MAAwC,EApBhB,oBAAA,CAAA,YAoBgB;;;;;AAAmB,iBAFjD,UAEiD,CAAA,gBAFtB,eAEsB,CAAA,CAAA;EAAA;AAAA,CAAA,EAD7D,cAC6D,CAD9C,OAC8C,CAAA,EAAA;EAAA,MAAA;EAAA;CAAA,EAAA;EAAA,MAAA,EAAA,MAAA;QAA3B,QAAQ;IAAmB"}
@@ -1,8 +1,7 @@
1
- import { ServerError } from "../../config/router/error.server.js";
2
1
  import { users } from "../db/schema.js";
3
- import { redirect } from "next/navigation";
4
- import "server-cli-only";
2
+ import { ServerError } from "../../config/router/error.server.js";
5
3
  import { eq } from "drizzle-orm";
4
+ import "server-cli-only";
6
5
  import { headers } from "next/headers";
7
6
 
8
7
  //#region src/modules/auth/lib/helpers.server.ts
@@ -10,9 +9,7 @@ import { headers } from "next/headers";
10
9
  * Get the session
11
10
  */
12
11
  async function getSession({ auth }) {
13
- const session = await auth.api.getSession({ headers: await headers() });
14
- if (!session) redirect("/auth/login");
15
- return session;
12
+ return auth.api.getSession({ headers: await headers() });
16
13
  }
17
14
  /**
18
15
  * Create a user
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.server.js","names":[],"sources":["../../../../src/modules/auth/lib/helpers.server.ts"],"sourcesContent":["import \"server-cli-only\";\n\nimport { type TDatabaseSchema } from \"@/modules/config/db/types\";\nimport { GetTulipReturn } from \"@/modules/config/lib/resolve.server\";\nimport { ServerError } from \"@/modules/config/router/error.server\";\nimport { eq } from \"drizzle-orm\";\nimport { headers } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { users } from \"../entry\";\nimport { CreateUserSchema, UpdateUserSchema } from \"./validators\";\n\n/**\n * Get the session\n */\nexport async function getSession<TSchema extends TDatabaseSchema>({\n auth,\n}: Pick<GetTulipReturn<TSchema>, \"auth\">) {\n const session = await auth.api.getSession({ headers: await headers() });\n if (!session) redirect(\"/auth/login\");\n\n return session;\n}\n\n/**\n * Create a user\n */\nexport function createUser<TSchema extends TDatabaseSchema>(\n { auth, headers }: GetTulipReturn<TSchema> & { headers: Headers },\n { body }: { body: CreateUserSchema },\n) {\n const { firstName, lastName } = body;\n\n return auth.api.createUser({\n headers,\n body: {\n ...body,\n name: `${firstName} ${lastName}`,\n data: { firstName, lastName },\n },\n });\n}\n\n/**\n * Update a user\n */\n\nexport async function updateUser<TSchema extends TDatabaseSchema>(\n { db }: GetTulipReturn<TSchema>,\n { userId, body }: { userId: string; body: Partial<UpdateUserSchema> },\n) {\n const [result] = await db.update(users).set(body).where(eq(users.id, userId)).returning();\n if (!result) {\n throw new ServerError(\"INTERNAL_SERVER_ERROR\", {\n message: \"Gebruiker kon niet worden aangemaakt\",\n });\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;;AAcA,eAAsB,WAA4C,EAChE,QACwC;CACxC,MAAM,UAAU,MAAM,KAAK,IAAI,WAAW,EAAE,SAAS,MAAM,SAAS,EAAE,CAAC;AACvE,KAAI,CAAC,QAAS,UAAS,cAAc;AAErC,QAAO;;;;;AAMT,SAAgB,WACd,EAAE,MAAM,sBACR,EAAE,QACF;CACA,MAAM,EAAE,WAAW,aAAa;AAEhC,QAAO,KAAK,IAAI,WAAW;EACzB;EACA,MAAM;GACJ,GAAG;GACH,MAAM,GAAG,UAAU,GAAG;GACtB,MAAM;IAAE;IAAW;IAAU;GAC9B;EACF,CAAC;;;;;AAOJ,eAAsB,WACpB,EAAE,MACF,EAAE,QAAQ,QACV;CACA,MAAM,CAAC,UAAU,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW;AACzF,KAAI,CAAC,OACH,OAAM,IAAI,YAAY,yBAAyB,EAC7C,SAAS,wCACV,CAAC;AAGJ,QAAO"}
1
+ {"version":3,"file":"helpers.server.js","names":[],"sources":["../../../../src/modules/auth/lib/helpers.server.ts"],"sourcesContent":["import \"server-cli-only\";\n\nimport { type TDatabaseSchema } from \"@/modules/config/db/types\";\nimport { GetTulipReturn } from \"@/modules/config/lib/resolve.server\";\nimport { ServerError } from \"@/modules/config/router/error.server\";\nimport { eq } from \"drizzle-orm\";\nimport { headers } from \"next/headers\";\nimport { users } from \"../entry\";\nimport { CreateUserSchema, UpdateUserSchema } from \"./validators\";\n\n/**\n * Get the session\n */\nexport async function getSession<TSchema extends TDatabaseSchema>({\n auth,\n}: Pick<GetTulipReturn<TSchema>, \"auth\">) {\n return auth.api.getSession({ headers: await headers() });\n}\n\n/**\n * Create a user\n */\nexport function createUser<TSchema extends TDatabaseSchema>(\n { auth, headers }: GetTulipReturn<TSchema> & { headers: Headers },\n { body }: { body: CreateUserSchema },\n) {\n const { firstName, lastName } = body;\n\n return auth.api.createUser({\n headers,\n body: {\n ...body,\n name: `${firstName} ${lastName}`,\n data: { firstName, lastName },\n },\n });\n}\n\n/**\n * Update a user\n */\n\nexport async function updateUser<TSchema extends TDatabaseSchema>(\n { db }: GetTulipReturn<TSchema>,\n { userId, body }: { userId: string; body: Partial<UpdateUserSchema> },\n) {\n const [result] = await db.update(users).set(body).where(eq(users.id, userId)).returning();\n if (!result) {\n throw new ServerError(\"INTERNAL_SERVER_ERROR\", {\n message: \"Gebruiker kon niet worden aangemaakt\",\n });\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;AAaA,eAAsB,WAA4C,EAChE,QACwC;AACxC,QAAO,KAAK,IAAI,WAAW,EAAE,SAAS,MAAM,SAAS,EAAE,CAAC;;;;;AAM1D,SAAgB,WACd,EAAE,MAAM,sBACR,EAAE,QACF;CACA,MAAM,EAAE,WAAW,aAAa;AAEhC,QAAO,KAAK,IAAI,WAAW;EACzB;EACA,MAAM;GACJ,GAAG;GACH,MAAM,GAAG,UAAU,GAAG;GACtB,MAAM;IAAE;IAAW;IAAU;GAC9B;EACF,CAAC;;;;;AAOJ,eAAsB,WACpB,EAAE,MACF,EAAE,QAAQ,QACV;CACA,MAAM,CAAC,UAAU,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW;AACzF,KAAI,CAAC,OACH,OAAM,IAAI,YAAY,yBAAyB,EAC7C,SAAS,wCACV,CAAC;AAGJ,QAAO"}
@@ -31,22 +31,22 @@ declare const forgotPasswordSchema: z$1.ZodObject<{
31
31
  * Create user schema
32
32
  */
33
33
  declare const createUserSchema: z$1.ZodObject<{
34
- email: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>;
35
34
  image: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
35
+ email: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>;
36
36
  firstName: z$1.ZodString;
37
37
  lastName: z$1.ZodString;
38
38
  password: z$1.ZodString;
39
- role: z$1.ZodString;
39
+ role: z$1.ZodDefault<z$1.ZodString>;
40
40
  }, z$1.core.$strip>;
41
41
  type CreateUserSchema = z$1.infer<typeof createUserSchema>;
42
42
  /**
43
43
  * Update user schema
44
44
  */
45
45
  declare const updateUserSchema: z$1.ZodObject<{
46
- email: z$1.ZodString;
46
+ image: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
47
47
  firstName: z$1.ZodString;
48
48
  lastName: z$1.ZodString;
49
- image: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
49
+ email: z$1.ZodString;
50
50
  }, {
51
51
  out: {};
52
52
  in: {};
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","names":[],"sources":["../../../../src/modules/auth/lib/validators.ts"],"sourcesContent":[],"mappings":";;;;;;;AAQA;AAKa,KALD,IAAA,GAcV,OAdwB,KAAA,CAAM,YAc9B;;;;cATW,aAAW,GAAA,CAAA;OAAA,cAAA;EAAA,QAAA,eAAA;AAcxB,CAAA,iBAAa,CAAA;;;;cAAA,qBAAmB,GAAA,CAAA;UAAA,eAAA;EAAA,oBAAA,eAAA;AAmBhC,CAAA,iBAAa,CAAA;;;;AAAoB,cAApB,oBAAoB,EAAA,GAAA,CAAA,SAAA,CAAA;EAAA,KAAA,cAAA;AAUjC,CAAA,iBAAa,CAAA;;;;cAAA,kBAAgB,GAAA,CAAA;;;;;;;;KAajB,gBAAA,GAAmB,GAAA,CAAE,aAAa;;;AAA9C;AAA4B,cAKf,gBALe,EAKC,GAAA,CAAA,SALD,CAAA;OAAkB,eAAA;WAAb,eAAA;EAAK,QAAA,eAAA;EAKzB,KAAA,iBAKX,gBAAA,cAAA,CAAA,CAAA;CAAA,EAAA;;;;KAEU,gBAAA,GAAmB,GAAA,CAAE,aAAa;;;;AAPjB,cAYhB,oBAZgB,EAYI,GAAA,CAAA,SAZJ,CAAA;EAOjB,QAAA,eAAgB;CAAA,iBAAA,CAAA;AAAkB,KASlC,oBAAA,GAAuB,GAAA,CAAE,KATS,CAAA,OASI,oBATJ,CAAA"}
1
+ {"version":3,"file":"validators.d.ts","names":[],"sources":["../../../../src/modules/auth/lib/validators.ts"],"sourcesContent":[],"mappings":";;;;;;;AAQA;AAKa,KALD,IAAA,GAcV,OAdwB,KAAA,CAAM,YAc9B;;;;cATW,aAAW,GAAA,CAAA;OAAA,cAAA;EAAA,QAAA,eAAA;AAcxB,CAAA,iBAAa,CAAA;;;;cAAA,qBAAmB,GAAA,CAAA;UAAA,eAAA;EAAA,oBAAA,eAAA;AAmBhC,CAAA,iBAAa,CAAA;;;;AAAoB,cAApB,oBAAoB,EAAA,GAAA,CAAA,SAAA,CAAA;EAAA,KAAA,cAAA;AAUjC,CAAA,iBAAa,CAAA;;;;cAAA,kBAAgB,GAAA,CAAA;;;;;;;;KAajB,gBAAA,GAAmB,GAAA,CAAE,aAAa;;;;AAAlC,cAKC,gBALe,EAKC,GAAA,CAAA,SALD,CAAA;EAAA,KAAA,iBAAA,gBAAA,cAAA,CAAA,CAAA;WAAkB,eAAA;UAAb,eAAA;EAAK,KAAA,eAAA;AAKtC,CAAA,EAAA;EAKE,GAAA,EAAA,CAAA,CAAA;;;KAEU,gBAAA,GAAmB,GAAA,CAAE,aAAa;;;;AAPjB,cAYhB,oBAZgB,EAYI,GAAA,CAAA,SAZJ,CAAA;EAAA,QAAA,eAAA;AAO7B,CAAA,iBAAY,CAAA;AAAgB,KAShB,oBAAA,GAAuB,GAAA,CAAE,KATT,CAAA,OASsB,oBATtB,CAAA"}
@@ -35,7 +35,7 @@ const createUserSchema = userSchema.pick({
35
35
  firstName: z$1.string().min(2, { message: "Voornaam moet langer zijn dan 2 karakters" }).max(50, { message: "Voornaam mag niet langer zijn dan 50 karakters" }),
36
36
  lastName: z$1.string().min(2, { message: "Achternaam moet langer zijn dan 2 karakters" }).max(50, { message: "Achternaam mag niet langer zijn dan 50 karakters" }),
37
37
  password: z$1.string().min(6, { message: "Wachtwoord moet minimaal 6 karakters hebben" }),
38
- role: z$1.string()
38
+ role: z$1.string().default("user")
39
39
  });
40
40
  /**
41
41
  * Update user schema
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","names":["z"],"sources":["../../../../src/modules/auth/lib/validators.ts"],"sourcesContent":["import { userSchema } from \"better-auth/db\";\nimport { createInsertSchema } from \"drizzle-zod\";\nimport { z } from \"zod\";\nimport { users } from \"../db/schema\";\n\n/**\n * User type\n */\nexport type User = typeof users.$inferSelect;\n\n/**\n * Login schema\n */\nexport const loginSchema = z.object({\n email: z\n .email({ message: \"Email moet een geldig email adres zijn\" })\n .min(2, { message: \"Email moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Email mag niet langer zijn dan 50 karakters\" }),\n password: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n});\n\n/**\n * Reset password schema\n */\nexport const resetPasswordSchema = z\n .object({\n password: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n passwordConfirmation: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n })\n .refine((data) => data.password === data.passwordConfirmation, {\n message: \"Wachtwoorden komen niet overeen\",\n path: [\"passwordConfirmation\"],\n });\n\n/**\n * Forgot password schema\n */\nexport const forgotPasswordSchema = z.object({\n email: z\n .email({ error: \"Email moet een geldig email adres zijn\" })\n .min(2, { message: \"Email moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Email mag niet langer zijn dan 50 karakters\" }),\n});\n\n/**\n * Create user schema\n */\nexport const createUserSchema = userSchema.pick({ email: true, image: true }).extend({\n firstName: z\n .string()\n .min(2, { message: \"Voornaam moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Voornaam mag niet langer zijn dan 50 karakters\" }),\n lastName: z\n .string()\n .min(2, { message: \"Achternaam moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Achternaam mag niet langer zijn dan 50 karakters\" }),\n password: z.string().min(6, { message: \"Wachtwoord moet minimaal 6 karakters hebben\" }),\n role: z.string(),\n});\n\nexport type CreateUserSchema = z.infer<typeof createUserSchema>;\n\n/**\n * Update user schema\n */\nexport const updateUserSchema = createInsertSchema(users).pick({\n firstName: true,\n lastName: true,\n email: true,\n image: true,\n});\n\nexport type UpdateUserSchema = z.infer<typeof updateUserSchema>;\n\n/**\n * Update password input validation\n */\nexport const updatePasswordSchema = z.object({\n password: z.string().min(6, { message: \"Wachtwoord moet minimaal 6 karakters hebben\" }),\n});\n\nexport type UpdatePasswordSchema = z.infer<typeof updatePasswordSchema>;\n"],"mappings":";;;;;;;;;AAaA,MAAa,cAAcA,IAAE,OAAO;CAClC,OAAOA,IACJ,MAAM,EAAE,SAAS,0CAA0C,CAAC,CAC5D,IAAI,GAAG,EAAE,SAAS,0CAA0C,CAAC,CAC7D,IAAI,IAAI,EAAE,SAAS,+CAA+C,CAAC;CACtE,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC5E,CAAC;;;;AAKF,MAAa,sBAAsBA,IAChC,OAAO;CACN,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC3E,sBAAsBA,IACnB,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC5E,CAAC,CACD,QAAQ,SAAS,KAAK,aAAa,KAAK,sBAAsB;CAC7D,SAAS;CACT,MAAM,CAAC,uBAAuB;CAC/B,CAAC;;;;AAKJ,MAAa,uBAAuBA,IAAE,OAAO,EAC3C,OAAOA,IACJ,MAAM,EAAE,OAAO,0CAA0C,CAAC,CAC1D,IAAI,GAAG,EAAE,SAAS,0CAA0C,CAAC,CAC7D,IAAI,IAAI,EAAE,SAAS,+CAA+C,CAAC,EACvE,CAAC;;;;AAKF,MAAa,mBAAmB,WAAW,KAAK;CAAE,OAAO;CAAM,OAAO;CAAM,CAAC,CAAC,OAAO;CACnF,WAAWA,IACR,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,6CAA6C,CAAC,CAChE,IAAI,IAAI,EAAE,SAAS,kDAAkD,CAAC;CACzE,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC3E,UAAUA,IAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC;CACvF,MAAMA,IAAE,QAAQ;CACjB,CAAC;;;;AAOF,MAAa,mBAAmB,mBAAmB,MAAM,CAAC,KAAK;CAC7D,WAAW;CACX,UAAU;CACV,OAAO;CACP,OAAO;CACR,CAAC;;;;AAOF,MAAa,uBAAuBA,IAAE,OAAO,EAC3C,UAAUA,IAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,EACxF,CAAC"}
1
+ {"version":3,"file":"validators.js","names":["z"],"sources":["../../../../src/modules/auth/lib/validators.ts"],"sourcesContent":["import { userSchema } from \"better-auth/db\";\nimport { createInsertSchema } from \"drizzle-zod\";\nimport { z } from \"zod\";\nimport { users } from \"../db/schema\";\n\n/**\n * User type\n */\nexport type User = typeof users.$inferSelect;\n\n/**\n * Login schema\n */\nexport const loginSchema = z.object({\n email: z\n .email({ message: \"Email moet een geldig email adres zijn\" })\n .min(2, { message: \"Email moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Email mag niet langer zijn dan 50 karakters\" }),\n password: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n});\n\n/**\n * Reset password schema\n */\nexport const resetPasswordSchema = z\n .object({\n password: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n passwordConfirmation: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n })\n .refine((data) => data.password === data.passwordConfirmation, {\n message: \"Wachtwoorden komen niet overeen\",\n path: [\"passwordConfirmation\"],\n });\n\n/**\n * Forgot password schema\n */\nexport const forgotPasswordSchema = z.object({\n email: z\n .email({ error: \"Email moet een geldig email adres zijn\" })\n .min(2, { message: \"Email moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Email mag niet langer zijn dan 50 karakters\" }),\n});\n\n/**\n * Create user schema\n */\nexport const createUserSchema = userSchema.pick({ email: true, image: true }).extend({\n firstName: z\n .string()\n .min(2, { message: \"Voornaam moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Voornaam mag niet langer zijn dan 50 karakters\" }),\n lastName: z\n .string()\n .min(2, { message: \"Achternaam moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Achternaam mag niet langer zijn dan 50 karakters\" }),\n password: z.string().min(6, { message: \"Wachtwoord moet minimaal 6 karakters hebben\" }),\n role: z.string().default(\"user\"),\n});\n\nexport type CreateUserSchema = z.infer<typeof createUserSchema>;\n\n/**\n * Update user schema\n */\nexport const updateUserSchema = createInsertSchema(users).pick({\n firstName: true,\n lastName: true,\n email: true,\n image: true,\n});\n\nexport type UpdateUserSchema = z.infer<typeof updateUserSchema>;\n\n/**\n * Update password input validation\n */\nexport const updatePasswordSchema = z.object({\n password: z.string().min(6, { message: \"Wachtwoord moet minimaal 6 karakters hebben\" }),\n});\n\nexport type UpdatePasswordSchema = z.infer<typeof updatePasswordSchema>;\n"],"mappings":";;;;;;;;;AAaA,MAAa,cAAcA,IAAE,OAAO;CAClC,OAAOA,IACJ,MAAM,EAAE,SAAS,0CAA0C,CAAC,CAC5D,IAAI,GAAG,EAAE,SAAS,0CAA0C,CAAC,CAC7D,IAAI,IAAI,EAAE,SAAS,+CAA+C,CAAC;CACtE,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC5E,CAAC;;;;AAKF,MAAa,sBAAsBA,IAChC,OAAO;CACN,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC3E,sBAAsBA,IACnB,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC5E,CAAC,CACD,QAAQ,SAAS,KAAK,aAAa,KAAK,sBAAsB;CAC7D,SAAS;CACT,MAAM,CAAC,uBAAuB;CAC/B,CAAC;;;;AAKJ,MAAa,uBAAuBA,IAAE,OAAO,EAC3C,OAAOA,IACJ,MAAM,EAAE,OAAO,0CAA0C,CAAC,CAC1D,IAAI,GAAG,EAAE,SAAS,0CAA0C,CAAC,CAC7D,IAAI,IAAI,EAAE,SAAS,+CAA+C,CAAC,EACvE,CAAC;;;;AAKF,MAAa,mBAAmB,WAAW,KAAK;CAAE,OAAO;CAAM,OAAO;CAAM,CAAC,CAAC,OAAO;CACnF,WAAWA,IACR,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,6CAA6C,CAAC,CAChE,IAAI,IAAI,EAAE,SAAS,kDAAkD,CAAC;CACzE,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC3E,UAAUA,IAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC;CACvF,MAAMA,IAAE,QAAQ,CAAC,QAAQ,OAAO;CACjC,CAAC;;;;AAOF,MAAa,mBAAmB,mBAAmB,MAAM,CAAC,KAAK;CAC7D,WAAW;CACX,UAAU;CACV,OAAO;CACP,OAAO;CACR,CAAC;;;;AAOF,MAAa,uBAAuBA,IAAE,OAAO,EAC3C,UAAUA,IAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,EACxF,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { CommandAction } from "../hooks/use-command-action.client.js";
2
- import * as react_jsx_runtime56 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime54 from "react/jsx-runtime";
3
3
  import React from "react";
4
- import { AlertDialogCancelProps, AlertDialogContentProps, AlertDialogProps } from "@radix-ui/react-alert-dialog";
5
4
  import { Keys } from "react-hotkeys-hook";
5
+ import { AlertDialogCancelProps, AlertDialogContentProps, AlertDialogProps } from "@radix-ui/react-alert-dialog";
6
6
 
7
7
  //#region src/modules/commands/components/alert-dialog-command.client.d.ts
8
8
  /**
@@ -11,7 +11,7 @@ import { Keys } from "react-hotkeys-hook";
11
11
  declare function CommandAlertDialog({
12
12
  children,
13
13
  ...props
14
- }: AlertDialogProps): react_jsx_runtime56.JSX.Element;
14
+ }: AlertDialogProps): react_jsx_runtime54.JSX.Element;
15
15
  /**
16
16
  * CommandAlertDialogTrigger
17
17
  */
@@ -28,49 +28,49 @@ declare function CommandAlertDialogTrigger({
28
28
  children,
29
29
  disabled,
30
30
  ...props
31
- }: CommandAlertDialogTriggerProps): react_jsx_runtime56.JSX.Element | undefined;
31
+ }: CommandAlertDialogTriggerProps): react_jsx_runtime54.JSX.Element | undefined;
32
32
  /**
33
33
  * CommandAlertDialogContent
34
34
  */
35
35
  declare function CommandAlertDialogContent({
36
36
  children,
37
37
  ...props
38
- }: AlertDialogContentProps): react_jsx_runtime56.JSX.Element;
38
+ }: AlertDialogContentProps): react_jsx_runtime54.JSX.Element;
39
39
  /**
40
40
  * CommandAlertDialogHeader
41
41
  */
42
42
  declare function CommandAlertDialogHeader({
43
43
  children,
44
44
  ...props
45
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime56.JSX.Element;
45
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime54.JSX.Element;
46
46
  /**
47
47
  * CommandAlertDialogTitle
48
48
  */
49
49
  declare function CommandAlertDialogTitle({
50
50
  children,
51
51
  ...props
52
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime56.JSX.Element;
52
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime54.JSX.Element;
53
53
  /**
54
54
  * CommandAlertDialogDescription
55
55
  */
56
56
  declare function CommandAlertDialogDescription({
57
57
  children,
58
58
  ...props
59
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime56.JSX.Element;
59
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime54.JSX.Element;
60
60
  /**
61
61
  * CommandAlertDialogFooter
62
62
  */
63
63
  declare function CommandAlertDialogFooter({
64
64
  children,
65
65
  ...props
66
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime56.JSX.Element;
66
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime54.JSX.Element;
67
67
  /**
68
68
  * CommandAlertDialogCancel
69
69
  */
70
70
  declare function CommandAlertDialogCancel({
71
71
  children,
72
72
  ...props
73
- }: AlertDialogCancelProps): react_jsx_runtime56.JSX.Element;
73
+ }: AlertDialogCancelProps): react_jsx_runtime54.JSX.Element;
74
74
  /**
75
75
  * CommandAlertDialogAction
76
76
  */
@@ -87,7 +87,7 @@ declare function CommandAlertDialogAction({
87
87
  children,
88
88
  disabled,
89
89
  ...props
90
- }: CommandAlertDialogActionProps): react_jsx_runtime56.JSX.Element;
90
+ }: CommandAlertDialogActionProps): react_jsx_runtime54.JSX.Element;
91
91
  //#endregion
92
92
  export { CommandAlertDialog, CommandAlertDialogAction, CommandAlertDialogCancel, CommandAlertDialogContent, CommandAlertDialogDescription, CommandAlertDialogFooter, CommandAlertDialogHeader, CommandAlertDialogTitle, CommandAlertDialogTrigger };
93
93
  //# sourceMappingURL=alert-dialog-command.client.d.ts.map
@@ -4,12 +4,12 @@
4
4
  import { Icons } from "../../../components/common/icons.js";
5
5
  import { cn } from "../../../lib/utils/cn.js";
6
6
  import { buttonVariants } from "../../../components/ui/button.js";
7
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from "../../../components/ui/alert-dialog.js";
8
7
  import { ContextMenuItem } from "../../../components/ui/context-menu.js";
9
8
  import { DropdownMenuItem } from "../../../components/ui/dropdown-menu.js";
10
9
  import { useCommand } from "../hooks/context.client.js";
11
10
  import { useCommandAction } from "../hooks/use-command-action.client.js";
12
11
  import { CommandTrigger } from "./command-trigger.client.js";
12
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from "../../../components/ui/alert-dialog.js";
13
13
  import { jsx, jsxs } from "react/jsx-runtime";
14
14
  import React from "react";
15
15
  import { useHotkeys } from "react-hotkeys-hook";
@@ -1,5 +1,5 @@
1
1
  import { CommandAction } from "../hooks/use-command-action.client.js";
2
- import * as react_jsx_runtime65 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime63 from "react/jsx-runtime";
3
3
  import React from "react";
4
4
  import { Keys } from "react-hotkeys-hook";
5
5
 
@@ -21,7 +21,7 @@ declare function CommandClick({
21
21
  hotkey,
22
22
  disabled,
23
23
  ...props
24
- }: CommandClickProps): react_jsx_runtime65.JSX.Element | null;
24
+ }: CommandClickProps): react_jsx_runtime63.JSX.Element | null;
25
25
  //#endregion
26
26
  export { CommandClick, CommandClickProps };
27
27
  //# sourceMappingURL=click-command.client.d.ts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime66 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime64 from "react/jsx-runtime";
2
2
  import * as react0 from "react";
3
3
  import { PropsWithChildren } from "react";
4
4
 
@@ -18,17 +18,17 @@ declare function CommandTrigger({
18
18
  children
19
19
  }: PropsWithChildren<{
20
20
  label?: string;
21
- }>): react_jsx_runtime66.JSX.Element;
21
+ }>): react_jsx_runtime64.JSX.Element;
22
22
  /**
23
23
  * Command label
24
24
  */
25
- declare function CommandLabel(): react_jsx_runtime66.JSX.Element | null;
25
+ declare function CommandLabel(): react_jsx_runtime64.JSX.Element | null;
26
26
  /**
27
27
  * Command icon
28
28
  */
29
29
  declare function CommandIcon({
30
30
  children
31
- }: PropsWithChildren): react_jsx_runtime66.JSX.Element;
31
+ }: PropsWithChildren): react_jsx_runtime64.JSX.Element;
32
32
  //#endregion
33
33
  export { CommandIcon, CommandLabel, CommandTrigger, CommandTriggerContext };
34
34
  //# sourceMappingURL=command-trigger.client.d.ts.map
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../../../components/ui/tooltip.client.js";
5
4
  import { useCommand } from "../hooks/context.client.js";
5
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../../../components/ui/tooltip.client.js";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { createContext, useContext } from "react";
8
8
 
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime69 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime67 from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import { DialogContentProps, DialogProps } from "@radix-ui/react-dialog";
4
4
  import { Keys } from "react-hotkeys-hook";
@@ -10,7 +10,7 @@ import { Keys } from "react-hotkeys-hook";
10
10
  declare function CommandDialog({
11
11
  children,
12
12
  ...props
13
- }: DialogProps): react_jsx_runtime69.JSX.Element;
13
+ }: DialogProps): react_jsx_runtime67.JSX.Element;
14
14
  /**
15
15
  * CommandDialogTrigger
16
16
  */
@@ -27,42 +27,42 @@ declare function CommandDialogTrigger({
27
27
  children,
28
28
  disabled,
29
29
  ...props
30
- }: CommandDialogTriggerProps): react_jsx_runtime69.JSX.Element | undefined;
30
+ }: CommandDialogTriggerProps): react_jsx_runtime67.JSX.Element | undefined;
31
31
  /**
32
32
  * CommandDialogContent
33
33
  */
34
34
  declare function CommandDialogContent({
35
35
  children,
36
36
  ...props
37
- }: DialogContentProps): react_jsx_runtime69.JSX.Element;
37
+ }: DialogContentProps): react_jsx_runtime67.JSX.Element;
38
38
  /**
39
39
  * CommandDialogHeader
40
40
  */
41
41
  declare function CommandDialogHeader({
42
42
  children,
43
43
  ...props
44
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime69.JSX.Element;
44
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime67.JSX.Element;
45
45
  /**
46
46
  * CommandDialogTitle
47
47
  */
48
48
  declare function CommandDialogTitle({
49
49
  children,
50
50
  ...props
51
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime69.JSX.Element;
51
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime67.JSX.Element;
52
52
  /**
53
53
  * CommandDialogDescription
54
54
  */
55
55
  declare function CommandDialogDescription({
56
56
  children,
57
57
  ...props
58
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime69.JSX.Element;
58
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime67.JSX.Element;
59
59
  /**
60
60
  * CommandDialogFooter
61
61
  */
62
62
  declare function CommandDialogFooter({
63
63
  children,
64
64
  ...props
65
- }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime69.JSX.Element;
65
+ }: React.HTMLAttributes<HTMLElement>): react_jsx_runtime67.JSX.Element;
66
66
  //#endregion
67
67
  export { CommandDialog, CommandDialogContent, CommandDialogDescription, CommandDialogFooter, CommandDialogHeader, CommandDialogTitle, CommandDialogTrigger };
68
68
  //# sourceMappingURL=dialog-command.client.d.ts.map
@@ -3,8 +3,8 @@
3
3
 
4
4
  import { cn } from "../../../lib/utils/cn.js";
5
5
  import { buttonVariants } from "../../../components/ui/button.js";
6
- import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "../../../components/ui/dialog.client.js";
7
6
  import { ContextMenuItem } from "../../../components/ui/context-menu.js";
7
+ import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "../../../components/ui/dialog.client.js";
8
8
  import { DropdownMenuItem } from "../../../components/ui/dropdown-menu.js";
9
9
  import { useCommand } from "../hooks/context.client.js";
10
10
  import { CommandTrigger } from "./command-trigger.client.js";