@tulip-systems/core 0.10.1 → 0.10.2

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 (665) 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/server.d.mts +2 -2
  14. package/dist/components/server.mjs +2 -2
  15. package/dist/components/ui/badge.d.mts +1 -1
  16. package/dist/components/ui/button-group.d.mts +1 -1
  17. package/dist/components/ui/button.d.mts +2 -2
  18. package/dist/components/ui/field.client.d.mts +1 -1
  19. package/dist/components.d.mts +40 -40
  20. package/dist/components.mjs +39 -39
  21. package/dist/config.d.mts +5 -7
  22. package/dist/config.mjs +4 -5
  23. package/dist/data-tables/client.d.mts +21 -21
  24. package/dist/data-tables/client.mjs +21 -21
  25. package/dist/data-tables/server.d.mts +7 -7
  26. package/dist/data-tables/server.mjs +7 -7
  27. package/dist/data-tables.d.mts +15 -14
  28. package/dist/data-tables.mjs +14 -13
  29. package/dist/database/server.d.mts +1 -1
  30. package/dist/database/server.mjs +1 -1
  31. package/dist/database.d.mts +2 -2
  32. package/dist/database.mjs +1 -1
  33. package/dist/emails/server.d.mts +1 -1
  34. package/dist/emails/server.mjs +1 -1
  35. package/dist/inline/client.d.mts +15 -15
  36. package/dist/inline/client.mjs +15 -15
  37. package/dist/inline.d.mts +1 -1
  38. package/dist/inline.mjs +1 -1
  39. package/dist/lib/client.d.mts +4 -4
  40. package/dist/lib/client.mjs +4 -4
  41. package/dist/lib/utils/url.d.mts +15 -4
  42. package/dist/lib/utils/url.mjs +17 -8
  43. package/dist/lib.d.mts +7 -7
  44. package/dist/lib.mjs +6 -6
  45. package/dist/modules/auth/components/create-first-user-guard.server.d.mts +4 -3
  46. package/dist/modules/auth/components/guard.server.d.mts +5 -5
  47. package/dist/modules/auth/components/guard.server.mjs +3 -4
  48. package/dist/modules/auth/handler/create-client.client.d.mts +28 -6382
  49. package/dist/modules/auth/handler/create-client.client.mjs +4 -16
  50. package/dist/modules/auth/handler/proxy.server.d.mts +1 -0
  51. package/dist/modules/auth/handler/proxy.server.mjs +1 -1
  52. package/dist/modules/auth/handler/route.server.d.mts +2 -4
  53. package/dist/modules/auth/handler/route.server.mjs +3 -3
  54. package/dist/modules/auth/handler/service.server.d.mts +41 -2079
  55. package/dist/modules/auth/handler/service.server.mjs +40 -60
  56. package/dist/modules/auth/hooks/use-auth-client.d.mts +5 -6
  57. package/dist/modules/auth/hooks/use-permission.d.mts +7 -7
  58. package/dist/modules/auth/hooks/use-permission.mjs +1 -1
  59. package/dist/modules/auth/hooks/use-session.d.mts +13 -35
  60. package/dist/modules/auth/hooks/use-session.mjs +3 -0
  61. package/dist/modules/auth/lib/helpers.server.d.mts +7 -77
  62. package/dist/modules/auth/lib/helpers.server.mjs +4 -34
  63. package/dist/modules/auth/lib/permissions.d.mts +22 -3
  64. package/dist/modules/auth/plugins/admin.d.mts +917 -0
  65. package/dist/modules/auth/plugins/admin.mjs +18 -0
  66. package/dist/modules/auth/plugins/email-otp.d.mts +554 -0
  67. package/dist/modules/auth/plugins/email-otp.mjs +34 -0
  68. package/dist/modules/config/lib/context.d.mts +5 -4
  69. package/dist/modules/data-tables/lib/converters/dto.d.mts +12 -1
  70. package/dist/modules/data-tables/lib/converters/dto.mjs +13 -1
  71. package/dist/modules/data-tables/lib/converters/filters.d.mts +1 -1
  72. package/dist/modules/data-tables/server/get-data.server.d.mts +3 -2
  73. package/dist/modules/inline/lib/variants.d.mts +1 -1
  74. package/dist/modules/router/handler/init.server.d.mts +43 -51
  75. package/dist/modules/router/handler/init.server.mjs +24 -41
  76. package/dist/modules/router/handler/route.server.d.mts +6 -3
  77. package/dist/modules/router/handler/route.server.mjs +6 -9
  78. package/dist/modules/router/lib/query-client.server.d.mts +2 -2
  79. package/dist/modules/router/lib/query-client.server.mjs +3 -3
  80. package/dist/modules/storage/lib/router-handlers.server.d.mts +6 -7
  81. package/dist/modules/storage/lib/router-handlers.server.mjs +2 -2
  82. package/dist/modules/storage/lib/{procedures.server.d.mts → router.server.d.mts} +42 -19
  83. package/dist/modules/storage/lib/router.server.mjs +21 -0
  84. package/dist/modules/storage/lib/service.server.d.mts +10 -10
  85. package/dist/modules/storage/lib/upload.client.d.mts +9 -10
  86. package/dist/router/client.d.mts +1 -1
  87. package/dist/router/client.mjs +1 -1
  88. package/dist/router/server.d.mts +7 -8
  89. package/dist/router/server.mjs +7 -8
  90. package/dist/router.d.mts +2 -2
  91. package/dist/router.mjs +2 -2
  92. package/dist/storage/client.d.mts +8 -8
  93. package/dist/storage/client.mjs +8 -8
  94. package/dist/storage/server.d.mts +5 -5
  95. package/dist/storage/server.mjs +5 -5
  96. package/dist/storage.d.mts +8 -8
  97. package/dist/storage.mjs +7 -7
  98. package/package.json +2 -2
  99. package/src/lib/utils/url.ts +19 -8
  100. package/src/modules/auth/components/create-first-user-guard.server.tsx +5 -4
  101. package/src/modules/auth/components/create-first-user-page.client.tsx +6 -1
  102. package/src/modules/auth/components/forget-password-page.client.tsx +3 -2
  103. package/src/modules/auth/components/guard.server.tsx +6 -7
  104. package/src/modules/auth/components/login-page.client.tsx +3 -1
  105. package/src/modules/auth/components/reset-password-page.client.tsx +3 -2
  106. package/src/modules/auth/db/schema.ts +1 -1
  107. package/src/modules/auth/entry.server.ts +0 -1
  108. package/src/modules/auth/handler/create-client.client.ts +43 -41
  109. package/src/modules/auth/handler/proxy.server.ts +4 -2
  110. package/src/modules/auth/handler/route.server.ts +6 -5
  111. package/src/modules/auth/handler/service.server.ts +70 -94
  112. package/src/modules/auth/hooks/use-auth-client.tsx +6 -18
  113. package/src/modules/auth/hooks/use-permission.ts +23 -9
  114. package/src/modules/auth/hooks/use-session.ts +18 -5
  115. package/src/modules/auth/lib/helpers.server.ts +16 -44
  116. package/src/modules/auth/lib/permissions.ts +35 -2
  117. package/src/modules/auth/plugins/admin.ts +28 -0
  118. package/src/modules/auth/plugins/email-otp.ts +43 -0
  119. package/src/modules/config/entry.ts +0 -3
  120. package/src/modules/config/lib/context.ts +8 -4
  121. package/src/modules/data-tables/components/filters/date-range.client.tsx +1 -5
  122. package/src/modules/data-tables/entry.ts +1 -0
  123. package/src/modules/data-tables/lib/converters/dto.ts +12 -0
  124. package/src/modules/data-tables/lib/converters/filters.ts +1 -1
  125. package/src/modules/data-tables/lib/filters/parsers.ts +1 -2
  126. package/src/modules/data-tables/server/get-data.server.ts +8 -3
  127. package/src/modules/inline/components/inputs/combobox-dropdown.client.tsx +1 -3
  128. package/src/modules/inline/components/inputs/combobox.client.tsx +2 -8
  129. package/src/modules/inline/components/inputs/date-time.client.tsx +4 -24
  130. package/src/modules/inline/components/inputs/date.client.tsx +3 -11
  131. package/src/modules/inline/components/inputs/editor.client.tsx +9 -10
  132. package/src/modules/inline/components/inputs/input.client.tsx +10 -33
  133. package/src/modules/inline/components/inputs/select.client.tsx +3 -16
  134. package/src/modules/inline/components/inputs/switch.client.tsx +3 -16
  135. package/src/modules/router/entry.server.ts +0 -1
  136. package/src/modules/router/handler/init.server.ts +58 -62
  137. package/src/modules/router/handler/route.server.ts +19 -19
  138. package/src/modules/router/lib/query-client.server.tsx +2 -2
  139. package/src/modules/storage/entry.server.ts +1 -1
  140. package/src/modules/storage/lib/router-handlers.server.ts +8 -10
  141. package/src/modules/storage/lib/router.server.ts +53 -0
  142. package/src/modules/storage/lib/upload.client.ts +9 -21
  143. package/src/styles.css +107 -78
  144. package/dist/dist/config.d.mts +0 -5
  145. package/dist/dist/modules/auth/handler/service.server.d.mts +0 -8
  146. package/dist/dist/modules/auth/lib/permissions.d.mts +0 -2
  147. package/dist/dist/modules/config/lib/context.d.mts +0 -4
  148. package/dist/dist/modules/config/paths/helpers.d.mts +0 -1
  149. package/dist/dist/modules/config/paths/types.d.mts +0 -3
  150. package/dist/dist/modules/database/lib/helpers.d.mts +0 -2
  151. package/dist/dist/modules/database/lib/service.server.d.mts +0 -2
  152. package/dist/dist/modules/database/lib/types.d.mts +0 -5
  153. package/dist/dist/modules/emails/lib/service.server.d.mts +0 -2
  154. package/dist/dist/modules/storage/lib/schema.d.mts +0 -1
  155. package/dist/dist/modules/storage/lib/service.server.d.mts +0 -5
  156. package/dist/dist/modules/storage/lib/validators.d.mts +0 -4
  157. package/dist/dist/modules/storage/providers/lib/types.d.mts +0 -1
  158. package/dist/dist/modules/storage/providers/lib/validators.d.mts +0 -2
  159. package/dist/modules/router/handler/context.server.d.mts +0 -62
  160. package/dist/modules/router/handler/context.server.mjs +0 -20
  161. package/dist/modules/storage/lib/procedures.server.mjs +0 -21
  162. package/dist/src/components/common/icons.d.mts +0 -60
  163. package/dist/src/components/common/icons.mjs +0 -121
  164. package/dist/src/components/common/status.d.mts +0 -52
  165. package/dist/src/components/common/status.mjs +0 -55
  166. package/dist/src/components/editor/components/content.client.d.mts +0 -6
  167. package/dist/src/components/editor/components/content.client.mjs +0 -16
  168. package/dist/src/components/editor/components/editor.client.d.mts +0 -48
  169. package/dist/src/components/editor/components/editor.client.mjs +0 -55
  170. package/dist/src/components/editor/components/menu-nodes.client.mjs +0 -92
  171. package/dist/src/components/editor/components/menu.client.d.mts +0 -9
  172. package/dist/src/components/editor/components/menu.client.mjs +0 -168
  173. package/dist/src/components/editor/extensions/file-handler/extension.d.mts +0 -20
  174. package/dist/src/components/editor/extensions/file-handler/extension.mjs +0 -39
  175. package/dist/src/components/editor/extensions/file-handler/strategy.d.mts +0 -26
  176. package/dist/src/components/editor/extensions/file-handler/strategy.mjs +0 -110
  177. package/dist/src/components/editor/extensions/file-handler/utils.mjs +0 -49
  178. package/dist/src/components/editor/extensions/image/extension.d.mts +0 -7
  179. package/dist/src/components/editor/extensions/image/extension.mjs +0 -50
  180. package/dist/src/components/editor/extensions/skeleton/extension.mjs +0 -40
  181. package/dist/src/components/editor/extensions/skeleton/renderer.mjs +0 -24
  182. package/dist/src/components/editor/lib/constants.d.mts +0 -62
  183. package/dist/src/components/editor/lib/constants.mjs +0 -101
  184. package/dist/src/components/editor/lib/extensions.d.mts +0 -67
  185. package/dist/src/components/editor/lib/extensions.mjs +0 -49
  186. package/dist/src/components/editor/lib/helpers.d.mts +0 -25
  187. package/dist/src/components/editor/lib/helpers.mjs +0 -75
  188. package/dist/src/components/editor/lib/types.d.mts +0 -9
  189. package/dist/src/components/editor/lib/variants.mjs +0 -15
  190. package/dist/src/components/emails/forget-password-email.mjs +0 -50
  191. package/dist/src/components/header/back-button.client.d.mts +0 -9
  192. package/dist/src/components/header/back-button.client.mjs +0 -42
  193. package/dist/src/components/header/bottom-bar.client.d.mts +0 -28
  194. package/dist/src/components/header/bottom-bar.client.mjs +0 -37
  195. package/dist/src/components/header/breadcrumbs.client.d.mts +0 -34
  196. package/dist/src/components/header/breadcrumbs.client.mjs +0 -63
  197. package/dist/src/components/header/header.client.d.mts +0 -11
  198. package/dist/src/components/header/header.client.mjs +0 -14
  199. package/dist/src/components/header/indicator.client.mjs +0 -24
  200. package/dist/src/components/header/mobile-nav-switcher.client.d.mts +0 -9
  201. package/dist/src/components/header/mobile-nav-switcher.client.mjs +0 -18
  202. package/dist/src/components/header/top-bar.client.d.mts +0 -42
  203. package/dist/src/components/header/top-bar.client.mjs +0 -47
  204. package/dist/src/components/layouts/admin-content.client.d.mts +0 -12
  205. package/dist/src/components/layouts/admin-content.client.mjs +0 -22
  206. package/dist/src/components/layouts/admin-error-pages.d.mts +0 -22
  207. package/dist/src/components/layouts/admin-error-pages.mjs +0 -59
  208. package/dist/src/components/layouts/admin-layout.d.mts +0 -7
  209. package/dist/src/components/layouts/admin-layout.mjs +0 -13
  210. package/dist/src/components/layouts/admin-loading.d.mts +0 -7
  211. package/dist/src/components/layouts/admin-loading.mjs +0 -13
  212. package/dist/src/components/layouts/empty-page.d.mts +0 -30
  213. package/dist/src/components/layouts/empty-page.mjs +0 -28
  214. package/dist/src/components/layouts/error-page.d.mts +0 -47
  215. package/dist/src/components/layouts/error-page.mjs +0 -53
  216. package/dist/src/components/layouts/error-sections.d.mts +0 -28
  217. package/dist/src/components/layouts/error-sections.mjs +0 -46
  218. package/dist/src/components/layouts/list-layout.d.mts +0 -11
  219. package/dist/src/components/layouts/list-layout.mjs +0 -14
  220. package/dist/src/components/layouts/providers.client.d.mts +0 -9
  221. package/dist/src/components/layouts/providers.client.mjs +0 -31
  222. package/dist/src/components/layouts/root-error-pages.d.mts +0 -9
  223. package/dist/src/components/layouts/root-error-pages.mjs +0 -16
  224. package/dist/src/components/layouts/root-layout.server.d.mts +0 -37
  225. package/dist/src/components/layouts/root-layout.server.mjs +0 -44
  226. package/dist/src/components/layouts/root-loading.d.mts +0 -6
  227. package/dist/src/components/layouts/root-loading.mjs +0 -13
  228. package/dist/src/components/layouts/tab-layout.d.mts +0 -22
  229. package/dist/src/components/layouts/tab-layout.mjs +0 -50
  230. package/dist/src/components/lists/data-list.d.mts +0 -30
  231. package/dist/src/components/lists/data-list.mjs +0 -35
  232. package/dist/src/components/lists/data-stack.d.mts +0 -48
  233. package/dist/src/components/lists/data-stack.mjs +0 -56
  234. package/dist/src/components/navigation/admin-sidebar-header.client.mjs +0 -92
  235. package/dist/src/components/navigation/admin-sidebar-paths.client.d.mts +0 -91
  236. package/dist/src/components/navigation/admin-sidebar-paths.client.mjs +0 -143
  237. package/dist/src/components/navigation/admin-sidebar-skeleton.mjs +0 -30
  238. package/dist/src/components/themes/color-theme-provider.client.d.mts +0 -27
  239. package/dist/src/components/themes/color-theme-provider.client.mjs +0 -59
  240. package/dist/src/components/themes/color-theme.d.mts +0 -29
  241. package/dist/src/components/themes/color-theme.mjs +0 -32
  242. package/dist/src/components/ui/accordion.client.d.mts +0 -25
  243. package/dist/src/components/ui/accordion.client.mjs +0 -57
  244. package/dist/src/components/ui/alert-dialog.client.d.mts +0 -60
  245. package/dist/src/components/ui/alert-dialog.client.mjs +0 -103
  246. package/dist/src/components/ui/alert.d.mts +0 -28
  247. package/dist/src/components/ui/alert.mjs +0 -44
  248. package/dist/src/components/ui/aspect-ratio.client.d.mts +0 -9
  249. package/dist/src/components/ui/aspect-ratio.client.mjs +0 -15
  250. package/dist/src/components/ui/avatar.client.d.mts +0 -34
  251. package/dist/src/components/ui/avatar.client.mjs +0 -53
  252. package/dist/src/components/ui/badge.d.mts +0 -19
  253. package/dist/src/components/ui/badge.mjs +0 -28
  254. package/dist/src/components/ui/breadcrumb.d.mts +0 -37
  255. package/dist/src/components/ui/breadcrumb.mjs +0 -70
  256. package/dist/src/components/ui/button-group.d.mts +0 -28
  257. package/dist/src/components/ui/button-group.mjs +0 -40
  258. package/dist/src/components/ui/button.d.mts +0 -21
  259. package/dist/src/components/ui/button.mjs +0 -48
  260. package/dist/src/components/ui/calendar.client.d.mts +0 -30
  261. package/dist/src/components/ui/calendar.client.mjs +0 -113
  262. package/dist/src/components/ui/card.d.mts +0 -37
  263. package/dist/src/components/ui/card.mjs +0 -57
  264. package/dist/src/components/ui/carousel.client.d.mts +0 -56
  265. package/dist/src/components/ui/carousel.client.mjs +0 -135
  266. package/dist/src/components/ui/chart.client.d.mts +0 -71
  267. package/dist/src/components/ui/chart.client.mjs +0 -142
  268. package/dist/src/components/ui/checkbox.client.d.mts +0 -11
  269. package/dist/src/components/ui/checkbox.client.mjs +0 -23
  270. package/dist/src/components/ui/collapsible.client.d.mts +0 -15
  271. package/dist/src/components/ui/collapsible.client.mjs +0 -27
  272. package/dist/src/components/ui/color-picker.client.d.mts +0 -15
  273. package/dist/src/components/ui/color-picker.client.mjs +0 -38
  274. package/dist/src/components/ui/combobox-dropdown.client.d.mts +0 -45
  275. package/dist/src/components/ui/combobox-dropdown.client.mjs +0 -94
  276. package/dist/src/components/ui/combobox.client.d.mts +0 -30
  277. package/dist/src/components/ui/combobox.client.mjs +0 -66
  278. package/dist/src/components/ui/command.client.d.mts +0 -58
  279. package/dist/src/components/ui/command.client.mjs +0 -97
  280. package/dist/src/components/ui/context-menu.client.d.mts +0 -85
  281. package/dist/src/components/ui/context-menu.client.mjs +0 -127
  282. package/dist/src/components/ui/date-picker.client.d.mts +0 -20
  283. package/dist/src/components/ui/date-picker.client.mjs +0 -43
  284. package/dist/src/components/ui/dialog.client.d.mts +0 -51
  285. package/dist/src/components/ui/dialog.client.mjs +0 -98
  286. package/dist/src/components/ui/drawer.client.d.mts +0 -44
  287. package/dist/src/components/ui/drawer.client.mjs +0 -80
  288. package/dist/src/components/ui/dropdown-menu.client.d.mts +0 -84
  289. package/dist/src/components/ui/dropdown-menu.client.mjs +0 -130
  290. package/dist/src/components/ui/empty.d.mts +0 -35
  291. package/dist/src/components/ui/empty.mjs +0 -61
  292. package/dist/src/components/ui/field.client.d.mts +0 -64
  293. package/dist/src/components/ui/field.client.mjs +0 -113
  294. package/dist/src/components/ui/form.client.d.mts +0 -47
  295. package/dist/src/components/ui/form.client.mjs +0 -92
  296. package/dist/src/components/ui/hover-card.client.d.mts +0 -19
  297. package/dist/src/components/ui/hover-card.client.mjs +0 -34
  298. package/dist/src/components/ui/input-date-time.client.d.mts +0 -22
  299. package/dist/src/components/ui/input-date-time.client.mjs +0 -33
  300. package/dist/src/components/ui/input-date.d.mts +0 -13
  301. package/dist/src/components/ui/input-date.mjs +0 -15
  302. package/dist/src/components/ui/input-group.client.d.mts +0 -58
  303. package/dist/src/components/ui/input-group.client.mjs +0 -105
  304. package/dist/src/components/ui/input-recipient.d.mts +0 -26
  305. package/dist/src/components/ui/input-recipient.mjs +0 -218
  306. package/dist/src/components/ui/input-time.d.mts +0 -13
  307. package/dist/src/components/ui/input-time.mjs +0 -15
  308. package/dist/src/components/ui/input.d.mts +0 -11
  309. package/dist/src/components/ui/input.mjs +0 -15
  310. package/dist/src/components/ui/item.d.mts +0 -62
  311. package/dist/src/components/ui/item.mjs +0 -118
  312. package/dist/src/components/ui/kbd.d.mts +0 -13
  313. package/dist/src/components/ui/kbd.mjs +0 -21
  314. package/dist/src/components/ui/label.d.mts +0 -11
  315. package/dist/src/components/ui/label.mjs +0 -17
  316. package/dist/src/components/ui/loader.d.mts +0 -6
  317. package/dist/src/components/ui/loader.mjs +0 -62
  318. package/dist/src/components/ui/navigation-menu.d.mts +0 -46
  319. package/dist/src/components/ui/navigation-menu.mjs +0 -81
  320. package/dist/src/components/ui/pagination.d.mts +0 -45
  321. package/dist/src/components/ui/pagination.mjs +0 -87
  322. package/dist/src/components/ui/popover.client.d.mts +0 -34
  323. package/dist/src/components/ui/popover.client.mjs +0 -58
  324. package/dist/src/components/ui/progress.client.d.mts +0 -12
  325. package/dist/src/components/ui/progress.client.mjs +0 -22
  326. package/dist/src/components/ui/radio-group.d.mts +0 -15
  327. package/dist/src/components/ui/radio-group.mjs +0 -29
  328. package/dist/src/components/ui/resizable.client.d.mts +0 -20
  329. package/dist/src/components/ui/resizable.client.mjs +0 -31
  330. package/dist/src/components/ui/scroll-area.d.mts +0 -17
  331. package/dist/src/components/ui/scroll-area.mjs +0 -39
  332. package/dist/src/components/ui/select.client.d.mts +0 -53
  333. package/dist/src/components/ui/select.client.mjs +0 -102
  334. package/dist/src/components/ui/separator.d.mts +0 -13
  335. package/dist/src/components/ui/separator.mjs +0 -19
  336. package/dist/src/components/ui/sheet.client.d.mts +0 -42
  337. package/dist/src/components/ui/sheet.client.mjs +0 -92
  338. package/dist/src/components/ui/sidebar.client.d.mts +0 -167
  339. package/dist/src/components/ui/sidebar.client.mjs +0 -373
  340. package/dist/src/components/ui/skeleton.d.mts +0 -9
  341. package/dist/src/components/ui/skeleton.mjs +0 -14
  342. package/dist/src/components/ui/slider.d.mts +0 -15
  343. package/dist/src/components/ui/slider.mjs +0 -39
  344. package/dist/src/components/ui/sonner.client.d.mts +0 -9
  345. package/dist/src/components/ui/sonner.client.mjs +0 -24
  346. package/dist/src/components/ui/spinner.d.mts +0 -9
  347. package/dist/src/components/ui/spinner.mjs +0 -16
  348. package/dist/src/components/ui/switch.client.d.mts +0 -14
  349. package/dist/src/components/ui/switch.client.mjs +0 -22
  350. package/dist/src/components/ui/tabs.client.d.mts +0 -30
  351. package/dist/src/components/ui/tabs.client.mjs +0 -48
  352. package/dist/src/components/ui/textarea.d.mts +0 -10
  353. package/dist/src/components/ui/textarea.mjs +0 -14
  354. package/dist/src/components/ui/toggle-group.client.d.mts +0 -28
  355. package/dist/src/components/ui/toggle-group.client.mjs +0 -54
  356. package/dist/src/components/ui/toggle.client.d.mts +0 -19
  357. package/dist/src/components/ui/toggle.client.mjs +0 -39
  358. package/dist/src/components/ui/tooltip.client.d.mts +0 -23
  359. package/dist/src/components/ui/tooltip.client.mjs +0 -38
  360. package/dist/src/lib/hooks/use-action.d.mts +0 -16
  361. package/dist/src/lib/hooks/use-action.mjs +0 -41
  362. package/dist/src/lib/hooks/use-indicator.d.mts +0 -39
  363. package/dist/src/lib/hooks/use-indicator.mjs +0 -63
  364. package/dist/src/lib/hooks/use-mobile.client.d.mts +0 -6
  365. package/dist/src/lib/hooks/use-mobile.client.mjs +0 -21
  366. package/dist/src/lib/types/config.d.mts +0 -11
  367. package/dist/src/lib/utils/array-move.d.mts +0 -10
  368. package/dist/src/lib/utils/array-move.mjs +0 -12
  369. package/dist/src/lib/utils/cn.d.mts +0 -6
  370. package/dist/src/lib/utils/cn.mjs +0 -10
  371. package/dist/src/lib/utils/fonts.d.mts +0 -7
  372. package/dist/src/lib/utils/fonts.mjs +0 -11
  373. package/dist/src/lib/utils/format.d.mts +0 -51
  374. package/dist/src/lib/utils/format.mjs +0 -113
  375. package/dist/src/lib/utils/manifest.d.mts +0 -7
  376. package/dist/src/lib/utils/manifest.mjs +0 -35
  377. package/dist/src/lib/utils/markdown.d.mts +0 -9
  378. package/dist/src/lib/utils/markdown.mjs +0 -14
  379. package/dist/src/lib/utils/url.d.mts +0 -9
  380. package/dist/src/lib/utils/url.mjs +0 -15
  381. package/dist/src/lib/utils/user-agent.mjs +0 -74
  382. package/dist/src/modules/auth/components/allowed.client.d.mts +0 -33
  383. package/dist/src/modules/auth/components/allowed.client.mjs +0 -19
  384. package/dist/src/modules/auth/components/auth-layout.server.d.mts +0 -9
  385. package/dist/src/modules/auth/components/auth-layout.server.mjs +0 -36
  386. package/dist/src/modules/auth/components/auth-loading.d.mts +0 -6
  387. package/dist/src/modules/auth/components/auth-loading.mjs +0 -17
  388. package/dist/src/modules/auth/components/create-first-user-guard.server.d.mts +0 -15
  389. package/dist/src/modules/auth/components/create-first-user-guard.server.mjs +0 -15
  390. package/dist/src/modules/auth/components/create-first-user-page.client.d.mts +0 -6
  391. package/dist/src/modules/auth/components/create-first-user-page.client.mjs +0 -153
  392. package/dist/src/modules/auth/components/forget-password-page.client.d.mts +0 -6
  393. package/dist/src/modules/auth/components/forget-password-page.client.mjs +0 -72
  394. package/dist/src/modules/auth/components/guard.server.d.mts +0 -14
  395. package/dist/src/modules/auth/components/guard.server.mjs +0 -20
  396. package/dist/src/modules/auth/components/login-page.client.d.mts +0 -11
  397. package/dist/src/modules/auth/components/login-page.client.mjs +0 -155
  398. package/dist/src/modules/auth/components/reset-password-page.client.d.mts +0 -11
  399. package/dist/src/modules/auth/components/reset-password-page.client.mjs +0 -121
  400. package/dist/src/modules/auth/components/update-password-command.d.mts +0 -22
  401. package/dist/src/modules/auth/components/update-password-command.mjs +0 -47
  402. package/dist/src/modules/auth/db/schema.d.mts +0 -983
  403. package/dist/src/modules/auth/db/schema.mjs +0 -101
  404. package/dist/src/modules/auth/handler/create-client.client.d.mts +0 -6393
  405. package/dist/src/modules/auth/handler/create-client.client.mjs +0 -25
  406. package/dist/src/modules/auth/handler/proxy.server.d.mts +0 -11
  407. package/dist/src/modules/auth/handler/proxy.server.mjs +0 -20
  408. package/dist/src/modules/auth/handler/route.server.d.mts +0 -16
  409. package/dist/src/modules/auth/handler/route.server.mjs +0 -28
  410. package/dist/src/modules/auth/handler/service.server.d.mts +0 -2101
  411. package/dist/src/modules/auth/handler/service.server.mjs +0 -87
  412. package/dist/src/modules/auth/hooks/use-auth-client.d.mts +0 -23
  413. package/dist/src/modules/auth/hooks/use-auth-client.mjs +0 -30
  414. package/dist/src/modules/auth/hooks/use-permission.d.mts +0 -42
  415. package/dist/src/modules/auth/hooks/use-permission.mjs +0 -57
  416. package/dist/src/modules/auth/hooks/use-session.d.mts +0 -40
  417. package/dist/src/modules/auth/hooks/use-session.mjs +0 -22
  418. package/dist/src/modules/auth/lib/helpers.server.d.mts +0 -84
  419. package/dist/src/modules/auth/lib/helpers.server.mjs +0 -41
  420. package/dist/src/modules/auth/lib/permissions.d.mts +0 -17
  421. package/dist/src/modules/auth/lib/permissions.mjs +0 -14
  422. package/dist/src/modules/auth/lib/validators.d.mts +0 -299
  423. package/dist/src/modules/auth/lib/validators.mjs +0 -59
  424. package/dist/src/modules/commands/components/menus/context-menu.client.d.mts +0 -39
  425. package/dist/src/modules/commands/components/menus/context-menu.client.mjs +0 -47
  426. package/dist/src/modules/commands/components/menus/dropdown-menu.client.d.mts +0 -29
  427. package/dist/src/modules/commands/components/menus/dropdown-menu.client.mjs +0 -58
  428. package/dist/src/modules/commands/components/menus/floating-menu.client.d.mts +0 -29
  429. package/dist/src/modules/commands/components/menus/floating-menu.client.mjs +0 -33
  430. package/dist/src/modules/commands/components/menus/inline-menu.client.d.mts +0 -29
  431. package/dist/src/modules/commands/components/menus/inline-menu.client.mjs +0 -41
  432. package/dist/src/modules/commands/components/menus/responsive-menu.client.d.mts +0 -16
  433. package/dist/src/modules/commands/components/menus/responsive-menu.client.mjs +0 -22
  434. package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.d.mts +0 -65
  435. package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.mjs +0 -138
  436. package/dist/src/modules/commands/components/primitives/click-command.client.d.mts +0 -26
  437. package/dist/src/modules/commands/components/primitives/click-command.client.mjs +0 -52
  438. package/dist/src/modules/commands/components/primitives/command-trigger.client.d.mts +0 -17
  439. package/dist/src/modules/commands/components/primitives/command-trigger.client.mjs +0 -42
  440. package/dist/src/modules/commands/components/primitives/dialog-command.client.d.mts +0 -53
  441. package/dist/src/modules/commands/components/primitives/dialog-command.client.mjs +0 -116
  442. package/dist/src/modules/commands/components/primitives/dropdown-command.client.d.mts +0 -47
  443. package/dist/src/modules/commands/components/primitives/dropdown-command.client.mjs +0 -131
  444. package/dist/src/modules/commands/components/primitives/empty-command.client.d.mts +0 -20
  445. package/dist/src/modules/commands/components/primitives/empty-command.client.mjs +0 -44
  446. package/dist/src/modules/commands/components/primitives/form-dialog-command.client.d.mts +0 -71
  447. package/dist/src/modules/commands/components/primitives/form-dialog-command.client.mjs +0 -163
  448. package/dist/src/modules/commands/components/render-command.mjs +0 -48
  449. package/dist/src/modules/commands/components/utils/archive-command.client.d.mts +0 -24
  450. package/dist/src/modules/commands/components/utils/archive-command.client.mjs +0 -29
  451. package/dist/src/modules/commands/components/utils/delete-command.client.d.mts +0 -20
  452. package/dist/src/modules/commands/components/utils/delete-command.client.mjs +0 -28
  453. package/dist/src/modules/commands/hooks/use-command-mutation.client.d.mts +0 -11
  454. package/dist/src/modules/commands/hooks/use-command-mutation.client.mjs +0 -39
  455. package/dist/src/modules/commands/hooks/use-command.client.d.mts +0 -31
  456. package/dist/src/modules/commands/hooks/use-command.client.mjs +0 -45
  457. package/dist/src/modules/commands/lib/builder.d.mts +0 -135
  458. package/dist/src/modules/commands/lib/builder.mjs +0 -82
  459. package/dist/src/modules/commands/lib/registery.d.mts +0 -68
  460. package/dist/src/modules/commands/lib/registery.mjs +0 -103
  461. package/dist/src/modules/commands/lib/utils.d.mts +0 -11
  462. package/dist/src/modules/commands/lib/utils.mjs +0 -14
  463. package/dist/src/modules/config/lib/config.d.mts +0 -16
  464. package/dist/src/modules/config/lib/config.mjs +0 -8
  465. package/dist/src/modules/config/lib/context.d.mts +0 -17
  466. package/dist/src/modules/config/lib/context.mjs +0 -7
  467. package/dist/src/modules/config/paths/helpers.d.mts +0 -9
  468. package/dist/src/modules/config/paths/helpers.mjs +0 -8
  469. package/dist/src/modules/config/paths/types.d.mts +0 -31
  470. package/dist/src/modules/data-tables/components/cell/common.client.d.mts +0 -26
  471. package/dist/src/modules/data-tables/components/cell/common.client.mjs +0 -35
  472. package/dist/src/modules/data-tables/components/cell/index.client.d.mts +0 -10
  473. package/dist/src/modules/data-tables/components/cell/index.client.mjs +0 -24
  474. package/dist/src/modules/data-tables/components/cell/select.client.d.mts +0 -10
  475. package/dist/src/modules/data-tables/components/cell/select.client.mjs +0 -36
  476. package/dist/src/modules/data-tables/components/column-header.d.mts +0 -15
  477. package/dist/src/modules/data-tables/components/column-header.mjs +0 -46
  478. package/dist/src/modules/data-tables/components/filters/combobox.client.d.mts +0 -27
  479. package/dist/src/modules/data-tables/components/filters/combobox.client.mjs +0 -97
  480. package/dist/src/modules/data-tables/components/filters/date-range.client.d.mts +0 -24
  481. package/dist/src/modules/data-tables/components/filters/date-range.client.mjs +0 -99
  482. package/dist/src/modules/data-tables/components/filters/search.client.d.mts +0 -17
  483. package/dist/src/modules/data-tables/components/filters/search.client.mjs +0 -32
  484. package/dist/src/modules/data-tables/components/filters/slider.client.d.mts +0 -22
  485. package/dist/src/modules/data-tables/components/filters/slider.client.mjs +0 -128
  486. package/dist/src/modules/data-tables/components/filters/toggle.client.d.mts +0 -17
  487. package/dist/src/modules/data-tables/components/filters/toggle.client.mjs +0 -25
  488. package/dist/src/modules/data-tables/components/footer.mjs +0 -31
  489. package/dist/src/modules/data-tables/components/header.d.mts +0 -40
  490. package/dist/src/modules/data-tables/components/header.mjs +0 -43
  491. package/dist/src/modules/data-tables/components/layout.d.mts +0 -11
  492. package/dist/src/modules/data-tables/components/layout.mjs +0 -14
  493. package/dist/src/modules/data-tables/components/search-input.client.d.mts +0 -6
  494. package/dist/src/modules/data-tables/components/search-input.client.mjs +0 -19
  495. package/dist/src/modules/data-tables/components/skeleton.d.mts +0 -6
  496. package/dist/src/modules/data-tables/components/skeleton.mjs +0 -21
  497. package/dist/src/modules/data-tables/components/table.d.mts +0 -33
  498. package/dist/src/modules/data-tables/components/table.mjs +0 -55
  499. package/dist/src/modules/data-tables/components/toolbar.d.mts +0 -22
  500. package/dist/src/modules/data-tables/components/toolbar.mjs +0 -21
  501. package/dist/src/modules/data-tables/hooks/use-context.client.d.mts +0 -47
  502. package/dist/src/modules/data-tables/hooks/use-context.client.mjs +0 -34
  503. package/dist/src/modules/data-tables/hooks/use-search.client.mjs +0 -39
  504. package/dist/src/modules/data-tables/hooks/use-selection.client.mjs +0 -44
  505. package/dist/src/modules/data-tables/hooks/use-table.client.d.mts +0 -10
  506. package/dist/src/modules/data-tables/hooks/use-table.client.mjs +0 -55
  507. package/dist/src/modules/data-tables/lib/converters/dto.d.mts +0 -50
  508. package/dist/src/modules/data-tables/lib/converters/dto.mjs +0 -24
  509. package/dist/src/modules/data-tables/lib/converters/filters.d.mts +0 -41
  510. package/dist/src/modules/data-tables/lib/converters/filters.mjs +0 -38
  511. package/dist/src/modules/data-tables/lib/converters/pagination.d.mts +0 -17
  512. package/dist/src/modules/data-tables/lib/converters/pagination.mjs +0 -15
  513. package/dist/src/modules/data-tables/lib/converters/search.d.mts +0 -16
  514. package/dist/src/modules/data-tables/lib/converters/search.mjs +0 -15
  515. package/dist/src/modules/data-tables/lib/converters/sorting.d.mts +0 -48
  516. package/dist/src/modules/data-tables/lib/converters/sorting.mjs +0 -55
  517. package/dist/src/modules/data-tables/lib/filters/config.d.mts +0 -13
  518. package/dist/src/modules/data-tables/lib/filters/config.mjs +0 -5
  519. package/dist/src/modules/data-tables/lib/filters/helpers.d.mts +0 -10
  520. package/dist/src/modules/data-tables/lib/filters/helpers.mjs +0 -16
  521. package/dist/src/modules/data-tables/lib/filters/parsers.d.mts +0 -46
  522. package/dist/src/modules/data-tables/lib/filters/parsers.mjs +0 -47
  523. package/dist/src/modules/data-tables/lib/filters/resolvers.d.mts +0 -28
  524. package/dist/src/modules/data-tables/lib/filters/resolvers.mjs +0 -55
  525. package/dist/src/modules/data-tables/lib/helpers/create-column.mjs +0 -10
  526. package/dist/src/modules/data-tables/lib/search-params.d.mts +0 -21
  527. package/dist/src/modules/data-tables/lib/search-params.mjs +0 -16
  528. package/dist/src/modules/data-tables/lib/types.d.mts +0 -54
  529. package/dist/src/modules/data-tables/lib/validators.d.mts +0 -19
  530. package/dist/src/modules/data-tables/lib/validators.mjs +0 -16
  531. package/dist/src/modules/data-tables/server/get-data.server.d.mts +0 -29
  532. package/dist/src/modules/data-tables/server/get-data.server.mjs +0 -47
  533. package/dist/src/modules/data-tables/strategies/helpers/sorting.mjs +0 -37
  534. package/dist/src/modules/data-tables/strategies/infinite/components.mjs +0 -50
  535. package/dist/src/modules/data-tables/strategies/infinite/strategy.d.mts +0 -20
  536. package/dist/src/modules/data-tables/strategies/infinite/strategy.mjs +0 -50
  537. package/dist/src/modules/data-tables/strategies/local/components.mjs +0 -25
  538. package/dist/src/modules/data-tables/strategies/local/strategy.d.mts +0 -12
  539. package/dist/src/modules/data-tables/strategies/local/strategy.mjs +0 -31
  540. package/dist/src/modules/data-tables/strategies/pagination/components.mjs +0 -131
  541. package/dist/src/modules/data-tables/strategies/pagination/strategy.d.mts +0 -12
  542. package/dist/src/modules/data-tables/strategies/pagination/strategy.mjs +0 -45
  543. package/dist/src/modules/data-tables/tables/data-table/components/body.mjs +0 -32
  544. package/dist/src/modules/data-tables/tables/data-table/components/header.mjs +0 -12
  545. package/dist/src/modules/data-tables/tables/data-table/components/row.mjs +0 -13
  546. package/dist/src/modules/data-tables/tables/data-table/components/table.d.mts +0 -8
  547. package/dist/src/modules/data-tables/tables/data-table/components/table.mjs +0 -42
  548. package/dist/src/modules/data-tables/tables/inline-table/components/body.mjs +0 -69
  549. package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.d.mts +0 -11
  550. package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.mjs +0 -14
  551. package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +0 -24
  552. package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +0 -38
  553. package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +0 -11
  554. package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +0 -14
  555. package/dist/src/modules/data-tables/tables/inline-table/components/header.mjs +0 -10
  556. package/dist/src/modules/data-tables/tables/inline-table/components/row.client.mjs +0 -24
  557. package/dist/src/modules/data-tables/tables/inline-table/components/table.d.mts +0 -14
  558. package/dist/src/modules/data-tables/tables/inline-table/components/table.mjs +0 -52
  559. package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +0 -48
  560. package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.mjs +0 -58
  561. package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +0 -29
  562. package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +0 -94
  563. package/dist/src/modules/database/lib/helpers.d.mts +0 -15
  564. package/dist/src/modules/database/lib/helpers.mjs +0 -16
  565. package/dist/src/modules/database/lib/service.server.d.mts +0 -33
  566. package/dist/src/modules/database/lib/service.server.mjs +0 -23
  567. package/dist/src/modules/database/lib/types.d.mts +0 -4
  568. package/dist/src/modules/emails/lib/service.server.d.mts +0 -28
  569. package/dist/src/modules/emails/lib/service.server.mjs +0 -20
  570. package/dist/src/modules/inline/components/cell.client.d.mts +0 -20
  571. package/dist/src/modules/inline/components/cell.client.mjs +0 -46
  572. package/dist/src/modules/inline/components/field.client.d.mts +0 -36
  573. package/dist/src/modules/inline/components/field.client.mjs +0 -61
  574. package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.d.mts +0 -28
  575. package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.mjs +0 -49
  576. package/dist/src/modules/inline/components/inputs/combobox.client.d.mts +0 -23
  577. package/dist/src/modules/inline/components/inputs/combobox.client.mjs +0 -45
  578. package/dist/src/modules/inline/components/inputs/date-time.client.d.mts +0 -25
  579. package/dist/src/modules/inline/components/inputs/date-time.client.mjs +0 -48
  580. package/dist/src/modules/inline/components/inputs/date.client.d.mts +0 -66
  581. package/dist/src/modules/inline/components/inputs/date.client.mjs +0 -175
  582. package/dist/src/modules/inline/components/inputs/editor.client.d.mts +0 -26
  583. package/dist/src/modules/inline/components/inputs/editor.client.mjs +0 -51
  584. package/dist/src/modules/inline/components/inputs/input-recipient.client.d.mts +0 -27
  585. package/dist/src/modules/inline/components/inputs/input-recipient.client.mjs +0 -48
  586. package/dist/src/modules/inline/components/inputs/input.client.d.mts +0 -54
  587. package/dist/src/modules/inline/components/inputs/input.client.mjs +0 -129
  588. package/dist/src/modules/inline/components/inputs/select.client.d.mts +0 -32
  589. package/dist/src/modules/inline/components/inputs/select.client.mjs +0 -64
  590. package/dist/src/modules/inline/components/inputs/switch.client.d.mts +0 -22
  591. package/dist/src/modules/inline/components/inputs/switch.client.mjs +0 -42
  592. package/dist/src/modules/inline/components/inputs/toggle.client.d.mts +0 -24
  593. package/dist/src/modules/inline/components/inputs/toggle.client.mjs +0 -47
  594. package/dist/src/modules/inline/hooks/inline-provider.d.mts +0 -28
  595. package/dist/src/modules/inline/hooks/inline-provider.mjs +0 -25
  596. package/dist/src/modules/inline/hooks/inline-state.client.d.mts +0 -30
  597. package/dist/src/modules/inline/hooks/inline-state.client.mjs +0 -25
  598. package/dist/src/modules/inline/hooks/use-inline.client.d.mts +0 -144
  599. package/dist/src/modules/inline/hooks/use-inline.client.mjs +0 -125
  600. package/dist/src/modules/inline/lib/validators.d.mts +0 -56
  601. package/dist/src/modules/inline/lib/validators.mjs +0 -34
  602. package/dist/src/modules/inline/lib/variants.d.mts +0 -11
  603. package/dist/src/modules/inline/lib/variants.mjs +0 -21
  604. package/dist/src/modules/router/handler/caller.client.d.mts +0 -10
  605. package/dist/src/modules/router/handler/caller.client.mjs +0 -23
  606. package/dist/src/modules/router/handler/caller.server.d.mts +0 -6
  607. package/dist/src/modules/router/handler/caller.server.mjs +0 -7
  608. package/dist/src/modules/router/handler/context.server.d.mts +0 -62
  609. package/dist/src/modules/router/handler/context.server.mjs +0 -20
  610. package/dist/src/modules/router/handler/init.server.d.mts +0 -65
  611. package/dist/src/modules/router/handler/init.server.mjs +0 -55
  612. package/dist/src/modules/router/handler/register.server.d.mts +0 -8
  613. package/dist/src/modules/router/handler/register.server.mjs +0 -10
  614. package/dist/src/modules/router/handler/route.server.d.mts +0 -21
  615. package/dist/src/modules/router/handler/route.server.mjs +0 -32
  616. package/dist/src/modules/router/lib/error.server.d.mts +0 -2
  617. package/dist/src/modules/router/lib/error.server.mjs +0 -3
  618. package/dist/src/modules/router/lib/helpers.mjs +0 -7
  619. package/dist/src/modules/router/lib/query-client.d.mts +0 -10
  620. package/dist/src/modules/router/lib/query-client.mjs +0 -50
  621. package/dist/src/modules/router/lib/query-client.server.d.mts +0 -17
  622. package/dist/src/modules/router/lib/query-client.server.mjs +0 -23
  623. package/dist/src/modules/router/lib/validators.d.mts +0 -12
  624. package/dist/src/modules/router/lib/validators.mjs +0 -10
  625. package/dist/src/modules/storage/components/dropzone-context.client.d.mts +0 -18
  626. package/dist/src/modules/storage/components/dropzone-context.client.mjs +0 -17
  627. package/dist/src/modules/storage/components/dropzone.client.d.mts +0 -52
  628. package/dist/src/modules/storage/components/dropzone.client.mjs +0 -110
  629. package/dist/src/modules/storage/components/image-grid.client.d.mts +0 -32
  630. package/dist/src/modules/storage/components/image-grid.client.mjs +0 -167
  631. package/dist/src/modules/storage/components/image.client.d.mts +0 -7
  632. package/dist/src/modules/storage/components/image.client.mjs +0 -16
  633. package/dist/src/modules/storage/components/upload-button.client.d.mts +0 -11
  634. package/dist/src/modules/storage/components/upload-button.client.mjs +0 -33
  635. package/dist/src/modules/storage/components/upload-zone-context.client.d.mts +0 -30
  636. package/dist/src/modules/storage/components/upload-zone-context.client.mjs +0 -20
  637. package/dist/src/modules/storage/components/upload-zone.client.d.mts +0 -27
  638. package/dist/src/modules/storage/components/upload-zone.client.mjs +0 -111
  639. package/dist/src/modules/storage/lib/constants.d.mts +0 -5
  640. package/dist/src/modules/storage/lib/constants.mjs +0 -5
  641. package/dist/src/modules/storage/lib/helpers.d.mts +0 -29
  642. package/dist/src/modules/storage/lib/helpers.mjs +0 -49
  643. package/dist/src/modules/storage/lib/procedures.server.d.mts +0 -1990
  644. package/dist/src/modules/storage/lib/procedures.server.mjs +0 -21
  645. package/dist/src/modules/storage/lib/router-handlers.server.d.mts +0 -40
  646. package/dist/src/modules/storage/lib/router-handlers.server.mjs +0 -123
  647. package/dist/src/modules/storage/lib/schema.d.mts +0 -291
  648. package/dist/src/modules/storage/lib/schema.mjs +0 -37
  649. package/dist/src/modules/storage/lib/service.server.d.mts +0 -2217
  650. package/dist/src/modules/storage/lib/service.server.mjs +0 -514
  651. package/dist/src/modules/storage/lib/upload.client.d.mts +0 -57
  652. package/dist/src/modules/storage/lib/upload.client.mjs +0 -86
  653. package/dist/src/modules/storage/lib/validators.d.mts +0 -935
  654. package/dist/src/modules/storage/lib/validators.mjs +0 -52
  655. package/dist/src/modules/storage/providers/adapters/s3.server.d.mts +0 -18
  656. package/dist/src/modules/storage/providers/adapters/s3.server.mjs +0 -172
  657. package/dist/src/modules/storage/providers/lib/constants.d.mts +0 -5
  658. package/dist/src/modules/storage/providers/lib/constants.mjs +0 -5
  659. package/dist/src/modules/storage/providers/lib/errors.d.mts +0 -11
  660. package/dist/src/modules/storage/providers/lib/errors.mjs +0 -12
  661. package/dist/src/modules/storage/providers/lib/types.d.mts +0 -20
  662. package/dist/src/modules/storage/providers/lib/validators.d.mts +0 -111
  663. package/dist/src/modules/storage/providers/lib/validators.mjs +0 -74
  664. package/src/modules/router/handler/context.server.ts +0 -28
  665. package/src/modules/storage/lib/procedures.server.ts +0 -60
