@vitnode/core 2.0.0-canary.3 → 2.0.0-canary.5

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 (1230) hide show
  1. package/dist/scripts/scripts.js +23 -27
  2. package/dist/src/api/adapters/events/local.d.ts.map +1 -1
  3. package/dist/src/api/adapters/search/postgres.d.ts.map +1 -1
  4. package/dist/src/api/adapters/search/postgres.js +1 -1
  5. package/dist/src/api/adapters/sso/discord.d.ts.map +1 -1
  6. package/dist/src/api/adapters/sso/discord.js +1 -1
  7. package/dist/src/api/adapters/storage/local.d.ts.map +1 -1
  8. package/dist/src/api/config.d.ts.map +1 -1
  9. package/dist/src/api/config.js +1 -1
  10. package/dist/src/api/lib/auth-cookie.d.ts.map +1 -1
  11. package/dist/src/api/lib/auth-cookie.js +1 -1
  12. package/dist/src/api/lib/cache.d.ts.map +1 -1
  13. package/dist/src/api/lib/check-staff-permission.d.ts.map +1 -1
  14. package/dist/src/api/lib/client-ip.d.ts +4 -0
  15. package/dist/src/api/lib/client-ip.d.ts.map +1 -0
  16. package/dist/src/api/lib/client-ip.js +1 -0
  17. package/dist/src/api/lib/module.d.ts.map +1 -1
  18. package/dist/src/api/lib/openapi-tags.d.ts.map +1 -1
  19. package/dist/src/api/lib/pagination-cursor.d.ts +7 -3
  20. package/dist/src/api/lib/pagination-cursor.d.ts.map +1 -1
  21. package/dist/src/api/lib/pagination-cursor.js +1 -1
  22. package/dist/src/api/lib/permission-staff.d.ts.map +1 -1
  23. package/dist/src/api/lib/plugin.d.ts.map +1 -1
  24. package/dist/src/api/lib/staff-permission-cache.d.ts.map +1 -1
  25. package/dist/src/api/lib/user-email-lookup.d.ts +6 -0
  26. package/dist/src/api/lib/user-email-lookup.d.ts.map +1 -0
  27. package/dist/src/api/lib/user-email-lookup.js +1 -0
  28. package/dist/src/api/lib/websocket.d.ts.map +1 -1
  29. package/dist/src/api/lib/with-pagination.d.ts +4 -2
  30. package/dist/src/api/lib/with-pagination.d.ts.map +1 -1
  31. package/dist/src/api/lib/with-pagination.js +1 -1
  32. package/dist/src/api/middlewares/captcha.middleware.d.ts.map +1 -1
  33. package/dist/src/api/middlewares/captcha.middleware.js +1 -1
  34. package/dist/src/api/middlewares/cron-auth.middleware.d.ts.map +1 -1
  35. package/dist/src/api/middlewares/cron-auth.middleware.js +1 -1
  36. package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
  37. package/dist/src/api/middlewares/global.middleware.js +1 -1
  38. package/dist/src/api/middlewares/storage-static.middleware.d.ts +3 -0
  39. package/dist/src/api/middlewares/storage-static.middleware.d.ts.map +1 -0
  40. package/dist/src/api/middlewares/storage-static.middleware.js +1 -0
  41. package/dist/src/api/middlewares/websocket-origin.middleware.d.ts +5 -0
  42. package/dist/src/api/middlewares/websocket-origin.middleware.d.ts.map +1 -0
  43. package/dist/src/api/middlewares/websocket-origin.middleware.js +1 -0
  44. package/dist/src/api/models/ai.d.ts.map +1 -1
  45. package/dist/src/api/models/device.d.ts +5 -1
  46. package/dist/src/api/models/device.d.ts.map +1 -1
  47. package/dist/src/api/models/device.js +1 -1
  48. package/dist/src/api/models/events.d.ts.map +1 -1
  49. package/dist/src/api/models/i18n.d.ts.map +1 -1
  50. package/dist/src/api/models/password.d.ts +1 -0
  51. package/dist/src/api/models/password.d.ts.map +1 -1
  52. package/dist/src/api/models/password.js +1 -1
  53. package/dist/src/api/models/queue.d.ts.map +1 -1
  54. package/dist/src/api/models/search.d.ts.map +1 -1
  55. package/dist/src/api/models/session-admin.d.ts.map +1 -1
  56. package/dist/src/api/models/session-admin.js +1 -1
  57. package/dist/src/api/models/session-revoke.d.ts +4 -0
  58. package/dist/src/api/models/session-revoke.d.ts.map +1 -0
  59. package/dist/src/api/models/session-revoke.js +1 -0
  60. package/dist/src/api/models/session.js +1 -1
  61. package/dist/src/api/models/sso.d.ts.map +1 -1
  62. package/dist/src/api/models/sso.js +1 -1
  63. package/dist/src/api/models/storage.d.ts.map +1 -1
  64. package/dist/src/api/models/storage.js +1 -1
  65. package/dist/src/api/models/user/sign-in-with-passwords.d.ts.map +1 -1
  66. package/dist/src/api/models/user/sign-in-with-passwords.js +1 -1
  67. package/dist/src/api/models/user/sign-up.d.ts +1 -1
  68. package/dist/src/api/models/user/sign-up.d.ts.map +1 -1
  69. package/dist/src/api/models/user/sign-up.js +1 -1
  70. package/dist/src/api/models/user.d.ts +1 -1
  71. package/dist/src/api/models/user.d.ts.map +1 -1
  72. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.d.ts.map +1 -1
  73. package/dist/src/api/modules/admin/advanced/queue/routes/get.route.js +1 -1
  74. package/dist/src/api/modules/admin/debug/routes/clear-search.route.d.ts.map +1 -1
  75. package/dist/src/api/modules/admin/debug/routes/content-status.route.d.ts.map +1 -1
  76. package/dist/src/api/modules/admin/debug/routes/search-status.route.d.ts.map +1 -1
  77. package/dist/src/api/modules/admin/files/routes/delete.route.d.ts.map +1 -1
  78. package/dist/src/api/modules/admin/roles/lib/assert-manage-admin-role.d.ts.map +1 -1
  79. package/dist/src/api/modules/admin/roles/routes/show.route.d.ts.map +1 -1
  80. package/dist/src/api/modules/admin/roles/routes/show.route.js +1 -1
  81. package/dist/src/api/modules/admin/routes/notifications.route.d.ts.map +1 -1
  82. package/dist/src/api/modules/admin/routes/notifications.route.js +1 -1
  83. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts +1 -0
  84. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.d.ts.map +1 -1
  85. package/dist/src/api/modules/admin/users/lib/assert-edit-user-permission.js +1 -1
  86. package/dist/src/api/modules/admin/users/routes/update.route.d.ts.map +1 -1
  87. package/dist/src/api/modules/admin/users/routes/update.route.js +1 -1
  88. package/dist/src/api/modules/content/content.module.d.ts.map +1 -1
  89. package/dist/src/api/modules/content/cron/content-editorial-cleanup.cron.d.ts.map +1 -1
  90. package/dist/src/api/modules/content/helpers/execute-content-schedule.d.ts.map +1 -1
  91. package/dist/src/api/modules/content/tasks/content-schedule-effects.task.d.ts.map +1 -1
  92. package/dist/src/api/modules/content/tasks/content-schedule.task.d.ts.map +1 -1
  93. package/dist/src/api/modules/queue/helpers/process-queue-tasks.d.ts.map +1 -1
  94. package/dist/src/api/modules/search/routes/search.route.d.ts.map +1 -1
  95. package/dist/src/api/modules/search/routes/search.route.js +1 -1
  96. package/dist/src/api/modules/users/routes/change-password.route.d.ts.map +1 -1
  97. package/dist/src/api/modules/users/routes/change-password.route.js +1 -1
  98. package/dist/src/api/modules/users/routes/reset-passowrd.route.d.ts.map +1 -1
  99. package/dist/src/api/modules/users/routes/reset-passowrd.route.js +1 -1
  100. package/dist/src/api/modules/users/users.module.d.ts +0 -24
  101. package/dist/src/api/modules/users/users.module.d.ts.map +1 -1
  102. package/dist/src/api/modules/users/users.module.js +1 -1
  103. package/dist/src/api/modules.client.d.ts +0 -24
  104. package/dist/src/api/modules.client.d.ts.map +1 -1
  105. package/dist/src/components/confirm-action/confirm-action-alert-dialog.d.ts.map +1 -1
  106. package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -1
  107. package/dist/src/components/date-format.d.ts.map +1 -1
  108. package/dist/src/components/date-format.js +1 -1
  109. package/dist/src/components/editor-provider.d.ts +19 -0
  110. package/dist/src/components/editor-provider.d.ts.map +1 -0
  111. package/dist/src/components/editor-provider.js +1 -0
  112. package/dist/src/components/files/file-preview.d.ts.map +1 -1
  113. package/dist/src/components/files/file-preview.js +1 -1
  114. package/dist/src/components/files/metadata-cell.d.ts.map +1 -1
  115. package/dist/src/components/files/metadata-cell.js +1 -1
  116. package/dist/src/components/form/auto-form.d.ts.map +1 -1
  117. package/dist/src/components/form/auto-form.js +1 -1
  118. package/dist/src/components/form/common/async-picker.d.ts.map +1 -1
  119. package/dist/src/components/form/common/async-picker.js +1 -1
  120. package/dist/src/components/form/fields/array.d.ts.map +1 -1
  121. package/dist/src/components/form/fields/array.js +1 -1
  122. package/dist/src/components/form/fields/combobox.d.ts.map +1 -1
  123. package/dist/src/components/form/fields/file-gallery.d.ts.map +1 -1
  124. package/dist/src/components/form/fields/file-gallery.js +1 -1
  125. package/dist/src/components/form/fields/file-order.d.ts.map +1 -1
  126. package/dist/src/components/form/fields/file-shared.d.ts.map +1 -1
  127. package/dist/src/components/form/fields/file-shared.js +1 -1
  128. package/dist/src/components/form/fields/file-upload-queue.d.ts.map +1 -1
  129. package/dist/src/components/form/fields/file.d.ts.map +1 -1
  130. package/dist/src/components/form/fields/file.js +1 -1
  131. package/dist/src/components/form/fields/files.d.ts.map +1 -1
  132. package/dist/src/components/form/fields/files.js +1 -1
  133. package/dist/src/components/form/fields/input-roles.d.ts.map +1 -1
  134. package/dist/src/components/form/fields/input-roles.js +1 -1
  135. package/dist/src/components/form/fields/input-users.d.ts.map +1 -1
  136. package/dist/src/components/form/fields/input-users.js +1 -1
  137. package/dist/src/components/form/fields/multi-lang.d.ts.map +1 -1
  138. package/dist/src/components/form/fields/multi-lang.js +1 -1
  139. package/dist/src/components/form/fields/roles.d.ts.map +1 -1
  140. package/dist/src/components/languages-provider.d.ts.map +1 -1
  141. package/dist/src/components/languages-provider.js +1 -1
  142. package/dist/src/components/logo-vitnode.d.ts.map +1 -1
  143. package/dist/src/components/role-format-content.d.ts.map +1 -1
  144. package/dist/src/components/role-format-content.js +1 -1
  145. package/dist/src/components/role-name.d.ts.map +1 -1
  146. package/dist/src/components/staff-permission/provider.d.ts.map +1 -1
  147. package/dist/src/components/staff-permission/provider.js +1 -1
  148. package/dist/src/components/switchers/langs/language-switcher-content.d.ts.map +1 -1
  149. package/dist/src/components/switchers/langs/language-switcher-content.js +1 -1
  150. package/dist/src/components/switchers/themes/theme-switcher.d.ts.map +1 -1
  151. package/dist/src/components/switchers/themes/theme-switcher.js +1 -1
  152. package/dist/src/components/table/content.js +1 -1
  153. package/dist/src/components/table/data-table-content.d.ts.map +1 -1
  154. package/dist/src/components/table/data-table-content.js +1 -1
  155. package/dist/src/components/table/filters.d.ts.map +1 -1
  156. package/dist/src/components/table/filters.js +1 -1
  157. package/dist/src/components/table/navigation.d.ts.map +1 -1
  158. package/dist/src/components/table/navigation.js +1 -1
  159. package/dist/src/components/table/no-results.d.ts.map +1 -1
  160. package/dist/src/components/table/no-results.js +1 -1
  161. package/dist/src/components/table/order-table-head.d.ts.map +1 -1
  162. package/dist/src/components/table/order-table-head.js +1 -1
  163. package/dist/src/components/table/pagination.d.ts.map +1 -1
  164. package/dist/src/components/table/pagination.js +1 -1
  165. package/dist/src/components/table/search.d.ts.map +1 -1
  166. package/dist/src/components/table/search.js +1 -1
  167. package/dist/src/components/table/selection.d.ts.map +1 -1
  168. package/dist/src/components/table/selection.js +1 -1
  169. package/dist/src/components/table/url-state.d.ts.map +1 -1
  170. package/dist/src/components/theme-provider.d.ts.map +1 -1
  171. package/dist/src/components/theme-provider.js +1 -1
  172. package/dist/src/components/theme-script.d.ts.map +1 -1
  173. package/dist/src/components/tiptap/drag-handle.d.ts +5 -0
  174. package/dist/src/components/tiptap/drag-handle.d.ts.map +1 -0
  175. package/dist/src/components/tiptap/drag-handle.js +1 -0
  176. package/dist/src/components/tiptap/emoji/custom-emoji.d.ts +7 -0
  177. package/dist/src/components/tiptap/emoji/custom-emoji.d.ts.map +1 -0
  178. package/dist/src/components/tiptap/emoji/custom-emoji.js +1 -0
  179. package/dist/src/components/tiptap/emoji/emoji-suggestion-list.d.ts +10 -0
  180. package/dist/src/components/tiptap/emoji/emoji-suggestion-list.d.ts.map +1 -0
  181. package/dist/src/components/tiptap/emoji/emoji-suggestion-list.js +1 -0
  182. package/dist/src/components/tiptap/emoji/emoji-suggestion.d.ts +6 -0
  183. package/dist/src/components/tiptap/emoji/emoji-suggestion.d.ts.map +1 -0
  184. package/dist/src/components/tiptap/emoji/emoji-suggestion.js +1 -0
  185. package/dist/src/components/tiptap/emoji/match-emojis.d.ts +4 -0
  186. package/dist/src/components/tiptap/emoji/match-emojis.d.ts.map +1 -0
  187. package/dist/src/components/tiptap/emoji/match-emojis.js +1 -0
  188. package/dist/src/components/tiptap/extension.d.ts +6 -1
  189. package/dist/src/components/tiptap/extension.d.ts.map +1 -1
  190. package/dist/src/components/tiptap/extension.js +1 -1
  191. package/dist/src/components/tiptap/tiptap-editor.d.ts +8 -0
  192. package/dist/src/components/tiptap/tiptap-editor.d.ts.map +1 -0
  193. package/dist/src/components/tiptap/tiptap-editor.js +1 -0
  194. package/dist/src/components/tiptap/toolbar/actions/audio/audio-form.d.ts +2 -0
  195. package/dist/src/components/tiptap/toolbar/actions/audio/audio-form.d.ts.map +1 -0
  196. package/dist/src/components/tiptap/toolbar/actions/audio/audio-form.js +1 -0
  197. package/dist/src/components/tiptap/toolbar/actions/audio-action.d.ts +3 -0
  198. package/dist/src/components/tiptap/toolbar/actions/audio-action.d.ts.map +1 -0
  199. package/dist/src/components/tiptap/toolbar/actions/audio-action.js +1 -0
  200. package/dist/src/components/tiptap/toolbar/actions/blocks-action.d.ts +2 -0
  201. package/dist/src/components/tiptap/toolbar/actions/blocks-action.d.ts.map +1 -0
  202. package/dist/src/components/tiptap/toolbar/actions/blocks-action.js +1 -0
  203. package/dist/src/components/tiptap/toolbar/actions/color-action.d.ts +3 -0
  204. package/dist/src/components/tiptap/toolbar/actions/color-action.d.ts.map +1 -0
  205. package/dist/src/components/tiptap/toolbar/actions/color-action.js +1 -0
  206. package/dist/src/components/tiptap/toolbar/actions/emoji/emoji-picker.d.ts +5 -0
  207. package/dist/src/components/tiptap/toolbar/actions/emoji/emoji-picker.d.ts.map +1 -0
  208. package/dist/src/components/tiptap/toolbar/actions/emoji/emoji-picker.js +1 -0
  209. package/dist/src/components/tiptap/toolbar/actions/emoji-action.d.ts +3 -0
  210. package/dist/src/components/tiptap/toolbar/actions/emoji-action.d.ts.map +1 -0
  211. package/dist/src/components/tiptap/toolbar/actions/emoji-action.js +1 -0
  212. package/dist/src/components/tiptap/toolbar/actions/font-size-action.d.ts +2 -0
  213. package/dist/src/components/tiptap/toolbar/actions/font-size-action.d.ts.map +1 -0
  214. package/dist/src/components/tiptap/toolbar/actions/font-size-action.js +1 -0
  215. package/dist/src/components/tiptap/toolbar/actions/table-action.d.ts +2 -0
  216. package/dist/src/components/tiptap/toolbar/actions/table-action.d.ts.map +1 -0
  217. package/dist/src/components/tiptap/toolbar/actions/table-action.js +1 -0
  218. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts.map +1 -1
  219. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +1 -1
  220. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.d.ts.map +1 -1
  221. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.js +1 -1
  222. package/dist/src/components/ui/accordion.d.ts.map +1 -1
  223. package/dist/src/components/ui/accordion.js +1 -1
  224. package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
  225. package/dist/src/components/ui/alert-dialog.js +1 -1
  226. package/dist/src/components/ui/avatar.d.ts.map +1 -1
  227. package/dist/src/components/ui/avatar.js +1 -1
  228. package/dist/src/components/ui/button-client.d.ts.map +1 -1
  229. package/dist/src/components/ui/button-client.js +1 -1
  230. package/dist/src/components/ui/button.js +1 -1
  231. package/dist/src/components/ui/carousel.d.ts.map +1 -1
  232. package/dist/src/components/ui/carousel.js +1 -1
  233. package/dist/src/components/ui/chart.d.ts.map +1 -1
  234. package/dist/src/components/ui/chart.js +1 -1
  235. package/dist/src/components/ui/checkbox.d.ts.map +1 -1
  236. package/dist/src/components/ui/checkbox.js +1 -1
  237. package/dist/src/components/ui/collapsible.d.ts.map +1 -1
  238. package/dist/src/components/ui/collapsible.js +1 -1
  239. package/dist/src/components/ui/color-picker.d.ts.map +1 -1
  240. package/dist/src/components/ui/color-picker.js +1 -1
  241. package/dist/src/components/ui/combobox.d.ts.map +1 -1
  242. package/dist/src/components/ui/combobox.js +1 -1
  243. package/dist/src/components/ui/command.d.ts.map +1 -1
  244. package/dist/src/components/ui/command.js +1 -1
  245. package/dist/src/components/ui/context-menu.d.ts.map +1 -1
  246. package/dist/src/components/ui/context-menu.js +1 -1
  247. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  248. package/dist/src/components/ui/dialog.js +1 -1
  249. package/dist/src/components/ui/direction.d.ts.map +1 -1
  250. package/dist/src/components/ui/direction.js +1 -1
  251. package/dist/src/components/ui/drawer.d.ts.map +1 -1
  252. package/dist/src/components/ui/drawer.js +1 -1
  253. package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -1
  254. package/dist/src/components/ui/dropdown-menu.js +1 -1
  255. package/dist/src/components/ui/editor.d.ts +2 -7
  256. package/dist/src/components/ui/editor.d.ts.map +1 -1
  257. package/dist/src/components/ui/editor.js +1 -1
  258. package/dist/src/components/ui/field.d.ts.map +1 -1
  259. package/dist/src/components/ui/field.js +1 -1
  260. package/dist/src/components/ui/form.d.ts.map +1 -1
  261. package/dist/src/components/ui/form.js +1 -1
  262. package/dist/src/components/ui/header-content.d.ts.map +1 -1
  263. package/dist/src/components/ui/hover-card.d.ts.map +1 -1
  264. package/dist/src/components/ui/hover-card.js +1 -1
  265. package/dist/src/components/ui/input-group.d.ts.map +1 -1
  266. package/dist/src/components/ui/input-group.js +1 -1
  267. package/dist/src/components/ui/input-otp.d.ts.map +1 -1
  268. package/dist/src/components/ui/input-otp.js +1 -1
  269. package/dist/src/components/ui/input.js +1 -1
  270. package/dist/src/components/ui/kbd.js +1 -1
  271. package/dist/src/components/ui/menubar.d.ts.map +1 -1
  272. package/dist/src/components/ui/menubar.js +1 -1
  273. package/dist/src/components/ui/native-select.js +1 -1
  274. package/dist/src/components/ui/navigation-menu.d.ts.map +1 -1
  275. package/dist/src/components/ui/navigation-menu.js +1 -1
  276. package/dist/src/components/ui/popover.d.ts.map +1 -1
  277. package/dist/src/components/ui/popover.js +1 -1
  278. package/dist/src/components/ui/progress.d.ts.map +1 -1
  279. package/dist/src/components/ui/progress.js +1 -1
  280. package/dist/src/components/ui/radio-group.d.ts.map +1 -1
  281. package/dist/src/components/ui/radio-group.js +1 -1
  282. package/dist/src/components/ui/resizable.d.ts.map +1 -1
  283. package/dist/src/components/ui/resizable.js +1 -1
  284. package/dist/src/components/ui/scroll-area.d.ts.map +1 -1
  285. package/dist/src/components/ui/scroll-area.js +1 -1
  286. package/dist/src/components/ui/select.d.ts.map +1 -1
  287. package/dist/src/components/ui/select.js +1 -1
  288. package/dist/src/components/ui/separator.d.ts.map +1 -1
  289. package/dist/src/components/ui/separator.js +1 -1
  290. package/dist/src/components/ui/sheet.d.ts.map +1 -1
  291. package/dist/src/components/ui/sheet.js +1 -1
  292. package/dist/src/components/ui/sidebar.d.ts.map +1 -1
  293. package/dist/src/components/ui/sidebar.js +1 -1
  294. package/dist/src/components/ui/slider.d.ts.map +1 -1
  295. package/dist/src/components/ui/slider.js +1 -1
  296. package/dist/src/components/ui/sonner.d.ts.map +1 -1
  297. package/dist/src/components/ui/sonner.js +1 -1
  298. package/dist/src/components/ui/switch.d.ts.map +1 -1
  299. package/dist/src/components/ui/switch.js +1 -1
  300. package/dist/src/components/ui/table.d.ts.map +1 -1
  301. package/dist/src/components/ui/table.js +1 -1
  302. package/dist/src/components/ui/tabs.d.ts.map +1 -1
  303. package/dist/src/components/ui/tabs.js +1 -1
  304. package/dist/src/components/ui/textarea.js +1 -1
  305. package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
  306. package/dist/src/components/ui/toggle-group.js +1 -1
  307. package/dist/src/components/ui/toggle.d.ts.map +1 -1
  308. package/dist/src/components/ui/toggle.js +1 -1
  309. package/dist/src/components/ui/tooltip.d.ts.map +1 -1
  310. package/dist/src/components/ui/tooltip.js +1 -1
  311. package/dist/src/config.js +1 -1
  312. package/dist/src/content/admin/labels.d.ts.map +1 -1
  313. package/dist/src/content/admin/registry.d.ts.map +1 -1
  314. package/dist/src/content/admin/route.d.ts.map +1 -1
  315. package/dist/src/content/admin/spec.d.ts.map +1 -1
  316. package/dist/src/content/admin/upload.d.ts.map +1 -1
  317. package/dist/src/content/advanced.d.ts.map +1 -1
  318. package/dist/src/content/cache.d.ts.map +1 -1
  319. package/dist/src/content/conflicts.d.ts.map +1 -1
  320. package/dist/src/content/const.d.ts.map +1 -1
  321. package/dist/src/content/define-admin.d.ts.map +1 -1
  322. package/dist/src/content/define-editorial.d.ts.map +1 -1
  323. package/dist/src/content/define-fields.d.ts.map +1 -1
  324. package/dist/src/content/define-public-api.d.ts.map +1 -1
  325. package/dist/src/content/define-search.d.ts.map +1 -1
  326. package/dist/src/content/define-shared.d.ts.map +1 -1
  327. package/dist/src/content/define.d.ts.map +1 -1
  328. package/dist/src/content/delivery.d.ts.map +1 -1
  329. package/dist/src/content/errors.d.ts.map +1 -1
  330. package/dist/src/content/events.d.ts.map +1 -1
  331. package/dist/src/content/fields.d.ts.map +1 -1
  332. package/dist/src/content/files.d.ts.map +1 -1
  333. package/dist/src/content/hash.d.ts.map +1 -1
  334. package/dist/src/content/index.d.ts.map +1 -1
  335. package/dist/src/content/locale.d.ts.map +1 -1
  336. package/dist/src/content/localization.d.ts.map +1 -1
  337. package/dist/src/content/paths.d.ts.map +1 -1
  338. package/dist/src/content/publication.d.ts.map +1 -1
  339. package/dist/src/content/registry.d.ts.map +1 -1
  340. package/dist/src/content/revisions.d.ts.map +1 -1
  341. package/dist/src/content/schedules.d.ts.map +1 -1
  342. package/dist/src/content/schemas.d.ts.map +1 -1
  343. package/dist/src/content/search.d.ts.map +1 -1
  344. package/dist/src/content/server/actor.d.ts.map +1 -1
  345. package/dist/src/content/server/advanced-store.d.ts.map +1 -1
  346. package/dist/src/content/server/advanced-tables.d.ts.map +1 -1
  347. package/dist/src/content/server/collection-api.d.ts.map +1 -1
  348. package/dist/src/content/server/column-builders.d.ts.map +1 -1
  349. package/dist/src/content/server/delivery-alternates.d.ts.map +1 -1
  350. package/dist/src/content/server/delivery-effects.d.ts.map +1 -1
  351. package/dist/src/content/server/delivery-routes.d.ts.map +1 -1
  352. package/dist/src/content/server/delivery-service.d.ts.map +1 -1
  353. package/dist/src/content/server/delivery-sitemap.d.ts.map +1 -1
  354. package/dist/src/content/server/delivery-writes.d.ts.map +1 -1
  355. package/dist/src/content/server/diagnostics.d.ts.map +1 -1
  356. package/dist/src/content/server/editorial-effects.d.ts.map +1 -1
  357. package/dist/src/content/server/editorial-service.d.ts.map +1 -1
  358. package/dist/src/content/server/effects-log.d.ts.map +1 -1
  359. package/dist/src/content/server/emit.d.ts.map +1 -1
  360. package/dist/src/content/server/files.d.ts.map +1 -1
  361. package/dist/src/content/server/http-errors.d.ts.map +1 -1
  362. package/dist/src/content/server/index.d.ts.map +1 -1
  363. package/dist/src/content/server/language-resolver.d.ts.map +1 -1
  364. package/dist/src/content/server/localized-admin-routes.d.ts.map +1 -1
  365. package/dist/src/content/server/localized-public-service.d.ts.map +1 -1
  366. package/dist/src/content/server/localized-service.d.ts.map +1 -1
  367. package/dist/src/content/server/model.d.ts.map +1 -1
  368. package/dist/src/content/server/module.d.ts.map +1 -1
  369. package/dist/src/content/server/preview-config.js +1 -1
  370. package/dist/src/content/server/preview-link.d.ts.map +1 -1
  371. package/dist/src/content/server/preview-secret.d.ts.map +1 -1
  372. package/dist/src/content/server/preview-target.d.ts.map +1 -1
  373. package/dist/src/content/server/preview-token.d.ts.map +1 -1
  374. package/dist/src/content/server/public-locales.d.ts.map +1 -1
  375. package/dist/src/content/server/public-module.d.ts.map +1 -1
  376. package/dist/src/content/server/public-routes.d.ts.map +1 -1
  377. package/dist/src/content/server/public-service.d.ts.map +1 -1
  378. package/dist/src/content/server/publication.d.ts.map +1 -1
  379. package/dist/src/content/server/query.d.ts.map +1 -1
  380. package/dist/src/content/server/references.d.ts.map +1 -1
  381. package/dist/src/content/server/revalidate-bridge.d.ts.map +1 -1
  382. package/dist/src/content/server/revision-snapshot.d.ts.map +1 -1
  383. package/dist/src/content/server/revisions-model.d.ts.map +1 -1
  384. package/dist/src/content/server/routes.d.ts.map +1 -1
  385. package/dist/src/content/server/schedule-effects.d.ts.map +1 -1
  386. package/dist/src/content/server/schedules-model.d.ts.map +1 -1
  387. package/dist/src/content/server/search-document.d.ts.map +1 -1
  388. package/dist/src/content/server/search-indexer.d.ts.map +1 -1
  389. package/dist/src/content/server/search-sync.d.ts.map +1 -1
  390. package/dist/src/content/server/service.d.ts.map +1 -1
  391. package/dist/src/content/server/slug-history-model.d.ts.map +1 -1
  392. package/dist/src/content/server/slugs.d.ts.map +1 -1
  393. package/dist/src/content/server/table.d.ts.map +1 -1
  394. package/dist/src/content/server/translation-editorial-service.d.ts.map +1 -1
  395. package/dist/src/content/server/translation-effects.d.ts.map +1 -1
  396. package/dist/src/content/server/translation-http-errors.d.ts.map +1 -1
  397. package/dist/src/content/server/translation-model.d.ts.map +1 -1
  398. package/dist/src/content/server/translation-routes.d.ts.map +1 -1
  399. package/dist/src/content/server/translation-table.d.ts.map +1 -1
  400. package/dist/src/content/server/types.d.ts.map +1 -1
  401. package/dist/src/content/sitemap.d.ts.map +1 -1
  402. package/dist/src/content/slug.d.ts.map +1 -1
  403. package/dist/src/content/types.d.ts.map +1 -1
  404. package/dist/src/database/content.d.ts.map +1 -1
  405. package/dist/src/database/relations.d.ts.map +1 -1
  406. package/dist/src/database/secrets.d.ts.map +1 -1
  407. package/dist/src/emoji-picker.css +104 -0
  408. package/dist/src/framework/admin-nav/generate.d.ts.map +1 -1
  409. package/dist/src/framework/admin-nav/generate.js +1 -20
  410. package/dist/src/framework/admin-nav/index.d.ts.map +1 -1
  411. package/dist/src/framework/admin-nav/types.d.ts.map +1 -1
  412. package/dist/src/framework/content-registry/generate.d.ts.map +1 -1
  413. package/dist/src/framework/content-registry/generate.js +1 -25
  414. package/dist/src/framework/content-registry/index.d.ts.map +1 -1
  415. package/dist/src/framework/content-registry/types.d.ts.map +1 -1
  416. package/dist/src/framework/plugin-routes/compile.d.ts.map +1 -1
  417. package/dist/src/framework/plugin-routes/component-source.d.ts.map +1 -1
  418. package/dist/src/framework/plugin-routes/diagnostics.d.ts.map +1 -1
  419. package/dist/src/framework/plugin-routes/generate.d.ts.map +1 -1
  420. package/dist/src/framework/plugin-routes/generate.js +1 -12
  421. package/dist/src/framework/plugin-routes/host-routes.d.ts.map +1 -1
  422. package/dist/src/framework/plugin-routes/index.d.ts.map +1 -1
  423. package/dist/src/framework/plugin-routes/resolve.d.ts.map +1 -1
  424. package/dist/src/framework/plugin-routes/types.d.ts.map +1 -1
  425. package/dist/src/framework/vite/env.d.ts.map +1 -1
  426. package/dist/src/framework/vite/env.js +1 -1
  427. package/dist/src/framework/vite/generation-queue.d.ts.map +1 -1
  428. package/dist/src/framework/vite/index.d.ts +2 -0
  429. package/dist/src/framework/vite/index.d.ts.map +1 -1
  430. package/dist/src/framework/vite/index.js +1 -1
  431. package/dist/src/framework/vite/module-version.d.ts.map +1 -1
  432. package/dist/src/framework/vite/optimize-deps.d.ts +2 -1
  433. package/dist/src/framework/vite/optimize-deps.d.ts.map +1 -1
  434. package/dist/src/framework/vite/optimize-deps.js +1 -1
  435. package/dist/src/framework/vite/plugin-routes.d.ts +1 -0
  436. package/dist/src/framework/vite/plugin-routes.d.ts.map +1 -1
  437. package/dist/src/framework/vite/plugin-routes.js +1 -1
  438. package/dist/src/framework/vite/ssr-externals.d.ts +7 -0
  439. package/dist/src/framework/vite/ssr-externals.d.ts.map +1 -0
  440. package/dist/src/framework/vite/ssr-externals.js +1 -0
  441. package/dist/src/framework/vite/vitnode.d.ts.map +1 -1
  442. package/dist/src/framework/vite/vitnode.js +1 -1
  443. package/dist/src/hooks/use-captcha.d.ts.map +1 -1
  444. package/dist/src/lib/api/get-queue-backoff-date.d.ts.map +1 -1
  445. package/dist/src/lib/api/pg-error.d.ts.map +1 -1
  446. package/dist/src/lib/api/resolve-queue-task-outcome.d.ts.map +1 -1
  447. package/dist/src/lib/api/signed-token.d.ts.map +1 -1
  448. package/dist/src/lib/api/upload.d.ts +2 -1
  449. package/dist/src/lib/api/upload.d.ts.map +1 -1
  450. package/dist/src/lib/api/upload.js +1 -1
  451. package/dist/src/lib/api/validate-cron-schedule.d.ts.map +1 -1
  452. package/dist/src/lib/config.d.ts +1 -0
  453. package/dist/src/lib/config.d.ts.map +1 -1
  454. package/dist/src/lib/config.js +1 -1
  455. package/dist/src/lib/email-canonical.d.ts +3 -0
  456. package/dist/src/lib/email-canonical.d.ts.map +1 -0
  457. package/dist/src/lib/email-canonical.js +1 -0
  458. package/dist/src/lib/fetcher/rate-limit.d.ts.map +1 -1
  459. package/dist/src/lib/fetcher/raw.d.ts.map +1 -1
  460. package/dist/src/lib/fetcher/request-context.d.ts.map +1 -1
  461. package/dist/src/lib/fetcher/set-cookie.d.ts.map +1 -1
  462. package/dist/src/lib/fetcher-client.d.ts +5 -0
  463. package/dist/src/lib/fetcher-client.d.ts.map +1 -1
  464. package/dist/src/lib/fetcher-client.js +1 -1
  465. package/dist/src/lib/file-constraints.d.ts.map +1 -1
  466. package/dist/src/lib/file-extension.d.ts.map +1 -1
  467. package/dist/src/lib/files/bulk-delete.d.ts.map +1 -1
  468. package/dist/src/lib/files/in-use.d.ts.map +1 -1
  469. package/dist/src/lib/i18n/deep-merge.d.ts.map +1 -1
  470. package/dist/src/lib/i18n/locale-cookie.d.ts.map +1 -1
  471. package/dist/src/lib/i18n/locale-routing.d.ts.map +1 -1
  472. package/dist/src/lib/i18n/negotiate-locale.d.ts.map +1 -1
  473. package/dist/src/lib/i18n/pick-messages.d.ts.map +1 -1
  474. package/dist/src/lib/i18n/provider.d.ts.map +1 -1
  475. package/dist/src/lib/i18n/provider.js +1 -1
  476. package/dist/src/lib/i18n/types.d.ts.map +1 -1
  477. package/dist/src/lib/metadata.d.ts.map +1 -1
  478. package/dist/src/lib/plugin.d.ts +3 -0
  479. package/dist/src/lib/plugin.d.ts.map +1 -1
  480. package/dist/src/lib/query-client.d.ts.map +1 -1
  481. package/dist/src/lib/query-freshness.d.ts.map +1 -1
  482. package/dist/src/lib/task-pool.d.ts.map +1 -1
  483. package/dist/src/locales/api/index.d.ts.map +1 -1
  484. package/dist/src/locales/en.json +45 -2
  485. package/dist/src/locales/index.d.ts.map +1 -1
  486. package/dist/src/locales/pl.json +44 -1
  487. package/dist/src/routing/authoring.d.ts.map +1 -1
  488. package/dist/src/routing/errors.d.ts.map +1 -1
  489. package/dist/src/routing/graph.d.ts.map +1 -1
  490. package/dist/src/routing/index.d.ts.map +1 -1
  491. package/dist/src/routing/manifest.d.ts.map +1 -1
  492. package/dist/src/routing/module.d.ts.map +1 -1
  493. package/dist/src/routing/namespaces.d.ts.map +1 -1
  494. package/dist/src/routing/order.d.ts.map +1 -1
  495. package/dist/src/routing/path.d.ts.map +1 -1
  496. package/dist/src/routing/path.js +1 -1
  497. package/dist/src/routing/tree.d.ts.map +1 -1
  498. package/dist/src/routing/types.d.ts.map +1 -1
  499. package/dist/src/tanstack/admin/actions.d.ts.map +1 -1
  500. package/dist/src/tanstack/admin/breadcrumb.d.ts.map +1 -1
  501. package/dist/src/tanstack/admin/breadcrumb.js +1 -1
  502. package/dist/src/tanstack/admin/content/breadcrumb-model.d.ts.map +1 -1
  503. package/dist/src/tanstack/admin/content/breadcrumb.d.ts.map +1 -1
  504. package/dist/src/tanstack/admin/content/breadcrumb.js +1 -1
  505. package/dist/src/tanstack/admin/content/create-action.d.ts.map +1 -1
  506. package/dist/src/tanstack/admin/content/create-action.js +1 -1
  507. package/dist/src/tanstack/admin/content/editorial/host.d.ts.map +1 -1
  508. package/dist/src/tanstack/admin/content/editorial/host.js +1 -1
  509. package/dist/src/tanstack/admin/content/editorial/index.d.ts.map +1 -1
  510. package/dist/src/tanstack/admin/content/editorial/panels.d.ts.map +1 -1
  511. package/dist/src/tanstack/admin/content/editorial/panels.js +1 -1
  512. package/dist/src/tanstack/admin/content/editorial/transport.d.ts.map +1 -1
  513. package/dist/src/tanstack/admin/content/form/dialog.d.ts.map +1 -1
  514. package/dist/src/tanstack/admin/content/form/dialog.js +1 -1
  515. package/dist/src/tanstack/admin/content/form/form-body.d.ts.map +1 -1
  516. package/dist/src/tanstack/admin/content/form/form-body.js +1 -1
  517. package/dist/src/tanstack/admin/content/form/host.d.ts.map +1 -1
  518. package/dist/src/tanstack/admin/content/form/host.js +1 -1
  519. package/dist/src/tanstack/admin/content/form/index.d.ts.map +1 -1
  520. package/dist/src/tanstack/admin/content/form/page-body.d.ts.map +1 -1
  521. package/dist/src/tanstack/admin/content/form/page-body.js +1 -1
  522. package/dist/src/tanstack/admin/content/form/page-skeleton.d.ts +9 -0
  523. package/dist/src/tanstack/admin/content/form/page-skeleton.d.ts.map +1 -0
  524. package/dist/src/tanstack/admin/content/form/page-skeleton.js +1 -0
  525. package/dist/src/tanstack/admin/content/form/route.d.ts.map +1 -1
  526. package/dist/src/tanstack/admin/content/form/screen.d.ts.map +1 -1
  527. package/dist/src/tanstack/admin/content/form/screen.js +1 -1
  528. package/dist/src/tanstack/admin/content/form/spec.d.ts +2 -0
  529. package/dist/src/tanstack/admin/content/form/spec.d.ts.map +1 -1
  530. package/dist/src/tanstack/admin/content/form/spec.js +1 -1
  531. package/dist/src/tanstack/admin/content/form/transport.d.ts.map +1 -1
  532. package/dist/src/tanstack/admin/content/form/transport.js +1 -1
  533. package/dist/src/tanstack/admin/content/index.d.ts.map +1 -1
  534. package/dist/src/tanstack/admin/content/list.d.ts.map +1 -1
  535. package/dist/src/tanstack/admin/content/list.js +1 -1
  536. package/dist/src/tanstack/admin/content/query.d.ts.map +1 -1
  537. package/dist/src/tanstack/admin/content/query.js +1 -1
  538. package/dist/src/tanstack/admin/content/route-screen.d.ts.map +1 -1
  539. package/dist/src/tanstack/admin/content/route-screen.js +1 -1
  540. package/dist/src/tanstack/admin/content/route-search.d.ts.map +1 -1
  541. package/dist/src/tanstack/admin/content/route.d.ts.map +1 -1
  542. package/dist/src/tanstack/admin/content/row-actions.d.ts.map +1 -1
  543. package/dist/src/tanstack/admin/content/row-actions.js +1 -1
  544. package/dist/src/tanstack/admin/content/screen.d.ts.map +1 -1
  545. package/dist/src/tanstack/admin/content/screen.js +1 -1
  546. package/dist/src/tanstack/admin/content/slot-render.d.ts.map +1 -1
  547. package/dist/src/tanstack/admin/content/slots.d.ts.map +1 -1
  548. package/dist/src/tanstack/admin/content/transport.d.ts +3 -0
  549. package/dist/src/tanstack/admin/content/transport.d.ts.map +1 -0
  550. package/dist/src/tanstack/admin/content/transport.js +1 -0
  551. package/dist/src/tanstack/admin/cron/index.d.ts.map +1 -1
  552. package/dist/src/tanstack/admin/cron/query.d.ts.map +1 -1
  553. package/dist/src/tanstack/admin/cron/query.js +1 -1
  554. package/dist/src/tanstack/admin/cron/route-search.d.ts.map +1 -1
  555. package/dist/src/tanstack/admin/cron/route.d.ts.map +1 -1
  556. package/dist/src/tanstack/admin/cron/screen.d.ts.map +1 -1
  557. package/dist/src/tanstack/admin/cron/screen.js +1 -1
  558. package/dist/src/tanstack/admin/dashboard/index.d.ts.map +1 -1
  559. package/dist/src/tanstack/admin/dashboard/query.d.ts.map +1 -1
  560. package/dist/src/tanstack/admin/dashboard/query.js +1 -1
  561. package/dist/src/tanstack/admin/dashboard/route.d.ts.map +1 -1
  562. package/dist/src/tanstack/admin/dashboard/screen.d.ts.map +1 -1
  563. package/dist/src/tanstack/admin/dashboard/screen.js +1 -1
  564. package/dist/src/tanstack/admin/dashboard/widgets.d.ts.map +1 -1
  565. package/dist/src/tanstack/admin/dashboard/widgets.js +1 -1
  566. package/dist/src/tanstack/admin/debug/index.d.ts.map +1 -1
  567. package/dist/src/tanstack/admin/debug/query.d.ts.map +1 -1
  568. package/dist/src/tanstack/admin/debug/query.js +1 -1
  569. package/dist/src/tanstack/admin/debug/route-search.d.ts.map +1 -1
  570. package/dist/src/tanstack/admin/debug/route.d.ts.map +1 -1
  571. package/dist/src/tanstack/admin/debug/screen.d.ts.map +1 -1
  572. package/dist/src/tanstack/admin/debug/screen.js +1 -1
  573. package/dist/src/tanstack/admin/files/index.d.ts.map +1 -1
  574. package/dist/src/tanstack/admin/files/query.d.ts.map +1 -1
  575. package/dist/src/tanstack/admin/files/query.js +1 -1
  576. package/dist/src/tanstack/admin/files/route-search.d.ts.map +1 -1
  577. package/dist/src/tanstack/admin/files/route.d.ts.map +1 -1
  578. package/dist/src/tanstack/admin/files/screen.d.ts.map +1 -1
  579. package/dist/src/tanstack/admin/files/screen.js +1 -1
  580. package/dist/src/tanstack/admin/identity.d.ts.map +1 -1
  581. package/dist/src/tanstack/admin/index.d.ts +0 -1
  582. package/dist/src/tanstack/admin/index.d.ts.map +1 -1
  583. package/dist/src/tanstack/admin/index.js +1 -1
  584. package/dist/src/tanstack/admin/integrations/index.d.ts.map +1 -1
  585. package/dist/src/tanstack/admin/integrations/query.d.ts.map +1 -1
  586. package/dist/src/tanstack/admin/integrations/query.js +1 -1
  587. package/dist/src/tanstack/admin/integrations/route.d.ts.map +1 -1
  588. package/dist/src/tanstack/admin/integrations/screen.d.ts.map +1 -1
  589. package/dist/src/tanstack/admin/integrations/screen.js +1 -1
  590. package/dist/src/tanstack/admin/intl.d.ts.map +1 -1
  591. package/dist/src/tanstack/admin/nav.d.ts.map +1 -1
  592. package/dist/src/tanstack/admin/nav.js +1 -1
  593. package/dist/src/tanstack/admin/permissions.d.ts.map +1 -1
  594. package/dist/src/tanstack/admin/permissions.js +1 -1
  595. package/dist/src/tanstack/admin/queries.d.ts.map +1 -1
  596. package/dist/src/tanstack/admin/queue/index.d.ts.map +1 -1
  597. package/dist/src/tanstack/admin/queue/query.d.ts.map +1 -1
  598. package/dist/src/tanstack/admin/queue/query.js +1 -1
  599. package/dist/src/tanstack/admin/queue/route-search.d.ts.map +1 -1
  600. package/dist/src/tanstack/admin/queue/route.d.ts.map +1 -1
  601. package/dist/src/tanstack/admin/queue/screen.d.ts.map +1 -1
  602. package/dist/src/tanstack/admin/queue/screen.js +1 -1
  603. package/dist/src/tanstack/admin/return-to.d.ts.map +1 -1
  604. package/dist/src/tanstack/admin/roles/index.d.ts.map +1 -1
  605. package/dist/src/tanstack/admin/roles/query.d.ts.map +1 -1
  606. package/dist/src/tanstack/admin/roles/query.js +1 -1
  607. package/dist/src/tanstack/admin/roles/route-search.d.ts.map +1 -1
  608. package/dist/src/tanstack/admin/roles/route.d.ts.map +1 -1
  609. package/dist/src/tanstack/admin/roles/screen.d.ts.map +1 -1
  610. package/dist/src/tanstack/admin/roles/screen.js +1 -1
  611. package/dist/src/tanstack/admin/screen.d.ts.map +1 -1
  612. package/dist/src/tanstack/admin/search-index/index.d.ts.map +1 -1
  613. package/dist/src/tanstack/admin/search-index/query.d.ts.map +1 -1
  614. package/dist/src/tanstack/admin/search-index/query.js +1 -1
  615. package/dist/src/tanstack/admin/search-index/route-search.d.ts.map +1 -1
  616. package/dist/src/tanstack/admin/search-index/route.d.ts.map +1 -1
  617. package/dist/src/tanstack/admin/search-index/screen.d.ts.map +1 -1
  618. package/dist/src/tanstack/admin/search-index/screen.js +1 -1
  619. package/dist/src/tanstack/admin/search.d.ts.map +1 -1
  620. package/dist/src/tanstack/admin/search.js +1 -1
  621. package/dist/src/tanstack/admin/session-api.d.ts.map +1 -1
  622. package/dist/src/tanstack/admin/session-query.d.ts.map +1 -1
  623. package/dist/src/tanstack/admin/shell.d.ts.map +1 -1
  624. package/dist/src/tanstack/admin/shell.js +1 -1
  625. package/dist/src/tanstack/admin/sign-in-route.d.ts.map +1 -1
  626. package/dist/src/tanstack/admin/sign-in-screen.d.ts.map +1 -1
  627. package/dist/src/tanstack/admin/sign-in-screen.js +1 -1
  628. package/dist/src/tanstack/admin/staff/breadcrumbs.d.ts.map +1 -1
  629. package/dist/src/tanstack/admin/staff/breadcrumbs.js +1 -1
  630. package/dist/src/tanstack/admin/staff/create-route.d.ts.map +1 -1
  631. package/dist/src/tanstack/admin/staff/create-screen.d.ts.map +1 -1
  632. package/dist/src/tanstack/admin/staff/create-screen.js +1 -1
  633. package/dist/src/tanstack/admin/staff/edit-route.d.ts.map +1 -1
  634. package/dist/src/tanstack/admin/staff/edit-screen.d.ts.map +1 -1
  635. package/dist/src/tanstack/admin/staff/edit-screen.js +1 -1
  636. package/dist/src/tanstack/admin/staff/index.d.ts.map +1 -1
  637. package/dist/src/tanstack/admin/staff/query.d.ts.map +1 -1
  638. package/dist/src/tanstack/admin/staff/query.js +1 -1
  639. package/dist/src/tanstack/admin/staff/route-search.d.ts.map +1 -1
  640. package/dist/src/tanstack/admin/staff/route.d.ts.map +1 -1
  641. package/dist/src/tanstack/admin/staff/screen.d.ts.map +1 -1
  642. package/dist/src/tanstack/admin/staff/screen.js +1 -1
  643. package/dist/src/tanstack/admin/state.d.ts.map +1 -1
  644. package/dist/src/tanstack/admin/table-search.d.ts.map +1 -1
  645. package/dist/src/tanstack/admin/transport.d.ts.map +1 -1
  646. package/dist/src/tanstack/admin/user-bar.d.ts.map +1 -1
  647. package/dist/src/tanstack/admin/user-bar.js +1 -1
  648. package/dist/src/tanstack/admin/users/detail-breadcrumb.d.ts.map +1 -1
  649. package/dist/src/tanstack/admin/users/detail-breadcrumb.js +1 -1
  650. package/dist/src/tanstack/admin/users/detail-route.d.ts.map +1 -1
  651. package/dist/src/tanstack/admin/users/detail-screen.d.ts.map +1 -1
  652. package/dist/src/tanstack/admin/users/detail-screen.js +1 -1
  653. package/dist/src/tanstack/admin/users/index.d.ts.map +1 -1
  654. package/dist/src/tanstack/admin/users/query.d.ts.map +1 -1
  655. package/dist/src/tanstack/admin/users/query.js +1 -1
  656. package/dist/src/tanstack/admin/users/route-search.d.ts.map +1 -1
  657. package/dist/src/tanstack/admin/users/route.d.ts.map +1 -1
  658. package/dist/src/tanstack/admin/users/screen.d.ts.map +1 -1
  659. package/dist/src/tanstack/admin/users/screen.js +1 -1
  660. package/dist/src/tanstack/auth/actions.d.ts.map +1 -1
  661. package/dist/src/tanstack/auth/contract.d.ts.map +1 -1
  662. package/dist/src/tanstack/auth/index.d.ts.map +1 -1
  663. package/dist/src/tanstack/auth/login-route.d.ts.map +1 -1
  664. package/dist/src/tanstack/auth/login-screen.d.ts.map +1 -1
  665. package/dist/src/tanstack/auth/login-screen.js +1 -1
  666. package/dist/src/tanstack/auth/middleware-config.d.ts.map +1 -1
  667. package/dist/src/tanstack/auth/middleware-config.js +1 -1
  668. package/dist/src/tanstack/auth/queries.d.ts.map +1 -1
  669. package/dist/src/tanstack/auth/recovery-route.d.ts.map +1 -1
  670. package/dist/src/tanstack/auth/recovery-screen.d.ts.map +1 -1
  671. package/dist/src/tanstack/auth/recovery-screen.js +1 -1
  672. package/dist/src/tanstack/auth/recovery.d.ts.map +1 -1
  673. package/dist/src/tanstack/auth/redirects.d.ts.map +1 -1
  674. package/dist/src/tanstack/auth/register-route.d.ts.map +1 -1
  675. package/dist/src/tanstack/auth/register-screen.d.ts.map +1 -1
  676. package/dist/src/tanstack/auth/register-screen.js +1 -1
  677. package/dist/src/tanstack/auth/return-to.d.ts.map +1 -1
  678. package/dist/src/tanstack/auth/route-search.d.ts.map +1 -1
  679. package/dist/src/tanstack/auth/screens.d.ts.map +1 -1
  680. package/dist/src/tanstack/auth/session-api.d.ts.map +1 -1
  681. package/dist/src/tanstack/auth/session-query.d.ts.map +1 -1
  682. package/dist/src/tanstack/auth/sign-up-session.d.ts.map +1 -1
  683. package/dist/src/tanstack/auth/sso-route.d.ts.map +1 -1
  684. package/dist/src/tanstack/auth/sso-screen.d.ts.map +1 -1
  685. package/dist/src/tanstack/auth/sso-screen.js +1 -1
  686. package/dist/src/tanstack/auth/state.d.ts.map +1 -1
  687. package/dist/src/tanstack/auth/transport.d.ts.map +1 -1
  688. package/dist/src/tanstack/breadcrumb/index.d.ts.map +1 -1
  689. package/dist/src/tanstack/breadcrumb/main-breadcrumb.d.ts.map +1 -1
  690. package/dist/src/tanstack/breadcrumb/main-breadcrumb.js +1 -1
  691. package/dist/src/tanstack/breadcrumb/model.d.ts.map +1 -1
  692. package/dist/src/tanstack/devices/index.d.ts.map +1 -1
  693. package/dist/src/tanstack/devices/panel.d.ts.map +1 -1
  694. package/dist/src/tanstack/devices/panel.js +1 -1
  695. package/dist/src/tanstack/devices/query.d.ts.map +1 -1
  696. package/dist/src/tanstack/devices/query.js +1 -1
  697. package/dist/src/tanstack/fetcher/index.d.ts +15 -0
  698. package/dist/src/tanstack/fetcher/index.d.ts.map +1 -0
  699. package/dist/src/tanstack/fetcher/index.js +1 -0
  700. package/dist/src/tanstack/fetcher/server.d.ts.map +1 -1
  701. package/dist/src/tanstack/fetcher/server.js +1 -1
  702. package/dist/src/tanstack/files/index.d.ts.map +1 -1
  703. package/dist/src/tanstack/files/query.d.ts.map +1 -1
  704. package/dist/src/tanstack/files/query.js +1 -1
  705. package/dist/src/tanstack/files/route-search.d.ts.map +1 -1
  706. package/dist/src/tanstack/files/route.d.ts.map +1 -1
  707. package/dist/src/tanstack/files/screen.d.ts.map +1 -1
  708. package/dist/src/tanstack/files/screen.js +1 -1
  709. package/dist/src/tanstack/i18n/index.d.ts.map +1 -1
  710. package/dist/src/tanstack/i18n/locale.d.ts.map +1 -1
  711. package/dist/src/tanstack/i18n/messages.d.ts.map +1 -1
  712. package/dist/src/tanstack/i18n/query.d.ts.map +1 -1
  713. package/dist/src/tanstack/i18n/request.d.ts.map +1 -1
  714. package/dist/src/tanstack/i18n/request.js +1 -1
  715. package/dist/src/tanstack/i18n/route-messages.d.ts.map +1 -1
  716. package/dist/src/tanstack/i18n/route-messages.js +1 -1
  717. package/dist/src/tanstack/i18n/runtime.d.ts.map +1 -1
  718. package/dist/src/tanstack/i18n/server.d.ts.map +1 -1
  719. package/dist/src/tanstack/i18n/switch-locale.d.ts.map +1 -1
  720. package/dist/src/tanstack/layout/error-actions.d.ts.map +1 -1
  721. package/dist/src/tanstack/layout/error-actions.js +1 -1
  722. package/dist/src/tanstack/layout/header.d.ts.map +1 -1
  723. package/dist/src/tanstack/layout/header.js +1 -1
  724. package/dist/src/tanstack/layout/index.d.ts +1 -1
  725. package/dist/src/tanstack/layout/index.d.ts.map +1 -1
  726. package/dist/src/tanstack/layout/index.js +1 -1
  727. package/dist/src/tanstack/layout/language-switcher.d.ts.map +1 -1
  728. package/dist/src/tanstack/layout/language-switcher.js +1 -1
  729. package/dist/src/tanstack/layout/main-header.d.ts.map +1 -1
  730. package/dist/src/tanstack/layout/main-header.js +1 -1
  731. package/dist/src/tanstack/layout/not-found.d.ts +3 -0
  732. package/dist/src/tanstack/layout/not-found.d.ts.map +1 -1
  733. package/dist/src/tanstack/layout/not-found.js +1 -1
  734. package/dist/src/tanstack/layout/root-providers.d.ts.map +1 -1
  735. package/dist/src/tanstack/layout/root-providers.js +1 -1
  736. package/dist/src/tanstack/layout/router-link.d.ts.map +1 -1
  737. package/dist/src/tanstack/layout/router-link.js +1 -1
  738. package/dist/src/tanstack/layout/user-header.d.ts.map +1 -1
  739. package/dist/src/tanstack/layout/user-header.js +1 -1
  740. package/dist/src/tanstack/metadata/index.d.ts.map +1 -1
  741. package/dist/src/tanstack/pending/guard-pending.d.ts.map +1 -1
  742. package/dist/src/tanstack/pending/guard-pending.js +1 -1
  743. package/dist/src/tanstack/pending/navigation-pending.d.ts.map +1 -1
  744. package/dist/src/tanstack/pending/navigation-pending.js +1 -1
  745. package/dist/src/tanstack/pending/route-pending-skeleton.d.ts.map +1 -1
  746. package/dist/src/tanstack/pending/route-pending-skeleton.js +1 -1
  747. package/dist/src/tanstack/pending/shapes.d.ts.map +1 -1
  748. package/dist/src/tanstack/pending/shapes.js +1 -1
  749. package/dist/src/tanstack/plugin-routes/collision.d.ts.map +1 -1
  750. package/dist/src/tanstack/plugin-routes/components.d.ts.map +1 -1
  751. package/dist/src/tanstack/plugin-routes/components.js +1 -1
  752. package/dist/src/tanstack/plugin-routes/container.d.ts.map +1 -1
  753. package/dist/src/tanstack/plugin-routes/guard.d.ts.map +1 -1
  754. package/dist/src/tanstack/plugin-routes/head.d.ts.map +1 -1
  755. package/dist/src/tanstack/plugin-routes/index.d.ts.map +1 -1
  756. package/dist/src/tanstack/plugin-routes/loader-data.d.ts.map +1 -1
  757. package/dist/src/tanstack/plugin-routes/module-ref.d.ts.map +1 -1
  758. package/dist/src/tanstack/plugin-routes/mount.d.ts.map +1 -1
  759. package/dist/src/tanstack/plugin-routes/specs.d.ts.map +1 -1
  760. package/dist/src/tanstack/realtime/index.d.ts.map +1 -1
  761. package/dist/src/tanstack/realtime/realtime-listeners.d.ts.map +1 -1
  762. package/dist/src/tanstack/realtime/realtime-listeners.js +1 -1
  763. package/dist/src/tanstack/realtime/session.d.ts.map +1 -1
  764. package/dist/src/tanstack/routes/admin/advanced.d.ts.map +1 -1
  765. package/dist/src/tanstack/routes/admin/content.d.ts.map +1 -1
  766. package/dist/src/tanstack/routes/admin/index.d.ts.map +1 -1
  767. package/dist/src/tanstack/routes/admin/staff.d.ts.map +1 -1
  768. package/dist/src/tanstack/routes/admin/system.d.ts.map +1 -1
  769. package/dist/src/tanstack/routes/admin/users.d.ts.map +1 -1
  770. package/dist/src/tanstack/routes/index.d.ts +1 -1
  771. package/dist/src/tanstack/routes/index.d.ts.map +1 -1
  772. package/dist/src/tanstack/routes/main/auth.d.ts +3 -0
  773. package/dist/src/tanstack/routes/main/auth.d.ts.map +1 -0
  774. package/dist/src/tanstack/routes/main/discovery.d.ts.map +1 -1
  775. package/dist/src/tanstack/routes/main/files.d.ts.map +1 -1
  776. package/dist/src/tanstack/routes/main/index.d.ts +4 -3
  777. package/dist/src/tanstack/routes/main/index.d.ts.map +1 -1
  778. package/dist/src/tanstack/routes/main/index.js +1 -1
  779. package/dist/src/tanstack/routes/main/settings.d.ts.map +1 -1
  780. package/dist/src/tanstack/routes/main/sso.d.ts +3 -0
  781. package/dist/src/tanstack/routes/main/sso.d.ts.map +1 -0
  782. package/dist/src/tanstack/routes/root/admin-sign-in.d.ts.map +1 -1
  783. package/dist/src/tanstack/routes/root/index.d.ts.map +1 -1
  784. package/dist/src/tanstack/routes/root/index.js +1 -1
  785. package/dist/src/tanstack/routes/root/types.d.ts +2 -5
  786. package/dist/src/tanstack/routes/root/types.d.ts.map +1 -1
  787. package/dist/src/tanstack/routes/types.d.ts +5 -0
  788. package/dist/src/tanstack/routes/types.d.ts.map +1 -1
  789. package/dist/src/tanstack/search/discover-route.d.ts.map +1 -1
  790. package/dist/src/tanstack/search/discover-screen.d.ts.map +1 -1
  791. package/dist/src/tanstack/search/discover-screen.js +1 -1
  792. package/dist/src/tanstack/search/discover.d.ts.map +1 -1
  793. package/dist/src/tanstack/search/feed.d.ts.map +1 -1
  794. package/dist/src/tanstack/search/feed.js +1 -1
  795. package/dist/src/tanstack/search/index.d.ts.map +1 -1
  796. package/dist/src/tanstack/search/route-search.d.ts.map +1 -1
  797. package/dist/src/tanstack/search/search-route.d.ts.map +1 -1
  798. package/dist/src/tanstack/search/search-screen.d.ts.map +1 -1
  799. package/dist/src/tanstack/search/search-screen.js +1 -1
  800. package/dist/src/tanstack/settings/index.d.ts.map +1 -1
  801. package/dist/src/tanstack/settings/layout.d.ts.map +1 -1
  802. package/dist/src/tanstack/settings/layout.js +1 -1
  803. package/dist/src/tanstack/settings/route.d.ts.map +1 -1
  804. package/dist/src/tanstack/start/create-start.d.ts.map +1 -1
  805. package/dist/src/tanstack/start/document-headers.d.ts.map +1 -1
  806. package/dist/src/tanstack/start/index.d.ts.map +1 -1
  807. package/dist/src/tiptap.css +103 -6
  808. package/dist/src/views/admin/admin-request.d.ts.map +1 -1
  809. package/dist/src/views/admin/layouts/admin-link.d.ts.map +1 -1
  810. package/dist/src/views/admin/layouts/breadcrumb/breadcrumb-admin-content.d.ts.map +1 -1
  811. package/dist/src/views/admin/layouts/normalize-url.d.ts.map +1 -1
  812. package/dist/src/views/admin/layouts/search/search-content.d.ts.map +1 -1
  813. package/dist/src/views/admin/layouts/search/search-content.js +1 -1
  814. package/dist/src/views/admin/layouts/search/search-dialog-content.d.ts.map +1 -1
  815. package/dist/src/views/admin/layouts/search/search-dialog-content.js +1 -1
  816. package/dist/src/views/admin/layouts/search/search-only-pages.d.ts.map +1 -1
  817. package/dist/src/views/admin/layouts/search/search-users.d.ts.map +1 -1
  818. package/dist/src/views/admin/layouts/sidebar/nav/item-content.d.ts.map +1 -1
  819. package/dist/src/views/admin/layouts/sidebar/nav/item-content.js +1 -1
  820. package/dist/src/views/admin/layouts/sidebar/nav/nav-active.d.ts.map +1 -1
  821. package/dist/src/views/admin/layouts/sidebar/nav/nav-content.d.ts.map +1 -1
  822. package/dist/src/views/admin/layouts/sidebar/nav/nav-model.d.ts.map +1 -1
  823. package/dist/src/views/admin/layouts/sidebar/sidebar-content.d.ts.map +1 -1
  824. package/dist/src/views/admin/layouts/user-bar/user-bar-content.d.ts.map +1 -1
  825. package/dist/src/views/admin/layouts/user-bar/user-bar-content.js +1 -1
  826. package/dist/src/views/admin/sign-in/sign-in-admin-content.d.ts.map +1 -1
  827. package/dist/src/views/admin/table/params.d.ts.map +1 -1
  828. package/dist/src/views/admin/table/query.d.ts.map +1 -1
  829. package/dist/src/views/admin/views/content/actions/conflict-notice.d.ts.map +1 -1
  830. package/dist/src/views/admin/views/content/actions/content-form.d.ts +3 -1
  831. package/dist/src/views/admin/views/content/actions/content-form.d.ts.map +1 -1
  832. package/dist/src/views/admin/views/content/actions/content-form.js +1 -1
  833. package/dist/src/views/admin/views/content/actions/content-panel.d.ts.map +1 -1
  834. package/dist/src/views/admin/views/content/actions/content-panel.js +1 -1
  835. package/dist/src/views/admin/views/content/actions/delivery/delivery-panel.d.ts.map +1 -1
  836. package/dist/src/views/admin/views/content/actions/delivery-action.d.ts.map +1 -1
  837. package/dist/src/views/admin/views/content/actions/delivery-action.js +1 -1
  838. package/dist/src/views/admin/views/content/actions/delivery-model.d.ts.map +1 -1
  839. package/dist/src/views/admin/views/content/actions/editorial-api.d.ts.map +1 -1
  840. package/dist/src/views/admin/views/content/actions/editorial-query.d.ts.map +1 -1
  841. package/dist/src/views/admin/views/content/actions/editorial-transport.d.ts.map +1 -1
  842. package/dist/src/views/admin/views/content/actions/form-dialog.d.ts +2 -1
  843. package/dist/src/views/admin/views/content/actions/form-dialog.d.ts.map +1 -1
  844. package/dist/src/views/admin/views/content/actions/form-dialog.js +1 -1
  845. package/dist/src/views/admin/views/content/actions/history/revision-actor.d.ts.map +1 -1
  846. package/dist/src/views/admin/views/content/actions/history/revision-diff.d.ts.map +1 -1
  847. package/dist/src/views/admin/views/content/actions/history/revision-history.d.ts.map +1 -1
  848. package/dist/src/views/admin/views/content/actions/history/revision-row.d.ts.map +1 -1
  849. package/dist/src/views/admin/views/content/actions/history-action.d.ts.map +1 -1
  850. package/dist/src/views/admin/views/content/actions/history-action.js +1 -1
  851. package/dist/src/views/admin/views/content/actions/preview-action.d.ts.map +1 -1
  852. package/dist/src/views/admin/views/content/actions/preview-action.js +1 -1
  853. package/dist/src/views/admin/views/content/actions/row-actions-model.d.ts.map +1 -1
  854. package/dist/src/views/admin/views/content/actions/schedule/schedule-panel.d.ts.map +1 -1
  855. package/dist/src/views/admin/views/content/actions/schedule-action.d.ts.map +1 -1
  856. package/dist/src/views/admin/views/content/actions/schedule-action.js +1 -1
  857. package/dist/src/views/admin/views/content/content-labels.d.ts.map +1 -1
  858. package/dist/src/views/admin/views/content/content-mutation.d.ts.map +1 -1
  859. package/dist/src/views/admin/views/content/content-query.d.ts.map +1 -1
  860. package/dist/src/views/admin/views/content/content-request.d.ts +4 -1
  861. package/dist/src/views/admin/views/content/content-request.d.ts.map +1 -1
  862. package/dist/src/views/admin/views/content/content-request.js +1 -1
  863. package/dist/src/views/admin/views/content/form/context.d.ts +1 -0
  864. package/dist/src/views/admin/views/content/form/context.d.ts.map +1 -1
  865. package/dist/src/views/admin/views/content/form/context.js +1 -1
  866. package/dist/src/views/admin/views/content/form/diff.d.ts.map +1 -1
  867. package/dist/src/views/admin/views/content/form/index.d.ts +3 -1
  868. package/dist/src/views/admin/views/content/form/index.d.ts.map +1 -1
  869. package/dist/src/views/admin/views/content/form/index.js +1 -1
  870. package/dist/src/views/admin/views/content/form/item-query.d.ts +3 -1
  871. package/dist/src/views/admin/views/content/form/item-query.d.ts.map +1 -1
  872. package/dist/src/views/admin/views/content/form/item-query.js +1 -1
  873. package/dist/src/views/admin/views/content/form/layout-primitives.d.ts +13 -0
  874. package/dist/src/views/admin/views/content/form/layout-primitives.d.ts.map +1 -0
  875. package/dist/src/views/admin/views/content/form/layout-primitives.js +1 -0
  876. package/dist/src/views/admin/views/content/form/mutations-api.d.ts.map +1 -1
  877. package/dist/src/views/admin/views/content/form/navigation.d.ts.map +1 -1
  878. package/dist/src/views/admin/views/content/form/primitives.d.ts +0 -11
  879. package/dist/src/views/admin/views/content/form/primitives.d.ts.map +1 -1
  880. package/dist/src/views/admin/views/content/form/primitives.js +1 -1
  881. package/dist/src/views/admin/views/content/form/publication-status.d.ts.map +1 -1
  882. package/dist/src/views/admin/views/content/form/sections.d.ts.map +1 -1
  883. package/dist/src/views/admin/views/content/form/sections.js +1 -1
  884. package/dist/src/views/admin/views/content/form/skeleton.d.ts +46 -0
  885. package/dist/src/views/admin/views/content/form/skeleton.d.ts.map +1 -0
  886. package/dist/src/views/admin/views/content/form/skeleton.js +1 -0
  887. package/dist/src/views/admin/views/content/form/transport.d.ts.map +1 -1
  888. package/dist/src/views/admin/views/content/lib/api-result.d.ts.map +1 -1
  889. package/dist/src/views/admin/views/content/lib/field-component.d.ts.map +1 -1
  890. package/dist/src/views/admin/views/content/lib/invalidate.d.ts.map +1 -1
  891. package/dist/src/views/admin/views/content/lib/mutation-feedback.d.ts.map +1 -1
  892. package/dist/src/views/admin/views/content/lib/options-query.d.ts.map +1 -1
  893. package/dist/src/views/admin/views/content/lib/reference-options.d.ts.map +1 -1
  894. package/dist/src/views/admin/views/content/lib/user-option.d.ts.map +1 -1
  895. package/dist/src/views/admin/views/content/page/content-form-page.d.ts +2 -0
  896. package/dist/src/views/admin/views/content/page/content-form-page.d.ts.map +1 -1
  897. package/dist/src/views/admin/views/content/page/content-form-page.js +1 -1
  898. package/dist/src/views/admin/views/content/table/cells.d.ts.map +1 -1
  899. package/dist/src/views/admin/views/content/table/columns.d.ts.map +1 -1
  900. package/dist/src/views/admin/views/content/table/list-mutations.d.ts.map +1 -1
  901. package/dist/src/views/admin/views/content/table/list-query.d.ts +2 -1
  902. package/dist/src/views/admin/views/content/table/list-query.d.ts.map +1 -1
  903. package/dist/src/views/admin/views/content/table/list-query.js +1 -1
  904. package/dist/src/views/admin/views/core/advanced/cron/cron-query.d.ts +2 -0
  905. package/dist/src/views/admin/views/core/advanced/cron/cron-query.d.ts.map +1 -1
  906. package/dist/src/views/admin/views/core/advanced/cron/cron-query.js +1 -1
  907. package/dist/src/views/admin/views/core/advanced/cron/cron-table-content.d.ts.map +1 -1
  908. package/dist/src/views/admin/views/core/advanced/cron/cron-table-content.js +1 -1
  909. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts.map +1 -1
  910. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js +1 -1
  911. package/dist/src/views/admin/views/core/advanced/queue/queue-query.d.ts +2 -0
  912. package/dist/src/views/admin/views/core/advanced/queue/queue-query.d.ts.map +1 -1
  913. package/dist/src/views/admin/views/core/advanced/queue/queue-query.js +1 -1
  914. package/dist/src/views/admin/views/core/advanced/queue/queue-table-content.d.ts.map +1 -1
  915. package/dist/src/views/admin/views/core/advanced/queue/queue-table-content.js +1 -1
  916. package/dist/src/views/admin/views/core/advanced/search/collection-status.d.ts.map +1 -1
  917. package/dist/src/views/admin/views/core/advanced/search/collections-table-content.d.ts.map +1 -1
  918. package/dist/src/views/admin/views/core/advanced/search/collections-table-content.js +1 -1
  919. package/dist/src/views/admin/views/core/advanced/search/cron-warning.d.ts.map +1 -1
  920. package/dist/src/views/admin/views/core/advanced/search/cron-warning.js +1 -1
  921. package/dist/src/views/admin/views/core/advanced/search/reindex-action.d.ts.map +1 -1
  922. package/dist/src/views/admin/views/core/advanced/search/reindex-action.js +1 -1
  923. package/dist/src/views/admin/views/core/advanced/search/remove-documents-action.d.ts.map +1 -1
  924. package/dist/src/views/admin/views/core/advanced/search/remove-documents-action.js +1 -1
  925. package/dist/src/views/admin/views/core/advanced/search/search-header-actions.d.ts.map +1 -1
  926. package/dist/src/views/admin/views/core/advanced/search/search-header-actions.js +1 -1
  927. package/dist/src/views/admin/views/core/advanced/search/search-index-content.d.ts.map +1 -1
  928. package/dist/src/views/admin/views/core/advanced/search/search-index-content.js +1 -1
  929. package/dist/src/views/admin/views/core/advanced/search/search-index-mutations.d.ts.map +1 -1
  930. package/dist/src/views/admin/views/core/advanced/search/search-index-query.d.ts +2 -0
  931. package/dist/src/views/admin/views/core/advanced/search/search-index-query.d.ts.map +1 -1
  932. package/dist/src/views/admin/views/core/advanced/search/search-index-query.js +1 -1
  933. package/dist/src/views/admin/views/core/advanced/search/sync-errors-card-content.d.ts.map +1 -1
  934. package/dist/src/views/admin/views/core/advanced/search/sync-errors-card-content.js +1 -1
  935. package/dist/src/views/admin/views/core/dashboard/grid/board-provider.d.ts.map +1 -1
  936. package/dist/src/views/admin/views/core/dashboard/grid/board-provider.js +1 -1
  937. package/dist/src/views/admin/views/core/dashboard/grid/dashboard-grid.d.ts.map +1 -1
  938. package/dist/src/views/admin/views/core/dashboard/grid/dashboard-grid.js +1 -1
  939. package/dist/src/views/admin/views/core/dashboard/grid/drop-placeholder.d.ts.map +1 -1
  940. package/dist/src/views/admin/views/core/dashboard/grid/drop-placeholder.js +1 -1
  941. package/dist/src/views/admin/views/core/dashboard/grid/edit-actions.d.ts.map +1 -1
  942. package/dist/src/views/admin/views/core/dashboard/grid/edit-actions.js +1 -1
  943. package/dist/src/views/admin/views/core/dashboard/grid/widget-card.d.ts.map +1 -1
  944. package/dist/src/views/admin/views/core/dashboard/grid/widget-card.js +1 -1
  945. package/dist/src/views/admin/views/core/dashboard/grid/widget-panel.d.ts.map +1 -1
  946. package/dist/src/views/admin/views/core/dashboard/grid/widget-panel.js +1 -1
  947. package/dist/src/views/admin/views/core/dashboard/grid/widget-settings-dialog.d.ts.map +1 -1
  948. package/dist/src/views/admin/views/core/dashboard/grid/widget-settings-dialog.js +1 -1
  949. package/dist/src/views/admin/views/core/dashboard/grid/widget-skeleton.d.ts.map +1 -1
  950. package/dist/src/views/admin/views/core/dashboard/grid/widget-skeleton.js +1 -1
  951. package/dist/src/views/admin/views/core/dashboard/widgets/build-board.d.ts.map +1 -1
  952. package/dist/src/views/admin/views/core/dashboard/widgets/dashboard-actions.d.ts.map +1 -1
  953. package/dist/src/views/admin/views/core/dashboard/widgets/layout-query.d.ts +2 -0
  954. package/dist/src/views/admin/views/core/dashboard/widgets/layout-query.d.ts.map +1 -1
  955. package/dist/src/views/admin/views/core/dashboard/widgets/layout-query.js +1 -1
  956. package/dist/src/views/admin/views/core/dashboard/widgets/normalize-layout.d.ts.map +1 -1
  957. package/dist/src/views/admin/views/core/dashboard/widgets/notes/notes-content.d.ts.map +1 -1
  958. package/dist/src/views/admin/views/core/dashboard/widgets/notes/notes-content.js +1 -1
  959. package/dist/src/views/admin/views/core/dashboard/widgets/resolve-widgets.d.ts.map +1 -1
  960. package/dist/src/views/admin/views/core/dashboard/widgets/send-notification/send-notification-settings-form.d.ts.map +1 -1
  961. package/dist/src/views/admin/views/core/dashboard/widgets/send-notification/send-notification-settings-form.js +1 -1
  962. package/dist/src/views/admin/views/core/dashboard/widgets/send-notification/send-notification.d.ts.map +1 -1
  963. package/dist/src/views/admin/views/core/dashboard/widgets/send-notification/send-notification.js +1 -1
  964. package/dist/src/views/admin/views/core/dashboard/widgets/types.d.ts.map +1 -1
  965. package/dist/src/views/admin/views/core/dashboard/widgets/widget-mutations.d.ts.map +1 -1
  966. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.d.ts.map +1 -1
  967. package/dist/src/views/admin/views/core/debug/actions/clear-cache/clear-cache.js +1 -1
  968. package/dist/src/views/admin/views/core/debug/debug-query.d.ts +3 -0
  969. package/dist/src/views/admin/views/core/debug/debug-query.d.ts.map +1 -1
  970. package/dist/src/views/admin/views/core/debug/debug-query.js +1 -1
  971. package/dist/src/views/admin/views/core/debug/queue/queue-view-content.d.ts.map +1 -1
  972. package/dist/src/views/admin/views/core/debug/queue/queue-view-content.js +1 -1
  973. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.d.ts.map +1 -1
  974. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts.map +1 -1
  975. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +1 -1
  976. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-content.d.ts.map +1 -1
  977. package/dist/src/views/admin/views/core/debug/system-logs/system-logs-content.js +1 -1
  978. package/dist/src/views/admin/views/core/shared/admin-mutation.d.ts.map +1 -1
  979. package/dist/src/views/admin/views/core/shared/admin-permissions.d.ts.map +1 -1
  980. package/dist/src/views/admin/views/core/shared/admin-scope.d.ts.map +1 -1
  981. package/dist/src/views/admin/views/core/staff/create/create-staff-form-content.d.ts.map +1 -1
  982. package/dist/src/views/admin/views/core/staff/create/create-staff-form-content.js +1 -1
  983. package/dist/src/views/admin/views/core/staff/edit/edit-staff-form-content.d.ts.map +1 -1
  984. package/dist/src/views/admin/views/core/staff/edit/edit-staff-form-content.js +1 -1
  985. package/dist/src/views/admin/views/core/staff/selectable-card.d.ts.map +1 -1
  986. package/dist/src/views/admin/views/core/staff/selectable-card.js +1 -1
  987. package/dist/src/views/admin/views/core/staff/staff-model.d.ts.map +1 -1
  988. package/dist/src/views/admin/views/core/staff/staff-mutations.d.ts.map +1 -1
  989. package/dist/src/views/admin/views/core/staff/staff-query.d.ts +4 -0
  990. package/dist/src/views/admin/views/core/staff/staff-query.d.ts.map +1 -1
  991. package/dist/src/views/admin/views/core/staff/staff-query.js +1 -1
  992. package/dist/src/views/admin/views/core/staff/table/staff-table-content.d.ts.map +1 -1
  993. package/dist/src/views/admin/views/core/staff/table/staff-table-content.js +1 -1
  994. package/dist/src/views/admin/views/core/staff/table/staff-user-format-content.d.ts.map +1 -1
  995. package/dist/src/views/admin/views/core/staff/table/staff-user-format-content.js +1 -1
  996. package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.d.ts.map +1 -1
  997. package/dist/src/views/admin/views/core/system/files/actions/file-row-actions.js +1 -1
  998. package/dist/src/views/admin/views/core/system/files/actions/files-bulk-actions.d.ts.map +1 -1
  999. package/dist/src/views/admin/views/core/system/files/actions/files-bulk-actions.js +1 -1
  1000. package/dist/src/views/admin/views/core/system/files/files-delete.d.ts.map +1 -1
  1001. package/dist/src/views/admin/views/core/system/files/files-query.d.ts +2 -0
  1002. package/dist/src/views/admin/views/core/system/files/files-query.d.ts.map +1 -1
  1003. package/dist/src/views/admin/views/core/system/files/files-query.js +1 -1
  1004. package/dist/src/views/admin/views/core/system/files/files-table-content.d.ts.map +1 -1
  1005. package/dist/src/views/admin/views/core/system/files/files-table-content.js +1 -1
  1006. package/dist/src/views/admin/views/core/system/integrations/integrations-content.d.ts.map +1 -1
  1007. package/dist/src/views/admin/views/core/system/integrations/integrations-content.js +1 -1
  1008. package/dist/src/views/admin/views/core/system/integrations/integrations-query.d.ts +2 -0
  1009. package/dist/src/views/admin/views/core/system/integrations/integrations-query.d.ts.map +1 -1
  1010. package/dist/src/views/admin/views/core/system/integrations/integrations-query.js +1 -1
  1011. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.d.ts.map +1 -1
  1012. package/dist/src/views/admin/views/core/system/integrations/send-test-email/content.js +1 -1
  1013. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email-mutation.d.ts.map +1 -1
  1014. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.d.ts.map +1 -1
  1015. package/dist/src/views/admin/views/core/system/integrations/send-test-email/send-test-email.js +1 -1
  1016. package/dist/src/views/admin/views/core/system/integrations/send-test-email/use-form.d.ts.map +1 -1
  1017. package/dist/src/views/admin/views/core/system/integrations/test-ai/content.d.ts.map +1 -1
  1018. package/dist/src/views/admin/views/core/system/integrations/test-ai/content.js +1 -1
  1019. package/dist/src/views/admin/views/core/system/integrations/test-ai/test-ai.d.ts.map +1 -1
  1020. package/dist/src/views/admin/views/core/system/integrations/test-ai/test-ai.js +1 -1
  1021. package/dist/src/views/admin/views/core/system/integrations/test-storage/content.d.ts.map +1 -1
  1022. package/dist/src/views/admin/views/core/system/integrations/test-storage/content.js +1 -1
  1023. package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.d.ts.map +1 -1
  1024. package/dist/src/views/admin/views/core/system/integrations/test-storage/test-storage.js +1 -1
  1025. package/dist/src/views/admin/views/core/test.d.ts.map +1 -1
  1026. package/dist/src/views/admin/views/core/test.js +1 -1
  1027. package/dist/src/views/admin/views/core/users/detail/user-detail-content.d.ts.map +1 -1
  1028. package/dist/src/views/admin/views/core/users/detail/user-detail-content.js +1 -1
  1029. package/dist/src/views/admin/views/core/users/detail/user-fields-content.d.ts.map +1 -1
  1030. package/dist/src/views/admin/views/core/users/detail/user-fields-content.js +1 -1
  1031. package/dist/src/views/admin/views/core/users/detail/user-query.d.ts +2 -0
  1032. package/dist/src/views/admin/views/core/users/detail/user-query.d.ts.map +1 -1
  1033. package/dist/src/views/admin/views/core/users/detail/user-query.js +1 -1
  1034. package/dist/src/views/admin/views/core/users/detail/user-roles-content.d.ts.map +1 -1
  1035. package/dist/src/views/admin/views/core/users/detail/user-roles-content.js +1 -1
  1036. package/dist/src/views/admin/views/core/users/list/create-user-content.d.ts.map +1 -1
  1037. package/dist/src/views/admin/views/core/users/list/create-user-content.js +1 -1
  1038. package/dist/src/views/admin/views/core/users/list/create-user-form.d.ts.map +1 -1
  1039. package/dist/src/views/admin/views/core/users/list/create-user-form.js +1 -1
  1040. package/dist/src/views/admin/views/core/users/list/users-query.d.ts +2 -0
  1041. package/dist/src/views/admin/views/core/users/list/users-query.d.ts.map +1 -1
  1042. package/dist/src/views/admin/views/core/users/list/users-query.js +1 -1
  1043. package/dist/src/views/admin/views/core/users/list/users-table-content.d.ts.map +1 -1
  1044. package/dist/src/views/admin/views/core/users/list/users-table-content.js +1 -1
  1045. package/dist/src/views/admin/views/core/users/roles/role-form-content.d.ts.map +1 -1
  1046. package/dist/src/views/admin/views/core/users/roles/role-form-content.js +1 -1
  1047. package/dist/src/views/admin/views/core/users/roles/roles-mutations.d.ts.map +1 -1
  1048. package/dist/src/views/admin/views/core/users/roles/roles-query.d.ts +2 -0
  1049. package/dist/src/views/admin/views/core/users/roles/roles-query.d.ts.map +1 -1
  1050. package/dist/src/views/admin/views/core/users/roles/roles-query.js +1 -1
  1051. package/dist/src/views/admin/views/core/users/roles/roles-table-content.d.ts.map +1 -1
  1052. package/dist/src/views/admin/views/core/users/roles/roles-table-content.js +1 -1
  1053. package/dist/src/views/admin/views/core/users/users-mutations.d.ts.map +1 -1
  1054. package/dist/src/views/auth/auth-link.d.ts.map +1 -1
  1055. package/dist/src/views/auth/password-reset/change-password-form/change-password-form-content.d.ts.map +1 -1
  1056. package/dist/src/views/auth/password-reset/change-password-form/change-password-form-content.js +1 -1
  1057. package/dist/src/views/auth/password-reset/change-password-form/schema.d.ts.map +1 -1
  1058. package/dist/src/views/auth/password-reset/change-password-form/use-change-password-form.d.ts.map +1 -1
  1059. package/dist/src/views/auth/password-reset/change-password-form/use-change-password-form.js +1 -1
  1060. package/dist/src/views/auth/password-reset/form/password-reset-form-content.d.ts.map +1 -1
  1061. package/dist/src/views/auth/password-reset/form/password-reset-form-content.js +1 -1
  1062. package/dist/src/views/auth/password-reset/form/schema.d.ts.map +1 -1
  1063. package/dist/src/views/auth/password-reset/form/use-password-reset-form.d.ts.map +1 -1
  1064. package/dist/src/views/auth/password-reset/form/use-password-reset-form.js +1 -1
  1065. package/dist/src/views/auth/password-reset/password-reset-content.d.ts.map +1 -1
  1066. package/dist/src/views/auth/password-reset/recovery-link.d.ts.map +1 -1
  1067. package/dist/src/views/auth/settings/devices/device-item.d.ts.map +1 -1
  1068. package/dist/src/views/auth/settings/devices/device-item.js +1 -1
  1069. package/dist/src/views/auth/settings/devices/devices-content.d.ts.map +1 -1
  1070. package/dist/src/views/auth/settings/devices/devices-content.js +1 -1
  1071. package/dist/src/views/auth/settings/devices/devices-query.d.ts +2 -24
  1072. package/dist/src/views/auth/settings/devices/devices-query.d.ts.map +1 -1
  1073. package/dist/src/views/auth/settings/devices/devices-query.js +1 -1
  1074. package/dist/src/views/auth/settings/devices/devices-revoke.d.ts.map +1 -1
  1075. package/dist/src/views/auth/settings/devices/revoke-device-button.d.ts.map +1 -1
  1076. package/dist/src/views/auth/settings/devices/revoke-device-button.js +1 -1
  1077. package/dist/src/views/auth/settings/nav-content.d.ts.map +1 -1
  1078. package/dist/src/views/auth/settings/nav-content.js +1 -1
  1079. package/dist/src/views/auth/settings/overview/overview.d.ts.map +1 -1
  1080. package/dist/src/views/auth/settings/overview/overview.js +1 -1
  1081. package/dist/src/views/auth/settings/security/security.d.ts.map +1 -1
  1082. package/dist/src/views/auth/settings/security/security.js +1 -1
  1083. package/dist/src/views/auth/settings/settings-breadcrumb-content.d.ts.map +1 -1
  1084. package/dist/src/views/auth/settings/settings-nav.d.ts.map +1 -1
  1085. package/dist/src/views/auth/settings/shell-content.d.ts.map +1 -1
  1086. package/dist/src/views/auth/settings/shell-content.js +1 -1
  1087. package/dist/src/views/auth/sign-in/form/schema.d.ts.map +1 -1
  1088. package/dist/src/views/auth/sign-in/form/sign-in-form-content.d.ts.map +1 -1
  1089. package/dist/src/views/auth/sign-in/form/sign-in-form-content.js +1 -1
  1090. package/dist/src/views/auth/sign-in/form/use-sign-in-form.d.ts.map +1 -1
  1091. package/dist/src/views/auth/sign-in/form/use-sign-in-form.js +1 -1
  1092. package/dist/src/views/auth/sign-in/sign-in-content.d.ts.map +1 -1
  1093. package/dist/src/views/auth/sign-in/sign-in-content.js +1 -1
  1094. package/dist/src/views/auth/sign-up/form/schema.d.ts.map +1 -1
  1095. package/dist/src/views/auth/sign-up/form/sign-up-form-content.d.ts.map +1 -1
  1096. package/dist/src/views/auth/sign-up/form/sign-up-form-content.js +1 -1
  1097. package/dist/src/views/auth/sign-up/form/use-sign-up-form.d.ts.map +1 -1
  1098. package/dist/src/views/auth/sign-up/form/use-sign-up-form.js +1 -1
  1099. package/dist/src/views/auth/sign-up/sign-up-content.d.ts.map +1 -1
  1100. package/dist/src/views/auth/sign-up/sign-up-content.js +1 -1
  1101. package/dist/src/views/auth/sign-up/wrapper.d.ts.map +1 -1
  1102. package/dist/src/views/auth/sign-up/wrapper.js +1 -1
  1103. package/dist/src/views/auth/sso/buttons/sso-buttons-content.d.ts.map +1 -1
  1104. package/dist/src/views/auth/sso/buttons/sso-buttons-content.js +1 -1
  1105. package/dist/src/views/auth/sso/callback/sso-callback-content.d.ts.map +1 -1
  1106. package/dist/src/views/auth/sso/callback/sso-callback-content.js +1 -1
  1107. package/dist/src/views/auth/sso/callback/sso-callback-result.d.ts.map +1 -1
  1108. package/dist/src/views/auth/sso/callback/use-sso-callback.d.ts.map +1 -1
  1109. package/dist/src/views/auth/sso/callback/use-sso-callback.js +1 -1
  1110. package/dist/src/views/auth/sso/providers.d.ts.map +1 -1
  1111. package/dist/src/views/breadcrumb/breadcrumb-render-content.d.ts.map +1 -1
  1112. package/dist/src/views/breadcrumb/breadcrumb-trail-content.d.ts.map +1 -1
  1113. package/dist/src/views/error/error-content.d.ts.map +1 -1
  1114. package/dist/src/views/files/actions/file-row-actions.d.ts.map +1 -1
  1115. package/dist/src/views/files/actions/file-row-actions.js +1 -1
  1116. package/dist/src/views/files/actions/files-bulk-actions.d.ts.map +1 -1
  1117. package/dist/src/views/files/actions/files-bulk-actions.js +1 -1
  1118. package/dist/src/views/files/my-files-query.d.ts +2 -0
  1119. package/dist/src/views/files/my-files-query.d.ts.map +1 -1
  1120. package/dist/src/views/files/my-files-query.js +1 -1
  1121. package/dist/src/views/files/my-files-table-content.d.ts.map +1 -1
  1122. package/dist/src/views/files/my-files-table-content.js +1 -1
  1123. package/dist/src/views/layouts/providers.d.ts +2 -2
  1124. package/dist/src/views/layouts/providers.d.ts.map +1 -1
  1125. package/dist/src/views/layouts/providers.js +1 -1
  1126. package/dist/src/views/layouts/rate-limit-listener.d.ts.map +1 -1
  1127. package/dist/src/views/layouts/rate-limit-listener.js +1 -1
  1128. package/dist/src/views/layouts/theme/header/header-content.d.ts.map +1 -1
  1129. package/dist/src/views/layouts/theme/header/header-content.js +1 -1
  1130. package/dist/src/views/layouts/theme/header/header-nav.d.ts.map +1 -1
  1131. package/dist/src/views/layouts/theme/header/user/user-header-content.d.ts.map +1 -1
  1132. package/dist/src/views/layouts/theme/header/user/user-header-content.js +1 -1
  1133. package/dist/src/views/layouts/theme/header/user/user-header-model.d.ts.map +1 -1
  1134. package/dist/src/views/layouts/theme/layout-content.d.ts.map +1 -1
  1135. package/dist/src/views/layouts/theme/notification-listener.d.ts.map +1 -1
  1136. package/dist/src/views/layouts/theme/notification-listener.js +1 -1
  1137. package/dist/src/views/layouts/theme/web-socket-auth-sync.d.ts.map +1 -1
  1138. package/dist/src/views/layouts/theme/web-socket-auth-sync.js +1 -1
  1139. package/dist/src/views/search/search-controls-content.d.ts.map +1 -1
  1140. package/dist/src/views/search/search-controls-content.js +1 -1
  1141. package/dist/src/views/search/search-feed-content.d.ts.map +1 -1
  1142. package/dist/src/views/search/search-feed-content.js +1 -1
  1143. package/dist/src/views/search/search-feed-query.d.ts +2 -0
  1144. package/dist/src/views/search/search-feed-query.d.ts.map +1 -1
  1145. package/dist/src/views/search/search-feed-query.js +1 -1
  1146. package/dist/src/views/search/search-params.d.ts.map +1 -1
  1147. package/dist/src/vitnode.config.d.ts +6 -0
  1148. package/dist/src/vitnode.config.d.ts.map +1 -1
  1149. package/dist/src/ws/auth-sync.d.ts.map +1 -1
  1150. package/dist/src/ws/handle.d.ts.map +1 -1
  1151. package/dist/src/ws/manager.d.ts.map +1 -1
  1152. package/dist/src/ws/notifications.d.ts.map +1 -1
  1153. package/dist/src/ws/provider.d.ts.map +1 -1
  1154. package/dist/src/ws/provider.js +1 -1
  1155. package/dist/src/ws/registry.d.ts.map +1 -1
  1156. package/dist/src/ws/types.d.ts.map +1 -1
  1157. package/dist/src/ws/use-websocket.d.ts.map +1 -1
  1158. package/dist/src/ws/use-websocket.js +1 -1
  1159. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1160. package/eslint.config.mjs +4 -11
  1161. package/package.json +12 -2
  1162. package/src/locales/api/index.ts +0 -9
  1163. package/src/locales/en.json +45 -2
  1164. package/src/locales/index.ts +0 -21
  1165. package/src/locales/pl.json +44 -1
  1166. package/src/tiptap.css +103 -6
  1167. package/test-fixtures/config-split/vitnode.config.ts +1 -9
  1168. package/test-fixtures/config-split/vitnode.server.config.ts +1 -10
  1169. package/dist/src/api/modules/users/routes/test.route.d.ts +0 -27
  1170. package/dist/src/api/modules/users/routes/test.route.d.ts.map +0 -1
  1171. package/dist/src/api/modules/users/routes/test.route.js +0 -1
  1172. package/dist/src/tanstack/admin/content/form/server.d.ts +0 -10
  1173. package/dist/src/tanstack/admin/content/form/server.d.ts.map +0 -1
  1174. package/dist/src/tanstack/admin/content/form/server.js +0 -1
  1175. package/dist/src/tanstack/admin/content/server.d.ts +0 -26
  1176. package/dist/src/tanstack/admin/content/server.d.ts.map +0 -1
  1177. package/dist/src/tanstack/admin/content/server.js +0 -1
  1178. package/dist/src/tanstack/admin/cron/server.d.ts +0 -24
  1179. package/dist/src/tanstack/admin/cron/server.d.ts.map +0 -1
  1180. package/dist/src/tanstack/admin/cron/server.js +0 -1
  1181. package/dist/src/tanstack/admin/dashboard/server.d.ts +0 -9
  1182. package/dist/src/tanstack/admin/dashboard/server.d.ts.map +0 -1
  1183. package/dist/src/tanstack/admin/dashboard/server.js +0 -1
  1184. package/dist/src/tanstack/admin/debug/server.d.ts +0 -49
  1185. package/dist/src/tanstack/admin/debug/server.d.ts.map +0 -1
  1186. package/dist/src/tanstack/admin/debug/server.js +0 -1
  1187. package/dist/src/tanstack/admin/files/server.d.ts +0 -40
  1188. package/dist/src/tanstack/admin/files/server.d.ts.map +0 -1
  1189. package/dist/src/tanstack/admin/files/server.js +0 -1
  1190. package/dist/src/tanstack/admin/integrations/server.d.ts +0 -47
  1191. package/dist/src/tanstack/admin/integrations/server.d.ts.map +0 -1
  1192. package/dist/src/tanstack/admin/integrations/server.js +0 -1
  1193. package/dist/src/tanstack/admin/not-found.d.ts +0 -4
  1194. package/dist/src/tanstack/admin/not-found.d.ts.map +0 -1
  1195. package/dist/src/tanstack/admin/not-found.js +0 -1
  1196. package/dist/src/tanstack/admin/queue/server.d.ts +0 -28
  1197. package/dist/src/tanstack/admin/queue/server.d.ts.map +0 -1
  1198. package/dist/src/tanstack/admin/queue/server.js +0 -1
  1199. package/dist/src/tanstack/admin/roles/server.d.ts +0 -32
  1200. package/dist/src/tanstack/admin/roles/server.d.ts.map +0 -1
  1201. package/dist/src/tanstack/admin/roles/server.js +0 -1
  1202. package/dist/src/tanstack/admin/search-index/server.d.ts +0 -29
  1203. package/dist/src/tanstack/admin/search-index/server.d.ts.map +0 -1
  1204. package/dist/src/tanstack/admin/search-index/server.js +0 -1
  1205. package/dist/src/tanstack/admin/staff/server.d.ts +0 -90
  1206. package/dist/src/tanstack/admin/staff/server.d.ts.map +0 -1
  1207. package/dist/src/tanstack/admin/staff/server.js +0 -1
  1208. package/dist/src/tanstack/admin/users/server.d.ts +0 -72
  1209. package/dist/src/tanstack/admin/users/server.d.ts.map +0 -1
  1210. package/dist/src/tanstack/admin/users/server.js +0 -1
  1211. package/dist/src/tanstack/auth/middleware-config-server.d.ts +0 -4
  1212. package/dist/src/tanstack/auth/middleware-config-server.d.ts.map +0 -1
  1213. package/dist/src/tanstack/auth/middleware-config-server.js +0 -1
  1214. package/dist/src/tanstack/devices/server.d.ts +0 -14
  1215. package/dist/src/tanstack/devices/server.d.ts.map +0 -1
  1216. package/dist/src/tanstack/devices/server.js +0 -1
  1217. package/dist/src/tanstack/files/server.d.ts +0 -27
  1218. package/dist/src/tanstack/files/server.d.ts.map +0 -1
  1219. package/dist/src/tanstack/files/server.js +0 -1
  1220. package/dist/src/tanstack/routes/root/auth.d.ts +0 -3
  1221. package/dist/src/tanstack/routes/root/auth.d.ts.map +0 -1
  1222. package/dist/src/tanstack/routes/root/sso.d.ts +0 -3
  1223. package/dist/src/tanstack/routes/root/sso.d.ts.map +0 -1
  1224. package/dist/src/tanstack/search/server.d.ts +0 -35
  1225. package/dist/src/tanstack/search/server.d.ts.map +0 -1
  1226. package/dist/src/tanstack/search/server.js +0 -1
  1227. package/test-fixtures/next-specimen/entry.ts +0 -21
  1228. package/test-fixtures/next-specimen/hop.ts +0 -14
  1229. /package/dist/src/tanstack/routes/{root → main}/auth.js +0 -0
  1230. /package/dist/src/tanstack/routes/{root → main}/sso.js +0 -0
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{SearchIcon}from"lucide-react";import{z}from"zod";import{AutoForm}from"../../../../components/form/auto-form.js";import{AutoFormArray}from"../../../../components/form/fields/array.js";import{AutoFormCheckbox}from"../../../../components/form/fields/checkbox.js";import{AutoFormCombobox}from"../../../../components/form/fields/combobox.js";import{AutoFormEditor}from"../../../../components/form/fields/editor.js";import{AutoFormInput}from"../../../../components/form/fields/input.js";import{AutoFormRadioGroup}from"../../../../components/form/fields/radio-group.js";import{AutoFormSelect}from"../../../../components/form/fields/select.js";import{AutoFormSwitch}from"../../../../components/form/fields/switch.js";import{AutoFormTextarea}from"../../../../components/form/fields/textarea.js";import{Card}from"../../../../components/ui/card.js";import{Editor}from"../../../../components/ui/editor.js";import{EditorContent}from"../../../../components/ui/editor-content.js";import{InputGroupAddon,InputGroupText}from"../../../../components/ui/input-group.js";import{ADMIN_QUERY_ROOT}from"../../table/query.js";export const TestView=()=>{const formSchema=z.object({editor:z.string().describe("This is the editor for your application.").default("<p>Hello World! 🌎️</p>"),provider:z.string().min(1,{message:"Provider is required"}).describe("This is the provider for your application. It should be a valid provider name."),features:z.array(z.object({name:z.string().min(1,{message:"Feature name is required"}),enabled:z.boolean().default(true)})).describe("List the features available for this provider."),provider2:z.string().describe("This is the provider for your application. It should be a valid provider name.").default("test"),client_secret:z.string().min(1,{message:"Client Secret is required"}).describe("This is the client secret for your application. It should be kept secret and not shared with anyone."),client_secret2:z.string().min(1,{message:"Client Secret is required"}).describe("This is the client secret for your application. It should be kept secret and not shared with anyone."),terms:z.boolean().refine(val=>val,{message:"You must accept the terms and conditions"}).describe("By checking this box, you agree to the terms and conditions."),options:z.enum(["option1","option2","option3"]).default("option1"),options_long:z.enum(["option1","option2","option3"]).default("option2"),switch:z.boolean().default(false).describe("elo"),type:z.enum(["option-one","option-two"]).default("option-one"),custom_color:z.string().default("#000000").describe("Pick your favorite color.")});return _jsx("div",{className:"p-4",children:_jsxs(Card,{className:"p-6",children:[_jsx(Editor,{value:"<p>Hello World! 🌎️</p>"}),_jsx(EditorContent,{content:"<h2>Test header v2</h2><p>Hello World! 🌎️das d alfjnasjf kas djksa fkja sfj AFKJ afj AFJKNAJSKGNSAKFLMSAKLDNASFJNKJnjkdasnfjnas fjknsa fjknsafkjn askjfnkajsgnasjkfnskjanf kjans fjknasjkf naskjf naskjnf kjasn kfjans fjkas kfjnas jknfkasjn fkajsnf jnasfjkangaskjfnajsdnlaskmcdasjfnjskafnsajknfcksajdnasjkfnjkasn cfjksanfjckasnjcnaskjcnaksjcnaksjcnakjcnasjkn</p>"}),_jsx(AutoForm,{fields:[{id:"editor",component:props=>_jsx(AutoFormEditor,{...props,label:"Editor",multiLang:true})},{id:"provider",component:props=>_jsx(AutoFormInput,{description:"This is the provider for your application. It should be a valid provider name.",label:"Provider",multiLang:true,...props})},{id:"features",component:props=>_jsx(AutoFormArray,{...props,fields:[{id:"name",className:"flex-1",component:subProps=>_jsx(AutoFormInput,{...subProps,label:"Feature Name"})},{id:"enabled",component:subProps=>_jsx(AutoFormCheckbox,{...subProps,label:"Enabled"})}],label:"Features"})},{id:"provider2",component:props=>_jsx(AutoFormInput,{label:"Provider 2",...props,children:_jsx(InputGroupAddon,{children:_jsx(SearchIcon,{})})})},{id:"client_secret",component:props=>_jsx(AutoFormTextarea,{description:"This is the client secret for your application. It should be kept\n secret and not shared with anyone.",label:"Client Secret",...props})},{id:"client_secret2",component:props=>_jsx(AutoFormTextarea,{description:"This is the client secret for your application. It should be kept\n secret and not shared with anyone.",label:"Client Secret",...props,children:_jsx(InputGroupAddon,{align:"block-end",children:_jsxs(InputGroupText,{className:"tabular-nums",children:[props.field.value?.toString().length??0," of 500 characters"]})})})},{id:"terms",component:props=>_jsx(AutoFormCheckbox,{description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions",...props})},{id:"options",component:props=>_jsx(AutoFormRadioGroup,{...props,description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions",labels:[{value:"option1",label:"Option 1",description:"This is the description for option 1"},{value:"option2",label:"Option 2"},{value:"option3",label:"Option 3",description:"This is the description for option 3",disabled:true}],variant:"blocks"})},{id:"options_long",component:props=>_jsx(AutoFormSelect,{...props,description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions",labels:[{value:"option1",label:"Option 1 with a very long label that should be truncated"},{value:"option2",label:"Option 2"},{value:"option3",label:"Option 3"}],placeholder:"Select an option from the list"})},{id:"switch",component:props=>_jsx(AutoFormSwitch,{...props,description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions"})},{id:"type",component:props=>_jsx(AutoFormCombobox,{...props,description:"By checking this box, you agree to the terms and conditions.",fetchData:async({search})=>{await new Promise(resolve=>setTimeout(resolve,1e3));return[{value:"option-one",label:"Option One"},{value:"option-two",label:"Option Two"}].filter(option=>option.label.toLowerCase().includes(search.toLowerCase()))},id:"test-combobox",label:"Type",queryKey:[...ADMIN_QUERY_ROOT,"test","combobox"]})},{id:"custom_color",component:props=>_jsxs("div",{className:"flex w-full flex-col gap-3",children:[_jsx("div",{className:"text-sm leading-none font-medium",children:"Custom Color Picker"}),_jsx("input",{...props.field,className:"h-10 w-24 cursor-pointer rounded-md border p-1",type:"color",value:props.field.value??"#000000"}),!!props.description&&_jsx("div",{className:"text-muted-foreground text-sm",children:props.description})]})}],formSchema:formSchema,onSubmit:async values=>{console.log("Form submitted",values);await new Promise(resolve=>setTimeout(resolve,3e3))}})]})})};
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{SearchIcon}from"lucide-react";import{z}from"zod";import{AutoForm}from"../../../../components/form/auto-form.js";import{AutoFormArray}from"../../../../components/form/fields/array.js";import{AutoFormCheckbox}from"../../../../components/form/fields/checkbox.js";import{AutoFormCombobox}from"../../../../components/form/fields/combobox.js";import{AutoFormEditor}from"../../../../components/form/fields/editor.js";import{AutoFormInput}from"../../../../components/form/fields/input.js";import{AutoFormRadioGroup}from"../../../../components/form/fields/radio-group.js";import{AutoFormSelect}from"../../../../components/form/fields/select.js";import{AutoFormSwitch}from"../../../../components/form/fields/switch.js";import{AutoFormTextarea}from"../../../../components/form/fields/textarea.js";import{Card}from"../../../../components/ui/card.js";import{Editor}from"../../../../components/ui/editor.js";import{EditorContent}from"../../../../components/ui/editor-content.js";import{InputGroupAddon,InputGroupText}from"../../../../components/ui/input-group.js";import{ADMIN_QUERY_ROOT}from"../../table/query.js";export const TestView=()=>{const formSchema=z.object({editor:z.string().describe("This is the editor for your application.").default("<p>Hello World! 🌎️</p>"),provider:z.string().min(1,{message:"Provider is required"}).describe("This is the provider for your application. It should be a valid provider name."),features:z.array(z.object({name:z.string().min(1,{message:"Feature name is required"}),enabled:z.boolean().default(true)})).describe("List the features available for this provider."),provider2:z.string().describe("This is the provider for your application. It should be a valid provider name.").default("test"),client_secret:z.string().min(1,{message:"Client Secret is required"}).describe("This is the client secret for your application. It should be kept secret and not shared with anyone."),client_secret2:z.string().min(1,{message:"Client Secret is required"}).describe("This is the client secret for your application. It should be kept secret and not shared with anyone."),terms:z.boolean().refine(val=>val,{message:"You must accept the terms and conditions"}).describe("By checking this box, you agree to the terms and conditions."),options:z.enum(["option1","option2","option3"]).default("option1"),options_long:z.enum(["option1","option2","option3"]).default("option2"),switch:z.boolean().default(false).describe("elo"),type:z.enum(["option-one","option-two"]).default("option-one"),custom_color:z.string().default("#000000").describe("Pick your favorite color.")});return _jsx("div",{className:"p-4",children:_jsxs(Card,{className:"p-6",children:[_jsx(Editor,{value:"<p>Hello World! 🌎️</p>"}),_jsx(EditorContent,{content:"<h2>Test header v2</h2><p>Hello World! 🌎️das d alfjnasjf kas djksa fkja sfj AFKJ afj AFJKNAJSKGNSAKFLMSAKLDNASFJNKJnjkdasnfjnas fjknsa fjknsafkjn askjfnkajsgnasjkfnskjanf kjans fjknasjkf naskjf naskjnf kjasn kfjans fjkas kfjnas jknfkasjn fkajsnf jnasfjkangaskjfnajsdnlaskmcdasjfnjskafnsajknfcksajdnasjkfnjkasn cfjksanfjckasnjcnaskjcnaksjcnaksjcnakjcnasjkn</p>"}),_jsx(AutoForm,{fields:[{id:"editor",component:props=>_jsx(AutoFormEditor,{...props,label:"Editor",multiLang:true})},{id:"provider",component:props=>_jsx(AutoFormInput,{description:"This is the provider for your application. It should be a valid provider name.",label:"Provider",multiLang:true,...props})},{id:"features",component:props=>_jsx(AutoFormArray,{...props,fields:[{id:"name",className:"flex-1",component:subProps=>_jsx(AutoFormInput,{...subProps,label:"Feature Name"})},{id:"enabled",component:subProps=>_jsx(AutoFormCheckbox,{...subProps,label:"Enabled"})}],label:"Features"})},{id:"provider2",component:props=>_jsx(AutoFormInput,{label:"Provider 2",...props,children:_jsx(InputGroupAddon,{children:_jsx(SearchIcon,{})})})},{id:"client_secret",component:props=>_jsx(AutoFormTextarea,{description:"This is the client secret for your application. It should be kept\n secret and not shared with anyone.",label:"Client Secret",...props})},{id:"client_secret2",component:props=>_jsx(AutoFormTextarea,{description:"This is the client secret for your application. It should be kept\n secret and not shared with anyone.",label:"Client Secret",...props,children:_jsx(InputGroupAddon,{align:"block-end",children:_jsxs(InputGroupText,{className:"tabular-nums",children:[props.field.value?.toString().length??0," of 500 characters"]})})})},{id:"terms",component:props=>_jsx(AutoFormCheckbox,{description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions",...props})},{id:"options",component:props=>_jsx(AutoFormRadioGroup,{...props,description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions",labels:[{value:"option1",label:"Option 1",description:"This is the description for option 1"},{value:"option2",label:"Option 2"},{value:"option3",label:"Option 3",description:"This is the description for option 3",disabled:true}],variant:"blocks"})},{id:"options_long",component:props=>_jsx(AutoFormSelect,{...props,description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions",labels:[{value:"option1",label:"Option 1 with a very long label that should be truncated"},{value:"option2",label:"Option 2"},{value:"option3",label:"Option 3"}],placeholder:"Select an option from the list"})},{id:"switch",component:props=>_jsx(AutoFormSwitch,{...props,description:"By checking this box, you agree to the terms and conditions.",label:"I agree to the terms and conditions"})},{id:"type",component:props=>_jsx(AutoFormCombobox,{...props,description:"By checking this box, you agree to the terms and conditions.",fetchData:async({search})=>{await new Promise(resolve=>setTimeout(resolve,1e3));return[{value:"option-one",label:"Option One"},{value:"option-two",label:"Option Two"}].filter(option=>option.label.toLowerCase().includes(search.toLowerCase()))},id:"test-combobox",label:"Type",queryKey:[...ADMIN_QUERY_ROOT,"test","combobox"]})},{id:"custom_color",component:props=>_jsxs("div",{className:"flex w-full flex-col gap-3",children:[_jsx("div",{className:"text-sm leading-none font-medium",children:"Custom Color Picker"}),_jsx("input",{...props.field,className:"h-10 w-24 cursor-pointer rounded-md border p-1",type:"color",value:props.field.value??"#000000"}),!!props.description&&_jsx("div",{className:"text-muted-foreground text-sm",children:props.description})]})}],formSchema:formSchema,onSubmit:async values=>{console.log("Form submitted",values);await new Promise(resolve=>setTimeout(resolve,3e3))}})]})})};
@@ -1 +1 @@
1
- {"version":3,"file":"user-detail-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-detail-content.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAQhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA4BjE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,GAAI,mFAQ/B,eAAe,gCAqHjB,CAAC"}
1
+ {"version":3,"file":"user-detail-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-detail-content.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAQhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASjE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,GAAI,mFAQ/B,eAAe,gCAqHjB,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ExternalLinkIcon}from"lucide-react";import{useTranslations}from"use-intl";import{Avatar}from"../../../../../../components/avatar.js";import{DateFormat}from"../../../../../../components/date-format.js";import{Button}from"../../../../../../components/ui/button.js";import{Card,CardContent}from"../../../../../../components/ui/card.js";import{Tabs,TabsContent,TabsList,TabsTrigger}from"../../../../../../components/ui/tabs.js";import{EditImageButtonContent,EditNameCodeContent,EditUserFieldContent}from"./user-fields-content.js";import{UserRolesCardContent}from"./user-roles-content.js";export const UserDetailContent=({canEdit,LinkComponent,onUpdate,onUpdateRoles,searchRoles,timeline,user})=>{const t=useTranslations("admin.user.show");const tSearch=useTranslations("core.search");return _jsxs(Tabs,{className:"mx-auto w-full max-w-lg gap-4",defaultValue:"overview",children:[_jsxs(TabsList,{className:"w-full",children:[_jsx(TabsTrigger,{value:"overview",children:tSearch("userTab.overview")}),_jsx(TabsTrigger,{value:"timeline",children:tSearch("userTab.timeline")})]}),_jsx(TabsContent,{value:"overview",children:_jsxs("div",{className:"flex w-full flex-col gap-4",children:[_jsxs(Card,{className:"w-full overflow-hidden pt-0",children:[_jsxs("div",{className:"from-primary/30 to-primary/5 relative h-44 w-full bg-linear-to-br",children:[_jsx("span",{className:"sr-only",children:t("coverPlaceholder")}),canEdit&&_jsx("div",{className:"absolute inset-e-3 top-3",children:_jsx(EditImageButtonContent,{label:t("editCover")})})]}),_jsxs(CardContent,{className:"flex flex-col",children:[_jsx("div",{className:"-mt-16 mb-4 flex justify-center",children:_jsxs("div",{className:"relative",children:[_jsx(Avatar,{className:"border-card size-32 border-4",size:128,user:user}),canEdit&&_jsx("div",{className:"absolute inset-e-0 bottom-0 translate-y-1/4",children:_jsx(EditImageButtonContent,{label:t("editAvatar")})})]})}),_jsx(EditUserFieldContent,{as:"h2",canEdit:canEdit,field:"name",id:user.id,label:t("editName"),onUpdate:onUpdate,showUnverified:!user.emailVerified,value:user.name,valueClassName:"text-foreground truncate text-2xl font-bold"}),_jsxs("div",{className:"flex items-center gap-1",children:[_jsxs("span",{className:"text-muted-foreground truncate text-sm",children:["@",user.nameCode]}),canEdit&&_jsx(EditNameCodeContent,{id:user.id,nameCode:user.nameCode,onUpdate:onUpdate})]}),_jsx("div",{className:"mt-3",children:_jsx(EditUserFieldContent,{canEdit:canEdit,field:"email",id:user.id,label:t("editEmail"),onUpdate:onUpdate,type:"email",value:user.email,valueClassName:"text-foreground truncate font-medium"})}),_jsxs("p",{className:"text-muted-foreground mt-1 text-sm",children:[t("joined")," ",_jsx(DateFormat,{date:user.createdAt})]}),_jsx("div",{className:"mt-6",children:_jsxs(Button,{className:"w-full",nativeButton:false,render:_jsx(LinkComponent,{href:`/profile/${user.nameCode}`,target:"_blank"}),variant:"ghost",children:[t("goToProfile")," ",_jsx(ExternalLinkIcon,{})]})})]})]}),_jsx(UserRolesCardContent,{canEdit:canEdit,id:user.id,onUpdateRoles:onUpdateRoles,role:user.role,searchRoles:searchRoles,secondaryRoles:user.secondaryRoles})]})}),_jsx(TabsContent,{value:"timeline",children:timeline})]})};
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{ExternalLinkIcon}from"lucide-react";import{useTranslations}from"use-intl";import{Avatar}from"../../../../../../components/avatar.js";import{DateFormat}from"../../../../../../components/date-format.js";import{Button}from"../../../../../../components/ui/button.js";import{Card,CardContent}from"../../../../../../components/ui/card.js";import{Tabs,TabsContent,TabsList,TabsTrigger}from"../../../../../../components/ui/tabs.js";import{EditImageButtonContent,EditNameCodeContent,EditUserFieldContent}from"./user-fields-content.js";import{UserRolesCardContent}from"./user-roles-content.js";export const UserDetailContent=({canEdit,LinkComponent,onUpdate,onUpdateRoles,searchRoles,timeline,user})=>{const t=useTranslations("admin.user.show");const tSearch=useTranslations("core.search");return _jsxs(Tabs,{className:"mx-auto w-full max-w-lg gap-4",defaultValue:"overview",children:[_jsxs(TabsList,{className:"w-full",children:[_jsx(TabsTrigger,{value:"overview",children:tSearch("userTab.overview")}),_jsx(TabsTrigger,{value:"timeline",children:tSearch("userTab.timeline")})]}),_jsx(TabsContent,{value:"overview",children:_jsxs("div",{className:"flex w-full flex-col gap-4",children:[_jsxs(Card,{className:"w-full overflow-hidden pt-0",children:[_jsxs("div",{className:"from-primary/30 to-primary/5 relative h-44 w-full bg-linear-to-br",children:[_jsx("span",{className:"sr-only",children:t("coverPlaceholder")}),canEdit&&_jsx("div",{className:"absolute inset-e-3 top-3",children:_jsx(EditImageButtonContent,{label:t("editCover")})})]}),_jsxs(CardContent,{className:"flex flex-col",children:[_jsx("div",{className:"-mt-16 mb-4 flex justify-center",children:_jsxs("div",{className:"relative",children:[_jsx(Avatar,{className:"border-card size-32 border-4",size:128,user:user}),canEdit&&_jsx("div",{className:"absolute inset-e-0 bottom-0 translate-y-1/4",children:_jsx(EditImageButtonContent,{label:t("editAvatar")})})]})}),_jsx(EditUserFieldContent,{as:"h2",canEdit:canEdit,field:"name",id:user.id,label:t("editName"),onUpdate:onUpdate,showUnverified:!user.emailVerified,value:user.name,valueClassName:"text-foreground truncate text-2xl font-bold"}),_jsxs("div",{className:"flex items-center gap-1",children:[_jsxs("span",{className:"text-muted-foreground truncate text-sm",children:["@",user.nameCode]}),canEdit&&_jsx(EditNameCodeContent,{id:user.id,nameCode:user.nameCode,onUpdate:onUpdate})]}),_jsx("div",{className:"mt-3",children:_jsx(EditUserFieldContent,{canEdit:canEdit,field:"email",id:user.id,label:t("editEmail"),onUpdate:onUpdate,type:"email",value:user.email,valueClassName:"text-foreground truncate font-medium"})}),_jsxs("p",{className:"text-muted-foreground mt-1 text-sm",children:[t("joined")," ",_jsx(DateFormat,{date:user.createdAt})]}),_jsx("div",{className:"mt-6",children:_jsxs(Button,{className:"w-full",nativeButton:false,render:_jsx(LinkComponent,{href:`/profile/${user.nameCode}`,target:"_blank"}),variant:"ghost",children:[t("goToProfile")," ",_jsx(ExternalLinkIcon,{})]})})]})]}),_jsx(UserRolesCardContent,{canEdit:canEdit,id:user.id,onUpdateRoles:onUpdateRoles,role:user.role,searchRoles:searchRoles,secondaryRoles:user.secondaryRoles})]})}),_jsx(TabsContent,{value:"timeline",children:timeline})]})};
@@ -1 +1 @@
1
- {"version":3,"file":"user-fields-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-fields-content.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAkC3F,MAAM,MAAM,eAAe,GAAG,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,mBAAmB,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AASxD,eAAO,MAAM,oBAAoB,GAAI,gGAWlC;IACD,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,sBAmHA,CAAC;AAGF,eAAO,MAAM,sBAAsB,GAAI,WAAW;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,sBAsBlE,CAAC;AAmGF,eAAO,MAAM,mBAAmB,GAAI,6BAIjC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;CAC3B,sBAoCA,CAAC"}
1
+ {"version":3,"file":"user-fields-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-fields-content.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAyB3F,MAAM,MAAM,eAAe,GAAG,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,mBAAmB,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAExD,eAAO,MAAM,oBAAoB,GAAI,gGAWlC;IACD,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,sBAmHA,CAAC;AAGF,eAAO,MAAM,sBAAsB,GAAI,WAAW;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,sBAsBlE,CAAC;AA4FF,eAAO,MAAM,mBAAmB,GAAI,6BAIjC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;CAC3B,sBAoCA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CheckIcon,ImageIcon,LinkIcon,MailIcon,PencilIcon,Trash2Icon,TriangleAlertIcon,UploadIcon,XIcon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useTranslations}from"use-intl";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{Alert,AlertDescription,AlertTitle}from"../../../../../../components/ui/alert.js";import{Button}from"../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger,useDialog}from"../../../../../../components/ui/dialog.js";import{DropdownMenu,DropdownMenuContent,DropdownMenuItem,DropdownMenuTrigger}from"../../../../../../components/ui/dropdown-menu.js";import{Input}from"../../../../../../components/ui/input.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";export const EditUserFieldContent=({as:Tag="span",canEdit=true,field,id,label,onUpdate,showUnverified=false,type="text",value,valueClassName})=>{const t=useTranslations("admin.user");const tGlobal=useTranslations("core.global");const tError=useTranslations("core.global.errors");const[isEditing,setIsEditing]=React.useState(false);const[draft,setDraft]=React.useState(value);const[isPending,startTransition]=React.useTransition();const onSave=()=>{const next=draft.trim();if(!next||next===value){setIsEditing(false);return}startTransition(async()=>{const result=await onUpdate(id,{[field]:next});if("error"in result){toast.error(tError("title"),{description:result.error.status===409?t(field==="email"?"create.email.exists":"create.name.exists"):tError("internal_server_error")});return}toast.success(t("show.updateSuccess"));setIsEditing(false)})};if(isEditing){return _jsxs("form",{className:"flex items-center gap-2",onSubmit:event=>{event.preventDefault();onSave()},children:[_jsx(Input,{"aria-label":label,autoFocus:true,className:"flex-1",disabled:isPending,minLength:type==="email"?undefined:3,name:field,onChange:event=>{setDraft(event.target.value)},onKeyDown:event=>{if(event.key==="Escape")setIsEditing(false)},required:true,type:type,value:draft}),_jsx(Button,{"aria-label":tGlobal("save"),isLoading:isPending,size:"icon-sm",type:"submit",children:_jsx(CheckIcon,{})}),_jsx(Button,{"aria-label":tGlobal("cancel"),disabled:isPending,onClick:()=>{setIsEditing(false)},size:"icon-sm",type:"button",variant:"ghost",children:_jsx(XIcon,{})})]})}return _jsxs("div",{className:"flex items-center justify-between gap-2",children:[_jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[_jsx(Tag,{className:valueClassName,children:value}),showUnverified&&_jsx(TooltipWithContent,{text:t("show.emailNotVerified"),children:_jsx(MailIcon,{className:"text-destructive size-5 shrink-0"})})]}),canEdit&&_jsx(Button,{"aria-label":label,onClick:()=>{setDraft(value);setIsEditing(true)},size:"icon-sm",variant:"secondary",children:_jsx(PencilIcon,{})})]})};export const EditImageButtonContent=({label})=>{const t=useTranslations("admin.user.show");return _jsxs(DropdownMenu,{children:[_jsx(DropdownMenuTrigger,{render:_jsx(Button,{"aria-label":label,size:"icon-sm",variant:"outline"}),children:_jsx(ImageIcon,{})}),_jsxs(DropdownMenuContent,{align:"end",children:[_jsxs(DropdownMenuItem,{children:[_jsx(UploadIcon,{}),t("uploadImage")]}),_jsxs(DropdownMenuItem,{variant:"destructive",children:[_jsx(Trash2Icon,{}),t("removeImage")]})]})]})};const NameCodeForm=({id,nameCode,onUpdate})=>{const t=useTranslations("admin.user.show");const tError=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const formSchema=z.object({currentNameCode:z.string({message:tError("field_required")}).refine(value=>value===nameCode,t("nameCodeConfirmMismatch")).default(""),newNameCode:z.string({message:tError("field_required")}).min(3,tError("field_min_length",{min:3})).max(255).regex(/^[a-zA-Z0-9-]+$/,t("nameCodeInvalid")).refine(value=>value!==nameCode,t("nameCodeSame")).default("")});const onSubmit=async(values,form)=>{const result=await onUpdate(id,{nameCode:values.newNameCode});if("data"in result){setIsDirty?.(false);setOpen?.(false);toast.success(t("updateSuccess"));return}if(result.error.status===409){form.setError("newNameCode",{message:t("nameCodeExists"),type:"manual"},{shouldFocus:true});return}toast.error(tError("title"),{description:tError("internal_server_error")})};return _jsx(AutoForm,{fields:[{component:props=>_jsx(AutoFormInput,{autoComplete:"off",label:t.rich("confirmNameCode",{bold:chunks=>_jsx("span",{className:"font-semibold",children:chunks}),nameCode:()=>_jsx("code",{className:"font-mono",children:nameCode})}),...props}),id:"currentNameCode"},{component:props=>_jsx(AutoFormInput,{label:t("newNameCode"),...props}),id:"newNameCode"}],formSchema:formSchema,mode:"all",onSubmit:onSubmit,submitButtonProps:{children:t("saveNameCode"),variant:"destructive"}})};export const EditNameCodeContent=({id,nameCode,onUpdate})=>{const t=useTranslations("admin.user.show");return _jsxs(Dialog,{children:[_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("editNameCode"),size:"icon-xs",variant:"ghost"}),children:_jsx(PencilIcon,{})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(LinkIcon,{className:"size-5"}),t("editNameCode")]}),_jsx(DialogDescription,{children:t("editNameCodeDesc")})]}),_jsxs(Alert,{variant:"destructive",children:[_jsx(TriangleAlertIcon,{}),_jsx(AlertTitle,{children:t("editNameCodeWarningTitle")}),_jsx(AlertDescription,{children:t("editNameCodeWarning")})]}),_jsx(NameCodeForm,{id:id,nameCode:nameCode,onUpdate:onUpdate})]})]})};
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{CheckIcon,ImageIcon,LinkIcon,MailIcon,PencilIcon,Trash2Icon,TriangleAlertIcon,UploadIcon,XIcon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useTranslations}from"use-intl";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{Alert,AlertDescription,AlertTitle}from"../../../../../../components/ui/alert.js";import{Button}from"../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger,useDialog}from"../../../../../../components/ui/dialog.js";import{DropdownMenu,DropdownMenuContent,DropdownMenuItem,DropdownMenuTrigger}from"../../../../../../components/ui/dropdown-menu.js";import{Input}from"../../../../../../components/ui/input.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";export const EditUserFieldContent=({as:Tag="span",canEdit=true,field,id,label,onUpdate,showUnverified=false,type="text",value,valueClassName})=>{const t=useTranslations("admin.user");const tGlobal=useTranslations("core.global");const tError=useTranslations("core.global.errors");const[isEditing,setIsEditing]=React.useState(false);const[draft,setDraft]=React.useState(value);const[isPending,startTransition]=React.useTransition();const onSave=()=>{const next=draft.trim();if(!next||next===value){setIsEditing(false);return}startTransition(async()=>{const result=await onUpdate(id,{[field]:next});if("error"in result){toast.error(tError("title"),{description:result.error.status===409?t(field==="email"?"create.email.exists":"create.name.exists"):tError("internal_server_error")});return}toast.success(t("show.updateSuccess"));setIsEditing(false)})};if(isEditing){return _jsxs("form",{className:"flex items-center gap-2",onSubmit:event=>{event.preventDefault();onSave()},children:[_jsx(Input,{"aria-label":label,autoFocus:true,className:"flex-1",disabled:isPending,minLength:type==="email"?undefined:3,name:field,onChange:event=>{setDraft(event.target.value)},onKeyDown:event=>{if(event.key==="Escape")setIsEditing(false)},required:true,type:type,value:draft}),_jsx(Button,{"aria-label":tGlobal("save"),isLoading:isPending,size:"icon-sm",type:"submit",children:_jsx(CheckIcon,{})}),_jsx(Button,{"aria-label":tGlobal("cancel"),disabled:isPending,onClick:()=>{setIsEditing(false)},size:"icon-sm",type:"button",variant:"ghost",children:_jsx(XIcon,{})})]})}return _jsxs("div",{className:"flex items-center justify-between gap-2",children:[_jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[_jsx(Tag,{className:valueClassName,children:value}),showUnverified&&_jsx(TooltipWithContent,{text:t("show.emailNotVerified"),children:_jsx(MailIcon,{className:"text-destructive size-5 shrink-0"})})]}),canEdit&&_jsx(Button,{"aria-label":label,onClick:()=>{setDraft(value);setIsEditing(true)},size:"icon-sm",variant:"secondary",children:_jsx(PencilIcon,{})})]})};export const EditImageButtonContent=({label})=>{const t=useTranslations("admin.user.show");return _jsxs(DropdownMenu,{children:[_jsx(DropdownMenuTrigger,{render:_jsx(Button,{"aria-label":label,size:"icon-sm",variant:"outline"}),children:_jsx(ImageIcon,{})}),_jsxs(DropdownMenuContent,{align:"end",children:[_jsxs(DropdownMenuItem,{children:[_jsx(UploadIcon,{}),t("uploadImage")]}),_jsxs(DropdownMenuItem,{variant:"destructive",children:[_jsx(Trash2Icon,{}),t("removeImage")]})]})]})};const NameCodeForm=({id,nameCode,onUpdate})=>{const t=useTranslations("admin.user.show");const tError=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const formSchema=z.object({currentNameCode:z.string({message:tError("field_required")}).refine(value=>value===nameCode,t("nameCodeConfirmMismatch")).default(""),newNameCode:z.string({message:tError("field_required")}).min(3,tError("field_min_length",{min:3})).max(255).regex(/^[a-zA-Z0-9-]+$/,t("nameCodeInvalid")).refine(value=>value!==nameCode,t("nameCodeSame")).default("")});const onSubmit=async(values,form)=>{const result=await onUpdate(id,{nameCode:values.newNameCode});if("data"in result){setIsDirty?.(false);setOpen?.(false);toast.success(t("updateSuccess"));return}if(result.error.status===409){form.setError("newNameCode",{message:t("nameCodeExists"),type:"manual"},{shouldFocus:true});return}toast.error(tError("title"),{description:tError("internal_server_error")})};return _jsx(AutoForm,{fields:[{component:props=>_jsx(AutoFormInput,{autoComplete:"off",label:t.rich("confirmNameCode",{bold:chunks=>_jsx("span",{className:"font-semibold",children:chunks}),nameCode:()=>_jsx("code",{className:"font-mono",children:nameCode})}),...props}),id:"currentNameCode"},{component:props=>_jsx(AutoFormInput,{label:t("newNameCode"),...props}),id:"newNameCode"}],formSchema:formSchema,mode:"all",onSubmit:onSubmit,submitButtonProps:{children:t("saveNameCode"),variant:"destructive"}})};export const EditNameCodeContent=({id,nameCode,onUpdate})=>{const t=useTranslations("admin.user.show");return _jsxs(Dialog,{children:[_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("editNameCode"),size:"icon-xs",variant:"ghost"}),children:_jsx(PencilIcon,{})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(LinkIcon,{className:"size-5"}),t("editNameCode")]}),_jsx(DialogDescription,{children:t("editNameCodeDesc")})]}),_jsxs(Alert,{variant:"destructive",children:[_jsx(TriangleAlertIcon,{}),_jsx(AlertTitle,{children:t("editNameCodeWarningTitle")}),_jsx(AlertDescription,{children:t("editNameCodeWarning")})]}),_jsx(NameCodeForm,{id:id,nameCode:nameCode,onUpdate:onUpdate})]})]})};
@@ -1,4 +1,5 @@
1
1
  import type { StaffPermissionSet } from "../../../../../../api/lib/permission-staff";
