@tulip-systems/core 0.5.15 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (938) hide show
  1. package/dist/auth/server.d.mts +1 -1
  2. package/dist/auth/server.mjs +1 -1
  3. package/dist/components/client.d.mts +2 -4
  4. package/dist/components/client.mjs +2 -4
  5. package/dist/components/common/icons.d.mts +52 -52
  6. package/dist/components/common/icons.d.mts.map +1 -1
  7. package/dist/components/common/icons.mjs.map +1 -1
  8. package/dist/components/common/status.d.mts +3 -3
  9. package/dist/components/common/status.d.mts.map +1 -1
  10. package/dist/components/common/status.mjs.map +1 -1
  11. package/dist/components/editor/components/content.client.d.mts +2 -2
  12. package/dist/components/editor/components/content.client.d.mts.map +1 -1
  13. package/dist/components/editor/components/content.client.mjs.map +1 -1
  14. package/dist/components/editor/components/editor.client.d.mts +4 -4
  15. package/dist/components/editor/components/editor.client.d.mts.map +1 -1
  16. package/dist/components/editor/components/editor.client.mjs +2 -2
  17. package/dist/components/editor/components/editor.client.mjs.map +1 -1
  18. package/dist/components/editor/components/menu-nodes.client.mjs +2 -2
  19. package/dist/components/editor/components/menu-nodes.client.mjs.map +1 -1
  20. package/dist/components/editor/components/menu.client.d.mts +3 -3
  21. package/dist/components/editor/components/menu.client.d.mts.map +1 -1
  22. package/dist/components/editor/components/menu.client.mjs.map +1 -1
  23. package/dist/components/editor/extensions/file-handler/extension.d.mts.map +1 -1
  24. package/dist/components/editor/extensions/file-handler/extension.mjs.map +1 -1
  25. package/dist/components/editor/extensions/file-handler/strategy.d.mts.map +1 -1
  26. package/dist/components/editor/extensions/file-handler/strategy.mjs.map +1 -1
  27. package/dist/components/editor/extensions/file-handler/utils.mjs.map +1 -1
  28. package/dist/components/editor/extensions/image/extension.d.mts.map +1 -1
  29. package/dist/components/editor/extensions/image/extension.mjs.map +1 -1
  30. package/dist/components/editor/extensions/skeleton/renderer.mjs +1 -1
  31. package/dist/components/editor/extensions/skeleton/renderer.mjs.map +1 -1
  32. package/dist/components/editor/lib/constants.d.mts +27 -27
  33. package/dist/components/editor/lib/constants.d.mts.map +1 -1
  34. package/dist/components/editor/lib/extensions.d.mts +0 -1
  35. package/dist/components/editor/lib/extensions.d.mts.map +1 -1
  36. package/dist/components/editor/lib/extensions.mjs +6 -8
  37. package/dist/components/editor/lib/extensions.mjs.map +1 -1
  38. package/dist/components/editor/lib/helpers.d.mts +0 -1
  39. package/dist/components/editor/lib/helpers.d.mts.map +1 -1
  40. package/dist/components/editor/lib/helpers.mjs.map +1 -1
  41. package/dist/components/editor/lib/types.d.mts +0 -1
  42. package/dist/components/editor/lib/types.d.mts.map +1 -1
  43. package/dist/components/editor/lib/variants.mjs.map +1 -1
  44. package/dist/components/emails/forget-password-email.mjs +1 -2
  45. package/dist/components/emails/forget-password-email.mjs.map +1 -1
  46. package/dist/components/header/back-button.client.d.mts +2 -2
  47. package/dist/components/header/back-button.client.d.mts.map +1 -1
  48. package/dist/components/header/back-button.client.mjs.map +1 -1
  49. package/dist/components/header/bottom-bar.client.d.mts +3 -3
  50. package/dist/components/header/bottom-bar.client.d.mts.map +1 -1
  51. package/dist/components/header/bottom-bar.client.mjs.map +1 -1
  52. package/dist/components/header/breadcrumbs.client.d.mts +7 -7
  53. package/dist/components/header/breadcrumbs.client.d.mts.map +1 -1
  54. package/dist/components/header/breadcrumbs.client.mjs.map +1 -1
  55. package/dist/components/header/header.client.d.mts +2 -2
  56. package/dist/components/header/header.client.d.mts.map +1 -1
  57. package/dist/components/header/header.client.mjs.map +1 -1
  58. package/dist/components/header/indicator.client.mjs.map +1 -1
  59. package/dist/components/header/mobile-nav-switcher.client.d.mts +2 -2
  60. package/dist/components/header/mobile-nav-switcher.client.d.mts.map +1 -1
  61. package/dist/components/header/top-bar.client.d.mts +4 -4
  62. package/dist/components/header/top-bar.client.d.mts.map +1 -1
  63. package/dist/components/header/top-bar.client.mjs.map +1 -1
  64. package/dist/components/layouts/admin-content.client.d.mts +2 -2
  65. package/dist/components/layouts/admin-content.client.d.mts.map +1 -1
  66. package/dist/components/layouts/admin-content.client.mjs.map +1 -1
  67. package/dist/components/layouts/admin-error-pages.d.mts +4 -4
  68. package/dist/components/layouts/admin-error-pages.d.mts.map +1 -1
  69. package/dist/components/layouts/admin-error-pages.mjs.map +1 -1
  70. package/dist/components/layouts/admin-layout.d.mts +2 -2
  71. package/dist/components/layouts/admin-layout.d.mts.map +1 -1
  72. package/dist/components/layouts/admin-layout.mjs.map +1 -1
  73. package/dist/components/layouts/admin-loading.d.mts +2 -2
  74. package/dist/components/layouts/admin-loading.d.mts.map +1 -1
  75. package/dist/components/layouts/admin-loading.mjs.map +1 -1
  76. package/dist/components/layouts/empty-page.d.mts +4 -4
  77. package/dist/components/layouts/empty-page.d.mts.map +1 -1
  78. package/dist/components/layouts/empty-page.mjs.map +1 -1
  79. package/dist/components/layouts/error-page.d.mts +9 -9
  80. package/dist/components/layouts/error-page.d.mts.map +1 -1
  81. package/dist/components/layouts/error-page.mjs.map +1 -1
  82. package/dist/components/layouts/error-sections.d.mts +5 -5
  83. package/dist/components/layouts/error-sections.d.mts.map +1 -1
  84. package/dist/components/layouts/error-sections.mjs.map +1 -1
  85. package/dist/components/layouts/list-layout.d.mts +2 -2
  86. package/dist/components/layouts/list-layout.d.mts.map +1 -1
  87. package/dist/components/layouts/list-layout.mjs.map +1 -1
  88. package/dist/components/layouts/providers.client.d.mts +2 -2
  89. package/dist/components/layouts/providers.client.d.mts.map +1 -1
  90. package/dist/components/layouts/providers.client.mjs +1 -1
  91. package/dist/components/layouts/providers.client.mjs.map +1 -1
  92. package/dist/components/layouts/root-error-pages.d.mts +2 -2
  93. package/dist/components/layouts/root-error-pages.d.mts.map +1 -1
  94. package/dist/components/layouts/root-layout.server.d.mts.map +1 -1
  95. package/dist/components/layouts/root-layout.server.mjs.map +1 -1
  96. package/dist/components/layouts/root-loading.d.mts +2 -2
  97. package/dist/components/layouts/root-loading.d.mts.map +1 -1
  98. package/dist/components/layouts/tab-layout.d.mts +2 -2
  99. package/dist/components/layouts/tab-layout.d.mts.map +1 -1
  100. package/dist/components/layouts/tab-layout.mjs +3 -3
  101. package/dist/components/layouts/tab-layout.mjs.map +1 -1
  102. package/dist/components/lists/data-list.d.mts +5 -5
  103. package/dist/components/lists/data-list.d.mts.map +1 -1
  104. package/dist/components/lists/data-list.mjs.map +1 -1
  105. package/dist/components/lists/data-stack.d.mts +8 -8
  106. package/dist/components/lists/data-stack.d.mts.map +1 -1
  107. package/dist/components/lists/data-stack.mjs.map +1 -1
  108. package/dist/components/navigation/admin-sidebar-header.client.mjs.map +1 -1
  109. package/dist/components/navigation/admin-sidebar-paths.client.d.mts +10 -10
  110. package/dist/components/navigation/admin-sidebar-paths.client.d.mts.map +1 -1
  111. package/dist/components/navigation/admin-sidebar-paths.client.mjs.map +1 -1
  112. package/dist/components/navigation/admin-sidebar-skeleton.mjs.map +1 -1
  113. package/dist/components/ui/accordion.d.mts +5 -5
  114. package/dist/components/ui/accordion.d.mts.map +1 -1
  115. package/dist/components/ui/accordion.mjs +0 -1
  116. package/dist/components/ui/accordion.mjs.map +1 -1
  117. package/dist/components/ui/alert-dialog.d.mts +12 -12
  118. package/dist/components/ui/alert-dialog.d.mts.map +1 -1
  119. package/dist/components/ui/alert-dialog.mjs +0 -1
  120. package/dist/components/ui/alert-dialog.mjs.map +1 -1
  121. package/dist/components/ui/alert.d.mts +6 -6
  122. package/dist/components/ui/alert.d.mts.map +1 -1
  123. package/dist/components/ui/alert.mjs +0 -1
  124. package/dist/components/ui/alert.mjs.map +1 -1
  125. package/dist/components/ui/aspect-ratio.d.mts +2 -2
  126. package/dist/components/ui/aspect-ratio.d.mts.map +1 -1
  127. package/dist/components/ui/avatar.client.d.mts +4 -4
  128. package/dist/components/ui/avatar.client.d.mts.map +1 -1
  129. package/dist/components/ui/avatar.client.mjs +0 -1
  130. package/dist/components/ui/avatar.client.mjs.map +1 -1
  131. package/dist/components/ui/badge.d.mts +4 -4
  132. package/dist/components/ui/badge.d.mts.map +1 -1
  133. package/dist/components/ui/badge.mjs +0 -1
  134. package/dist/components/ui/badge.mjs.map +1 -1
  135. package/dist/components/ui/breadcrumb.d.mts +8 -8
  136. package/dist/components/ui/breadcrumb.d.mts.map +1 -1
  137. package/dist/components/ui/breadcrumb.mjs +1 -2
  138. package/dist/components/ui/breadcrumb.mjs.map +1 -1
  139. package/dist/components/ui/button.d.mts +5 -5
  140. package/dist/components/ui/button.d.mts.map +1 -1
  141. package/dist/components/ui/button.mjs +0 -1
  142. package/dist/components/ui/button.mjs.map +1 -1
  143. package/dist/components/ui/calendar.d.mts +3 -3
  144. package/dist/components/ui/calendar.d.mts.map +1 -1
  145. package/dist/components/ui/calendar.mjs +12 -12
  146. package/dist/components/ui/calendar.mjs.map +1 -1
  147. package/dist/components/ui/card.d.mts +7 -7
  148. package/dist/components/ui/card.d.mts.map +1 -1
  149. package/dist/components/ui/card.mjs +0 -1
  150. package/dist/components/ui/card.mjs.map +1 -1
  151. package/dist/components/ui/carousel.d.mts +6 -6
  152. package/dist/components/ui/carousel.d.mts.map +1 -1
  153. package/dist/components/ui/carousel.mjs +4 -4
  154. package/dist/components/ui/carousel.mjs.map +1 -1
  155. package/dist/components/ui/chart.client.d.mts +5 -5
  156. package/dist/components/ui/chart.client.d.mts.map +1 -1
  157. package/dist/components/ui/chart.client.mjs +6 -6
  158. package/dist/components/ui/chart.client.mjs.map +1 -1
  159. package/dist/components/ui/checkbox.d.mts +2 -2
  160. package/dist/components/ui/checkbox.d.mts.map +1 -1
  161. package/dist/components/ui/checkbox.mjs +0 -1
  162. package/dist/components/ui/checkbox.mjs.map +1 -1
  163. package/dist/components/ui/collapsible.client.d.mts +4 -4
  164. package/dist/components/ui/collapsible.client.d.mts.map +1 -1
  165. package/dist/components/ui/color-picker.client.d.mts +2 -2
  166. package/dist/components/ui/color-picker.client.d.mts.map +1 -1
  167. package/dist/components/ui/color-picker.client.mjs +6 -5
  168. package/dist/components/ui/color-picker.client.mjs.map +1 -1
  169. package/dist/components/ui/combobox-dropdown.client.d.mts +2 -3
  170. package/dist/components/ui/combobox-dropdown.client.d.mts.map +1 -1
  171. package/dist/components/ui/combobox-dropdown.client.mjs +3 -3
  172. package/dist/components/ui/combobox-dropdown.client.mjs.map +1 -1
  173. package/dist/components/ui/combobox.client.d.mts +2 -2
  174. package/dist/components/ui/combobox.client.d.mts.map +1 -1
  175. package/dist/components/ui/combobox.client.mjs +2 -2
  176. package/dist/components/ui/combobox.client.mjs.map +1 -1
  177. package/dist/components/ui/command.d.mts +10 -10
  178. package/dist/components/ui/command.d.mts.map +1 -1
  179. package/dist/components/ui/command.mjs +0 -1
  180. package/dist/components/ui/command.mjs.map +1 -1
  181. package/dist/components/ui/context-menu.d.mts +16 -16
  182. package/dist/components/ui/context-menu.d.mts.map +1 -1
  183. package/dist/components/ui/context-menu.mjs +0 -1
  184. package/dist/components/ui/context-menu.mjs.map +1 -1
  185. package/dist/components/ui/date-picker.client.d.mts +2 -2
  186. package/dist/components/ui/date-picker.client.d.mts.map +1 -1
  187. package/dist/components/ui/date-picker.client.mjs +3 -3
  188. package/dist/components/ui/date-picker.client.mjs.map +1 -1
  189. package/dist/components/ui/dialog.client.d.mts +11 -11
  190. package/dist/components/ui/dialog.client.d.mts.map +1 -1
  191. package/dist/components/ui/dialog.client.mjs +0 -1
  192. package/dist/components/ui/dialog.client.mjs.map +1 -1
  193. package/dist/components/ui/drawer.client.d.mts +11 -11
  194. package/dist/components/ui/drawer.client.d.mts.map +1 -1
  195. package/dist/components/ui/drawer.client.mjs +0 -1
  196. package/dist/components/ui/drawer.client.mjs.map +1 -1
  197. package/dist/components/ui/dropdown-menu.d.mts +16 -16
  198. package/dist/components/ui/dropdown-menu.d.mts.map +1 -1
  199. package/dist/components/ui/dropdown-menu.mjs +0 -1
  200. package/dist/components/ui/dropdown-menu.mjs.map +1 -1
  201. package/dist/components/ui/form.client.d.mts +7 -7
  202. package/dist/components/ui/form.client.d.mts.map +1 -1
  203. package/dist/components/ui/form.client.mjs.map +1 -1
  204. package/dist/components/ui/hover-card.client.d.mts +4 -4
  205. package/dist/components/ui/hover-card.client.d.mts.map +1 -1
  206. package/dist/components/ui/hover-card.client.mjs +0 -1
  207. package/dist/components/ui/hover-card.client.mjs.map +1 -1
  208. package/dist/components/ui/input-date-time.d.mts +23 -0
  209. package/dist/components/ui/input-date-time.d.mts.map +1 -0
  210. package/dist/components/ui/input-date-time.mjs +34 -0
  211. package/dist/components/ui/input-date-time.mjs.map +1 -0
  212. package/dist/components/ui/input-date.d.mts +14 -0
  213. package/dist/components/ui/input-date.d.mts.map +1 -0
  214. package/dist/components/ui/input-date.mjs +16 -0
  215. package/dist/components/ui/input-date.mjs.map +1 -0
  216. package/dist/components/ui/input-recipient.d.mts +2 -2
  217. package/dist/components/ui/input-recipient.d.mts.map +1 -1
  218. package/dist/components/ui/input-recipient.mjs +2 -2
  219. package/dist/components/ui/input-recipient.mjs.map +1 -1
  220. package/dist/components/ui/input-time.d.mts +14 -0
  221. package/dist/components/ui/input-time.d.mts.map +1 -0
  222. package/dist/components/ui/input-time.mjs +16 -0
  223. package/dist/components/ui/input-time.mjs.map +1 -0
  224. package/dist/components/ui/input.d.mts +2 -2
  225. package/dist/components/ui/input.d.mts.map +1 -1
  226. package/dist/components/ui/input.mjs +0 -1
  227. package/dist/components/ui/input.mjs.map +1 -1
  228. package/dist/components/ui/label.d.mts +2 -2
  229. package/dist/components/ui/label.d.mts.map +1 -1
  230. package/dist/components/ui/label.mjs +0 -1
  231. package/dist/components/ui/label.mjs.map +1 -1
  232. package/dist/components/ui/navigation-menu.d.mts +11 -11
  233. package/dist/components/ui/navigation-menu.d.mts.map +1 -1
  234. package/dist/components/ui/navigation-menu.mjs +0 -1
  235. package/dist/components/ui/navigation-menu.mjs.map +1 -1
  236. package/dist/components/ui/pagination.d.mts +8 -8
  237. package/dist/components/ui/pagination.d.mts.map +1 -1
  238. package/dist/components/ui/pagination.mjs +0 -1
  239. package/dist/components/ui/pagination.mjs.map +1 -1
  240. package/dist/components/ui/popover.d.mts +5 -5
  241. package/dist/components/ui/popover.d.mts.map +1 -1
  242. package/dist/components/ui/popover.mjs +0 -1
  243. package/dist/components/ui/popover.mjs.map +1 -1
  244. package/dist/components/ui/progress.client.d.mts +2 -2
  245. package/dist/components/ui/progress.client.d.mts.map +1 -1
  246. package/dist/components/ui/progress.client.mjs +0 -1
  247. package/dist/components/ui/progress.client.mjs.map +1 -1
  248. package/dist/components/ui/radio-group.d.mts +3 -3
  249. package/dist/components/ui/radio-group.d.mts.map +1 -1
  250. package/dist/components/ui/radio-group.mjs +0 -1
  251. package/dist/components/ui/radio-group.mjs.map +1 -1
  252. package/dist/components/ui/resizable.client.d.mts +4 -4
  253. package/dist/components/ui/resizable.client.d.mts.map +1 -1
  254. package/dist/components/ui/resizable.client.mjs +0 -1
  255. package/dist/components/ui/resizable.client.mjs.map +1 -1
  256. package/dist/components/ui/scroll-area.d.mts +3 -3
  257. package/dist/components/ui/scroll-area.d.mts.map +1 -1
  258. package/dist/components/ui/scroll-area.mjs +0 -1
  259. package/dist/components/ui/scroll-area.mjs.map +1 -1
  260. package/dist/components/ui/select.client.d.mts +11 -11
  261. package/dist/components/ui/select.client.d.mts.map +1 -1
  262. package/dist/components/ui/select.client.mjs +0 -1
  263. package/dist/components/ui/select.client.mjs.map +1 -1
  264. package/dist/components/ui/separator.d.mts +2 -2
  265. package/dist/components/ui/separator.d.mts.map +1 -1
  266. package/dist/components/ui/separator.mjs +0 -1
  267. package/dist/components/ui/separator.mjs.map +1 -1
  268. package/dist/components/ui/sheet.client.d.mts +9 -9
  269. package/dist/components/ui/sheet.client.d.mts.map +1 -1
  270. package/dist/components/ui/sheet.client.mjs +0 -1
  271. package/dist/components/ui/sheet.client.mjs.map +1 -1
  272. package/dist/components/ui/sidebar.client.d.mts +24 -24
  273. package/dist/components/ui/sidebar.client.d.mts.map +1 -1
  274. package/dist/components/ui/sidebar.client.mjs +2 -2
  275. package/dist/components/ui/sidebar.client.mjs.map +1 -1
  276. package/dist/components/ui/skeleton.d.mts +2 -2
  277. package/dist/components/ui/skeleton.d.mts.map +1 -1
  278. package/dist/components/ui/slider.d.mts +2 -2
  279. package/dist/components/ui/slider.d.mts.map +1 -1
  280. package/dist/components/ui/sonner.client.d.mts +2 -2
  281. package/dist/components/ui/sonner.client.d.mts.map +1 -1
  282. package/dist/components/ui/sonner.client.mjs.map +1 -1
  283. package/dist/components/ui/switch.d.mts +2 -2
  284. package/dist/components/ui/switch.d.mts.map +1 -1
  285. package/dist/components/ui/switch.mjs +0 -1
  286. package/dist/components/ui/switch.mjs.map +1 -1
  287. package/dist/components/ui/tabs.d.mts +5 -5
  288. package/dist/components/ui/tabs.d.mts.map +1 -1
  289. package/dist/components/ui/tabs.mjs +0 -1
  290. package/dist/components/ui/tabs.mjs.map +1 -1
  291. package/dist/components/ui/textarea.d.mts +2 -2
  292. package/dist/components/ui/textarea.d.mts.map +1 -1
  293. package/dist/components/ui/textarea.mjs +0 -1
  294. package/dist/components/ui/textarea.mjs.map +1 -1
  295. package/dist/components/ui/toggle-group.client.d.mts +3 -3
  296. package/dist/components/ui/toggle-group.client.d.mts.map +1 -1
  297. package/dist/components/ui/toggle-group.client.mjs.map +1 -1
  298. package/dist/components/ui/toggle.d.mts +4 -4
  299. package/dist/components/ui/toggle.d.mts.map +1 -1
  300. package/dist/components/ui/toggle.mjs +0 -1
  301. package/dist/components/ui/toggle.mjs.map +1 -1
  302. package/dist/components/ui/tooltip.client.d.mts +5 -5
  303. package/dist/components/ui/tooltip.client.d.mts.map +1 -1
  304. package/dist/components/ui/tooltip.client.mjs +0 -1
  305. package/dist/components/ui/tooltip.client.mjs.map +1 -1
  306. package/dist/components.d.mts +4 -1
  307. package/dist/components.mjs +4 -1
  308. package/dist/data-tables/client.d.mts +4 -4
  309. package/dist/data-tables/client.mjs +4 -4
  310. package/dist/inline-edit/client.d.mts +5 -3
  311. package/dist/inline-edit/client.mjs +5 -3
  312. package/dist/lib/config/constants.d.mts.map +1 -1
  313. package/dist/lib/config/constants.mjs.map +1 -1
  314. package/dist/lib/hooks/use-action.d.mts +2 -3
  315. package/dist/lib/hooks/use-action.d.mts.map +1 -1
  316. package/dist/lib/hooks/use-action.mjs.map +1 -1
  317. package/dist/lib/hooks/use-indicator.d.mts +2 -2
  318. package/dist/lib/hooks/use-indicator.d.mts.map +1 -1
  319. package/dist/lib/hooks/use-indicator.mjs +4 -4
  320. package/dist/lib/hooks/use-indicator.mjs.map +1 -1
  321. package/dist/lib/hooks/use-mobile.client.d.mts.map +1 -1
  322. package/dist/lib/types/config.d.mts.map +1 -1
  323. package/dist/lib/utils/array-move.d.mts.map +1 -1
  324. package/dist/lib/utils/cn.d.mts.map +1 -1
  325. package/dist/lib/utils/cn.mjs.map +1 -1
  326. package/dist/lib/utils/fonts.d.mts.map +1 -1
  327. package/dist/lib/utils/format.d.mts.map +1 -1
  328. package/dist/lib/utils/manifest.d.mts.map +1 -1
  329. package/dist/lib/utils/manifest.mjs.map +1 -1
  330. package/dist/lib/utils/url.d.mts.map +1 -1
  331. package/dist/lib/utils/url.mjs +1 -1
  332. package/dist/lib/utils/url.mjs.map +1 -1
  333. package/dist/modules/auth/components/allowed.client.d.mts +2 -2
  334. package/dist/modules/auth/components/allowed.client.d.mts.map +1 -1
  335. package/dist/modules/auth/components/allowed.client.mjs.map +1 -1
  336. package/dist/modules/auth/components/auth-layout.server.d.mts +2 -2
  337. package/dist/modules/auth/components/auth-layout.server.d.mts.map +1 -1
  338. package/dist/modules/auth/components/auth-layout.server.mjs.map +1 -1
  339. package/dist/modules/auth/components/auth-loading.d.mts +2 -2
  340. package/dist/modules/auth/components/auth-loading.d.mts.map +1 -1
  341. package/dist/modules/auth/components/create-first-user-page.client.d.mts +2 -2
  342. package/dist/modules/auth/components/create-first-user-page.client.d.mts.map +1 -1
  343. package/dist/modules/auth/components/create-first-user-page.client.mjs +1 -1
  344. package/dist/modules/auth/components/create-first-user-page.client.mjs.map +1 -1
  345. package/dist/modules/auth/components/forget-password-page.client.d.mts +2 -2
  346. package/dist/modules/auth/components/forget-password-page.client.d.mts.map +1 -1
  347. package/dist/modules/auth/components/forget-password-page.client.mjs +2 -2
  348. package/dist/modules/auth/components/forget-password-page.client.mjs.map +1 -1
  349. package/dist/modules/auth/components/guard-first-user.server.d.mts +2 -2
  350. package/dist/modules/auth/components/guard-first-user.server.d.mts.map +1 -1
  351. package/dist/modules/auth/components/guard-first-user.server.mjs.map +1 -1
  352. package/dist/modules/auth/components/guard.server.d.mts +2 -2
  353. package/dist/modules/auth/components/guard.server.d.mts.map +1 -1
  354. package/dist/modules/auth/components/guard.server.mjs.map +1 -1
  355. package/dist/modules/auth/components/login-page.client.d.mts +2 -2
  356. package/dist/modules/auth/components/login-page.client.d.mts.map +1 -1
  357. package/dist/modules/auth/components/login-page.client.mjs +1 -1
  358. package/dist/modules/auth/components/login-page.client.mjs.map +1 -1
  359. package/dist/modules/auth/components/reset-password-page.client.d.mts +2 -2
  360. package/dist/modules/auth/components/reset-password-page.client.d.mts.map +1 -1
  361. package/dist/modules/auth/components/reset-password-page.client.mjs +2 -2
  362. package/dist/modules/auth/components/reset-password-page.client.mjs.map +1 -1
  363. package/dist/modules/auth/components/update-password-command.d.mts +2 -2
  364. package/dist/modules/auth/components/update-password-command.d.mts.map +1 -1
  365. package/dist/modules/auth/components/update-password-command.mjs +0 -1
  366. package/dist/modules/auth/components/update-password-command.mjs.map +1 -1
  367. package/dist/modules/auth/db/schema.d.mts +73 -73
  368. package/dist/modules/auth/db/schema.d.mts.map +1 -1
  369. package/dist/modules/auth/db/schema.mjs +1 -1
  370. package/dist/modules/auth/db/schema.mjs.map +1 -1
  371. package/dist/modules/auth/handler/create-client.client.d.mts +304 -284
  372. package/dist/modules/auth/handler/create-client.client.d.mts.map +1 -1
  373. package/dist/modules/auth/handler/create-client.client.mjs.map +1 -1
  374. package/dist/modules/auth/handler/init.d.mts +206 -220
  375. package/dist/modules/auth/handler/init.d.mts.map +1 -1
  376. package/dist/modules/auth/handler/init.mjs +2 -2
  377. package/dist/modules/auth/handler/init.mjs.map +1 -1
  378. package/dist/modules/auth/handler/proxy.server.d.mts +0 -1
  379. package/dist/modules/auth/handler/proxy.server.d.mts.map +1 -1
  380. package/dist/modules/auth/handler/proxy.server.mjs +0 -1
  381. package/dist/modules/auth/handler/proxy.server.mjs.map +1 -1
  382. package/dist/modules/auth/handler/route.server.d.mts +0 -1
  383. package/dist/modules/auth/handler/route.server.d.mts.map +1 -1
  384. package/dist/modules/auth/handler/route.server.mjs.map +1 -1
  385. package/dist/modules/auth/hooks/use-auth-client.d.mts +4 -4
  386. package/dist/modules/auth/hooks/use-auth-client.d.mts.map +1 -1
  387. package/dist/modules/auth/hooks/use-auth-client.mjs.map +1 -1
  388. package/dist/modules/auth/hooks/use-permission.d.mts.map +1 -1
  389. package/dist/modules/auth/hooks/use-permission.mjs +2 -2
  390. package/dist/modules/auth/hooks/use-permission.mjs.map +1 -1
  391. package/dist/modules/auth/hooks/use-session.d.mts +2 -2
  392. package/dist/modules/auth/hooks/use-session.d.mts.map +1 -1
  393. package/dist/modules/auth/hooks/use-session.mjs.map +1 -1
  394. package/dist/modules/auth/lib/helpers.server.d.mts.map +1 -1
  395. package/dist/modules/auth/lib/helpers.server.mjs +2 -2
  396. package/dist/modules/auth/lib/helpers.server.mjs.map +1 -1
  397. package/dist/modules/auth/lib/permissions.d.mts.map +1 -1
  398. package/dist/modules/auth/lib/validators.d.mts +2 -3
  399. package/dist/modules/auth/lib/validators.d.mts.map +1 -1
  400. package/dist/modules/commands/components/alert-dialog-command.client.d.mts +10 -10
  401. package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
  402. package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
  403. package/dist/modules/commands/components/click-command.client.d.mts +2 -2
  404. package/dist/modules/commands/components/click-command.client.d.mts.map +1 -1
  405. package/dist/modules/commands/components/click-command.client.mjs +0 -1
  406. package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
  407. package/dist/modules/commands/components/command-trigger.client.d.mts +6 -6
  408. package/dist/modules/commands/components/command-trigger.client.d.mts.map +1 -1
  409. package/dist/modules/commands/components/command-trigger.client.mjs.map +1 -1
  410. package/dist/modules/commands/components/dialog-command.client.d.mts +8 -8
  411. package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
  412. package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
  413. package/dist/modules/commands/components/dropdown-command.client.d.mts +5 -5
  414. package/dist/modules/commands/components/dropdown-command.client.d.mts.map +1 -1
  415. package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
  416. package/dist/modules/commands/components/empty-command.client.d.mts +2 -2
  417. package/dist/modules/commands/components/empty-command.client.d.mts.map +1 -1
  418. package/dist/modules/commands/components/empty-command.client.mjs +0 -1
  419. package/dist/modules/commands/components/empty-command.client.mjs.map +1 -1
  420. package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -11
  421. package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +1 -1
  422. package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
  423. package/dist/modules/commands/components/render-command.mjs.map +1 -1
  424. package/dist/modules/commands/hooks/context.client.mjs.map +1 -1
  425. package/dist/modules/commands/hooks/use-command-menu.client.d.mts.map +1 -1
  426. package/dist/modules/commands/hooks/use-command-menu.client.mjs +1 -1
  427. package/dist/modules/commands/hooks/use-command-menu.client.mjs.map +1 -1
  428. package/dist/modules/commands/hooks/use-command-mutation.client.d.mts.map +1 -1
  429. package/dist/modules/commands/hooks/use-command-mutation.client.mjs.map +1 -1
  430. package/dist/modules/commands/lib/definitions.d.mts +0 -1
  431. package/dist/modules/commands/lib/definitions.d.mts.map +1 -1
  432. package/dist/modules/commands/lib/factory.d.mts.map +1 -1
  433. package/dist/modules/commands/menus/context-menu.client.d.mts +2 -2
  434. package/dist/modules/commands/menus/context-menu.client.d.mts.map +1 -1
  435. package/dist/modules/commands/menus/context-menu.client.mjs +5 -5
  436. package/dist/modules/commands/menus/context-menu.client.mjs.map +1 -1
  437. package/dist/modules/commands/menus/data-table-menu.client.mjs.map +1 -1
  438. package/dist/modules/commands/menus/dropdown-menu.client.d.mts +3 -3
  439. package/dist/modules/commands/menus/dropdown-menu.client.d.mts.map +1 -1
  440. package/dist/modules/commands/menus/dropdown-menu.client.mjs.map +1 -1
  441. package/dist/modules/commands/menus/inline-menu.client.d.mts +3 -3
  442. package/dist/modules/commands/menus/inline-menu.client.d.mts.map +1 -1
  443. package/dist/modules/commands/menus/inline-menu.client.mjs +0 -1
  444. package/dist/modules/commands/menus/inline-menu.client.mjs.map +1 -1
  445. package/dist/modules/commands/menus/responsive-menu.client.d.mts +3 -3
  446. package/dist/modules/commands/menus/responsive-menu.client.d.mts.map +1 -1
  447. package/dist/modules/commands/menus/responsive-menu.client.mjs.map +1 -1
  448. package/dist/modules/commands/utils/archive-command.client.d.mts +3 -3
  449. package/dist/modules/commands/utils/archive-command.client.d.mts.map +1 -1
  450. package/dist/modules/commands/utils/archive-command.client.mjs.map +1 -1
  451. package/dist/modules/commands/utils/delete-command.client.d.mts +3 -3
  452. package/dist/modules/commands/utils/delete-command.client.d.mts.map +1 -1
  453. package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
  454. package/dist/modules/config/db/helpers.d.mts +5 -5
  455. package/dist/modules/config/db/helpers.d.mts.map +1 -1
  456. package/dist/modules/config/db/helpers.mjs.map +1 -1
  457. package/dist/modules/config/db/init.d.mts.map +1 -1
  458. package/dist/modules/config/db/init.mjs.map +1 -1
  459. package/dist/modules/config/db/types.d.mts.map +1 -1
  460. package/dist/modules/config/lib/config.d.mts.map +1 -1
  461. package/dist/modules/config/lib/context.d.mts.map +1 -1
  462. package/dist/modules/config/lib/context.mjs.map +1 -1
  463. package/dist/modules/config/paths/helpers.d.mts +0 -1
  464. package/dist/modules/config/paths/helpers.d.mts.map +1 -1
  465. package/dist/modules/config/paths/helpers.mjs.map +1 -1
  466. package/dist/modules/config/paths/types.d.mts +0 -1
  467. package/dist/modules/config/paths/types.d.mts.map +1 -1
  468. package/dist/modules/config/providers/email.d.mts.map +1 -1
  469. package/dist/modules/data-tables/components/cell/common.client.d.mts +5 -5
  470. package/dist/modules/data-tables/components/cell/common.client.d.mts.map +1 -1
  471. package/dist/modules/data-tables/components/cell/common.client.mjs.map +1 -1
  472. package/dist/modules/data-tables/components/cell/index.client.d.mts.map +1 -1
  473. package/dist/modules/data-tables/components/cell/select.client.d.mts.map +1 -1
  474. package/dist/modules/data-tables/components/column-header.d.mts +2 -2
  475. package/dist/modules/data-tables/components/column-header.d.mts.map +1 -1
  476. package/dist/modules/data-tables/components/column-header.mjs.map +1 -1
  477. package/dist/modules/data-tables/components/filters/combobox.client.d.mts +2 -2
  478. package/dist/modules/data-tables/components/filters/combobox.client.d.mts.map +1 -1
  479. package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
  480. package/dist/modules/data-tables/components/filters/slider.client.d.mts +2 -2
  481. package/dist/modules/data-tables/components/filters/slider.client.d.mts.map +1 -1
  482. package/dist/modules/data-tables/components/filters/slider.client.mjs +1 -1
  483. package/dist/modules/data-tables/components/filters/slider.client.mjs.map +1 -1
  484. package/dist/modules/data-tables/components/footer.mjs.map +1 -1
  485. package/dist/modules/data-tables/components/header.d.mts +4 -4
  486. package/dist/modules/data-tables/components/header.d.mts.map +1 -1
  487. package/dist/modules/data-tables/components/header.mjs.map +1 -1
  488. package/dist/modules/data-tables/components/layout.d.mts +2 -2
  489. package/dist/modules/data-tables/components/layout.d.mts.map +1 -1
  490. package/dist/modules/data-tables/components/layout.mjs.map +1 -1
  491. package/dist/modules/data-tables/components/search-input.client.d.mts +2 -2
  492. package/dist/modules/data-tables/components/search-input.client.d.mts.map +1 -1
  493. package/dist/modules/data-tables/components/skeleton.d.mts +2 -2
  494. package/dist/modules/data-tables/components/skeleton.d.mts.map +1 -1
  495. package/dist/modules/data-tables/components/skeleton.mjs +4 -4
  496. package/dist/modules/data-tables/components/skeleton.mjs.map +1 -1
  497. package/dist/modules/data-tables/components/table.d.mts +7 -7
  498. package/dist/modules/data-tables/components/table.d.mts.map +1 -1
  499. package/dist/modules/data-tables/components/table.mjs +0 -1
  500. package/dist/modules/data-tables/components/table.mjs.map +1 -1
  501. package/dist/modules/data-tables/components/toolbar.d.mts +3 -3
  502. package/dist/modules/data-tables/components/toolbar.d.mts.map +1 -1
  503. package/dist/modules/data-tables/components/toolbar.mjs.map +1 -1
  504. package/dist/modules/data-tables/hooks/use-context.client.d.mts +2 -2
  505. package/dist/modules/data-tables/hooks/use-context.client.d.mts.map +1 -1
  506. package/dist/modules/data-tables/hooks/use-context.client.mjs.map +1 -1
  507. package/dist/modules/data-tables/hooks/use-selection.client.mjs.map +1 -1
  508. package/dist/modules/data-tables/hooks/use-table.client.d.mts.map +1 -1
  509. package/dist/modules/data-tables/hooks/use-table.client.mjs.map +1 -1
  510. package/dist/modules/data-tables/lib/converters/cursor.d.mts +0 -1
  511. package/dist/modules/data-tables/lib/converters/cursor.d.mts.map +1 -1
  512. package/dist/modules/data-tables/lib/converters/cursor.mjs.map +1 -1
  513. package/dist/modules/data-tables/lib/converters/dto.d.mts +0 -1
  514. package/dist/modules/data-tables/lib/converters/dto.d.mts.map +1 -1
  515. package/dist/modules/data-tables/lib/converters/dto.mjs.map +1 -1
  516. package/dist/modules/data-tables/lib/converters/filter.d.mts.map +1 -1
  517. package/dist/modules/data-tables/lib/converters/search.d.mts +1 -1
  518. package/dist/modules/data-tables/lib/converters/search.d.mts.map +1 -1
  519. package/dist/modules/data-tables/lib/converters/search.mjs.map +1 -1
  520. package/dist/modules/data-tables/lib/converters/sorting.d.mts +1 -1
  521. package/dist/modules/data-tables/lib/converters/sorting.d.mts.map +1 -1
  522. package/dist/modules/data-tables/lib/converters/sorting.mjs.map +1 -1
  523. package/dist/modules/data-tables/lib/filters/config.d.mts.map +1 -1
  524. package/dist/modules/data-tables/lib/filters/config.mjs.map +1 -1
  525. package/dist/modules/data-tables/lib/filters/helpers.d.mts.map +1 -1
  526. package/dist/modules/data-tables/lib/filters/helpers.mjs +4 -4
  527. package/dist/modules/data-tables/lib/filters/helpers.mjs.map +1 -1
  528. package/dist/modules/data-tables/lib/filters/parsers.d.mts.map +1 -1
  529. package/dist/modules/data-tables/lib/filters/parsers.mjs.map +1 -1
  530. package/dist/modules/data-tables/lib/filters/resolvers.d.mts.map +1 -1
  531. package/dist/modules/data-tables/lib/filters/resolvers.mjs +1 -1
  532. package/dist/modules/data-tables/lib/filters/resolvers.mjs.map +1 -1
  533. package/dist/modules/data-tables/lib/helpers/create-column.mjs.map +1 -1
  534. package/dist/modules/data-tables/lib/search-params.d.mts +6 -6
  535. package/dist/modules/data-tables/lib/search-params.d.mts.map +1 -1
  536. package/dist/modules/data-tables/lib/types.d.mts +0 -1
  537. package/dist/modules/data-tables/lib/types.d.mts.map +1 -1
  538. package/dist/modules/data-tables/lib/validators.d.mts +0 -1
  539. package/dist/modules/data-tables/lib/validators.d.mts.map +1 -1
  540. package/dist/modules/data-tables/server/get-data.server.d.mts +1 -1
  541. package/dist/modules/data-tables/server/get-data.server.d.mts.map +1 -1
  542. package/dist/modules/data-tables/server/get-data.server.mjs.map +1 -1
  543. package/dist/modules/data-tables/strategies/helpers/sorting.mjs.map +1 -1
  544. package/dist/modules/data-tables/strategies/infinite/components.mjs +1 -1
  545. package/dist/modules/data-tables/strategies/infinite/components.mjs.map +1 -1
  546. package/dist/modules/data-tables/strategies/infinite/strategy.d.mts.map +1 -1
  547. package/dist/modules/data-tables/strategies/infinite/strategy.mjs.map +1 -1
  548. package/dist/modules/data-tables/strategies/pagination/components.mjs.map +1 -1
  549. package/dist/modules/data-tables/strategies/pagination/strategy.d.mts.map +1 -1
  550. package/dist/modules/data-tables/strategies/pagination/strategy.mjs.map +1 -1
  551. package/dist/modules/data-tables/tables/data-table/components/body.mjs.map +1 -1
  552. package/dist/modules/data-tables/tables/data-table/components/header.mjs.map +1 -1
  553. package/dist/modules/data-tables/tables/data-table/components/row.mjs +0 -1
  554. package/dist/modules/data-tables/tables/data-table/components/row.mjs.map +1 -1
  555. package/dist/modules/data-tables/tables/data-table/components/table.d.mts +2 -2
  556. package/dist/modules/data-tables/tables/data-table/components/table.d.mts.map +1 -1
  557. package/dist/modules/data-tables/tables/data-table/components/table.mjs.map +1 -1
  558. package/dist/modules/data-tables/tables/inline-table/components/body.mjs.map +1 -1
  559. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts +2 -2
  560. package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts.map +1 -1
  561. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs +0 -1
  562. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs.map +1 -1
  563. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +2 -2
  564. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts.map +1 -1
  565. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
  566. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +2 -2
  567. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts.map +1 -1
  568. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +0 -1
  569. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs.map +1 -1
  570. package/dist/modules/data-tables/tables/inline-table/components/header.mjs.map +1 -1
  571. package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs +0 -1
  572. package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs.map +1 -1
  573. package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +2 -2
  574. package/dist/modules/data-tables/tables/inline-table/components/table.d.mts.map +1 -1
  575. package/dist/modules/data-tables/tables/inline-table/components/table.mjs.map +1 -1
  576. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +2 -2
  577. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts.map +1 -1
  578. package/dist/modules/data-tables/tables/inline-table/hooks/context.client.mjs.map +1 -1
  579. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +2 -2
  580. package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts.map +1 -1
  581. package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +1 -1
  582. package/dist/modules/inline-edit/components/combobox.client.d.mts +2 -2
  583. package/dist/modules/inline-edit/components/combobox.client.d.mts.map +1 -1
  584. package/dist/modules/inline-edit/components/combobox.client.mjs +3 -3
  585. package/dist/modules/inline-edit/components/combobox.client.mjs.map +1 -1
  586. package/dist/modules/inline-edit/components/date-input.client.d.mts +2 -2
  587. package/dist/modules/inline-edit/components/date-input.client.d.mts.map +1 -1
  588. package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
  589. package/dist/modules/inline-edit/components/date-picker.client.d.mts +2 -2
  590. package/dist/modules/inline-edit/components/date-picker.client.d.mts.map +1 -1
  591. package/dist/modules/inline-edit/components/date-picker.client.mjs +3 -3
  592. package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
  593. package/dist/modules/inline-edit/components/date-time.client.d.mts +21 -0
  594. package/dist/modules/inline-edit/components/date-time.client.d.mts.map +1 -0
  595. package/dist/modules/inline-edit/components/date-time.client.mjs +33 -0
  596. package/dist/modules/inline-edit/components/date-time.client.mjs.map +1 -0
  597. package/dist/modules/inline-edit/components/editor.client.d.mts +2 -2
  598. package/dist/modules/inline-edit/components/editor.client.d.mts.map +1 -1
  599. package/dist/modules/inline-edit/components/editor.client.mjs +2 -2
  600. package/dist/modules/inline-edit/components/editor.client.mjs.map +1 -1
  601. package/dist/modules/inline-edit/components/input-recipient.client.d.mts +2 -2
  602. package/dist/modules/inline-edit/components/input-recipient.client.d.mts.map +1 -1
  603. package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +1 -1
  604. package/dist/modules/inline-edit/components/input-toggle.client.d.mts +2 -2
  605. package/dist/modules/inline-edit/components/input-toggle.client.d.mts.map +1 -1
  606. package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
  607. package/dist/modules/inline-edit/components/input.client.d.mts +4 -4
  608. package/dist/modules/inline-edit/components/input.client.d.mts.map +1 -1
  609. package/dist/modules/inline-edit/components/input.client.mjs +1 -1
  610. package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
  611. package/dist/modules/inline-edit/components/select.client.d.mts +6 -6
  612. package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
  613. package/dist/modules/inline-edit/components/select.client.mjs +3 -3
  614. package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
  615. package/dist/modules/inline-edit/components/switch.client.d.mts +2 -2
  616. package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
  617. package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
  618. package/dist/modules/inline-edit/components/toggle.client.d.mts +2 -2
  619. package/dist/modules/inline-edit/components/toggle.client.d.mts.map +1 -1
  620. package/dist/modules/inline-edit/components/toggle.client.mjs +3 -3
  621. package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
  622. package/dist/modules/inline-edit/hooks/context.client.d.mts +2 -2
  623. package/dist/modules/inline-edit/hooks/context.client.d.mts.map +1 -1
  624. package/dist/modules/inline-edit/hooks/context.client.mjs +1 -1
  625. package/dist/modules/inline-edit/hooks/context.client.mjs.map +1 -1
  626. package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +15 -2
  627. package/dist/modules/inline-edit/hooks/use-inline.client.d.mts.map +1 -1
  628. package/dist/modules/inline-edit/hooks/use-inline.client.mjs +3 -3
  629. package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +1 -1
  630. package/dist/modules/inline-edit/lib/validators.d.mts +0 -1
  631. package/dist/modules/inline-edit/lib/validators.d.mts.map +1 -1
  632. package/dist/modules/inline-edit/lib/validators.mjs.map +1 -1
  633. package/dist/modules/inline-edit/lib/variants.d.mts +3 -3
  634. package/dist/modules/inline-edit/lib/variants.d.mts.map +1 -1
  635. package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
  636. package/dist/modules/router/handler/caller.client.d.mts +0 -1
  637. package/dist/modules/router/handler/caller.client.d.mts.map +1 -1
  638. package/dist/modules/router/handler/caller.client.mjs.map +1 -1
  639. package/dist/modules/router/handler/caller.server.d.mts.map +1 -1
  640. package/dist/modules/router/handler/context.server.d.mts.map +1 -1
  641. package/dist/modules/router/handler/context.server.mjs.map +1 -1
  642. package/dist/modules/router/handler/init.server.d.mts +6 -6
  643. package/dist/modules/router/handler/init.server.d.mts.map +1 -1
  644. package/dist/modules/router/handler/init.server.mjs.map +1 -1
  645. package/dist/modules/router/handler/register.server.d.mts.map +1 -1
  646. package/dist/modules/router/handler/register.server.mjs.map +1 -1
  647. package/dist/modules/router/handler/route.server.d.mts +0 -1
  648. package/dist/modules/router/handler/route.server.d.mts.map +1 -1
  649. package/dist/modules/router/handler/route.server.mjs.map +1 -1
  650. package/dist/modules/router/lib/query-client.d.mts +0 -1
  651. package/dist/modules/router/lib/query-client.d.mts.map +1 -1
  652. package/dist/modules/router/lib/query-client.mjs.map +1 -1
  653. package/dist/modules/router/lib/query-client.server.d.mts.map +1 -1
  654. package/dist/modules/router/lib/validators.d.mts +0 -1
  655. package/dist/modules/router/lib/validators.d.mts.map +1 -1
  656. package/dist/modules/storage/components/dropzone-context.client.d.mts +2 -2
  657. package/dist/modules/storage/components/dropzone-context.client.d.mts.map +1 -1
  658. package/dist/modules/storage/components/dropzone-context.client.mjs.map +1 -1
  659. package/dist/modules/storage/components/dropzone.client.d.mts +5 -5
  660. package/dist/modules/storage/components/dropzone.client.d.mts.map +1 -1
  661. package/dist/modules/storage/components/dropzone.client.mjs.map +1 -1
  662. package/dist/modules/storage/components/image-grid.client.d.mts +3 -3
  663. package/dist/modules/storage/components/image-grid.client.d.mts.map +1 -1
  664. package/dist/modules/storage/components/image-grid.client.mjs +2 -0
  665. package/dist/modules/storage/components/image-grid.client.mjs.map +1 -1
  666. package/dist/modules/storage/components/upload-zone-context.client.d.mts +0 -1
  667. package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +1 -1
  668. package/dist/modules/storage/components/upload-zone-context.client.mjs.map +1 -1
  669. package/dist/modules/storage/components/upload-zone.client.d.mts +2 -2
  670. package/dist/modules/storage/components/upload-zone.client.d.mts.map +1 -1
  671. package/dist/modules/storage/components/upload-zone.client.mjs +4 -4
  672. package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -1
  673. package/dist/modules/storage/config/filters.d.mts.map +1 -1
  674. package/dist/modules/storage/config/filters.mjs.map +1 -1
  675. package/dist/modules/storage/lib/constants.d.mts.map +1 -1
  676. package/dist/modules/storage/lib/create-client.server.d.mts.map +1 -1
  677. package/dist/modules/storage/lib/create-client.server.mjs.map +1 -1
  678. package/dist/modules/storage/lib/create-upload.client.d.mts.map +1 -1
  679. package/dist/modules/storage/lib/create-upload.client.mjs.map +1 -1
  680. package/dist/modules/storage/lib/helpers.d.mts +0 -1
  681. package/dist/modules/storage/lib/helpers.d.mts.map +1 -1
  682. package/dist/modules/storage/lib/helpers.mjs.map +1 -1
  683. package/dist/modules/storage/lib/proxy.server.d.mts.map +1 -1
  684. package/dist/modules/storage/lib/proxy.server.mjs.map +1 -1
  685. package/dist/modules/storage/lib/router.server.d.mts +1874 -1874
  686. package/dist/modules/storage/lib/router.server.d.mts.map +1 -1
  687. package/dist/modules/storage/lib/router.server.mjs.map +1 -1
  688. package/dist/modules/storage/lib/schema.d.mts +92 -92
  689. package/dist/modules/storage/lib/schema.d.mts.map +1 -1
  690. package/dist/modules/storage/lib/schema.mjs +1 -1
  691. package/dist/modules/storage/lib/schema.mjs.map +1 -1
  692. package/dist/modules/storage/lib/service.server.d.mts +12 -12
  693. package/dist/modules/storage/lib/service.server.d.mts.map +1 -1
  694. package/dist/modules/storage/lib/service.server.mjs +1 -1
  695. package/dist/modules/storage/lib/service.server.mjs.map +1 -1
  696. package/dist/modules/storage/lib/validators.d.mts +9 -9
  697. package/dist/modules/storage/lib/validators.d.mts.map +1 -1
  698. package/dist/modules/storage/lib/validators.mjs.map +1 -1
  699. package/dist/storage/client.d.mts +1 -1
  700. package/package.json +89 -99
  701. package/src/components/common/icons.tsx +2 -2
  702. package/src/components/common/status.tsx +1 -1
  703. package/src/components/editor/components/content.client.tsx +1 -1
  704. package/src/components/editor/components/editor.client.tsx +6 -6
  705. package/src/components/editor/components/menu-nodes.client.tsx +9 -9
  706. package/src/components/editor/components/menu.client.tsx +5 -5
  707. package/src/components/editor/components/spinner.tsx +2 -8
  708. package/src/components/editor/extensions/file-handler/extension.ts +1 -1
  709. package/src/components/editor/extensions/file-handler/strategy.ts +4 -4
  710. package/src/components/editor/extensions/file-handler/utils.ts +4 -2
  711. package/src/components/editor/extensions/image/extension.ts +4 -1
  712. package/src/components/editor/extensions/skeleton/renderer.tsx +4 -3
  713. package/src/components/editor/lib/extensions.ts +23 -26
  714. package/src/components/editor/lib/helpers.ts +1 -1
  715. package/src/components/editor/lib/utils.ts +1 -33
  716. package/src/components/editor/lib/variants.ts +1 -1
  717. package/src/components/emails/forget-password-email.tsx +1 -1
  718. package/src/components/entry.client.ts +1 -3
  719. package/src/components/entry.ts +3 -0
  720. package/src/components/header/back-button.client.tsx +1 -1
  721. package/src/components/header/bottom-bar.client.tsx +3 -3
  722. package/src/components/header/breadcrumbs.client.tsx +2 -2
  723. package/src/components/header/header.client.tsx +1 -1
  724. package/src/components/header/indicator.client.tsx +2 -2
  725. package/src/components/header/top-bar.client.tsx +3 -3
  726. package/src/components/layouts/admin-content.client.tsx +1 -1
  727. package/src/components/layouts/admin-error-pages.tsx +1 -1
  728. package/src/components/layouts/admin-layout.tsx +1 -1
  729. package/src/components/layouts/admin-loading.tsx +1 -1
  730. package/src/components/layouts/empty-page.tsx +1 -1
  731. package/src/components/layouts/error-page.tsx +2 -2
  732. package/src/components/layouts/error-sections.tsx +1 -1
  733. package/src/components/layouts/list-layout.tsx +1 -1
  734. package/src/components/layouts/providers.client.tsx +4 -4
  735. package/src/components/layouts/root-layout.server.tsx +3 -3
  736. package/src/components/layouts/tab-layout.tsx +3 -3
  737. package/src/components/lists/data-list.tsx +1 -1
  738. package/src/components/lists/data-stack.tsx +1 -1
  739. package/src/components/navigation/admin-sidebar-header.client.tsx +13 -13
  740. package/src/components/navigation/admin-sidebar-paths.client.tsx +6 -6
  741. package/src/components/navigation/admin-sidebar-skeleton.tsx +1 -1
  742. package/src/components/navigation/admin-sidebar.client.tsx +5 -5
  743. package/src/components/ui/accordion.tsx +1 -2
  744. package/src/components/ui/alert-dialog.tsx +1 -1
  745. package/src/components/ui/alert.tsx +1 -1
  746. package/src/components/ui/avatar.client.tsx +1 -1
  747. package/src/components/ui/badge.tsx +1 -1
  748. package/src/components/ui/breadcrumb.tsx +4 -2
  749. package/src/components/ui/button.tsx +1 -1
  750. package/src/components/ui/calendar.tsx +2 -3
  751. package/src/components/ui/card.tsx +1 -1
  752. package/src/components/ui/carousel.tsx +2 -0
  753. package/src/components/ui/chart.client.tsx +12 -10
  754. package/src/components/ui/checkbox.tsx +1 -1
  755. package/src/components/ui/color-picker.client.tsx +4 -3
  756. package/src/components/ui/combobox-dropdown.client.tsx +2 -4
  757. package/src/components/ui/combobox.client.tsx +2 -2
  758. package/src/components/ui/command.tsx +1 -1
  759. package/src/components/ui/context-menu.tsx +1 -1
  760. package/src/components/ui/date-picker.client.tsx +2 -2
  761. package/src/components/ui/dialog.client.tsx +1 -1
  762. package/src/components/ui/drawer.client.tsx +1 -1
  763. package/src/components/ui/dropdown-menu.tsx +1 -1
  764. package/src/components/ui/form.client.tsx +4 -4
  765. package/src/components/ui/hover-card.client.tsx +1 -1
  766. package/src/components/ui/input-date-time.tsx +58 -0
  767. package/src/components/ui/input-date.tsx +20 -0
  768. package/src/components/ui/input-recipient.tsx +6 -3
  769. package/src/components/ui/input-time.tsx +20 -0
  770. package/src/components/ui/input.tsx +1 -1
  771. package/src/components/ui/label.tsx +1 -1
  772. package/src/components/ui/navigation-menu.tsx +1 -1
  773. package/src/components/ui/pagination.tsx +4 -2
  774. package/src/components/ui/popover.tsx +1 -1
  775. package/src/components/ui/progress.client.tsx +1 -1
  776. package/src/components/ui/radio-group.tsx +1 -1
  777. package/src/components/ui/resizable.client.tsx +1 -1
  778. package/src/components/ui/scroll-area.tsx +1 -1
  779. package/src/components/ui/select.client.tsx +1 -1
  780. package/src/components/ui/separator.tsx +1 -1
  781. package/src/components/ui/sheet.client.tsx +1 -1
  782. package/src/components/ui/sidebar.client.tsx +5 -2
  783. package/src/components/ui/sonner.client.tsx +1 -1
  784. package/src/components/ui/switch.tsx +1 -1
  785. package/src/components/ui/tabs.tsx +1 -1
  786. package/src/components/ui/textarea.tsx +1 -1
  787. package/src/components/ui/toggle-group.client.tsx +1 -1
  788. package/src/components/ui/toggle.tsx +1 -1
  789. package/src/components/ui/tooltip.client.tsx +1 -1
  790. package/src/lib/config/constants.ts +1 -1
  791. package/src/lib/hooks/use-action.ts +3 -3
  792. package/src/lib/types/config.ts +1 -1
  793. package/src/lib/utils/cn.ts +1 -1
  794. package/src/lib/utils/manifest.ts +3 -2
  795. package/src/lib/utils/time-picker.ts +2 -2
  796. package/src/lib/utils/url.ts +1 -1
  797. package/src/modules/auth/components/allowed.client.tsx +2 -2
  798. package/src/modules/auth/components/auth-layout.server.tsx +1 -1
  799. package/src/modules/auth/components/create-first-user-page.client.tsx +10 -11
  800. package/src/modules/auth/components/forget-password-page.client.tsx +5 -5
  801. package/src/modules/auth/components/guard-first-user.server.tsx +2 -5
  802. package/src/modules/auth/components/guard.server.tsx +3 -3
  803. package/src/modules/auth/components/login-page.client.tsx +5 -5
  804. package/src/modules/auth/components/reset-password-page.client.tsx +7 -7
  805. package/src/modules/auth/components/update-password-command.tsx +5 -5
  806. package/src/modules/auth/db/schema.ts +2 -2
  807. package/src/modules/auth/entry.server.ts +1 -1
  808. package/src/modules/auth/handler/create-client.client.ts +3 -3
  809. package/src/modules/auth/handler/init.ts +6 -6
  810. package/src/modules/auth/handler/proxy.server.ts +1 -2
  811. package/src/modules/auth/handler/route.server.ts +2 -2
  812. package/src/modules/auth/hooks/use-auth-client.tsx +3 -3
  813. package/src/modules/auth/hooks/use-permission.ts +1 -1
  814. package/src/modules/auth/hooks/use-session.ts +1 -2
  815. package/src/modules/auth/lib/helpers.server.ts +4 -4
  816. package/src/modules/commands/components/alert-dialog-command.client.tsx +8 -8
  817. package/src/modules/commands/components/click-command.client.tsx +3 -3
  818. package/src/modules/commands/components/command-trigger.client.tsx +1 -1
  819. package/src/modules/commands/components/dialog-command.client.tsx +3 -3
  820. package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
  821. package/src/modules/commands/components/empty-command.client.tsx +1 -1
  822. package/src/modules/commands/components/form-dialog-command.client.tsx +5 -5
  823. package/src/modules/commands/components/render-command.tsx +2 -2
  824. package/src/modules/commands/hooks/context.client.tsx +1 -1
  825. package/src/modules/commands/hooks/use-command-menu.client.tsx +4 -4
  826. package/src/modules/commands/hooks/use-command-mutation.client.tsx +1 -1
  827. package/src/modules/commands/menus/context-menu.client.tsx +20 -19
  828. package/src/modules/commands/menus/data-table-menu.client.tsx +2 -2
  829. package/src/modules/commands/menus/dropdown-menu.client.tsx +6 -3
  830. package/src/modules/commands/menus/inline-menu.client.tsx +6 -2
  831. package/src/modules/commands/menus/responsive-menu.client.tsx +1 -1
  832. package/src/modules/commands/utils/archive-command.client.tsx +1 -1
  833. package/src/modules/commands/utils/delete-command.client.tsx +1 -1
  834. package/src/modules/config/db/helpers.ts +1 -1
  835. package/src/modules/config/db/init.ts +2 -2
  836. package/src/modules/config/lib/context.ts +5 -5
  837. package/src/modules/config/paths/helpers.ts +1 -1
  838. package/src/modules/config/paths/types.ts +4 -5
  839. package/src/modules/data-tables/components/cell/common.client.tsx +1 -1
  840. package/src/modules/data-tables/components/column-header.tsx +2 -2
  841. package/src/modules/data-tables/components/filters/combobox.client.tsx +3 -3
  842. package/src/modules/data-tables/components/filters/slider.client.tsx +5 -5
  843. package/src/modules/data-tables/components/footer.tsx +2 -2
  844. package/src/modules/data-tables/components/header.tsx +2 -2
  845. package/src/modules/data-tables/components/layout.tsx +1 -1
  846. package/src/modules/data-tables/components/skeleton.tsx +22 -29
  847. package/src/modules/data-tables/components/table.tsx +1 -1
  848. package/src/modules/data-tables/components/toolbar.tsx +1 -1
  849. package/src/modules/data-tables/entry.client.ts +9 -13
  850. package/src/modules/data-tables/hooks/use-context.client.tsx +6 -6
  851. package/src/modules/data-tables/hooks/use-selection.client.ts +1 -1
  852. package/src/modules/data-tables/hooks/use-table.client.ts +1 -1
  853. package/src/modules/data-tables/lib/converters/cursor.ts +1 -1
  854. package/src/modules/data-tables/lib/converters/dto.ts +1 -1
  855. package/src/modules/data-tables/lib/converters/search.ts +2 -2
  856. package/src/modules/data-tables/lib/converters/sorting.ts +2 -2
  857. package/src/modules/data-tables/lib/filters/config.ts +2 -2
  858. package/src/modules/data-tables/lib/filters/helpers.ts +4 -4
  859. package/src/modules/data-tables/lib/filters/parsers.ts +2 -2
  860. package/src/modules/data-tables/lib/filters/resolvers.ts +2 -2
  861. package/src/modules/data-tables/lib/helpers/create-column.ts +1 -1
  862. package/src/modules/data-tables/lib/types.ts +6 -5
  863. package/src/modules/data-tables/server/get-data.server.ts +8 -8
  864. package/src/modules/data-tables/strategies/helpers/sorting.ts +7 -3
  865. package/src/modules/data-tables/strategies/infinite/components.tsx +4 -4
  866. package/src/modules/data-tables/strategies/infinite/strategy.ts +2 -2
  867. package/src/modules/data-tables/strategies/pagination/components.tsx +2 -2
  868. package/src/modules/data-tables/strategies/pagination/strategy.ts +2 -2
  869. package/src/modules/data-tables/tables/data-table/components/body.tsx +3 -3
  870. package/src/modules/data-tables/tables/data-table/components/header.tsx +1 -1
  871. package/src/modules/data-tables/tables/data-table/components/row.tsx +3 -3
  872. package/src/modules/data-tables/tables/data-table/components/table.tsx +2 -2
  873. package/src/modules/data-tables/tables/inline-table/components/body.tsx +5 -5
  874. package/src/modules/data-tables/tables/inline-table/components/cells/common.tsx +1 -1
  875. package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +9 -5
  876. package/src/modules/data-tables/tables/inline-table/components/cells/read-only.tsx +1 -1
  877. package/src/modules/data-tables/tables/inline-table/components/header.tsx +1 -1
  878. package/src/modules/data-tables/tables/inline-table/components/row.client.tsx +5 -5
  879. package/src/modules/data-tables/tables/inline-table/components/table.tsx +3 -3
  880. package/src/modules/data-tables/tables/inline-table/hooks/context.client.tsx +2 -2
  881. package/src/modules/inline-edit/components/combobox-dropdown.client.tsx +2 -2
  882. package/src/modules/inline-edit/components/combobox.client.tsx +2 -2
  883. package/src/modules/inline-edit/components/date-input.client.tsx +4 -4
  884. package/src/modules/inline-edit/components/date-picker.client.tsx +3 -3
  885. package/src/modules/inline-edit/components/date-time.client.tsx +40 -0
  886. package/src/modules/inline-edit/components/editor.client.tsx +3 -3
  887. package/src/modules/inline-edit/components/input-recipient.client.tsx +3 -3
  888. package/src/modules/inline-edit/components/input-toggle.client.tsx +3 -3
  889. package/src/modules/inline-edit/components/input.client.tsx +3 -3
  890. package/src/modules/inline-edit/components/select.client.tsx +8 -8
  891. package/src/modules/inline-edit/components/switch.client.tsx +1 -1
  892. package/src/modules/inline-edit/components/toggle.client.tsx +1 -1
  893. package/src/modules/inline-edit/entry.client.ts +12 -2
  894. package/src/modules/inline-edit/entry.server.ts +3 -0
  895. package/src/modules/inline-edit/entry.ts +3 -0
  896. package/src/modules/inline-edit/hooks/context.client.tsx +3 -2
  897. package/src/modules/inline-edit/hooks/use-inline.client.tsx +5 -5
  898. package/src/modules/inline-edit/lib/validators.ts +1 -1
  899. package/src/modules/inline-edit/lib/variants.ts +1 -1
  900. package/src/modules/router/handler/caller.client.tsx +2 -2
  901. package/src/modules/router/handler/context.server.ts +4 -4
  902. package/src/modules/router/handler/init.server.ts +3 -3
  903. package/src/modules/router/handler/register.server.ts +3 -3
  904. package/src/modules/router/handler/route.server.ts +3 -3
  905. package/src/modules/router/lib/query-client.ts +0 -1
  906. package/src/modules/storage/components/dropzone-context.client.tsx +1 -1
  907. package/src/modules/storage/components/dropzone.client.tsx +3 -3
  908. package/src/modules/storage/components/image-grid.client.tsx +23 -19
  909. package/src/modules/storage/components/upload-button.client.tsx +2 -2
  910. package/src/modules/storage/components/upload-zone-context.client.tsx +2 -2
  911. package/src/modules/storage/components/upload-zone.client.tsx +5 -5
  912. package/src/modules/storage/config/filters.ts +1 -1
  913. package/src/modules/storage/entry.client.ts +3 -2
  914. package/src/modules/storage/lib/create-client.server.ts +2 -2
  915. package/src/modules/storage/lib/create-upload.client.ts +2 -2
  916. package/src/modules/storage/lib/helpers.ts +3 -3
  917. package/src/modules/storage/lib/proxy.server.ts +4 -4
  918. package/src/modules/storage/lib/router.server.ts +5 -5
  919. package/src/modules/storage/lib/schema.ts +2 -2
  920. package/src/modules/storage/lib/service.server.ts +21 -21
  921. package/src/modules/storage/lib/validators.ts +3 -3
  922. package/src/styles.css +1 -1
  923. package/dist/components/ui/time-input.client.d.mts +0 -16
  924. package/dist/components/ui/time-input.client.d.mts.map +0 -1
  925. package/dist/components/ui/time-input.client.mjs +0 -53
  926. package/dist/components/ui/time-input.client.mjs.map +0 -1
  927. package/dist/components/ui/time-picker-input.client.d.mts +0 -15
  928. package/dist/components/ui/time-picker-input.client.d.mts.map +0 -1
  929. package/dist/components/ui/time-picker-input.client.mjs +0 -64
  930. package/dist/components/ui/time-picker-input.client.mjs.map +0 -1
  931. package/dist/lib/utils/time-picker.d.mts +0 -6
  932. package/dist/lib/utils/time-picker.d.mts.map +0 -1
  933. package/dist/lib/utils/time-picker.mjs +0 -104
  934. package/dist/lib/utils/time-picker.mjs.map +0 -1
  935. package/src/components/ui/time-input.client.tsx +0 -56
  936. package/src/components/ui/time-picker-input.client.tsx +0 -107
  937. package/src/modules/auth/lib/utils.ts +0 -17
  938. package/src/modules/config/db/create-client.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.mjs","names":[],"sources":["../../../../../src/components/editor/extensions/file-handler/strategy.ts"],"sourcesContent":["import { SelectNodeSchema, UploadFileSchema } from \"@/modules/storage/entry\";\nimport { UploadClient, UploadHooks } from \"@/modules/storage/entry.client\";\nimport { Editor } from \"@tiptap/core\";\nimport { TextSelection } from \"@tiptap/pm/state\";\nimport { FileHandlerOptions } from \"./extension\";\n\n/**\n * Handle File Handler props\n */\ntype CreateFileHandlerUploadStrategyProps = {\n variables: Pick<UploadFileSchema, \"namespace\" | \"parentId\" | \"mode\" | \"hidden\" | \"readonly\">;\n uploadClient: UploadClient;\n uploadHooks?: UploadHooks;\n allowedMimeTypes?: string[];\n onUploadCompleted?: (node: SelectNodeSchema) => 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.id,\n width: 500,\n height: 500,\n });\n\n /**\n * Insert skeleton node into the document\n */\n if (skeletonNode) {\n // editor.chain().insertContentAt(insertPos, skeletonNode).focus().run();\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 fileNode = 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.id) {\n const imageNode = imageType.create({\n nodeId: fileNode.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 nodeId: fileNode.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 // /**\n // * Remove skeleton 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.id) {\n // tr.delete(pos, pos + node.nodeSize);\n // return false;\n // }\n // });\n // editor.view.dispatch(tr);\n\n // /**\n // * Add image node to the document\n // */\n // const imageNode = imageType.create({\n // nodeId: fileNode.id,\n // alt: file.name,\n // fileName: file.name,\n // width: 500,\n // });\n // editor.commands.insertContentAt(insertPos, imageNode);\n // // insertPos += imageNode.nodeSize - skeletonNode.nodeSize;\n\n await onUploadCompleted?.(fileNode);\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 === \"image\" && node.attrs?.nodeId === input.id) {\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 (nodeId) => {\n await uploadClient.updateNode(nodeId, { orphanedAt: new Date() });\n },\n onReferenceAdded: async (nodeId) => {\n await uploadClient.updateNode(nodeId, { orphanedAt: null });\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;KAEhB,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,WAAW,MAAM,aAAa,OAAO,OAAO,YAAY;;;;IAK9D,MAAM,aAAa,OAAO,MAAM;IAChC,IAAI,WAAW;AAEf,eAAW,IAAI,aAAa,MAAM,QAAQ;AACxC,SAAI,KAAK,KAAK,SAAS,cAAc,KAAK,OAAO,gBAAgB,MAAM,IAAI;MACzE,MAAM,YAAY,UAAU,OAAO;OACjC,QAAQ,SAAS;OACjB,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,QAAQ,SAAS;MACjB,KAAK,KAAK;MACV,UAAU,KAAK;MACf,OAAO;MACR,CAAC;AACF,QAAG,OAAO,WAAW,UAAU;AAC/B,YAAO,KAAK,SAAS,GAAG;;AA2B1B,UAAM,oBAAoB,SAAS;YAC5B,KAAK;AACZ,YAAQ,MAAM,iBAAiB,IAAI;;;;IAKnC,MAAM,KAAK,OAAO,MAAM;AACxB,OAAG,IAAI,aAAa,MAAM,QAAQ;AAChC,SAAI,KAAK,KAAK,SAAS,WAAW,KAAK,OAAO,WAAW,MAAM,IAAI;AACjE,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,WAAW;AACpC,SAAM,aAAa,WAAW,QAAQ,EAAE,4BAAY,IAAI,MAAM,EAAE,CAAC;;EAEnE,kBAAkB,OAAO,WAAW;AAClC,SAAM,aAAa,WAAW,QAAQ,EAAE,YAAY,MAAM,CAAC;;EAE9D"}
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 { SelectNodeSchema, UploadFileSchema } from \"@/modules/storage/entry\";\nimport type { UploadClient, UploadHooks } from \"@/modules/storage/entry.client\";\nimport type { FileHandlerOptions } from \"./extension\";\n\n/**\n * Handle File Handler props\n */\ntype CreateFileHandlerUploadStrategyProps = {\n variables: Pick<UploadFileSchema, \"namespace\" | \"parentId\" | \"mode\" | \"hidden\" | \"readonly\">;\n uploadClient: UploadClient;\n uploadHooks?: UploadHooks;\n allowedMimeTypes?: string[];\n onUploadCompleted?: (node: SelectNodeSchema) => 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.id,\n width: 500,\n height: 500,\n });\n\n /**\n * Insert skeleton node into the document\n */\n if (skeletonNode) {\n // editor.chain().insertContentAt(insertPos, skeletonNode).focus().run();\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 fileNode = 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.id) {\n const imageNode = imageType.create({\n nodeId: fileNode.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 nodeId: fileNode.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 // /**\n // * Remove skeleton 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.id) {\n // tr.delete(pos, pos + node.nodeSize);\n // return false;\n // }\n // });\n // editor.view.dispatch(tr);\n\n // /**\n // * Add image node to the document\n // */\n // const imageNode = imageType.create({\n // nodeId: fileNode.id,\n // alt: file.name,\n // fileName: file.name,\n // width: 500,\n // });\n // editor.commands.insertContentAt(insertPos, imageNode);\n // // insertPos += imageNode.nodeSize - skeletonNode.nodeSize;\n\n await onUploadCompleted?.(fileNode);\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 === \"image\" && node.attrs?.nodeId === input.id) {\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 (nodeId) => {\n await uploadClient.updateNode(nodeId, { orphanedAt: new Date() });\n },\n onReferenceAdded: async (nodeId) => {\n await uploadClient.updateNode(nodeId, { orphanedAt: null });\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;KAEhB,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,WAAW,MAAM,aAAa,OAAO,OAAO,YAAY;;;;IAK9D,MAAM,aAAa,OAAO,MAAM;IAChC,IAAI,WAAW;AAEf,eAAW,IAAI,aAAa,MAAM,QAAQ;AACxC,SAAI,KAAK,KAAK,SAAS,cAAc,KAAK,OAAO,gBAAgB,MAAM,IAAI;MACzE,MAAM,YAAY,UAAU,OAAO;OACjC,QAAQ,SAAS;OACjB,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,QAAQ,SAAS;MACjB,KAAK,KAAK;MACV,UAAU,KAAK;MACf,OAAO;MACR,CAAC;AACF,QAAG,OAAO,WAAW,UAAU;AAC/B,YAAO,KAAK,SAAS,GAAG;;AA2B1B,UAAM,oBAAoB,SAAS;YAC5B,KAAK;AACZ,YAAQ,MAAM,iBAAiB,IAAI;;;;IAKnC,MAAM,KAAK,OAAO,MAAM;AACxB,OAAG,IAAI,aAAa,MAAM,QAAQ;AAChC,SAAI,KAAK,KAAK,SAAS,WAAW,KAAK,OAAO,WAAW,MAAM,IAAI;AACjE,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,WAAW;AACpC,SAAM,aAAa,WAAW,QAAQ,EAAE,4BAAY,IAAI,MAAM,EAAE,CAAC;;EAEnE,kBAAkB,OAAO,WAAW;AAClC,SAAM,aAAa,WAAW,QAAQ,EAAE,YAAY,MAAM,CAAC;;EAE9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":["removed: string[]","added: string[]"],"sources":["../../../../../src/components/editor/extensions/file-handler/utils.ts"],"sourcesContent":["/**\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: any): Map<string, number> {\n const counts = new Map<string, number>();\n\n doc.descendants((node: any) => {\n if (node.type.name !== \"image\") return;\n\n const id = node.attrs?.nodeId;\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":";;;;;;;;;;;;;AAYA,SAAgB,gBAAgB,KAA+B;CAC7D,MAAM,yBAAS,IAAI,KAAqB;AAExC,KAAI,aAAa,SAAc;AAC7B,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,MAAMA,UAAoB,EAAE;CAC5B,MAAMC,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
+ {"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?.nodeId;\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 +1 @@
1
- {"version":3,"file":"extension.d.mts","names":[],"sources":["../../../../../src/components/editor/extensions/image/extension.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,cAAA,SAAqB"}
1
+ {"version":3,"file":"extension.d.mts","names":[],"sources":["../../../../../src/components/editor/extensions/image/extension.ts"],"mappings":";;;;UAQiB,cAAA,SAAqB,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension.mjs","names":["Image","TiptapImage"],"sources":["../../../../../src/components/editor/extensions/image/extension.ts"],"sourcesContent":["\"use client\";\n\nimport { getFileUrl } from \"@/modules/storage/lib/helpers\";\nimport { Image as TiptapImage, ImageOptions as TiptapImageOptions } from \"@tiptap/extension-image\";\n\nexport interface ImageOptions extends TiptapImageOptions {}\n\nexport const Image = TiptapImage.extend<ImageOptions>({\n atom: true,\n addAttributes() {\n return {\n ...this.parent?.(),\n // node id\n nodeId: {\n default: null,\n parseHTML: (el) => el.getAttribute(\"data-node-id\"),\n renderHTML: (attrs) => {\n if (!attrs.nodeId) return {};\n return {\n \"data-node-id\": attrs.nodeId,\n ...(attrs.nodeId && !attrs.isPending ? { src: getFileUrl(attrs.nodeId) } : {}),\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-node-id]\" }];\n },\n renderHTML({ HTMLAttributes }) {\n const { src: _, ...attrs } = HTMLAttributes;\n\n const nodeId = attrs.nodeId as string | null;\n const isPending = Boolean(attrs.isPending);\n\n const src = nodeId && !isPending ? getFileUrl(nodeId) : null;\n\n return [\"img\", { ...attrs, ...(src ? { src } : {}) }];\n },\n});\n"],"mappings":";;;;;;AAOA,MAAaA,UAAQC,MAAY,OAAqB;CACpD,MAAM;CACN,gBAAgB;AACd,SAAO;GACL,GAAG,KAAK,UAAU;GAElB,QAAQ;IACN,SAAS;IACT,YAAY,OAAO,GAAG,aAAa,eAAe;IAClD,aAAa,UAAU;AACrB,SAAI,CAAC,MAAM,OAAQ,QAAO,EAAE;AAC5B,YAAO;MACL,gBAAgB,MAAM;MACtB,GAAI,MAAM,UAAU,CAAC,MAAM,YAAY,EAAE,KAAK,WAAW,MAAM,OAAO,EAAE,GAAG,EAAE;MAC9E;;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,qBAAqB,CAAC;;CAEvC,WAAW,EAAE,kBAAkB;EAC7B,MAAM,EAAE,KAAK,GAAG,GAAG,UAAU;EAE7B,MAAM,SAAS,MAAM;EACrB,MAAM,YAAY,QAAQ,MAAM,UAAU;EAE1C,MAAM,MAAM,UAAU,CAAC,YAAY,WAAW,OAAO,GAAG;AAExD,SAAO,CAAC,OAAO;GAAE,GAAG;GAAO,GAAI,MAAM,EAAE,KAAK,GAAG,EAAE;GAAG,CAAC;;CAExD,CAAC"}
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 { getFileUrl } from \"@/modules/storage/lib/helpers\";\n\nexport interface ImageOptions extends TiptapImageOptions {}\n\nexport const Image = TiptapImage.extend<ImageOptions>({\n atom: true,\n addAttributes() {\n return {\n ...this.parent?.(),\n // node id\n nodeId: {\n default: null,\n parseHTML: (el) => el.getAttribute(\"data-node-id\"),\n renderHTML: (attrs) => {\n if (!attrs.nodeId) return {};\n return {\n \"data-node-id\": attrs.nodeId,\n ...(attrs.nodeId && !attrs.isPending ? { src: getFileUrl(attrs.nodeId) } : {}),\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-node-id]\" }];\n },\n renderHTML({ HTMLAttributes }) {\n const { src: _, ...attrs } = HTMLAttributes;\n\n const nodeId = attrs.nodeId as string | null;\n const isPending = Boolean(attrs.isPending);\n\n const src = nodeId && !isPending ? getFileUrl(nodeId) : 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,QAAQ;IACN,SAAS;IACT,YAAY,OAAO,GAAG,aAAa,eAAe;IAClD,aAAa,UAAU;AACrB,SAAI,CAAC,MAAM,OAAQ,QAAO,EAAE;AAC5B,YAAO;MACL,gBAAgB,MAAM;MACtB,GAAI,MAAM,UAAU,CAAC,MAAM,YAAY,EAAE,KAAK,WAAW,MAAM,OAAO,EAAE,GAAG,EAAE;MAC9E;;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,qBAAqB,CAAC;;CAEvC,WAAW,EAAE,kBAAkB;EAC7B,MAAM,EAAE,KAAK,GAAG,GAAG,UAAU;EAE7B,MAAM,SAAS,MAAM;EACrB,MAAM,YAAY,QAAQ,MAAM,UAAU;EAE1C,MAAM,MAAM,UAAU,CAAC,YAAY,WAAW,OAAO,GAAG;AAExD,SAAO,CAAC,OAAO;GAAE,GAAG;GAAO,GAAI,MAAM,EAAE,KAAK,GAAG,EAAE;GAAG,CAAC;;CAExD,CAAC"}
@@ -11,7 +11,7 @@ function SkeletonNodeRenderer(props) {
11
11
  as: "span",
12
12
  "data-skeleton": "true",
13
13
  children: /* @__PURE__ */ jsx(Skeleton, {
14
- className: "min-h-[500px] w-full",
14
+ className: "min-h-125 w-full",
15
15
  style: {
16
16
  width,
17
17
  height
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.mjs","names":[],"sources":["../../../../../src/components/editor/extensions/skeleton/renderer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { NodeViewWrapper } from \"@tiptap/react\";\n\nexport function SkeletonNodeRenderer(props: { node: any }) {\n const { width, height } = props.node.attrs;\n\n return (\n <NodeViewWrapper as=\"span\" data-skeleton=\"true\">\n <Skeleton className=\"min-h-[500px] w-full\" style={{ width, height }} />\n </NodeViewWrapper>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,qBAAqB,OAAsB;CACzD,MAAM,EAAE,OAAO,WAAW,MAAM,KAAK;AAErC,QACE,oBAAC;EAAgB,IAAG;EAAO,iBAAc;YACvC,oBAAC;GAAS,WAAU;GAAuB,OAAO;IAAE;IAAO;IAAQ;IAAI;GACvD"}
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"}
@@ -14,7 +14,7 @@ import * as _tiptap_extension_underline0 from "@tiptap/extension-underline";
14
14
  import * as _tiptap_extensions0 from "@tiptap/extensions";
15
15
  import * as _tiptap_extension_highlight0 from "@tiptap/extension-highlight";
16
16
  import * as _tiptap_extension_text_style0 from "@tiptap/extension-text-style";
17
- import * as _tiptap_core11 from "@tiptap/core";
17
+ import * as _tiptap_core0 from "@tiptap/core";
18
18
 
19
19
  //#region src/components/editor/lib/constants.d.ts
20
20
  /**
@@ -24,38 +24,38 @@ declare const EDITOR_EXTENSIONS: {
24
24
  /**
25
25
  * Nodes
26
26
  */
27
- blockquote: _tiptap_core11.Node<_tiptap_extension_blockquote0.BlockquoteOptions, any>;
28
- document: _tiptap_core11.Node<any, any>;
29
- hardBreak: _tiptap_core11.Node<_tiptap_extension_hard_break0.HardBreakOptions, any>;
30
- heading: _tiptap_core11.Node<_tiptap_extension_heading0.HeadingOptions, any>;
31
- horizontalRule: _tiptap_core11.Node<_tiptap_extension_horizontal_rule0.HorizontalRuleOptions, any>;
32
- listItem: _tiptap_core11.Node<_tiptap_extension_list0.ListItemOptions, any>;
33
- orderedList: _tiptap_core11.Node<_tiptap_extension_list0.OrderedListOptions, any>;
34
- bulletList: _tiptap_core11.Node<_tiptap_extension_list0.BulletListOptions, any>;
35
- paragraph: _tiptap_core11.Node<_tiptap_extension_paragraph0.ParagraphOptions, any>;
36
- text: _tiptap_core11.Node<any, any>;
37
- image: _tiptap_core11.Node<ImageOptions, any>;
38
- fileHandler: _tiptap_core11.Extension<FileHandlerOptions, any>;
39
- skeleton: _tiptap_core11.Node<any, any>;
27
+ blockquote: _tiptap_core0.Node<_tiptap_extension_blockquote0.BlockquoteOptions, any>;
28
+ document: _tiptap_core0.Node<any, any>;
29
+ hardBreak: _tiptap_core0.Node<_tiptap_extension_hard_break0.HardBreakOptions, any>;
30
+ heading: _tiptap_core0.Node<_tiptap_extension_heading0.HeadingOptions, any>;
31
+ horizontalRule: _tiptap_core0.Node<_tiptap_extension_horizontal_rule0.HorizontalRuleOptions, any>;
32
+ listItem: _tiptap_core0.Node<_tiptap_extension_list0.ListItemOptions, any>;
33
+ orderedList: _tiptap_core0.Node<_tiptap_extension_list0.OrderedListOptions, any>;
34
+ bulletList: _tiptap_core0.Node<_tiptap_extension_list0.BulletListOptions, any>;
35
+ paragraph: _tiptap_core0.Node<_tiptap_extension_paragraph0.ParagraphOptions, any>;
36
+ text: _tiptap_core0.Node<any, any>;
37
+ image: _tiptap_core0.Node<ImageOptions, any>;
38
+ fileHandler: _tiptap_core0.Extension<FileHandlerOptions, any>;
39
+ skeleton: _tiptap_core0.Node<any, any>;
40
40
  /**
41
41
  * Marks
42
42
  */
43
- bold: _tiptap_core11.Mark<_tiptap_extension_bold0.BoldOptions, any>;
44
- italic: _tiptap_core11.Mark<_tiptap_extension_italic0.ItalicOptions, any>;
45
- link: _tiptap_core11.Mark<_tiptap_extension_link0.LinkOptions, any>;
46
- strike: _tiptap_core11.Mark<_tiptap_extension_strike0.StrikeOptions, any>;
47
- underline: _tiptap_core11.Mark<_tiptap_extension_underline0.UnderlineOptions, any>;
48
- highlight: _tiptap_core11.Mark<_tiptap_extension_highlight0.HighlightOptions, any>;
43
+ bold: _tiptap_core0.Mark<_tiptap_extension_bold0.BoldOptions, any>;
44
+ italic: _tiptap_core0.Mark<_tiptap_extension_italic0.ItalicOptions, any>;
45
+ link: _tiptap_core0.Mark<_tiptap_extension_link0.LinkOptions, any>;
46
+ strike: _tiptap_core0.Mark<_tiptap_extension_strike0.StrikeOptions, any>;
47
+ underline: _tiptap_core0.Mark<_tiptap_extension_underline0.UnderlineOptions, any>;
48
+ highlight: _tiptap_core0.Mark<_tiptap_extension_highlight0.HighlightOptions, any>;
49
49
  /**
50
50
  * Extensions
51
51
  */
52
- dropcursor: _tiptap_core11.Extension<_tiptap_extensions0.DropcursorOptions, any>;
53
- gapcursor: _tiptap_core11.Extension<any, any>;
54
- undoRedo: _tiptap_core11.Extension<_tiptap_extensions0.UndoRedoOptions, any>;
55
- listKeymap: _tiptap_core11.Extension<_tiptap_extension_list0.ListKeymapOptions, any>;
56
- trailingNode: _tiptap_core11.Extension<_tiptap_extensions0.TrailingNodeOptions, any>;
57
- textStyle: _tiptap_core11.Mark<_tiptap_extension_text_style0.TextStyleOptions, any>;
58
- color: _tiptap_core11.Extension<_tiptap_extension_text_style0.ColorOptions, any>;
52
+ dropcursor: _tiptap_core0.Extension<_tiptap_extensions0.DropcursorOptions, any>;
53
+ gapcursor: _tiptap_core0.Extension<any, any>;
54
+ undoRedo: _tiptap_core0.Extension<_tiptap_extensions0.UndoRedoOptions, any>;
55
+ listKeymap: _tiptap_core0.Extension<_tiptap_extension_list0.ListKeymapOptions, any>;
56
+ trailingNode: _tiptap_core0.Extension<_tiptap_extensions0.TrailingNodeOptions, any>;
57
+ textStyle: _tiptap_core0.Mark<_tiptap_extension_text_style0.TextStyleOptions, any>;
58
+ color: _tiptap_core0.Extension<_tiptap_extension_text_style0.ColorOptions, any>;
59
59
  };
60
60
  type EditorExtensions = typeof EDITOR_EXTENSIONS;
61
61
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.mts","names":[],"sources":["../../../../src/components/editor/lib/constants.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;cAwBa;;;;kCAoCZ,6BAAA,CAAA,iBAAA;;;;;;;;;;;;EApCY,QAAA,qBAoCZ,CAAA,GAAA,EAAA,GAAA,CAAA;EAAA;;;;;;;;;;;;;;;;;;;;KAEW,gBAAA,UAA0B"}
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"}
@@ -19,7 +19,6 @@ import { ColorOptions, TextStyleOptions } from "@tiptap/extension-text-style";
19
19
  import "@tiptap/core";
20
20
 
21
21
  //#region src/components/editor/lib/extensions.d.ts
22
-
23
22
  /**
24
23
  * Editor extensions defaults
25
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.mts","names":[],"sources":["../../../../src/components/editor/lib/extensions.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCA;;;AAKsB,KALV,sBAAA,GAKU;EAAR;;;EAGK,UAAA,EAJL,OAIK,CAJG,iBAIH,CAAA,GAAA,OAAA;EAAR,UAAA,EAHG,OAGH,CAHW,iBAGX,CAAA,GAAA,OAAA;EACe,QAAA,EAAA,OAAA;EAAR,SAAA,EAFL,OAEK,CAFG,gBAEH,CAAA,GAAA,OAAA;EACE,OAAA,EAFT,OAES,CAFD,cAEC,CAAA,GAAA,OAAA;EAAR,cAAA,EADM,OACN,CADc,qBACd,CAAA,GAAA,OAAA;EACW,QAAA,EADX,OACW,CADH,eACG,CAAA,GAAA,OAAA;EAAR,WAAA,EAAA,OAAA,CAAQ,kBAAR,CAAA,GAAA,OAAA;EACM,SAAA,EAAR,OAAQ,CAAA,gBAAA,CAAA,GAAA,OAAA;EAAR,IAAA,EACL,OADK,CACG,gBADH,CAAA,GAAA,OAAA;EACG,KAAA,EACP,OADO,CACC,YADD,CAAA,GAAA,OAAA;EAAR,WAAA,EAEO,OAFP,CAEe,kBAFf,CAAA,GAAA,OAAA;EACS,QAAA,EAAA,OAAA;EAAR;;;EAMO,IAAA,EAAR,OAAQ,CAAA,WAAA,CAAA,GAAA,OAAA;EAAR,MAAA,EACE,OADF,CACU,aADV,CAAA,GAAA,OAAA;EACU,IAAA,EACV,OADU,CACF,WADE,CAAA,GAAA,OAAA;EAAR,MAAA,EAEA,OAFA,CAEQ,aAFR,CAAA,GAAA,OAAA;EACM,SAAA,EAEH,OAFG,CAEK,gBAFL,CAAA,GAAA,OAAA;EAAR,SAAA,EAGK,OAHL,CAGa,gBAHb,CAAA,GAAA,OAAA;EACU;;;EACL,UAAA,EAKC,OALD,CAKS,iBALT,CAAA,GAAA,OAAA;EACQ,SAAA,EAAA,OAAA;EAAR,QAAA,EAMD,OANC,CAMO,eANP,CAAA,GAAA,OAAA;EAIS,UAAA,EAGR,OAHQ,CAGA,iBAHA,CAAA,GAAA,OAAA;EAAR,YAAA,EAIE,OAJF,CAIU,mBAJV,CAAA,GAAA,OAAA;EAEM,SAAA,EAGP,OAHO,CAGC,gBAHD,CAAA,GAAA,OAAA;EAAR,KAAA,EAIH,OAJG,CAIK,YAJL,CAAA,GAAA,OAAA;CACU;KA2EV,4BAAA,GAA+B,aAAa"}
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"}
@@ -36,14 +36,12 @@ function editorExtensionsConfigToExtensions(extensions) {
36
36
  function flattenEditorExtensionsConfig(extensions) {
37
37
  return EDITOR_EXTENSIONS_KEYS.reduce((acc, key) => {
38
38
  const value = extensions?.[key];
39
- if (value === void 0) return {
40
- ...acc,
41
- [key]: true
42
- };
43
- return {
44
- ...acc,
45
- [key]: typeof value === "boolean" ? value : true
46
- };
39
+ if (value === void 0) {
40
+ acc[key] = true;
41
+ return acc;
42
+ }
43
+ acc[key] = typeof value === "boolean" ? value : true;
44
+ return acc;
47
45
  }, {});
48
46
  }
49
47
 
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.mjs","names":[],"sources":["../../../../src/components/editor/lib/extensions.ts"],"sourcesContent":["import { BlockquoteOptions } from \"@tiptap/extension-blockquote\";\nimport { BoldOptions } from \"@tiptap/extension-bold\";\nimport { HardBreakOptions } from \"@tiptap/extension-hard-break\";\nimport { HeadingOptions } from \"@tiptap/extension-heading\";\nimport { HighlightOptions } from \"@tiptap/extension-highlight\";\nimport { HorizontalRuleOptions } from \"@tiptap/extension-horizontal-rule\";\nimport { ItalicOptions } from \"@tiptap/extension-italic\";\nimport { LinkOptions } from \"@tiptap/extension-link\";\nimport {\n BulletListOptions,\n ListItemOptions,\n ListKeymapOptions,\n OrderedListOptions,\n} from \"@tiptap/extension-list\";\nimport { ParagraphOptions } from \"@tiptap/extension-paragraph\";\nimport { StrikeOptions } from \"@tiptap/extension-strike\";\nimport { ColorOptions, TextStyleOptions } from \"@tiptap/extension-text-style\";\nimport { UnderlineOptions } from \"@tiptap/extension-underline\";\nimport { DropcursorOptions, TrailingNodeOptions, UndoRedoOptions } from \"@tiptap/extensions\";\nimport { Extension } from \"@tiptap/react\";\nimport deepmerge from \"deepmerge\";\nimport { FileHandlerOptions } from \"../extensions/file-handler/extension\";\nimport { ImageOptions } from \"../extensions/image/extension\";\nimport {\n EDITOR_EXTENSIONS,\n EDITOR_EXTENSIONS_CONFIG,\n EDITOR_EXTENSIONS_KEYS,\n 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 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 return {\n ...acc,\n [key]: true,\n };\n }\n\n return {\n ...acc,\n [key]: typeof value === \"boolean\" ? value : true,\n };\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;AAG/C,SAAO,UAAU,MAAa;GAC9B;;;;;AAMJ,SAAgB,8BACd,YAC8B;AAC9B,QAAO,uBAAuB,QAAQ,KAAK,QAAQ;EACjD,MAAM,QAAQ,aAAa;AAE3B,MAAI,UAAU,OACZ,QAAO;GACL,GAAG;IACF,MAAM;GACR;AAGH,SAAO;GACL,GAAG;IACF,MAAM,OAAO,UAAU,YAAY,QAAQ;GAC7C;IACA,EAAE,CAAiC"}
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,7 +1,6 @@
1
1
  import { EditorJSONContent } from "./types.mjs";
2
2
 
3
3
  //#region src/components/editor/lib/helpers.d.ts
4
-
5
4
  /**
6
5
  * Convert text to editor content
7
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.mts","names":[],"sources":["../../../../src/components/editor/lib/helpers.ts"],"sourcesContent":[],"mappings":";;;;;;AA2CA;AAOgB,iBAPA,0BAAA,CAOoC,IAAA,EAAA,MAAA,CAAiB,EAPX,iBAOW;;;;iBAArD,0BAAA,UAAoC"}
1
+ {"version":3,"file":"helpers.d.mts","names":[],"sources":["../../../../src/components/editor/lib/helpers.ts"],"mappings":";;;;;AA2CA;iBAAgB,0BAAA,CAA2B,IAAA,WAAe,iBAAA;;;;iBAO1C,0BAAA,CAA2B,OAAA,EAAS,iBAAA"}
@@ -1 +1 @@
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, 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 Underline from \"@tiptap/extension-underline\";\nimport { Dropcursor, Gapcursor, TrailingNode, UndoRedo } from \"@tiptap/extensions\";\nimport { generateHTML, generateJSON } from \"@tiptap/html\";\nimport { 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 Dropcursor,\n Gapcursor,\n UndoRedo,\n ListKeymap,\n TrailingNode,\n];\n\n/**\n * Convert text to editor content\n */\nexport function convertHTMLToEditorContent(html: string): EditorJSONContent {\n return generateJSON(html, EXTENSIONS_FOR_GENERATION);\n}\n\n/**\n * Convert editor content to text\n */\nexport function convertEditorContentToHTML(content: EditorJSONContent): string {\n return generateHTML(content, EXTENSIONS_FOR_GENERATION);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAM,4BAA4B;CAChC;CACA;CACA;CACA;CACA;CACA;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,2BAA2B,SAAoC;AAC7E,QAAO,aAAa,SAAS,0BAA0B"}
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, 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 Underline from \"@tiptap/extension-underline\";\nimport { Dropcursor, Gapcursor, TrailingNode, UndoRedo } from \"@tiptap/extensions\";\nimport { generateHTML, generateJSON } from \"@tiptap/html\";\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 Dropcursor,\n Gapcursor,\n UndoRedo,\n ListKeymap,\n TrailingNode,\n];\n\n/**\n * Convert text to editor content\n */\nexport function convertHTMLToEditorContent(html: string): EditorJSONContent {\n return generateJSON(html, EXTENSIONS_FOR_GENERATION);\n}\n\n/**\n * Convert editor content to text\n */\nexport function convertEditorContentToHTML(content: EditorJSONContent): string {\n return generateHTML(content, EXTENSIONS_FOR_GENERATION);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAM,4BAA4B;CAChC;CACA;CACA;CACA;CACA;CACA;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,2BAA2B,SAAoC;AAC7E,QAAO,aAAa,SAAS,0BAA0B"}
@@ -1,7 +1,6 @@
1
1
  import { JSONContent } from "@tiptap/react";
2
2
 
3
3
  //#region src/components/editor/lib/types.d.ts
4
-
5
4
  /**
6
5
  * Types
7
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../src/components/editor/lib/types.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;KAAY,iBAAA,GAAoB"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../src/components/editor/lib/types.ts"],"mappings":";;;;;AAKA;KAAY,iBAAA,GAAoB,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"variants.mjs","names":[],"sources":["../../../../src/components/editor/lib/variants.ts"],"sourcesContent":["import { cn } from \"@/lib/utils/cn\";\nimport { cva } from \"class-variance-authority\";\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
+ {"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"}
@@ -45,8 +45,7 @@ function ForgetPasswordEmail({ resetPasswordHref }) {
45
45
  ] });
46
46
  }
47
47
  ForgetPasswordEmail.PreviewProps = { resetPasswordHref: url("/auth/reset-password") };
48
- var forget_password_email_default = ForgetPasswordEmail;
49
48
 
50
49
  //#endregion
51
- export { forget_password_email_default as default };
50
+ export { ForgetPasswordEmail as default };
52
51
  //# sourceMappingURL=forget-password-email.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"forget-password-email.mjs","names":[],"sources":["../../../src/components/emails/forget-password-email.tsx"],"sourcesContent":["import { url } from \"@/lib/utils/url\";\nimport {\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 { 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-solid border-[#eaeaea] p-[20px]\">\n <Icons.logo className=\"w-8\" />\n\n <Section className=\"my-[15px]\">\n <Heading className=\"mx-0 my-[20px] p-0 text-[24px] font-bold text-black\">\n Herstel uw wachtwoord\n </Heading>\n\n <Text className=\"text-[14px] leading-[24px] text-black\">\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 text-[12px] font-semibold text-white no-underline\"\n href={resetPasswordHref}\n >\n Reset password\n </Button>\n </Section>\n\n <Section>\n <Text className=\"text-[12px] leading-[20px] text-black\">\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] leading-[20px] text-black\">\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;AAED,oCAAe"}
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-solid border-[#eaeaea] p-[20px]\">\n <Icons.logo className=\"w-8\" />\n\n <Section className=\"my-[15px]\">\n <Heading className=\"mx-0 my-[20px] p-0 text-[24px] font-bold text-black\">\n Herstel uw wachtwoord\n </Heading>\n\n <Text className=\"text-[14px] leading-[24px] text-black\">\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 text-[12px] font-semibold text-white no-underline\"\n href={resetPasswordHref}\n >\n Reset password\n </Button>\n </Section>\n\n <Section>\n <Text className=\"text-[12px] leading-[20px] text-black\">\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] leading-[20px] text-black\">\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,10 +1,10 @@
1
- import * as react_jsx_runtime120 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/header/back-button.client.d.ts
4
4
  declare function HeaderTopbarBackButton({
5
5
  className,
6
6
  ...props
7
- }: React.HtmlHTMLAttributes<HTMLButtonElement>): react_jsx_runtime120.JSX.Element;
7
+ }: React.HtmlHTMLAttributes<HTMLButtonElement>): react_jsx_runtime0.JSX.Element;
8
8
  //#endregion
9
9
  export { HeaderTopbarBackButton };
10
10
  //# sourceMappingURL=back-button.client.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"back-button.client.d.mts","names":[],"sources":["../../../src/components/header/back-button.client.tsx"],"sourcesContent":[],"mappings":";;;iBAagB,sBAAA;;;GAGb,KAAA,CAAM,mBAAmB,qBAAkB,oBAAA,CAAA,GAAA,CAAA"}
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 +1 @@
1
- {"version":3,"file":"back-button.client.mjs","names":[],"sources":["../../../src/components/header/back-button.client.tsx"],"sourcesContent":["\"use client\";\n\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\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { useRouter } from \"next/navigation\";\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 \"text-muted-foreground hover:text-foreground w-content h-full rounded-none border-r p-0\",\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,0FACA,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
+ {"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\";\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 \"text-muted-foreground hover:text-foreground w-content h-full rounded-none border-r p-0\",\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,0FACA,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,5 +1,5 @@
1
1
  import { Path } from "../../modules/config/paths/types.mjs";
2
- import * as react_jsx_runtime121 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import React from "react";
4
4
 
5
5
  //#region src/components/header/bottom-bar.client.d.ts
@@ -11,7 +11,7 @@ type BottomBarProps = {
11
11
  };
12
12
  declare function BottomBar({
13
13
  children
14
- }: BottomBarProps): react_jsx_runtime121.JSX.Element;
14
+ }: BottomBarProps): react_jsx_runtime0.JSX.Element;
15
15
  /**
16
16
  * Bottombar link component
17
17
  */
@@ -23,7 +23,7 @@ declare function BottomBarLinks({
23
23
  paths,
24
24
  className,
25
25
  ...props
26
- }: BottomBarLinksProps): react_jsx_runtime121.JSX.Element;
26
+ }: BottomBarLinksProps): react_jsx_runtime0.JSX.Element;
27
27
  //#endregion
28
28
  export { BottomBar, BottomBarLink, BottomBarLinks, BottomBarLinksProps, BottomBarProps };
29
29
  //# sourceMappingURL=bottom-bar.client.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-bar.client.d.mts","names":[],"sources":["../../../src/components/header/bottom-bar.client.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAYY,KAAA,cAAA,GAAc;EAIV,QAAA,EAHJ,KAAA,CAAM,SAGO;CAAG;AAAY,iBAAxB,SAAA,CAAwB;EAAA;AAAA,CAAA,EAAA,cAAA,CAAA,EAAc,oBAAA,CAAA,GAAA,CAAA,OAAd;;;AAWxC;AAEY,KAFA,aAAA,GAAgB,IAEG,CAFE,IAEF,EAAA,MAAA,GAAA,OAAA,CAAA;AAAwB,KAA3C,mBAAA,GAAsB,KAAA,CAAM,cAAe,CAAA,WAAA,CAAA,GAAA;EAArB,KAAM,EAC/B,aAD+B,EAAA;CAC/B;AAAa,iBAGN,cAAA,CAHM;EAAA,KAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAGyC,mBAHzC,CAAA,EAG4D,oBAAA,CAAA,GAAA,CAAA,OAH5D"}
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 +1 @@
1
- {"version":3,"file":"bottom-bar.client.mjs","names":[],"sources":["../../../src/components/header/bottom-bar.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn } from \"@/lib/utils/cn\";\nimport { Allowed } from \"@/modules/auth/components/allowed.client\";\nimport { Path } from \"@/modules/config/paths/types\";\nimport Link from \"next/link\";\nimport { useSelectedLayoutSegment } from \"next/navigation\";\nimport type React from \"react\";\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(\"px-content flex flex-row items-center gap-6 text-sm font-medium\", className)}\n >\n {paths.map(({ href, name, segment, permission }) => {\n const children = (\n <Link\n key={href}\n href={href}\n className={cn(\n \"text-muted-foreground hover:text-foreground w-fit text-nowrap break-keep transition-colors\",\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
+ {"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(\"px-content flex flex-row items-center gap-6 text-sm font-medium\", className)}\n >\n {paths.map(({ href, name, segment, permission }) => {\n const children = (\n <Link\n key={href}\n href={href}\n className={cn(\n \"text-muted-foreground hover:text-foreground w-fit text-nowrap break-keep transition-colors\",\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,5 +1,5 @@
1
1
  import { BreadcrumbSeparator } from "../ui/breadcrumb.mjs";
2
- import * as react_jsx_runtime123 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { PropsWithChildren } from "react";
4
4
 
5
5
  //#region src/components/header/breadcrumbs.client.d.ts
@@ -10,26 +10,26 @@ type HeaderBreadcrumb = {
10
10
  type HeaderBreadcrumbProps = {
11
11
  breadcrumbs: HeaderBreadcrumb[];
12
12
  };
13
- declare function HeaderBreadcrumbs(props: PropsWithChildren): react_jsx_runtime123.JSX.Element;
13
+ declare function HeaderBreadcrumbs(props: PropsWithChildren): react_jsx_runtime0.JSX.Element;
14
14
  declare const HeaderBreadcrumbSeparator: typeof BreadcrumbSeparator;
15
15
  /**
16
16
  * Dropdown menu
17
17
  */
18
- declare function HeaderBreadcrumbsDropdownMenu(props: PropsWithChildren): react_jsx_runtime123.JSX.Element;
18
+ declare function HeaderBreadcrumbsDropdownMenu(props: PropsWithChildren): react_jsx_runtime0.JSX.Element;
19
19
  declare function HeaderBreadcrumbsDropdownMenuItem(props: {
20
20
  breadcrumb: HeaderBreadcrumb;
21
- }): react_jsx_runtime123.JSX.Element;
21
+ }): react_jsx_runtime0.JSX.Element;
22
22
  /**
23
23
  * Links
24
24
  */
25
25
  declare function HeaderBreadcrumbsLink(props: {
26
26
  breadcrumb: HeaderBreadcrumb;
27
- }): react_jsx_runtime123.JSX.Element;
27
+ }): react_jsx_runtime0.JSX.Element;
28
28
  /**
29
29
  * Lists
30
30
  */
31
- declare function HeaderBreadcrumbsMobileList(props: PropsWithChildren): react_jsx_runtime123.JSX.Element;
32
- declare function HeaderBreadcrumbsDesktopList(props: PropsWithChildren): react_jsx_runtime123.JSX.Element;
31
+ declare function HeaderBreadcrumbsMobileList(props: PropsWithChildren): react_jsx_runtime0.JSX.Element;
32
+ declare function HeaderBreadcrumbsDesktopList(props: PropsWithChildren): react_jsx_runtime0.JSX.Element;
33
33
  //#endregion
34
34
  export { HeaderBreadcrumb, HeaderBreadcrumbProps, HeaderBreadcrumbSeparator, HeaderBreadcrumbs, HeaderBreadcrumbsDesktopList, HeaderBreadcrumbsDropdownMenu, HeaderBreadcrumbsDropdownMenuItem, HeaderBreadcrumbsLink, HeaderBreadcrumbsMobileList };
35
35
  //# sourceMappingURL=breadcrumbs.client.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.client.d.mts","names":[],"sources":["../../../src/components/header/breadcrumbs.client.tsx"],"sourcesContent":[],"mappings":";;;;;KAmBY,gBAAA;;;AAAZ,CAAA;AAKY,KAAA,qBAAA,GAAqB;EAIjB,WAAA,EAHD,gBAGkB,EAAA;AAIjC,CAAA;AAKgB,iBATA,iBAAA,CAS6B,KAAA,EATJ,iBASY,CAAA,EATK,oBAAA,CAAA,GAAA,CAAA,OASY;AAatD,cAlBH,yBAkBoC,EAAA,OAlBX,mBAkBmD;AAezF;AAmBA;AAQA;iBAvDgB,6BAAA,QAAqC,oBAAiB,oBAAA,CAAA,GAAA,CAAA;iBAatD,iCAAA;cAAuD;IAAkB,oBAAA,CAAA,GAAA,CAAA;;;;iBAezE,qBAAA;cAA2C;IAAkB,oBAAA,CAAA,GAAA,CAAA;;;;iBAmB7D,2BAAA,QAAmC,oBAAiB,oBAAA,CAAA,GAAA,CAAA;iBAQpD,4BAAA,QAAoC,oBAAiB,oBAAA,CAAA,GAAA,CAAA"}
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 +1 @@
1
- {"version":3,"file":"breadcrumbs.client.mjs","names":[],"sources":["../../../src/components/header/breadcrumbs.client.tsx"],"sourcesContent":["import {\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\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport Link from \"next/link\";\nimport { PropsWithChildren } from \"react\";\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
+ {"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\";\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,4 +1,4 @@
1
- import * as react_jsx_runtime129 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import { ComponentProps } from "react";
3
3
 
4
4
  //#region src/components/header/header.client.d.ts
@@ -6,7 +6,7 @@ declare function Header({
6
6
  children,
7
7
  className,
8
8
  ...props
9
- }: ComponentProps<"header">): react_jsx_runtime129.JSX.Element;
9
+ }: ComponentProps<"header">): react_jsx_runtime0.JSX.Element;
10
10
  //#endregion
11
11
  export { Header };
12
12
  //# sourceMappingURL=header.client.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.client.d.mts","names":[],"sources":["../../../src/components/header/header.client.tsx"],"sourcesContent":[],"mappings":";;;;iBAGgB,MAAA;;;;GAA0C,2BAAwB,oBAAA,CAAA,GAAA,CAAA"}
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 +1 @@
1
- {"version":3,"file":"header.client.mjs","names":[],"sources":["../../../src/components/header/header.client.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils/cn\";\nimport { ComponentProps } from \"react\";\n\nexport function Header({ children, className, ...props }: ComponentProps<\"header\">) {\n return (\n <header className={cn(\"bg-sidebar sticky top-0 z-30 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
+ {"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(\"bg-sidebar sticky top-0 z-30 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 +1 @@
1
- {"version":3,"file":"indicator.client.mjs","names":[],"sources":["../../../src/components/header/indicator.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { IndicatorStatus, useIndicator } from \"@/lib/hooks/use-indicator\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { cva } from \"class-variance-authority\";\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
+ {"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,10 +1,10 @@
1
- import * as react_jsx_runtime130 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/header/mobile-nav-switcher.client.d.ts
4
4
  declare function HeaderTopbarMobileNavSwitcher({
5
5
  className,
6
6
  ...props
7
- }: React.HtmlHTMLAttributes<HTMLButtonElement>): react_jsx_runtime130.JSX.Element;
7
+ }: React.HtmlHTMLAttributes<HTMLButtonElement>): react_jsx_runtime0.JSX.Element;
8
8
  //#endregion
9
9
  export { HeaderTopbarMobileNavSwitcher };
10
10
  //# sourceMappingURL=mobile-nav-switcher.client.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-nav-switcher.client.d.mts","names":[],"sources":["../../../src/components/header/mobile-nav-switcher.client.tsx"],"sourcesContent":[],"mappings":";;;iBAKgB,6BAAA;;;GAGb,KAAA,CAAM,mBAAmB,qBAAkB,oBAAA,CAAA,GAAA,CAAA"}
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"}