@@ -1,125 +1,76 @@
1
- import { passkey } from "@better-auth/passkey";
1
+ import type { Session, User } from "better-auth";
2
2
  import { drizzleAdapter } from "better-auth/adapters/drizzle";
3
- import { createAuthMiddleware } from "better-auth/api";
4
- import { betterAuth } from "better-auth/minimal";
5
- import { admin, emailOTP } from "better-auth/plugins";
6
- import { eq } from "drizzle-orm";
7
- import ForgetPasswordEmail from "@/components/emails/forget-password-email";
8
- import { url } from "@/lib/utils/url";
9
- import type { TDatabaseSchema } from "@/modules/config/entry";
10
- import type { TulipConfig } from "@/modules/config/lib/config";
3
+ import { type BetterAuthOptions, betterAuth } from "better-auth/minimal";
4
+ import type { AdminOptions } from "better-auth/plugins";
11
5
  import type { Database } from "@/modules/database/lib/service.server";
12
- import type { Email } from "@/modules/emails/lib/service.server";
13
- import { users } from "../entry";
14
- import type { createAccessControl, Role } from "../lib/permissions";
6
+ import type { TDatabaseSchema } from "@/modules/database/lib/types";
7
+ import { adminPlugin } from "../plugins/admin";
8
+ import { emailOtpPlugin } from "../plugins/email-otp";
15
9
 
