@tulip-systems/core 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (976) hide show
  1. package/dist/components/common/icons.d.mts +1 -2
  2. package/dist/components/common/icons.mjs +1 -2
  3. package/dist/components/common/status.d.mts +1 -2
  4. package/dist/components/common/status.mjs +1 -2
  5. package/dist/components/editor/components/content.client.d.mts +1 -2
  6. package/dist/components/editor/components/content.client.mjs +1 -2
  7. package/dist/components/editor/components/editor.client.d.mts +1 -2
  8. package/dist/components/editor/components/editor.client.mjs +1 -2
  9. package/dist/components/editor/components/menu-nodes.client.mjs +1 -2
  10. package/dist/components/editor/components/menu.client.d.mts +1 -2
  11. package/dist/components/editor/components/menu.client.mjs +1 -2
  12. package/dist/components/editor/extensions/file-handler/extension.d.mts +1 -2
  13. package/dist/components/editor/extensions/file-handler/extension.mjs +1 -2
  14. package/dist/components/editor/extensions/file-handler/strategy.d.mts +1 -2
  15. package/dist/components/editor/extensions/file-handler/strategy.mjs +1 -2
  16. package/dist/components/editor/extensions/file-handler/utils.mjs +1 -2
  17. package/dist/components/editor/extensions/image/extension.d.mts +1 -2
  18. package/dist/components/editor/extensions/image/extension.mjs +1 -2
  19. package/dist/components/editor/extensions/skeleton/extension.mjs +1 -2
  20. package/dist/components/editor/extensions/skeleton/renderer.mjs +1 -2
  21. package/dist/components/editor/lib/constants.d.mts +1 -2
  22. package/dist/components/editor/lib/constants.mjs +1 -2
  23. package/dist/components/editor/lib/extensions.d.mts +1 -2
  24. package/dist/components/editor/lib/extensions.mjs +1 -2
  25. package/dist/components/editor/lib/helpers.d.mts +1 -2
  26. package/dist/components/editor/lib/helpers.mjs +1 -2
  27. package/dist/components/editor/lib/types.d.mts +1 -2
  28. package/dist/components/editor/lib/variants.mjs +1 -2
  29. package/dist/components/emails/forget-password-email.mjs +2 -3
  30. package/dist/components/header/back-button.client.d.mts +1 -2
  31. package/dist/components/header/back-button.client.mjs +1 -2
  32. package/dist/components/header/bottom-bar.client.d.mts +1 -2
  33. package/dist/components/header/bottom-bar.client.mjs +1 -2
  34. package/dist/components/header/breadcrumbs.client.d.mts +1 -2
  35. package/dist/components/header/breadcrumbs.client.mjs +1 -2
  36. package/dist/components/header/header.client.d.mts +1 -2
  37. package/dist/components/header/header.client.mjs +1 -2
  38. package/dist/components/header/indicator.client.mjs +1 -2
  39. package/dist/components/header/mobile-nav-switcher.client.d.mts +1 -2
  40. package/dist/components/header/mobile-nav-switcher.client.mjs +1 -2
  41. package/dist/components/header/top-bar.client.d.mts +1 -2
  42. package/dist/components/header/top-bar.client.mjs +1 -2
  43. package/dist/components/layouts/admin-content.client.d.mts +1 -2
  44. package/dist/components/layouts/admin-content.client.mjs +1 -2
  45. package/dist/components/layouts/admin-error-pages.d.mts +1 -2
  46. package/dist/components/layouts/admin-error-pages.mjs +1 -2
  47. package/dist/components/layouts/admin-layout.d.mts +1 -2
  48. package/dist/components/layouts/admin-layout.mjs +1 -2
  49. package/dist/components/layouts/admin-loading.d.mts +1 -2
  50. package/dist/components/layouts/admin-loading.mjs +1 -2
  51. package/dist/components/layouts/empty-page.d.mts +1 -2
  52. package/dist/components/layouts/empty-page.mjs +1 -2
  53. package/dist/components/layouts/error-page.d.mts +1 -2
  54. package/dist/components/layouts/error-page.mjs +1 -2
  55. package/dist/components/layouts/error-sections.d.mts +1 -2
  56. package/dist/components/layouts/error-sections.mjs +1 -2
  57. package/dist/components/layouts/list-layout.d.mts +1 -2
  58. package/dist/components/layouts/list-layout.mjs +1 -2
  59. package/dist/components/layouts/providers.client.d.mts +1 -2
  60. package/dist/components/layouts/providers.client.mjs +1 -2
  61. package/dist/components/layouts/root-error-pages.d.mts +1 -2
  62. package/dist/components/layouts/root-error-pages.mjs +1 -2
  63. package/dist/components/layouts/root-layout.server.d.mts +1 -2
  64. package/dist/components/layouts/root-layout.server.mjs +1 -2
  65. package/dist/components/layouts/root-loading.d.mts +1 -2
  66. package/dist/components/layouts/root-loading.mjs +1 -2
  67. package/dist/components/layouts/tab-layout.d.mts +1 -2
  68. package/dist/components/layouts/tab-layout.mjs +1 -2
  69. package/dist/components/lists/data-list.d.mts +1 -2
  70. package/dist/components/lists/data-list.mjs +1 -2
  71. package/dist/components/lists/data-stack.d.mts +1 -2
  72. package/dist/components/lists/data-stack.mjs +1 -2
  73. package/dist/components/navigation/admin-sidebar-header.client.mjs +1 -2
  74. package/dist/components/navigation/admin-sidebar-paths.client.d.mts +1 -2
  75. package/dist/components/navigation/admin-sidebar-paths.client.mjs +1 -2
  76. package/dist/components/navigation/admin-sidebar-skeleton.mjs +1 -2
  77. package/dist/components/ui/accordion.client.d.mts +1 -2
  78. package/dist/components/ui/accordion.client.mjs +1 -2
  79. package/dist/components/ui/alert-dialog.client.d.mts +1 -2
  80. package/dist/components/ui/alert-dialog.client.mjs +1 -2
  81. package/dist/components/ui/alert.d.mts +1 -2
  82. package/dist/components/ui/alert.mjs +1 -2
  83. package/dist/components/ui/aspect-ratio.client.d.mts +1 -2
  84. package/dist/components/ui/aspect-ratio.client.mjs +1 -2
  85. package/dist/components/ui/avatar.client.d.mts +1 -2
  86. package/dist/components/ui/avatar.client.mjs +1 -2
  87. package/dist/components/ui/badge.d.mts +2 -3
  88. package/dist/components/ui/badge.mjs +1 -2
  89. package/dist/components/ui/breadcrumb.d.mts +1 -2
  90. package/dist/components/ui/breadcrumb.mjs +1 -2
  91. package/dist/components/ui/button-group.d.mts +1 -2
  92. package/dist/components/ui/button-group.mjs +1 -2
  93. package/dist/components/ui/button.d.mts +2 -3
  94. package/dist/components/ui/button.mjs +1 -2
  95. package/dist/components/ui/calendar.client.d.mts +1 -2
  96. package/dist/components/ui/calendar.client.mjs +1 -2
  97. package/dist/components/ui/card.d.mts +1 -2
  98. package/dist/components/ui/card.mjs +1 -2
  99. package/dist/components/ui/carousel.client.d.mts +1 -2
  100. package/dist/components/ui/carousel.client.mjs +1 -2
  101. package/dist/components/ui/chart.client.d.mts +1 -2
  102. package/dist/components/ui/chart.client.mjs +1 -2
  103. package/dist/components/ui/checkbox.client.d.mts +1 -2
  104. package/dist/components/ui/checkbox.client.mjs +1 -2
  105. package/dist/components/ui/collapsible.client.d.mts +1 -2
  106. package/dist/components/ui/collapsible.client.mjs +1 -2
  107. package/dist/components/ui/color-picker.client.d.mts +1 -2
  108. package/dist/components/ui/color-picker.client.mjs +1 -2
  109. package/dist/components/ui/combobox-dropdown.client.d.mts +1 -2
  110. package/dist/components/ui/combobox-dropdown.client.mjs +1 -2
  111. package/dist/components/ui/combobox.client.d.mts +1 -2
  112. package/dist/components/ui/combobox.client.mjs +1 -2
  113. package/dist/components/ui/command.client.d.mts +1 -2
  114. package/dist/components/ui/command.client.mjs +1 -2
  115. package/dist/components/ui/context-menu.client.d.mts +1 -2
  116. package/dist/components/ui/context-menu.client.mjs +1 -2
  117. package/dist/components/ui/date-picker.client.d.mts +1 -2
  118. package/dist/components/ui/date-picker.client.mjs +1 -2
  119. package/dist/components/ui/dialog.client.d.mts +1 -2
  120. package/dist/components/ui/dialog.client.mjs +1 -2
  121. package/dist/components/ui/drawer.client.d.mts +1 -2
  122. package/dist/components/ui/drawer.client.mjs +1 -2
  123. package/dist/components/ui/dropdown-menu.client.d.mts +1 -2
  124. package/dist/components/ui/dropdown-menu.client.mjs +1 -2
  125. package/dist/components/ui/empty.d.mts +1 -2
  126. package/dist/components/ui/empty.mjs +1 -2
  127. package/dist/components/ui/field.client.d.mts +1 -2
  128. package/dist/components/ui/field.client.mjs +1 -2
  129. package/dist/components/ui/form.client.d.mts +1 -2
  130. package/dist/components/ui/form.client.mjs +1 -2
  131. package/dist/components/ui/hover-card.client.d.mts +1 -2
  132. package/dist/components/ui/hover-card.client.mjs +1 -2
  133. package/dist/components/ui/input-date-time.client.d.mts +1 -2
  134. package/dist/components/ui/input-date-time.client.mjs +1 -2
  135. package/dist/components/ui/input-date.d.mts +1 -2
  136. package/dist/components/ui/input-date.mjs +1 -2
  137. package/dist/components/ui/input-group.client.d.mts +1 -2
  138. package/dist/components/ui/input-group.client.mjs +1 -2
  139. package/dist/components/ui/input-recipient.d.mts +1 -2
  140. package/dist/components/ui/input-recipient.mjs +1 -2
  141. package/dist/components/ui/input-time.d.mts +1 -2
  142. package/dist/components/ui/input-time.mjs +1 -2
  143. package/dist/components/ui/input.d.mts +1 -2
  144. package/dist/components/ui/input.mjs +1 -2
  145. package/dist/components/ui/item.d.mts +2 -3
  146. package/dist/components/ui/item.mjs +1 -2
  147. package/dist/components/ui/kbd.d.mts +1 -2
  148. package/dist/components/ui/kbd.mjs +1 -2
  149. package/dist/components/ui/label.d.mts +1 -2
  150. package/dist/components/ui/label.mjs +1 -2
  151. package/dist/components/ui/loader.d.mts +1 -2
  152. package/dist/components/ui/loader.mjs +1 -2
  153. package/dist/components/ui/navigation-menu.d.mts +1 -2
  154. package/dist/components/ui/navigation-menu.mjs +1 -2
  155. package/dist/components/ui/pagination.d.mts +1 -2
  156. package/dist/components/ui/pagination.mjs +1 -2
  157. package/dist/components/ui/popover.client.d.mts +1 -2
  158. package/dist/components/ui/popover.client.mjs +1 -2
  159. package/dist/components/ui/progress.client.d.mts +1 -2
  160. package/dist/components/ui/progress.client.mjs +1 -2
  161. package/dist/components/ui/radio-group.d.mts +1 -2
  162. package/dist/components/ui/radio-group.mjs +1 -2
  163. package/dist/components/ui/resizable.client.d.mts +1 -2
  164. package/dist/components/ui/resizable.client.mjs +1 -2
  165. package/dist/components/ui/scroll-area.d.mts +1 -2
  166. package/dist/components/ui/scroll-area.mjs +1 -2
  167. package/dist/components/ui/select.client.d.mts +1 -2
  168. package/dist/components/ui/select.client.mjs +1 -2
  169. package/dist/components/ui/separator.d.mts +1 -2
  170. package/dist/components/ui/separator.mjs +1 -2
  171. package/dist/components/ui/sheet.client.d.mts +1 -2
  172. package/dist/components/ui/sheet.client.mjs +1 -2
  173. package/dist/components/ui/sidebar.client.d.mts +1 -2
  174. package/dist/components/ui/sidebar.client.mjs +1 -2
  175. package/dist/components/ui/skeleton.d.mts +1 -2
  176. package/dist/components/ui/skeleton.mjs +1 -2
  177. package/dist/components/ui/slider.d.mts +1 -2
  178. package/dist/components/ui/slider.mjs +1 -2
  179. package/dist/components/ui/sonner.client.d.mts +1 -2
  180. package/dist/components/ui/sonner.client.mjs +1 -2
  181. package/dist/components/ui/spinner.d.mts +1 -2
  182. package/dist/components/ui/spinner.mjs +1 -2
  183. package/dist/components/ui/switch.client.d.mts +1 -2
  184. package/dist/components/ui/switch.client.mjs +1 -2
  185. package/dist/components/ui/tabs.client.d.mts +1 -2
  186. package/dist/components/ui/tabs.client.mjs +1 -2
  187. package/dist/components/ui/textarea.d.mts +1 -2
  188. package/dist/components/ui/textarea.mjs +1 -2
  189. package/dist/components/ui/toggle-group.client.d.mts +1 -2
  190. package/dist/components/ui/toggle-group.client.mjs +1 -2
  191. package/dist/components/ui/toggle.client.d.mts +1 -2
  192. package/dist/components/ui/toggle.client.mjs +1 -2
  193. package/dist/components/ui/tooltip.client.d.mts +1 -2
  194. package/dist/components/ui/tooltip.client.mjs +1 -2
  195. package/dist/lib/hooks/use-action.d.mts +1 -2
  196. package/dist/lib/hooks/use-action.mjs +1 -2
  197. package/dist/lib/hooks/use-indicator.d.mts +1 -2
  198. package/dist/lib/hooks/use-indicator.mjs +1 -2
  199. package/dist/lib/hooks/use-mobile.client.d.mts +1 -2
  200. package/dist/lib/hooks/use-mobile.client.mjs +1 -2
  201. package/dist/lib/types/config.d.mts +1 -2
  202. package/dist/lib/utils/array-move.d.mts +1 -2
  203. package/dist/lib/utils/array-move.mjs +1 -2
  204. package/dist/lib/utils/cn.d.mts +1 -2
  205. package/dist/lib/utils/cn.mjs +1 -2
  206. package/dist/lib/utils/fonts.d.mts +1 -2
  207. package/dist/lib/utils/fonts.mjs +1 -2
  208. package/dist/lib/utils/format.d.mts +1 -2
  209. package/dist/lib/utils/format.mjs +1 -2
  210. package/dist/lib/utils/manifest.d.mts +1 -2
  211. package/dist/lib/utils/manifest.mjs +1 -2
  212. package/dist/lib/utils/markdown.d.mts +1 -2
  213. package/dist/lib/utils/markdown.mjs +1 -2
  214. package/dist/lib/utils/url.d.mts +1 -2
  215. package/dist/lib/utils/url.mjs +1 -2
  216. package/dist/lib/utils/user-agent.mjs +1 -2
  217. package/dist/modules/auth/components/allowed.client.d.mts +1 -2
  218. package/dist/modules/auth/components/allowed.client.mjs +1 -2
  219. package/dist/modules/auth/components/auth-layout.server.d.mts +1 -2
  220. package/dist/modules/auth/components/auth-layout.server.mjs +1 -2
  221. package/dist/modules/auth/components/auth-loading.d.mts +1 -2
  222. package/dist/modules/auth/components/auth-loading.mjs +1 -2
  223. package/dist/modules/auth/components/create-first-user-guard.server.d.mts +1 -2
  224. package/dist/modules/auth/components/create-first-user-guard.server.mjs +1 -2
  225. package/dist/modules/auth/components/create-first-user-page.client.d.mts +1 -2
  226. package/dist/modules/auth/components/create-first-user-page.client.mjs +1 -2
  227. package/dist/modules/auth/components/forget-password-page.client.d.mts +1 -2
  228. package/dist/modules/auth/components/forget-password-page.client.mjs +1 -2
  229. package/dist/modules/auth/components/guard.server.d.mts +1 -2
  230. package/dist/modules/auth/components/guard.server.mjs +1 -2
  231. package/dist/modules/auth/components/login-page.client.d.mts +1 -2
  232. package/dist/modules/auth/components/login-page.client.mjs +1 -2
  233. package/dist/modules/auth/components/reset-password-page.client.d.mts +1 -2
  234. package/dist/modules/auth/components/reset-password-page.client.mjs +1 -2
  235. package/dist/modules/auth/components/update-password-command.d.mts +1 -2
  236. package/dist/modules/auth/components/update-password-command.mjs +1 -2
  237. package/dist/modules/auth/db/schema.d.mts +1 -2
  238. package/dist/modules/auth/db/schema.mjs +1 -2
  239. package/dist/modules/auth/handler/create-client.client.d.mts +810 -572
  240. package/dist/modules/auth/handler/create-client.client.mjs +1 -2
  241. package/dist/modules/auth/handler/proxy.server.d.mts +1 -2
  242. package/dist/modules/auth/handler/proxy.server.mjs +1 -2
  243. package/dist/modules/auth/handler/route.server.d.mts +1 -2
  244. package/dist/modules/auth/handler/route.server.mjs +1 -2
  245. package/dist/modules/auth/handler/service.server.d.mts +121 -94
  246. package/dist/modules/auth/handler/service.server.mjs +1 -2
  247. package/dist/modules/auth/hooks/use-auth-client.d.mts +1 -2
  248. package/dist/modules/auth/hooks/use-auth-client.mjs +1 -2
  249. package/dist/modules/auth/hooks/use-permission.d.mts +1 -2
  250. package/dist/modules/auth/hooks/use-permission.mjs +1 -2
  251. package/dist/modules/auth/hooks/use-session.d.mts +1 -2
  252. package/dist/modules/auth/hooks/use-session.mjs +1 -2
  253. package/dist/modules/auth/lib/helpers.server.d.mts +2 -3
  254. package/dist/modules/auth/lib/helpers.server.mjs +1 -2
  255. package/dist/modules/auth/lib/permissions.d.mts +1 -2
  256. package/dist/modules/auth/lib/permissions.mjs +1 -2
  257. package/dist/modules/auth/lib/validators.d.mts +1 -2
  258. package/dist/modules/auth/lib/validators.mjs +1 -2
  259. package/dist/modules/commands/components/alert-dialog-command.client.d.mts +1 -2
  260. package/dist/modules/commands/components/alert-dialog-command.client.mjs +1 -2
  261. package/dist/modules/commands/components/click-command.client.d.mts +1 -2
  262. package/dist/modules/commands/components/click-command.client.mjs +1 -2
  263. package/dist/modules/commands/components/command-trigger.client.d.mts +1 -2
  264. package/dist/modules/commands/components/command-trigger.client.mjs +1 -2
  265. package/dist/modules/commands/components/dialog-command.client.d.mts +1 -2
  266. package/dist/modules/commands/components/dialog-command.client.mjs +1 -2
  267. package/dist/modules/commands/components/dropdown-command.client.d.mts +1 -2
  268. package/dist/modules/commands/components/dropdown-command.client.mjs +1 -2
  269. package/dist/modules/commands/components/empty-command.client.d.mts +1 -2
  270. package/dist/modules/commands/components/empty-command.client.mjs +1 -2
  271. package/dist/modules/commands/components/form-dialog-command.client.d.mts +1 -2
  272. package/dist/modules/commands/components/form-dialog-command.client.mjs +1 -2
  273. package/dist/modules/commands/components/render-command.mjs +1 -2
  274. package/dist/modules/commands/hooks/context.client.mjs +1 -2
  275. package/dist/modules/commands/hooks/use-command-menu.client.d.mts +1 -2
  276. package/dist/modules/commands/hooks/use-command-menu.client.mjs +1 -2
  277. package/dist/modules/commands/hooks/use-command-mutation.client.d.mts +1 -2
  278. package/dist/modules/commands/hooks/use-command-mutation.client.mjs +1 -2
  279. package/dist/modules/commands/lib/definitions.d.mts +1 -2
  280. package/dist/modules/commands/lib/factory.d.mts +1 -2
  281. package/dist/modules/commands/lib/factory.mjs +1 -2
  282. package/dist/modules/commands/menus/context-menu.client.d.mts +1 -2
  283. package/dist/modules/commands/menus/context-menu.client.mjs +1 -2
  284. package/dist/modules/commands/menus/dropdown-menu.client.d.mts +1 -2
  285. package/dist/modules/commands/menus/dropdown-menu.client.mjs +1 -2
  286. package/dist/modules/commands/menus/floating-menu.client.d.mts +1 -2
  287. package/dist/modules/commands/menus/floating-menu.client.mjs +1 -2
  288. package/dist/modules/commands/menus/inline-menu.client.d.mts +1 -2
  289. package/dist/modules/commands/menus/inline-menu.client.mjs +1 -2
  290. package/dist/modules/commands/menus/responsive-menu.client.d.mts +1 -2
  291. package/dist/modules/commands/menus/responsive-menu.client.mjs +1 -2
  292. package/dist/modules/commands/utils/archive-command.client.d.mts +1 -2
  293. package/dist/modules/commands/utils/archive-command.client.mjs +1 -2
  294. package/dist/modules/commands/utils/delete-command.client.d.mts +1 -2
  295. package/dist/modules/commands/utils/delete-command.client.mjs +1 -2
  296. package/dist/modules/config/lib/config.d.mts +1 -2
  297. package/dist/modules/config/lib/config.mjs +1 -2
  298. package/dist/modules/config/lib/context.d.mts +1 -2
  299. package/dist/modules/config/lib/context.mjs +1 -2
  300. package/dist/modules/config/paths/helpers.d.mts +1 -2
  301. package/dist/modules/config/paths/helpers.mjs +1 -2
  302. package/dist/modules/config/paths/types.d.mts +1 -2
  303. package/dist/modules/data-tables/components/cell/common.client.d.mts +1 -2
  304. package/dist/modules/data-tables/components/cell/common.client.mjs +1 -2
  305. package/dist/modules/data-tables/components/cell/index.client.d.mts +1 -2
  306. package/dist/modules/data-tables/components/cell/index.client.mjs +1 -2
  307. package/dist/modules/data-tables/components/cell/select.client.d.mts +1 -2
  308. package/dist/modules/data-tables/components/cell/select.client.mjs +1 -2
  309. package/dist/modules/data-tables/components/column-header.d.mts +1 -2
  310. package/dist/modules/data-tables/components/column-header.mjs +1 -2
  311. package/dist/modules/data-tables/components/filters/combobox.client.d.mts +1 -2
  312. package/dist/modules/data-tables/components/filters/combobox.client.mjs +1 -2
  313. package/dist/modules/data-tables/components/filters/slider.client.d.mts +1 -2
  314. package/dist/modules/data-tables/components/filters/slider.client.mjs +1 -2
  315. package/dist/modules/data-tables/components/footer.mjs +1 -2
  316. package/dist/modules/data-tables/components/header.d.mts +1 -2
  317. package/dist/modules/data-tables/components/header.mjs +1 -2
  318. package/dist/modules/data-tables/components/layout.d.mts +1 -2
  319. package/dist/modules/data-tables/components/layout.mjs +1 -2
  320. package/dist/modules/data-tables/components/search-input.client.d.mts +1 -2
  321. package/dist/modules/data-tables/components/search-input.client.mjs +1 -2
  322. package/dist/modules/data-tables/components/skeleton.d.mts +1 -2
  323. package/dist/modules/data-tables/components/skeleton.mjs +1 -2
  324. package/dist/modules/data-tables/components/table.d.mts +1 -2
  325. package/dist/modules/data-tables/components/table.mjs +1 -2
  326. package/dist/modules/data-tables/components/toolbar.d.mts +1 -2
  327. package/dist/modules/data-tables/components/toolbar.mjs +1 -2
  328. package/dist/modules/data-tables/hooks/use-context.client.d.mts +1 -2
  329. package/dist/modules/data-tables/hooks/use-context.client.mjs +1 -2
  330. package/dist/modules/data-tables/hooks/use-search.client.mjs +1 -2
  331. package/dist/modules/data-tables/hooks/use-selection.client.mjs +1 -2
  332. package/dist/modules/data-tables/hooks/use-table.client.d.mts +1 -2
  333. package/dist/modules/data-tables/hooks/use-table.client.mjs +1 -2
  334. package/dist/modules/data-tables/lib/converters/cursor.d.mts +1 -2
  335. package/dist/modules/data-tables/lib/converters/cursor.mjs +1 -2
  336. package/dist/modules/data-tables/lib/converters/dto.d.mts +1 -2
  337. package/dist/modules/data-tables/lib/converters/dto.mjs +1 -2
  338. package/dist/modules/data-tables/lib/converters/filter.d.mts +1 -2
  339. package/dist/modules/data-tables/lib/converters/filter.mjs +1 -2
  340. package/dist/modules/data-tables/lib/converters/search.d.mts +1 -2
  341. package/dist/modules/data-tables/lib/converters/search.mjs +1 -2
  342. package/dist/modules/data-tables/lib/converters/sorting.d.mts +1 -2
  343. package/dist/modules/data-tables/lib/converters/sorting.mjs +1 -2
  344. package/dist/modules/data-tables/lib/filters/config.d.mts +1 -2
  345. package/dist/modules/data-tables/lib/filters/config.mjs +1 -2
  346. package/dist/modules/data-tables/lib/filters/helpers.d.mts +1 -2
  347. package/dist/modules/data-tables/lib/filters/helpers.mjs +1 -2
  348. package/dist/modules/data-tables/lib/filters/parsers.d.mts +1 -2
  349. package/dist/modules/data-tables/lib/filters/parsers.mjs +1 -2
  350. package/dist/modules/data-tables/lib/filters/resolvers.d.mts +1 -2
  351. package/dist/modules/data-tables/lib/filters/resolvers.mjs +1 -2
  352. package/dist/modules/data-tables/lib/helpers/create-column.mjs +1 -2
  353. package/dist/modules/data-tables/lib/search-params.d.mts +1 -2
  354. package/dist/modules/data-tables/lib/search-params.mjs +1 -2
  355. package/dist/modules/data-tables/lib/types.d.mts +1 -2
  356. package/dist/modules/data-tables/lib/validators.d.mts +1 -2
  357. package/dist/modules/data-tables/lib/validators.mjs +1 -2
  358. package/dist/modules/data-tables/server/get-data.server.d.mts +2 -3
  359. package/dist/modules/data-tables/server/get-data.server.mjs +1 -2
  360. package/dist/modules/data-tables/strategies/helpers/sorting.mjs +1 -2
  361. package/dist/modules/data-tables/strategies/infinite/components.mjs +1 -2
  362. package/dist/modules/data-tables/strategies/infinite/strategy.d.mts +1 -2
  363. package/dist/modules/data-tables/strategies/infinite/strategy.mjs +1 -2
  364. package/dist/modules/data-tables/strategies/pagination/components.mjs +1 -2
  365. package/dist/modules/data-tables/strategies/pagination/strategy.d.mts +1 -2
  366. package/dist/modules/data-tables/strategies/pagination/strategy.mjs +1 -2
  367. package/dist/modules/data-tables/tables/data-table/components/body.mjs +1 -2
  368. package/dist/modules/data-tables/tables/data-table/components/header.mjs +1 -2
  369. package/dist/modules/data-tables/tables/data-table/components/row.mjs +1 -2
  370. package/dist/modules/data-tables/tables/data-table/components/table.d.mts +1 -2
  371. package/dist/modules/data-tables/tables/data-table/components/table.mjs +1 -2
  372. package/dist/modules/data-tables/tables/inline-table/components/body.mjs +1 -2
  373. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts +1 -2
  374. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs +1 -2
  375. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +1 -2
  376. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -2
  377. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +1 -2
  378. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +1 -2
  379. package/dist/modules/data-tables/tables/inline-table/components/header.mjs +1 -2
  380. package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs +1 -2
  381. package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +1 -2
  382. package/dist/modules/data-tables/tables/inline-table/components/table.mjs +1 -2
  383. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +1 -2
  384. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.mjs +1 -2
  385. package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +2 -3
  386. package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +1 -2
  387. package/dist/modules/database/lib/helpers.d.mts +1 -2
  388. package/dist/modules/database/lib/helpers.mjs +1 -2
  389. package/dist/modules/database/lib/service.server.d.mts +1 -2
  390. package/dist/modules/database/lib/service.server.mjs +1 -2
  391. package/dist/modules/database/lib/types.d.mts +1 -2
  392. package/dist/modules/emails/lib/service.server.d.mts +1 -2
  393. package/dist/modules/emails/lib/service.server.mjs +1 -2
  394. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +1 -2
  395. package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +1 -2
  396. package/dist/modules/inline-edit/components/combobox.client.d.mts +1 -2
  397. package/dist/modules/inline-edit/components/combobox.client.mjs +1 -2
  398. package/dist/modules/inline-edit/components/date-input.client.d.mts +1 -2
  399. package/dist/modules/inline-edit/components/date-input.client.mjs +1 -2
  400. package/dist/modules/inline-edit/components/date-picker.client.d.mts +1 -2
  401. package/dist/modules/inline-edit/components/date-picker.client.mjs +1 -2
  402. package/dist/modules/inline-edit/components/date-time.client.d.mts +1 -2
  403. package/dist/modules/inline-edit/components/date-time.client.mjs +1 -2
  404. package/dist/modules/inline-edit/components/editor.client.d.mts +1 -2
  405. package/dist/modules/inline-edit/components/editor.client.mjs +1 -2
  406. package/dist/modules/inline-edit/components/input-recipient.client.d.mts +1 -2
  407. package/dist/modules/inline-edit/components/input-recipient.client.mjs +1 -2
  408. package/dist/modules/inline-edit/components/input-toggle.client.d.mts +1 -2
  409. package/dist/modules/inline-edit/components/input-toggle.client.mjs +1 -2
  410. package/dist/modules/inline-edit/components/input.client.d.mts +1 -2
  411. package/dist/modules/inline-edit/components/input.client.mjs +1 -2
  412. package/dist/modules/inline-edit/components/select.client.d.mts +1 -2
  413. package/dist/modules/inline-edit/components/select.client.mjs +1 -2
  414. package/dist/modules/inline-edit/components/switch.client.d.mts +1 -2
  415. package/dist/modules/inline-edit/components/switch.client.mjs +1 -2
  416. package/dist/modules/inline-edit/components/toggle.client.d.mts +1 -2
  417. package/dist/modules/inline-edit/components/toggle.client.mjs +1 -2
  418. package/dist/modules/inline-edit/hooks/context.client.d.mts +1 -2
  419. package/dist/modules/inline-edit/hooks/context.client.mjs +1 -2
  420. package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +1 -2
  421. package/dist/modules/inline-edit/hooks/use-inline.client.mjs +1 -2
  422. package/dist/modules/inline-edit/lib/validators.d.mts +1 -2
  423. package/dist/modules/inline-edit/lib/validators.mjs +1 -2
  424. package/dist/modules/inline-edit/lib/variants.d.mts +2 -3
  425. package/dist/modules/inline-edit/lib/variants.mjs +1 -2
  426. package/dist/modules/router/handler/caller.client.d.mts +1 -2
  427. package/dist/modules/router/handler/caller.client.mjs +1 -2
  428. package/dist/modules/router/handler/caller.server.d.mts +1 -2
  429. package/dist/modules/router/handler/caller.server.mjs +1 -2
  430. package/dist/modules/router/handler/context.server.d.mts +2 -3
  431. package/dist/modules/router/handler/context.server.mjs +1 -2
  432. package/dist/modules/router/handler/init.server.d.mts +3 -31
  433. package/dist/modules/router/handler/init.server.mjs +8 -6
  434. package/dist/modules/router/handler/register.server.d.mts +1 -2
  435. package/dist/modules/router/handler/register.server.mjs +1 -2
  436. package/dist/modules/router/handler/route.server.d.mts +2 -3
  437. package/dist/modules/router/handler/route.server.mjs +1 -2
  438. package/dist/modules/router/lib/helpers.mjs +1 -2
  439. package/dist/modules/router/lib/query-client.d.mts +1 -2
  440. package/dist/modules/router/lib/query-client.mjs +1 -2
  441. package/dist/modules/router/lib/query-client.server.d.mts +1 -2
  442. package/dist/modules/router/lib/query-client.server.mjs +1 -2
  443. package/dist/modules/router/lib/validators.d.mts +1 -2
  444. package/dist/modules/router/lib/validators.mjs +1 -2
  445. package/dist/modules/storage/components/dropzone-context.client.d.mts +1 -2
  446. package/dist/modules/storage/components/dropzone-context.client.mjs +1 -2
  447. package/dist/modules/storage/components/dropzone.client.d.mts +1 -2
  448. package/dist/modules/storage/components/dropzone.client.mjs +1 -2
  449. package/dist/modules/storage/components/image-grid.client.d.mts +1 -2
  450. package/dist/modules/storage/components/image-grid.client.mjs +1 -2
  451. package/dist/modules/storage/components/image.client.d.mts +1 -2
  452. package/dist/modules/storage/components/image.client.mjs +1 -2
  453. package/dist/modules/storage/components/upload-button.client.d.mts +1 -2
  454. package/dist/modules/storage/components/upload-button.client.mjs +1 -2
  455. package/dist/modules/storage/components/upload-zone-context.client.d.mts +1 -2
  456. package/dist/modules/storage/components/upload-zone-context.client.mjs +1 -2
  457. package/dist/modules/storage/components/upload-zone.client.d.mts +1 -2
  458. package/dist/modules/storage/components/upload-zone.client.mjs +1 -2
  459. package/dist/modules/storage/lib/constants.d.mts +1 -2
  460. package/dist/modules/storage/lib/constants.mjs +1 -2
  461. package/dist/modules/storage/lib/helpers.d.mts +1 -2
  462. package/dist/modules/storage/lib/helpers.mjs +1 -2
  463. package/dist/modules/storage/lib/procedures.server.d.mts +2 -3
  464. package/dist/modules/storage/lib/procedures.server.mjs +1 -2
  465. package/dist/modules/storage/lib/router-handlers.server.d.mts +2 -3
  466. package/dist/modules/storage/lib/router-handlers.server.mjs +1 -2
  467. package/dist/modules/storage/lib/schema.d.mts +1 -2
  468. package/dist/modules/storage/lib/schema.mjs +1 -2
  469. package/dist/modules/storage/lib/service.server.d.mts +10 -11
  470. package/dist/modules/storage/lib/service.server.mjs +1 -2
  471. package/dist/modules/storage/lib/upload.client.d.mts +1 -2
  472. package/dist/modules/storage/lib/upload.client.mjs +1 -2
  473. package/dist/modules/storage/lib/validators.d.mts +1 -2
  474. package/dist/modules/storage/lib/validators.mjs +1 -2
  475. package/dist/modules/storage/providers/adapters/s3.server.d.mts +1 -2
  476. package/dist/modules/storage/providers/adapters/s3.server.mjs +1 -2
  477. package/dist/modules/storage/providers/lib/constants.d.mts +1 -2
  478. package/dist/modules/storage/providers/lib/constants.mjs +1 -2
  479. package/dist/modules/storage/providers/lib/errors.d.mts +1 -2
  480. package/dist/modules/storage/providers/lib/errors.mjs +1 -2
  481. package/dist/modules/storage/providers/lib/types.d.mts +1 -2
  482. package/dist/modules/storage/providers/lib/validators.d.mts +1 -2
  483. package/dist/modules/storage/providers/lib/validators.mjs +1 -2
  484. package/package.json +67 -63
  485. package/src/components/emails/forget-password-email.tsx +1 -1
  486. package/src/modules/auth/lib/helpers.server.ts +1 -1
  487. package/src/modules/data-tables/server/get-data.server.ts +1 -1
  488. package/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.ts +1 -2
  489. package/src/modules/router/handler/context.server.ts +1 -1
  490. package/src/modules/router/handler/init.server.ts +2 -1
  491. package/src/modules/router/handler/route.server.ts +1 -1
  492. package/src/modules/storage/lib/procedures.server.ts +1 -1
  493. package/src/modules/storage/lib/router-handlers.server.ts +1 -1
  494. package/dist/components/common/icons.d.mts.map +0 -1
  495. package/dist/components/common/icons.mjs.map +0 -1
  496. package/dist/components/common/status.d.mts.map +0 -1
  497. package/dist/components/common/status.mjs.map +0 -1
  498. package/dist/components/editor/components/content.client.d.mts.map +0 -1
  499. package/dist/components/editor/components/content.client.mjs.map +0 -1
  500. package/dist/components/editor/components/editor.client.d.mts.map +0 -1
  501. package/dist/components/editor/components/editor.client.mjs.map +0 -1
  502. package/dist/components/editor/components/menu-nodes.client.mjs.map +0 -1
  503. package/dist/components/editor/components/menu.client.d.mts.map +0 -1
  504. package/dist/components/editor/components/menu.client.mjs.map +0 -1
  505. package/dist/components/editor/extensions/file-handler/extension.d.mts.map +0 -1
  506. package/dist/components/editor/extensions/file-handler/extension.mjs.map +0 -1
  507. package/dist/components/editor/extensions/file-handler/strategy.d.mts.map +0 -1
  508. package/dist/components/editor/extensions/file-handler/strategy.mjs.map +0 -1
  509. package/dist/components/editor/extensions/file-handler/utils.mjs.map +0 -1
  510. package/dist/components/editor/extensions/image/extension.d.mts.map +0 -1
  511. package/dist/components/editor/extensions/image/extension.mjs.map +0 -1
  512. package/dist/components/editor/extensions/skeleton/extension.mjs.map +0 -1
  513. package/dist/components/editor/extensions/skeleton/renderer.mjs.map +0 -1
  514. package/dist/components/editor/lib/constants.d.mts.map +0 -1
  515. package/dist/components/editor/lib/constants.mjs.map +0 -1
  516. package/dist/components/editor/lib/extensions.d.mts.map +0 -1
  517. package/dist/components/editor/lib/extensions.mjs.map +0 -1
  518. package/dist/components/editor/lib/helpers.d.mts.map +0 -1
  519. package/dist/components/editor/lib/helpers.mjs.map +0 -1
  520. package/dist/components/editor/lib/types.d.mts.map +0 -1
  521. package/dist/components/editor/lib/variants.mjs.map +0 -1
  522. package/dist/components/emails/forget-password-email.mjs.map +0 -1
  523. package/dist/components/header/back-button.client.d.mts.map +0 -1
  524. package/dist/components/header/back-button.client.mjs.map +0 -1
  525. package/dist/components/header/bottom-bar.client.d.mts.map +0 -1
  526. package/dist/components/header/bottom-bar.client.mjs.map +0 -1
  527. package/dist/components/header/breadcrumbs.client.d.mts.map +0 -1
  528. package/dist/components/header/breadcrumbs.client.mjs.map +0 -1
  529. package/dist/components/header/header.client.d.mts.map +0 -1
  530. package/dist/components/header/header.client.mjs.map +0 -1
  531. package/dist/components/header/indicator.client.mjs.map +0 -1
  532. package/dist/components/header/mobile-nav-switcher.client.d.mts.map +0 -1
  533. package/dist/components/header/mobile-nav-switcher.client.mjs.map +0 -1
  534. package/dist/components/header/top-bar.client.d.mts.map +0 -1
  535. package/dist/components/header/top-bar.client.mjs.map +0 -1
  536. package/dist/components/layouts/admin-content.client.d.mts.map +0 -1
  537. package/dist/components/layouts/admin-content.client.mjs.map +0 -1
  538. package/dist/components/layouts/admin-error-pages.d.mts.map +0 -1
  539. package/dist/components/layouts/admin-error-pages.mjs.map +0 -1
  540. package/dist/components/layouts/admin-layout.d.mts.map +0 -1
  541. package/dist/components/layouts/admin-layout.mjs.map +0 -1
  542. package/dist/components/layouts/admin-loading.d.mts.map +0 -1
  543. package/dist/components/layouts/admin-loading.mjs.map +0 -1
  544. package/dist/components/layouts/empty-page.d.mts.map +0 -1
  545. package/dist/components/layouts/empty-page.mjs.map +0 -1
  546. package/dist/components/layouts/error-page.d.mts.map +0 -1
  547. package/dist/components/layouts/error-page.mjs.map +0 -1
  548. package/dist/components/layouts/error-sections.d.mts.map +0 -1
  549. package/dist/components/layouts/error-sections.mjs.map +0 -1
  550. package/dist/components/layouts/list-layout.d.mts.map +0 -1
  551. package/dist/components/layouts/list-layout.mjs.map +0 -1
  552. package/dist/components/layouts/providers.client.d.mts.map +0 -1
  553. package/dist/components/layouts/providers.client.mjs.map +0 -1
  554. package/dist/components/layouts/root-error-pages.d.mts.map +0 -1
  555. package/dist/components/layouts/root-error-pages.mjs.map +0 -1
  556. package/dist/components/layouts/root-layout.server.d.mts.map +0 -1
  557. package/dist/components/layouts/root-layout.server.mjs.map +0 -1
  558. package/dist/components/layouts/root-loading.d.mts.map +0 -1
  559. package/dist/components/layouts/root-loading.mjs.map +0 -1
  560. package/dist/components/layouts/tab-layout.d.mts.map +0 -1
  561. package/dist/components/layouts/tab-layout.mjs.map +0 -1
  562. package/dist/components/lists/data-list.d.mts.map +0 -1
  563. package/dist/components/lists/data-list.mjs.map +0 -1
  564. package/dist/components/lists/data-stack.d.mts.map +0 -1
  565. package/dist/components/lists/data-stack.mjs.map +0 -1
  566. package/dist/components/navigation/admin-sidebar-header.client.mjs.map +0 -1
  567. package/dist/components/navigation/admin-sidebar-paths.client.d.mts.map +0 -1
  568. package/dist/components/navigation/admin-sidebar-paths.client.mjs.map +0 -1
  569. package/dist/components/navigation/admin-sidebar-skeleton.mjs.map +0 -1
  570. package/dist/components/ui/accordion.client.d.mts.map +0 -1
  571. package/dist/components/ui/accordion.client.mjs.map +0 -1
  572. package/dist/components/ui/alert-dialog.client.d.mts.map +0 -1
  573. package/dist/components/ui/alert-dialog.client.mjs.map +0 -1
  574. package/dist/components/ui/alert.d.mts.map +0 -1
  575. package/dist/components/ui/alert.mjs.map +0 -1
  576. package/dist/components/ui/aspect-ratio.client.d.mts.map +0 -1
  577. package/dist/components/ui/aspect-ratio.client.mjs.map +0 -1
  578. package/dist/components/ui/avatar.client.d.mts.map +0 -1
  579. package/dist/components/ui/avatar.client.mjs.map +0 -1
  580. package/dist/components/ui/badge.d.mts.map +0 -1
  581. package/dist/components/ui/badge.mjs.map +0 -1
  582. package/dist/components/ui/breadcrumb.d.mts.map +0 -1
  583. package/dist/components/ui/breadcrumb.mjs.map +0 -1
  584. package/dist/components/ui/button-group.d.mts.map +0 -1
  585. package/dist/components/ui/button-group.mjs.map +0 -1
  586. package/dist/components/ui/button.d.mts.map +0 -1
  587. package/dist/components/ui/button.mjs.map +0 -1
  588. package/dist/components/ui/calendar.client.d.mts.map +0 -1
  589. package/dist/components/ui/calendar.client.mjs.map +0 -1
  590. package/dist/components/ui/card.d.mts.map +0 -1
  591. package/dist/components/ui/card.mjs.map +0 -1
  592. package/dist/components/ui/carousel.client.d.mts.map +0 -1
  593. package/dist/components/ui/carousel.client.mjs.map +0 -1
  594. package/dist/components/ui/chart.client.d.mts.map +0 -1
  595. package/dist/components/ui/chart.client.mjs.map +0 -1
  596. package/dist/components/ui/checkbox.client.d.mts.map +0 -1
  597. package/dist/components/ui/checkbox.client.mjs.map +0 -1
  598. package/dist/components/ui/collapsible.client.d.mts.map +0 -1
  599. package/dist/components/ui/collapsible.client.mjs.map +0 -1
  600. package/dist/components/ui/color-picker.client.d.mts.map +0 -1
  601. package/dist/components/ui/color-picker.client.mjs.map +0 -1
  602. package/dist/components/ui/combobox-dropdown.client.d.mts.map +0 -1
  603. package/dist/components/ui/combobox-dropdown.client.mjs.map +0 -1
  604. package/dist/components/ui/combobox.client.d.mts.map +0 -1
  605. package/dist/components/ui/combobox.client.mjs.map +0 -1
  606. package/dist/components/ui/command.client.d.mts.map +0 -1
  607. package/dist/components/ui/command.client.mjs.map +0 -1
  608. package/dist/components/ui/context-menu.client.d.mts.map +0 -1
  609. package/dist/components/ui/context-menu.client.mjs.map +0 -1
  610. package/dist/components/ui/date-picker.client.d.mts.map +0 -1
  611. package/dist/components/ui/date-picker.client.mjs.map +0 -1
  612. package/dist/components/ui/dialog.client.d.mts.map +0 -1
  613. package/dist/components/ui/dialog.client.mjs.map +0 -1
  614. package/dist/components/ui/drawer.client.d.mts.map +0 -1
  615. package/dist/components/ui/drawer.client.mjs.map +0 -1
  616. package/dist/components/ui/dropdown-menu.client.d.mts.map +0 -1
  617. package/dist/components/ui/dropdown-menu.client.mjs.map +0 -1
  618. package/dist/components/ui/empty.d.mts.map +0 -1
  619. package/dist/components/ui/empty.mjs.map +0 -1
  620. package/dist/components/ui/field.client.d.mts.map +0 -1
  621. package/dist/components/ui/field.client.mjs.map +0 -1
  622. package/dist/components/ui/form.client.d.mts.map +0 -1
  623. package/dist/components/ui/form.client.mjs.map +0 -1
  624. package/dist/components/ui/hover-card.client.d.mts.map +0 -1
  625. package/dist/components/ui/hover-card.client.mjs.map +0 -1
  626. package/dist/components/ui/input-date-time.client.d.mts.map +0 -1
  627. package/dist/components/ui/input-date-time.client.mjs.map +0 -1
  628. package/dist/components/ui/input-date.d.mts.map +0 -1
  629. package/dist/components/ui/input-date.mjs.map +0 -1
  630. package/dist/components/ui/input-group.client.d.mts.map +0 -1
  631. package/dist/components/ui/input-group.client.mjs.map +0 -1
  632. package/dist/components/ui/input-recipient.d.mts.map +0 -1
  633. package/dist/components/ui/input-recipient.mjs.map +0 -1
  634. package/dist/components/ui/input-time.d.mts.map +0 -1
  635. package/dist/components/ui/input-time.mjs.map +0 -1
  636. package/dist/components/ui/input.d.mts.map +0 -1
  637. package/dist/components/ui/input.mjs.map +0 -1
  638. package/dist/components/ui/item.d.mts.map +0 -1
  639. package/dist/components/ui/item.mjs.map +0 -1
  640. package/dist/components/ui/kbd.d.mts.map +0 -1
  641. package/dist/components/ui/kbd.mjs.map +0 -1
  642. package/dist/components/ui/label.d.mts.map +0 -1
  643. package/dist/components/ui/label.mjs.map +0 -1
  644. package/dist/components/ui/loader.d.mts.map +0 -1
  645. package/dist/components/ui/loader.mjs.map +0 -1
  646. package/dist/components/ui/navigation-menu.d.mts.map +0 -1
  647. package/dist/components/ui/navigation-menu.mjs.map +0 -1
  648. package/dist/components/ui/pagination.d.mts.map +0 -1
  649. package/dist/components/ui/pagination.mjs.map +0 -1
  650. package/dist/components/ui/popover.client.d.mts.map +0 -1
  651. package/dist/components/ui/popover.client.mjs.map +0 -1
  652. package/dist/components/ui/progress.client.d.mts.map +0 -1
  653. package/dist/components/ui/progress.client.mjs.map +0 -1
  654. package/dist/components/ui/radio-group.d.mts.map +0 -1
  655. package/dist/components/ui/radio-group.mjs.map +0 -1
  656. package/dist/components/ui/resizable.client.d.mts.map +0 -1
  657. package/dist/components/ui/resizable.client.mjs.map +0 -1
  658. package/dist/components/ui/scroll-area.d.mts.map +0 -1
  659. package/dist/components/ui/scroll-area.mjs.map +0 -1
  660. package/dist/components/ui/select.client.d.mts.map +0 -1
  661. package/dist/components/ui/select.client.mjs.map +0 -1
  662. package/dist/components/ui/separator.d.mts.map +0 -1
  663. package/dist/components/ui/separator.mjs.map +0 -1
  664. package/dist/components/ui/sheet.client.d.mts.map +0 -1
  665. package/dist/components/ui/sheet.client.mjs.map +0 -1
  666. package/dist/components/ui/sidebar.client.d.mts.map +0 -1
  667. package/dist/components/ui/sidebar.client.mjs.map +0 -1
  668. package/dist/components/ui/skeleton.d.mts.map +0 -1
  669. package/dist/components/ui/skeleton.mjs.map +0 -1
  670. package/dist/components/ui/slider.d.mts.map +0 -1
  671. package/dist/components/ui/slider.mjs.map +0 -1
  672. package/dist/components/ui/sonner.client.d.mts.map +0 -1
  673. package/dist/components/ui/sonner.client.mjs.map +0 -1
  674. package/dist/components/ui/spinner.d.mts.map +0 -1
  675. package/dist/components/ui/spinner.mjs.map +0 -1
  676. package/dist/components/ui/switch.client.d.mts.map +0 -1
  677. package/dist/components/ui/switch.client.mjs.map +0 -1
  678. package/dist/components/ui/tabs.client.d.mts.map +0 -1
  679. package/dist/components/ui/tabs.client.mjs.map +0 -1
  680. package/dist/components/ui/textarea.d.mts.map +0 -1
  681. package/dist/components/ui/textarea.mjs.map +0 -1
  682. package/dist/components/ui/toggle-group.client.d.mts.map +0 -1
  683. package/dist/components/ui/toggle-group.client.mjs.map +0 -1
  684. package/dist/components/ui/toggle.client.d.mts.map +0 -1
  685. package/dist/components/ui/toggle.client.mjs.map +0 -1
  686. package/dist/components/ui/tooltip.client.d.mts.map +0 -1
  687. package/dist/components/ui/tooltip.client.mjs.map +0 -1
  688. package/dist/lib/hooks/use-action.d.mts.map +0 -1
  689. package/dist/lib/hooks/use-action.mjs.map +0 -1
  690. package/dist/lib/hooks/use-indicator.d.mts.map +0 -1
  691. package/dist/lib/hooks/use-indicator.mjs.map +0 -1
  692. package/dist/lib/hooks/use-mobile.client.d.mts.map +0 -1
  693. package/dist/lib/hooks/use-mobile.client.mjs.map +0 -1
  694. package/dist/lib/types/config.d.mts.map +0 -1
  695. package/dist/lib/utils/array-move.d.mts.map +0 -1
  696. package/dist/lib/utils/array-move.mjs.map +0 -1
  697. package/dist/lib/utils/cn.d.mts.map +0 -1
  698. package/dist/lib/utils/cn.mjs.map +0 -1
  699. package/dist/lib/utils/fonts.d.mts.map +0 -1
  700. package/dist/lib/utils/fonts.mjs.map +0 -1
  701. package/dist/lib/utils/format.d.mts.map +0 -1
  702. package/dist/lib/utils/format.mjs.map +0 -1
  703. package/dist/lib/utils/manifest.d.mts.map +0 -1
  704. package/dist/lib/utils/manifest.mjs.map +0 -1
  705. package/dist/lib/utils/markdown.d.mts.map +0 -1
  706. package/dist/lib/utils/markdown.mjs.map +0 -1
  707. package/dist/lib/utils/url.d.mts.map +0 -1
  708. package/dist/lib/utils/url.mjs.map +0 -1
  709. package/dist/lib/utils/user-agent.mjs.map +0 -1
  710. package/dist/modules/auth/components/allowed.client.d.mts.map +0 -1
  711. package/dist/modules/auth/components/allowed.client.mjs.map +0 -1
  712. package/dist/modules/auth/components/auth-layout.server.d.mts.map +0 -1
  713. package/dist/modules/auth/components/auth-layout.server.mjs.map +0 -1
  714. package/dist/modules/auth/components/auth-loading.d.mts.map +0 -1
  715. package/dist/modules/auth/components/auth-loading.mjs.map +0 -1
  716. package/dist/modules/auth/components/create-first-user-guard.server.d.mts.map +0 -1
  717. package/dist/modules/auth/components/create-first-user-guard.server.mjs.map +0 -1
  718. package/dist/modules/auth/components/create-first-user-page.client.d.mts.map +0 -1
  719. package/dist/modules/auth/components/create-first-user-page.client.mjs.map +0 -1
  720. package/dist/modules/auth/components/forget-password-page.client.d.mts.map +0 -1
  721. package/dist/modules/auth/components/forget-password-page.client.mjs.map +0 -1
  722. package/dist/modules/auth/components/guard.server.d.mts.map +0 -1
  723. package/dist/modules/auth/components/guard.server.mjs.map +0 -1
  724. package/dist/modules/auth/components/login-page.client.d.mts.map +0 -1
  725. package/dist/modules/auth/components/login-page.client.mjs.map +0 -1
  726. package/dist/modules/auth/components/reset-password-page.client.d.mts.map +0 -1
  727. package/dist/modules/auth/components/reset-password-page.client.mjs.map +0 -1
  728. package/dist/modules/auth/components/update-password-command.d.mts.map +0 -1
  729. package/dist/modules/auth/components/update-password-command.mjs.map +0 -1
  730. package/dist/modules/auth/db/schema.d.mts.map +0 -1
  731. package/dist/modules/auth/db/schema.mjs.map +0 -1
  732. package/dist/modules/auth/handler/create-client.client.d.mts.map +0 -1
  733. package/dist/modules/auth/handler/create-client.client.mjs.map +0 -1
  734. package/dist/modules/auth/handler/proxy.server.d.mts.map +0 -1
  735. package/dist/modules/auth/handler/proxy.server.mjs.map +0 -1
  736. package/dist/modules/auth/handler/route.server.d.mts.map +0 -1
  737. package/dist/modules/auth/handler/route.server.mjs.map +0 -1
  738. package/dist/modules/auth/handler/service.server.d.mts.map +0 -1
  739. package/dist/modules/auth/handler/service.server.mjs.map +0 -1
  740. package/dist/modules/auth/hooks/use-auth-client.d.mts.map +0 -1
  741. package/dist/modules/auth/hooks/use-auth-client.mjs.map +0 -1
  742. package/dist/modules/auth/hooks/use-permission.d.mts.map +0 -1
  743. package/dist/modules/auth/hooks/use-permission.mjs.map +0 -1
  744. package/dist/modules/auth/hooks/use-session.d.mts.map +0 -1
  745. package/dist/modules/auth/hooks/use-session.mjs.map +0 -1
  746. package/dist/modules/auth/lib/helpers.server.d.mts.map +0 -1
  747. package/dist/modules/auth/lib/helpers.server.mjs.map +0 -1
  748. package/dist/modules/auth/lib/permissions.d.mts.map +0 -1
  749. package/dist/modules/auth/lib/permissions.mjs.map +0 -1
  750. package/dist/modules/auth/lib/validators.d.mts.map +0 -1
  751. package/dist/modules/auth/lib/validators.mjs.map +0 -1
  752. package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +0 -1
  753. package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +0 -1
  754. package/dist/modules/commands/components/click-command.client.d.mts.map +0 -1
  755. package/dist/modules/commands/components/click-command.client.mjs.map +0 -1
  756. package/dist/modules/commands/components/command-trigger.client.d.mts.map +0 -1
  757. package/dist/modules/commands/components/command-trigger.client.mjs.map +0 -1
  758. package/dist/modules/commands/components/dialog-command.client.d.mts.map +0 -1
  759. package/dist/modules/commands/components/dialog-command.client.mjs.map +0 -1
  760. package/dist/modules/commands/components/dropdown-command.client.d.mts.map +0 -1
  761. package/dist/modules/commands/components/dropdown-command.client.mjs.map +0 -1
  762. package/dist/modules/commands/components/empty-command.client.d.mts.map +0 -1
  763. package/dist/modules/commands/components/empty-command.client.mjs.map +0 -1
  764. package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +0 -1
  765. package/dist/modules/commands/components/form-dialog-command.client.mjs.map +0 -1
  766. package/dist/modules/commands/components/render-command.mjs.map +0 -1
  767. package/dist/modules/commands/hooks/context.client.mjs.map +0 -1
  768. package/dist/modules/commands/hooks/use-command-menu.client.d.mts.map +0 -1
  769. package/dist/modules/commands/hooks/use-command-menu.client.mjs.map +0 -1
  770. package/dist/modules/commands/hooks/use-command-mutation.client.d.mts.map +0 -1
  771. package/dist/modules/commands/hooks/use-command-mutation.client.mjs.map +0 -1
  772. package/dist/modules/commands/lib/definitions.d.mts.map +0 -1
  773. package/dist/modules/commands/lib/factory.d.mts.map +0 -1
  774. package/dist/modules/commands/lib/factory.mjs.map +0 -1
  775. package/dist/modules/commands/menus/context-menu.client.d.mts.map +0 -1
  776. package/dist/modules/commands/menus/context-menu.client.mjs.map +0 -1
  777. package/dist/modules/commands/menus/dropdown-menu.client.d.mts.map +0 -1
  778. package/dist/modules/commands/menus/dropdown-menu.client.mjs.map +0 -1
  779. package/dist/modules/commands/menus/floating-menu.client.d.mts.map +0 -1
  780. package/dist/modules/commands/menus/floating-menu.client.mjs.map +0 -1
  781. package/dist/modules/commands/menus/inline-menu.client.d.mts.map +0 -1
  782. package/dist/modules/commands/menus/inline-menu.client.mjs.map +0 -1
  783. package/dist/modules/commands/menus/responsive-menu.client.d.mts.map +0 -1
  784. package/dist/modules/commands/menus/responsive-menu.client.mjs.map +0 -1
  785. package/dist/modules/commands/utils/archive-command.client.d.mts.map +0 -1
  786. package/dist/modules/commands/utils/archive-command.client.mjs.map +0 -1
  787. package/dist/modules/commands/utils/delete-command.client.d.mts.map +0 -1
  788. package/dist/modules/commands/utils/delete-command.client.mjs.map +0 -1
  789. package/dist/modules/config/lib/config.d.mts.map +0 -1
  790. package/dist/modules/config/lib/config.mjs.map +0 -1
  791. package/dist/modules/config/lib/context.d.mts.map +0 -1
  792. package/dist/modules/config/lib/context.mjs.map +0 -1
  793. package/dist/modules/config/paths/helpers.d.mts.map +0 -1
  794. package/dist/modules/config/paths/helpers.mjs.map +0 -1
  795. package/dist/modules/config/paths/types.d.mts.map +0 -1
  796. package/dist/modules/data-tables/components/cell/common.client.d.mts.map +0 -1
  797. package/dist/modules/data-tables/components/cell/common.client.mjs.map +0 -1
  798. package/dist/modules/data-tables/components/cell/index.client.d.mts.map +0 -1
  799. package/dist/modules/data-tables/components/cell/index.client.mjs.map +0 -1
  800. package/dist/modules/data-tables/components/cell/select.client.d.mts.map +0 -1
  801. package/dist/modules/data-tables/components/cell/select.client.mjs.map +0 -1
  802. package/dist/modules/data-tables/components/column-header.d.mts.map +0 -1
  803. package/dist/modules/data-tables/components/column-header.mjs.map +0 -1
  804. package/dist/modules/data-tables/components/filters/combobox.client.d.mts.map +0 -1
  805. package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +0 -1
  806. package/dist/modules/data-tables/components/filters/slider.client.d.mts.map +0 -1
  807. package/dist/modules/data-tables/components/filters/slider.client.mjs.map +0 -1
  808. package/dist/modules/data-tables/components/footer.mjs.map +0 -1
  809. package/dist/modules/data-tables/components/header.d.mts.map +0 -1
  810. package/dist/modules/data-tables/components/header.mjs.map +0 -1
  811. package/dist/modules/data-tables/components/layout.d.mts.map +0 -1
  812. package/dist/modules/data-tables/components/layout.mjs.map +0 -1
  813. package/dist/modules/data-tables/components/search-input.client.d.mts.map +0 -1
  814. package/dist/modules/data-tables/components/search-input.client.mjs.map +0 -1
  815. package/dist/modules/data-tables/components/skeleton.d.mts.map +0 -1
  816. package/dist/modules/data-tables/components/skeleton.mjs.map +0 -1
  817. package/dist/modules/data-tables/components/table.d.mts.map +0 -1
  818. package/dist/modules/data-tables/components/table.mjs.map +0 -1
  819. package/dist/modules/data-tables/components/toolbar.d.mts.map +0 -1
  820. package/dist/modules/data-tables/components/toolbar.mjs.map +0 -1
  821. package/dist/modules/data-tables/hooks/use-context.client.d.mts.map +0 -1
  822. package/dist/modules/data-tables/hooks/use-context.client.mjs.map +0 -1
  823. package/dist/modules/data-tables/hooks/use-search.client.mjs.map +0 -1
  824. package/dist/modules/data-tables/hooks/use-selection.client.mjs.map +0 -1
  825. package/dist/modules/data-tables/hooks/use-table.client.d.mts.map +0 -1
  826. package/dist/modules/data-tables/hooks/use-table.client.mjs.map +0 -1
  827. package/dist/modules/data-tables/lib/converters/cursor.d.mts.map +0 -1
  828. package/dist/modules/data-tables/lib/converters/cursor.mjs.map +0 -1
  829. package/dist/modules/data-tables/lib/converters/dto.d.mts.map +0 -1
  830. package/dist/modules/data-tables/lib/converters/dto.mjs.map +0 -1
  831. package/dist/modules/data-tables/lib/converters/filter.d.mts.map +0 -1
  832. package/dist/modules/data-tables/lib/converters/filter.mjs.map +0 -1
  833. package/dist/modules/data-tables/lib/converters/search.d.mts.map +0 -1
  834. package/dist/modules/data-tables/lib/converters/search.mjs.map +0 -1
  835. package/dist/modules/data-tables/lib/converters/sorting.d.mts.map +0 -1
  836. package/dist/modules/data-tables/lib/converters/sorting.mjs.map +0 -1
  837. package/dist/modules/data-tables/lib/filters/config.d.mts.map +0 -1
  838. package/dist/modules/data-tables/lib/filters/config.mjs.map +0 -1
  839. package/dist/modules/data-tables/lib/filters/helpers.d.mts.map +0 -1
  840. package/dist/modules/data-tables/lib/filters/helpers.mjs.map +0 -1
  841. package/dist/modules/data-tables/lib/filters/parsers.d.mts.map +0 -1
  842. package/dist/modules/data-tables/lib/filters/parsers.mjs.map +0 -1
  843. package/dist/modules/data-tables/lib/filters/resolvers.d.mts.map +0 -1
  844. package/dist/modules/data-tables/lib/filters/resolvers.mjs.map +0 -1
  845. package/dist/modules/data-tables/lib/helpers/create-column.mjs.map +0 -1
  846. package/dist/modules/data-tables/lib/search-params.d.mts.map +0 -1
  847. package/dist/modules/data-tables/lib/search-params.mjs.map +0 -1
  848. package/dist/modules/data-tables/lib/types.d.mts.map +0 -1
  849. package/dist/modules/data-tables/lib/validators.d.mts.map +0 -1
  850. package/dist/modules/data-tables/lib/validators.mjs.map +0 -1
  851. package/dist/modules/data-tables/server/get-data.server.d.mts.map +0 -1
  852. package/dist/modules/data-tables/server/get-data.server.mjs.map +0 -1
  853. package/dist/modules/data-tables/strategies/helpers/sorting.mjs.map +0 -1
  854. package/dist/modules/data-tables/strategies/infinite/components.mjs.map +0 -1
  855. package/dist/modules/data-tables/strategies/infinite/strategy.d.mts.map +0 -1
  856. package/dist/modules/data-tables/strategies/infinite/strategy.mjs.map +0 -1
  857. package/dist/modules/data-tables/strategies/pagination/components.mjs.map +0 -1
  858. package/dist/modules/data-tables/strategies/pagination/strategy.d.mts.map +0 -1
  859. package/dist/modules/data-tables/strategies/pagination/strategy.mjs.map +0 -1
  860. package/dist/modules/data-tables/tables/data-table/components/body.mjs.map +0 -1
  861. package/dist/modules/data-tables/tables/data-table/components/header.mjs.map +0 -1
  862. package/dist/modules/data-tables/tables/data-table/components/row.mjs.map +0 -1
  863. package/dist/modules/data-tables/tables/data-table/components/table.d.mts.map +0 -1
  864. package/dist/modules/data-tables/tables/data-table/components/table.mjs.map +0 -1
  865. package/dist/modules/data-tables/tables/inline-table/components/body.mjs.map +0 -1
  866. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts.map +0 -1
  867. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs.map +0 -1
  868. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts.map +0 -1
  869. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +0 -1
  870. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts.map +0 -1
  871. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs.map +0 -1
  872. package/dist/modules/data-tables/tables/inline-table/components/header.mjs.map +0 -1
  873. package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs.map +0 -1
  874. package/dist/modules/data-tables/tables/inline-table/components/table.d.mts.map +0 -1
  875. package/dist/modules/data-tables/tables/inline-table/components/table.mjs.map +0 -1
  876. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts.map +0 -1
  877. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.mjs.map +0 -1
  878. package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts.map +0 -1
  879. package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs.map +0 -1
  880. package/dist/modules/database/lib/helpers.d.mts.map +0 -1
  881. package/dist/modules/database/lib/helpers.mjs.map +0 -1
  882. package/dist/modules/database/lib/service.server.d.mts.map +0 -1
  883. package/dist/modules/database/lib/service.server.mjs.map +0 -1
  884. package/dist/modules/database/lib/types.d.mts.map +0 -1
  885. package/dist/modules/emails/lib/service.server.d.mts.map +0 -1
  886. package/dist/modules/emails/lib/service.server.mjs.map +0 -1
  887. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts.map +0 -1
  888. package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +0 -1
  889. package/dist/modules/inline-edit/components/combobox.client.d.mts.map +0 -1
  890. package/dist/modules/inline-edit/components/combobox.client.mjs.map +0 -1
  891. package/dist/modules/inline-edit/components/date-input.client.d.mts.map +0 -1
  892. package/dist/modules/inline-edit/components/date-input.client.mjs.map +0 -1
  893. package/dist/modules/inline-edit/components/date-picker.client.d.mts.map +0 -1
  894. package/dist/modules/inline-edit/components/date-picker.client.mjs.map +0 -1
  895. package/dist/modules/inline-edit/components/date-time.client.d.mts.map +0 -1
  896. package/dist/modules/inline-edit/components/date-time.client.mjs.map +0 -1
  897. package/dist/modules/inline-edit/components/editor.client.d.mts.map +0 -1
  898. package/dist/modules/inline-edit/components/editor.client.mjs.map +0 -1
  899. package/dist/modules/inline-edit/components/input-recipient.client.d.mts.map +0 -1
  900. package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +0 -1
  901. package/dist/modules/inline-edit/components/input-toggle.client.d.mts.map +0 -1
  902. package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +0 -1
  903. package/dist/modules/inline-edit/components/input.client.d.mts.map +0 -1
  904. package/dist/modules/inline-edit/components/input.client.mjs.map +0 -1
  905. package/dist/modules/inline-edit/components/select.client.d.mts.map +0 -1
  906. package/dist/modules/inline-edit/components/select.client.mjs.map +0 -1
  907. package/dist/modules/inline-edit/components/switch.client.d.mts.map +0 -1
  908. package/dist/modules/inline-edit/components/switch.client.mjs.map +0 -1
  909. package/dist/modules/inline-edit/components/toggle.client.d.mts.map +0 -1
  910. package/dist/modules/inline-edit/components/toggle.client.mjs.map +0 -1
  911. package/dist/modules/inline-edit/hooks/context.client.d.mts.map +0 -1
  912. package/dist/modules/inline-edit/hooks/context.client.mjs.map +0 -1
  913. package/dist/modules/inline-edit/hooks/use-inline.client.d.mts.map +0 -1
  914. package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +0 -1
  915. package/dist/modules/inline-edit/lib/validators.d.mts.map +0 -1
  916. package/dist/modules/inline-edit/lib/validators.mjs.map +0 -1
  917. package/dist/modules/inline-edit/lib/variants.d.mts.map +0 -1
  918. package/dist/modules/inline-edit/lib/variants.mjs.map +0 -1
  919. package/dist/modules/router/handler/caller.client.d.mts.map +0 -1
  920. package/dist/modules/router/handler/caller.client.mjs.map +0 -1
  921. package/dist/modules/router/handler/caller.server.d.mts.map +0 -1
  922. package/dist/modules/router/handler/caller.server.mjs.map +0 -1
  923. package/dist/modules/router/handler/context.server.d.mts.map +0 -1
  924. package/dist/modules/router/handler/context.server.mjs.map +0 -1
  925. package/dist/modules/router/handler/init.server.d.mts.map +0 -1
  926. package/dist/modules/router/handler/init.server.mjs.map +0 -1
  927. package/dist/modules/router/handler/register.server.d.mts.map +0 -1
  928. package/dist/modules/router/handler/register.server.mjs.map +0 -1
  929. package/dist/modules/router/handler/route.server.d.mts.map +0 -1
  930. package/dist/modules/router/handler/route.server.mjs.map +0 -1
  931. package/dist/modules/router/lib/helpers.mjs.map +0 -1
  932. package/dist/modules/router/lib/query-client.d.mts.map +0 -1
  933. package/dist/modules/router/lib/query-client.mjs.map +0 -1
  934. package/dist/modules/router/lib/query-client.server.d.mts.map +0 -1
  935. package/dist/modules/router/lib/query-client.server.mjs.map +0 -1
  936. package/dist/modules/router/lib/validators.d.mts.map +0 -1
  937. package/dist/modules/router/lib/validators.mjs.map +0 -1
  938. package/dist/modules/storage/components/dropzone-context.client.d.mts.map +0 -1
  939. package/dist/modules/storage/components/dropzone-context.client.mjs.map +0 -1
  940. package/dist/modules/storage/components/dropzone.client.d.mts.map +0 -1
  941. package/dist/modules/storage/components/dropzone.client.mjs.map +0 -1
  942. package/dist/modules/storage/components/image-grid.client.d.mts.map +0 -1
  943. package/dist/modules/storage/components/image-grid.client.mjs.map +0 -1
  944. package/dist/modules/storage/components/image.client.d.mts.map +0 -1
  945. package/dist/modules/storage/components/image.client.mjs.map +0 -1
  946. package/dist/modules/storage/components/upload-button.client.d.mts.map +0 -1
  947. package/dist/modules/storage/components/upload-button.client.mjs.map +0 -1
  948. package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +0 -1
  949. package/dist/modules/storage/components/upload-zone-context.client.mjs.map +0 -1
  950. package/dist/modules/storage/components/upload-zone.client.d.mts.map +0 -1
  951. package/dist/modules/storage/components/upload-zone.client.mjs.map +0 -1
  952. package/dist/modules/storage/lib/constants.d.mts.map +0 -1
  953. package/dist/modules/storage/lib/constants.mjs.map +0 -1
  954. package/dist/modules/storage/lib/helpers.d.mts.map +0 -1
  955. package/dist/modules/storage/lib/helpers.mjs.map +0 -1
  956. package/dist/modules/storage/lib/procedures.server.d.mts.map +0 -1
  957. package/dist/modules/storage/lib/procedures.server.mjs.map +0 -1
  958. package/dist/modules/storage/lib/router-handlers.server.d.mts.map +0 -1
  959. package/dist/modules/storage/lib/router-handlers.server.mjs.map +0 -1
  960. package/dist/modules/storage/lib/schema.d.mts.map +0 -1
  961. package/dist/modules/storage/lib/schema.mjs.map +0 -1
  962. package/dist/modules/storage/lib/service.server.d.mts.map +0 -1
  963. package/dist/modules/storage/lib/service.server.mjs.map +0 -1
  964. package/dist/modules/storage/lib/upload.client.d.mts.map +0 -1
  965. package/dist/modules/storage/lib/upload.client.mjs.map +0 -1
  966. package/dist/modules/storage/lib/validators.d.mts.map +0 -1
  967. package/dist/modules/storage/lib/validators.mjs.map +0 -1
  968. package/dist/modules/storage/providers/adapters/s3.server.d.mts.map +0 -1
  969. package/dist/modules/storage/providers/adapters/s3.server.mjs.map +0 -1
  970. package/dist/modules/storage/providers/lib/constants.d.mts.map +0 -1
  971. package/dist/modules/storage/providers/lib/constants.mjs.map +0 -1
  972. package/dist/modules/storage/providers/lib/errors.d.mts.map +0 -1
  973. package/dist/modules/storage/providers/lib/errors.mjs.map +0 -1
  974. package/dist/modules/storage/providers/lib/types.d.mts.map +0 -1
  975. package/dist/modules/storage/providers/lib/validators.d.mts.map +0 -1
  976. package/dist/modules/storage/providers/lib/validators.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.mjs","names":[],"sources":["../../../src/components/common/status.tsx"],"sourcesContent":["import type { ConfigWithIcon } from \"@/lib/types/config\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { Badge } from \"../ui/badge\";\n\n/**\n * Create status config\n */\nexport const createStatusConfig = <TStatus extends string>(config: ConfigWithIcon<TStatus>[]) =>\n config;\n\n/**\n * Find the status object from the config\n * @param {TStatus[]} values\n * @param {string} status\n * @returns {TStatus | undefined}\n */\nexport function findStatus<TStatus extends { value: string }>(\n values: TStatus[],\n status: string,\n): TStatus | undefined {\n return values.find((s) => s.value === status);\n}\n\n/**\n * Create status variants\n * @param {TStatus[]} values\n * @returns {Record<string, string>}\n */\nexport function createStatusVariants<TStatus extends string>(\n values: { value: TStatus; className: string }[],\n): Record<TStatus, string> {\n return values.reduce(\n (acc, { value, className }) => {\n acc[value] = className;\n return acc;\n },\n {} as Record<TStatus, string>,\n );\n}\n\n/**\n * Create status component props\n */\nexport type CreateStatusComponentProps<TStatus extends string> = {\n status: TStatus | null;\n};\n\n/**\n * Status component props\n */\ntype StatusComponentProps<TStatus extends string> = {\n config: ConfigWithIcon<TStatus>[];\n variants: (props: { status: TStatus }) => string;\n status: TStatus | null;\n};\n\n/**\n * Status column\n */\nexport function StatusField<TStatus extends string>(props: StatusComponentProps<TStatus>) {\n const status = findStatus(props.config, props.status ?? \"\");\n if (!status) return <div />;\n\n return (\n <div className={cn(\"flex items-center gap-2\", props.variants({ status: status.value }))}>\n <status.icon className={cn(\"size-4\", props.variants({ status: status.value }))} />\n <span>{status.label}</span>\n </div>\n );\n}\n\n/**\n * Status badge\n */\nexport function StatusBadge<TStatus extends string>(props: StatusComponentProps<TStatus>) {\n const status = findStatus(props.config, props.status ?? \"\");\n if (!status) return <div />;\n\n return (\n <Badge\n variant=\"outline\"\n className={cn(\"flex items-center gap-2\", props.variants({ status: status.value }))}\n >\n <status.icon className={cn(\"size-3\", props.variants({ status: status.value }))} />\n <span>{status.label}</span>\n </Badge>\n );\n}\n"],"mappings":";;;;;;;;AAOA,MAAa,sBAA8C,WACzD;;;;;;;AAQF,SAAgB,WACd,QACA,QACqB;AACrB,QAAO,OAAO,MAAM,MAAM,EAAE,UAAU,OAAO;;;;;;;AAQ/C,SAAgB,qBACd,QACyB;AACzB,QAAO,OAAO,QACX,KAAK,EAAE,OAAO,gBAAgB;AAC7B,MAAI,SAAS;AACb,SAAO;IAET,EAAE,CACH;;;;;AAsBH,SAAgB,YAAoC,OAAsC;CACxF,MAAM,SAAS,WAAW,MAAM,QAAQ,MAAM,UAAU,GAAG;AAC3D,KAAI,CAAC,OAAQ,QAAO,oBAAC,UAAM;AAE3B,QACE,qBAAC;EAAI,WAAW,GAAG,2BAA2B,MAAM,SAAS,EAAE,QAAQ,OAAO,OAAO,CAAC,CAAC;aACrF,oBAAC,OAAO,QAAK,WAAW,GAAG,UAAU,MAAM,SAAS,EAAE,QAAQ,OAAO,OAAO,CAAC,CAAC,GAAI,EAClF,oBAAC,oBAAM,OAAO,QAAa;GACvB;;;;;AAOV,SAAgB,YAAoC,OAAsC;CACxF,MAAM,SAAS,WAAW,MAAM,QAAQ,MAAM,UAAU,GAAG;AAC3D,KAAI,CAAC,OAAQ,QAAO,oBAAC,UAAM;AAE3B,QACE,qBAAC;EACC,SAAQ;EACR,WAAW,GAAG,2BAA2B,MAAM,SAAS,EAAE,QAAQ,OAAO,OAAO,CAAC,CAAC;aAElF,oBAAC,OAAO,QAAK,WAAW,GAAG,UAAU,MAAM,SAAS,EAAE,QAAQ,OAAO,OAAO,CAAC,CAAC,GAAI,EAClF,oBAAC,oBAAM,OAAO,QAAa;GACrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.client.d.mts","names":[],"sources":["../../../../src/components/editor/components/content.client.tsx"],"mappings":";;;iBAOgB,aAAA,CAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.client.mjs","names":["EditorContent","TiptapEditorContent"],"sources":["../../../../src/components/editor/components/content.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { EditorContent as TiptapEditorContent } from \"@tiptap/react\";\nimport { useContext } from \"react\";\nimport { TooltipProvider } from \"@/components/ui/tooltip.client\";\nimport { EditorContext } from \"./editor.client\";\n\nexport function EditorContent() {\n const { editor } = useContext(EditorContext);\n\n return (\n <TooltipProvider>\n <TiptapEditorContent editor={editor} />\n </TooltipProvider>\n );\n}\n"],"mappings":";;;;;;;;;AAOA,SAAgBA,kBAAgB;CAC9B,MAAM,EAAE,WAAW,WAAW,cAAc;AAE5C,QACE,oBAAC,6BACC,oBAACC,iBAA4B,SAAU,GACvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor.client.d.mts","names":[],"sources":["../../../../src/components/editor/components/editor.client.tsx"],"mappings":";;;;;;;;;;;;;KAuBK,kBAAA;EACH,MAAA,EAAQ,MAAA;EACR,UAAA,EAAY,4BAAA;AAAA;AAAA,cAGD,aAAA,EAAa,KAAA,CAAA,OAAA,CAAA,kBAAA;;;;cAKb,cAAA,GAAc,KAAA;;IAazB,+BAAA,CAAA,SAAA;;AAlBF;;KAuBY,WAAA,GAAc,YAAA,QAAoB,cAAA,IAC5C,IAAA,CAAK,aAAA,iCACL,iBAAA;EACE,KAAA,GAAQ,OAAA;EACR,UAAA,GAAa,OAAA,CAAQ,sBAAA;EACrB,QAAA,IAAY,KAAA,EAAO,iBAAA;EACnB,MAAA,IAAU,KAAA,EAAO,iBAAA;EACjB,QAAA;EACA,SAAA;AAAA;AAAA,iBAGY,QAAA,CAAA;EACd,KAAA;EACA,UAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,SAAA;EACA,QAAA;EACA;AAAA,GACC,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor.client.mjs","names":["Editor"],"sources":["../../../../src/components/editor/components/editor.client.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type Content,\n type Editor as TiptapEditor,\n type EditorOptions as TiptapEditorOptions,\n useEditor,\n} from \"@tiptap/react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { createContext, type PropsWithChildren } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\nimport {\n type EditorExtensionsConfig,\n type EditorExtensionsConfigResult,\n editorExtensionsConfigToExtensions,\n flattenEditorExtensionsConfig,\n} from \"../lib/extensions\";\nimport type { EditorJSONContent } from \"../lib/types\";\nimport { editorImageVariants, editorProseVariants } from \"../lib/variants\";\n\n/**\n * Editor context\n */\ntype EditorContextValue = {\n editor: TiptapEditor;\n extensions: EditorExtensionsConfigResult;\n};\n\nexport const EditorContext = createContext({} as EditorContextValue);\n\n/**\n * Editor variants\n */\nexport const editorVariants = cva(\"\", {\n variants: {\n variant: {\n default:\n \"border-input rounded-lg border [&_.editor-content]:p-3 [&_.editor-content[contenteditable='false']]:pointer-events-none [&_.editor-content[contenteditable='false']]:cursor-not-allowed [&_.editor-content[contenteditable='false']]:opacity-50\",\n table:\n \"[&_.editor-content[contenteditable='false']]:pointer-events-none [&_.editor-content[contenteditable='false']]:cursor-not-allowed [&_.editor-content[contenteditable='false']]:opacity-50\",\n preview: \"bg-transparent [&_.editor-content]:p-0 [&_.editor-content]:min-h-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\n/**\n * Editor context provider\n */\nexport type EditorProps = VariantProps<typeof editorVariants> &\n Pick<TiptapEditorOptions[\"editorProps\"], \"attributes\"> &\n PropsWithChildren<{\n value?: Content;\n extensions?: Partial<EditorExtensionsConfig>;\n onUpdate?: (value: EditorJSONContent) => void;\n onBlur?: (value: EditorJSONContent) => void;\n disabled?: boolean;\n className?: string;\n }>;\n\nexport function Editor({\n value,\n extensions,\n onUpdate,\n onBlur,\n disabled,\n variant,\n className,\n children,\n attributes,\n}: EditorProps) {\n const editor = useEditor({\n extensions: editorExtensionsConfigToExtensions(extensions),\n content: value,\n onUpdate: ({ editor }) => onUpdate?.(editor.getJSON()),\n onBlur: ({ editor }) => onBlur?.(editor.getJSON()),\n editable: !disabled,\n injectCSS: false,\n immediatelyRender: false,\n editorProps: {\n transformPastedHTML: (html) => html.replace(/<img.*?>/g, \"\"),\n attributes: {\n ...attributes,\n class: cn(\n \"editor-content text-sm max-w-full focus:outline-none\",\n editorProseVariants(),\n editorImageVariants(),\n className,\n ),\n },\n },\n });\n\n if (!editor) return null;\n\n return (\n <EditorContext.Provider\n value={{\n editor,\n extensions: flattenEditorExtensionsConfig(extensions),\n }}\n >\n <div className={editorVariants({ variant })}>{children}</div>\n </EditorContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AA4BA,MAAa,gBAAgB,cAAc,EAAE,CAAuB;;;;AAKpE,MAAa,iBAAiB,IAAI,IAAI;CACpC,UAAU,EACR,SAAS;EACP,SACE;EACF,OACE;EACF,SAAS;EACV,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CAAC;AAgBF,SAAgBA,SAAO,EACrB,OACA,YACA,UACA,QACA,UACA,SACA,WACA,UACA,cACc;CACd,MAAM,SAAS,UAAU;EACvB,YAAY,mCAAmC,WAAW;EAC1D,SAAS;EACT,WAAW,EAAE,aAAa,WAAW,OAAO,SAAS,CAAC;EACtD,SAAS,EAAE,aAAa,SAAS,OAAO,SAAS,CAAC;EAClD,UAAU,CAAC;EACX,WAAW;EACX,mBAAmB;EACnB,aAAa;GACX,sBAAsB,SAAS,KAAK,QAAQ,aAAa,GAAG;GAC5D,YAAY;IACV,GAAG;IACH,OAAO,GACL,wDACA,qBAAqB,EACrB,qBAAqB,EACrB,UACD;IACF;GACF;EACF,CAAC;AAEF,KAAI,CAAC,OAAQ,QAAO;AAEpB,QACE,oBAAC,cAAc;EACb,OAAO;GACL;GACA,YAAY,8BAA8B,WAAW;GACtD;YAED,oBAAC;GAAI,WAAW,eAAe,EAAE,SAAS,CAAC;GAAG;IAAe;GACtC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-nodes.client.mjs","names":[],"sources":["../../../../src/components/editor/components/menu-nodes.client.tsx"],"sourcesContent":["import type { Editor } from \"@tiptap/react\";\nimport {\n ChevronDown,\n Heading1Icon,\n Heading2Icon,\n Heading3Icon,\n Heading4Icon,\n Heading5Icon,\n ListIcon,\n ListOrderedIcon,\n TextIcon,\n} from \"lucide-react\";\nimport { useContext } from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu.client\";\nimport type { EditorExtensionsConfigResult } from \"../lib/extensions\";\nimport { EditorContext } from \"./editor.client\";\n\nconst blocks = [\n {\n label: \"Paragraaf\",\n icon: TextIcon,\n selected: (editor: Editor) => editor.isActive(\"paragraph\"),\n handler: (editor: Editor) => editor.commands.setParagraph(),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.paragraph,\n },\n {\n label: \"Titel 1\",\n icon: Heading1Icon,\n selected: (editor: Editor) => editor.isActive(\"heading\", { level: 1 }),\n handler: (editor: Editor) => editor.commands.setHeading({ level: 1 }),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.heading,\n },\n {\n label: \"Titel 2\",\n icon: Heading2Icon,\n selected: (editor: Editor) => editor.isActive(\"heading\", { level: 2 }),\n handler: (editor: Editor) => editor.commands.setHeading({ level: 2 }),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.heading,\n },\n {\n label: \"Titel 3\",\n icon: Heading3Icon,\n selected: (editor: Editor) => editor.isActive(\"heading\", { level: 3 }),\n handler: (editor: Editor) => editor.commands.setHeading({ level: 3 }),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.heading,\n },\n {\n label: \"Titel 4\",\n icon: Heading4Icon,\n selected: (editor: Editor) => editor.isActive(\"heading\", { level: 4 }),\n handler: (editor: Editor) => editor.commands.setHeading({ level: 4 }),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.heading,\n },\n {\n label: \"Titel 5\",\n icon: Heading5Icon,\n selected: (editor: Editor) => editor.isActive(\"heading\", { level: 5 }),\n handler: (editor: Editor) => editor.commands.setHeading({ level: 5 }),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.heading,\n },\n {\n label: \"Numbered List\",\n icon: ListOrderedIcon,\n selected: (editor: Editor) => editor.isActive(\"orderedList\"),\n handler: (editor: Editor) => editor.commands.toggleOrderedList(),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.orderedList,\n },\n {\n label: \"Bulleted List\",\n icon: ListIcon,\n selected: (editor: Editor) => editor.isActive(\"bulletList\"),\n handler: (editor: Editor) => editor.commands.toggleBulletList(),\n hidden: (extensions: EditorExtensionsConfigResult) => !extensions.bulletList,\n },\n];\n\nexport function EditorMenuNodes() {\n const { editor, extensions } = useContext(EditorContext);\n\n const selectedBlock = blocks.find((block) => block.selected(editor));\n const Icon = selectedBlock?.icon;\n\n const filteredBlocks = blocks.filter((block) => !block.hidden(extensions));\n\n if (filteredBlocks.length === 0) return null;\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"flex items-center gap-8 p-2\">\n <span className=\"flex items-center gap-2\">\n {Icon && <Icon className=\"size-3.5\" />}\n {selectedBlock?.label ?? \"Select a block\"}\n </span>\n\n <ChevronDown className=\"size-3.5\" />\n </Button>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent>\n {filteredBlocks.map(({ label, icon: Icon, handler }) => (\n <DropdownMenuItem\n key={label}\n onClick={() => handler(editor)}\n className=\"flex items-center gap-2\"\n >\n {Icon && <Icon className=\"size-3.5\" />}\n {label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"mappings":";;;;;;;;AAuBA,MAAM,SAAS;CACb;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,YAAY;EAC1D,UAAU,WAAmB,OAAO,SAAS,cAAc;EAC3D,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACtE,UAAU,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACrE,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACtE,UAAU,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACrE,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACtE,UAAU,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACrE,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACtE,UAAU,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACrE,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACtE,UAAU,WAAmB,OAAO,SAAS,WAAW,EAAE,OAAO,GAAG,CAAC;EACrE,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,cAAc;EAC5D,UAAU,WAAmB,OAAO,SAAS,mBAAmB;EAChE,SAAS,eAA6C,CAAC,WAAW;EACnE;CACD;EACE,OAAO;EACP,MAAM;EACN,WAAW,WAAmB,OAAO,SAAS,aAAa;EAC3D,UAAU,WAAmB,OAAO,SAAS,kBAAkB;EAC/D,SAAS,eAA6C,CAAC,WAAW;EACnE;CACF;AAED,SAAgB,kBAAkB;CAChC,MAAM,EAAE,QAAQ,eAAe,WAAW,cAAc;CAExD,MAAM,gBAAgB,OAAO,MAAM,UAAU,MAAM,SAAS,OAAO,CAAC;CACpE,MAAM,OAAO,eAAe;CAE5B,MAAM,iBAAiB,OAAO,QAAQ,UAAU,CAAC,MAAM,OAAO,WAAW,CAAC;AAE1E,KAAI,eAAe,WAAW,EAAG,QAAO;AAExC,QACE,qBAAC,2BACC,oBAAC;EAAoB;YACnB,qBAAC;GAAO,SAAQ;GAAU,MAAK;GAAK,WAAU;cAC5C,qBAAC;IAAK,WAAU;eACb,QAAQ,oBAAC,QAAK,WAAU,aAAa,EACrC,eAAe,SAAS;KACpB,EAEP,oBAAC,eAAY,WAAU,aAAa;IAC7B;GACW,EAEtB,oBAAC,iCACE,eAAe,KAAK,EAAE,OAAO,MAAM,MAAM,cACxC,qBAAC;EAEC,eAAe,QAAQ,OAAO;EAC9B,WAAU;aAET,QAAQ,oBAAC,QAAK,WAAU,aAAa,EACrC;IALI,MAMY,CACnB,GACkB,IACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.client.d.mts","names":[],"sources":["../../../../src/components/editor/components/menu.client.tsx"],"mappings":";;;;;iBAoBgB,eAAA,CAAgB,KAAA,EAAO,KAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBlD,gBAAA,CAAiB,KAAA,EAAO,cAAA,QAAsB,UAAA,IAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.client.mjs","names":[],"sources":["../../../../src/components/editor/components/menu.client.tsx"],"sourcesContent":["import { BubbleMenu } from \"@tiptap/react/menus\";\nimport {\n BaselineIcon,\n BoldIcon,\n EraserIcon,\n ItalicIcon,\n PaintBucketIcon,\n RedoIcon,\n StrikethroughIcon,\n UnderlineIcon,\n UndoIcon,\n} from \"lucide-react\";\nimport { type ComponentProps, type PropsWithChildren, useContext } from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { ColorPicker } from \"@/components/ui/color-picker.client\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover.client\";\nimport { cn } from \"@/lib/entry\";\nimport { EditorContext } from \"./editor.client\";\nimport { EditorMenuNodes } from \"./menu-nodes.client\";\n\nexport function EditorMenuFixed(props: React.ComponentProps<\"div\">) {\n return (\n <div\n {...props}\n className={cn(\"z-10 overflow-auto border-input border-b bg-muted/30 p-2\", props.className)}\n >\n <EditorMenuContent>\n <EditorMenuUndoRedo />\n <EditorMenuNodes />\n <EditorMenuMarks />\n <EditorMenuColor />\n </EditorMenuContent>\n </div>\n );\n}\n\nexport function EditorMenuBubble(props: ComponentProps<typeof BubbleMenu>) {\n const { editor } = useContext(EditorContext);\n\n return (\n <BubbleMenu\n {...props}\n editor={editor}\n options={{ ...props.options, strategy: \"fixed\" }}\n className={cn(\"z-10 rounded-lg border border-input bg-muted p-2\", props.className)}\n >\n <EditorMenuContent>\n <EditorMenuMarks />\n </EditorMenuContent>\n </BubbleMenu>\n );\n}\n\nfunction EditorMenuContent(props: PropsWithChildren) {\n return <div className=\"flex items-center gap-6\">{props.children}</div>;\n}\n\n/**\n * Editor menu undo/redo\n */\nfunction EditorMenuUndoRedo() {\n const { editor, extensions } = useContext(EditorContext);\n\n if (!extensions.undoRedo) return null;\n\n return (\n <div className=\"flex items-center gap-1\">\n <Button\n onClick={() => editor.commands.undo()}\n disabled={!editor?.can().undo()}\n type=\"button\"\n aria-label=\"Undo\"\n size=\"icon\"\n className=\"p-2\"\n variant=\"outline\"\n >\n <UndoIcon className=\"size-3.5\" />\n </Button>\n\n <Button\n onClick={() => editor.commands.redo()}\n disabled={!editor?.can().redo()}\n type=\"button\"\n aria-label=\"Redo\"\n size=\"icon\"\n className=\"p-2\"\n variant=\"outline\"\n >\n <RedoIcon className=\"size-3.5\" />\n </Button>\n </div>\n );\n}\n\n/**\n * Editor menu marks\n */\nfunction EditorMenuMarks() {\n const { editor, extensions } = useContext(EditorContext);\n\n if (!extensions.bold && !extensions.italic && !extensions.underline && !extensions.strike) {\n return null;\n }\n\n return (\n <div className=\"flex items-center gap-1\">\n {extensions.bold && (\n <Button\n type=\"button\"\n size=\"icon\"\n variant={editor?.isActive(\"bold\") ? \"secondary\" : \"outline\"}\n onClick={() => editor.chain().focus().toggleBold().run()}\n className=\"border\"\n >\n <BoldIcon className=\"h-3.5 w-3.5\" />\n </Button>\n )}\n\n {extensions.italic && (\n <Button\n type=\"button\"\n size=\"icon\"\n variant={editor?.isActive(\"italic\") ? \"secondary\" : \"outline\"}\n onClick={() => editor.chain().focus().toggleItalic().run()}\n className=\"border\"\n >\n <ItalicIcon className=\"size-3.5\" />\n </Button>\n )}\n\n {extensions.underline && (\n <Button\n type=\"button\"\n size=\"icon\"\n variant={editor?.isActive(\"underline\") ? \"secondary\" : \"outline\"}\n onClick={() => editor.chain().focus().toggleUnderline().run()}\n className=\"border\"\n >\n <UnderlineIcon className=\"size-3.5\" />\n </Button>\n )}\n\n {extensions.strike && (\n <Button\n type=\"button\"\n size=\"icon\"\n variant={editor?.isActive(\"strike\") ? \"secondary\" : \"outline\"}\n onClick={() => editor.chain().focus().toggleStrike().run()}\n className=\"border\"\n >\n <StrikethroughIcon className=\"size-3.5\" />\n </Button>\n )}\n </div>\n );\n}\n\n/**\n * Editor menu alignment\n */\nfunction EditorMenuColor() {\n const { editor, extensions } = useContext(EditorContext);\n\n if (!extensions.color && !extensions.highlight) {\n return null;\n }\n\n return (\n <div className=\"flex items-center gap-1\">\n {extensions.color && (\n <Popover>\n <PopoverTrigger asChild>\n <Button size=\"icon\" variant=\"outline\">\n <BaselineIcon className=\"size-3.5\" />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent className=\"w-fit p-0\">\n <ColorPicker onValueChange={(color) => editor.chain().focus().setColor(color).run()} />\n </PopoverContent>\n </Popover>\n )}\n\n {extensions.highlight && (\n <Popover>\n <PopoverTrigger asChild>\n <Button size=\"icon\" variant=\"outline\" disabled={!editor?.can().setHighlight()}>\n <PaintBucketIcon className=\"size-3.5\" />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent className=\"w-fit p-0\">\n <ColorPicker\n onValueChange={(color) => editor.chain().focus().setHighlight({ color }).run()}\n />\n </PopoverContent>\n </Popover>\n )}\n\n <Button\n type=\"button\"\n size=\"icon\"\n variant=\"outline\"\n className=\"border\"\n onClick={() => {\n editor.commands.unsetColor();\n editor.commands.unsetHighlight();\n }}\n >\n <EraserIcon className=\"h-4 w-4\" />\n </Button>\n </div>\n );\n}\n\n/**\n * Editor menu image\n */\n// function EditorMenuImage() {\n// const { editor, extensions } = useContext(EditorContext);\n\n// if (!extensions.image) return null;\n\n// return (\n// <div className=\"flex items-center gap-1\">\n// {extensions.image && (\n// <Button\n// type=\"button\"\n// size=\"icon\"\n// variant=\"outline\"\n// onClick={() => editor.chain().focus().downloadImage().run()}\n// disabled={!editor?.can().downloadImage()}\n// className=\"border\"\n// >\n// <DownloadIcon className=\"size-3.5\" />\n// </Button>\n// )}\n// </div>\n// );\n// }\n"],"mappings":";;;;;;;;;;;;AAoBA,SAAgB,gBAAgB,OAAoC;AAClE,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GAAG,4DAA4D,MAAM,UAAU;YAE1F,qBAAC;GACC,oBAAC,uBAAqB;GACtB,oBAAC,oBAAkB;GACnB,oBAAC,oBAAkB;GACnB,oBAAC,oBAAkB;MACD;GAChB;;AAIV,SAAgB,iBAAiB,OAA0C;CACzE,MAAM,EAAE,WAAW,WAAW,cAAc;AAE5C,QACE,oBAAC;EACC,GAAI;EACI;EACR,SAAS;GAAE,GAAG,MAAM;GAAS,UAAU;GAAS;EAChD,WAAW,GAAG,oDAAoD,MAAM,UAAU;YAElF,oBAAC,+BACC,oBAAC,oBAAkB,GACD;GACT;;AAIjB,SAAS,kBAAkB,OAA0B;AACnD,QAAO,oBAAC;EAAI,WAAU;YAA2B,MAAM;GAAe;;;;;AAMxE,SAAS,qBAAqB;CAC5B,MAAM,EAAE,QAAQ,eAAe,WAAW,cAAc;AAExD,KAAI,CAAC,WAAW,SAAU,QAAO;AAEjC,QACE,qBAAC;EAAI,WAAU;aACb,oBAAC;GACC,eAAe,OAAO,SAAS,MAAM;GACrC,UAAU,CAAC,QAAQ,KAAK,CAAC,MAAM;GAC/B,MAAK;GACL,cAAW;GACX,MAAK;GACL,WAAU;GACV,SAAQ;aAER,oBAAC,YAAS,WAAU,aAAa;IAC1B,EAET,oBAAC;GACC,eAAe,OAAO,SAAS,MAAM;GACrC,UAAU,CAAC,QAAQ,KAAK,CAAC,MAAM;GAC/B,MAAK;GACL,cAAW;GACX,MAAK;GACL,WAAU;GACV,SAAQ;aAER,oBAAC,YAAS,WAAU,aAAa;IAC1B;GACL;;;;;AAOV,SAAS,kBAAkB;CACzB,MAAM,EAAE,QAAQ,eAAe,WAAW,cAAc;AAExD,KAAI,CAAC,WAAW,QAAQ,CAAC,WAAW,UAAU,CAAC,WAAW,aAAa,CAAC,WAAW,OACjF,QAAO;AAGT,QACE,qBAAC;EAAI,WAAU;;GACZ,WAAW,QACV,oBAAC;IACC,MAAK;IACL,MAAK;IACL,SAAS,QAAQ,SAAS,OAAO,GAAG,cAAc;IAClD,eAAe,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK;IACxD,WAAU;cAEV,oBAAC,YAAS,WAAU,gBAAgB;KAC7B;GAGV,WAAW,UACV,oBAAC;IACC,MAAK;IACL,MAAK;IACL,SAAS,QAAQ,SAAS,SAAS,GAAG,cAAc;IACpD,eAAe,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK;IAC1D,WAAU;cAEV,oBAAC,cAAW,WAAU,aAAa;KAC5B;GAGV,WAAW,aACV,oBAAC;IACC,MAAK;IACL,MAAK;IACL,SAAS,QAAQ,SAAS,YAAY,GAAG,cAAc;IACvD,eAAe,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK;IAC7D,WAAU;cAEV,oBAAC,iBAAc,WAAU,aAAa;KAC/B;GAGV,WAAW,UACV,oBAAC;IACC,MAAK;IACL,MAAK;IACL,SAAS,QAAQ,SAAS,SAAS,GAAG,cAAc;IACpD,eAAe,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK;IAC1D,WAAU;cAEV,oBAAC,qBAAkB,WAAU,aAAa;KACnC;;GAEP;;;;;AAOV,SAAS,kBAAkB;CACzB,MAAM,EAAE,QAAQ,eAAe,WAAW,cAAc;AAExD,KAAI,CAAC,WAAW,SAAS,CAAC,WAAW,UACnC,QAAO;AAGT,QACE,qBAAC;EAAI,WAAU;;GACZ,WAAW,SACV,qBAAC,sBACC,oBAAC;IAAe;cACd,oBAAC;KAAO,MAAK;KAAO,SAAQ;eAC1B,oBAAC,gBAAa,WAAU,aAAa;MAC9B;KACM,EAEjB,oBAAC;IAAe,WAAU;cACxB,oBAAC,eAAY,gBAAgB,UAAU,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,KAAK,GAAI;KACxE,IACT;GAGX,WAAW,aACV,qBAAC,sBACC,oBAAC;IAAe;cACd,oBAAC;KAAO,MAAK;KAAO,SAAQ;KAAU,UAAU,CAAC,QAAQ,KAAK,CAAC,cAAc;eAC3E,oBAAC,mBAAgB,WAAU,aAAa;MACjC;KACM,EAEjB,oBAAC;IAAe,WAAU;cACxB,oBAAC,eACC,gBAAgB,UAAU,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,KAAK,GAC9E;KACa,IACT;GAGZ,oBAAC;IACC,MAAK;IACL,MAAK;IACL,SAAQ;IACR,WAAU;IACV,eAAe;AACb,YAAO,SAAS,YAAY;AAC5B,YAAO,SAAS,gBAAgB;;cAGlC,oBAAC,cAAW,WAAU,YAAY;KAC3B;;GACL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.d.mts","names":[],"sources":["../../../../../src/components/editor/extensions/file-handler/extension.ts"],"mappings":";;;;UASiB,oBAAA,SAA2B,kBAAA;;;AAA5C;;;EAME,kBAAA,IAAsB,OAAA;EANoB;;;;;EAa1C,gBAAA,IAAoB,OAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.mjs","names":["FileHandler","TiptapFileHandler"],"sources":["../../../../../src/components/editor/extensions/file-handler/extension.ts"],"sourcesContent":["\"use client\";\n\nimport {\n FileHandler as TiptapFileHandler,\n type FileHandlerOptions as TiptapFileHandlerOptions,\n} from \"@tiptap/extension-file-handler\";\nimport { Plugin, PluginKey } from \"@tiptap/pm/state\";\nimport { collectImageIds, diffIds } from \"./utils\";\n\nexport interface FileHandlerOptions extends TiptapFileHandlerOptions {\n /**\n * Callback function invoked when a image reference is removed from the editor. Receives the node ID of the removed node.\n * @type {(assetId: string) => void}\n * @default undefined\n **/\n onReferenceRemoved?: (assetId: string) => void;\n\n /**\n * Callback function invoked when a image reference is added to the editor. Receives the node ID of the added node.\n * @type {(assetId: string) => void}\n * @default undefined\n **/\n onReferenceAdded?: (assetId: string) => void;\n}\n\n/**\n * File Handler extension for Tiptap Editor\n */\nexport const FileHandler = TiptapFileHandler.extend<FileHandlerOptions>({\n addOptions() {\n return {\n ...this.parent?.(),\n onReferenceRemoved: undefined,\n onReferenceAdded: undefined,\n };\n },\n addProseMirrorPlugins() {\n const parent = this.parent?.() ?? [];\n const key = new PluginKey(\"fileHandlerItemTracker\");\n\n return [\n ...parent,\n new Plugin({\n key,\n appendTransaction: (trs, oldState, newState) => {\n if (!trs.some((tr) => tr.docChanged)) return null;\n\n const onReferenceRemoved = this.options.onReferenceRemoved;\n const onReferenceAdded = this.options.onReferenceAdded;\n if (!onReferenceRemoved && !onReferenceAdded) return null;\n\n const before = collectImageIds(oldState.doc);\n const after = collectImageIds(newState.doc);\n const { removed, added } = diffIds(before, after);\n\n for (const id of removed) {\n onReferenceRemoved?.(id);\n }\n\n for (const id of added) {\n onReferenceAdded?.(id);\n }\n\n return null;\n },\n }),\n ];\n },\n});\n"],"mappings":";;;;;;;;;;AA4BA,MAAaA,gBAAcC,YAAkB,OAA2B;CACtE,aAAa;AACX,SAAO;GACL,GAAG,KAAK,UAAU;GAClB,oBAAoB;GACpB,kBAAkB;GACnB;;CAEH,wBAAwB;EACtB,MAAM,SAAS,KAAK,UAAU,IAAI,EAAE;EACpC,MAAM,MAAM,IAAI,UAAU,yBAAyB;AAEnD,SAAO,CACL,GAAG,QACH,IAAI,OAAO;GACT;GACA,oBAAoB,KAAK,UAAU,aAAa;AAC9C,QAAI,CAAC,IAAI,MAAM,OAAO,GAAG,WAAW,CAAE,QAAO;IAE7C,MAAM,qBAAqB,KAAK,QAAQ;IACxC,MAAM,mBAAmB,KAAK,QAAQ;AACtC,QAAI,CAAC,sBAAsB,CAAC,iBAAkB,QAAO;IAIrD,MAAM,EAAE,SAAS,UAAU,QAFZ,gBAAgB,SAAS,IAAI,EAC9B,gBAAgB,SAAS,IAAI,CACM;AAEjD,SAAK,MAAM,MAAM,QACf,sBAAqB,GAAG;AAG1B,SAAK,MAAM,MAAM,MACf,oBAAmB,GAAG;AAGxB,WAAO;;GAEV,CAAC,CACH;;CAEJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"strategy.d.mts","names":[],"sources":["../../../../../src/components/editor/extensions/file-handler/strategy.ts"],"mappings":";;;;;;;AAIsD;KAKjD,oCAAA;EACH,SAAA,EAAW,IAAA,CAAK,kBAAA;EAChB,YAAA,EAAc,YAAA;EACd,WAAA,GAAc,WAAA;EACd,gBAAA;EACA,iBAAA,IAAqB,KAAA,EAAO,YAAA,KAAiB,OAAA;EAC7C,cAAA,IAAkB,KAAA,cAAmB,OAAA;AAAA;AAAA,iBAGvB,+BAAA,CAAA;EACd,SAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;EACA,cAAA;EACA;AAAA,GACC,oCAAA,GAAuC,kBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"strategy.mjs","names":[],"sources":["../../../../../src/components/editor/extensions/file-handler/strategy.ts"],"sourcesContent":["import type { Editor } from \"@tiptap/core\";\nimport { TextSelection } from \"@tiptap/pm/state\";\nimport type { UploadClient, UploadHooks } from \"@/modules/storage/lib/upload.client\";\nimport type { PresignUploadInput, StorageAsset } from \"@/modules/storage/lib/validators\";\nimport type { FileHandlerOptions } from \"./extension\";\n\n/**\n * Handle File Handler props\n */\ntype CreateFileHandlerUploadStrategyProps = {\n variables: Pick<PresignUploadInput, \"visibility\" | \"metadata\">;\n uploadClient: UploadClient;\n uploadHooks?: UploadHooks;\n allowedMimeTypes?: string[];\n onUploadCompleted?: (asset: StorageAsset) => Promise<void> | void;\n onUploadFailed?: (error: unknown) => Promise<void> | void;\n};\n\nexport function createFileHandlerUploadStrategy({\n variables,\n uploadClient,\n uploadHooks,\n onUploadCompleted,\n onUploadFailed,\n allowedMimeTypes,\n}: CreateFileHandlerUploadStrategyProps): FileHandlerOptions {\n const handleUpload = async (editor: Editor, files: File[], startPos: number) => {\n const insertPos = startPos;\n\n for (const file of files) {\n /**\n * Prepare upload\n */\n const input = uploadClient.prepareUpload({ file, ...variables });\n\n const imageType = editor.schema.nodes.image;\n if (!imageType) {\n console.error(\"Image type not found\");\n return;\n }\n\n try {\n /**\n * Create skeleton node\n */\n const skeletonNode = editor.schema.nodes.skeleton?.create({\n imageNodeId: input.uploadId,\n width: 500,\n height: 500,\n });\n\n /**\n * Insert skeleton node into the document\n */\n if (skeletonNode) {\n const tr = editor.state.tr.insert(insertPos, skeletonNode);\n tr.setSelection(TextSelection.create(tr.doc, insertPos + skeletonNode.nodeSize));\n tr.setMeta(\"addToHistory\", false);\n editor.view.dispatch(tr);\n }\n\n /**\n * Upload the file\n */\n const asset = await uploadClient.upload(input, uploadHooks);\n\n /**\n * Replace skeleton with image node\n */\n const replacedTr = editor.state.tr;\n let replaced = false;\n\n replacedTr.doc.descendants((node, pos) => {\n if (node.type.name === \"skeleton\" && node.attrs?.imageNodeId === input.uploadId) {\n const imageNode = imageType.create({\n assetId: asset.id,\n alt: file.name,\n fileName: file.name,\n width: node.attrs.width ?? 500,\n });\n\n replacedTr.replaceWith(pos, pos + node.nodeSize, imageNode);\n replaced = true;\n return false;\n }\n });\n\n if (replaced) {\n editor.view.dispatch(replacedTr);\n } else {\n // In case skeleton is not found, insert the image node at the original position\n const tr = editor.state.tr;\n const imageNode = imageType.create({\n assetId: asset.id,\n alt: file.name,\n fileName: file.name,\n width: 500,\n });\n tr.insert(insertPos, imageNode);\n editor.view.dispatch(tr);\n }\n\n await onUploadCompleted?.(asset);\n } catch (err) {\n console.error(\"Upload error:\", err);\n\n /**\n * Remove the pending image node from the document\n */\n const tr = editor.state.tr;\n tr.doc.descendants((node, pos) => {\n if (node.type.name === \"skeleton\" && node.attrs?.imageNodeId === input.uploadId) {\n tr.delete(pos, pos + node.nodeSize);\n return false;\n }\n });\n editor.view.dispatch(tr);\n\n await onUploadFailed?.(err);\n }\n }\n };\n\n return {\n allowedMimeTypes,\n onDrop: async (editor, files, pos) => {\n await handleUpload(editor, files, pos);\n },\n onPaste: async (editor, files, htmlContent) => {\n if (htmlContent?.length) return;\n\n const startPos = editor.state.selection.anchor;\n await handleUpload(editor, files, startPos);\n },\n onReferenceRemoved: async (assetId) => {\n await uploadClient.deleteAsset(assetId);\n },\n onReferenceAdded: async (assetId) => {\n await uploadClient.restoreAsset(assetId);\n },\n };\n}\n"],"mappings":";;;AAkBA,SAAgB,gCAAgC,EAC9C,WACA,cACA,aACA,mBACA,gBACA,oBAC2D;CAC3D,MAAM,eAAe,OAAO,QAAgB,OAAe,aAAqB;EAC9E,MAAM,YAAY;AAElB,OAAK,MAAM,QAAQ,OAAO;;;;GAIxB,MAAM,QAAQ,aAAa,cAAc;IAAE;IAAM,GAAG;IAAW,CAAC;GAEhE,MAAM,YAAY,OAAO,OAAO,MAAM;AACtC,OAAI,CAAC,WAAW;AACd,YAAQ,MAAM,uBAAuB;AACrC;;AAGF,OAAI;;;;IAIF,MAAM,eAAe,OAAO,OAAO,MAAM,UAAU,OAAO;KACxD,aAAa,MAAM;KACnB,OAAO;KACP,QAAQ;KACT,CAAC;;;;AAKF,QAAI,cAAc;KAChB,MAAM,KAAK,OAAO,MAAM,GAAG,OAAO,WAAW,aAAa;AAC1D,QAAG,aAAa,cAAc,OAAO,GAAG,KAAK,YAAY,aAAa,SAAS,CAAC;AAChF,QAAG,QAAQ,gBAAgB,MAAM;AACjC,YAAO,KAAK,SAAS,GAAG;;;;;IAM1B,MAAM,QAAQ,MAAM,aAAa,OAAO,OAAO,YAAY;;;;IAK3D,MAAM,aAAa,OAAO,MAAM;IAChC,IAAI,WAAW;AAEf,eAAW,IAAI,aAAa,MAAM,QAAQ;AACxC,SAAI,KAAK,KAAK,SAAS,cAAc,KAAK,OAAO,gBAAgB,MAAM,UAAU;MAC/E,MAAM,YAAY,UAAU,OAAO;OACjC,SAAS,MAAM;OACf,KAAK,KAAK;OACV,UAAU,KAAK;OACf,OAAO,KAAK,MAAM,SAAS;OAC5B,CAAC;AAEF,iBAAW,YAAY,KAAK,MAAM,KAAK,UAAU,UAAU;AAC3D,iBAAW;AACX,aAAO;;MAET;AAEF,QAAI,SACF,QAAO,KAAK,SAAS,WAAW;SAC3B;KAEL,MAAM,KAAK,OAAO,MAAM;KACxB,MAAM,YAAY,UAAU,OAAO;MACjC,SAAS,MAAM;MACf,KAAK,KAAK;MACV,UAAU,KAAK;MACf,OAAO;MACR,CAAC;AACF,QAAG,OAAO,WAAW,UAAU;AAC/B,YAAO,KAAK,SAAS,GAAG;;AAG1B,UAAM,oBAAoB,MAAM;YACzB,KAAK;AACZ,YAAQ,MAAM,iBAAiB,IAAI;;;;IAKnC,MAAM,KAAK,OAAO,MAAM;AACxB,OAAG,IAAI,aAAa,MAAM,QAAQ;AAChC,SAAI,KAAK,KAAK,SAAS,cAAc,KAAK,OAAO,gBAAgB,MAAM,UAAU;AAC/E,SAAG,OAAO,KAAK,MAAM,KAAK,SAAS;AACnC,aAAO;;MAET;AACF,WAAO,KAAK,SAAS,GAAG;AAExB,UAAM,iBAAiB,IAAI;;;;AAKjC,QAAO;EACL;EACA,QAAQ,OAAO,QAAQ,OAAO,QAAQ;AACpC,SAAM,aAAa,QAAQ,OAAO,IAAI;;EAExC,SAAS,OAAO,QAAQ,OAAO,gBAAgB;AAC7C,OAAI,aAAa,OAAQ;GAEzB,MAAM,WAAW,OAAO,MAAM,UAAU;AACxC,SAAM,aAAa,QAAQ,OAAO,SAAS;;EAE7C,oBAAoB,OAAO,YAAY;AACrC,SAAM,aAAa,YAAY,QAAQ;;EAEzC,kBAAkB,OAAO,YAAY;AACnC,SAAM,aAAa,aAAa,QAAQ;;EAE3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../../src/components/editor/extensions/file-handler/utils.ts"],"sourcesContent":["import type { Node } from \"@tiptap/pm/model\";\n\n/**\n * Collects and counts all image node IDs from a document.\n *\n * @param doc - The document node to traverse and analyze\n * @returns A Map where keys are image node IDs and values are their occurrence counts\n *\n * @example\n * const imageCounts = collectImageIds(editorDoc);\n * imageCounts.forEach((count, imageId) => {\n * console.info(`Image ${imageId} appears ${count} times`);\n * });\n */\nexport function collectImageIds(doc: Node): Map<string, number> {\n const counts = new Map<string, number>();\n\n doc.descendants((node) => {\n if (node.type.name !== \"image\") return;\n\n const id = node.attrs?.assetId;\n if (!id) return;\n\n counts.set(id, (counts.get(id) ?? 0) + 1);\n });\n\n return counts;\n}\n\n/**\n * Compares two maps of string keys to numeric values and identifies which keys have been removed or restored.\n * @param before - A Map containing the previous state of string keys with their associated numeric values\n * @param after - A Map containing the current state of string keys with their associated numeric values\n * @returns An object containing two arrays:\n * - `removed`: Array of keys where the numeric value decreased (or was deleted)\n * - `restored`: Array of keys where the numeric value increased\n */\nexport function diffIds(before: Map<string, number>, after: Map<string, number>) {\n const removed: string[] = [];\n const added: string[] = [];\n\n const keys = new Set([...before.keys(), ...after.keys()]);\n\n for (const key of keys) {\n const b = before.get(key) ?? 0;\n const a = after.get(key) ?? 0;\n\n if (a < b) removed.push(key);\n if (a > b) added.push(key);\n }\n\n return { removed, added };\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,gBAAgB,KAAgC;CAC9D,MAAM,yBAAS,IAAI,KAAqB;AAExC,KAAI,aAAa,SAAS;AACxB,MAAI,KAAK,KAAK,SAAS,QAAS;EAEhC,MAAM,KAAK,KAAK,OAAO;AACvB,MAAI,CAAC,GAAI;AAET,SAAO,IAAI,KAAK,OAAO,IAAI,GAAG,IAAI,KAAK,EAAE;GACzC;AAEF,QAAO;;;;;;;;;;AAWT,SAAgB,QAAQ,QAA6B,OAA4B;CAC/E,MAAM,UAAoB,EAAE;CAC5B,MAAM,QAAkB,EAAE;CAE1B,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;AAEzD,MAAK,MAAM,OAAO,MAAM;EACtB,MAAM,IAAI,OAAO,IAAI,IAAI,IAAI;EAC7B,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI;AAE5B,MAAI,IAAI,EAAG,SAAQ,KAAK,IAAI;AAC5B,MAAI,IAAI,EAAG,OAAM,KAAK,IAAI;;AAG5B,QAAO;EAAE;EAAS;EAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.d.mts","names":[],"sources":["../../../../../src/components/editor/extensions/image/extension.ts"],"mappings":";;;;UAQiB,cAAA,SAAqB,YAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.mjs","names":["Image","TiptapImage"],"sources":["../../../../../src/components/editor/extensions/image/extension.ts"],"sourcesContent":["\"use client\";\n\nimport {\n Image as TiptapImage,\n type ImageOptions as TiptapImageOptions,\n} from \"@tiptap/extension-image\";\nimport { getAssetURL } from \"@/modules/storage/entry\";\n\nexport interface ImageOptions extends TiptapImageOptions {}\n\nexport const Image = TiptapImage.extend<ImageOptions>({\n atom: true,\n addAttributes() {\n return {\n ...this.parent?.(),\n // asset id\n assetId: {\n default: null,\n parseHTML: (el) => el.getAttribute(\"data-asset-id\"),\n renderHTML: (attrs) => {\n if (!attrs.assetId) return {};\n return {\n \"data-asset-id\": attrs.assetId,\n ...(attrs.assetId && !attrs.isPending ? { src: getAssetURL(attrs.assetId) } : {}),\n };\n },\n },\n\n // semantics\n alt: { default: null },\n title: { default: null },\n\n // layout stability\n width: { default: null },\n height: { default: null },\n\n // upload UX\n isPending: {\n default: false,\n renderHTML: (attrs) => (attrs.isPending ? { \"data-pending\": \"true\" } : {}),\n },\n fileName: { default: null },\n };\n },\n parseHTML() {\n return [{ tag: \"img[data-asset-id]\" }];\n },\n renderHTML({ HTMLAttributes }) {\n const { src: _, ...attrs } = HTMLAttributes;\n\n const assetId = attrs.assetId as string | null;\n const isPending = Boolean(attrs.isPending);\n\n const src = assetId && !isPending ? getAssetURL(assetId) : null;\n\n return [\"img\", { ...attrs, ...(src ? { src } : {}) }];\n },\n});\n"],"mappings":";;;;;;AAUA,MAAaA,UAAQC,MAAY,OAAqB;CACpD,MAAM;CACN,gBAAgB;AACd,SAAO;GACL,GAAG,KAAK,UAAU;GAElB,SAAS;IACP,SAAS;IACT,YAAY,OAAO,GAAG,aAAa,gBAAgB;IACnD,aAAa,UAAU;AACrB,SAAI,CAAC,MAAM,QAAS,QAAO,EAAE;AAC7B,YAAO;MACL,iBAAiB,MAAM;MACvB,GAAI,MAAM,WAAW,CAAC,MAAM,YAAY,EAAE,KAAK,YAAY,MAAM,QAAQ,EAAE,GAAG,EAAE;MACjF;;IAEJ;GAGD,KAAK,EAAE,SAAS,MAAM;GACtB,OAAO,EAAE,SAAS,MAAM;GAGxB,OAAO,EAAE,SAAS,MAAM;GACxB,QAAQ,EAAE,SAAS,MAAM;GAGzB,WAAW;IACT,SAAS;IACT,aAAa,UAAW,MAAM,YAAY,EAAE,gBAAgB,QAAQ,GAAG,EAAE;IAC1E;GACD,UAAU,EAAE,SAAS,MAAM;GAC5B;;CAEH,YAAY;AACV,SAAO,CAAC,EAAE,KAAK,sBAAsB,CAAC;;CAExC,WAAW,EAAE,kBAAkB;EAC7B,MAAM,EAAE,KAAK,GAAG,GAAG,UAAU;EAE7B,MAAM,UAAU,MAAM;EACtB,MAAM,YAAY,QAAQ,MAAM,UAAU;EAE1C,MAAM,MAAM,WAAW,CAAC,YAAY,YAAY,QAAQ,GAAG;AAE3D,SAAO,CAAC,OAAO;GAAE,GAAG;GAAO,GAAI,MAAM,EAAE,KAAK,GAAG,EAAE;GAAG,CAAC;;CAExD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.mjs","names":[],"sources":["../../../../../src/components/editor/extensions/skeleton/extension.ts"],"sourcesContent":["\"use client\";\n\nimport { Node } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { SkeletonNodeRenderer } from \"./renderer\";\n\nexport const Skeleton = Node.create({\n name: \"skeleton\",\n atom: true,\n inline: true,\n group: \"inline\",\n selectable: false,\n draggable: false,\n addAttributes() {\n return {\n imageNodeId: { default: null },\n width: { default: null },\n height: { default: null },\n };\n },\n addOptions() {\n return {\n addToHistory: false,\n };\n },\n parseHTML() {\n return [{ tag: \"span[data-skeleton]\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"span\", { ...HTMLAttributes, \"data-skeleton\": \"true\" }];\n },\n addNodeView() {\n return ReactNodeViewRenderer(SkeletonNodeRenderer);\n },\n});\n"],"mappings":";;;;;;;AAMA,MAAa,WAAW,KAAK,OAAO;CAClC,MAAM;CACN,MAAM;CACN,QAAQ;CACR,OAAO;CACP,YAAY;CACZ,WAAW;CACX,gBAAgB;AACd,SAAO;GACL,aAAa,EAAE,SAAS,MAAM;GAC9B,OAAO,EAAE,SAAS,MAAM;GACxB,QAAQ,EAAE,SAAS,MAAM;GAC1B;;CAEH,aAAa;AACX,SAAO,EACL,cAAc,OACf;;CAEH,YAAY;AACV,SAAO,CAAC,EAAE,KAAK,uBAAuB,CAAC;;CAEzC,WAAW,EAAE,kBAAkB;AAC7B,SAAO,CAAC,QAAQ;GAAE,GAAG;GAAgB,iBAAiB;GAAQ,CAAC;;CAEjE,cAAc;AACZ,SAAO,sBAAsB,qBAAqB;;CAErD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer.mjs","names":[],"sources":["../../../../../src/components/editor/extensions/skeleton/renderer.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Node } from \"@tiptap/pm/model\";\nimport { NodeViewWrapper } from \"@tiptap/react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\nexport function SkeletonNodeRenderer(props: { node: Node }) {\n const { width, height } = props.node.attrs;\n\n return (\n <NodeViewWrapper as=\"span\" data-skeleton=\"true\">\n <Skeleton className=\"min-h-125 w-full\" style={{ width, height }} />\n </NodeViewWrapper>\n );\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,qBAAqB,OAAuB;CAC1D,MAAM,EAAE,OAAO,WAAW,MAAM,KAAK;AAErC,QACE,oBAAC;EAAgB,IAAG;EAAO,iBAAc;YACvC,oBAAC;GAAS,WAAU;GAAmB,OAAO;IAAE;IAAO;IAAQ;IAAI;GACnD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.mts","names":[],"sources":["../../../../src/components/editor/lib/constants.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;cAwBa,iBAAA;;;;iCAoCZ,6BAAA,CAAA,iBAAA;;;;;;;;;;;;;EAAA;;;;;;;;;;;;;;;;;;;;KAEW,gBAAA,UAA0B,iBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../../../../src/components/editor/lib/constants.ts"],"sourcesContent":["import Blockquote from \"@tiptap/extension-blockquote\";\nimport Bold from \"@tiptap/extension-bold\";\nimport Document from \"@tiptap/extension-document\";\nimport HardBreak from \"@tiptap/extension-hard-break\";\nimport Heading from \"@tiptap/extension-heading\";\nimport Highlight from \"@tiptap/extension-highlight\";\nimport HorizontalRule from \"@tiptap/extension-horizontal-rule\";\nimport Italic from \"@tiptap/extension-italic\";\nimport Link from \"@tiptap/extension-link\";\nimport { BulletList, ListItem, ListKeymap, OrderedList } from \"@tiptap/extension-list\";\nimport Paragraph from \"@tiptap/extension-paragraph\";\nimport Strike from \"@tiptap/extension-strike\";\nimport Text from \"@tiptap/extension-text\";\nimport { Color, TextStyle } from \"@tiptap/extension-text-style\";\nimport Underline from \"@tiptap/extension-underline\";\nimport { Dropcursor, Gapcursor, TrailingNode, UndoRedo } from \"@tiptap/extensions\";\nimport { FileHandler } from \"../extensions/file-handler/extension\";\nimport { Image } from \"../extensions/image/extension\";\nimport { Skeleton } from \"../extensions/skeleton/extension\";\nimport { createExtensionConfig } from \"./extensions\";\n\n/**\n * Editor extensions map\n */\nexport const EDITOR_EXTENSIONS = {\n /**\n * Nodes\n */\n blockquote: Blockquote,\n document: Document,\n hardBreak: HardBreak,\n heading: Heading,\n horizontalRule: HorizontalRule,\n listItem: ListItem,\n orderedList: OrderedList,\n bulletList: BulletList,\n paragraph: Paragraph,\n text: Text,\n image: Image,\n fileHandler: FileHandler,\n skeleton: Skeleton,\n /**\n * Marks\n */\n bold: Bold,\n italic: Italic,\n link: Link,\n strike: Strike,\n underline: Underline,\n highlight: Highlight,\n /**\n * Extensions\n */\n dropcursor: Dropcursor,\n gapcursor: Gapcursor,\n undoRedo: UndoRedo,\n listKeymap: ListKeymap,\n trailingNode: TrailingNode,\n textStyle: TextStyle,\n color: Color,\n};\n\nexport type EditorExtensions = typeof EDITOR_EXTENSIONS;\n\n/**\n * Editor extensions keys\n */\nexport const EDITOR_EXTENSIONS_KEYS = Object.keys(EDITOR_EXTENSIONS);\nexport type EditorExtensionsKeys = keyof typeof EDITOR_EXTENSIONS;\n\n/**\n * Editor extensions values\n */\nexport const EDITOR_EXTENSIONS_VALUES = Object.values(EDITOR_EXTENSIONS);\n\n/**\n * Editor extensions config\n */\nexport const EDITOR_EXTENSIONS_CONFIG = [\n /**\n * Nodes\n */\n createExtensionConfig(\"blockquote\"),\n createExtensionConfig(\"document\"),\n createExtensionConfig(\"hardBreak\"),\n createExtensionConfig(\"heading\"),\n createExtensionConfig(\"horizontalRule\"),\n createExtensionConfig(\"listItem\"),\n createExtensionConfig(\"orderedList\"),\n createExtensionConfig(\"bulletList\"),\n createExtensionConfig(\"paragraph\"),\n createExtensionConfig(\"text\"),\n createExtensionConfig(\"image\", {\n resize: {\n enabled: true,\n directions: [\"left\", \"right\"],\n minHeight: 50,\n minWidth: 50,\n alwaysPreserveAspectRatio: true,\n },\n }),\n createExtensionConfig(\"fileHandler\"),\n createExtensionConfig(\"skeleton\"),\n /**\n * Marks\n */\n createExtensionConfig(\"bold\"),\n createExtensionConfig(\"italic\"),\n createExtensionConfig(\"link\"),\n createExtensionConfig(\"strike\"),\n createExtensionConfig(\"underline\"),\n createExtensionConfig(\"highlight\", { multicolor: true }),\n /**\n * Extensions\n */\n createExtensionConfig(\"dropcursor\"),\n createExtensionConfig(\"gapcursor\"),\n createExtensionConfig(\"undoRedo\"),\n createExtensionConfig(\"listKeymap\"),\n createExtensionConfig(\"trailingNode\"),\n createExtensionConfig(\"textStyle\"),\n createExtensionConfig(\"color\"),\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,oBAAoB;CAI/B,YAAY;CACZ,UAAU;CACV,WAAW;CACX,SAAS;CACT,gBAAgB;CAChB,UAAU;CACV,aAAa;CACb,YAAY;CACZ,WAAW;CACX,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CAIV,MAAM;CACN,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,WAAW;CACX,WAAW;CAIX,YAAY;CACZ,WAAW;CACX,UAAU;CACV,YAAY;CACZ,cAAc;CACd,WAAW;CACX,OAAO;CACR;;;;AAOD,MAAa,yBAAyB,OAAO,KAAK,kBAAkB;;;;AAMpE,MAAa,2BAA2B,OAAO,OAAO,kBAAkB;;;;AAKxE,MAAa,2BAA2B;CAItC,sBAAsB,aAAa;CACnC,sBAAsB,WAAW;CACjC,sBAAsB,YAAY;CAClC,sBAAsB,UAAU;CAChC,sBAAsB,iBAAiB;CACvC,sBAAsB,WAAW;CACjC,sBAAsB,cAAc;CACpC,sBAAsB,aAAa;CACnC,sBAAsB,YAAY;CAClC,sBAAsB,OAAO;CAC7B,sBAAsB,SAAS,EAC7B,QAAQ;EACN,SAAS;EACT,YAAY,CAAC,QAAQ,QAAQ;EAC7B,WAAW;EACX,UAAU;EACV,2BAA2B;EAC5B,EACF,CAAC;CACF,sBAAsB,cAAc;CACpC,sBAAsB,WAAW;CAIjC,sBAAsB,OAAO;CAC7B,sBAAsB,SAAS;CAC/B,sBAAsB,OAAO;CAC7B,sBAAsB,SAAS;CAC/B,sBAAsB,YAAY;CAClC,sBAAsB,aAAa,EAAE,YAAY,MAAM,CAAC;CAIxD,sBAAsB,aAAa;CACnC,sBAAsB,YAAY;CAClC,sBAAsB,WAAW;CACjC,sBAAsB,aAAa;CACnC,sBAAsB,eAAe;CACrC,sBAAsB,YAAY;CAClC,sBAAsB,QAAQ;CAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.d.mts","names":[],"sources":["../../../../src/components/editor/lib/extensions.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA;;;AAAA,KAAY,sBAAA;EAIE;;;EAAZ,UAAA,EAAY,OAAA,CAAQ,iBAAA;EACpB,UAAA,EAAY,OAAA,CAAQ,iBAAA;EACpB,QAAA;EACA,SAAA,EAAW,OAAA,CAAQ,gBAAA;EACnB,OAAA,EAAS,OAAA,CAAQ,cAAA;EACjB,cAAA,EAAgB,OAAA,CAAQ,qBAAA;EACxB,QAAA,EAAU,OAAA,CAAQ,eAAA;EAClB,WAAA,EAAa,OAAA,CAAQ,kBAAA;EACrB,SAAA,EAAW,OAAA,CAAQ,gBAAA;EACnB,IAAA,EAAM,OAAA,CAAQ,gBAAA;EACd,KAAA,EAAO,OAAA,CAAQ,YAAA;EACf,WAAA,EAAa,OAAA,CAAQ,kBAAA;EACrB,QAAA;EAHM;;;EAON,IAAA,EAAM,OAAA,CAAQ,WAAA;EACd,MAAA,EAAQ,OAAA,CAAQ,aAAA;EAChB,IAAA,EAAM,OAAA,CAAQ,WAAA;EACd,MAAA,EAAQ,OAAA,CAAQ,aAAA;EAChB,SAAA,EAAW,OAAA,CAAQ,gBAAA;EACnB,SAAA,EAAW,OAAA,CAAQ,gBAAA;EAHL;;;EAOd,UAAA,EAAY,OAAA,CAAQ,iBAAA;EACpB,SAAA;EACA,QAAA,EAAU,OAAA,CAAQ,eAAA;EAClB,UAAA,EAAY,OAAA,CAAQ,iBAAA;EACpB,YAAA,EAAc,OAAA,CAAQ,mBAAA;EACtB,SAAA,EAAW,OAAA,CAAQ,gBAAA;EACnB,KAAA,EAAO,OAAA,CAAQ,YAAA;AAAA;AAAA,KAqEL,4BAAA,GAA+B,MAAA,OAAa,gBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.mjs","names":[],"sources":["../../../../src/components/editor/lib/extensions.ts"],"sourcesContent":["import type { BlockquoteOptions } from \"@tiptap/extension-blockquote\";\nimport type { BoldOptions } from \"@tiptap/extension-bold\";\nimport type { HardBreakOptions } from \"@tiptap/extension-hard-break\";\nimport type { HeadingOptions } from \"@tiptap/extension-heading\";\nimport type { HighlightOptions } from \"@tiptap/extension-highlight\";\nimport type { HorizontalRuleOptions } from \"@tiptap/extension-horizontal-rule\";\nimport type { ItalicOptions } from \"@tiptap/extension-italic\";\nimport type { LinkOptions } from \"@tiptap/extension-link\";\nimport type {\n BulletListOptions,\n ListItemOptions,\n ListKeymapOptions,\n OrderedListOptions,\n} from \"@tiptap/extension-list\";\nimport type { ParagraphOptions } from \"@tiptap/extension-paragraph\";\nimport type { StrikeOptions } from \"@tiptap/extension-strike\";\nimport type { ColorOptions, TextStyleOptions } from \"@tiptap/extension-text-style\";\nimport type { UnderlineOptions } from \"@tiptap/extension-underline\";\nimport type { DropcursorOptions, TrailingNodeOptions, UndoRedoOptions } from \"@tiptap/extensions\";\nimport type { Extension } from \"@tiptap/react\";\nimport deepmerge from \"deepmerge\";\nimport type { FileHandlerOptions } from \"../extensions/file-handler/extension\";\nimport type { ImageOptions } from \"../extensions/image/extension\";\nimport {\n EDITOR_EXTENSIONS,\n EDITOR_EXTENSIONS_CONFIG,\n EDITOR_EXTENSIONS_KEYS,\n type EditorExtensions,\n} from \"./constants\";\n\n/**\n * Editor extensions defaults\n */\n/**\n * Editor extensions map\n */\nexport type EditorExtensionsConfig = {\n /**\n * Nodes\n */\n blockquote: Partial<BlockquoteOptions> | boolean;\n bulletList: Partial<BulletListOptions> | boolean;\n document: boolean;\n hardBreak: Partial<HardBreakOptions> | boolean;\n heading: Partial<HeadingOptions> | boolean;\n horizontalRule: Partial<HorizontalRuleOptions> | boolean;\n listItem: Partial<ListItemOptions> | boolean;\n orderedList: Partial<OrderedListOptions> | boolean;\n paragraph: Partial<ParagraphOptions> | boolean;\n text: Partial<TextStyleOptions> | boolean;\n image: Partial<ImageOptions> | boolean;\n fileHandler: Partial<FileHandlerOptions> | boolean;\n skeleton: boolean;\n /**\n * Marks\n */\n bold: Partial<BoldOptions> | boolean;\n italic: Partial<ItalicOptions> | boolean;\n link: Partial<LinkOptions> | boolean;\n strike: Partial<StrikeOptions> | boolean;\n underline: Partial<UnderlineOptions> | boolean;\n highlight: Partial<HighlightOptions> | boolean;\n /**\n * Extensions\n */\n dropcursor: Partial<DropcursorOptions> | boolean;\n gapcursor: boolean;\n undoRedo: Partial<UndoRedoOptions> | boolean;\n listKeymap: Partial<ListKeymapOptions> | boolean;\n trailingNode: Partial<TrailingNodeOptions> | boolean;\n textStyle: Partial<TextStyleOptions> | boolean;\n color: Partial<ColorOptions> | boolean;\n};\n\n/**\n * Create extension config\n * @param name\n * @param defaultOptions\n * @returns\n */\nexport function createExtensionConfig<TName extends keyof EditorExtensionsConfig>(\n name: TName,\n defaultOptions: Partial<Exclude<EditorExtensionsConfig[TName], boolean>> = {},\n) {\n return {\n name,\n configure: (options: EditorExtensionsConfig[TName]) => {\n // Get extension\n const extension = EDITOR_EXTENSIONS[name];\n\n // If no options or no extension, return undefined\n if (!options || !extension) return undefined;\n\n // If no options are provided, return extension\n if (typeof options === \"boolean\") return extension.configure(defaultOptions);\n\n const extensionOptions = deepmerge(defaultOptions, options as object);\n\n // If no options are provided, return extension else configure\n return extension.configure(extensionOptions);\n },\n };\n}\n\n/**\n * Editor extensions config to extensions\n */\nexport function editorExtensionsConfigToExtensions(extensions?: Partial<EditorExtensionsConfig>) {\n return EDITOR_EXTENSIONS_CONFIG.flatMap(({ name, configure }) => {\n // Get the extension config\n const value = extensions?.[name];\n\n // if no value is provided, return extension\n if (value === undefined) return configure(true) as Extension;\n\n // If value is boolean, return extension\n // biome-ignore lint/suspicious/noExplicitAny: This is needed to satisfy the type system\n return configure(value as any) as Extension;\n });\n}\n\n/**\n * Editor extensions config result\n */\nexport function flattenEditorExtensionsConfig(\n extensions?: Partial<EditorExtensionsConfig>,\n): EditorExtensionsConfigResult {\n return EDITOR_EXTENSIONS_KEYS.reduce((acc, key) => {\n const value = extensions?.[key as keyof EditorExtensionsConfig];\n\n if (value === undefined) {\n acc[key as keyof EditorExtensionsConfigResult] = true;\n return acc;\n }\n\n acc[key as keyof EditorExtensionsConfigResult] = typeof value === \"boolean\" ? value : true;\n return acc;\n }, {} as EditorExtensionsConfigResult);\n}\n\nexport type EditorExtensionsConfigResult = Record<keyof EditorExtensions, boolean>;\n\n// const { uploadImage } = useUploadEditor();\n// StarterKit,\n// Underline,\n// Link,\n// TextStyle,\n// Color,\n// Highlight.configure({ multicolor: true }),\n// Image.configure({\n// allowBase64: false,\n// }),\n// FileHandler.configure({\n// allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\n// onDrop: (currentEditor, files, pos) => {\n// files.forEach((file) => {\n// const fileReader = new FileReader();\n\n// fileReader.readAsArrayBuffer(file);\n// fileReader.onload = async () => {\n// const response = await uploadImage(file);\n// if (!response) return;\n\n// currentEditor\n// .chain()\n// .insertContentAt(pos, {\n// type: \"image\",\n// attrs: { src: response.url },\n// })\n// .focus()\n// .run();\n// };\n// });\n// },\n// onPaste: (currentEditor, files) => {\n// files.forEach((file) => {\n// const fileReader = new FileReader();\n\n// fileReader.readAsArrayBuffer(file);\n// fileReader.onload = async () => {\n// const response = await uploadImage(file);\n// if (!response) return;\n\n// currentEditor\n// .chain()\n// .insertContentAt(currentEditor.state.selection.anchor, {\n// type: \"image\",\n// attrs: { src: response.url },\n// })\n// .focus()\n// .run();\n// };\n// });\n// },\n// }),\n"],"mappings":";;;;;;;;;;AAgFA,SAAgB,sBACd,MACA,iBAA2E,EAAE,EAC7E;AACA,QAAO;EACL;EACA,YAAY,YAA2C;GAErD,MAAM,YAAY,kBAAkB;AAGpC,OAAI,CAAC,WAAW,CAAC,UAAW,QAAO;AAGnC,OAAI,OAAO,YAAY,UAAW,QAAO,UAAU,UAAU,eAAe;GAE5E,MAAM,mBAAmB,UAAU,gBAAgB,QAAkB;AAGrE,UAAO,UAAU,UAAU,iBAAiB;;EAE/C;;;;;AAMH,SAAgB,mCAAmC,YAA8C;AAC/F,QAAO,yBAAyB,SAAS,EAAE,MAAM,gBAAgB;EAE/D,MAAM,QAAQ,aAAa;AAG3B,MAAI,UAAU,OAAW,QAAO,UAAU,KAAK;AAI/C,SAAO,UAAU,MAAa;GAC9B;;;;;AAMJ,SAAgB,8BACd,YAC8B;AAC9B,QAAO,uBAAuB,QAAQ,KAAK,QAAQ;EACjD,MAAM,QAAQ,aAAa;AAE3B,MAAI,UAAU,QAAW;AACvB,OAAI,OAA6C;AACjD,UAAO;;AAGT,MAAI,OAA6C,OAAO,UAAU,YAAY,QAAQ;AACtF,SAAO;IACN,EAAE,CAAiC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.mts","names":[],"sources":["../../../../src/components/editor/lib/helpers.ts"],"mappings":";;;;;AAuCA;iBAAgB,0BAAA,CAA2B,IAAA,WAAe,iBAAA;;;;iBAO1C,8BAAA,CAA+B,QAAA,WAAmB,iBAAA;;;;iBAQlD,0BAAA,CAA2B,OAAA,EAAS,iBAAA;AAApD;;;AAAA,iBAUgB,8BAAA,CAA+B,OAAA,EAAS,iBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../src/components/editor/lib/helpers.ts"],"sourcesContent":["import Blockquote from \"@tiptap/extension-blockquote\";\nimport Bold from \"@tiptap/extension-bold\";\nimport Document from \"@tiptap/extension-document\";\nimport HardBreak from \"@tiptap/extension-hard-break\";\nimport Heading from \"@tiptap/extension-heading\";\nimport HorizontalRule from \"@tiptap/extension-horizontal-rule\";\nimport Italic from \"@tiptap/extension-italic\";\nimport Link from \"@tiptap/extension-link\";\nimport { BulletList, ListItem, OrderedList } from \"@tiptap/extension-list\";\nimport Paragraph from \"@tiptap/extension-paragraph\";\nimport Strike from \"@tiptap/extension-strike\";\nimport Text from \"@tiptap/extension-text\";\nimport Underline from \"@tiptap/extension-underline\";\nimport { generateJSON } from \"@tiptap/html\";\nimport { renderToHTMLString, renderToMarkdown } from \"@tiptap/static-renderer\";\nimport { markdownParser } from \"@/lib/utils/markdown\";\nimport type { EditorJSONContent } from \"./types\";\n\nconst EXTENSIONS_FOR_GENERATION = [\n Blockquote,\n BulletList,\n Document,\n HardBreak,\n Heading,\n HorizontalRule,\n ListItem,\n OrderedList,\n Paragraph,\n Text,\n Bold,\n Italic,\n Link,\n Strike,\n Underline,\n];\n\n/**\n * Convert HTML to editor content\n */\nexport function convertHTMLToEditorContent(html: string): EditorJSONContent {\n return generateJSON(html, EXTENSIONS_FOR_GENERATION);\n}\n\n/**\n * Convert markdown to editor content\n */\nexport function convertMarkdownToEditorContent(markdown: string): EditorJSONContent {\n const html = markdownParser.render(markdown);\n return convertHTMLToEditorContent(html);\n}\n\n/**\n * Convert editor content to HTML\n */\nexport function convertEditorContentToHTML(content: EditorJSONContent): string {\n return renderToHTMLString({\n content,\n extensions: EXTENSIONS_FOR_GENERATION,\n });\n}\n\n/**\n * Convert editor content to markdown\n */\nexport function convertEditorContentToMarkdown(content: EditorJSONContent): string {\n return renderToMarkdown({\n content,\n extensions: EXTENSIONS_FOR_GENERATION,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,MAAM,4BAA4B;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;AAKD,SAAgB,2BAA2B,MAAiC;AAC1E,QAAO,aAAa,MAAM,0BAA0B;;;;;AAMtD,SAAgB,+BAA+B,UAAqC;AAElF,QAAO,2BADM,eAAe,OAAO,SAAS,CACL;;;;;AAMzC,SAAgB,2BAA2B,SAAoC;AAC7E,QAAO,mBAAmB;EACxB;EACA,YAAY;EACb,CAAC;;;;;AAMJ,SAAgB,+BAA+B,SAAoC;AACjF,QAAO,iBAAiB;EACtB;EACA,YAAY;EACb,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../src/components/editor/lib/types.ts"],"mappings":";;;;;AAKA;KAAY,iBAAA,GAAoB,WAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"variants.mjs","names":[],"sources":["../../../../src/components/editor/lib/variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils/cn\";\n\n/**\n * Prose variants\n */\nexport const editorProseVariants = cva(\n cn(\n \"prose dark:prose-invert\",\n \"prose-a:text-primary\",\n \"prose-headings:scroll-mt-20\",\n \"prose-h1:mt-6 prose-h1:mb-3\",\n \"prose-h2:mt-6 prose-h2:mb-3\",\n \"prose-h3:mt-5 prose-h3:mb-2\",\n \"prose-h4:mt-4 prose-h4:mb-2\",\n \"prose-ul:my-3 prose-ol:my-3\",\n \"prose-ul:pl-6 prose-ol:pl-6\",\n \"prose-li:my-1\",\n \"prose-li:marker:text-primary\",\n \"prose-li:p-0\",\n \"prose-img:my-0 prose-img:rounded-lg\",\n \"prose-blockquote:my-4 prose-blockquote:py-1\",\n \"prose-hr:my-6\",\n \"prose-pre:my-4\",\n ),\n);\n\n/**\n * Image variants\n */\nexport const editorImageVariants = cva(\n cn(\n // wrapper (TipTap sets display:block inline → override with !)\n \"[&_[data-resize-wrapper]]:!inline-block\",\n \"[&_[data-resize-wrapper]]:!relative\",\n \"[&_[data-resize-wrapper]]:max-w-full\",\n \"[&_[data-resize-wrapper]]:overflow-hidden\",\n\n // handle base\n \"[&_[data-resize-handle]]:absolute\",\n \"[&_[data-resize-handle]]:z-10\",\n \"[&_[data-resize-handle]]:rounded-full\",\n \"[&_[data-resize-handle]]:bg-muted/40\",\n \"[&_[data-resize-handle]]:w-1.5\",\n \"[&_[data-resize-handle]]:cursor-ew-resize\",\n \"[&_[data-resize-handle]]:opacity-0\",\n \"[&_[data-resize-handle]]:transition-opacity\",\n\n // show on hover / active\n \"[&:hover_[data-resize-handle]]:opacity-100\",\n \"[&_[data-resize-state='true']_[data-resize-handle]]:opacity-100\",\n\n // ✅ override TipTap inline: top:0; bottom:0;\n \"[&_[data-resize-handle]]:!top-1/2\",\n \"[&_[data-resize-handle]]:!bottom-auto\",\n \"[&_[data-resize-handle]]:!-translate-y-1/2\",\n\n // ✅ half height (also must beat inline)\n \"[&_[data-resize-handle]]:!h-1/2\",\n\n // ✅ spacing from edge (beat inline left:0 / right:0)\n \"[&_[data-resize-handle='left']]:!left-2\",\n \"[&_[data-resize-handle='right']]:!right-2\",\n\n // ✅ override inline visibility:hidden on the resize container while pending\n \"[&_[data-resize-container]:has(img[data-pending='true'])]:[visibility:visible!important]\",\n \"[&_[data-resize-container]:has(img[data-pending='true'])]:[pointer-events:auto!important]\",\n\n // Pending img should behave like a skeleton block (even before wrapper exists)\n \"[&_img[data-pending='true']]:bg-primary/10\",\n \"[&_img[data-pending='true']]:animate-pulse\",\n \"[&_img[data-pending='true']]:rounded-md\",\n \"[&_img[data-pending='true']]:opacity-0\",\n \"[&_img[data-pending='true']]:min-h-[500px]\",\n ),\n);\n"],"mappings":";;;;;;;AAMA,MAAa,sBAAsB,IACjC,GACE,2BACA,wBACA,+BACA,+BACA,+BACA,+BACA,+BACA,+BACA,+BACA,iBACA,gCACA,gBACA,uCACA,+CACA,iBACA,iBACD,CACF;;;;AAKD,MAAa,sBAAsB,IACjC,GAEE,2CACA,uCACA,wCACA,6CAGA,qCACA,iCACA,yCACA,wCACA,kCACA,6CACA,sCACA,+CAGA,8CACA,mEAGA,qCACA,yCACA,8CAGA,mCAGA,2CACA,6CAGA,4FACA,6FAGA,8CACA,8CACA,2CACA,0CACA,6CACD,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"forget-password-email.mjs","names":[],"sources":["../../../src/components/emails/forget-password-email.tsx"],"sourcesContent":["import {\n Body,\n Button,\n Container,\n Head,\n Heading,\n Html,\n Preview,\n Section,\n Tailwind,\n Text,\n} from \"@react-email/components\";\nimport { url } from \"@/lib/utils/url\";\nimport { Icons } from \"../common/icons\";\n\ninterface ForgetPasswordEmailProps {\n resetPasswordHref: string;\n}\n\nexport function ForgetPasswordEmail({ resetPasswordHref }: ForgetPasswordEmailProps) {\n return (\n <Html>\n <Head />\n <Preview>Herstel je wachtwoord</Preview>\n\n <Tailwind>\n <Body className=\"mx-auto my-auto bg-white px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded border border-[#eaeaea] border-solid p-[20px]\">\n <Icons.logo className=\"w-8\" />\n\n <Section className=\"my-[15px]\">\n <Heading className=\"mx-0 my-[20px] p-0 font-bold text-[24px] text-black\">\n Herstel uw wachtwoord\n </Heading>\n\n <Text className=\"text-[14px] text-black leading-[24px]\">\n Iemand heeft onlangs een wachtwoordwijziging voor uw account gevraagd. Als u dit\n was, kunt u hier een nieuw wachtwoord instellen:\n </Text>\n\n <Button\n className=\"rounded bg-[#000000] px-5 py-3 text-center font-semibold text-[12px] text-white no-underline\"\n href={resetPasswordHref}\n >\n Reset password\n </Button>\n </Section>\n\n <Section>\n <Text className=\"text-[12px] text-black leading-[20px]\">\n Als u uw wachtwoord niet wilt wijzigen of dit niet heeft gevraagd, negeer en\n verwijder dit bericht gewoon en verwijdert u.\n </Text>\n\n <Text className=\"text-[12px] text-black leading-[20px]\">\n Stuur deze e-mail niet door om uw account veilig te houden.\n </Text>\n </Section>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n}\n\nForgetPasswordEmail.PreviewProps = {\n resetPasswordHref: url(\"/auth/reset-password\"),\n} as ForgetPasswordEmailProps;\n\nexport default ForgetPasswordEmail;\n"],"mappings":";;;;;;AAmBA,SAAgB,oBAAoB,EAAE,qBAA+C;AACnF,QACE,qBAAC;EACC,oBAAC,SAAO;EACR,oBAAC,qBAAQ,0BAA+B;EAExC,oBAAC,sBACC,oBAAC;GAAK,WAAU;aACd,qBAAC;IAAU,WAAU;;KACnB,oBAAC,MAAM,QAAK,WAAU,QAAQ;KAE9B,qBAAC;MAAQ,WAAU;;OACjB,oBAAC;QAAQ,WAAU;kBAAsD;SAE/D;OAEV,oBAAC;QAAK,WAAU;kBAAwC;SAGjD;OAEP,oBAAC;QACC,WAAU;QACV,MAAM;kBACP;SAEQ;;OACD;KAEV,qBAAC,sBACC,oBAAC;MAAK,WAAU;gBAAwC;OAGjD,EAEP,oBAAC;MAAK,WAAU;gBAAwC;OAEjD,IACC;;KACA;IACP,GACE;KACN;;AAIX,oBAAoB,eAAe,EACjC,mBAAmB,IAAI,uBAAuB,EAC/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"back-button.client.d.mts","names":[],"sources":["../../../src/components/header/back-button.client.tsx"],"mappings":";;;iBAagB,sBAAA,CAAA;EACd,SAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,kBAAA,CAAmB,iBAAA,IAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"back-button.client.mjs","names":[],"sources":["../../../src/components/header/back-button.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRouter } from \"next/navigation\";\nimport { Icons } from \"@/components/common/icons\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n ContextMenu,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuTrigger,\n} from \"@/components/ui/context-menu.client\";\nimport { cn } from \"@/lib/utils/cn\";\n\nexport function HeaderTopbarBackButton({\n className,\n ...props\n}: React.HtmlHTMLAttributes<HTMLButtonElement>) {\n const router = useRouter();\n\n return (\n <ContextMenu>\n <ContextMenuTrigger asChild>\n <Button\n {...props}\n variant=\"ghost\"\n onClick={() => router.back()}\n className={cn(\n \"h-full w-content rounded-none border-r border-r-border p-0 text-muted-foreground hover:text-foreground\",\n className,\n )}\n >\n <Icons.chevronLeft className=\"opacity-50\" />\n </Button>\n </ContextMenuTrigger>\n\n <ContextMenuContent>\n <ContextMenuItem className=\"flex gap-3\" onClick={() => router.back()}>\n <Icons.moveLeft className=\"w-4\" />\n Terug\n </ContextMenuItem>\n\n <ContextMenuItem className=\"flex gap-3\" onClick={() => router.forward()}>\n <Icons.moveRight className=\"w-4\" />\n Vooruit\n </ContextMenuItem>\n\n <ContextMenuItem className=\"flex gap-3\" onClick={() => router.refresh()}>\n <Icons.refresh className=\"w-3.5\" />\n Verversen\n </ContextMenuItem>\n </ContextMenuContent>\n </ContextMenu>\n );\n}\n"],"mappings":";;;;;;;;;;AAaA,SAAgB,uBAAuB,EACrC,WACA,GAAG,SAC2C;CAC9C,MAAM,SAAS,WAAW;AAE1B,QACE,qBAAC,0BACC,oBAAC;EAAmB;YAClB,oBAAC;GACC,GAAI;GACJ,SAAQ;GACR,eAAe,OAAO,MAAM;GAC5B,WAAW,GACT,0GACA,UACD;aAED,oBAAC,MAAM,eAAY,WAAU,eAAe;IACrC;GACU,EAErB,qBAAC;EACC,qBAAC;GAAgB,WAAU;GAAa,eAAe,OAAO,MAAM;cAClE,oBAAC,MAAM,YAAS,WAAU,QAAQ;IAElB;EAElB,qBAAC;GAAgB,WAAU;GAAa,eAAe,OAAO,SAAS;cACrE,oBAAC,MAAM,aAAU,WAAU,QAAQ;IAEnB;EAElB,qBAAC;GAAgB,WAAU;GAAa,eAAe,OAAO,SAAS;cACrE,oBAAC,MAAM,WAAQ,WAAU,UAAU;IAEnB;KACC,IACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bottom-bar.client.d.mts","names":[],"sources":["../../../src/components/header/bottom-bar.client.tsx"],"mappings":";;;;;;;;KAYY,cAAA;EACV,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;AAAA,iBAGF,SAAA,CAAA;EAAY;AAAA,GAAY,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;KAW1C,aAAA,GAAgB,IAAA,CAAK,IAAA;AAAA,KAErB,mBAAA,GAAsB,KAAA,CAAM,cAAA,CAAe,WAAA;EACrD,KAAA,EAAO,aAAA;AAAA;AAAA,iBAGO,cAAA,CAAA;EAAiB,KAAA;EAAO,SAAA;EAAA,GAAc;AAAA,GAAS,mBAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bottom-bar.client.mjs","names":[],"sources":["../../../src/components/header/bottom-bar.client.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { useSelectedLayoutSegment } from \"next/navigation\";\nimport type React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { Allowed } from \"@/modules/auth/components/allowed.client\";\nimport type { Path } from \"@/modules/config/paths/types\";\n\n/**\n * Bottombar component\n */\nexport type BottomBarProps = {\n children: React.ReactNode;\n};\n\nexport function BottomBar({ children }: BottomBarProps) {\n return (\n <nav className=\"flex h-[var(--header-bottom-bar-height)] items-center justify-between overflow-x-auto border-b\">\n {children}\n </nav>\n );\n}\n\n/**\n * Bottombar link component\n */\nexport type BottomBarLink = Omit<Path, \"icon\" | \"badge\">;\n\nexport type BottomBarLinksProps = React.HTMLAttributes<HTMLElement> & {\n paths: BottomBarLink[];\n};\n\nexport function BottomBarLinks({ paths, className, ...props }: BottomBarLinksProps) {\n const currentSegment = useSelectedLayoutSegment();\n\n return (\n <ul\n {...props}\n className={cn(\"flex flex-row items-center gap-6 px-content font-medium text-sm\", className)}\n >\n {paths.map(({ href, name, segment, permission }) => {\n const children = (\n <Link\n key={href}\n href={href}\n className={cn(\n \"w-fit text-nowrap break-keep text-muted-foreground transition-colors hover:text-foreground\",\n currentSegment === segment && \"text-primary\",\n )}\n >\n {name}\n </Link>\n );\n\n if (permission) {\n return (\n <Allowed key={href} permission={permission}>\n {children}\n </Allowed>\n );\n }\n\n return children;\n })}\n </ul>\n );\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,UAAU,EAAE,YAA4B;AACtD,QACE,oBAAC;EAAI,WAAU;EACZ;GACG;;AAaV,SAAgB,eAAe,EAAE,OAAO,WAAW,GAAG,SAA8B;CAClF,MAAM,iBAAiB,0BAA0B;AAEjD,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GAAG,mEAAmE,UAAU;YAE1F,MAAM,KAAK,EAAE,MAAM,MAAM,SAAS,iBAAiB;GAClD,MAAM,WACJ,oBAAC;IAEO;IACN,WAAW,GACT,8FACA,mBAAmB,WAAW,eAC/B;cAEA;MAPI,KAQA;AAGT,OAAI,WACF,QACE,oBAAC;IAA+B;IAC7B;MADW,KAEJ;AAId,UAAO;IACP;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumbs.client.d.mts","names":[],"sources":["../../../src/components/header/breadcrumbs.client.tsx"],"mappings":";;;;;KAmBY,gBAAA;EACV,KAAA;EACA,IAAA;AAAA;AAAA,KAGU,qBAAA;EACV,WAAA,EAAa,gBAAA;AAAA;AAAA,iBAGC,iBAAA,CAAkB,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAI7C,yBAAA,SAAyB,mBAAA;;;;iBAKtB,6BAAA,CAA8B,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAatD,iCAAA,CAAkC,KAAA;EAAS,UAAA,EAAY,gBAAA;AAAA,IAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAezE,qBAAA,CAAsB,KAAA;EAAS,UAAA,EAAY,gBAAA;AAAA,IAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;AAjC7E;;iBAoDgB,2BAAA,CAA4B,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQpD,4BAAA,CAA6B,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumbs.client.mjs","names":[],"sources":["../../../src/components/header/breadcrumbs.client.tsx"],"sourcesContent":["import Link from \"next/link\";\nimport type { PropsWithChildren } from \"react\";\nimport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu.client\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\n\nexport type HeaderBreadcrumb = {\n label: string;\n href?: string;\n};\n\nexport type HeaderBreadcrumbProps = {\n breadcrumbs: HeaderBreadcrumb[];\n};\n\nexport function HeaderBreadcrumbs(props: PropsWithChildren) {\n return <Breadcrumb>{props.children}</Breadcrumb>;\n}\n\nexport const HeaderBreadcrumbSeparator = BreadcrumbSeparator;\n\n/**\n * Dropdown menu\n */\nexport function HeaderBreadcrumbsDropdownMenu(props: PropsWithChildren) {\n return (\n <BreadcrumbItem>\n <DropdownMenu>\n <DropdownMenuTrigger className=\"flex items-center gap-1\">\n <BreadcrumbEllipsis />\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">{props.children}</DropdownMenuContent>\n </DropdownMenu>\n </BreadcrumbItem>\n );\n}\n\nexport function HeaderBreadcrumbsDropdownMenuItem(props: { breadcrumb: HeaderBreadcrumb }) {\n return (\n <DropdownMenuItem>\n {props.breadcrumb.href ? (\n <Link href={props.breadcrumb.href}>{props.breadcrumb.label}</Link>\n ) : (\n <span>{props.breadcrumb.label}</span>\n )}\n </DropdownMenuItem>\n );\n}\n\n/**\n * Links\n */\nexport function HeaderBreadcrumbsLink(props: { breadcrumb: HeaderBreadcrumb }) {\n return (\n <BreadcrumbItem>\n {props.breadcrumb.href ? (\n <BreadcrumbLink asChild>\n <Link href={props.breadcrumb.href} className=\"truncate\">\n {props.breadcrumb.label}\n </Link>\n </BreadcrumbLink>\n ) : (\n <BreadcrumbPage className=\"truncate\">{props.breadcrumb.label}</BreadcrumbPage>\n )}\n </BreadcrumbItem>\n );\n}\n\n/**\n * Lists\n */\nexport function HeaderBreadcrumbsMobileList(props: PropsWithChildren) {\n return (\n <ScrollArea>\n <BreadcrumbList className=\"flex-nowrap lg:hidden\">{props.children}</BreadcrumbList>\n </ScrollArea>\n );\n}\n\nexport function HeaderBreadcrumbsDesktopList(props: PropsWithChildren) {\n return (\n <ScrollArea>\n <BreadcrumbList className=\"hidden flex-nowrap lg:flex\">{props.children}</BreadcrumbList>\n </ScrollArea>\n );\n}\n"],"mappings":";;;;;;;AA4BA,SAAgB,kBAAkB,OAA0B;AAC1D,QAAO,oBAAC,wBAAY,MAAM,WAAsB;;AAGlD,MAAa,4BAA4B;;;;AAKzC,SAAgB,8BAA8B,OAA0B;AACtE,QACE,oBAAC,4BACC,qBAAC,2BACC,oBAAC;EAAoB,WAAU;YAC7B,oBAAC,uBAAqB;GACF,EACtB,oBAAC;EAAoB,OAAM;YAAS,MAAM;GAA+B,IAC5D,GACA;;AAIrB,SAAgB,kCAAkC,OAAyC;AACzF,QACE,oBAAC,8BACE,MAAM,WAAW,OAChB,oBAAC;EAAK,MAAM,MAAM,WAAW;YAAO,MAAM,WAAW;GAAa,GAElE,oBAAC,oBAAM,MAAM,WAAW,QAAa,GAEtB;;;;;AAOvB,SAAgB,sBAAsB,OAAyC;AAC7E,QACE,oBAAC,4BACE,MAAM,WAAW,OAChB,oBAAC;EAAe;YACd,oBAAC;GAAK,MAAM,MAAM,WAAW;GAAM,WAAU;aAC1C,MAAM,WAAW;IACb;GACQ,GAEjB,oBAAC;EAAe,WAAU;YAAY,MAAM,WAAW;GAAuB,GAEjE;;;;;AAOrB,SAAgB,4BAA4B,OAA0B;AACpE,QACE,oBAAC,wBACC,oBAAC;EAAe,WAAU;YAAyB,MAAM;GAA0B,GACxE;;AAIjB,SAAgB,6BAA6B,OAA0B;AACrE,QACE,oBAAC,wBACC,oBAAC;EAAe,WAAU;YAA8B,MAAM;GAA0B,GAC7E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"header.client.d.mts","names":[],"sources":["../../../src/components/header/header.client.tsx"],"mappings":";;;;iBAGgB,MAAA,CAAA;EAAS,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,aAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"header.client.mjs","names":[],"sources":["../../../src/components/header/header.client.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nexport function Header({ children, className, ...props }: ComponentProps<\"header\">) {\n return (\n <header className={cn(\"sticky top-0 z-30 bg-sidebar backdrop-blur-3xl\", className)} {...props}>\n {children}\n </header>\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,OAAO,EAAE,UAAU,WAAW,GAAG,SAAmC;AAClF,QACE,oBAAC;EAAO,WAAW,GAAG,kDAAkD,UAAU;EAAE,GAAI;EACrF;GACM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"indicator.client.mjs","names":[],"sources":["../../../src/components/header/indicator.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { type IndicatorStatus, useIndicator } from \"@/lib/hooks/use-indicator\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst inlineEditIndicatorVariants = cva(\n \"absolute top-2 left-3 z-50 size-2 rounded-full bg-primary\",\n {\n variants: {\n status: {\n idle: \"bg-transparent\",\n pending: \"bg-primary\",\n success: \"bg-green-500\",\n error: \"bg-destructive\",\n } satisfies Record<IndicatorStatus, string>,\n },\n defaultVariants: {\n status: \"idle\",\n },\n },\n);\n\nexport function Indicator() {\n const { status } = useIndicator();\n\n return <div className={cn(inlineEditIndicatorVariants({ status }))} />;\n}\n"],"mappings":";;;;;;;;AAMA,MAAM,8BAA8B,IAClC,6DACA;CACE,UAAU,EACR,QAAQ;EACN,MAAM;EACN,SAAS;EACT,SAAS;EACT,OAAO;EACR,EACF;CACD,iBAAiB,EACf,QAAQ,QACT;CACF,CACF;AAED,SAAgB,YAAY;CAC1B,MAAM,EAAE,WAAW,cAAc;AAEjC,QAAO,oBAAC,SAAI,WAAW,GAAG,4BAA4B,EAAE,QAAQ,CAAC,CAAC,GAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mobile-nav-switcher.client.d.mts","names":[],"sources":["../../../src/components/header/mobile-nav-switcher.client.tsx"],"mappings":";;;iBAKgB,6BAAA,CAAA;EACd,SAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,kBAAA,CAAmB,iBAAA,IAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mobile-nav-switcher.client.mjs","names":[],"sources":["../../../src/components/header/mobile-nav-switcher.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn } from \"@/lib/entry\";\nimport { SidebarTrigger, useSidebar } from \"../entry.client\";\n\nexport function HeaderTopbarMobileNavSwitcher({\n className,\n ...props\n}: React.HtmlHTMLAttributes<HTMLButtonElement>) {\n const { isMobile } = useSidebar();\n\n return (\n <SidebarTrigger\n {...props}\n data-is-mobile={!!isMobile}\n className={cn(\n \"h-full w-12 rounded-none border-r p-0 data-[is-mobile=false]:hidden\",\n className,\n )}\n />\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,8BAA8B,EAC5C,WACA,GAAG,SAC2C;CAC9C,MAAM,EAAE,aAAa,YAAY;AAEjC,QACE,oBAAC;EACC,GAAI;EACJ,kBAAgB,CAAC,CAAC;EAClB,WAAW,GACT,uEACA,UACD;GACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"top-bar.client.d.mts","names":[],"sources":["../../../src/components/header/top-bar.client.tsx"],"mappings":";;;;;;;;KAsBY,WAAA;EACV,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;AAAA,iBAGF,MAAA,CAAA;EAAS;AAAA,GAAY,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;KAapC,gBAAA,GAAmB,KAAA,CAAM,cAAA,CAAe,WAAA;EAClD,SAAA;EACA,KAAA,GAAQ,KAAA,CAAM,SAAA;EACd,WAAA,EAAa,gBAAA;AAAA;AAAA,iBAGC,WAAA,CAAA;EACd,WAAA;EACA,KAAA;EACA,SAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;KAqEP,gBAAA,GAAmB,KAAA,CAAM,cAAA,CAAe,WAAA;EAClD,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;AAAA,iBAGF,WAAA,CAAA;EAAc,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"top-bar.client.mjs","names":["Fragment"],"sources":["../../../src/components/header/top-bar.client.tsx"],"sourcesContent":["import type React from \"react\";\nimport { Fragment } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { Icons } from \"../common/icons\";\nimport { Badge } from \"../ui/badge\";\nimport { HeaderTopbarBackButton } from \"./back-button.client\";\nimport {\n type HeaderBreadcrumb,\n HeaderBreadcrumbSeparator,\n HeaderBreadcrumbs,\n HeaderBreadcrumbsDesktopList,\n HeaderBreadcrumbsDropdownMenu,\n HeaderBreadcrumbsDropdownMenuItem,\n HeaderBreadcrumbsLink,\n HeaderBreadcrumbsMobileList,\n} from \"./breadcrumbs.client\";\nimport { Indicator } from \"./indicator.client\";\nimport { HeaderTopbarMobileNavSwitcher } from \"./mobile-nav-switcher.client\";\n\n/**\n * Topbar component\n */\nexport type TopbarProps = {\n children: React.ReactNode;\n};\n\nexport function Topbar({ children }: TopbarProps) {\n return (\n <nav className=\"flex h-(--header-top-bar-height) items-center justify-between overflow-x-auto border-b\">\n <Indicator />\n\n {children}\n </nav>\n );\n}\n\n/**\n * Topbar title component\n */\nexport type TopbarTitleProps = React.HTMLAttributes<HTMLElement> & {\n isDeleted?: boolean;\n badge?: React.ReactNode;\n breadcrumbs: HeaderBreadcrumb[];\n};\n\nexport function TopbarTitle({\n breadcrumbs,\n badge,\n isDeleted,\n className,\n ...props\n}: TopbarTitleProps) {\n return (\n <div {...props} className={cn(\"flex h-full items-center gap-4\", className)}>\n <div className=\"h-full min-w-fit\">\n <HeaderTopbarBackButton />\n <HeaderTopbarMobileNavSwitcher />\n </div>\n\n <HeaderBreadcrumbs>\n <HeaderBreadcrumbsMobileList>\n {breadcrumbs.length > 1 && (\n <>\n <HeaderBreadcrumbsDropdownMenu>\n {breadcrumbs.slice(0, -1).map((breadcrumb, index) => (\n <HeaderBreadcrumbsDropdownMenuItem key={index} breadcrumb={breadcrumb} />\n ))}\n </HeaderBreadcrumbsDropdownMenu>\n\n <HeaderBreadcrumbSeparator />\n </>\n )}\n\n {breadcrumbs.slice(-1).map((breadcrumb, index, array) => (\n <Fragment key={index}>\n <HeaderBreadcrumbsLink breadcrumb={breadcrumb} />\n {index < array.length - 1 && <HeaderBreadcrumbSeparator />}\n </Fragment>\n ))}\n </HeaderBreadcrumbsMobileList>\n\n <HeaderBreadcrumbsDesktopList>\n {breadcrumbs.length > 2 && (\n <>\n <HeaderBreadcrumbsDropdownMenu>\n {breadcrumbs.slice(0, -2).map((breadcrumb, index) => (\n <HeaderBreadcrumbsDropdownMenuItem key={index} breadcrumb={breadcrumb} />\n ))}\n </HeaderBreadcrumbsDropdownMenu>\n\n <HeaderBreadcrumbSeparator />\n </>\n )}\n\n {breadcrumbs.slice(-2).map((breadcrumb, index, array) => (\n <Fragment key={index}>\n <HeaderBreadcrumbsLink breadcrumb={breadcrumb} />\n {index < array.length - 1 && <HeaderBreadcrumbSeparator />}\n </Fragment>\n ))}\n </HeaderBreadcrumbsDesktopList>\n </HeaderBreadcrumbs>\n\n <span className=\"hidden md:ml-4 md:block\">\n {isDeleted ? (\n <Badge variant=\"destructive\">\n <Icons.archive className=\"mr-2 h-3 w-3\" />\n Archief\n </Badge>\n ) : (\n badge\n )}\n </span>\n </div>\n );\n}\n\n/**\n * Topbar tools component\n */\nexport type TopbarToolsProps = React.HTMLAttributes<HTMLElement> & {\n children: React.ReactNode;\n};\n\nexport function TopbarTools({ children, className, ...props }: TopbarToolsProps) {\n return (\n <div\n {...props}\n className={cn(\"flex h-full items-center justify-end gap-4 px-6 py-2\", className)}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;AA0BA,SAAgB,OAAO,EAAE,YAAyB;AAChD,QACE,qBAAC;EAAI,WAAU;aACb,oBAAC,cAAY,EAEZ;GACG;;AAaV,SAAgB,YAAY,EAC1B,aACA,OACA,WACA,WACA,GAAG,SACgB;AACnB,QACE,qBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,kCAAkC,UAAU;;GACxE,qBAAC;IAAI,WAAU;eACb,oBAAC,2BAAyB,EAC1B,oBAAC,kCAAgC;KAC7B;GAEN,qBAAC,gCACC,qBAAC,0CACE,YAAY,SAAS,KACpB,4CACE,oBAAC,2CACE,YAAY,MAAM,GAAG,GAAG,CAAC,KAAK,YAAY,UACzC,oBAAC,qCAA0D,cAAnB,MAAiC,CACzE,GAC4B,EAEhC,oBAAC,8BAA4B,IAC5B,EAGJ,YAAY,MAAM,GAAG,CAAC,KAAK,YAAY,OAAO,UAC7C,qBAACA,yBACC,oBAAC,yBAAkC,aAAc,EAChD,QAAQ,MAAM,SAAS,KAAK,oBAAC,8BAA4B,KAF7C,MAGJ,CACX,IAC0B,EAE9B,qBAAC,2CACE,YAAY,SAAS,KACpB,4CACE,oBAAC,2CACE,YAAY,MAAM,GAAG,GAAG,CAAC,KAAK,YAAY,UACzC,oBAAC,qCAA0D,cAAnB,MAAiC,CACzE,GAC4B,EAEhC,oBAAC,8BAA4B,IAC5B,EAGJ,YAAY,MAAM,GAAG,CAAC,KAAK,YAAY,OAAO,UAC7C,qBAACA,yBACC,oBAAC,yBAAkC,aAAc,EAChD,QAAQ,MAAM,SAAS,KAAK,oBAAC,8BAA4B,KAF7C,MAGJ,CACX,IAC2B,IACb;GAEpB,oBAAC;IAAK,WAAU;cACb,YACC,qBAAC;KAAM,SAAQ;gBACb,oBAAC,MAAM,WAAQ,WAAU,iBAAiB;MAEpC,GAER;KAEG;;GACH;;AAWV,SAAgB,YAAY,EAAE,UAAU,WAAW,GAAG,SAA2B;AAC/E,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GAAG,wDAAwD,UAAU;EAE/E;GACG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-content.client.d.mts","names":[],"sources":["../../../src/components/layouts/admin-content.client.tsx"],"mappings":";;;;;iBAOgB,YAAA,CAAA;EAAe,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAsB,UAAA,IAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-content.client.mjs","names":[],"sources":["../../../src/components/layouts/admin-content.client.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"@/lib/entry\";\nimport { useSidebar } from \"../entry.client\";\nimport { ScrollArea } from \"../ui/scroll-area\";\n\nexport function AdminContent({ children, className, ...props }: ComponentProps<typeof ScrollArea>) {\n const { isMobile, open } = useSidebar();\n\n return (\n <ScrollArea {...props} className={cn(\"h-dvh basis-full\", className)}>\n <div\n className={cn(\n \"h-full max-w-[100vw]\",\n isMobile !== undefined && !isMobile && open && \"max-w-[calc(100vw-var(--sidebar-width))]\",\n )}\n >\n {children}\n </div>\n </ScrollArea>\n );\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,aAAa,EAAE,UAAU,WAAW,GAAG,SAA4C;CACjG,MAAM,EAAE,UAAU,SAAS,YAAY;AAEvC,QACE,oBAAC;EAAW,GAAI;EAAO,WAAW,GAAG,oBAAoB,UAAU;YACjE,oBAAC;GACC,WAAW,GACT,wBACA,aAAa,UAAa,CAAC,YAAY,QAAQ,2CAChD;GAEA;IACG;GACK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-error-pages.d.mts","names":[],"sources":["../../../src/components/layouts/admin-error-pages.tsx"],"mappings":";;;;;;iBAcgB,iBAAA,CAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAmBjB,mBAAA,CAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAnC;;;;;AAsBA;AAtBA,iBAsBgB,cAAA,CAAe,KAAA;EAAS,KAAA,EAAO,KAAA;AAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-error-pages.mjs","names":[],"sources":["../../../src/components/layouts/admin-error-pages.tsx"],"sourcesContent":["import type { CommonORPCErrorCode } from \"@orpc/client\";\nimport { ServerError } from \"@/modules/router/lib/error.server\";\nimport { Header } from \"../header/header.client\";\nimport { Topbar, TopbarTitle } from \"../header/top-bar.client\";\nimport {\n DefaultErrorSection,\n NotAllowedSection,\n NotFoundSection,\n ServerErrorSection,\n} from \"./error-sections\";\n\n/**\n * Admin Not Found Page\n */\nexport function AdminNotFoundPage() {\n return (\n <>\n <Header>\n <Topbar>\n <TopbarTitle breadcrumbs={[{ label: \"404\" }]} />\n </Topbar>\n </Header>\n\n <div className=\"p-content\">\n <NotFoundSection className=\"min-h-[calc(100dvh-var(--header-top-bar-height)-var(--content)-var(--content))]\" />\n </div>\n </>\n );\n}\n\n/**\n * Admin Not Allowed Page\n */\nexport function AdminNotAllowedPage() {\n return (\n <>\n <Header>\n <Topbar>\n <TopbarTitle breadcrumbs={[{ label: \"Unauthorized\" }]} />\n </Topbar>\n </Header>\n\n <div className=\"p-content\">\n <NotAllowedSection className=\"min-h-[calc(100dvh-var(--header-top-bar-height)-var(--content)-var(--content))]\" />\n </div>\n </>\n );\n}\n\n/**\n * ErrorPage\n * - If the error is a ServerError and the code is \"UNAUTHORIZED\", show the NotAllowedPage\n * - If the error is a ServerError and the code is \"NOT_FOUND\", show the NotFoundSection\n * - Else show the ErrorPage\n */\nexport function AdminErrorPage(props: { error: Error }) {\n const serverErrorCode: CommonORPCErrorCode =\n props.error instanceof ServerError ? props.error.code : undefined;\n\n /**\n * If the error is a ServerError and the code is \"UNAUTHORIZED\", show the NotAllowedPage\n */\n if (serverErrorCode === \"UNAUTHORIZED\") {\n return <AdminNotAllowedPage />;\n }\n\n /**\n * If the error is a ServerError and the code is \"UNAUTHORIZED\", show the NotAllowedPage\n */\n if (serverErrorCode === \"NOT_FOUND\") {\n return <AdminNotFoundPage />;\n }\n\n /**\n * If the error is a ServerError and the code is \"UNAUTHORIZED\", show the NotAllowedPage\n */\n if (serverErrorCode === \"INTERNAL_SERVER_ERROR\") {\n return (\n <>\n <Header>\n <Topbar>\n <TopbarTitle breadcrumbs={[{ label: \"Server Error\" }]} />\n </Topbar>\n </Header>\n\n <div className=\"p-content\">\n <ServerErrorSection className=\"min-h-[calc(100dvh-var(--header-top-bar-height)-var(--content)-var(--content))]\" />\n </div>\n </>\n );\n }\n\n /**\n * Else show the ErrorPage\n */\n return (\n <>\n <Header>\n <Topbar>\n <TopbarTitle breadcrumbs={[{ label: \"Error\" }]} />\n </Topbar>\n </Header>\n\n <div className=\"p-content\">\n <DefaultErrorSection className=\"min-h-[calc(100dvh-var(--header-top-bar-height)-var(--content)-var(--content))]\" />\n </div>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,oBAAoB;AAClC,QACE,4CACE,oBAAC,oBACC,oBAAC,oBACC,oBAAC,eAAY,aAAa,CAAC,EAAE,OAAO,OAAO,CAAC,GAAI,GACzC,GACF,EAET,oBAAC;EAAI,WAAU;YACb,oBAAC,mBAAgB,WAAU,oFAAoF;GAC3G,IACL;;;;;AAOP,SAAgB,sBAAsB;AACpC,QACE,4CACE,oBAAC,oBACC,oBAAC,oBACC,oBAAC,eAAY,aAAa,CAAC,EAAE,OAAO,gBAAgB,CAAC,GAAI,GAClD,GACF,EAET,oBAAC;EAAI,WAAU;YACb,oBAAC,qBAAkB,WAAU,oFAAoF;GAC7G,IACL;;;;;;;;AAUP,SAAgB,eAAe,OAAyB;CACtD,MAAM,kBACJ,MAAM,iBAAiB,cAAc,MAAM,MAAM,OAAO;;;;AAK1D,KAAI,oBAAoB,eACtB,QAAO,oBAAC,wBAAsB;;;;AAMhC,KAAI,oBAAoB,YACtB,QAAO,oBAAC,sBAAoB;;;;AAM9B,KAAI,oBAAoB,wBACtB,QACE,4CACE,oBAAC,oBACC,oBAAC,oBACC,oBAAC,eAAY,aAAa,CAAC,EAAE,OAAO,gBAAgB,CAAC,GAAI,GAClD,GACF,EAET,oBAAC;EAAI,WAAU;YACb,oBAAC,sBAAmB,WAAU,oFAAoF;GAC9G,IACL;;;;AAOP,QACE,4CACE,oBAAC,oBACC,oBAAC,oBACC,oBAAC,eAAY,aAAa,CAAC,EAAE,OAAO,SAAS,CAAC,GAAI,GAC3C,GACF,EAET,oBAAC;EAAI,WAAU;YACb,oBAAC,uBAAoB,WAAU,oFAAoF;GAC/G,IACL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-layout.d.mts","names":[],"sources":["../../../src/components/layouts/admin-layout.tsx"],"mappings":";;;;iBAGgB,WAAA,CAAY,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-layout.mjs","names":[],"sources":["../../../src/components/layouts/admin-layout.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport { SidebarProvider } from \"../ui/sidebar.client\";\n\nexport function AdminLayout(props: PropsWithChildren) {\n return (\n <SidebarProvider className=\"max-h-dvh overflow-hidden border\">{props.children}</SidebarProvider>\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,YAAY,OAA0B;AACpD,QACE,oBAAC;EAAgB,WAAU;YAAoC,MAAM;GAA2B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-loading.d.mts","names":[],"sources":["../../../src/components/layouts/admin-loading.tsx"],"mappings":";;;;iBAGgB,kBAAA,CAAmB,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-loading.mjs","names":[],"sources":["../../../src/components/layouts/admin-loading.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport { Skeleton } from \"../ui/skeleton\";\n\nexport function AdminLoadingLayout(props: PropsWithChildren) {\n return (\n <div className=\"h-dvh\">\n <Skeleton className=\"h-[var(--header-top-bar-height)] w-full rounded-none border-b\" />\n {props.children}\n </div>\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,mBAAmB,OAA0B;AAC3D,QACE,qBAAC;EAAI,WAAU;aACb,oBAAC,YAAS,WAAU,kEAAkE,EACrF,MAAM;GACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty-page.d.mts","names":[],"sources":["../../../src/components/layouts/empty-page.tsx"],"mappings":";;;;;KAIY,cAAA,GAAiB,cAAA,CAAe,cAAA;EAC1C,KAAA;EACA,WAAA;EACA,YAAA;IACE,IAAA,EAAM,KAAA;IACN,KAAA;EAAA;AAAA;AAAA,iBAIY,SAAA,CAAA;EAAY,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAclE,cAAA,CAAA;EAAiB,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQtE,oBAAA,CAAA;EAAuB,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty-page.mjs","names":[],"sources":["../../../src/components/layouts/empty-page.tsx"],"sourcesContent":["import type { Route } from \"next\";\nimport type { ComponentProps, HTMLAttributes } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nexport type EmptyPageProps = HTMLAttributes<HTMLDivElement> & {\n title: string;\n description?: string;\n callToAction?: {\n href: Route;\n title: string;\n };\n};\n\nexport function EmptyPage({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex h-full min-h-[30rem] w-full flex-col items-center justify-center gap-y-2 border border-dashed text-center\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function EmptyPageTitle({ className, children, ...props }: ComponentProps<\"h2\">) {\n return (\n <h2 className={cn(\"font-bold text-lg tracking-tight\", className)} {...props}>\n {children}\n </h2>\n );\n}\n\nexport function EmptyPageDescription({ className, children, ...props }: ComponentProps<\"p\">) {\n return (\n <p className={cn(\"max-w-[40ch] text-muted-foreground text-sm\", className)} {...props}>\n {children}\n </p>\n );\n}\n"],"mappings":";;;;AAaA,SAAgB,UAAU,EAAE,WAAW,UAAU,GAAG,SAAgC;AAClF,QACE,oBAAC;EACC,WAAW,GACT,kHACA,UACD;EACD,GAAI;EAEH;GACG;;AAIV,SAAgB,eAAe,EAAE,WAAW,UAAU,GAAG,SAA+B;AACtF,QACE,oBAAC;EAAG,WAAW,GAAG,oCAAoC,UAAU;EAAE,GAAI;EACnE;GACE;;AAIT,SAAgB,qBAAqB,EAAE,WAAW,UAAU,GAAG,SAA8B;AAC3F,QACE,oBAAC;EAAE,WAAW,GAAG,8CAA8C,UAAU;EAAE,GAAI;EAC5E;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-page.d.mts","names":[],"sources":["../../../src/components/layouts/error-page.tsx"],"mappings":";;;;;;;;;iBAOgB,SAAA,CAAA;EAAY,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;AAAlF;;iBAiBgB,aAAA,CAAA;EAAgB,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;cAW/E,cAAA;oDAKL,aAAA,CAAA,WAAA;;;;iBAEe,aAAA,CAAA;EACd,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,cAAA;EAA0B,OAAA,gBAAuB,cAAA;AAAA,IAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBASpD,oBAAA,CAAA;EAAuB,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-page.mjs","names":[],"sources":["../../../src/components/layouts/error-page.tsx"],"sourcesContent":["import { BugIcon, ServerCrashIcon, ShieldBanIcon } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\n/**\n * ErrorPage\n */\nexport function ErrorPage({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n {...props}\n className={cn(\n \"flex h-full min-h-120 w-full flex-col items-center justify-center gap-y-3 border border-dashed text-center\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\n/**\n * ErrorPageCode\n */\nexport function ErrorPageCode({ className, children, ...props }: ComponentProps<\"h2\">) {\n return (\n <h2 className={cn(\"font-bold text-9xl leading-none\", className)} {...props}>\n {children}\n </h2>\n );\n}\n\n/**\n * ErrorPageIcon\n */\nconst errorPageIcons = {\n serverError: ServerCrashIcon,\n notAllowed: ShieldBanIcon,\n default: BugIcon,\n // 404: BombIcon,\n};\n\nexport function ErrorPageIcon({\n variant = \"default\",\n className,\n ...props\n}: ComponentProps<\"svg\"> & { variant?: keyof typeof errorPageIcons }) {\n const Icon = errorPageIcons[variant];\n\n return <Icon className={cn(\"size-16 xl:size-24\", className)} {...props} />;\n}\n\n/**\n * ErrorPageDescription\n */\nexport function ErrorPageDescription({ className, children, ...props }: ComponentProps<\"p\">) {\n return (\n <p className={cn(\"font-bold text-2xl lg:text-3xl\", className)} {...props}>\n {children}\n </p>\n );\n}\n\n// export function ErrorPage({ className, ...props }: ComponentProps<\"div\">) {\n// return (\n// <div {...props} className={cn(\"relative z-0 grid w-full place-items-center\", className)}>\n// <div className=\"flex flex-col items-center gap-12 text-center\">\n// <span className=\"text-destructive flex flex-col items-center gap-2\">\n// <BugIcon className=\"size-20 xl:size-32\" />\n// <h1 className=\"text-2xl font-bold lg:text-3xl\">Oeps, er is iets fout gegaan.</h1>\n// </span>\n// </div>\n// </div>\n// );\n// }\n"],"mappings":";;;;;;;;AAOA,SAAgB,UAAU,EAAE,WAAW,UAAU,GAAG,SAAgC;AAClF,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GACT,8GACA,UACD;EAEA;GACG;;;;;AAOV,SAAgB,cAAc,EAAE,WAAW,UAAU,GAAG,SAA+B;AACrF,QACE,oBAAC;EAAG,WAAW,GAAG,mCAAmC,UAAU;EAAE,GAAI;EAClE;GACE;;;;;AAOT,MAAM,iBAAiB;CACrB,aAAa;CACb,YAAY;CACZ,SAAS;CAEV;AAED,SAAgB,cAAc,EAC5B,UAAU,WACV,WACA,GAAG,SACiE;CACpE,MAAM,OAAO,eAAe;AAE5B,QAAO,oBAAC;EAAK,WAAW,GAAG,sBAAsB,UAAU;EAAE,GAAI;GAAS;;;;;AAM5E,SAAgB,qBAAqB,EAAE,WAAW,UAAU,GAAG,SAA8B;AAC3F,QACE,oBAAC;EAAE,WAAW,GAAG,kCAAkC,UAAU;EAAE,GAAI;EAChE;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-sections.d.mts","names":[],"sources":["../../../src/components/layouts/error-sections.tsx"],"mappings":";;;;;;;iBAOgB,mBAAA,CAAA;EAAsB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAalE,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAYjE,eAAA,CAAgB,KAAA,EAAO,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAY5C,iBAAA,CAAkB,KAAA,EAAO,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-sections.mjs","names":[],"sources":["../../../src/components/layouts/error-sections.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { ErrorPage, ErrorPageCode, ErrorPageDescription, ErrorPageIcon } from \"./error-page\";\n\n/**\n * DefaultErrorSection\n */\nexport function DefaultErrorSection({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <ErrorPage {...props} className={cn(\"text-destructive\", className)}>\n {/* <BugIcon className=\"size-16 xl:size-24\" /> */}\n <ErrorPageIcon variant=\"default\" />\n <ErrorPageDescription>Oeps, er is iets fout gegaan</ErrorPageDescription>\n </ErrorPage>\n );\n}\n\n/**\n * ServerErrorSection\n */\nexport function ServerErrorSection({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <ErrorPage {...props} className={cn(\"text-destructive\", className)}>\n <ErrorPageIcon variant=\"serverError\" />\n <ErrorPageDescription>Oeps, er is iets fout gegaan met de server</ErrorPageDescription>\n </ErrorPage>\n );\n}\n\n/**\n * NotFoundSection\n */\nexport function NotFoundSection(props: ComponentProps<\"div\">) {\n return (\n <ErrorPage {...props}>\n <ErrorPageCode>404</ErrorPageCode>\n <ErrorPageDescription>Oeps, deze pagina is niet gevonden.</ErrorPageDescription>\n </ErrorPage>\n );\n}\n\n/**\n * Not Allowed Section\n */\nexport function NotAllowedSection(props: ComponentProps<\"div\">) {\n return (\n <ErrorPage {...props}>\n <ErrorPageIcon variant=\"notAllowed\" />\n <ErrorPageDescription>Je hebt geen toegang tot deze pagina.</ErrorPageDescription>\n </ErrorPage>\n );\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,oBAAoB,EAAE,WAAW,GAAG,SAAgC;AAClF,QACE,qBAAC;EAAU,GAAI;EAAO,WAAW,GAAG,oBAAoB,UAAU;aAEhE,oBAAC,iBAAc,SAAQ,YAAY,EACnC,oBAAC,kCAAqB,iCAAmD;GAC/D;;;;;AAOhB,SAAgB,mBAAmB,EAAE,WAAW,GAAG,SAAgC;AACjF,QACE,qBAAC;EAAU,GAAI;EAAO,WAAW,GAAG,oBAAoB,UAAU;aAChE,oBAAC,iBAAc,SAAQ,gBAAgB,EACvC,oBAAC,kCAAqB,+CAAiE;GAC7E;;;;;AAOhB,SAAgB,gBAAgB,OAA8B;AAC5D,QACE,qBAAC;EAAU,GAAI;aACb,oBAAC,2BAAc,QAAmB,EAClC,oBAAC,kCAAqB,wCAA0D;GACtE;;;;;AAOhB,SAAgB,kBAAkB,OAA8B;AAC9D,QACE,qBAAC;EAAU,GAAI;aACb,oBAAC,iBAAc,SAAQ,eAAe,EACtC,oBAAC,kCAAqB,0CAA4D;GACxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-layout.d.mts","names":[],"sources":["../../../src/components/layouts/list-layout.tsx"],"mappings":";;;;iBAGgB,UAAA,CAAA;EAAa,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-layout.mjs","names":[],"sources":["../../../src/components/layouts/list-layout.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nexport function ListLayout({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div {...props} className={cn(\"h-full max-w-full space-y-5\", className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,WAAW,EAAE,WAAW,UAAU,GAAG,SAAgC;AACnF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,+BAA+B,UAAU;EACpE;GACG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.client.d.mts","names":[],"sources":["../../../src/components/layouts/providers.client.tsx"],"mappings":";;;;iBAYgB,SAAA,CAAA;EAAY;AAAA,GAAY,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.client.mjs","names":[],"sources":["../../../src/components/layouts/providers.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\nimport { ThemeProvider } from \"next-themes\";\nimport { NuqsAdapter } from \"nuqs/adapters/next/app\";\nimport type { PropsWithChildren } from \"react\";\nimport { Toaster } from \"@/components/ui/sonner.client\";\nimport { IndicatorContextProvider } from \"@/lib/hooks/use-indicator\";\nimport { getQueryClient } from \"@/modules/router/lib/query-client\";\nimport { TooltipProvider } from \"../ui/tooltip.client\";\n\nexport function Providers({ children }: PropsWithChildren) {\n const queryClient = getQueryClient();\n\n return (\n <QueryClientProvider client={queryClient}>\n <NuqsAdapter>\n <IndicatorContextProvider>\n <TooltipProvider>\n <ThemeProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n {children}\n\n <Toaster />\n <ReactQueryDevtools />\n </ThemeProvider>\n </TooltipProvider>\n </IndicatorContextProvider>\n </NuqsAdapter>\n </QueryClientProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,UAAU,EAAE,YAA+B;AAGzD,QACE,oBAAC;EAAoB,QAHH,gBAAgB;YAIhC,oBAAC,yBACC,oBAAC,sCACC,oBAAC,6BACC,qBAAC;GAAc,WAAU;GAAQ,cAAa;GAAS;;IACpD;IAED,oBAAC,YAAU;IACX,oBAAC,uBAAqB;;IACR,GACA,GACO,GACf;GACM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-error-pages.d.mts","names":[],"sources":["../../../src/components/layouts/root-error-pages.tsx"],"mappings":";;;;;;iBAKgB,gBAAA,CAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-error-pages.mjs","names":[],"sources":["../../../src/components/layouts/root-error-pages.tsx"],"sourcesContent":["import { NotFoundSection } from \"./error-sections\";\n\n/**\n * Admin Not Found Page\n */\nexport function RootNotFoundPage() {\n return (\n <div className=\"relative z-0 grid h-dvh w-full place-items-center\">\n <NotFoundSection className=\"h-full\" />\n </div>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,mBAAmB;AACjC,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC,mBAAgB,WAAU,WAAW;GAClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-layout.server.d.mts","names":[],"sources":["../../../src/components/layouts/root-layout.server.tsx"],"mappings":";;;;;;;;;cAWa,0BAAA,GAA8B,MAAA,EAAQ,WAAA;;;;;;;;;;;;;;;;;;;;;AA6BnD;iBAAgB,UAAA,CAAA;EAAa;AAAA,GAAY,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-layout.server.mjs","names":[],"sources":["../../../src/components/layouts/root-layout.server.tsx"],"sourcesContent":["import \"server-cli-only\";\n\nimport type { Metadata, Viewport } from \"next\";\nimport type { PropsWithChildren } from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { registerFonts } from \"@/lib/utils/fonts\";\nimport type { TulipConfig } from \"@/modules/config/lib/config\";\n\n/**\n * Root layout metadata\n */\nexport const generateRootLayoutMetadata = (config: TulipConfig) => ({\n metadata: {\n title: config.general.name,\n description: \"Developed by NewCode\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"black-translucent\",\n title: config.general.name,\n },\n } satisfies Metadata,\n viewport: {\n width: \"device-width\",\n initialScale: 1,\n themeColor: [\n {\n color: \"#ffffff\",\n media: \"(prefers-color-scheme: light)\",\n },\n {\n color: \"#030303\",\n media: \"(prefers-color-scheme: dark)\",\n },\n ],\n } satisfies Viewport,\n});\n\n/**\n * Root layout\n */\nexport function RootLayout({ children }: PropsWithChildren) {\n return (\n <html lang=\"nl\">\n <body className={cn(\"bg-background font-sans antialiased\", registerFonts())}>{children}</body>\n </html>\n );\n}\n"],"mappings":";;;;;;;;;AAWA,MAAa,8BAA8B,YAAyB;CAClE,UAAU;EACR,OAAO,OAAO,QAAQ;EACtB,aAAa;EACb,aAAa;GACX,SAAS;GACT,gBAAgB;GAChB,OAAO,OAAO,QAAQ;GACvB;EACF;CACD,UAAU;EACR,OAAO;EACP,cAAc;EACd,YAAY,CACV;GACE,OAAO;GACP,OAAO;GACR,EACD;GACE,OAAO;GACP,OAAO;GACR,CACF;EACF;CACF;;;;AAKD,SAAgB,WAAW,EAAE,YAA+B;AAC1D,QACE,oBAAC;EAAK,MAAK;YACT,oBAAC;GAAK,WAAW,GAAG,uCAAuC,eAAe,CAAC;GAAG;IAAgB;GACzF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-loading.d.mts","names":[],"sources":["../../../src/components/layouts/root-loading.tsx"],"mappings":";;;iBAEgB,WAAA,CAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-loading.mjs","names":[],"sources":["../../../src/components/layouts/root-loading.tsx"],"sourcesContent":["import { Loader } from \"../ui/loader\";\n\nexport function RootLoading() {\n return (\n <div className=\"grid h-dvh w-full place-items-center\">\n <Loader />\n </div>\n );\n}\n"],"mappings":";;;;AAEA,SAAgB,cAAc;AAC5B,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC,WAAS;GACN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-layout.d.mts","names":[],"sources":["../../../src/components/layouts/tab-layout.tsx"],"mappings":";;;;;KAUY,GAAA;EACV,IAAA;EACA,IAAA,EAAM,KAAA;EACN,OAAA;EACA,IAAA,GAAO,KAAA,CAAM,SAAA;EACb,UAAA,GAAa,UAAA;AAAA;AAAA,KAGH,cAAA;EACV,IAAA,EAAM,GAAA;EACN,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;AAAA,iBAGF,SAAA,CAAA;EAAY,IAAA;EAAM;AAAA,GAAY,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-layout.mjs","names":[],"sources":["../../../src/components/layouts/tab-layout.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Route } from \"next\";\nimport { useRouter, useSelectedLayoutSegment } from \"next/navigation\";\nimport { useState } from \"react\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs.client\";\nimport { Allowed } from \"@/modules/auth/components/allowed.client\";\nimport type { Permission } from \"@/modules/auth/lib/permissions\";\nimport { ListLayout } from \"./list-layout\";\n\nexport type Tab = {\n name: string;\n href: Route;\n segment: string;\n icon?: React.ReactNode;\n permission?: Permission;\n};\n\nexport type TabLayoutProps = {\n tabs: Tab[];\n children: React.ReactNode;\n};\n\nexport function TabLayout({ tabs, children }: TabLayoutProps) {\n const segment = useSelectedLayoutSegment();\n const router = useRouter();\n\n const initialTab = tabs.find((tab) => tab.segment === segment);\n\n const [selectedTab, setSelectedTab] = useState(initialTab ?? tabs[0]);\n\n return (\n <Tabs\n value={selectedTab?.segment}\n onValueChange={(value) => {\n const newSelectedTab = tabs.find((tab) => tab.segment === value);\n if (!newSelectedTab) return;\n setSelectedTab(newSelectedTab);\n router.replace(newSelectedTab.href);\n }}\n >\n <div className=\"mb-10 max-w-full overflow-x-auto\">\n <TabsList>\n {tabs.map((tab) => {\n const children = (\n <TabsTrigger key={tab.segment} value={tab.segment}>\n {tab.icon && <span className=\"mr-2\">{tab.icon}</span>}\n <span className=\"capitalize\">{tab.name}</span>\n </TabsTrigger>\n );\n\n if (!tab.permission) return children;\n\n return (\n <Allowed key={tab.segment} permission={tab.permission}>\n {children}\n </Allowed>\n );\n })}\n </TabsList>\n </div>\n\n <TabsContent value={selectedTab?.segment ?? \"\"}>\n <ListLayout>{children}</ListLayout>\n </TabsContent>\n </Tabs>\n );\n}\n"],"mappings":";;;;;;;;;;AAuBA,SAAgB,UAAU,EAAE,MAAM,YAA4B;CAC5D,MAAM,UAAU,0BAA0B;CAC1C,MAAM,SAAS,WAAW;CAI1B,MAAM,CAAC,aAAa,kBAAkB,SAFnB,KAAK,MAAM,QAAQ,IAAI,YAAY,QAAQ,IAED,KAAK,GAAG;AAErE,QACE,qBAAC;EACC,OAAO,aAAa;EACpB,gBAAgB,UAAU;GACxB,MAAM,iBAAiB,KAAK,MAAM,QAAQ,IAAI,YAAY,MAAM;AAChE,OAAI,CAAC,eAAgB;AACrB,kBAAe,eAAe;AAC9B,UAAO,QAAQ,eAAe,KAAK;;aAGrC,oBAAC;GAAI,WAAU;aACb,oBAAC,sBACE,KAAK,KAAK,QAAQ;IACjB,MAAM,WACJ,qBAAC;KAA8B,OAAO,IAAI;gBACvC,IAAI,QAAQ,oBAAC;MAAK,WAAU;gBAAQ,IAAI;OAAY,EACrD,oBAAC;MAAK,WAAU;gBAAc,IAAI;OAAY;OAF9B,IAAI,QAGR;AAGhB,QAAI,CAAC,IAAI,WAAY,QAAO;AAE5B,WACE,oBAAC;KAA0B,YAAY,IAAI;KACxC;OADW,IAAI,QAER;KAEZ,GACO;IACP,EAEN,oBAAC;GAAY,OAAO,aAAa,WAAW;aAC1C,oBAAC,cAAY,WAAsB;IACvB;GACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-list.d.mts","names":[],"sources":["../../../src/components/lists/data-list.tsx"],"mappings":";;;;KAGY,aAAA,GAAgB,KAAA,CAAM,cAAA,CAAe,gBAAA;AAAA,iBAEjC,QAAA,CAAA;EAAW,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,aAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQ7D,iBAAA,GAAoB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAErC,YAAA,CAAA;EAAe,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAcrE,kBAAA,GAAqB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAEtC,aAAA,CAAA;EAAgB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQvE,kBAAA,GAAqB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAEtC,aAAA,CAAA;EAAgB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-list.mjs","names":[],"sources":["../../../src/components/lists/data-list.tsx"],"sourcesContent":["import type React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nexport type DataListProps = React.HTMLAttributes<HTMLOListElement>;\n\nexport function DataList({ children, className, ...props }: DataListProps) {\n return (\n <dl {...props} className={cn(\"divide-y\", className)}>\n {children}\n </dl>\n );\n}\n\nexport type DataListItemProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataListItem({ children, className, ...props }: DataListItemProps) {\n return (\n <div\n {...props}\n className={cn(\n \"items-center py-3 first:pt-0 last:pb-0 sm:grid sm:grid-cols-3 sm:gap-4\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nexport type DataListTitleProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataListTitle({ children, className, ...props }: DataListTitleProps) {\n return (\n <dt {...props} className={cn(\"font-semibold text-sm leading-6\", className)}>\n {children}\n </dt>\n );\n}\n\nexport type DataListValueProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataListValue({ children, className, ...props }: DataListValueProps) {\n return (\n <dd {...props} className={cn(\"mt-1 text-sm leading-6 sm:col-span-2 sm:mt-0\", className)}>\n {children}\n </dd>\n );\n}\n"],"mappings":";;;;AAKA,SAAgB,SAAS,EAAE,UAAU,WAAW,GAAG,SAAwB;AACzE,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,YAAY,UAAU;EAChD;GACE;;AAMT,SAAgB,aAAa,EAAE,UAAU,WAAW,GAAG,SAA4B;AACjF,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GACT,0EACA,UACD;EAEA;GACG;;AAMV,SAAgB,cAAc,EAAE,UAAU,WAAW,GAAG,SAA6B;AACnF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,mCAAmC,UAAU;EACvE;GACE;;AAMT,SAAgB,cAAc,EAAE,UAAU,WAAW,GAAG,SAA6B;AACnF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,gDAAgD,UAAU;EACpF;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-stack.d.mts","names":[],"sources":["../../../src/components/lists/data-stack.tsx"],"mappings":";;;;KAGY,kBAAA,GAAqB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAEtC,aAAA,CAAA;EAAgB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,kBAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQvE,oBAAA,GAAuB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAExC,eAAA,CAAA;EAAkB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,oBAAA,GAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQ3E,iBAAA,GAAoB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAErC,YAAA,CAAA;EAAe,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAOrE,oBAAA,GAAuB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAExC,eAAA,CAAA;EAAkB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQxE,cAAA,GAAiB,KAAA,CAAM,cAAA,CAAe,gBAAA;AAAA,iBAElC,SAAA,CAAA;EAAY,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQ/D,mBAAA,GAAsB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAEvC,cAAA,CAAA;EAAiB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,mBAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQzE,mBAAA,GAAsB,KAAA,CAAM,cAAA,CAAe,WAAA;AAAA,iBAEvC,cAAA,CAAA;EAAiB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,mBAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-stack.mjs","names":[],"sources":["../../../src/components/lists/data-stack.tsx"],"sourcesContent":["import type React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nexport type DataStackGridProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataStackGrid({ children, className, ...props }: DataStackGridProps) {\n return (\n <div {...props} className={cn(\"grid gap-10 md:grid-cols-2 xl:grid-cols-3\", className)}>\n {children}\n </div>\n );\n}\n\nexport type DataStackLayoutProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataStackLayout({ children, className, ...props }: DataStackLayoutProps) {\n return (\n <div {...props} className={cn(\"flex flex-col gap-y-8\", className)}>\n {children}\n </div>\n );\n}\n\nexport type DataStackRowProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataStackRow({ children, className, ...props }: DataStackRowProps) {\n return (\n <div {...props} className={cn(\"flex flex-col gap-8 md:flex-row\", className)}>\n {children}\n </div>\n );\n}\nexport type DataStackColumnProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataStackColumn({ children, className, ...props }: DataStackRowProps) {\n return (\n <div {...props} className={cn(\"flex flex-col gap-8\", className)}>\n {children}\n </div>\n );\n}\n\nexport type DataStackProps = React.HTMLAttributes<HTMLOListElement>;\n\nexport function DataStack({ children, className, ...props }: DataStackProps) {\n return (\n <dl {...props} className={cn(\"w-full space-y-3\", className)}>\n {children}\n </dl>\n );\n}\n\nexport type DataStackTitleProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataStackTitle({ children, className, ...props }: DataStackTitleProps) {\n return (\n <dt {...props} className={cn(\"font-medium text-sm leading-none\", className)}>\n {children}\n </dt>\n );\n}\n\nexport type DataStackValueProps = React.HTMLAttributes<HTMLElement>;\n\nexport function DataStackValue({ children, className, ...props }: DataStackValueProps) {\n return (\n <dd {...props} className={cn(\"mt-1 text-sm leading-6 sm:col-span-2 sm:mt-0\", className)}>\n {children}\n </dd>\n );\n}\n"],"mappings":";;;;AAKA,SAAgB,cAAc,EAAE,UAAU,WAAW,GAAG,SAA6B;AACnF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,6CAA6C,UAAU;EAClF;GACG;;AAMV,SAAgB,gBAAgB,EAAE,UAAU,WAAW,GAAG,SAA+B;AACvF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,yBAAyB,UAAU;EAC9D;GACG;;AAMV,SAAgB,aAAa,EAAE,UAAU,WAAW,GAAG,SAA4B;AACjF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,mCAAmC,UAAU;EACxE;GACG;;AAKV,SAAgB,gBAAgB,EAAE,UAAU,WAAW,GAAG,SAA4B;AACpF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,uBAAuB,UAAU;EAC5D;GACG;;AAMV,SAAgB,UAAU,EAAE,UAAU,WAAW,GAAG,SAAyB;AAC3E,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,oBAAoB,UAAU;EACxD;GACE;;AAMT,SAAgB,eAAe,EAAE,UAAU,WAAW,GAAG,SAA8B;AACrF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,oCAAoC,UAAU;EACxE;GACE;;AAMT,SAAgB,eAAe,EAAE,UAAU,WAAW,GAAG,SAA8B;AACrF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,gDAAgD,UAAU;EACpF;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-sidebar-header.client.mjs","names":[],"sources":["../../../src/components/navigation/admin-sidebar-header.client.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ChevronsUpDownIcon,\n LaptopIcon,\n LogOutIcon,\n MoonIcon,\n SettingsIcon,\n SunIcon,\n SunMoonIcon,\n} from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/navigation\";\nimport { useTheme } from \"next-themes\";\nimport React from \"react\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar.client\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu.client\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { useAuthClient } from \"@/modules/auth/hooks/use-auth-client\";\nimport { useSession } from \"@/modules/auth/hooks/use-session\";\nimport { SidebarHeader, useSidebar } from \"../ui/sidebar.client\";\n\nexport function AdminSidebarHeader() {\n const router = useRouter();\n const authClient = useAuthClient();\n const { theme, setTheme } = useTheme();\n\n const [open, setOpen] = React.useState(false);\n\n const { setOpenMobile } = useSidebar();\n\n const sessionQuery = useSession(authClient);\n\n return (\n <SidebarHeader>\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" className=\"items-center justify-between py-3.5\">\n <div className=\"flex items-center gap-4\">\n <Avatar className=\"h-6 w-6 text-sm\">\n <AvatarImage\n src={sessionQuery.data?.user.image ?? undefined}\n alt={sessionQuery.data?.user.name}\n />\n <AvatarFallback>{sessionQuery.data?.user.name?.[0] ?? \"\"}</AvatarFallback>\n </Avatar>\n <span className=\"font-bold text-md text-muted-foreground\">\n {sessionQuery.data?.user.name}\n </span>\n </div>\n\n <ChevronsUpDownIcon className=\"h-4 w-4 text-muted-foreground\" />\n </Button>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent className=\"w-44\">\n <DropdownMenuItem asChild>\n <Link href=\"/admin/settings\" onClick={() => setOpenMobile(false)}>\n <SettingsIcon className=\"mr-2 h-4 w-4\" />\n <span>Instellingen</span>\n </Link>\n </DropdownMenuItem>\n\n <DropdownMenuSeparator />\n\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>\n <SunMoonIcon className=\"mr-2 h-4 w-4\" />\n <span>Thema</span>\n </DropdownMenuSubTrigger>\n\n <DropdownMenuSubContent>\n <DropdownMenuItem\n className={cn(theme === \"light\" && \"bg-secondary font-bold\")}\n onClick={() => setTheme(\"light\")}\n >\n <SunIcon className=\"mr-2 h-4 w-4\" />\n <span>Light</span>\n </DropdownMenuItem>\n\n <DropdownMenuItem\n className={cn(theme === \"dark\" && \"bg-secondary font-bold\")}\n onClick={() => setTheme(\"dark\")}\n >\n <MoonIcon className=\"mr-2 h-4 w-4\" />\n <span>Dark</span>\n </DropdownMenuItem>\n\n <DropdownMenuItem\n className={cn(theme === \"system\" && \"bg-secondary font-bold\")}\n onClick={() => setTheme(\"system\")}\n >\n <LaptopIcon className=\"mr-2 h-4 w-4\" />\n <span>System</span>\n </DropdownMenuItem>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n\n <DropdownMenuItem\n onClick={() => {\n setOpenMobile(false);\n setOpen(false);\n\n authClient.signOut({\n fetchOptions: {\n onSuccess: () => {\n router.replace(\"/auth/login\");\n },\n },\n });\n }}\n >\n <LogOutIcon className=\"mr-2 h-4 w-4\" />\n <span>Log out</span>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarHeader>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,SAAgB,qBAAqB;CACnC,MAAM,SAAS,WAAW;CAC1B,MAAM,aAAa,eAAe;CAClC,MAAM,EAAE,OAAO,aAAa,UAAU;CAEtC,MAAM,CAAC,MAAM,WAAW,MAAM,SAAS,MAAM;CAE7C,MAAM,EAAE,kBAAkB,YAAY;CAEtC,MAAM,eAAe,WAAW,WAAW;AAE3C,QACE,oBAAC,2BACC,qBAAC;EAAmB;EAAM,cAAc;aACtC,oBAAC;GAAoB;aACnB,qBAAC;IAAO,SAAQ;IAAU,WAAU;eAClC,qBAAC;KAAI,WAAU;gBACb,qBAAC;MAAO,WAAU;iBAChB,oBAAC;OACC,KAAK,aAAa,MAAM,KAAK,SAAS;OACtC,KAAK,aAAa,MAAM,KAAK;QAC7B,EACF,oBAAC,4BAAgB,aAAa,MAAM,KAAK,OAAO,MAAM,KAAoB;OACnE,EACT,oBAAC;MAAK,WAAU;gBACb,aAAa,MAAM,KAAK;OACpB;MACH,EAEN,oBAAC,sBAAmB,WAAU,kCAAkC;KACzD;IACW,EAEtB,qBAAC;GAAoB,WAAU;;IAC7B,oBAAC;KAAiB;eAChB,qBAAC;MAAK,MAAK;MAAkB,eAAe,cAAc,MAAM;iBAC9D,oBAAC,gBAAa,WAAU,iBAAiB,EACzC,oBAAC,oBAAK,iBAAmB;OACpB;MACU;IAEnB,oBAAC,0BAAwB;IAEzB,qBAAC,8BACC,qBAAC,qCACC,oBAAC,eAAY,WAAU,iBAAiB,EACxC,oBAAC,oBAAK,UAAY,IACK,EAEzB,qBAAC;KACC,qBAAC;MACC,WAAW,GAAG,UAAU,WAAW,yBAAyB;MAC5D,eAAe,SAAS,QAAQ;iBAEhC,oBAAC,WAAQ,WAAU,iBAAiB,EACpC,oBAAC,oBAAK,UAAY;OACD;KAEnB,qBAAC;MACC,WAAW,GAAG,UAAU,UAAU,yBAAyB;MAC3D,eAAe,SAAS,OAAO;iBAE/B,oBAAC,YAAS,WAAU,iBAAiB,EACrC,oBAAC,oBAAK,SAAW;OACA;KAEnB,qBAAC;MACC,WAAW,GAAG,UAAU,YAAY,yBAAyB;MAC7D,eAAe,SAAS,SAAS;iBAEjC,oBAAC,cAAW,WAAU,iBAAiB,EACvC,oBAAC,oBAAK,WAAa;OACF;QACI,IACT;IAElB,qBAAC;KACC,eAAe;AACb,oBAAc,MAAM;AACpB,cAAQ,MAAM;AAEd,iBAAW,QAAQ,EACjB,cAAc,EACZ,iBAAiB;AACf,cAAO,QAAQ,cAAc;SAEhC,EACF,CAAC;;gBAGJ,oBAAC,cAAW,WAAU,iBAAiB,EACvC,oBAAC,oBAAK,YAAc;MACH;;IACC;GACT,GACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-sidebar-paths.client.d.mts","names":[],"sources":["../../../src/components/navigation/admin-sidebar-paths.client.tsx"],"mappings":";;;;;;;;;;;iBAiCgB,KAAA,CAAA;EAAQ,QAAA;EAAA,GAAa;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAlF;;;AAAA,KAoBY,cAAA,GAAiB,OAAA,CAAM,cAAA;EApBuC;;;;EAyBxE,UAAA,GAAa,UAAA;AAAA;AAAA,iBAGC,SAAA,CAAA;EAAY,UAAA;EAAA,GAAe;AAAA,GAAS,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAelD,cAAA,CAAe,KAAA,EAAO,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAOjD,cAAA,CAAe,KAAA,EAAO,OAAA,CAAM,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AA9B7D;;;AAAA,KA8CK,SAAA,GAAY,OAAA,CAAM,cAAA;EACrB,UAAA,GAAa,UAAA;EACb,QAAA;EACA,OAAA;AAAA;AAAA,iBAGc,IAAA,CAAA;EAAO,UAAA;EAAY,QAAA;EAAU,QAAA;EAAU,OAAA;EAAA,GAAY;AAAA,GAAS,SAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;;AA5CrF;;iBAmEgB,QAAA,CAAA;EAAW,IAAA;EAAM;AAAA,GAAY,OAAA,CAAM,iBAAA;EAAoB,IAAA,EAAM,KAAA;AAAA,KAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAgBrE,SAAA,CAAU,KAAA,EAAO,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;KAetD,gBAAA,GAAmB,OAAA,CAAM,cAAA;EAC5B,UAAA,GAAa,UAAA;EACb,QAAA;EACA,OAAA;AAAA;AAAA,iBAGc,WAAA,CAAA;EACd,UAAA;EACA,QAAA;EACA,OAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAuBH,eAAA,CAAA;EAAkB,IAAA;EAAM;AAAA,GAAY,OAAA,CAAM,iBAAA;EAAoB,IAAA,EAAM,KAAA;AAAA,KAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}