2
+ import type { UniversalFetcher } from "../../../../../../lib/fetcher-client";
2
3
  import type { AdminIdentity } from "../../../../../../views/admin/views/core/shared/admin-scope";
3
4
  import type { AdminUserRole } from "../../../../../../views/admin/views/core/users/list/users-query";
4
5
  export declare const normalizeAdminUserId: (raw: null | string | string[] | undefined) => null | string;
@@ -19,6 +20,7 @@ export interface AdminUserDetail {
19
20
  secondaryRoles: AdminUserRole[];
20
21
  }
21
22
  export type AdminUserFetcher = (id: string) => Promise<AdminUserDetail>;
23
+ export declare const adminUserFetcher: (transport: UniversalFetcher) => AdminUserFetcher;
22
24
  export declare const fetchAdminUserInBrowser: AdminUserFetcher;
23
25
  export declare const adminUserQueryKey: ({ adminUserId, id, }: {
24
26
  adminUserId: AdminIdentity;
@@ -1 +1 @@
1
- {"version":3,"file":"user-query.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-query.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAwCrF,eAAO,MAAM,oBAAoB,GAC/B,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KACxC,IAAI,GAAG,MAMT,CAAC;AAGF,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AASxE,eAAO,MAAM,uBAAuB,EAAE,gBAcrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,sBAG/B;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ,uEAAqE,CAAC;AAEvE,eAAO,MAAM,qBAAqB,GAAI,iCAInC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;;;;;;;CAOG,CAAC;AAeL,eAAO,MAAM,gBAAgB,GAC3B,aAAa,kBAAkB,EAC/B,aAAa;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAChC,OAGmE,CAAC"}
1
+ {"version":3,"file":"user-query.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAerF,eAAO,MAAM,oBAAoB,GAC/B,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KACxC,IAAI,GAAG,MAMT,CAAC;AAGF,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB,GAC1B,WAAW,gBAAgB,KAAG,gBAc9B,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,gBACL,CAAC;AAElC,eAAO,MAAM,iBAAiB,GAAI,sBAG/B;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ,uEAAqE,CAAC;AAEvE,eAAO,MAAM,qBAAqB,GAAI,iCAInC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;;;;;;;CAOG,CAAC;AAcL,eAAO,MAAM,gBAAgB,GAC3B,aAAa,kBAAkB,EAC/B,aAAa;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAChC,OAGmE,CAAC"}
@@ -1 +1 @@
1
- import{queryOptions}from"@tanstack/react-query";import{hasStaffPermission}from"../../../../../../api/lib/staff-permission.js";import{fetcherClient}from"../../../../../../lib/fetcher-client.js";import{RECORD_STALE_TIME}from"../../../../../../lib/query-freshness.js";import{AdminRequestError}from"../../../../admin-request.js";import{ADMIN_USER_PERMISSIONS}from"../../shared/admin-permissions.js";import{ADMIN_USERS_SCREEN,adminScopedQueryKey}from"../../shared/admin-scope.js";import{adminModuleRef}from"../list/users-query.js";const MAX_USER_ID=0x7fffffff;export const normalizeAdminUserId=raw=>{const value=Array.isArray(raw)?raw[0]:raw;if(typeof value!=="string")return null;if(!/^[1-9]\d*$/.test(value))return null;return Number(value)<=MAX_USER_ID?value:null};export const fetchAdminUserInBrowser=async id=>{const response=await fetcherClient(adminModuleRef,{args:{params:{id}},method:"get",module:"admin/users",options:{credentials:"include"},path:"/{id}"});if(!response.ok){throw new AdminRequestError(response.status,"a user",`id=${id}`)}return await response.json()};export const adminUserQueryKey=({adminUserId,id})=>adminScopedQueryKey(ADMIN_USERS_SCREEN,adminUserId,"show",id);export const adminUserQueryOptions=({adminUserId,fetchUser=fetchAdminUserInBrowser,id})=>queryOptions({queryFn:async()=>await fetchUser(id),queryKey:adminUserQueryKey({adminUserId,id}),retry:false,staleTime:RECORD_STALE_TIME});export const canEditAdminUser=(permissions,{isAdmin})=>hasStaffPermission(permissions,ADMIN_USER_PERMISSIONS.edit)&&(!isAdmin||hasStaffPermission(permissions,ADMIN_USER_PERMISSIONS.editAdmin));
1
+ import{queryOptions}from"@tanstack/react-query";import{hasStaffPermission}from"../../../../../../api/lib/staff-permission.js";import{fetcherClient}from"../../../../../../lib/fetcher-client.js";import{RECORD_STALE_TIME}from"../../../../../../lib/query-freshness.js";import{AdminRequestError}from"../../../../admin-request.js";import{ADMIN_USER_PERMISSIONS}from"../../shared/admin-permissions.js";import{ADMIN_USERS_SCREEN,adminScopedQueryKey}from"../../shared/admin-scope.js";import{adminModuleRef}from"../list/users-query.js";const MAX_USER_ID=0x7fffffff;export const normalizeAdminUserId=raw=>{const value=Array.isArray(raw)?raw[0]:raw;if(typeof value!=="string")return null;if(!/^[1-9]\d*$/.test(value))return null;return Number(value)<=MAX_USER_ID?value:null};export const adminUserFetcher=transport=>async id=>{const response=await transport(adminModuleRef,{args:{params:{id}},method:"get",module:"admin/users",path:"/{id}"});if(!response.ok){throw new AdminRequestError(response.status,"a user",`id=${id}`)}return await response.json()};export const fetchAdminUserInBrowser=adminUserFetcher(fetcherClient);export const adminUserQueryKey=({adminUserId,id})=>adminScopedQueryKey(ADMIN_USERS_SCREEN,adminUserId,"show",id);export const adminUserQueryOptions=({adminUserId,fetchUser=fetchAdminUserInBrowser,id})=>queryOptions({queryFn:async()=>await fetchUser(id),queryKey:adminUserQueryKey({adminUserId,id}),retry:false,staleTime:RECORD_STALE_TIME});export const canEditAdminUser=(permissions,{isAdmin})=>hasStaffPermission(permissions,ADMIN_USER_PERMISSIONS.edit)&&(!isAdmin||hasStaffPermission(permissions,ADMIN_USER_PERMISSIONS.editAdmin));
@@ -1 +1 @@
1
- {"version":3,"file":"user-roles-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-roles-content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,kDAAkD,CAAC;AAgD1D,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KAClD,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AAG3C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAmSD,eAAO,MAAM,oBAAoB,GAAI,oEAOlC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,oBAAoB,CAAC;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,cAAc,EAAE,WAAW,EAAE,CAAC;CAC/B,sBAsEA,CAAC"}
1
+ {"version":3,"file":"user-roles-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/detail/user-roles-content.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,kDAAkD,CAAC;AAuC1D,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KAClD,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AAG3C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AA6RD,eAAO,MAAM,oBAAoB,GAAI,oEAOlC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,oBAAoB,CAAC;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,cAAc,EAAE,WAAW,EAAE,CAAC;CAC/B,sBAsEA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckIcon,ChevronsUpDownIcon,PencilIcon,PlusIcon,UsersIcon,XIcon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useDebouncedCallback}from"use-debounce";import{useLocale,useTranslations}from"use-intl";import{RoleFormatContent}from"../../../../../../components/role-format-content.js";import{resolveRoleName}from"../../../../../../components/role-name.js";import{Badge}from"../../../../../../components/ui/badge.js";import{Button}from"../../../../../../components/ui/button.js";import{Card,CardAction,CardContent,CardHeader,CardTitle}from"../../../../../../components/ui/card.js";import{Command,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList}from"../../../../../../components/ui/command.js";import{Dialog,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogTitle,DialogTrigger,useDialog}from"../../../../../../components/ui/dialog.js";import{Popover,PopoverContent,PopoverTrigger}from"../../../../../../components/ui/popover.js";import{Spinner}from"../../../../../../components/ui/spinner.js";import{cn}from"../../../../../../lib/utils.js";const RolePicker=({excludeIds=[],onRegister,onSelect,searchRoles,selectedIds,single=false,triggerContent,triggerRender})=>{const t=useTranslations("core.global");const[open,setOpen]=React.useState(false);const[options,setOptions]=React.useState([]);const[isSearching,setIsSearching]=React.useState(false);const runSearch=React.useCallback(async value=>{setIsSearching(true);try{const results=await searchRoles(value);setOptions(results);onRegister(results)}finally{setIsSearching(false)}},[onRegister,searchRoles]);const debouncedSearch=useDebouncedCallback(runSearch,400);const selectedSet=new Set(selectedIds);const excludeSet=new Set(excludeIds);const visibleOptions=options.filter(option=>!excludeSet.has(option.id));return _jsxs(Popover,{onOpenChange:next=>{setOpen(next);if(next){setOptions([]);void runSearch("")}},open:open,children:[_jsx(PopoverTrigger,{render:triggerRender,children:triggerContent}),_jsx(PopoverContent,{align:"start",className:"w-(--anchor-width) min-w-56 p-0",children:_jsxs(Command,{shouldFilter:false,children:[_jsx(CommandInput,{onValueChange:debouncedSearch,placeholder:t("search_placeholder")}),_jsx(CommandList,{children:isSearching&&visibleOptions.length===0?_jsx("div",{className:"flex items-center justify-center py-6",children:_jsx(Spinner,{})}):_jsxs(_Fragment,{children:[_jsx(CommandEmpty,{children:t("results_not_found")}),_jsx(CommandGroup,{children:visibleOptions.map(role=>_jsxs(CommandItem,{onSelect:()=>{onSelect(role);if(single)setOpen(false)},value:String(role.id),children:[_jsx(CheckIcon,{className:cn("size-4 shrink-0",selectedSet.has(role.id)?"opacity-100":"opacity-0")}),_jsx(RoleFormatContent,{className:"truncate",role:role})]},role.id))})]})})]})})]})};const EditRolesForm=({id,onUpdateRoles,primaryRole,searchRoles,secondaryRoles})=>{const t=useTranslations("admin.user.show");const tError=useTranslations("core.global.errors");const locale=useLocale();const{setIsDirty,setOpen}=useDialog();const[isPending,startTransition]=React.useTransition();const initialSecondaryIds=secondaryRoles.map(role=>role.id);const[primaryId,setPrimaryId]=React.useState(primaryRole.id);const[secondaryIds,setSecondaryIds]=React.useState(initialSecondaryIds);const[knownRoles,setKnownRoles]=React.useState(()=>new Map([primaryRole,...secondaryRoles].map(role=>[role.id,role])));const registerRoles=React.useCallback(roles=>{setKnownRoles(previous=>{const next=new Map(previous);for(const role of roles)next.set(role.id,role);return next})},[]);const markDirty=(nextPrimary,nextSecondary)=>{setIsDirty?.(nextPrimary!==primaryRole.id||nextSecondary.length!==initialSecondaryIds.length||nextSecondary.some(roleId=>!initialSecondaryIds.includes(roleId)))};const selectPrimary=role=>{const nextSecondary=secondaryIds.filter(roleId=>roleId!==role.id);setPrimaryId(role.id);setSecondaryIds(nextSecondary);markDirty(role.id,nextSecondary)};const toggleSecondary=role=>{const nextSecondary=secondaryIds.includes(role.id)?secondaryIds.filter(roleId=>roleId!==role.id):[...secondaryIds,role.id];setSecondaryIds(nextSecondary);markDirty(primaryId,nextSecondary)};const onSubmit=()=>{startTransition(async()=>{const result=await onUpdateRoles(id,{roleId:primaryId,secondaryRoleIds:secondaryIds});if("error"in result){toast.error(tError("title"),{description:tError("internal_server_error")});return}setIsDirty?.(false);setOpen?.(false);toast.success(t("updateSuccess"))})};const primary=knownRoles.get(primaryId);return _jsxs(_Fragment,{children:[_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("primaryRole")}),_jsx(RolePicker,{onRegister:registerRoles,onSelect:selectPrimary,searchRoles:searchRoles,selectedIds:[primaryId],single:true,triggerContent:_jsxs(_Fragment,{children:[primary?_jsx(RoleFormatContent,{className:"truncate",role:primary}):_jsx("span",{className:"text-muted-foreground",children:t("selectRole")}),_jsx(ChevronsUpDownIcon,{className:"ms-auto opacity-50"})]}),triggerRender:_jsx(Button,{className:"w-full justify-start font-normal",variant:"outline"})})]}),_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("secondaryRoles")}),secondaryIds.length>0&&_jsx("div",{className:"flex flex-wrap gap-1.5",children:secondaryIds.map(roleId=>{const role=knownRoles.get(roleId);if(!role)return null;return _jsxs(Badge,{className:"gap-1 pe-1",variant:"secondary",children:[_jsx("span",{className:"truncate font-medium",style:role.color?{color:role.color}:undefined,children:resolveRoleName(role,locale)}),_jsx(Button,{"aria-label":t("removeRole"),className:"size-4",onClick:()=>{const nextSecondary=secondaryIds.filter(item=>item!==roleId);setSecondaryIds(nextSecondary);markDirty(primaryId,nextSecondary)},size:"icon-xs",type:"button",variant:"ghost",children:_jsx(XIcon,{})})]},roleId)})}),_jsx(RolePicker,{excludeIds:[primaryId],onRegister:registerRoles,onSelect:toggleSecondary,searchRoles:searchRoles,selectedIds:secondaryIds,triggerContent:_jsxs(_Fragment,{children:[_jsx(PlusIcon,{}),t("addSecondaryRole")]}),triggerRender:_jsx(Button,{className:"w-fit border-dashed",size:"sm",variant:"outline"})})]}),_jsx(DialogFooter,{children:_jsx(Button,{isLoading:isPending,onClick:onSubmit,type:"button",children:t("saveRoles")})})]})};export const UserRolesCardContent=({canEdit=true,id,onUpdateRoles,role,searchRoles,secondaryRoles})=>{const t=useTranslations("admin.user.show");return _jsxs(Card,{className:"w-full",children:[_jsxs(CardHeader,{children:[_jsxs(CardTitle,{className:"flex items-center gap-2",children:[_jsx(UsersIcon,{className:"text-muted-foreground size-5"}),t("rolesTitle")]}),canEdit&&_jsx(CardAction,{children:_jsxs(Dialog,{children:[_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("editRoles"),size:"icon-sm",variant:"ghost"}),children:_jsx(PencilIcon,{})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UsersIcon,{className:"size-5"}),t("editRoles")]}),_jsx(DialogDescription,{children:t("editRolesDesc")})]}),_jsx(EditRolesForm,{id:id,onUpdateRoles:onUpdateRoles,primaryRole:role,searchRoles:searchRoles,secondaryRoles:secondaryRoles})]})]})})]}),_jsxs(CardContent,{className:"flex flex-col gap-4",children:[_jsxs("div",{className:"flex flex-col gap-1",children:[_jsx("span",{className:"text-muted-foreground text-sm",children:t("primaryRole")}),_jsx(RoleFormatContent,{role:role})]}),secondaryRoles.length>0&&_jsxs("div",{className:"flex flex-col gap-1.5",children:[_jsx("span",{className:"text-muted-foreground text-sm",children:t("secondaryRoles")}),_jsx("div",{className:"flex flex-wrap gap-x-3 gap-y-1",children:secondaryRoles.map(item=>_jsx(RoleFormatContent,{role:item},item.id))})]})]})]})};
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckIcon,ChevronsUpDownIcon,PencilIcon,PlusIcon,UsersIcon,XIcon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useDebouncedCallback}from"use-debounce";import{useLocale,useTranslations}from"use-intl";import{RoleFormatContent}from"../../../../../../components/role-format-content.js";import{resolveRoleName}from"../../../../../../components/role-name.js";import{Badge}from"../../../../../../components/ui/badge.js";import{Button}from"../../../../../../components/ui/button.js";import{Card,CardAction,CardContent,CardHeader,CardTitle}from"../../../../../../components/ui/card.js";import{Command,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList}from"../../../../../../components/ui/command.js";import{Dialog,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogTitle,DialogTrigger,useDialog}from"../../../../../../components/ui/dialog.js";import{Popover,PopoverContent,PopoverTrigger}from"../../../../../../components/ui/popover.js";import{Spinner}from"../../../../../../components/ui/spinner.js";import{cn}from"../../../../../../lib/utils.js";const RolePicker=({excludeIds=[],onRegister,onSelect,searchRoles,selectedIds,single=false,triggerContent,triggerRender})=>{const t=useTranslations("core.global");const[open,setOpen]=React.useState(false);const[options,setOptions]=React.useState([]);const[isSearching,setIsSearching]=React.useState(false);const runSearch=React.useCallback(async value=>{setIsSearching(true);try{const results=await searchRoles(value);setOptions(results);onRegister(results)}finally{setIsSearching(false)}},[onRegister,searchRoles]);const debouncedSearch=useDebouncedCallback(runSearch,400);const selectedSet=new Set(selectedIds);const excludeSet=new Set(excludeIds);const visibleOptions=options.filter(option=>!excludeSet.has(option.id));return _jsxs(Popover,{onOpenChange:next=>{setOpen(next);if(next){setOptions([]);void runSearch("")}},open:open,children:[_jsx(PopoverTrigger,{render:triggerRender,children:triggerContent}),_jsx(PopoverContent,{align:"start",className:"w-(--anchor-width) min-w-56 p-0",children:_jsxs(Command,{shouldFilter:false,children:[_jsx(CommandInput,{onValueChange:debouncedSearch,placeholder:t("search_placeholder")}),_jsx(CommandList,{children:isSearching&&visibleOptions.length===0?_jsx("div",{className:"flex items-center justify-center py-6",children:_jsx(Spinner,{})}):_jsxs(_Fragment,{children:[_jsx(CommandEmpty,{children:t("results_not_found")}),_jsx(CommandGroup,{children:visibleOptions.map(role=>_jsxs(CommandItem,{onSelect:()=>{onSelect(role);if(single)setOpen(false)},value:String(role.id),children:[_jsx(CheckIcon,{className:cn("size-4 shrink-0",selectedSet.has(role.id)?"opacity-100":"opacity-0")}),_jsx(RoleFormatContent,{className:"truncate",role:role})]},role.id))})]})})]})})]})};const EditRolesForm=({id,onUpdateRoles,primaryRole,searchRoles,secondaryRoles})=>{const t=useTranslations("admin.user.show");const tError=useTranslations("core.global.errors");const locale=useLocale();const{setIsDirty,setOpen}=useDialog();const[isPending,startTransition]=React.useTransition();const initialSecondaryIds=secondaryRoles.map(role=>role.id);const[primaryId,setPrimaryId]=React.useState(primaryRole.id);const[secondaryIds,setSecondaryIds]=React.useState(initialSecondaryIds);const[knownRoles,setKnownRoles]=React.useState(()=>new Map([primaryRole,...secondaryRoles].map(role=>[role.id,role])));const registerRoles=React.useCallback(roles=>{setKnownRoles(previous=>{const next=new Map(previous);for(const role of roles)next.set(role.id,role);return next})},[]);const markDirty=(nextPrimary,nextSecondary)=>{setIsDirty?.(nextPrimary!==primaryRole.id||nextSecondary.length!==initialSecondaryIds.length||nextSecondary.some(roleId=>!initialSecondaryIds.includes(roleId)))};const selectPrimary=role=>{const nextSecondary=secondaryIds.filter(roleId=>roleId!==role.id);setPrimaryId(role.id);setSecondaryIds(nextSecondary);markDirty(role.id,nextSecondary)};const toggleSecondary=role=>{const nextSecondary=secondaryIds.includes(role.id)?secondaryIds.filter(roleId=>roleId!==role.id):[...secondaryIds,role.id];setSecondaryIds(nextSecondary);markDirty(primaryId,nextSecondary)};const onSubmit=()=>{startTransition(async()=>{const result=await onUpdateRoles(id,{roleId:primaryId,secondaryRoleIds:secondaryIds});if("error"in result){toast.error(tError("title"),{description:tError("internal_server_error")});return}setIsDirty?.(false);setOpen?.(false);toast.success(t("updateSuccess"))})};const primary=knownRoles.get(primaryId);return _jsxs(_Fragment,{children:[_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("primaryRole")}),_jsx(RolePicker,{onRegister:registerRoles,onSelect:selectPrimary,searchRoles:searchRoles,selectedIds:[primaryId],single:true,triggerContent:_jsxs(_Fragment,{children:[primary?_jsx(RoleFormatContent,{className:"truncate",role:primary}):_jsx("span",{className:"text-muted-foreground",children:t("selectRole")}),_jsx(ChevronsUpDownIcon,{className:"ms-auto opacity-50"})]}),triggerRender:_jsx(Button,{className:"w-full justify-start font-normal",variant:"outline"})})]}),_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("secondaryRoles")}),secondaryIds.length>0&&_jsx("div",{className:"flex flex-wrap gap-1.5",children:secondaryIds.map(roleId=>{const role=knownRoles.get(roleId);if(!role)return null;return _jsxs(Badge,{className:"gap-1 pe-1",variant:"secondary",children:[_jsx("span",{className:"truncate font-medium",style:role.color?{color:role.color}:undefined,children:resolveRoleName(role,locale)}),_jsx(Button,{"aria-label":t("removeRole"),className:"size-4",onClick:()=>{const nextSecondary=secondaryIds.filter(item=>item!==roleId);setSecondaryIds(nextSecondary);markDirty(primaryId,nextSecondary)},size:"icon-xs",type:"button",variant:"ghost",children:_jsx(XIcon,{})})]},roleId)})}),_jsx(RolePicker,{excludeIds:[primaryId],onRegister:registerRoles,onSelect:toggleSecondary,searchRoles:searchRoles,selectedIds:secondaryIds,triggerContent:_jsxs(_Fragment,{children:[_jsx(PlusIcon,{}),t("addSecondaryRole")]}),triggerRender:_jsx(Button,{className:"w-fit border-dashed",size:"sm",variant:"outline"})})]}),_jsx(DialogFooter,{children:_jsx(Button,{isLoading:isPending,onClick:onSubmit,type:"button",children:t("saveRoles")})})]})};export const UserRolesCardContent=({canEdit=true,id,onUpdateRoles,role,searchRoles,secondaryRoles})=>{const t=useTranslations("admin.user.show");return _jsxs(Card,{className:"w-full",children:[_jsxs(CardHeader,{children:[_jsxs(CardTitle,{className:"flex items-center gap-2",children:[_jsx(UsersIcon,{className:"text-muted-foreground size-5"}),t("rolesTitle")]}),canEdit&&_jsx(CardAction,{children:_jsxs(Dialog,{children:[_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("editRoles"),size:"icon-sm",variant:"ghost"}),children:_jsx(PencilIcon,{})}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UsersIcon,{className:"size-5"}),t("editRoles")]}),_jsx(DialogDescription,{children:t("editRolesDesc")})]}),_jsx(EditRolesForm,{id:id,onUpdateRoles:onUpdateRoles,primaryRole:role,searchRoles:searchRoles,secondaryRoles:secondaryRoles})]})]})})]}),_jsxs(CardContent,{className:"flex flex-col gap-4",children:[_jsxs("div",{className:"flex flex-col gap-1",children:[_jsx("span",{className:"text-muted-foreground text-sm",children:t("primaryRole")}),_jsx(RoleFormatContent,{role:role})]}),secondaryRoles.length>0&&_jsxs("div",{className:"flex flex-col gap-1.5",children:[_jsx("span",{className:"text-muted-foreground text-sm",children:t("secondaryRoles")}),_jsx("div",{className:"flex flex-wrap gap-x-3 gap-y-1",children:secondaryRoles.map(item=>_jsx(RoleFormatContent,{role:item},item.id))})]})]})]})};
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/create-user-content.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,gDAAgD,CAAC;AA0BxD,MAAM,MAAM,eAAe,GAAG,CAC5B,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAQpD,eAAO,MAAM,sBAAsB,GAAI,eAEpC;IACD,QAAQ,EAAE,eAAe,CAAC;CAC3B,sBAyBA,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"create-user-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/create-user-content.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,gDAAgD,CAAC;AAaxD,MAAM,MAAM,eAAe,GAAG,CAC5B,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAQpD,eAAO,MAAM,sBAAsB,GAAI,eAEpC;IACD,QAAQ,EAAE,eAAe,CAAC;CAC3B,sBAyBA,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{UserPlusIcon}from"lucide-react";import React from"react";import{useTranslations}from"use-intl";import{Button}from"../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../components/ui/loader.js";const CreateUserForm=React.lazy(async()=>import("./create-user-form.js").then(module=>({default:module.CreateUserForm})));export const CreateUserAdminContent=({onCreate})=>{const t=useTranslations("admin.user.create");return _jsxs(Dialog,{children:[_jsxs(DialogTrigger,{render:_jsx(Button,{}),children:[_jsx(UserPlusIcon,{}),t("title")]}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UserPlusIcon,{className:"size-5"}),t("title")]}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(CreateUserForm,{onCreate:onCreate})})]})]})};
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{UserPlusIcon}from"lucide-react";import React from"react";import{useTranslations}from"use-intl";import{Button}from"../../../../../../components/ui/button.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../components/ui/loader.js";const CreateUserForm=React.lazy(async()=>import("./create-user-form.js").then(module=>({default:module.CreateUserForm})));export const CreateUserAdminContent=({onCreate})=>{const t=useTranslations("admin.user.create");return _jsxs(Dialog,{children:[_jsxs(DialogTrigger,{render:_jsx(Button,{}),children:[_jsx(UserPlusIcon,{}),t("title")]}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsxs(DialogTitle,{className:"flex items-center gap-2",children:[_jsx(UserPlusIcon,{className:"size-5"}),t("title")]}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(CreateUserForm,{onCreate:onCreate})})]})]})};
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-form.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/create-user-form.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAgB7D,eAAO,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,gCAsFzE,CAAC"}
1
+ {"version":3,"file":"create-user-form.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/create-user-form.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,gCAsFzE,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx}from"react/jsx-runtime";import{toast}from"sonner";import{useTranslations}from"use-intl";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{useDialog}from"../../../../../../components/ui/dialog.js";import{adminUserCreateConflictField}from"../users-mutations.js";export const CreateUserForm=({onCreate})=>{const t=useTranslations("admin.user.create");const tError=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const formSchema=z.object({email:z.email({message:t("email.invalid")}).default(""),name:z.string({message:tError("field_required")}).min(3,t("name.min_length")).max(32,t("name.max_length")).default(""),password:z.string({message:tError("field_required")}).min(8,t("password.invalid")).default("")});const onSubmit=async(values,form)=>{const result=await onCreate(values);if("data"in result){setIsDirty?.(false);setOpen?.(false);toast.success(t("success",{name:result.data.name}));return}const field=result.error.status===409?adminUserCreateConflictField(result.error.message??""):null;if(field){form.setError(field,{message:t(`${field}.exists`),type:"manual"},{shouldFocus:true});return}toast.error(tError("title"),{description:tError("internal_server_error")})};return _jsx(AutoForm,{fields:[{component:props=>_jsx(AutoFormInput,{label:t("name.label"),...props}),id:"name"},{component:props=>_jsx(AutoFormInput,{label:t("email.label"),...props}),id:"email"},{component:props=>_jsx(AutoFormInput,{label:t("password.label"),type:"password",...props}),id:"password"}],formSchema:formSchema,mode:"all",onSubmit:onSubmit,submitButtonProps:{children:t("submit")}})};
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{toast}from"sonner";import{useTranslations}from"use-intl";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{useDialog}from"../../../../../../components/ui/dialog.js";import{adminUserCreateConflictField}from"../users-mutations.js";export const CreateUserForm=({onCreate})=>{const t=useTranslations("admin.user.create");const tError=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const formSchema=z.object({email:z.email({message:t("email.invalid")}).default(""),name:z.string({message:tError("field_required")}).min(3,t("name.min_length")).max(32,t("name.max_length")).default(""),password:z.string({message:tError("field_required")}).min(8,t("password.invalid")).default("")});const onSubmit=async(values,form)=>{const result=await onCreate(values);if("data"in result){setIsDirty?.(false);setOpen?.(false);toast.success(t("success",{name:result.data.name}));return}const field=result.error.status===409?adminUserCreateConflictField(result.error.message??""):null;if(field){form.setError(field,{message:t(`${field}.exists`),type:"manual"},{shouldFocus:true});return}toast.error(tError("title"),{description:tError("internal_server_error")})};return _jsx(AutoForm,{fields:[{component:props=>_jsx(AutoFormInput,{label:t("name.label"),...props}),id:"name"},{component:props=>_jsx(AutoFormInput,{label:t("email.label"),...props}),id:"email"},{component:props=>_jsx(AutoFormInput,{label:t("password.label"),type:"password",...props}),id:"password"}],formSchema:formSchema,mode:"all",onSubmit:onSubmit,submitButtonProps:{children:t("submit")}})};
@@ -1,3 +1,4 @@
1
+ import type { UniversalFetcher } from "../../../../../../lib/fetcher-client";
1
2
  import type { AdminTableContract, AdminTablePage, AdminTableParams, RawAdminTableParams } from "../../../../../../views/admin/table/params";
2
3
  import type { AdminIdentity } from "../../../../../../views/admin/views/core/shared/admin-scope";
3
4
  export declare const adminModuleRef: import("../../../../../../api/lib/module").BuildModuleReturn<"@vitnode/core", "admin", [import("../../../../../../api/lib/route").Route<"@vitnode/core", {
@@ -1881,6 +1882,7 @@ export type AdminUsersPage = AdminTablePage<AdminUserRow>;
1881
1882
  export type AdminUsersPageFetcher = (params: AdminUsersParams, options?: {
1882
1883
  signal?: AbortSignal;
1883
1884
  }) => Promise<AdminUsersPage>;
1885
+ export declare const adminUsersPageFetcher: (transport: UniversalFetcher) => AdminUsersPageFetcher;
1884
1886
  export declare const fetchAdminUsersPageInBrowser: AdminUsersPageFetcher;
1885
1887
  export declare const adminUsersQueryRoot: (adminUserId: AdminIdentity) => readonly ["vitnode", "admin", string, AdminIdentity];
1886
1888
  export declare const adminUsersQueryKey: ({ adminUserId, params, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"users-query.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/users-query.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAsCjF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kNAA4C,CAAC;AAGxE,eAAO,MAAM,oBAAoB,gCAAiC,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGtE,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAGX,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,iBAAiB,CAI1E,CAAC;AAWJ,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,iBAAiB,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C,CAAC;AAqBF,eAAO,MAAM,wBAAwB,GACnC,OAAO,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KAC1C,MAAM,GAAG,SAWX,CAAC;AASF,eAAO,MAAM,yBAAyB,GACpC,MAAK,mBAAwB,KAC5B,gBASF,CAAC;AASF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAWD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAS1D,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC/B,OAAO,CAAC,cAAc,CAAC,CAAC;AAY7B,eAAO,MAAM,4BAA4B,EAAE,qBAqB1C,CAAC;AAQF,eAAO,MAAM,mBAAmB,GAAI,aAAa,aAAa,yDACP,CAAC;AAExD,eAAO,MAAM,kBAAkB,GAAI,0BAGhC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,uEAAyE,CAAC;AAuB3E,eAAO,MAAM,sBAAsB,GAAI,qCAIpC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;;;;;;;CAOG,CAAC;AAOL,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAGhC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,oBAAoB,GAC/B,MAAM,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,KAClC,eAAe,EAMb,CAAC;AAaN,eAAO,MAAM,yBAAyB,EAAE,sBAoBrC,CAAC"}
1
+ {"version":3,"file":"users-query.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/users-query.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAgBjF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kNAA4C,CAAC;AAGxE,eAAO,MAAM,oBAAoB,gCAAiC,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGtE,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAGX,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,iBAAiB,CAI1E,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,iBAAiB,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C,CAAC;AASF,eAAO,MAAM,wBAAwB,GACnC,OAAO,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KAC1C,MAAM,GAAG,SAWX,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,MAAK,mBAAwB,KAC5B,gBASF,CAAC;AAGF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC/B,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,eAAO,MAAM,qBAAqB,GAC/B,WAAW,gBAAgB,KAAG,qBAmB9B,CAAC;AAEJ,eAAO,MAAM,4BAA4B,EAAE,qBACL,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAAI,aAAa,aAAa,yDACP,CAAC;AAExD,eAAO,MAAM,kBAAkB,GAAI,0BAGhC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,uEAAyE,CAAC;AAE3E,eAAO,MAAM,sBAAsB,GAAI,qCAIpC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;;;;;;;CAOG,CAAC;AAOL,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAGhC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,oBAAoB,GAC/B,MAAM,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,KAClC,eAAe,EAMb,CAAC;AAEN,eAAO,MAAM,yBAAyB,EAAE,sBAoBrC,CAAC"}
@@ -1 +1 @@
1
- import{queryOptions}from"@tanstack/react-query";import{fetcherClient}from"../../../../../../lib/fetcher-client.js";import{RECORD_STALE_TIME}from"../../../../../../lib/query-freshness.js";import{AdminRequestError,adminModuleRef as buildAdminModuleRef,describeAdminParams}from"../../../../admin-request.js";import{normalizeAdminTableParams}from"../../../../table/params.js";import{ADMIN_USERS_SCREEN,adminScopedQueryKey,adminScopedQueryRoot}from"../../shared/admin-scope.js";export const adminModuleRef=buildAdminModuleRef();export const ADMIN_USERS_ORDER_BY=["createdAt","name"];export const ADMIN_USERS_DEFAULT_ORDER={column:"createdAt",order:"desc"};export const ADMIN_USERS_TABLE_CONTRACT={orderBy:ADMIN_USERS_ORDER_BY,search:true};const readOne=value=>{if(Array.isArray(value))return value[0]??"";return value??""};export const normalizeAdminRoleFilter=value=>{const ids=[...new Set(readOne(value).split(",").map(part=>part.trim()).filter(part=>/^[1-9]\d*$/.test(part)))].sort((a,b)=>Number(a)-Number(b));return ids.length>0?ids.join(","):undefined};export const normalizeAdminUsersParams=(raw={})=>{const params=normalizeAdminTableParams(raw,ADMIN_USERS_TABLE_CONTRACT);const roleId=normalizeAdminRoleFilter(raw.roleId);if(roleId!==undefined)params.roleId=roleId;return params};export const fetchAdminUsersPageInBrowser=async(params,{signal}={})=>{const response=await fetcherClient(adminModuleRef,{args:{query:params},method:"get",module:"admin/users",options:{credentials:"include",signal},path:"/list"});if(!response.ok){throw new AdminRequestError(response.status,"the users list",describeAdminParams(params))}return await response.json()};export const adminUsersQueryRoot=adminUserId=>adminScopedQueryRoot(ADMIN_USERS_SCREEN,adminUserId);export const adminUsersQueryKey=({adminUserId,params})=>adminScopedQueryKey(ADMIN_USERS_SCREEN,adminUserId,"list",params);export const adminUsersQueryOptions=({adminUserId,fetchPage=fetchAdminUsersPageInBrowser,params})=>queryOptions({queryFn:async({signal})=>await fetchPage(params,{signal}),queryKey:adminUsersQueryKey({adminUserId,params}),retry:false,staleTime:RECORD_STALE_TIME});export const ADMIN_USER_SEARCH_LIMIT=20;export const adminUserOptionsFrom=page=>page.edges.map(({avatarColor,id,name,nameCode})=>({avatarColor,id,name,nameCode}));export const searchAdminUsersInBrowser=async search=>{try{const response=await fetcherClient(adminModuleRef,{args:{query:{first:String(ADMIN_USER_SEARCH_LIMIT),search}},method:"get",module:"admin/users",path:"/list",options:{credentials:"include"}});if(!response.ok)return[];return adminUserOptionsFrom(await response.json())}catch(error){console.error("[admin] the user search could not be read",error);return[]}};
1
+ import{queryOptions}from"@tanstack/react-query";import{fetcherClient}from"../../../../../../lib/fetcher-client.js";import{RECORD_STALE_TIME}from"../../../../../../lib/query-freshness.js";import{AdminRequestError,adminModuleRef as buildAdminModuleRef,describeAdminParams}from"../../../../admin-request.js";import{normalizeAdminTableParams}from"../../../../table/params.js";import{ADMIN_USERS_SCREEN,adminScopedQueryKey,adminScopedQueryRoot}from"../../shared/admin-scope.js";export const adminModuleRef=buildAdminModuleRef();export const ADMIN_USERS_ORDER_BY=["createdAt","name"];export const ADMIN_USERS_DEFAULT_ORDER={column:"createdAt",order:"desc"};export const ADMIN_USERS_TABLE_CONTRACT={orderBy:ADMIN_USERS_ORDER_BY,search:true};const readOne=value=>{if(Array.isArray(value))return value[0]??"";return value??""};export const normalizeAdminRoleFilter=value=>{const ids=[...new Set(readOne(value).split(",").map(part=>part.trim()).filter(part=>/^[1-9]\d*$/.test(part)))].sort((a,b)=>Number(a)-Number(b));return ids.length>0?ids.join(","):undefined};export const normalizeAdminUsersParams=(raw={})=>{const params=normalizeAdminTableParams(raw,ADMIN_USERS_TABLE_CONTRACT);const roleId=normalizeAdminRoleFilter(raw.roleId);if(roleId!==undefined)params.roleId=roleId;return params};export const adminUsersPageFetcher=transport=>async(params,{signal}={})=>{const response=await transport(adminModuleRef,{args:{query:params},method:"get",module:"admin/users",options:{signal},path:"/list"});if(!response.ok){throw new AdminRequestError(response.status,"the users list",describeAdminParams(params))}return await response.json()};export const fetchAdminUsersPageInBrowser=adminUsersPageFetcher(fetcherClient);export const adminUsersQueryRoot=adminUserId=>adminScopedQueryRoot(ADMIN_USERS_SCREEN,adminUserId);export const adminUsersQueryKey=({adminUserId,params})=>adminScopedQueryKey(ADMIN_USERS_SCREEN,adminUserId,"list",params);export const adminUsersQueryOptions=({adminUserId,fetchPage=fetchAdminUsersPageInBrowser,params})=>queryOptions({queryFn:async({signal})=>await fetchPage(params,{signal}),queryKey:adminUsersQueryKey({adminUserId,params}),retry:false,staleTime:RECORD_STALE_TIME});export const ADMIN_USER_SEARCH_LIMIT=20;export const adminUserOptionsFrom=page=>page.edges.map(({avatarColor,id,name,nameCode})=>({avatarColor,id,name,nameCode}));export const searchAdminUsersInBrowser=async search=>{try{const response=await fetcherClient(adminModuleRef,{args:{query:{first:String(ADMIN_USER_SEARCH_LIMIT),search}},method:"get",module:"admin/users",path:"/list",options:{credentials:"include"}});if(!response.ok)return[];return adminUserOptionsFrom(await response.json())}catch(error){console.error("[admin] the user search could not be read",error);return[]}};
@@ -1 +1 @@
1
- {"version":3,"file":"users-table-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/users-table-content.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAWhE,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,eAAe,CAAC;AA4BlE,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,MAAM,KACP,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,eAAe,CAAC;CAC9B;AAmGD,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,oBAAoB,sBA0HtB,CAAC"}
1
+ {"version":3,"file":"users-table-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/list/users-table-content.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAWhE,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,eAAe,CAAC;AAKlE,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,MAAM,KACP,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,eAAe,CAAC;CAC9B;AAyFD,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,oBAAoB,sBA0HtB,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckIcon,MailIcon,PenIcon,UserSearchIcon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useTranslations}from"use-intl";import{Avatar}from"../../../../../../components/avatar.js";import{DateFormat}from"../../../../../../components/date-format.js";import{RoleFormatContent}from"../../../../../../components/role-format-content.js";import{useAdminStaffPermission}from"../../../../../../components/staff-permission/provider.js";import{ContentDataTable}from"../../../../../../components/table/content.js";import{Button,buttonVariants}from"../../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";import{ADMIN_USER_PERMISSIONS}from"../../shared/admin-permissions.js";import{ADMIN_USERS_DEFAULT_ORDER}from"./users-query.js";const UserRowActions=({LinkComponent,onVerifyEmail,row})=>{const t=useTranslations("admin.user.list");const canEdit=useAdminStaffPermission(ADMIN_USER_PERMISSIONS.edit);if(!canEdit)return null;return _jsxs(_Fragment,{children:[_jsx(VerifyEmailButton,{emailVerified:row.emailVerified,id:row.id,onVerifyEmail:onVerifyEmail}),_jsx(TooltipWithContent,{text:t("edit"),children:_jsx(LinkComponent,{className:buttonVariants({variant:"ghost"}),href:`/admin/core/users/${row.id}`,children:_jsx(PenIcon,{})})})]})};const VerifyEmailButton=({emailVerified,id,onVerifyEmail})=>{const t=useTranslations("admin.user.verify_email");const tError=useTranslations("core.global.errors");const[isPending,startTransition]=React.useTransition();if(emailVerified)return null;return _jsx(TooltipWithContent,{text:t("label"),children:_jsx(Button,{"aria-label":t("label"),isLoading:isPending,onClick:()=>{startTransition(async()=>{const result=await onVerifyEmail(id);if(result.error){toast.error(tError("title"),{description:tError("internal_server_error")});return}toast.success(t("success"),{description:result.name})})},size:"icon",type:"button",children:_jsx(CheckIcon,{})})})};export const UsersAdminTableContent=({data,LinkComponent,onVerifyEmail,searchRoles})=>{const t=useTranslations("admin.user.list");const onSearchRoles=React.useCallback(async search=>(await searchRoles(search)).map(role=>({keywords:role.name.map(item=>item.name),label:_jsx(RoleFormatContent,{role:role}),value:String(role.id)})),[searchRoles]);return _jsx(ContentDataTable,{columns:[{accessorKey:"name",cell:({row})=>_jsxs("div",{className:"flex items-center gap-3",children:[_jsx(Avatar,{size:32,user:row}),_jsxs("div",{className:"flex flex-col",children:[_jsx("span",{className:"font-medium",children:row.name}),_jsxs("span",{className:"text-muted-foreground text-sm",children:["@",row.nameCode]})]})]}),header:t("user")},{accessorKey:"email",cell:({row})=>{if(row.emailVerified){return _jsx("span",{children:row.email})}return _jsxs("div",{className:"flex items-center gap-2",children:[_jsx(TooltipWithContent,{text:t("emailNotVerified"),children:_jsx(MailIcon,{className:"text-destructive size-4"})}),_jsx("span",{className:"text-muted-foreground italic",children:row.email})]})},header:t("email")},{accessorKey:"roleId",cell:({row})=>_jsxs("div",{className:"flex flex-col items-start gap-1",children:[_jsx(RoleFormatContent,{role:row.role}),row.secondaryRoles.length>0&&_jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-x-2 gap-y-0.5 text-sm",children:[row.secondaryRoles.slice(0,3).map(role=>_jsx(RoleFormatContent,{role:role},role.id)),row.secondaryRoles.length>3&&_jsxs("span",{children:["+",row.secondaryRoles.length-3]})]})]}),header:t("roles")},{accessorKey:"createdAt",cell:({row})=>_jsx(DateFormat,{date:row.createdAt}),header:t("createdAt")},{align:"right",cell:({row})=>_jsx(UserRowActions,{LinkComponent:LinkComponent,onVerifyEmail:onVerifyEmail,row:row}),className:"w-10",header:"",id:"actions"}],customNoResults:{description:t("noResults.description"),icon:_jsx(UserSearchIcon,{}),title:t("noResults.title")},edges:data.edges,filters:[{id:"roleId",label:t("roles"),onSearch:onSearchRoles}],id:"users-table",order:{columns:["createdAt","name"],defaultOrder:ADMIN_USERS_DEFAULT_ORDER},pageInfo:data.pageInfo,search:true,searchPlaceholder:t("searchPlaceholder")})};
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckIcon,MailIcon,PenIcon,UserSearchIcon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useTranslations}from"use-intl";import{Avatar}from"../../../../../../components/avatar.js";import{DateFormat}from"../../../../../../components/date-format.js";import{RoleFormatContent}from"../../../../../../components/role-format-content.js";import{useAdminStaffPermission}from"../../../../../../components/staff-permission/provider.js";import{ContentDataTable}from"../../../../../../components/table/content.js";import{Button,buttonVariants}from"../../../../../../components/ui/button.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";import{ADMIN_USER_PERMISSIONS}from"../../shared/admin-permissions.js";import{ADMIN_USERS_DEFAULT_ORDER}from"./users-query.js";const UserRowActions=({LinkComponent,onVerifyEmail,row})=>{const t=useTranslations("admin.user.list");const canEdit=useAdminStaffPermission(ADMIN_USER_PERMISSIONS.edit);if(!canEdit)return null;return _jsxs(_Fragment,{children:[_jsx(VerifyEmailButton,{emailVerified:row.emailVerified,id:row.id,onVerifyEmail:onVerifyEmail}),_jsx(TooltipWithContent,{text:t("edit"),children:_jsx(LinkComponent,{className:buttonVariants({variant:"ghost"}),href:`/admin/core/users/${row.id}`,children:_jsx(PenIcon,{})})})]})};const VerifyEmailButton=({emailVerified,id,onVerifyEmail})=>{const t=useTranslations("admin.user.verify_email");const tError=useTranslations("core.global.errors");const[isPending,startTransition]=React.useTransition();if(emailVerified)return null;return _jsx(TooltipWithContent,{text:t("label"),children:_jsx(Button,{"aria-label":t("label"),isLoading:isPending,onClick:()=>{startTransition(async()=>{const result=await onVerifyEmail(id);if(result.error){toast.error(tError("title"),{description:tError("internal_server_error")});return}toast.success(t("success"),{description:result.name})})},size:"icon",type:"button",children:_jsx(CheckIcon,{})})})};export const UsersAdminTableContent=({data,LinkComponent,onVerifyEmail,searchRoles})=>{const t=useTranslations("admin.user.list");const onSearchRoles=React.useCallback(async search=>(await searchRoles(search)).map(role=>({keywords:role.name.map(item=>item.name),label:_jsx(RoleFormatContent,{role:role}),value:String(role.id)})),[searchRoles]);return _jsx(ContentDataTable,{columns:[{accessorKey:"name",cell:({row})=>_jsxs("div",{className:"flex items-center gap-3",children:[_jsx(Avatar,{size:32,user:row}),_jsxs("div",{className:"flex flex-col",children:[_jsx("span",{className:"font-medium",children:row.name}),_jsxs("span",{className:"text-muted-foreground text-sm",children:["@",row.nameCode]})]})]}),header:t("user")},{accessorKey:"email",cell:({row})=>{if(row.emailVerified){return _jsx("span",{children:row.email})}return _jsxs("div",{className:"flex items-center gap-2",children:[_jsx(TooltipWithContent,{text:t("emailNotVerified"),children:_jsx(MailIcon,{className:"text-destructive size-4"})}),_jsx("span",{className:"text-muted-foreground italic",children:row.email})]})},header:t("email")},{accessorKey:"roleId",cell:({row})=>_jsxs("div",{className:"flex flex-col items-start gap-1",children:[_jsx(RoleFormatContent,{role:row.role}),row.secondaryRoles.length>0&&_jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-x-2 gap-y-0.5 text-sm",children:[row.secondaryRoles.slice(0,3).map(role=>_jsx(RoleFormatContent,{role:role},role.id)),row.secondaryRoles.length>3&&_jsxs("span",{children:["+",row.secondaryRoles.length-3]})]})]}),header:t("roles")},{accessorKey:"createdAt",cell:({row})=>_jsx(DateFormat,{date:row.createdAt}),header:t("createdAt")},{align:"right",cell:({row})=>_jsx(UserRowActions,{LinkComponent:LinkComponent,onVerifyEmail:onVerifyEmail,row:row}),className:"w-10",header:"",id:"actions"}],customNoResults:{description:t("noResults.description"),icon:_jsx(UserSearchIcon,{}),title:t("noResults.title")},edges:data.edges,filters:[{id:"roleId",label:t("roles"),onSearch:onSearchRoles}],id:"users-table",order:{columns:["createdAt","name"],defaultOrder:ADMIN_USERS_DEFAULT_ORDER},pageInfo:data.pageInfo,search:true,searchPlaceholder:t("searchPlaceholder")})};
@@ -1 +1 @@
1
- {"version":3,"file":"role-form-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/role-form-content.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AA4B1F,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;CAChC;AAGD,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB,MAAM,EAAE,CAAC,IAAI,EAAE;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,mBAAmB,CAAC;KAC7B,KAAK,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,GAAI,4BAIlC,kBAAkB,gCAyHpB,CAAC"}
1
+ {"version":3,"file":"role-form-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/role-form-content.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAW1F,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;CAChC;AAGD,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB,MAAM,EAAE,CAAC,IAAI,EAAE;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,mBAAmB,CAAC;KAC7B,KAAK,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,GAAI,4BAIlC,kBAAkB,gCAyHpB,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx}from"react/jsx-runtime";import{toast}from"sonner";import{useTranslations}from"use-intl";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormColor}from"../../../../../../components/form/fields/color.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{AutoFormNullableNumber}from"../../../../../../components/form/fields/nullable-number.js";import{AutoFormSwitch}from"../../../../../../components/form/fields/switch.js";import{useDialog}from"../../../../../../components/ui/dialog.js";import{multiLangValueSchema}from"../../../../../../lib/helpers/multi-lang.js";export const AdminRoleFormContent=({data,onSave,onSaved})=>{const t=useTranslations("admin.role");const tCore=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const formSchema=z.object({allowUploadFiles:z.boolean().default(data?.allowUploadFiles??false),color:z.string().max(50).default(data?.color??""),maxStorageForSubmit:z.number().int().min(0).nullable().default(data?.maxStorageForSubmit??null).describe(t("form.upload.max_storage_for_submit_desc")),name:multiLangValueSchema({maxLength:255,minLength:1}).min(1).default(data?.name.map(item=>({languageCode:item.languageCode,value:item.name}))??[]),totalMaxStorage:z.number().int().min(0).nullable().default(data?.totalMaxStorage??null)});const onSubmit=async values=>{const result=await onSave({id:data?.id,values});if("error"in result){toast.error(tCore("title"),{description:tCore("internal_server_error")});return}toast.success(t(data?"edit.success":"create.success"));setIsDirty?.(false);setOpen?.(false);onSaved?.()};return _jsx(AutoForm,{fields:[{component:props=>_jsx(AutoFormInput,{label:t("form.name"),multiLang:true,...props}),id:"name",tab:"general"},{component:props=>_jsx(AutoFormColor,{allowRemoveColor:true,label:t("form.color"),...props}),id:"color",tab:"general"},{component:props=>_jsx(AutoFormSwitch,{label:t("form.upload.allow"),...props}),id:"allowUploadFiles",tab:"content"},{component:props=>_jsx(AutoFormNullableNumber,{label:t("form.upload.total_max_storage"),min:0,orLabel:t("form.upload.or"),toggleLabel:t("form.upload.unlimited"),unitLabel:t("form.upload.in_unit"),...props}),hidden:values=>!values.allowUploadFiles,id:"totalMaxStorage",tab:"content"},{component:props=>_jsx(AutoFormNullableNumber,{label:t("form.upload.max_storage_for_submit"),min:0,orLabel:t("form.upload.or"),toggleLabel:t("form.upload.unlimited"),unitLabel:t("form.upload.in_unit"),...props}),hidden:values=>!values.allowUploadFiles,id:"maxStorageForSubmit",tab:"content"}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{children:t(`${data?"edit":"create"}.submit`)},tabs:[{label:t("tabs.general"),value:"general"},{label:t("tabs.content"),value:"content"}]})};
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{toast}from"sonner";import{useTranslations}from"use-intl";import{z}from"zod";import{AutoForm}from"../../../../../../components/form/auto-form.js";import{AutoFormColor}from"../../../../../../components/form/fields/color.js";import{AutoFormInput}from"../../../../../../components/form/fields/input.js";import{AutoFormNullableNumber}from"../../../../../../components/form/fields/nullable-number.js";import{AutoFormSwitch}from"../../../../../../components/form/fields/switch.js";import{useDialog}from"../../../../../../components/ui/dialog.js";import{multiLangValueSchema}from"../../../../../../lib/helpers/multi-lang.js";export const AdminRoleFormContent=({data,onSave,onSaved})=>{const t=useTranslations("admin.role");const tCore=useTranslations("core.global.errors");const{setIsDirty,setOpen}=useDialog();const formSchema=z.object({allowUploadFiles:z.boolean().default(data?.allowUploadFiles??false),color:z.string().max(50).default(data?.color??""),maxStorageForSubmit:z.number().int().min(0).nullable().default(data?.maxStorageForSubmit??null).describe(t("form.upload.max_storage_for_submit_desc")),name:multiLangValueSchema({maxLength:255,minLength:1}).min(1).default(data?.name.map(item=>({languageCode:item.languageCode,value:item.name}))??[]),totalMaxStorage:z.number().int().min(0).nullable().default(data?.totalMaxStorage??null)});const onSubmit=async values=>{const result=await onSave({id:data?.id,values});if("error"in result){toast.error(tCore("title"),{description:tCore("internal_server_error")});return}toast.success(t(data?"edit.success":"create.success"));setIsDirty?.(false);setOpen?.(false);onSaved?.()};return _jsx(AutoForm,{fields:[{component:props=>_jsx(AutoFormInput,{label:t("form.name"),multiLang:true,...props}),id:"name",tab:"general"},{component:props=>_jsx(AutoFormColor,{allowRemoveColor:true,label:t("form.color"),...props}),id:"color",tab:"general"},{component:props=>_jsx(AutoFormSwitch,{label:t("form.upload.allow"),...props}),id:"allowUploadFiles",tab:"content"},{component:props=>_jsx(AutoFormNullableNumber,{label:t("form.upload.total_max_storage"),min:0,orLabel:t("form.upload.or"),toggleLabel:t("form.upload.unlimited"),unitLabel:t("form.upload.in_unit"),...props}),hidden:values=>!values.allowUploadFiles,id:"totalMaxStorage",tab:"content"},{component:props=>_jsx(AutoFormNullableNumber,{label:t("form.upload.max_storage_for_submit"),min:0,orLabel:t("form.upload.or"),toggleLabel:t("form.upload.unlimited"),unitLabel:t("form.upload.in_unit"),...props}),hidden:values=>!values.allowUploadFiles,id:"maxStorageForSubmit",tab:"content"}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{children:t(`${data?"edit":"create"}.submit`)},tabs:[{label:t("tabs.general"),value:"general"},{label:t("tabs.content"),value:"content"}]})};
@@ -1 +1 @@
1
- {"version":3,"file":"roles-mutations.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/roles-mutations.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,gDAAgD,CAAC;AAGxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,GAC1B,MAAM,cAAc,KACnB,OAAO,CAAC,mBAAmB,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAY1C,CAAC;AAEL,eAAO,MAAM,eAAe,GAC1B,IAAI,MAAM,EACV,MAAM,cAAc,KACnB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAYhC,CAAC;AAYL,eAAO,MAAM,mBAAmB,GAAI,uBAGjC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;CAIC,CAAC;AAEH,eAAO,MAAM,eAAe,GAAU,MAAM;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAYjC,CAAC"}
1
+ {"version":3,"file":"roles-mutations.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/roles-mutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,gDAAgD,CAAC;AAGxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,GAC1B,MAAM,cAAc,KACnB,OAAO,CAAC,mBAAmB,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAY1C,CAAC;AAEL,eAAO,MAAM,eAAe,GAC1B,IAAI,MAAM,EACV,MAAM,cAAc,KACnB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAYhC,CAAC;AAEL,eAAO,MAAM,mBAAmB,GAAI,uBAGjC;IACD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;CAIC,CAAC;AAEH,eAAO,MAAM,eAAe,GAAU,MAAM;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAYjC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { UniversalFetcher } from "../../../../../../lib/fetcher-client";
1
2
  import type { AdminTableContract, AdminTablePage, AdminTableParams, RawAdminTableParams } from "../../../../../../views/admin/table/params";
2
3
  import type { AdminIdentity } from "../../../../../../views/admin/views/core/shared/admin-scope";
3
4
  export declare const ADMIN_ROLES_ORDER_BY: readonly ["id", "createdAt", "updatedAt"];
@@ -31,6 +32,7 @@ export interface AdminRoleRow {
31
32
  }
32
33
  export type AdminRolesPage = AdminTablePage<AdminRoleRow>;
33
34
  export type AdminRolesPageFetcher = (params: AdminRolesParams) => Promise<AdminRolesPage>;
35
+ export declare const adminRolesPageFetcher: (transport: UniversalFetcher) => AdminRolesPageFetcher;
34
36
  export declare const fetchAdminRolesPageInBrowser: AdminRolesPageFetcher;
35
37
  export declare const adminRolesQueryRoot: (adminUserId: AdminIdentity) => readonly ["vitnode", "admin", string, AdminIdentity];
36
38
  export declare const adminRolesQueryKey: ({ adminUserId, params, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"roles-query.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/roles-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AA6CjF,eAAO,MAAM,oBAAoB,2CAA4C,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAGX,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,iBAAiB,CAI1E,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAEnE,eAAO,MAAM,yBAAyB,GACpC,MAAK,mBAAwB,KAC5B,gBACyD,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IAEjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,eAAO,MAAM,4BAA4B,EAAE,qBAmBxC,CAAC;AAEJ,eAAO,MAAM,mBAAmB,GAAI,aAAa,aAAa,yDACP,CAAC;AAExD,eAAO,MAAM,kBAAkB,GAAI,0BAGhC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,uEAAyE,CAAC;AAE3E,eAAO,MAAM,sBAAsB,GAAI,qCAIpC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;;;;;;;CAOG,CAAC;AAaL,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAGD,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAY7E,eAAO,MAAM,oBAAoB,GAC/B,MAAM,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,KAClC,eAAe,EAGsC,CAAC;AAYzD,eAAO,MAAM,yBAAyB,EAAE,eAmBvC,CAAC"}
1
+ {"version":3,"file":"roles-query.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/roles-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAiBjF,eAAO,MAAM,oBAAoB,2CAA4C,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAGX,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,iBAAiB,CAI1E,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAEnE,eAAO,MAAM,yBAAyB,GACpC,MAAK,mBAAwB,KAC5B,gBACyD,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IAEjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,eAAO,MAAM,qBAAqB,GAC/B,WAAW,gBAAgB,KAAG,qBAkB9B,CAAC;AAEJ,eAAO,MAAM,4BAA4B,EAAE,qBACL,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAAI,aAAa,aAAa,yDACP,CAAC;AAExD,eAAO,MAAM,kBAAkB,GAAI,0BAGhC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,uEAAyE,CAAC;AAE3E,eAAO,MAAM,sBAAsB,GAAI,qCAIpC;IACD,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;;;;;;;CAOG,CAAC;AAML,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAGD,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAE7E,eAAO,MAAM,oBAAoB,GAC/B,MAAM,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,KAClC,eAAe,EAGsC,CAAC;AAEzD,eAAO,MAAM,yBAAyB,EAAE,eAmBvC,CAAC"}
@@ -1 +1 @@
1
- import{queryOptions}from"@tanstack/react-query";import{fetcherClient}from"../../../../../../lib/fetcher-client.js";import{RECORD_STALE_TIME}from"../../../../../../lib/query-freshness.js";import{AdminRequestError,describeAdminParams}from"../../../../admin-request.js";import{normalizeAdminTableParams}from"../../../../table/params.js";import{ADMIN_ROLES_SCREEN,adminScopedQueryKey,adminScopedQueryRoot}from"../../shared/admin-scope.js";import{adminModuleRef}from"../list/users-query.js";export const ADMIN_ROLES_ORDER_BY=["id","createdAt","updatedAt"];export const ADMIN_ROLES_DEFAULT_ORDER={column:"updatedAt",order:"desc"};export const ADMIN_ROLE_SEARCH_LIMIT=20;export const ADMIN_ROLES_TABLE_CONTRACT={orderBy:ADMIN_ROLES_ORDER_BY,search:true};export const normalizeAdminRolesParams=(raw={})=>normalizeAdminTableParams(raw,ADMIN_ROLES_TABLE_CONTRACT);export const fetchAdminRolesPageInBrowser=async params=>{const response=await fetcherClient(adminModuleRef,{args:{query:params},method:"get",module:"admin/roles",path:"/list",options:{credentials:"include"}});if(!response.ok){throw new AdminRequestError(response.status,"the roles list",describeAdminParams(params))}return await response.json()};export const adminRolesQueryRoot=adminUserId=>adminScopedQueryRoot(ADMIN_ROLES_SCREEN,adminUserId);export const adminRolesQueryKey=({adminUserId,params})=>adminScopedQueryKey(ADMIN_ROLES_SCREEN,adminUserId,"list",params);export const adminRolesQueryOptions=({adminUserId,fetchPage=fetchAdminRolesPageInBrowser,params})=>queryOptions({queryFn:async()=>await fetchPage(params),queryKey:adminRolesQueryKey({adminUserId,params}),retry:false,staleTime:RECORD_STALE_TIME});export const adminRoleOptionsFrom=page=>page.edges.filter(role=>!role.guest).map(({color,id,name})=>({color,id,name}));export const searchAdminRolesInBrowser=async search=>{try{const response=await fetcherClient(adminModuleRef,{args:{query:{first:String(ADMIN_ROLE_SEARCH_LIMIT),search}},method:"get",module:"admin/roles",path:"/list",options:{credentials:"include"}});if(!response.ok)return[];return adminRoleOptionsFrom(await response.json())}catch(error){console.error("[admin] the role search could not be read",error);return[]}};
1
+ import{queryOptions}from"@tanstack/react-query";import{fetcherClient}from"../../../../../../lib/fetcher-client.js";import{RECORD_STALE_TIME}from"../../../../../../lib/query-freshness.js";import{AdminRequestError,describeAdminParams}from"../../../../admin-request.js";import{normalizeAdminTableParams}from"../../../../table/params.js";import{ADMIN_ROLES_SCREEN,adminScopedQueryKey,adminScopedQueryRoot}from"../../shared/admin-scope.js";import{adminModuleRef}from"../list/users-query.js";export const ADMIN_ROLES_ORDER_BY=["id","createdAt","updatedAt"];export const ADMIN_ROLES_DEFAULT_ORDER={column:"updatedAt",order:"desc"};export const ADMIN_ROLE_SEARCH_LIMIT=20;export const ADMIN_ROLES_TABLE_CONTRACT={orderBy:ADMIN_ROLES_ORDER_BY,search:true};export const normalizeAdminRolesParams=(raw={})=>normalizeAdminTableParams(raw,ADMIN_ROLES_TABLE_CONTRACT);export const adminRolesPageFetcher=transport=>async params=>{const response=await transport(adminModuleRef,{args:{query:params},method:"get",module:"admin/roles",path:"/list"});if(!response.ok){throw new AdminRequestError(response.status,"the roles list",describeAdminParams(params))}return await response.json()};export const fetchAdminRolesPageInBrowser=adminRolesPageFetcher(fetcherClient);export const adminRolesQueryRoot=adminUserId=>adminScopedQueryRoot(ADMIN_ROLES_SCREEN,adminUserId);export const adminRolesQueryKey=({adminUserId,params})=>adminScopedQueryKey(ADMIN_ROLES_SCREEN,adminUserId,"list",params);export const adminRolesQueryOptions=({adminUserId,fetchPage=fetchAdminRolesPageInBrowser,params})=>queryOptions({queryFn:async()=>await fetchPage(params),queryKey:adminRolesQueryKey({adminUserId,params}),retry:false,staleTime:RECORD_STALE_TIME});export const adminRoleOptionsFrom=page=>page.edges.filter(role=>!role.guest).map(({color,id,name})=>({color,id,name}));export const searchAdminRolesInBrowser=async search=>{try{const response=await fetcherClient(adminModuleRef,{args:{query:{first:String(ADMIN_ROLE_SEARCH_LIMIT),search}},method:"get",module:"admin/roles",path:"/list",options:{credentials:"include"}});if(!response.ok)return[];return adminRoleOptionsFrom(await response.json())}catch(error){console.error("[admin] the role search could not be read",error);return[]}};
@@ -1 +1 @@
1
- {"version":3,"file":"roles-table-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/roles-table-content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA6ChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAGV,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AAwBvB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,KAAK,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,eAAe,CAAC;CAC9B;AA0TD,eAAO,MAAM,gBAAgB,GAAI,sBAG9B;IACD,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,sBAsBA,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,kEAOpC,oBAAoB,sBAoEtB,CAAC"}
1
+ {"version":3,"file":"roles-table-content.d.ts","sourceRoot":"","sources":["../../../../../../../../src/views/admin/views/core/users/roles/roles-table-content.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA6ChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAGV,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AAUvB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,KAAK,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAoSD,eAAO,MAAM,gBAAgB,GAAI,sBAG9B;IACD,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,sBAsBA,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,kEAOpC,oBAAoB,sBAoEtB,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ChevronsUpDownIcon,ExternalLink,PencilIcon,PlusIcon,ShieldIcon,Trash2Icon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useDebouncedCallback}from"use-debounce";import{useLocale,useTranslations}from"use-intl";import{DateFormat}from"../../../../../../components/date-format.js";import{RoleFormatContent}from"../../../../../../components/role-format-content.js";import{resolveRoleName}from"../../../../../../components/role-name.js";import{useAdminStaffPermission}from"../../../../../../components/staff-permission/provider.js";import{ContentDataTable}from"../../../../../../components/table/content.js";import{AlertDialog,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogTitle,AlertDialogTrigger}from"../../../../../../components/ui/alert-dialog.js";import{Button}from"../../../../../../components/ui/button.js";import{Command,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList}from"../../../../../../components/ui/command.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../components/ui/loader.js";import{Popover,PopoverContent,PopoverTrigger}from"../../../../../../components/ui/popover.js";import{Spinner}from"../../../../../../components/ui/spinner.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";import{cn}from"../../../../../../lib/utils.js";import{ADMIN_ROLE_PERMISSIONS}from"../../shared/admin-permissions.js";import{ADMIN_ROLES_DEFAULT_ORDER}from"./roles-query.js";const AdminRoleFormContent=React.lazy(async()=>import("./role-form-content.js").then(module=>({default:module.AdminRoleFormContent})));const MoveRolePicker=({excludeId,onSelect,searchRoles,value})=>{const t=useTranslations("core.global");const tRole=useTranslations("admin.role.delete");const[open,setOpen]=React.useState(false);const[options,setOptions]=React.useState([]);const[isSearching,setIsSearching]=React.useState(false);const runSearch=React.useCallback(async search=>{setIsSearching(true);try{setOptions(await searchRoles(search))}finally{setIsSearching(false)}},[searchRoles]);const debouncedSearch=useDebouncedCallback(runSearch,400);const visibleOptions=options.filter(option=>option.id!==excludeId);return _jsxs(Popover,{onOpenChange:next=>{setOpen(next);if(next){setOptions([]);void runSearch("")}},open:open,children:[_jsxs(PopoverTrigger,{render:_jsx(Button,{className:"w-full justify-start font-normal",variant:"outline"}),children:[value?_jsx(RoleFormatContent,{className:"truncate",role:value}):_jsx("span",{className:"text-muted-foreground",children:tRole("selectRole")}),_jsx(ChevronsUpDownIcon,{className:"ms-auto opacity-50"})]}),_jsx(PopoverContent,{align:"start",className:"w-(--anchor-width) min-w-56 p-0",children:_jsxs(Command,{shouldFilter:false,children:[_jsx(CommandInput,{onValueChange:debouncedSearch,placeholder:t("search_placeholder")}),_jsx(CommandList,{children:isSearching&&visibleOptions.length===0?_jsx("div",{className:"flex items-center justify-center py-6",children:_jsx(Spinner,{})}):_jsxs(_Fragment,{children:[_jsx(CommandEmpty,{children:t("results_not_found")}),_jsx(CommandGroup,{children:visibleOptions.map(role=>_jsxs(CommandItem,{onSelect:()=>{onSelect(role);setOpen(false)},value:String(role.id),children:[_jsx("span",{className:cn("size-4 shrink-0 rounded-full border",value?.id===role.id?"bg-primary border-primary":"border-input")}),_jsx(RoleFormatContent,{className:"truncate",role:role})]},role.id))})]})})]})})]})};const DeleteRoleAction=({onDelete,onSaved,role,searchRoles})=>{const t=useTranslations("admin.role.delete");const tError=useTranslations("core.global.errors");const locale=useLocale();const[open,setOpen]=React.useState(false);const[target,setTarget]=React.useState(null);const[isPending,startTransition]=React.useTransition();const hasUsers=role.usersCount>0;const roleName=resolveRoleName(role,locale);const canSubmit=!hasUsers||target!=null;const onConfirm=()=>{if(!canSubmit)return;startTransition(async()=>{const result=await onDelete({id:role.id,moveToRoleId:hasUsers?target?.id:undefined});if("error"in result){toast.error(tError("title"),{description:tError("internal_server_error")});return}toast.success(t("success"),{description:hasUsers&&target?t("successDescMoved",{count:role.usersCount,name:resolveRoleName(target,locale)}):t("successDesc")});setOpen(false);onSaved?.()})};return _jsxs(AlertDialog,{onOpenChange:setOpen,open:open,children:[_jsx(TooltipWithContent,{text:t("title"),children:_jsx(AlertDialogTrigger,{render:_jsx(Button,{"aria-label":t("title"),size:"icon",variant:"destructive"}),children:_jsx(Trash2Icon,{})})}),_jsxs(AlertDialogContent,{children:[_jsxs(AlertDialogHeader,{children:[_jsx(AlertDialogTitle,{children:t("title")}),_jsx(AlertDialogDescription,{children:hasUsers?t("descWithUsers",{count:role.usersCount,name:roleName}):t("desc",{name:roleName})})]}),hasUsers&&_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("moveToLabel")}),_jsx(MoveRolePicker,{excludeId:role.id,onSelect:setTarget,searchRoles:searchRoles,value:target})]}),_jsxs(AlertDialogFooter,{children:[_jsx(AlertDialogCancel,{children:t("cancel")}),_jsx(Button,{disabled:!canSubmit,isLoading:isPending,onClick:onConfirm,type:"button",variant:"destructive",children:t("confirm")})]})]})]})};const EditRoleAction=({onSave,onSaved,role})=>{const t=useTranslations("admin.role.edit");return _jsxs(Dialog,{children:[_jsx(TooltipWithContent,{text:t("title"),children:_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("title"),size:"icon",variant:"ghost"}),children:_jsx(PencilIcon,{})})}),_jsxs(DialogContent,{children:[_jsx(DialogHeader,{children:_jsx(DialogTitle,{children:t("title")})}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(AdminRoleFormContent,{data:role,onSave:onSave,onSaved:onSaved})})]})]})};const RoleRowActions=({onDelete,onSave,onSaved,role,searchRoles})=>{const canEdit=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.edit);const canEditAdmin=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.editAdmin);const canDelete=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.delete);const canDeleteAdmin=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.deleteAdmin);const isSystem=role.protected||role.default||role.root||role.guest;const showEdit=canEdit&&(!role.grantsAdmin||canEditAdmin);const showDelete=canDelete&&!isSystem&&(!role.grantsAdmin||canDeleteAdmin);if(!showEdit&&!showDelete)return null;return _jsxs("div",{className:"flex items-center justify-end gap-1",children:[showEdit&&_jsx(EditRoleAction,{onSave:onSave,onSaved:onSaved,role:role}),showDelete&&_jsx(DeleteRoleAction,{onDelete:onDelete,onSaved:onSaved,role:role,searchRoles:searchRoles})]})};export const CreateRoleAction=({onSave,onSaved})=>{const t=useTranslations("admin.role.create");return _jsxs(Dialog,{children:[_jsxs(DialogTrigger,{render:_jsx(Button,{}),children:[_jsx(PlusIcon,{}),t("title")]}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsx(DialogTitle,{children:t("title")}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(AdminRoleFormContent,{onSave:onSave,onSaved:onSaved})})]})]})};export const RolesAdminTableContent=({data,LinkComponent,onDelete,onSave,onSaved,searchRoles})=>{const t=useTranslations("admin.role.list");return _jsx(ContentDataTable,{columns:[{accessorKey:"name",cell:({row})=>_jsx(RoleFormatContent,{role:row}),header:t("role")},{accessorKey:"usersCount",cell:({row})=>{if(row.usersCount===0){return _jsx("span",{className:"text-muted-foreground",children:"0"})}return _jsx(TooltipWithContent,{text:t("openUsersTooltip"),children:_jsxs(LinkComponent,{className:"text-primary inline-flex items-center gap-2",href:`/admin/core/users?roleId=${row.id}`,children:[row.usersCount," ",_jsx(ExternalLink,{className:"size-4"})]})})},header:t("usersCount")},{accessorKey:"updatedAt",cell:({row})=>_jsx(DateFormat,{date:row.updatedAt}),header:t("updatedAt")},{align:"right",cell:({row})=>_jsx(RoleRowActions,{onDelete:onDelete,onSave:onSave,onSaved:onSaved,role:row,searchRoles:searchRoles}),className:"w-20",header:"",id:"actions"}],customNoResults:{description:t("noResults.description"),icon:_jsx(ShieldIcon,{}),title:t("noResults.title")},edges:data.edges,id:"roles-table",order:{columns:["updatedAt"],defaultOrder:ADMIN_ROLES_DEFAULT_ORDER},pageInfo:data.pageInfo,search:true,searchPlaceholder:t("searchPlaceholder")})};
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ChevronsUpDownIcon,ExternalLink,PencilIcon,PlusIcon,ShieldIcon,Trash2Icon}from"lucide-react";import React from"react";import{toast}from"sonner";import{useDebouncedCallback}from"use-debounce";import{useLocale,useTranslations}from"use-intl";import{DateFormat}from"../../../../../../components/date-format.js";import{RoleFormatContent}from"../../../../../../components/role-format-content.js";import{resolveRoleName}from"../../../../../../components/role-name.js";import{useAdminStaffPermission}from"../../../../../../components/staff-permission/provider.js";import{ContentDataTable}from"../../../../../../components/table/content.js";import{AlertDialog,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogTitle,AlertDialogTrigger}from"../../../../../../components/ui/alert-dialog.js";import{Button}from"../../../../../../components/ui/button.js";import{Command,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList}from"../../../../../../components/ui/command.js";import{Dialog,DialogContent,DialogDescription,DialogHeader,DialogTitle,DialogTrigger}from"../../../../../../components/ui/dialog.js";import{Loader}from"../../../../../../components/ui/loader.js";import{Popover,PopoverContent,PopoverTrigger}from"../../../../../../components/ui/popover.js";import{Spinner}from"../../../../../../components/ui/spinner.js";import{TooltipWithContent}from"../../../../../../components/ui/tooltip.js";import{cn}from"../../../../../../lib/utils.js";import{ADMIN_ROLE_PERMISSIONS}from"../../shared/admin-permissions.js";import{ADMIN_ROLES_DEFAULT_ORDER}from"./roles-query.js";const AdminRoleFormContent=React.lazy(async()=>import("./role-form-content.js").then(module=>({default:module.AdminRoleFormContent})));const MoveRolePicker=({excludeId,onSelect,searchRoles,value})=>{const t=useTranslations("core.global");const tRole=useTranslations("admin.role.delete");const[open,setOpen]=React.useState(false);const[options,setOptions]=React.useState([]);const[isSearching,setIsSearching]=React.useState(false);const runSearch=React.useCallback(async search=>{setIsSearching(true);try{setOptions(await searchRoles(search))}finally{setIsSearching(false)}},[searchRoles]);const debouncedSearch=useDebouncedCallback(runSearch,400);const visibleOptions=options.filter(option=>option.id!==excludeId);return _jsxs(Popover,{onOpenChange:next=>{setOpen(next);if(next){setOptions([]);void runSearch("")}},open:open,children:[_jsxs(PopoverTrigger,{render:_jsx(Button,{className:"w-full justify-start font-normal",variant:"outline"}),children:[value?_jsx(RoleFormatContent,{className:"truncate",role:value}):_jsx("span",{className:"text-muted-foreground",children:tRole("selectRole")}),_jsx(ChevronsUpDownIcon,{className:"ms-auto opacity-50"})]}),_jsx(PopoverContent,{align:"start",className:"w-(--anchor-width) min-w-56 p-0",children:_jsxs(Command,{shouldFilter:false,children:[_jsx(CommandInput,{onValueChange:debouncedSearch,placeholder:t("search_placeholder")}),_jsx(CommandList,{children:isSearching&&visibleOptions.length===0?_jsx("div",{className:"flex items-center justify-center py-6",children:_jsx(Spinner,{})}):_jsxs(_Fragment,{children:[_jsx(CommandEmpty,{children:t("results_not_found")}),_jsx(CommandGroup,{children:visibleOptions.map(role=>_jsxs(CommandItem,{onSelect:()=>{onSelect(role);setOpen(false)},value:String(role.id),children:[_jsx("span",{className:cn("size-4 shrink-0 rounded-full border",value?.id===role.id?"bg-primary border-primary":"border-input")}),_jsx(RoleFormatContent,{className:"truncate",role:role})]},role.id))})]})})]})})]})};const DeleteRoleAction=({onDelete,onSaved,role,searchRoles})=>{const t=useTranslations("admin.role.delete");const tError=useTranslations("core.global.errors");const locale=useLocale();const[open,setOpen]=React.useState(false);const[target,setTarget]=React.useState(null);const[isPending,startTransition]=React.useTransition();const hasUsers=role.usersCount>0;const roleName=resolveRoleName(role,locale);const canSubmit=!hasUsers||target!=null;const onConfirm=()=>{if(!canSubmit)return;startTransition(async()=>{const result=await onDelete({id:role.id,moveToRoleId:hasUsers?target?.id:undefined});if("error"in result){toast.error(tError("title"),{description:tError("internal_server_error")});return}toast.success(t("success"),{description:hasUsers&&target?t("successDescMoved",{count:role.usersCount,name:resolveRoleName(target,locale)}):t("successDesc")});setOpen(false);onSaved?.()})};return _jsxs(AlertDialog,{onOpenChange:setOpen,open:open,children:[_jsx(TooltipWithContent,{text:t("title"),children:_jsx(AlertDialogTrigger,{render:_jsx(Button,{"aria-label":t("title"),size:"icon",variant:"destructive"}),children:_jsx(Trash2Icon,{})})}),_jsxs(AlertDialogContent,{children:[_jsxs(AlertDialogHeader,{children:[_jsx(AlertDialogTitle,{children:t("title")}),_jsx(AlertDialogDescription,{children:hasUsers?t("descWithUsers",{count:role.usersCount,name:roleName}):t("desc",{name:roleName})})]}),hasUsers&&_jsxs("div",{className:"flex flex-col gap-2",children:[_jsx("span",{className:"text-sm font-medium",children:t("moveToLabel")}),_jsx(MoveRolePicker,{excludeId:role.id,onSelect:setTarget,searchRoles:searchRoles,value:target})]}),_jsxs(AlertDialogFooter,{children:[_jsx(AlertDialogCancel,{children:t("cancel")}),_jsx(Button,{disabled:!canSubmit,isLoading:isPending,onClick:onConfirm,type:"button",variant:"destructive",children:t("confirm")})]})]})]})};const EditRoleAction=({onSave,onSaved,role})=>{const t=useTranslations("admin.role.edit");return _jsxs(Dialog,{children:[_jsx(TooltipWithContent,{text:t("title"),children:_jsx(DialogTrigger,{render:_jsx(Button,{"aria-label":t("title"),size:"icon",variant:"ghost"}),children:_jsx(PencilIcon,{})})}),_jsxs(DialogContent,{children:[_jsx(DialogHeader,{children:_jsx(DialogTitle,{children:t("title")})}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(AdminRoleFormContent,{data:role,onSave:onSave,onSaved:onSaved})})]})]})};const RoleRowActions=({onDelete,onSave,onSaved,role,searchRoles})=>{const canEdit=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.edit);const canEditAdmin=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.editAdmin);const canDelete=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.delete);const canDeleteAdmin=useAdminStaffPermission(ADMIN_ROLE_PERMISSIONS.deleteAdmin);const isSystem=role.protected||role.default||role.root||role.guest;const showEdit=canEdit&&(!role.grantsAdmin||canEditAdmin);const showDelete=canDelete&&!isSystem&&(!role.grantsAdmin||canDeleteAdmin);if(!showEdit&&!showDelete)return null;return _jsxs("div",{className:"flex items-center justify-end gap-1",children:[showEdit&&_jsx(EditRoleAction,{onSave:onSave,onSaved:onSaved,role:role}),showDelete&&_jsx(DeleteRoleAction,{onDelete:onDelete,onSaved:onSaved,role:role,searchRoles:searchRoles})]})};export const CreateRoleAction=({onSave,onSaved})=>{const t=useTranslations("admin.role.create");return _jsxs(Dialog,{children:[_jsxs(DialogTrigger,{render:_jsx(Button,{}),children:[_jsx(PlusIcon,{}),t("title")]}),_jsxs(DialogContent,{children:[_jsxs(DialogHeader,{children:[_jsx(DialogTitle,{children:t("title")}),_jsx(DialogDescription,{children:t("desc")})]}),_jsx(React.Suspense,{fallback:_jsx(Loader,{}),children:_jsx(AdminRoleFormContent,{onSave:onSave,onSaved:onSaved})})]})]})};export const RolesAdminTableContent=({data,LinkComponent,onDelete,onSave,onSaved,searchRoles})=>{const t=useTranslations("admin.role.list");return _jsx(ContentDataTable,{columns:[{accessorKey:"name",cell:({row})=>_jsx(RoleFormatContent,{role:row}),header:t("role")},{accessorKey:"usersCount",cell:({row})=>{if(row.usersCount===0){return _jsx("span",{className:"text-muted-foreground",children:"0"})}return _jsx(TooltipWithContent,{text:t("openUsersTooltip"),children:_jsxs(LinkComponent,{className:"text-primary inline-flex items-center gap-2",href:`/admin/core/users?roleId=${row.id}`,children:[row.usersCount," ",_jsx(ExternalLink,{className:"size-4"})]})})},header:t("usersCount")},{accessorKey:"updatedAt",cell:({row})=>_jsx(DateFormat,{date:row.updatedAt}),header:t("updatedAt")},{align:"right",cell:({row})=>_jsx(RoleRowActions,{onDelete:onDelete,onSave:onSave,onSaved:onSaved,role:row,searchRoles:searchRoles}),className:"w-20",header:"",id:"actions"}],customNoResults:{description:t("noResults.description"),icon:_jsx(ShieldIcon,{}),title:t("noResults.title")},edges:data.edges,id:"roles-table",order:{columns:["updatedAt"],defaultOrder:ADMIN_ROLES_DEFAULT_ORDER},pageInfo:data.pageInfo,search:true,searchPlaceholder:t("searchPlaceholder")})};
@@ -1 +1 @@
1
- {"version":3,"file":"users-mutations.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/views/core/users/users-mutations.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,gDAAgD,CAAC;AAWxD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD,eAAO,MAAM,eAAe,GAC1B,IAAI,MAAM,EACV,MAAM,oBAAoB,KACzB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAY5C,CAAC;AAUL,eAAO,MAAM,oBAAoB,GAC/B,IAAI,MAAM,EACV,MAAM;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KACnD,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CACf,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,eAAO,MAAM,oBAAoB,GAC/B,IAAI,MAAM,KACT,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAY7C,CAAC;AAEL,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAUD,eAAO,MAAM,eAAe,GAC1B,MAAM,oBAAoB,KACzB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAY5C,CAAC;AAYL,eAAO,MAAM,4BAA4B,GACvC,SAAS,MAAM,KACd,OAAO,GAAG,MAAM,GAAG,IAMrB,CAAC"}
1
+ {"version":3,"file":"users-mutations.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/views/core/users/users-mutations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,gDAAgD,CAAC;AAIxD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,GAC1B,IAAI,MAAM,EACV,MAAM,oBAAoB,KACzB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAY5C,CAAC;AAEL,eAAO,MAAM,oBAAoB,GAC/B,IAAI,MAAM,EACV,MAAM;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KACnD,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CACf,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,eAAO,MAAM,oBAAoB,GAC/B,IAAI,MAAM,KACT,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAY7C,CAAC;AAEL,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,GAC1B,MAAM,oBAAoB,KACzB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAY5C,CAAC;AAEL,eAAO,MAAM,4BAA4B,GACvC,SAAS,MAAM,KACd,OAAO,GAAG,MAAM,GAAG,IAMrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-link.d.ts","sourceRoot":"","sources":["../../../../src/views/auth/auth-link.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,KAAK,CAAC,SAAS,CAAC;AAc1E,eAAO,MAAM,SAAS;;;;CAIZ,CAAC"}
1
+ {"version":3,"file":"auth-link.d.ts","sourceRoot":"","sources":["../../../../src/views/auth/auth-link.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,KAAK,CAAC,SAAS,CAAC;AAE1E,eAAO,MAAM,SAAS;;;;CAIZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-password-form-content.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/change-password-form/change-password-form-content.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAmBrC,eAAO,MAAM,yBAAyB,GAAI,wCAIvC;IACD,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,oBAAoB,CAAC;CACxC,gCAsCA,CAAC"}
1
+ {"version":3,"file":"change-password-form-content.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/change-password-form/change-password-form-content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,eAAO,MAAM,yBAAyB,GAAI,wCAIvC;IACD,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,oBAAoB,CAAC;CACxC,gCAsCA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useTranslations}from"use-intl";import{AutoForm}from"../../../../components/form/auto-form.js";import{CardContent,CardDescription,CardHeader,CardTitle}from"../../../../components/ui/card.js";import{PasswordInput}from"../../sign-up/components/password-input.js";import{useChangePasswordForm}from"./use-change-password-form.js";export const ChangePasswordFormContent=({link,onChanged,onChangePassword})=>{const t=useTranslations("core.auth.change_password");const tSignUp=useTranslations("core.auth.sign_up");const{formSchema,onSubmit}=useChangePasswordForm({link,onChanged,onChangePassword});return _jsxs(_Fragment,{children:[_jsxs(CardHeader,{className:"text-center",children:[_jsx(CardTitle,{children:_jsx("h1",{children:t("title")})}),_jsx(CardDescription,{children:t("desc")})]}),_jsx(CardContent,{children:_jsx(AutoForm,{fields:[{id:"password",component:props=>_jsx(PasswordInput,{label:tSignUp("password.label"),...props})}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{className:"w-full",children:t("submit")}})})]})};
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useTranslations}from"use-intl";import{AutoForm}from"../../../../components/form/auto-form.js";import{CardContent,CardDescription,CardHeader,CardTitle}from"../../../../components/ui/card.js";import{PasswordInput}from"../../sign-up/components/password-input.js";import{useChangePasswordForm}from"./use-change-password-form.js";export const ChangePasswordFormContent=({link,onChanged,onChangePassword})=>{const t=useTranslations("core.auth.change_password");const tSignUp=useTranslations("core.auth.sign_up");const{formSchema,onSubmit}=useChangePasswordForm({link,onChanged,onChangePassword});return _jsxs(_Fragment,{children:[_jsxs(CardHeader,{className:"text-center",children:[_jsx(CardTitle,{children:_jsx("h1",{children:t("title")})}),_jsx(CardDescription,{children:t("desc")})]}),_jsx(CardContent,{children:_jsx(AutoForm,{fields:[{id:"password",component:props=>_jsx(PasswordInput,{label:tSignUp("password.label"),...props})}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{className:"w-full",children:t("submit")}})})]})};
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/change-password-form/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAerD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAE/D,eAAO,MAAM,8BAA8B,GACzC,UAAU,0BAA0B;;iBAIlC,CAAC;AAEL,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAUzE,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAc7E,MAAM,MAAM,4BAA4B,GACtC,SAAS,GAAG;IAAE,OAAO,EAAE,uBAAuB,GAAG,eAAe,CAAA;CAAE,CAAC;AAWrE,eAAO,MAAM,yBAAyB,GACpC,QAAQ,4BAA4B,KAElC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAA;CAM9B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/change-password-form/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAE/D,eAAO,MAAM,8BAA8B,GACzC,UAAU,0BAA0B;;iBAIlC,CAAC;AAEL,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAEzE,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,4BAA4B,GACtC,SAAS,GAAG;IAAE,OAAO,EAAE,uBAAuB,GAAG,eAAe,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,yBAAyB,GACpC,QAAQ,4BAA4B,KAElC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAA;CAM9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-change-password-form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/change-password-form/use-change-password-form.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAEV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAC;AAOlB,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAU3C,MAAM,MAAM,oBAAoB,GAAG,CACjC,MAAM,EAAE,0BAA0B,KAC/B,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAuB3C,eAAO,MAAM,qBAAqB,GAAI,wCAInC;IACD,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,oBAAoB,CAAC;CACxC;;;;;;;CAsCA,CAAC"}
1
+ {"version":3,"file":"use-change-password-form.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/change-password-form/use-change-password-form.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAEV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAC;AAOlB,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG,CACjC,MAAM,EAAE,0BAA0B,KAC/B,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE3C,eAAO,MAAM,qBAAqB,GAAI,wCAInC;IACD,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,oBAAoB,CAAC;CACxC;;;;;;;CAsCA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{toast}from"sonner";import{useTranslations}from"use-intl";import{changePasswordFormOutcome,createChangePasswordFormSchema}from"./schema.js";export const useChangePasswordForm=({link,onChanged,onChangePassword})=>{const t=useTranslations("core.auth.change_password");const tSignUp=useTranslations("core.auth.sign_up");const tErrors=useTranslations("core.global.errors");const formSchema=createChangePasswordFormSchema({fieldRequired:tErrors("field_required"),invalidPassword:tSignUp("password.invalid")});const onSubmit=async({password})=>{const outcome=changePasswordFormOutcome(await onChangePassword({...link,password}));if(outcome.kind==="toast"){toast.error(outcome.reason==="invalid_token"?tErrors("400.title"):tErrors("title"),{description:outcome.reason==="invalid_token"?tErrors("400.desc"):tErrors("internal_server_error")});return}toast.success(t("success.title"),{description:t("success.desc")});onChanged()};return{formSchema,onSubmit}};
1
+ import{toast}from"sonner";import{useTranslations}from"use-intl";import{changePasswordFormOutcome,createChangePasswordFormSchema}from"./schema.js";export const useChangePasswordForm=({link,onChanged,onChangePassword})=>{const t=useTranslations("core.auth.change_password");const tSignUp=useTranslations("core.auth.sign_up");const tErrors=useTranslations("core.global.errors");const formSchema=createChangePasswordFormSchema({fieldRequired:tErrors("field_required"),invalidPassword:tSignUp("password.invalid")});const onSubmit=async({password})=>{const outcome=changePasswordFormOutcome(await onChangePassword({...link,password}));if(outcome.kind==="toast"){toast.error(outcome.reason==="invalid_token"?tErrors("400.title"):tErrors("title"),{description:outcome.reason==="invalid_token"?tErrors("400.desc"):tErrors("internal_server_error")});return}toast.success(t("success.title"),{description:t("success.desc")});onChanged()};return{formSchema,onSubmit}};
@@ -1 +1 @@
1
- {"version":3,"file":"password-reset-form-content.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/form/password-reset-form-content.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAc5E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AA+CpC,eAAO,MAAM,wBAAwB,GAAI,8BAGtC;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1D,cAAc,EAAE,mBAAmB,CAAC;CACrC,gCAyCA,CAAC"}
1
+ {"version":3,"file":"password-reset-form-content.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/form/password-reset-form-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAc5E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAgCpC,eAAO,MAAM,wBAAwB,GAAI,8BAGtC;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1D,cAAc,EAAE,mBAAmB,CAAC;CACrC,gCAyCA,CAAC"}
@@ -1 +1 @@
1
- "use client";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{MailCheckIcon}from"lucide-react";import{useTranslations}from"use-intl";import{AutoForm}from"../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../components/form/fields/input.js";import{CardContent,CardDescription,CardFooter,CardHeader,CardTitle}from"../../../../components/ui/card.js";import{Input}from"../../../../components/ui/input.js";import{Label}from"../../../../components/ui/label.js";import{usePasswordResetForm}from"./use-password-reset-form.js";const ConfirmationView=({email})=>{const t=useTranslations("core.auth.reset_password");const tSignUp=useTranslations("core.auth.sign_up");return _jsxs(_Fragment,{children:[_jsxs(CardHeader,{className:"flex flex-col items-center text-center",children:[_jsx("div",{className:"mb-3 rounded-2xl border p-3",children:_jsx(MailCheckIcon,{className:"size-8"})}),_jsx(CardTitle,{className:"text-balance",children:t("confirmation.title")}),_jsx(CardDescription,{className:"text-pretty",children:t("confirmation.desc")})]}),_jsxs(CardContent,{className:"space-y-2",children:[_jsx(Label,{htmlFor:"email",children:tSignUp("email.label")}),_jsx(Input,{className:"w-full",id:"email",readOnly:true,value:email})]}),_jsx(CardFooter,{children:_jsx(CardDescription,{children:t("confirmation.check_spam")})})]})};export const PasswordResetFormContent=({captcha,onRequestReset})=>{const{formSchema,onSubmit,sentEmail}=usePasswordResetForm({onRequestReset});const t=useTranslations("core.auth.reset_password");const tSignUp=useTranslations("core.auth.sign_up");if(sentEmail){return _jsx(ConfirmationView,{email:sentEmail})}return _jsxs(_Fragment,{children:[_jsxs(CardHeader,{className:"text-center",children:[_jsx(CardTitle,{children:_jsx("h1",{children:t("title")})}),_jsx(CardDescription,{children:t("desc")})]}),_jsx(CardContent,{children:_jsx(AutoForm,{captcha:captcha,fields:[{id:"email",component:props=>_jsx(AutoFormInput,{...props,label:tSignUp("email.label")})}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{className:"w-full",children:t("submit")}})})]})};
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{MailCheckIcon}from"lucide-react";import{useTranslations}from"use-intl";import{AutoForm}from"../../../../components/form/auto-form.js";import{AutoFormInput}from"../../../../components/form/fields/input.js";import{CardContent,CardDescription,CardFooter,CardHeader,CardTitle}from"../../../../components/ui/card.js";import{Input}from"../../../../components/ui/input.js";import{Label}from"../../../../components/ui/label.js";import{usePasswordResetForm}from"./use-password-reset-form.js";const ConfirmationView=({email})=>{const t=useTranslations("core.auth.reset_password");const tSignUp=useTranslations("core.auth.sign_up");return _jsxs(_Fragment,{children:[_jsxs(CardHeader,{className:"flex flex-col items-center text-center",children:[_jsx("div",{className:"mb-3 rounded-2xl border p-3",children:_jsx(MailCheckIcon,{className:"size-8"})}),_jsx(CardTitle,{className:"text-balance",children:t("confirmation.title")}),_jsx(CardDescription,{className:"text-pretty",children:t("confirmation.desc")})]}),_jsxs(CardContent,{className:"space-y-2",children:[_jsx(Label,{htmlFor:"email",children:tSignUp("email.label")}),_jsx(Input,{className:"w-full",id:"email",readOnly:true,value:email})]}),_jsx(CardFooter,{children:_jsx(CardDescription,{children:t("confirmation.check_spam")})})]})};export const PasswordResetFormContent=({captcha,onRequestReset})=>{const{formSchema,onSubmit,sentEmail}=usePasswordResetForm({onRequestReset});const t=useTranslations("core.auth.reset_password");const tSignUp=useTranslations("core.auth.sign_up");if(sentEmail){return _jsx(ConfirmationView,{email:sentEmail})}return _jsxs(_Fragment,{children:[_jsxs(CardHeader,{className:"text-center",children:[_jsx(CardTitle,{children:_jsx("h1",{children:t("title")})}),_jsx(CardDescription,{children:t("desc")})]}),_jsx(CardContent,{children:_jsx(AutoForm,{captcha:captcha,fields:[{id:"email",component:props=>_jsx(AutoFormInput,{...props,label:tSignUp("email.label")})}],formSchema:formSchema,onSubmit:onSubmit,submitButtonProps:{className:"w-full",children:t("submit")}})})]})};
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/form/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,MAAM,WAAW,yBAAyB;IAExC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,6BAA6B,GAAI,mBAE3C,yBAAyB;;iBAGxB,CAAC;AAEL,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAC9C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAGvE,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAkBD,MAAM,MAAM,2BAA2B,GACrC,SAAS,GAAG;IAAE,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAWnD,eAAO,MAAM,wBAAwB,GACnC,QAAQ,2BAA2B,KAClC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CACmB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../src/views/auth/password-reset/form/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,yBAAyB;IAExC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,6BAA6B,GAAI,mBAE3C,yBAAyB;;iBAGxB,CAAC;AAEL,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAC9C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAGvE,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,2BAA2B,GACrC,SAAS,GAAG;IAAE,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,wBAAwB,GACnC,QAAQ,2BAA2B,KAClC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CACmB,CAAC"}