16
10
  export const authCookiePrefix = "tulip";
17
11
 
18
- type InitAuthProps<TSchema extends TDatabaseSchema> = {
19
- db: Database<TSchema>;
20
- email: Email;
21
- config: TulipConfig;
22
- ac: ReturnType<typeof createAccessControl>;
23
- roles: {
24
- [key in string]?: Role;
25
- };
26
- allowedHosts: string[];
27
- defaultRole?: string;
28
- };
12
+ export type TAuthServerOptions = Omit<BetterAuthOptions, "database">;
13
+
14
+ /**
15
+ * Additional fields
16
+ */
17
+ export const authAdditionalFields = {
18
+ firstName: {
19
+ type: "string",
20
+ required: true,
21
+ input: true,
22
+ },
23
+ lastName: {
24
+ type: "string",
25
+ required: true,
26
+ input: true,
27
+ },
28
+ } as const;
29
29
 
30
30
  /**
31
31
  * Create the Better Auth server instance.
32
32
  */
33
- function createAuth<TSchema extends TDatabaseSchema>(props: InitAuthProps<TSchema>) {
34
- return betterAuth({
33
+ type InitAuthServerProps<TOptions extends TAuthServerOptions> = TOptions & {
34
+ db: Database<TDatabaseSchema>;
35
+ };
36
+
37
+ export function createAuthServer<TOptions extends TAuthServerOptions>(
38
+ props: InitAuthServerProps<TOptions>,
39
+ ) {
40
+ const { db, advanced, user, baseURL, emailAndPassword, hooks, plugins } = props;
41
+
42
+ return betterAuth<TOptions>({
43
+ ...props,
35
44
  advanced: {
36
45
  cookiePrefix: authCookiePrefix,
37
- database: {
38
- generateId: () => false,
39
- },
40
- },
41
- baseURL: {
42
- allowedHosts: props.allowedHosts,
46
+ database: { generateId: () => false as const },
47
+ ...(advanced ?? {}),
43
48
  },
44
- database: drizzleAdapter(props.db, {
49
+ baseURL,
50
+ database: drizzleAdapter(db, {
45
51
  provider: "pg",
46
52
  usePlural: true,
47
53
  }),
48
54
  emailAndPassword: {
49
55
  enabled: true,
56
+ ...(emailAndPassword ?? {}),
50
57
  },
51
58
  user: {
59
+ ...(user ?? {}),
52
60
  changeEmail: {
53
61
  enabled: true,
54
- },
55
- additionalFields: {
56
- firstName: {
57
- type: "string",
58
- required: true,
59
- input: true,
60
- },
61
- lastName: {
62
- type: "string",
63
- required: true,
64
- input: true,
65
- },
62
+ ...(user?.changeEmail ?? {}),
66
63
  },
67
64
  },
68
- hooks: {
69
- after: createAuthMiddleware(async (ctx) => {
70
- if (!ctx.path.startsWith("/sign-up")) return;
71
-
72
- const session = ctx.context.newSession;
73
- if (!session) return;
74
-
75
- const existingUsers = await props.db.select().from(users);
76
-
77
- if (existingUsers.length === 1) {
78
- await props.db
79
- .update(users)
80
- .set({ role: "developer" })
81
- .where(eq(users.id, session.user.id));
82
- }
83
- }),
84
- },
85
- plugins: [
86
- passkey(),
87
- admin({
88
- roles: props.roles,
89
- ac: props.ac,
90
- adminRoles: ["admin", "developer"],
91
- defaultRole: props.defaultRole ?? "user",
92
- }),
93
- emailOTP({
94
- sendVerificationOTP: async ({ email, otp, type }) => {
95
- /**
96
- * Send a forget password mail
97
- */
98
- if (type === "forget-password") {
99
- const searchParams = new URLSearchParams();
100
- searchParams.set("email", email);
101
- searchParams.set("otp", otp);
102
-
103
- const resetPasswordHref = url(`/auth/reset-password?${searchParams.toString()}`);
104
-
105
- const result = await props.email.emails.send({
106
- from: props.config.email.defaultFrom,
107
- to: email,
108
- subject: "Wachtwoord herstellen",
109
- react: ForgetPasswordEmail({ resetPasswordHref }),
110
- });
111
- if (result.error) throw new Error(result.error.message);
112
- }
113
- },
114
- }),
115
- ],
65
+ hooks,
66
+ plugins,
116
67
  });
117
68
  }
118
69
 
119
70
  /**
120
71
  * Better Auth instance type returned by `Auth.init()`.
121
72
  */
122
- export type Auth = ReturnType<typeof createAuth>;
73
+ export type Auth<Options extends TAuthServerOptions> = ReturnType<typeof betterAuth<Options>>;
123
74
 
124
75
  /**
125
76
  * Auth service namespace.
@@ -128,5 +79,30 @@ export type Auth = ReturnType<typeof createAuth>;
128
79
  * const auth = Auth.init({ db, email, config, ac, roles, allowedHosts });
129
80
  */
130
81
  export const Auth = {
131
- init: createAuth,
82
+ init: createAuthServer,
83
+ plugins: {
84
+ admin: adminPlugin,
85
+ emailOTP: emailOtpPlugin,
86
+ },
132
87
  };
88
+
89
+ /**
90
+ * Session and user types for the Auth service.
91
+ */
92
+ export type AuthServerUser<TOptions extends TAuthServerOptions> = User<
93
+ TOptions["user"],
94
+ TOptions["plugins"]
95
+ >;
96
+
97
+ export type AuthServerSession<TOptions extends TAuthServerOptions> = Session<
98
+ TOptions["session"],
99
+ TOptions["plugins"]
100
+ >;
101
+
102
+ /**
103
+ * Plugin types
104
+ */
105
+ export type AuthServerAdminPlugin<Options extends AdminOptions> = ReturnType<
106
+ typeof adminPlugin<Options>
107
+ >;
108
+ export type AuthServerEmailOtpPlugin = ReturnType<typeof emailOtpPlugin>;
@@ -1,38 +1,26 @@
1
1
  "use client";
2
2
 
3
- import type { AccessControl, Role } from "better-auth/plugins";
4
3
  import { createContext, type PropsWithChildren, use } from "react";
5
- import type { ClientAuth } from "../handler/create-client.client";
4
+ import type { AnyAuthClient, AuthClient } from "../handler/create-client.client";
6
5
 
7
6
  /**
8
7
  * Auth client context
9
8
  */
10
-
11
- export const AuthClientContext = createContext(null as unknown as ClientAuth<never, never>);
9
+ export const AuthClientContext = createContext(null as AnyAuthClient | null);
12
10
 
13
11
  /**
14
12
  * Use auth client
15
13
  */
16
- export function useAuthClient<
17
- TAccessControl extends AccessControl = never,
18
- TRoles extends { [key in string]: Role } = never,
19
- >() {
14
+ export function useAuthClient<TAuthClient extends AnyAuthClient = AuthClient<object>>() {
20
15
  const context = use(AuthClientContext);
21
16
  if (!context) throw new Error("Auth client is not provided");
22
17
 
23
- return context as ClientAuth<TAccessControl, TRoles>;
18
+ return context as TAuthClient;
24
19
  }
25
20
 
26
21
  /**
27
22
  * Auth client provider
28
23
  */
29
- export function AuthProvider<
30
- TAccessControl extends AccessControl,
31
- TRoles extends { [key in string]: Role },
32
- >(props: PropsWithChildren<{ authClient: ClientAuth<TAccessControl, TRoles> }>) {
33
- return (
34
- <AuthClientContext value={props.authClient as ClientAuth<never, never>}>
35
- {props.children}
36
- </AuthClientContext>
37
- );
24
+ export function AuthProvider(props: PropsWithChildren<{ authClient: AnyAuthClient }>) {
25
+ return <AuthClientContext value={props.authClient}>{props.children}</AuthClientContext>;
38
26
  }
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
 
3
- import type { Permission } from "../lib/permissions";
3
+ import type { AuthClient, AuthClientAdminPlugin } from "../handler/create-client.client";
4
+ import type { AccessControl, Permission } from "../lib/permissions";
4
5
  import { useAuthClient } from "./use-auth-client";
5
6
  import { useSession } from "./use-session";
6
7
 
7
- export type UsePermissionProps =
8
+ export type UsePermissionProps<TAccessControl extends AccessControl = AccessControl> =
8
9
  | {
9
10
  /**
10
11
  * Strategy to use when checking multiple permissions
@@ -18,7 +19,7 @@ export type UsePermissionProps =
18
19
  * Permission to check
19
20
  * @example { project: ["view", "create"] }
20
21
  */
21
- permission?: Permission;
22
+ permission?: Permission<TAccessControl>;
22
23
  }
23
24
  | {
24
25
  /**
@@ -33,20 +34,24 @@ export type UsePermissionProps =
33
34
  * Permission to check
34
35
  * @example [{ project: ["view", "create"] }, { client: ["view"] }, { drive: ["view"] }]
35
36
  */
36
- permission?: Permission[];
37
+ permission?: Permission<TAccessControl>[];
37
38
  };
38
39
 
39
40
  /**
40
41
  * UsePermission
41
42
  */
42
- export function usePermission({ strategy = "all", permission }: UsePermissionProps) {
43
- const authClient = useAuthClient();
43
+ export function usePermission<TAccessControl extends AccessControl = AccessControl>({
44
+ strategy = "all",
45
+ permission,
46
+ }: UsePermissionProps<TAccessControl> = {}) {
47
+ const authClient =
48
+ useAuthClient<AuthClient<{ plugins: [AuthClientAdminPlugin<{ ac: TAccessControl }>] }>>();
44
49
  const sessionQuery = useSession(authClient);
45
50
 
46
51
  /**
47
52
  * If no role is found in the session, deny by default
48
53
  */
49
- const role = sessionQuery.data?.user.role;
54
+ const role = sessionQuery.data?.user.role as "admin" | "user" | undefined;
50
55
  if (!role) return { permission, success: false };
51
56
 
52
57
  /**
@@ -63,7 +68,7 @@ export function usePermission({ strategy = "all", permission }: UsePermissionPro
63
68
  const success = permissions.some((permission) =>
64
69
  authClient.admin.checkRolePermission({
65
70
  role,
66
- permissions: permission,
71
+ permissions: permission as CheckRolePermission<TAccessControl>,
67
72
  }),
68
73
  );
69
74
 
@@ -76,7 +81,7 @@ export function usePermission({ strategy = "all", permission }: UsePermissionPro
76
81
  if (strategy === "all" && !Array.isArray(permission)) {
77
82
  const success = authClient.admin.checkRolePermission({
78
83
  role,
79
- permissions: permission,
84
+ permissions: permission as CheckRolePermission<TAccessControl>,
80
85
  });
81
86
 
82
87
  return { permission, success };
@@ -87,3 +92,12 @@ export function usePermission({ strategy = "all", permission }: UsePermissionPro
87
92
  */
88
93
  return { permission, success: false };
89
94
  }
95
+
96
+ /**
97
+ * These types are used to extract the permissions from the checkRolePermission endpoint. They are used to ensure that the permissions passed to the hook are valid.
98
+ */
99
+ type CheckRolePermission<TAccessControl extends AccessControl> = Parameters<
100
+ ReturnType<
101
+ AuthClientAdminPlugin<{ ac: TAccessControl }>["getActions"]
102
+ >["admin"]["checkRolePermission"]
103
+ >[0]["permissions"];
@@ -1,20 +1,33 @@
1
1
  "use client";
2
2
 
3
3
  import { useSuspenseQuery } from "@tanstack/react-query";
4
- import type { ClientAuth } from "../entry.client";
4
+ import type { InferSessionFromClient, InferUserFromClient } from "better-auth";
5
+ import type { AuthClient, AuthClientOptions } from "../handler/create-client.client";
5
6
 
6
- export function useSession(authClient: ClientAuth<never, never>) {
7
- const session = useSuspenseQuery({
7
+ /**
8
+ * Use session return type
9
+ */
10
+ type UseSessionReturnType<TOptions extends AuthClientOptions> = {
11
+ user: InferUserFromClient<TOptions>;
12
+ session: InferSessionFromClient<TOptions>;
13
+ } | null;
14
+
15
+ /**
16
+ * Use session
17
+ */
18
+ export function useSession<TOptions extends AuthClientOptions>(authClient: AuthClient<TOptions>) {
19
+ const session = useSuspenseQuery<UseSessionReturnType<TOptions>>({
8
20
  queryKey: ["session"],
9
21
  queryFn: async () => {
10
- const session = await authClient.getSession();
22
+ const client = authClient as unknown as AuthClient<object>;
23
+ const session = await client.getSession();
11
24
 
12
25
  if (session.error) {
13
26
  console.error(session.error);
14
27
  return null;
15
28
  }
16
29
 
17
- return session.data;
30
+ return session.data as UseSessionReturnType<TOptions>;
18
31
  },
19
32
  staleTime: 1000 * 60 * 60,
20
33
  });
@@ -1,55 +1,27 @@
1
1
  import "server-cli-only";
2
-
3
- import { eq } from "drizzle-orm";
4
2
  import { headers } from "next/headers";
5
- import type { TulipContext } from "@/modules/config/entry";
6
- import type { TDatabaseSchema } from "@/modules/database/lib/types";
7
- import { ServerError } from "@/modules/router/lib/error.server";
8
- import { users } from "../entry";
9
- import type { CreateUserSchema, UpdateUserSchema } from "./validators";
3
+ import type {
4
+ Auth,
5
+ AuthServerSession,
6
+ AuthServerUser,
7
+ TAuthServerOptions,
8
+ } from "../handler/service.server";
10
9
 
11
10
  /**
12
11
  * Get the session
13
12
  */
14
- export async function getSession<TSchema extends TDatabaseSchema>({
15
- auth,
16
- }: Pick<TulipContext<TSchema>, "auth">) {
17
- return auth.api.getSession({ headers: await headers() });
18
- }
13
+ export type GetSessionResult<TAuthOptions extends TAuthServerOptions> = {
14
+ session: AuthServerSession<TAuthOptions>;
15
+ user: AuthServerUser<TAuthOptions>;
16
+ } | null;
19
17
 
20
- /**
21
- * Create a user
22
- */
23
- export function createUser<TSchema extends TDatabaseSchema>(
24
- { auth, headers }: TulipContext<TSchema> & { headers: Headers },
25
- { body }: { body: CreateUserSchema },
18
+ export async function getSession<TAuthOptions extends TAuthServerOptions>(
19
+ auth: Auth<TAuthOptions>,
26
20
  ) {
27
- const { firstName, lastName } = body;
28
-
29
- return auth.api.createUser({
30
- headers,
31
- body: {
32
- ...body,
33
- name: `${firstName} ${lastName}`,
34
- data: { firstName, lastName },
35
- },
36
- });
37
- }
21
+ const headersList = await headers();
38
22
 
39
- /**
40
- * Update a user
41
- */
42
-
43
- export async function updateUser<TSchema extends TDatabaseSchema>(
44
- { db }: TulipContext<TSchema>,
45
- { userId, body }: { userId: string; body: Partial<UpdateUserSchema> },
46
- ) {
47
- const [result] = await db.update(users).set(body).where(eq(users.id, userId)).returning();
48
- if (!result) {
49
- throw new ServerError("INTERNAL_SERVER_ERROR", {
50
- message: "Gebruiker kon niet worden aangemaakt",
51
- });
52
- }
23
+ const api = auth.api as unknown as Auth<object>["api"];
24
+ const data = await api.getSession({ headers: headersList });
53
25
 
54
- return result;
26
+ return data as GetSessionResult<TAuthOptions>;
55
27
  }
@@ -1,7 +1,40 @@
1
- import { createAccessControl, type Role } from "better-auth/plugins/access";
1
+ import {
2
+ type AccessControl as BetterAuthAccessControl,
3
+ type Statements as BetterAuthStatements,
4
+ createAccessControl,
5
+ type Role,
6
+ } from "better-auth/plugins/access";
2
7
  import { adminAc, defaultStatements } from "better-auth/plugins/admin/access";
3
8
 
4
- export type Permission = Record<string, string[]>;
9
+ /**
10
+ * Permission Statements
11
+ * @description These are the statements that define the permissions for the application. They are used to create the access control and to check the permissions for the users.
12
+ */
13
+ type Statements = BetterAuthStatements;
14
+
15
+ /**
16
+ * Access Control
17
+ * @description The access control is created using the statements and is used to check the permissions for the users. It is also used to define the roles for the application.
18
+ */
19
+ export type AccessControl<TStatements extends Statements = Statements> =
20
+ BetterAuthAccessControl<TStatements>;
21
+
22
+ /**
23
+ * Permission Actions
24
+ * @description The actions that can be performed on a resource. For example, if the resource is "project", the actions can be "view", "create", "edit", "delete", etc.
25
+ */
26
+ type Actions<T> = T extends readonly unknown[] ? T[number] : never;
27
+
28
+ /**
29
+ * Permission
30
+ * @description The permission is an object that defines the resource and the actions that can be performed on that resource. For example, { project: ["view", "create"] } means that the user has permission to view and create projects.
31
+ */
32
+ export type Permission<TAccessControl extends AccessControl = AccessControl> =
33
+ TAccessControl extends AccessControl<infer S extends Statements>
34
+ ? {
35
+ [K in keyof S]?: Actions<S[K]>[];
36
+ }
37
+ : Record<string, string[]>;
5
38
 
6
39
  /**
7
40
  * Create statements
@@ -0,0 +1,28 @@
1
+ import { type AccessControl, type AdminOptions, admin, type Role } from "better-auth/plugins";
2
+
3
+ /**
4
+ * Admin client options
5
+ */
6
+ export type AdminClientOptions = {
7
+ ac?: AccessControl | undefined;
8
+ roles?: { [key in string]: Role } | undefined;
9
+ };
10
+
11
+ /**
12
+ * Admin plugin.
13
+ */
14
+ export function adminPlugin<Options extends AdminOptions>({
15
+ roles,
16
+ ac,
17
+ adminRoles,
18
+ defaultRole,
19
+ ...props
20
+ }: Options) {
21
+ return admin<Options>({
22
+ ...props,
23
+ roles,
24
+ ac,
25
+ adminRoles: adminRoles ?? ["admin", "developer"],
26
+ defaultRole: defaultRole ?? "user",
27
+ } as unknown as Options);
28
+ }
@@ -0,0 +1,43 @@
1
+ import { emailOTP } from "better-auth/plugins";
2
+ import ForgetPasswordEmail from "@/components/emails/forget-password-email";
3
+ import { url } from "@/lib/utils/url";
4
+ import type { Email } from "@/modules/emails/lib/service.server";
5
+
6
+ type EmailOtpOptions = Omit<NonNullable<Parameters<typeof emailOTP>[0]>, "sendVerificationOTP">;
7
+
8
+ export type EmailOtpPluginConfig = EmailOtpOptions & {
9
+ email: Email;
10
+ defaultFrom: string;
11
+ };
12
+
13
+ /**
14
+ * Email OTP plugin.
15
+ *
16
+ * Handles Better Auth email OTP flows and provides Tulip's default
17
+ * forgot-password email implementation.
18
+ */
19
+ export function emailOtpPlugin(config: EmailOtpPluginConfig) {
20
+ const { email: emailClient, defaultFrom, ...options } = config;
21
+
22
+ return emailOTP({
23
+ ...options,
24
+ sendVerificationOTP: async ({ email, otp, type }) => {
25
+ if (type !== "forget-password") return;
26
+
27
+ const searchParams = new URLSearchParams();
28
+ searchParams.set("email", email);
29
+ searchParams.set("otp", otp);
30
+
31
+ const resetPasswordHref = url(`/auth/reset-password?${searchParams.toString()}`);
32
+
33
+ const result = await emailClient.emails.send({
34
+ from: defaultFrom,
35
+ to: email,
36
+ subject: "Wachtwoord herstellen",
37
+ react: ForgetPasswordEmail({ resetPasswordHref }),
38
+ });
39
+
40
+ if (result.error) throw new Error(result.error.message);
41
+ },
42
+ });
43
+ }
@@ -1,6 +1,3 @@
1
- export * from "../database/lib/helpers";
2
- export * from "../database/lib/types";
3
-
4
1
  export * from "./lib/config";
5
2
  export * from "./lib/context";
6
3
 
@@ -1,17 +1,21 @@
1
- import type { Auth } from "@/modules/auth/handler/service.server";
1
+ import type { BetterAuthOptions } from "better-auth";
2
+ import type { Auth, TAuthServerOptions } from "@/modules/auth/handler/service.server";
2
3
  import type { Database } from "@/modules/database/lib/service.server";
3
4
  import type { TDatabaseSchema } from "@/modules/database/lib/types";
4
5
  import type { Email } from "@/modules/emails/lib/service.server";
5
6
  import type { Storage } from "@/modules/storage/lib/service.server";
6
7
 
7
- export type TulipContext<TSchema extends TDatabaseSchema> = {
8
+ export type TulipContext<TSchema extends TDatabaseSchema, TOptions extends TAuthServerOptions> = {
8
9
  db: Database<TSchema>;
9
10
  schema: TSchema;
10
- auth: Auth;
11
+ auth: Auth<TOptions>;
11
12
  email: Email;
12
13
  storage: Storage<TSchema>;
13
14
  };
14
15
 
15
- export function createContext<TSchema extends TDatabaseSchema>(props: TulipContext<TSchema>) {
16
+ export function createContext<
17
+ TSchema extends TDatabaseSchema,
18
+ TAuthOptions extends BetterAuthOptions = BetterAuthOptions,
19
+ >(props: TulipContext<TSchema, TAuthOptions>) {
16
20
  return props;
17
21
  }
@@ -25,11 +25,7 @@ export type TableFilterDateRangePreset = {
25
25
  value: [Date, Date];
26
26
  };
27
27
 
28
- export function TableFilterDateRange({
29
- title,
30
- filter,
31
- presets,
32
- }: TableFilterDateRangeProps) {
28
+ export function TableFilterDateRange({ title, filter, presets }: TableFilterDateRangeProps) {
33
29
  const [open, setOpen] = useState(false);
34
30
  const [query, setQuery] = useQueryState(filter.name, filter.parser);
35
31
 
@@ -11,6 +11,7 @@ export * from "./components/toolbar";
11
11
  /**
12
12
  * Lib
13
13
  */
14
+ export * from "./lib/converters/dto";
14
15
  export * from "./lib/filters/config";
15
16
  export * from "./lib/filters/helpers";
16
17
  export * from "./lib/filters/parsers";
@@ -1,3 +1,4 @@
1
+ import { z } from "zod";
1
2
  import type { TableQuerySchema } from "../validators";
2
3
 
3
4
  /**
@@ -19,6 +20,17 @@ export type TableQueryPaginationResponse = {
19
20
  previousCursor: number | null;
20
21
  };
21
22
 
23
+ export const tableQueryPaginationResponseSchema = z.object({
24
+ total: z.number(),
25
+ totalPages: z.number(),
26
+ limit: z.number(),
27
+ hasNextPage: z.boolean(),
28
+ hasPreviousPage: z.boolean(),
29
+ cursor: z.number(),
30
+ nextCursor: z.number().nullable(),
31
+ previousCursor: z.number().nullable(),
32
+ });
33
+
22
34
  /**
23
35
  * Table query response input
24
36
  */
@@ -1,6 +1,6 @@
1
- import type { TDatabaseSchema } from "@tulip-systems/core/config";
2
1
  import { and, type SQL } from "drizzle-orm";
3
2
  import type { Database } from "@/modules/database/lib/service.server";
3
+ import type { TDatabaseSchema } from "@/modules/database/lib/types";
4
4
 
5
5
  /**
6
6
  * Parser function for a single filter key.
@@ -93,8 +93,7 @@ export const parseFilterDatetimeRange = <TSchema extends ParseFilterDatetimeRang
93
93
  const [from, to] = encoded.split("_");
94
94
  return (from && to ? [new Date(from), new Date(to)] : null) as unknown as z.input<TSchema>;
95
95
  },
96
- encode: (decoded) =>
97
- decoded ? `${decoded[0].toISOString()}_${decoded[1].toISOString()}` : "",
96
+ encode: (decoded) => (decoded ? `${decoded[0].toISOString()}_${decoded[1].toISOString()}` : ""),
98
97
  });
99
98
 
100
99
  /**