@rakun-kit/manager-react 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/dist/cjs/app/app-provider.js +77 -1
  2. package/dist/cjs/app/app-provider.js.map +1 -1
  3. package/dist/cjs/app/media-picker.js +17 -0
  4. package/dist/cjs/app/media-picker.js.map +1 -0
  5. package/dist/cjs/app/root-providers.js +1 -1
  6. package/dist/cjs/app/root-providers.js.map +1 -1
  7. package/dist/cjs/app/runtime-app.js +4 -2
  8. package/dist/cjs/app/runtime-app.js.map +1 -1
  9. package/dist/cjs/client/http.js +44 -2
  10. package/dist/cjs/client/http.js.map +1 -1
  11. package/dist/cjs/client/request.js +2 -1
  12. package/dist/cjs/client/request.js.map +1 -1
  13. package/dist/cjs/components/LanguageSelector.js +4 -2
  14. package/dist/cjs/components/LanguageSelector.js.map +1 -1
  15. package/dist/cjs/components/PaginationController.js +10 -3
  16. package/dist/cjs/components/PaginationController.js.map +1 -1
  17. package/dist/cjs/components/app-sidebar.js +14 -8
  18. package/dist/cjs/components/app-sidebar.js.map +1 -1
  19. package/dist/cjs/components/boolean-indicator.js +14 -0
  20. package/dist/cjs/components/boolean-indicator.js.map +1 -0
  21. package/dist/cjs/components/manager-loading-fallback.js +1 -1
  22. package/dist/cjs/components/manager-loading-fallback.js.map +1 -1
  23. package/dist/cjs/components/media/MediaLibrary.js +10 -5
  24. package/dist/cjs/components/media/MediaLibrary.js.map +1 -1
  25. package/dist/cjs/components/media/contexts/MediaLibraryContext.js.map +1 -1
  26. package/dist/cjs/components/media/folders/FoldersTree.js +6 -8
  27. package/dist/cjs/components/media/folders/FoldersTree.js.map +1 -1
  28. package/dist/cjs/components/media/previews/MediaContextMenuContent.js +3 -2
  29. package/dist/cjs/components/media/previews/MediaContextMenuContent.js.map +1 -1
  30. package/dist/cjs/components/media/previews/Previews.js +377 -77
  31. package/dist/cjs/components/media/previews/Previews.js.map +1 -1
  32. package/dist/cjs/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  33. package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js +37 -13
  34. package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  35. package/dist/cjs/components/media/previews/dialogs/MediaDeleteDialog.js +10 -1
  36. package/dist/cjs/components/media/previews/dialogs/MediaDeleteDialog.js.map +1 -1
  37. package/dist/cjs/components/media/previews/dialogs/MediaImageEditorDialog.js +418 -0
  38. package/dist/cjs/components/media/previews/dialogs/MediaImageEditorDialog.js.map +1 -0
  39. package/dist/cjs/components/media/previews/dialogs/MediaMoveDialog.js +5 -1
  40. package/dist/cjs/components/media/previews/dialogs/MediaMoveDialog.js.map +1 -1
  41. package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js +12 -5
  42. package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  43. package/dist/cjs/components/media/previews/views/PreviewsGridLargeView.js +2 -2
  44. package/dist/cjs/components/media/previews/views/PreviewsGridLargeView.js.map +1 -1
  45. package/dist/cjs/components/media/previews/views/PreviewsGridSmallView.js +2 -2
  46. package/dist/cjs/components/media/previews/views/PreviewsGridSmallView.js.map +1 -1
  47. package/dist/cjs/components/media/previews/views/PreviewsListView.js +15 -2
  48. package/dist/cjs/components/media/previews/views/PreviewsListView.js.map +1 -1
  49. package/dist/cjs/components/nav-secondary.js +4 -1
  50. package/dist/cjs/components/nav-secondary.js.map +1 -1
  51. package/dist/cjs/components/nav-user.js +9 -6
  52. package/dist/cjs/components/nav-user.js.map +1 -1
  53. package/dist/cjs/components/ui/button.js +59 -13
  54. package/dist/cjs/components/ui/button.js.map +1 -1
  55. package/dist/cjs/components/ui/data-table.js +24 -21
  56. package/dist/cjs/components/ui/data-table.js.map +1 -1
  57. package/dist/cjs/components/ui/sidebar.js +31 -32
  58. package/dist/cjs/components/ui/sidebar.js.map +1 -1
  59. package/dist/cjs/components/ui/skeleton.js +1 -1
  60. package/dist/cjs/components/ui/skeleton.js.map +1 -1
  61. package/dist/cjs/components/ui/tags-input.js +1 -1
  62. package/dist/cjs/components/ui/tags-input.js.map +1 -1
  63. package/dist/cjs/components/ui/tour.js +981 -0
  64. package/dist/cjs/components/ui/tour.js.map +1 -0
  65. package/dist/cjs/components/user-avatar.js +39 -0
  66. package/dist/cjs/components/user-avatar.js.map +1 -0
  67. package/dist/cjs/help/manager-help.js +131 -0
  68. package/dist/cjs/help/manager-help.js.map +1 -0
  69. package/dist/cjs/help/registry.js +39 -0
  70. package/dist/cjs/help/registry.js.map +1 -0
  71. package/dist/cjs/help/types.js +3 -0
  72. package/dist/cjs/help/types.js.map +1 -0
  73. package/dist/cjs/layouts.js +3 -2
  74. package/dist/cjs/layouts.js.map +1 -1
  75. package/dist/cjs/lib/media.js +9 -0
  76. package/dist/cjs/lib/media.js.map +1 -1
  77. package/dist/cjs/media.js +9 -0
  78. package/dist/cjs/media.js.map +1 -1
  79. package/dist/cjs/router/dashboard/[contentType]/(list)/columns.js +57 -5
  80. package/dist/cjs/router/dashboard/[contentType]/(list)/columns.js.map +1 -1
  81. package/dist/cjs/router/dashboard/[contentType]/(list)/delete.js +5 -3
  82. package/dist/cjs/router/dashboard/[contentType]/(list)/delete.js.map +1 -1
  83. package/dist/cjs/router/dashboard/[contentType]/(list)/list.js +269 -19
  84. package/dist/cjs/router/dashboard/[contentType]/(list)/list.js.map +1 -1
  85. package/dist/cjs/router/dashboard/[contentType]/(list)/screen.js +1 -1
  86. package/dist/cjs/router/dashboard/[contentType]/(list)/screen.js.map +1 -1
  87. package/dist/cjs/router/dashboard/[contentType]/(list)/tour.js +24 -0
  88. package/dist/cjs/router/dashboard/[contentType]/(list)/tour.js.map +1 -0
  89. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +70 -25
  90. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  91. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js +45 -0
  92. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js.map +1 -0
  93. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +19 -0
  94. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -0
  95. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +33 -0
  96. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -0
  97. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +20 -0
  98. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -0
  99. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js +83 -0
  100. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js.map +1 -0
  101. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js +14 -0
  102. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js.map +1 -0
  103. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/Versions.js +371 -0
  104. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/Versions.js.map +1 -0
  105. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +206 -0
  106. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -0
  107. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js +2 -2
  108. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js.map +1 -1
  109. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js +2 -2
  110. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js.map +1 -1
  111. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js +2 -2
  112. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js.map +1 -1
  113. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +114 -44
  114. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  115. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +3 -3
  116. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  117. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +18 -1
  118. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  119. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js +2 -2
  120. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js.map +1 -1
  121. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js +117 -0
  122. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js.map +1 -0
  123. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js +2 -0
  124. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js.map +1 -1
  125. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js +2 -2
  126. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js.map +1 -1
  127. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js +2 -2
  128. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js.map +1 -1
  129. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js +2 -2
  130. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js.map +1 -1
  131. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js +2 -2
  132. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js.map +1 -1
  133. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js +2 -2
  134. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js.map +1 -1
  135. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js +2 -2
  136. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js.map +1 -1
  137. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js +5 -0
  138. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js.map +1 -1
  139. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js +9 -0
  140. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js.map +1 -0
  141. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js +50 -0
  142. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js.map +1 -0
  143. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +165 -0
  144. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -0
  145. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +230 -0
  146. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -0
  147. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js +38 -0
  148. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js.map +1 -0
  149. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js +59 -0
  150. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js.map +1 -0
  151. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js +33 -0
  152. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js.map +1 -0
  153. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js +92 -0
  154. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js.map +1 -0
  155. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js +34 -0
  156. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js.map +1 -0
  157. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +23 -285
  158. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  159. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.styles.js +12 -0
  160. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.styles.js.map +1 -0
  161. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.types.js +3 -0
  162. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.types.js.map +1 -0
  163. package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js +2 -2
  164. package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
  165. package/dist/cjs/router/dashboard/[contentType]/[edit]/tour.js +36 -0
  166. package/dist/cjs/router/dashboard/[contentType]/[edit]/tour.js.map +1 -0
  167. package/dist/cjs/router/dashboard/[contentType]/create/screen.js +2 -2
  168. package/dist/cjs/router/dashboard/[contentType]/create/screen.js.map +1 -1
  169. package/dist/cjs/router/dashboard/[contentType]/create/tour.js +30 -0
  170. package/dist/cjs/router/dashboard/[contentType]/create/tour.js.map +1 -0
  171. package/dist/cjs/router/dashboard/account/mfa/Mfa.js +1 -1
  172. package/dist/cjs/router/dashboard/account/mfa/Mfa.js.map +1 -1
  173. package/dist/cjs/router/dashboard/account/screen.js +84 -3
  174. package/dist/cjs/router/dashboard/account/screen.js.map +1 -1
  175. package/dist/cjs/router/dashboard/account/sessions/Sessions.js +1 -1
  176. package/dist/cjs/router/dashboard/account/sessions/Sessions.js.map +1 -1
  177. package/dist/cjs/router/dashboard/account/sessions/columns.js +2 -1
  178. package/dist/cjs/router/dashboard/account/sessions/columns.js.map +1 -1
  179. package/dist/cjs/router/dashboard/account/tour.js +30 -0
  180. package/dist/cjs/router/dashboard/account/tour.js.map +1 -0
  181. package/dist/cjs/router/dashboard/api-routes/ApiTest.js +33 -31
  182. package/dist/cjs/router/dashboard/api-routes/ApiTest.js.map +1 -1
  183. package/dist/cjs/router/dashboard/api-routes/SchemaViewer.js +92 -0
  184. package/dist/cjs/router/dashboard/api-routes/SchemaViewer.js.map +1 -0
  185. package/dist/cjs/router/dashboard/api-routes/screen.js +6 -0
  186. package/dist/cjs/router/dashboard/api-routes/screen.js.map +1 -1
  187. package/dist/cjs/router/dashboard/api-routes/shared.js +4 -5
  188. package/dist/cjs/router/dashboard/api-routes/shared.js.map +1 -1
  189. package/dist/cjs/router/dashboard/api-routes/test.js +8 -3
  190. package/dist/cjs/router/dashboard/api-routes/test.js.map +1 -1
  191. package/dist/cjs/router/dashboard/api-routes/tour.js +30 -0
  192. package/dist/cjs/router/dashboard/api-routes/tour.js.map +1 -0
  193. package/dist/cjs/router/dashboard/media/tour.js +30 -0
  194. package/dist/cjs/router/dashboard/media/tour.js.map +1 -0
  195. package/dist/cjs/router/dashboard/settings/languages/columns.js +11 -13
  196. package/dist/cjs/router/dashboard/settings/languages/columns.js.map +1 -1
  197. package/dist/cjs/router/dashboard/settings/languages/screen.js +3 -2
  198. package/dist/cjs/router/dashboard/settings/languages/screen.js.map +1 -1
  199. package/dist/cjs/router/dashboard/settings/literals/screen.js +47 -36
  200. package/dist/cjs/router/dashboard/settings/literals/screen.js.map +1 -1
  201. package/dist/cjs/router/dashboard/settings/literals/tour.js +24 -0
  202. package/dist/cjs/router/dashboard/settings/literals/tour.js.map +1 -0
  203. package/dist/cjs/router/dashboard/settings/redirects/columns.js +2 -1
  204. package/dist/cjs/router/dashboard/settings/redirects/columns.js.map +1 -1
  205. package/dist/cjs/router/dashboard/settings/redirects/screen.js +78 -100
  206. package/dist/cjs/router/dashboard/settings/redirects/screen.js.map +1 -1
  207. package/dist/cjs/router/dashboard/settings/redirects/tour.js +24 -0
  208. package/dist/cjs/router/dashboard/settings/redirects/tour.js.map +1 -0
  209. package/dist/cjs/router/dashboard/settings/robots/columns.js +54 -0
  210. package/dist/cjs/router/dashboard/settings/robots/columns.js.map +1 -0
  211. package/dist/cjs/router/dashboard/settings/robots/index.js +6 -0
  212. package/dist/cjs/router/dashboard/settings/robots/index.js.map +1 -0
  213. package/dist/cjs/router/dashboard/settings/robots/screen.js +180 -0
  214. package/dist/cjs/router/dashboard/settings/robots/screen.js.map +1 -0
  215. package/dist/cjs/router/dashboard/settings/routes/columns.js +3 -2
  216. package/dist/cjs/router/dashboard/settings/routes/columns.js.map +1 -1
  217. package/dist/cjs/router/dashboard/settings/routes/paths/columns.js +17 -7
  218. package/dist/cjs/router/dashboard/settings/routes/paths/columns.js.map +1 -1
  219. package/dist/cjs/router/dashboard/settings/routes/paths/screen.js +34 -2
  220. package/dist/cjs/router/dashboard/settings/routes/paths/screen.js.map +1 -1
  221. package/dist/cjs/router/dashboard/settings/routes/paths/tour.js +24 -0
  222. package/dist/cjs/router/dashboard/settings/routes/paths/tour.js.map +1 -0
  223. package/dist/cjs/router/dashboard/settings/routes/screen.js +10 -9
  224. package/dist/cjs/router/dashboard/settings/routes/screen.js.map +1 -1
  225. package/dist/cjs/router/dashboard/settings/routes/tour.js +24 -0
  226. package/dist/cjs/router/dashboard/settings/routes/tour.js.map +1 -0
  227. package/dist/cjs/router/dashboard/settings/screen.js +29 -6
  228. package/dist/cjs/router/dashboard/settings/screen.js.map +1 -1
  229. package/dist/cjs/router/dashboard/settings/seo/index.js +6 -0
  230. package/dist/cjs/router/dashboard/settings/seo/index.js.map +1 -0
  231. package/dist/cjs/router/dashboard/settings/seo/screen.js +109 -0
  232. package/dist/cjs/router/dashboard/settings/seo/screen.js.map +1 -0
  233. package/dist/cjs/router/dashboard/settings/system/index.js +6 -0
  234. package/dist/cjs/router/dashboard/settings/system/index.js.map +1 -0
  235. package/dist/cjs/router/dashboard/settings/system/screen.js +90 -0
  236. package/dist/cjs/router/dashboard/settings/system/screen.js.map +1 -0
  237. package/dist/cjs/router/dashboard/settings/system/tour.js +24 -0
  238. package/dist/cjs/router/dashboard/settings/system/tour.js.map +1 -0
  239. package/dist/cjs/router/dashboard/settings/tour.js +54 -0
  240. package/dist/cjs/router/dashboard/settings/tour.js.map +1 -0
  241. package/dist/cjs/router/dashboard/settings/user-roles/screen.js +3 -2
  242. package/dist/cjs/router/dashboard/settings/user-roles/screen.js.map +1 -1
  243. package/dist/cjs/router/dashboard/tour.js +30 -0
  244. package/dist/cjs/router/dashboard/tour.js.map +1 -0
  245. package/dist/cjs/router/dashboard/users/columns.js +2 -1
  246. package/dist/cjs/router/dashboard/users/columns.js.map +1 -1
  247. package/dist/cjs/router/dashboard/users/screen.js +8 -7
  248. package/dist/cjs/router/dashboard/users/screen.js.map +1 -1
  249. package/dist/cjs/router/dashboard/users/tour.js +24 -0
  250. package/dist/cjs/router/dashboard/users/tour.js.map +1 -0
  251. package/dist/cjs/router/shared/route-definitions.js +3 -1
  252. package/dist/cjs/router/shared/route-definitions.js.map +1 -1
  253. package/dist/cjs/router/shared/route-list.js +33 -3
  254. package/dist/cjs/router/shared/route-list.js.map +1 -1
  255. package/dist/cjs/router/shared/route-schema.js.map +1 -1
  256. package/dist/cjs/state/theme.js +33 -16
  257. package/dist/cjs/state/theme.js.map +1 -1
  258. package/dist/esm/app/app-provider.d.ts.map +1 -1
  259. package/dist/esm/app/app-provider.js +78 -2
  260. package/dist/esm/app/app-provider.js.map +1 -1
  261. package/dist/esm/app/media-picker.d.ts +3 -0
  262. package/dist/esm/app/media-picker.d.ts.map +1 -0
  263. package/dist/esm/app/media-picker.js +10 -0
  264. package/dist/esm/app/media-picker.js.map +1 -0
  265. package/dist/esm/app/root-providers.d.ts.map +1 -1
  266. package/dist/esm/app/root-providers.js +2 -2
  267. package/dist/esm/app/root-providers.js.map +1 -1
  268. package/dist/esm/app/runtime-app.d.ts +5 -1
  269. package/dist/esm/app/runtime-app.d.ts.map +1 -1
  270. package/dist/esm/app/runtime-app.js +4 -2
  271. package/dist/esm/app/runtime-app.js.map +1 -1
  272. package/dist/esm/client/http.d.ts +2 -1
  273. package/dist/esm/client/http.d.ts.map +1 -1
  274. package/dist/esm/client/http.js +42 -1
  275. package/dist/esm/client/http.js.map +1 -1
  276. package/dist/esm/client/request.d.ts +7 -1
  277. package/dist/esm/client/request.d.ts.map +1 -1
  278. package/dist/esm/client/request.js +2 -1
  279. package/dist/esm/client/request.js.map +1 -1
  280. package/dist/esm/components/LanguageSelector.js +4 -2
  281. package/dist/esm/components/LanguageSelector.js.map +1 -1
  282. package/dist/esm/components/PaginationController.d.ts +1 -0
  283. package/dist/esm/components/PaginationController.d.ts.map +1 -1
  284. package/dist/esm/components/PaginationController.js +10 -3
  285. package/dist/esm/components/PaginationController.js.map +1 -1
  286. package/dist/esm/components/app-sidebar.d.ts +2 -0
  287. package/dist/esm/components/app-sidebar.d.ts.map +1 -1
  288. package/dist/esm/components/app-sidebar.js +14 -8
  289. package/dist/esm/components/app-sidebar.js.map +1 -1
  290. package/dist/esm/components/boolean-indicator.d.ts +7 -0
  291. package/dist/esm/components/boolean-indicator.d.ts.map +1 -0
  292. package/dist/esm/components/boolean-indicator.js +11 -0
  293. package/dist/esm/components/boolean-indicator.js.map +1 -0
  294. package/dist/esm/components/manager-loading-fallback.d.ts.map +1 -1
  295. package/dist/esm/components/manager-loading-fallback.js +1 -1
  296. package/dist/esm/components/manager-loading-fallback.js.map +1 -1
  297. package/dist/esm/components/media/MediaLibrary.d.ts +1 -1
  298. package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
  299. package/dist/esm/components/media/MediaLibrary.js +11 -6
  300. package/dist/esm/components/media/MediaLibrary.js.map +1 -1
  301. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +2 -0
  302. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
  303. package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
  304. package/dist/esm/components/media/folders/FoldersTree.d.ts.map +1 -1
  305. package/dist/esm/components/media/folders/FoldersTree.js +6 -8
  306. package/dist/esm/components/media/folders/FoldersTree.js.map +1 -1
  307. package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
  308. package/dist/esm/components/media/previews/MediaContextMenuContent.js +4 -3
  309. package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
  310. package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
  311. package/dist/esm/components/media/previews/Previews.js +344 -77
  312. package/dist/esm/components/media/previews/Previews.js.map +1 -1
  313. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +11 -0
  314. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
  315. package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  316. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts +8 -2
  317. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
  318. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +43 -19
  319. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  320. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.d.ts +1 -0
  321. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.d.ts.map +1 -1
  322. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.js +10 -1
  323. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.js.map +1 -1
  324. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.d.ts +11 -0
  325. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.d.ts.map +1 -0
  326. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.js +415 -0
  327. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.js.map +1 -0
  328. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.d.ts +2 -1
  329. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.d.ts.map +1 -1
  330. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.js +6 -2
  331. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.js.map +1 -1
  332. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts +1 -0
  333. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
  334. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +14 -8
  335. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  336. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.d.ts +1 -1
  337. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.d.ts.map +1 -1
  338. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.js +2 -2
  339. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.js.map +1 -1
  340. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.d.ts +1 -1
  341. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.d.ts.map +1 -1
  342. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.js +2 -2
  343. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.js.map +1 -1
  344. package/dist/esm/components/media/previews/views/PreviewsListView.d.ts.map +1 -1
  345. package/dist/esm/components/media/previews/views/PreviewsListView.js +15 -2
  346. package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
  347. package/dist/esm/components/nav-secondary.d.ts +2 -0
  348. package/dist/esm/components/nav-secondary.d.ts.map +1 -1
  349. package/dist/esm/components/nav-secondary.js +5 -2
  350. package/dist/esm/components/nav-secondary.js.map +1 -1
  351. package/dist/esm/components/nav-user.d.ts.map +1 -1
  352. package/dist/esm/components/nav-user.js +21 -18
  353. package/dist/esm/components/nav-user.js.map +1 -1
  354. package/dist/esm/components/ui/button.d.ts +1 -1
  355. package/dist/esm/components/ui/button.d.ts.map +1 -1
  356. package/dist/esm/components/ui/button.js +27 -14
  357. package/dist/esm/components/ui/button.js.map +1 -1
  358. package/dist/esm/components/ui/data-table.d.ts +5 -2
  359. package/dist/esm/components/ui/data-table.d.ts.map +1 -1
  360. package/dist/esm/components/ui/data-table.js +26 -23
  361. package/dist/esm/components/ui/data-table.js.map +1 -1
  362. package/dist/esm/components/ui/sidebar.d.ts.map +1 -1
  363. package/dist/esm/components/ui/sidebar.js +33 -34
  364. package/dist/esm/components/ui/sidebar.js.map +1 -1
  365. package/dist/esm/components/ui/skeleton.js +1 -1
  366. package/dist/esm/components/ui/skeleton.js.map +1 -1
  367. package/dist/esm/components/ui/tabs.d.ts +1 -1
  368. package/dist/esm/components/ui/tags-input.js +1 -1
  369. package/dist/esm/components/ui/tags-input.js.map +1 -1
  370. package/dist/esm/components/ui/tour.d.ts +105 -0
  371. package/dist/esm/components/ui/tour.d.ts.map +1 -0
  372. package/dist/esm/components/ui/tour.js +932 -0
  373. package/dist/esm/components/ui/tour.js.map +1 -0
  374. package/dist/esm/components/user-avatar.d.ts +13 -0
  375. package/dist/esm/components/user-avatar.d.ts.map +1 -0
  376. package/dist/esm/components/user-avatar.js +36 -0
  377. package/dist/esm/components/user-avatar.js.map +1 -0
  378. package/dist/esm/help/manager-help.d.ts +16 -0
  379. package/dist/esm/help/manager-help.d.ts.map +1 -0
  380. package/dist/esm/help/manager-help.js +127 -0
  381. package/dist/esm/help/manager-help.js.map +1 -0
  382. package/dist/esm/help/registry.d.ts +5 -0
  383. package/dist/esm/help/registry.d.ts.map +1 -0
  384. package/dist/esm/help/registry.js +35 -0
  385. package/dist/esm/help/registry.js.map +1 -0
  386. package/dist/esm/help/types.d.ts +16 -0
  387. package/dist/esm/help/types.d.ts.map +1 -0
  388. package/dist/esm/help/types.js +2 -0
  389. package/dist/esm/help/types.js.map +1 -0
  390. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +1 -1
  391. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  392. package/dist/esm/layouts.d.ts +7 -4
  393. package/dist/esm/layouts.d.ts.map +1 -1
  394. package/dist/esm/layouts.js +8 -7
  395. package/dist/esm/layouts.js.map +1 -1
  396. package/dist/esm/lib/media.d.ts +14 -0
  397. package/dist/esm/lib/media.d.ts.map +1 -1
  398. package/dist/esm/lib/media.js +9 -0
  399. package/dist/esm/lib/media.js.map +1 -1
  400. package/dist/esm/media.d.ts +14 -0
  401. package/dist/esm/media.d.ts.map +1 -1
  402. package/dist/esm/media.js +9 -0
  403. package/dist/esm/media.js.map +1 -1
  404. package/dist/esm/router/dashboard/[contentType]/(list)/columns.d.ts +10 -1
  405. package/dist/esm/router/dashboard/[contentType]/(list)/columns.d.ts.map +1 -1
  406. package/dist/esm/router/dashboard/[contentType]/(list)/columns.js +58 -6
  407. package/dist/esm/router/dashboard/[contentType]/(list)/columns.js.map +1 -1
  408. package/dist/esm/router/dashboard/[contentType]/(list)/delete.d.ts +1 -0
  409. package/dist/esm/router/dashboard/[contentType]/(list)/delete.d.ts.map +1 -1
  410. package/dist/esm/router/dashboard/[contentType]/(list)/delete.js +5 -3
  411. package/dist/esm/router/dashboard/[contentType]/(list)/delete.js.map +1 -1
  412. package/dist/esm/router/dashboard/[contentType]/(list)/list.d.ts +1 -0
  413. package/dist/esm/router/dashboard/[contentType]/(list)/list.d.ts.map +1 -1
  414. package/dist/esm/router/dashboard/[contentType]/(list)/list.js +270 -20
  415. package/dist/esm/router/dashboard/[contentType]/(list)/list.js.map +1 -1
  416. package/dist/esm/router/dashboard/[contentType]/(list)/screen.d.ts +2 -1
  417. package/dist/esm/router/dashboard/[contentType]/(list)/screen.d.ts.map +1 -1
  418. package/dist/esm/router/dashboard/[contentType]/(list)/screen.js +1 -1
  419. package/dist/esm/router/dashboard/[contentType]/(list)/screen.js.map +1 -1
  420. package/dist/esm/router/dashboard/[contentType]/(list)/tour.d.ts +3 -0
  421. package/dist/esm/router/dashboard/[contentType]/(list)/tour.d.ts.map +1 -0
  422. package/dist/esm/router/dashboard/[contentType]/(list)/tour.js +21 -0
  423. package/dist/esm/router/dashboard/[contentType]/(list)/tour.js.map +1 -0
  424. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts +1 -0
  425. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
  426. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +71 -26
  427. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  428. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.d.ts +2 -0
  429. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.d.ts.map +1 -0
  430. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js +41 -0
  431. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js.map +1 -0
  432. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts +2 -0
  433. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -0
  434. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +12 -0
  435. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -0
  436. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts +2 -0
  437. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -0
  438. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +29 -0
  439. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -0
  440. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts +2 -0
  441. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -0
  442. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +16 -0
  443. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -0
  444. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.d.ts +5 -0
  445. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.d.ts.map +1 -0
  446. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js +79 -0
  447. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js.map +1 -0
  448. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.d.ts +2 -0
  449. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.d.ts.map +1 -0
  450. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js +10 -0
  451. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js.map +1 -0
  452. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.d.ts +8 -0
  453. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.d.ts.map +1 -0
  454. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.js +367 -0
  455. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.js.map +1 -0
  456. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +45 -0
  457. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -0
  458. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +201 -0
  459. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -0
  460. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js +1 -1
  461. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js.map +1 -1
  462. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js +1 -1
  463. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js.map +1 -1
  464. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js +1 -1
  465. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js.map +1 -1
  466. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
  467. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +115 -45
  468. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  469. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +1 -1
  470. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  471. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.d.ts.map +1 -1
  472. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +18 -1
  473. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  474. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js +1 -1
  475. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js.map +1 -1
  476. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.d.ts +4 -0
  477. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.d.ts.map +1 -0
  478. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js +79 -0
  479. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js.map +1 -0
  480. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.d.ts +2 -0
  481. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.d.ts.map +1 -1
  482. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js +2 -0
  483. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js.map +1 -1
  484. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js +1 -1
  485. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js.map +1 -1
  486. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js +1 -1
  487. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js.map +1 -1
  488. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js +1 -1
  489. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js.map +1 -1
  490. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js +1 -1
  491. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js.map +1 -1
  492. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js +1 -1
  493. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js.map +1 -1
  494. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js +1 -1
  495. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js.map +1 -1
  496. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.d.ts.map +1 -1
  497. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js +6 -1
  498. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js.map +1 -1
  499. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.d.ts +7 -0
  500. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.d.ts.map +1 -0
  501. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js +5 -0
  502. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js.map +1 -0
  503. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.d.ts +3 -0
  504. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.d.ts.map +1 -0
  505. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js +46 -0
  506. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js.map +1 -0
  507. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts +35 -0
  508. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -0
  509. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +161 -0
  510. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -0
  511. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +38 -0
  512. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -0
  513. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +226 -0
  514. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -0
  515. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.d.ts +11 -0
  516. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.d.ts.map +1 -0
  517. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js +34 -0
  518. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js.map +1 -0
  519. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.d.ts +26 -0
  520. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.d.ts.map +1 -0
  521. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js +55 -0
  522. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js.map +1 -0
  523. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.d.ts +15 -0
  524. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.d.ts.map +1 -0
  525. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js +29 -0
  526. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js.map +1 -0
  527. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts +17 -0
  528. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -0
  529. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js +88 -0
  530. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js.map +1 -0
  531. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.d.ts +19 -0
  532. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.d.ts.map +1 -0
  533. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js +30 -0
  534. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js.map +1 -0
  535. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts +2 -9
  536. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
  537. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +26 -284
  538. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  539. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.d.ts +4 -0
  540. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.d.ts.map +1 -0
  541. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.js +9 -0
  542. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.js.map +1 -0
  543. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts +44 -0
  544. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts.map +1 -0
  545. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.js +2 -0
  546. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.js.map +1 -0
  547. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts +3 -1
  548. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts.map +1 -1
  549. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js +2 -2
  550. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
  551. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.d.ts +3 -0
  552. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.d.ts.map +1 -0
  553. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.js +33 -0
  554. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.js.map +1 -0
  555. package/dist/esm/router/dashboard/[contentType]/create/screen.d.ts +3 -1
  556. package/dist/esm/router/dashboard/[contentType]/create/screen.d.ts.map +1 -1
  557. package/dist/esm/router/dashboard/[contentType]/create/screen.js +2 -2
  558. package/dist/esm/router/dashboard/[contentType]/create/screen.js.map +1 -1
  559. package/dist/esm/router/dashboard/[contentType]/create/tour.d.ts +3 -0
  560. package/dist/esm/router/dashboard/[contentType]/create/tour.d.ts.map +1 -0
  561. package/dist/esm/router/dashboard/[contentType]/create/tour.js +27 -0
  562. package/dist/esm/router/dashboard/[contentType]/create/tour.js.map +1 -0
  563. package/dist/esm/router/dashboard/account/mfa/Mfa.js +1 -1
  564. package/dist/esm/router/dashboard/account/mfa/Mfa.js.map +1 -1
  565. package/dist/esm/router/dashboard/account/screen.d.ts.map +1 -1
  566. package/dist/esm/router/dashboard/account/screen.js +83 -2
  567. package/dist/esm/router/dashboard/account/screen.js.map +1 -1
  568. package/dist/esm/router/dashboard/account/sessions/Sessions.js +1 -1
  569. package/dist/esm/router/dashboard/account/sessions/Sessions.js.map +1 -1
  570. package/dist/esm/router/dashboard/account/sessions/columns.d.ts.map +1 -1
  571. package/dist/esm/router/dashboard/account/sessions/columns.js +3 -2
  572. package/dist/esm/router/dashboard/account/sessions/columns.js.map +1 -1
  573. package/dist/esm/router/dashboard/account/tour.d.ts +3 -0
  574. package/dist/esm/router/dashboard/account/tour.d.ts.map +1 -0
  575. package/dist/esm/router/dashboard/account/tour.js +27 -0
  576. package/dist/esm/router/dashboard/account/tour.js.map +1 -0
  577. package/dist/esm/router/dashboard/api-routes/ApiTest.d.ts +1 -1
  578. package/dist/esm/router/dashboard/api-routes/ApiTest.d.ts.map +1 -1
  579. package/dist/esm/router/dashboard/api-routes/ApiTest.js +35 -33
  580. package/dist/esm/router/dashboard/api-routes/ApiTest.js.map +1 -1
  581. package/dist/esm/router/dashboard/api-routes/SchemaViewer.d.ts +4 -0
  582. package/dist/esm/router/dashboard/api-routes/SchemaViewer.d.ts.map +1 -0
  583. package/dist/esm/router/dashboard/api-routes/SchemaViewer.js +89 -0
  584. package/dist/esm/router/dashboard/api-routes/SchemaViewer.js.map +1 -0
  585. package/dist/esm/router/dashboard/api-routes/screen.d.ts.map +1 -1
  586. package/dist/esm/router/dashboard/api-routes/screen.js +6 -0
  587. package/dist/esm/router/dashboard/api-routes/screen.js.map +1 -1
  588. package/dist/esm/router/dashboard/api-routes/shared.d.ts +2 -4
  589. package/dist/esm/router/dashboard/api-routes/shared.d.ts.map +1 -1
  590. package/dist/esm/router/dashboard/api-routes/shared.js +4 -2
  591. package/dist/esm/router/dashboard/api-routes/shared.js.map +1 -1
  592. package/dist/esm/router/dashboard/api-routes/test.d.ts +6 -3
  593. package/dist/esm/router/dashboard/api-routes/test.d.ts.map +1 -1
  594. package/dist/esm/router/dashboard/api-routes/test.js +8 -3
  595. package/dist/esm/router/dashboard/api-routes/test.js.map +1 -1
  596. package/dist/esm/router/dashboard/api-routes/tour.d.ts +3 -0
  597. package/dist/esm/router/dashboard/api-routes/tour.d.ts.map +1 -0
  598. package/dist/esm/router/dashboard/api-routes/tour.js +27 -0
  599. package/dist/esm/router/dashboard/api-routes/tour.js.map +1 -0
  600. package/dist/esm/router/dashboard/media/tour.d.ts +3 -0
  601. package/dist/esm/router/dashboard/media/tour.d.ts.map +1 -0
  602. package/dist/esm/router/dashboard/media/tour.js +27 -0
  603. package/dist/esm/router/dashboard/media/tour.js.map +1 -0
  604. package/dist/esm/router/dashboard/settings/languages/columns.d.ts.map +1 -1
  605. package/dist/esm/router/dashboard/settings/languages/columns.js +12 -14
  606. package/dist/esm/router/dashboard/settings/languages/columns.js.map +1 -1
  607. package/dist/esm/router/dashboard/settings/languages/screen.d.ts.map +1 -1
  608. package/dist/esm/router/dashboard/settings/languages/screen.js +3 -2
  609. package/dist/esm/router/dashboard/settings/languages/screen.js.map +1 -1
  610. package/dist/esm/router/dashboard/settings/literals/screen.d.ts.map +1 -1
  611. package/dist/esm/router/dashboard/settings/literals/screen.js +63 -52
  612. package/dist/esm/router/dashboard/settings/literals/screen.js.map +1 -1
  613. package/dist/esm/router/dashboard/settings/literals/tour.d.ts +3 -0
  614. package/dist/esm/router/dashboard/settings/literals/tour.d.ts.map +1 -0
  615. package/dist/esm/router/dashboard/settings/literals/tour.js +21 -0
  616. package/dist/esm/router/dashboard/settings/literals/tour.js.map +1 -0
  617. package/dist/esm/router/dashboard/settings/redirects/columns.d.ts.map +1 -1
  618. package/dist/esm/router/dashboard/settings/redirects/columns.js +3 -2
  619. package/dist/esm/router/dashboard/settings/redirects/columns.js.map +1 -1
  620. package/dist/esm/router/dashboard/settings/redirects/screen.d.ts.map +1 -1
  621. package/dist/esm/router/dashboard/settings/redirects/screen.js +101 -123
  622. package/dist/esm/router/dashboard/settings/redirects/screen.js.map +1 -1
  623. package/dist/esm/router/dashboard/settings/redirects/tour.d.ts +3 -0
  624. package/dist/esm/router/dashboard/settings/redirects/tour.d.ts.map +1 -0
  625. package/dist/esm/router/dashboard/settings/redirects/tour.js +21 -0
  626. package/dist/esm/router/dashboard/settings/redirects/tour.js.map +1 -0
  627. package/dist/esm/router/dashboard/settings/robots/columns.d.ts +20 -0
  628. package/dist/esm/router/dashboard/settings/robots/columns.d.ts.map +1 -0
  629. package/dist/esm/router/dashboard/settings/robots/columns.js +50 -0
  630. package/dist/esm/router/dashboard/settings/robots/columns.js.map +1 -0
  631. package/dist/esm/router/dashboard/settings/robots/index.d.ts +2 -0
  632. package/dist/esm/router/dashboard/settings/robots/index.d.ts.map +1 -0
  633. package/dist/esm/router/dashboard/settings/robots/index.js +2 -0
  634. package/dist/esm/router/dashboard/settings/robots/index.js.map +1 -0
  635. package/dist/esm/router/dashboard/settings/robots/screen.d.ts +2 -0
  636. package/dist/esm/router/dashboard/settings/robots/screen.d.ts.map +1 -0
  637. package/dist/esm/router/dashboard/settings/robots/screen.js +173 -0
  638. package/dist/esm/router/dashboard/settings/robots/screen.js.map +1 -0
  639. package/dist/esm/router/dashboard/settings/routes/columns.d.ts.map +1 -1
  640. package/dist/esm/router/dashboard/settings/routes/columns.js +4 -3
  641. package/dist/esm/router/dashboard/settings/routes/columns.js.map +1 -1
  642. package/dist/esm/router/dashboard/settings/routes/paths/columns.d.ts.map +1 -1
  643. package/dist/esm/router/dashboard/settings/routes/paths/columns.js +18 -8
  644. package/dist/esm/router/dashboard/settings/routes/paths/columns.js.map +1 -1
  645. package/dist/esm/router/dashboard/settings/routes/paths/screen.d.ts.map +1 -1
  646. package/dist/esm/router/dashboard/settings/routes/paths/screen.js +35 -3
  647. package/dist/esm/router/dashboard/settings/routes/paths/screen.js.map +1 -1
  648. package/dist/esm/router/dashboard/settings/routes/paths/tour.d.ts +3 -0
  649. package/dist/esm/router/dashboard/settings/routes/paths/tour.d.ts.map +1 -0
  650. package/dist/esm/router/dashboard/settings/routes/paths/tour.js +21 -0
  651. package/dist/esm/router/dashboard/settings/routes/paths/tour.js.map +1 -0
  652. package/dist/esm/router/dashboard/settings/routes/screen.d.ts.map +1 -1
  653. package/dist/esm/router/dashboard/settings/routes/screen.js +10 -9
  654. package/dist/esm/router/dashboard/settings/routes/screen.js.map +1 -1
  655. package/dist/esm/router/dashboard/settings/routes/tour.d.ts +3 -0
  656. package/dist/esm/router/dashboard/settings/routes/tour.d.ts.map +1 -0
  657. package/dist/esm/router/dashboard/settings/routes/tour.js +21 -0
  658. package/dist/esm/router/dashboard/settings/routes/tour.js.map +1 -0
  659. package/dist/esm/router/dashboard/settings/screen.d.ts.map +1 -1
  660. package/dist/esm/router/dashboard/settings/screen.js +30 -7
  661. package/dist/esm/router/dashboard/settings/screen.js.map +1 -1
  662. package/dist/esm/router/dashboard/settings/seo/index.d.ts +2 -0
  663. package/dist/esm/router/dashboard/settings/seo/index.d.ts.map +1 -0
  664. package/dist/esm/router/dashboard/settings/seo/index.js +2 -0
  665. package/dist/esm/router/dashboard/settings/seo/index.js.map +1 -0
  666. package/dist/esm/router/dashboard/settings/seo/screen.d.ts +2 -0
  667. package/dist/esm/router/dashboard/settings/seo/screen.d.ts.map +1 -0
  668. package/dist/esm/router/dashboard/settings/seo/screen.js +102 -0
  669. package/dist/esm/router/dashboard/settings/seo/screen.js.map +1 -0
  670. package/dist/esm/router/dashboard/settings/system/index.d.ts +2 -0
  671. package/dist/esm/router/dashboard/settings/system/index.d.ts.map +1 -0
  672. package/dist/esm/router/dashboard/settings/system/index.js +2 -0
  673. package/dist/esm/router/dashboard/settings/system/index.js.map +1 -0
  674. package/dist/esm/router/dashboard/settings/system/screen.d.ts +2 -0
  675. package/dist/esm/router/dashboard/settings/system/screen.d.ts.map +1 -0
  676. package/dist/esm/router/dashboard/settings/system/screen.js +83 -0
  677. package/dist/esm/router/dashboard/settings/system/screen.js.map +1 -0
  678. package/dist/esm/router/dashboard/settings/system/tour.d.ts +3 -0
  679. package/dist/esm/router/dashboard/settings/system/tour.d.ts.map +1 -0
  680. package/dist/esm/router/dashboard/settings/system/tour.js +21 -0
  681. package/dist/esm/router/dashboard/settings/system/tour.js.map +1 -0
  682. package/dist/esm/router/dashboard/settings/tour.d.ts +20 -0
  683. package/dist/esm/router/dashboard/settings/tour.d.ts.map +1 -0
  684. package/dist/esm/router/dashboard/settings/tour.js +51 -0
  685. package/dist/esm/router/dashboard/settings/tour.js.map +1 -0
  686. package/dist/esm/router/dashboard/settings/user-roles/screen.d.ts.map +1 -1
  687. package/dist/esm/router/dashboard/settings/user-roles/screen.js +3 -2
  688. package/dist/esm/router/dashboard/settings/user-roles/screen.js.map +1 -1
  689. package/dist/esm/router/dashboard/tour.d.ts +3 -0
  690. package/dist/esm/router/dashboard/tour.d.ts.map +1 -0
  691. package/dist/esm/router/dashboard/tour.js +27 -0
  692. package/dist/esm/router/dashboard/tour.js.map +1 -0
  693. package/dist/esm/router/dashboard/users/columns.d.ts.map +1 -1
  694. package/dist/esm/router/dashboard/users/columns.js +3 -2
  695. package/dist/esm/router/dashboard/users/columns.js.map +1 -1
  696. package/dist/esm/router/dashboard/users/screen.d.ts.map +1 -1
  697. package/dist/esm/router/dashboard/users/screen.js +8 -7
  698. package/dist/esm/router/dashboard/users/screen.js.map +1 -1
  699. package/dist/esm/router/dashboard/users/tour.d.ts +3 -0
  700. package/dist/esm/router/dashboard/users/tour.d.ts.map +1 -0
  701. package/dist/esm/router/dashboard/users/tour.js +21 -0
  702. package/dist/esm/router/dashboard/users/tour.js.map +1 -0
  703. package/dist/esm/router/shared/route-definitions.d.ts +8 -2
  704. package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
  705. package/dist/esm/router/shared/route-definitions.js +3 -1
  706. package/dist/esm/router/shared/route-definitions.js.map +1 -1
  707. package/dist/esm/router/shared/route-list.d.ts +1 -1
  708. package/dist/esm/router/shared/route-list.d.ts.map +1 -1
  709. package/dist/esm/router/shared/route-list.js +30 -3
  710. package/dist/esm/router/shared/route-list.js.map +1 -1
  711. package/dist/esm/router/shared/route-schema.d.ts +3 -0
  712. package/dist/esm/router/shared/route-schema.d.ts.map +1 -1
  713. package/dist/esm/router/shared/route-schema.js.map +1 -1
  714. package/dist/esm/router/shared/types.d.ts +12 -1
  715. package/dist/esm/router/shared/types.d.ts.map +1 -1
  716. package/dist/esm/state/theme.d.ts +3 -0
  717. package/dist/esm/state/theme.d.ts.map +1 -1
  718. package/dist/esm/state/theme.js +31 -15
  719. package/dist/esm/state/theme.js.map +1 -1
  720. package/dist/styles.css +876 -135
  721. package/dist/tsconfig.build.tsbuildinfo +1 -1
  722. package/package.json +4 -3
@@ -1,45 +1,295 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useQuery } from '@tanstack/react-query';
4
- import { useState } from 'react';
4
+ import { Archive, Languages, Plus, RotateCcw, Search, Trash } from 'lucide-react';
5
+ import { useEffect, useMemo, useState } from 'react';
6
+ import { toast } from 'sonner';
5
7
  import { columns } from './columns.js';
6
8
  import DeleteCT from './delete.js';
7
9
  import { ManagerLink } from '../../../../link.js';
8
- import Loading from '../../../../components/loading.js';
9
10
  import { PaginationController } from '../../../../components/PaginationController.js';
11
+ import { Badge } from '../../../../components/ui/badge.js';
10
12
  import { Button } from '../../../../components/ui/button.js';
13
+ import { Checkbox } from '../../../../components/ui/checkbox.js';
11
14
  import { DataTable } from '../../../../components/ui/data-table.js';
15
+ import { Input } from '../../../../components/ui/input.js';
16
+ import { Skeleton } from '../../../../components/ui/skeleton.js';
17
+ import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '../../../../components/ui/dialog.js';
18
+ import { Label } from '../../../../components/ui/label.js';
19
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../../../components/ui/select.js';
20
+ import { Tabs, TabsList, TabsTrigger } from '../../../../components/ui/tabs.js';
12
21
  import { useLanguage } from '../../../../state/language.js';
13
22
  import { useTRPC } from '../../../../components/trpc-provider.js';
14
23
  import { useSession } from '../../../../state/session.js';
15
- const ListContents = ({ contentType, fields, }) => {
24
+ import { useManagerMutation } from '../../../../client/react.js';
25
+ const getActionErrorMessage = (error) => {
26
+ if (error instanceof Error && error.message)
27
+ return error.message;
28
+ if (!error || typeof error !== 'object') {
29
+ return 'Action failed';
30
+ }
31
+ const cause = error.cause;
32
+ if (cause && typeof cause === 'object') {
33
+ const message = cause.message;
34
+ const reason = cause.reason;
35
+ if (typeof message === 'string')
36
+ return message;
37
+ if (typeof reason === 'string')
38
+ return reason;
39
+ }
40
+ return 'Action failed';
41
+ };
42
+ const getContentRowId = (row, index) => {
43
+ const id = row._id;
44
+ return typeof id === 'string' ? id : String(index);
45
+ };
46
+ const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
47
+ const ContentListTableSkeleton = ({ fieldsCount, showVisibility, enableSelection, }) => {
48
+ const columnCount = 2 + fieldsCount + (showVisibility ? 1 : 0) + (enableSelection ? 1 : 0);
49
+ return (_jsxs("div", { className: "w-full overflow-hidden rounded-lg border", children: [_jsx("div", { className: "grid gap-4 border-b bg-muted px-4 py-3", style: { gridTemplateColumns: `repeat(${columnCount}, minmax(0, 1fr))` }, children: Array.from({ length: columnCount }).map((_, index) => (_jsx(Skeleton, { className: "h-4 w-20 max-w-full" }, `content-list-header-${index}`))) }), Array.from({ length: 10 }).map((_, rowIndex) => (_jsx("div", { className: "grid gap-4 border-b px-4 py-4 last:border-b-0", style: { gridTemplateColumns: `repeat(${columnCount}, minmax(0, 1fr))` }, children: Array.from({ length: columnCount }).map((_, columnIndex) => (_jsx(Skeleton, { className: "h-4 w-full max-w-32" }, `content-list-row-${rowIndex}-${columnIndex}`))) }, `content-list-row-${rowIndex}`)))] }));
50
+ };
51
+ const ListContents = ({ contentType, fields, documentVisibility }) => {
16
52
  const [page, setPage] = useState(1);
53
+ const [itemsPerPage, setItemsPerPage] = useState(10);
54
+ const [search, setSearch] = useState('');
55
+ const [debouncedSearch, setDebouncedSearch] = useState('');
56
+ const [isTrash, setIsTrash] = useState(false);
17
57
  const [deleteItem, setDeleteItem] = useState(null);
18
- const { getTranslation } = useLanguage();
58
+ const [permanentDeleteItem, setPermanentDeleteItem] = useState(null);
59
+ const [restoreItem, setRestoreItem] = useState(null);
60
+ const [duplicatingItemId, setDuplicatingItemId] = useState(null);
61
+ const [rowSelection, setRowSelection] = useState({});
62
+ const [bulkDeleteOpen, setBulkDeleteOpen] = useState(false);
63
+ const [isBulkDeleting, setIsBulkDeleting] = useState(false);
64
+ const [bulkTranslationOpen, setBulkTranslationOpen] = useState(false);
65
+ const [isBulkTranslating, setIsBulkTranslating] = useState(false);
66
+ const { getTranslation, language, languageList } = useLanguage();
67
+ const [bulkTranslationSource, setBulkTranslationSource] = useState(language.code);
68
+ const [bulkTranslationTargets, setBulkTranslationTargets] = useState(() => languageList.filter((item) => item.code !== language.code).map((item) => item.code));
69
+ const [bulkTranslationOverwrite, setBulkTranslationOverwrite] = useState(false);
19
70
  const trpc = useTRPC();
20
71
  const { hasAnyPermission, hasPermissions } = useSession();
72
+ const trimmedSearch = debouncedSearch.trim();
73
+ const searchableFields = useMemo(() => {
74
+ const searchFields = fields ?? [];
75
+ return Array.from(new Set(searchFields.flatMap((field) => field.includes('.') ? [field] : [field, `${field}.${language.code}`])));
76
+ }, [fields, language.code]);
77
+ const listFilter = useMemo(() => {
78
+ const filter = {
79
+ ...(isTrash ? { _trashed: true } : {}),
80
+ };
81
+ if (trimmedSearch && searchableFields.length > 0) {
82
+ filter.$or = searchableFields.map((field) => ({
83
+ [field]: {
84
+ $regex: escapeRegExp(trimmedSearch),
85
+ $options: 'i',
86
+ },
87
+ }));
88
+ }
89
+ return Object.keys(filter).length > 0 ? filter : undefined;
90
+ }, [isTrash, searchableFields, trimmedSearch]);
21
91
  const { data, refetch } = useQuery(trpc.manager.list.queryOptions({
22
92
  contentType,
23
93
  query: {
24
- options: { limit: 10, page, fields: fields ?? undefined },
94
+ filter: listFilter,
95
+ options: {
96
+ limit: itemsPerPage,
97
+ page,
98
+ fields: fields
99
+ ? [...fields, '_trashed', '_visibility', '_visibilityBeforeTrash']
100
+ : undefined,
101
+ },
25
102
  },
26
103
  }));
27
- if (!data) {
28
- return _jsx(Loading, {});
29
- }
30
- const typedData = data;
31
- const { totalItems, items } = typedData;
32
- return (_jsxs("div", { className: 'flex flex-col gap-6', children: [hasAnyPermission([
33
- `content.${contentType}.own`,
34
- `content.${contentType}.updateAny`,
35
- ]) && (_jsx(ManagerLink, { href: `/${contentType}/create`, className: 'self-end', children: _jsx(Button, { children: "Create" }) })), _jsx(DeleteCT, { refetch: refetch, setDeleteItem: setDeleteItem, ct: contentType, item: deleteItem }), _jsx(DataTable, { columns: columns({
36
- fields: fields || [],
104
+ const restoreMutation = useManagerMutation('manager.update');
105
+ const duplicateMutation = useManagerMutation('manager.duplicate');
106
+ const trashMutation = useManagerMutation('manager.trash');
107
+ const permanentDeleteMutation = useManagerMutation('manager.delete');
108
+ const translateDocumentMutation = useManagerMutation('manager.translateDocument');
109
+ const selectedIds = useMemo(() => Object.entries(rowSelection)
110
+ .filter(([, selected]) => selected)
111
+ .map(([id]) => id), [rowSelection]);
112
+ const selectedCount = selectedIds.length;
113
+ const canBulkDelete = hasPermissions([`content.${contentType}.deleteAny`]);
114
+ const canBulkTranslate = !isTrash &&
115
+ languageList.length > 1 &&
116
+ hasAnyPermission([
117
+ `content.${contentType}.own`,
118
+ `content.${contentType}.updateAny`,
119
+ ]);
120
+ const enableSelection = canBulkDelete || canBulkTranslate;
121
+ const bulkTranslationTargetOptions = languageList.filter((item) => item.code !== bulkTranslationSource);
122
+ useEffect(() => {
123
+ setRowSelection({});
124
+ }, [contentType, isTrash, debouncedSearch]);
125
+ useEffect(() => {
126
+ setSearch('');
127
+ setDebouncedSearch('');
128
+ }, [contentType]);
129
+ useEffect(() => {
130
+ const timeoutId = window.setTimeout(() => {
131
+ setDebouncedSearch(search);
132
+ }, 300);
133
+ return () => window.clearTimeout(timeoutId);
134
+ }, [search]);
135
+ useEffect(() => {
136
+ setPage(1);
137
+ }, [contentType, isTrash, debouncedSearch]);
138
+ useEffect(() => {
139
+ if (!enableSelection) {
140
+ setRowSelection({});
141
+ }
142
+ }, [enableSelection]);
143
+ const restore = async () => {
144
+ if (!restoreItem)
145
+ return;
146
+ await restoreMutation.mutateAsync({
147
+ contentType,
148
+ id: restoreItem._id,
149
+ data: {
150
+ _trashed: false,
151
+ ...(restoreItem._visibility === 'trash'
152
+ ? {
153
+ _visibility: restoreItem._visibilityBeforeTrash ?? 'published',
154
+ }
155
+ : {}),
156
+ },
157
+ });
158
+ toast.success('Item restored');
159
+ setRestoreItem(null);
160
+ await refetch();
161
+ };
162
+ const duplicateItem = async (item) => {
163
+ const id = typeof item._id === 'string' ? item._id : null;
164
+ if (!id)
165
+ return;
166
+ setDuplicatingItemId(id);
167
+ try {
168
+ await duplicateMutation.mutateAsync({
169
+ contentType,
170
+ id,
171
+ });
172
+ toast.success('Item duplicated');
173
+ await refetch();
174
+ }
175
+ catch (error) {
176
+ toast.error(getActionErrorMessage(error));
177
+ }
178
+ finally {
179
+ setDuplicatingItemId(null);
180
+ }
181
+ };
182
+ const bulkDeleteItems = async () => {
183
+ if (selectedIds.length === 0)
184
+ return;
185
+ setIsBulkDeleting(true);
186
+ const mutation = isTrash ? permanentDeleteMutation : trashMutation;
187
+ let successCount = 0;
188
+ let failedCount = 0;
189
+ let lastError;
190
+ for (const id of selectedIds) {
191
+ try {
192
+ await mutation.mutateAsync({ contentType, id });
193
+ successCount += 1;
194
+ }
195
+ catch (error) {
196
+ failedCount += 1;
197
+ lastError = error;
198
+ }
199
+ }
200
+ if (successCount > 0) {
201
+ await refetch();
202
+ setRowSelection({});
203
+ setBulkDeleteOpen(false);
204
+ toast.success(`${successCount} item${successCount === 1 ? '' : 's'} ${isTrash ? 'deleted permanently' : 'moved to trash'}`);
205
+ }
206
+ if (failedCount > 0) {
207
+ toast.error(`${failedCount} item${failedCount === 1 ? '' : 's'} failed. ${getActionErrorMessage(lastError)}`);
208
+ }
209
+ setIsBulkDeleting(false);
210
+ };
211
+ const bulkTranslateItems = async () => {
212
+ if (selectedIds.length === 0)
213
+ return;
214
+ if (bulkTranslationTargets.length === 0) {
215
+ toast.error('Select at least one target language');
216
+ return;
217
+ }
218
+ setIsBulkTranslating(true);
219
+ let successCount = 0;
220
+ let failedCount = 0;
221
+ let translatedSegments = 0;
222
+ let lastError;
223
+ for (const id of selectedIds) {
224
+ try {
225
+ const result = await translateDocumentMutation.mutateAsync({
37
226
  contentType,
38
- getTranslation,
39
- setDeleteItem,
40
- hasPermissions,
41
- hasAnyPermission,
42
- }), data: items }), _jsx("div", { className: 'mt-6', children: _jsx(PaginationController, { setPage: setPage, page: page, totalItems: totalItems, itemsPerPage: 10 }) })] }));
227
+ id,
228
+ from: bulkTranslationSource,
229
+ to: bulkTranslationTargets,
230
+ overwrite: bulkTranslationOverwrite,
231
+ });
232
+ successCount += 1;
233
+ translatedSegments += result.summary.translatedSegments;
234
+ }
235
+ catch (error) {
236
+ failedCount += 1;
237
+ lastError = error;
238
+ }
239
+ }
240
+ if (successCount > 0) {
241
+ await refetch();
242
+ setRowSelection({});
243
+ setBulkTranslationOpen(false);
244
+ toast.success(`${successCount} item${successCount === 1 ? '' : 's'} translated (${translatedSegments} segment${translatedSegments === 1 ? '' : 's'})`);
245
+ }
246
+ if (failedCount > 0) {
247
+ toast.error(`${failedCount} item${failedCount === 1 ? '' : 's'} failed. ${getActionErrorMessage(lastError)}`);
248
+ }
249
+ setIsBulkTranslating(false);
250
+ };
251
+ const typedData = data;
252
+ const totalItems = typedData?.totalItems ?? 0;
253
+ const items = typedData?.items ?? [];
254
+ const canCreate = hasAnyPermission([
255
+ `content.${contentType}.own`,
256
+ `content.${contentType}.updateAny`,
257
+ ]);
258
+ return (_jsxs("div", { className: "container mx-auto flex flex-col gap-6 px-4 py-10", children: [_jsx(Tabs, { value: isTrash ? 'trash' : 'active', onValueChange: (value) => {
259
+ setIsTrash(value === 'trash');
260
+ setPage(1);
261
+ }, className: "w-full", children: _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3 border-b pb-3", children: [_jsx("div", { className: "flex gap-3 items-center", children: _jsxs(TabsList, { variant: "line", children: [_jsxs(TabsTrigger, { value: "active", children: [_jsx(Archive, {}), "Active"] }), _jsxs(TabsTrigger, { value: "trash", children: [_jsx(Trash, {}), "Trash"] })] }) }), _jsxs("div", { className: "flex flex-wrap items-center justify-end gap-2", children: [searchableFields.length > 0 ? (_jsxs("div", { className: "flex w-full max-w-md flex-1 items-center gap-2 rounded-md border py-1 pr-1 pl-3 sm:w-md sm:flex-none", children: [_jsx(Search, { className: "size-4 text-muted-foreground" }), _jsx(Input, { value: search, onChange: (event) => setSearch(event.target.value), className: "h-8 border-0 shadow-none focus-visible:ring-0", placeholder: "Search..." })] })) : null, canCreate && (_jsx(ManagerLink, { href: `/${contentType}/create`, "data-tour": "content-list-create", children: _jsxs(Button, { children: [_jsx(Plus, {}), "Create"] }) }))] })] }) }), _jsx(DeleteCT, { refetch: refetch, setDeleteItem: setDeleteItem, ct: contentType, item: deleteItem, mode: "trash" }), _jsx(DeleteCT, { refetch: refetch, setDeleteItem: setPermanentDeleteItem, ct: contentType, item: permanentDeleteItem, mode: "delete" }), _jsxs("div", { "data-tour": "content-list-table", children: [typedData ? (_jsx(DataTable, { columns: columns({
262
+ fields: fields || [],
263
+ contentType,
264
+ getTranslation,
265
+ setDeleteItem,
266
+ setPermanentDeleteItem,
267
+ setRestoreItem,
268
+ onDuplicateItem: (item) => void duplicateItem(item),
269
+ duplicatingItemId,
270
+ enableSelection,
271
+ showVisibility: Boolean(documentVisibility),
272
+ isTrash,
273
+ hasPermissions,
274
+ hasAnyPermission,
275
+ }), data: items, rowSelection: rowSelection, setRowSelection: setRowSelection, getRowId: getContentRowId })) : (_jsx(ContentListTableSkeleton, { fieldsCount: (fields || []).length, showVisibility: Boolean(documentVisibility), enableSelection: enableSelection })), enableSelection && selectedCount > 0 ? (_jsx("div", { className: "fixed bottom-12 left-1/2 z-40 w-[calc(100vw-2rem)] max-w-fit -translate-x-1/2 animate-in fade-in-0 slide-in-from-bottom-3 duration-200", "data-tour": "content-list-selection-toolbar", children: _jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2 rounded-md border bg-background px-3 py-2 shadow-lg", children: [_jsxs("span", { className: "min-w-20 text-center text-muted-foreground text-sm", children: [selectedCount, " selected"] }), canBulkTranslate ? (_jsxs(Dialog, { open: bulkTranslationOpen, onOpenChange: setBulkTranslationOpen, children: [_jsx(DialogTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", onClick: () => {
276
+ setBulkTranslationSource(language.code);
277
+ setBulkTranslationTargets(languageList
278
+ .filter((item) => item.code !== language.code)
279
+ .map((item) => item.code));
280
+ }, children: [_jsx(Languages, {}), "Translate"] }) }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Translate selected items" }), _jsxs(DialogDescription, { children: ["Translate supported fields for ", selectedCount, " selected item", selectedCount === 1 ? '' : 's', "."] })] }), _jsxs("div", { className: "grid gap-4", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { children: "Source language" }), _jsxs(Select, { value: bulkTranslationSource, onValueChange: (value) => {
281
+ setBulkTranslationSource(value);
282
+ setBulkTranslationTargets((targets) => targets.filter((target) => target !== value));
283
+ }, children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, { placeholder: "Select source" }) }), _jsx(SelectContent, { children: languageList.map((item) => (_jsx(SelectItem, { value: item.code, children: item.name }, item.code))) })] })] }), _jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { children: "Target languages" }), _jsx("div", { className: "grid max-h-56 gap-2 overflow-auto rounded-md border p-3", children: bulkTranslationTargetOptions.map((item) => {
284
+ const checked = bulkTranslationTargets.includes(item.code);
285
+ return (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 rounded-sm px-1 py-1", children: [_jsx(Checkbox, { checked: checked, onCheckedChange: (nextChecked) => {
286
+ setBulkTranslationTargets((targets) => nextChecked
287
+ ? Array.from(new Set([...targets, item.code]))
288
+ : targets.filter((target) => target !== item.code));
289
+ } }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm", children: item.name }), _jsx(Badge, { variant: "outline", children: item.code })] }, item.code));
290
+ }) })] }), _jsxs("label", { className: "flex cursor-pointer items-center gap-2", children: [_jsx(Checkbox, { checked: bulkTranslationOverwrite, onCheckedChange: (checked) => setBulkTranslationOverwrite(Boolean(checked)) }), _jsx("span", { className: "text-sm", children: "Overwrite existing translations" })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { variant: "outline", onClick: () => setBulkTranslationOpen(false), children: "Cancel" }), _jsx(Button, { loading: isBulkTranslating || translateDocumentMutation.isPending, disabled: bulkTranslationTargets.length === 0, onClick: () => void bulkTranslateItems(), children: "Translate" })] })] })] })) : null, canBulkDelete ? (_jsxs(Dialog, { open: bulkDeleteOpen, onOpenChange: setBulkDeleteOpen, children: [_jsx(DialogTrigger, { asChild: true, children: _jsxs(Button, { variant: "destructive", size: "sm", children: [_jsx(Trash, {}), isTrash ? 'Delete permanently' : 'Move to trash'] }) }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: isTrash ? 'Delete selected permanently' : 'Move selected to trash' }), _jsx(DialogDescription, { children: isTrash
291
+ ? `This will permanently delete ${selectedCount} selected item${selectedCount === 1 ? '' : 's'}. This cannot be undone.`
292
+ : `This will move ${selectedCount} selected item${selectedCount === 1 ? '' : 's'} to trash.` })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { variant: "outline", onClick: () => setBulkDeleteOpen(false), children: "Cancel" }), _jsx(Button, { variant: "destructive", loading: isBulkDeleting, onClick: () => void bulkDeleteItems(), children: isTrash ? 'Delete permanently' : 'Move to trash' })] })] })] })) : null] }) })) : null] }), restoreItem ? (_jsxs("div", { className: "flex items-center justify-end gap-2 rounded-md border p-3", children: [_jsx("span", { className: "text-muted-foreground text-sm", children: "Restore selected item?" }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => setRestoreItem(null), children: "Cancel" }), _jsxs(Button, { size: "sm", loading: restoreMutation.isPending, onClick: () => void restore(), children: [_jsx(RotateCcw, {}), "Restore"] })] })) : null, typedData ? (_jsx("div", { className: "mt-6", children: _jsx(PaginationController, { setPage: setPage, page: page, totalItems: totalItems, itemsPerPage: itemsPerPage, setItemsPerPage: setItemsPerPage }) })) : null] }));
43
293
  };
44
294
  export default ListContents;
45
295
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/list.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,OAAO,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,YAAY,GAAyD,CAAC,EAC1E,WAAW,EACX,MAAM,GACP,EAAE,EAAE;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAA;IAC1E,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAA;IACzD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7B,WAAW;QACX,KAAK,EAAE;YACL,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;SAC1D;KACF,CAAC,CACH,CAAA;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAC,OAAO,KAAG,CAAA;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,IAA+C,CAAA;IACjE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAEvC,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aACjC,gBAAgB,CAAC;gBAChB,WAAW,WAAW,MAAoB;gBAC1C,WAAW,WAAW,YAA0B;aACjD,CAAC,IAAI,CACJ,KAAC,WAAW,IACV,IAAI,EAAE,IAAI,WAAW,SAAS,EAC9B,SAAS,EAAC,UAAU,YAEpB,KAAC,MAAM,yBAAgB,GACX,CACf,EACD,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,UAAU,GAChB,EACF,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,CAAC;oBACf,MAAM,EAAE,MAAM,IAAI,EAAE;oBACpB,WAAW;oBACX,cAAc;oBACd,aAAa;oBACb,cAAc;oBACd,gBAAgB;iBACjB,CAAC,EACF,IAAI,EAAE,KAAiB,GACvB,EACF,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,oBAAoB,IACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,EAAE,GAChB,GACE,IACF,CACP,CAAA;AACH,CAAC,CAAA;AACD,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/list.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- export declare const ManagerContentTypeListScreen: ({ contentType, fields, }: {
1
+ export declare const ManagerContentTypeListScreen: ({ contentType, fields, documentVisibility, }: {
2
2
  title?: string;
3
3
  contentType: string;
4
4
  fields?: string[];
5
+ documentVisibility?: boolean;
5
6
  }) => import("react/jsx-runtime").JSX.Element;
6
7
  //# sourceMappingURL=screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/screen.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,GAAI,0BAG1C;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,4CAA+D,CAAA"}
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/screen.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,GAAI,8CAI1C;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,4CAMA,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import ListContents from './list.js';
3
- export const ManagerContentTypeListScreen = ({ contentType, fields, }) => _jsx(ListContents, { contentType: contentType, fields: fields });
3
+ export const ManagerContentTypeListScreen = ({ contentType, fields, documentVisibility, }) => (_jsx(ListContents, { contentType: contentType, fields: fields, documentVisibility: documentVisibility }));
4
4
  //# sourceMappingURL=screen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/screen.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,WAAW,EACX,MAAM,GAKP,EAAE,EAAE,CAAC,KAAC,YAAY,IAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA"}
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/screen.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,WAAW,EACX,MAAM,EACN,kBAAkB,GAMnB,EAAE,EAAE,CAAC,CACJ,KAAC,YAAY,IACX,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ManagerTour } from '../../../../help/types.js';
2
+ export declare const managerContentListTour: ManagerTour;
3
+ //# sourceMappingURL=tour.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tour.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/tour.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,eAAO,MAAM,sBAAsB,EAAE,WAmBpC,CAAA"}
@@ -0,0 +1,21 @@
1
+ export const managerContentListTour = {
2
+ id: 'manager.content.list',
3
+ route: 'content-list',
4
+ title: 'Content list',
5
+ description: 'Browse and manage entries for this content type.',
6
+ steps: [
7
+ {
8
+ target: '[data-tour="content-list-create"]',
9
+ title: 'Create content',
10
+ description: 'Add a new entry for this content type.',
11
+ side: 'left',
12
+ },
13
+ {
14
+ target: '[data-tour="content-list-table"]',
15
+ title: 'Entries',
16
+ description: 'Sort, open, trash, restore, or delete entries from the table.',
17
+ side: 'top',
18
+ },
19
+ ],
20
+ };
21
+ //# sourceMappingURL=tour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tour.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/(list)/tour.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IACjD,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,kDAAkD;IAC/D,KAAK,EAAE;QACL;YACE,MAAM,EAAE,mCAAmC;YAC3C,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,MAAM;SACb;QACD;YACE,MAAM,EAAE,kCAAkC;YAC1C,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,+DAA+D;YAC5E,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CAAA"}
@@ -6,6 +6,7 @@ type FieldComponentProps = EncodedFieldUnknown & {
6
6
  defaultData?: FieldValue;
7
7
  ref: React.Ref<FieldRef>;
8
8
  collapsible?: boolean;
9
+ parentContentType?: EncodedContentType;
9
10
  };
10
11
  type FieldComponent = (config: FieldComponentProps) => React.ReactElement;
11
12
  export declare const fieldsMap: { [key in FieldType]: FieldComponent; };
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTypeEdit.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/[edit]/ContentTypeEdit.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAavE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAwB7C,KAAK,mBAAmB,GAAG,mBAAmB,GAAG;IAC/C,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,UAAU,CAAA;IACxB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,KAAK,CAAC,YAAY,CAAA;AAEzE,eAAO,MAAM,SAAS,EAWjB,GACF,GAAG,IAAI,SAAS,GAAG,cAAc,GACnC,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC;;oBAEL,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI;EAIhD;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,OAAO,CAAA;CACxB,CAAA;AAED,QAAA,MAAM,eAAe;iBAGJ,kBAAkB;QAC3B,MAAM;kBACI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE;kBAC7B,OAAO;gBACT,OAAO;4CAqIrB,CAAA;AAEF,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"ContentTypeEdit.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/[contentType]/[edit]/ContentTypeEdit.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAavE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AA2B7C,KAAK,mBAAmB,GAAG,mBAAmB,GAAG;IAC/C,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,UAAU,CAAA;IACxB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,KAAK,CAAC,YAAY,CAAA;AAEzE,eAAO,MAAM,SAAS,EAWjB,GACF,GAAG,IAAI,SAAS,GAAG,cAAc,GACnC,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC;;oBAEL,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI;EAIhD;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,OAAO,CAAA;CACxB,CAAA;AASD,QAAA,MAAM,eAAe;iBAGJ,kBAAkB;QAC3B,MAAM;kBACI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE;kBAC7B,OAAO;gBACT,OAAO;4CAgMrB,CAAA;AAEF,eAAe,eAAe,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { ChevronsUpDown, Languages, Shield } from 'lucide-react';
4
- import { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';
4
+ import { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState, } from 'react';
5
5
  import BooleanField from './_fields/BooleanField/index.js';
6
6
  import ContentReferenceField from './_fields/ContentReferenceField/index.js';
7
7
  import DateField from './_fields/Date/index.js';
@@ -12,12 +12,15 @@ import NumberField from './_fields/NumberField/index.js';
12
12
  import RelationField from './_fields/RelationField/index.js';
13
13
  import StringField from './_fields/StringField/index.js';
14
14
  import SelectField from './_fields/Select/index.js';
15
- import { errorStyle } from './edit.js';
15
+ import { evaluateFieldCondition } from './_fields/shared/condition.js';
16
+ import { ConditionFieldStateProvider } from './_fields/shared/condition-state.js';
17
+ import { errorStyle } from './edit.styles.js';
16
18
  import { Card, CardContent, CardHeader, CardTitle } from '../../../../components/ui/card.js';
17
19
  import { decodeCamelCase } from '../../../../helpers/decodeCamelCase.js';
18
20
  import { useEditErrorStore } from '../../../../hooks/app-store.js';
19
21
  import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../../../../components/ui/collapsible.js';
20
22
  import { Button } from '../../../../components/ui/button.js';
23
+ import { deepEqual } from '../../../../helpers/deepEqual.js';
21
24
  const defaultDataExtractor = (fieldName, defaultData) => {
22
25
  if (!defaultData) {
23
26
  return undefined;
@@ -43,19 +46,55 @@ export function useArrayRefs() {
43
46
  };
44
47
  return { refs, setRef };
45
48
  }
49
+ const hasNestedError = (value) => {
50
+ if (!value || typeof value !== 'object')
51
+ return false;
52
+ if ('_error' in value)
53
+ return true;
54
+ if (Array.isArray(value))
55
+ return value.some(hasNestedError);
56
+ return Object.values(value).some(hasNestedError);
57
+ };
46
58
  const ContentTypeEdit = forwardRef((props, ref) => {
47
59
  const { contentType, id, collapsible, hideTitle } = props;
48
60
  const { refs, setRef } = useArrayRefs();
49
61
  const errors = useEditErrorStore((state) => state.errors);
50
62
  const addError = useEditErrorStore((state) => state.addError);
51
- const visibleItems = useMemo(() => Object.entries(contentType.fields).filter(([_, fieldValue]) => !(fieldValue.visibility === 'api')), [contentType.fields]);
63
+ const formStateInitialValue = useMemo(() => Object.fromEntries(Object.keys(contentType.fields).map((fieldName) => [
64
+ fieldName,
65
+ defaultDataExtractor(fieldName, props.defaultData),
66
+ ])), [contentType.fields, props.defaultData]);
67
+ const [formState, setFormState] = useState(formStateInitialValue);
68
+ const allItems = useMemo(() => Object.entries(contentType.fields).filter(([_, fieldValue]) => !(fieldValue.visibility === 'api')), [contentType.fields]);
69
+ const visibleItems = useMemo(() => allItems.filter(([, fieldValue]) => evaluateFieldCondition(fieldValue.condition, formState)), [allItems, formState]);
70
+ const visibleFieldNames = useMemo(() => new Set(visibleItems.map(([fieldName]) => fieldName)), [visibleItems]);
71
+ const handleFieldStateChange = useCallback((fieldId, state) => {
72
+ const prefix = `${id}.`;
73
+ const fieldName = fieldId.startsWith(prefix)
74
+ ? fieldId.slice(prefix.length)
75
+ : fieldId;
76
+ if (fieldName.includes('.')) {
77
+ return;
78
+ }
79
+ setFormState((previous) => {
80
+ if (deepEqual(previous[fieldName], state)) {
81
+ return previous;
82
+ }
83
+ return {
84
+ ...previous,
85
+ [fieldName]: state,
86
+ };
87
+ });
88
+ }, [id]);
52
89
  useImperativeHandle(ref, () => ({
53
90
  getValue: () => {
54
- const values = Object.fromEntries(visibleItems.map(([fieldName], i) => [
55
- fieldName,
56
- refs.current[i]?.getValue(),
57
- ]));
58
- if (Object.values(values).some((v) => typeof v === 'object' && v && '_error' in v)) {
91
+ const values = Object.fromEntries(allItems.map(([fieldName], i) => {
92
+ if (!visibleFieldNames.has(fieldName)) {
93
+ return [fieldName, null];
94
+ }
95
+ return [fieldName, refs.current[i]?.getValue()];
96
+ }));
97
+ if (Object.values(values).some(hasNestedError)) {
59
98
  const _error = 'Please fix the errors above';
60
99
  addError(id, _error);
61
100
  return { _error };
@@ -63,26 +102,32 @@ const ContentTypeEdit = forwardRef((props, ref) => {
63
102
  return { ...values, _type: contentType.name };
64
103
  },
65
104
  getState: () => {
66
- const states = Object.fromEntries(visibleItems.map(([fieldName], i) => [
67
- fieldName,
68
- refs.current[i]?.getState(),
69
- ]));
105
+ const states = Object.fromEntries(allItems.map(([fieldName], i) => {
106
+ if (!visibleFieldNames.has(fieldName)) {
107
+ return [fieldName, formState[fieldName]];
108
+ }
109
+ return [fieldName, refs.current[i]?.getState()];
110
+ }));
70
111
  return states;
71
112
  },
72
- }), [addError, contentType.name, id, visibleItems]);
73
- return (_jsx("div", { className: 'flex flex-1 flex-col gap-8 mx-auto w-full', children: visibleItems.map(([fieldName, fieldValue], i) => {
74
- const error = errors.find((e) => e.id === id + '.' + fieldName)?.error;
75
- const FieldComponent = fieldsMap[fieldValue.config.type];
76
- const field = (_jsx(FieldComponent, { id: id + '.' + fieldName, ref: setRef(i), ...fieldValue, defaultData: defaultDataExtractor(fieldName, props.defaultData) }));
77
- const Tags = () => (_jsxs("div", { className: 'flex items-center gap-2', children: [fieldValue.isTranslatable && _jsx(Languages, { size: 16 }), fieldValue.isRequired && _jsx(Shield, { size: 16 })] }));
78
- const canCollapse = fieldValue.config.ui === 'ContentType' &&
79
- fieldValue.only === 'new' &&
80
- collapsible;
81
- if (canCollapse) {
82
- return (_jsx(Collapsible, { defaultOpen: true, children: _jsxs(Card, { className: errorStyle({ error: !!error }), children: [_jsx(CardHeader, { className: 'gap-0', children: _jsx(CollapsibleTrigger, { children: _jsxs("div", { className: 'flex justify-between items-center cursor-pointer', children: [_jsxs(CardTitle, { className: 'flex items-center gap-2 ', children: [_jsx(Button, { variant: 'ghost', size: 'icon', className: 'size-8', asChild: true, children: _jsxs("div", { children: [_jsx(ChevronsUpDown, {}), _jsx("span", { className: 'sr-only', children: "Toggle" })] }) }), decodeCamelCase(fieldName)] }), _jsx(Tags, {})] }) }) }), _jsx(CollapsibleContent, { forceMount: true, className: 'data-[state=closed]:hidden', children: _jsx(CardContent, { children: field }) })] }) }, fieldName));
83
- }
84
- return (_jsxs("div", { className: canCollapse ? 'bg-red-600' : undefined, children: [hideTitle ? null : (_jsxs(CardTitle, { className: 'flex justify-between items-center gap-2 mb-4', children: [decodeCamelCase(fieldName), _jsx(Tags, {})] })), field] }, fieldName));
85
- }) }));
113
+ }), [addError, allItems, contentType.name, formState, id, visibleFieldNames]);
114
+ return (_jsx(ConditionFieldStateProvider, { value: { onFieldStateChange: handleFieldStateChange }, children: _jsx("div", { className: 'flex flex-1 flex-col gap-8 mx-auto w-full', children: allItems.map(([fieldName, fieldValue], i) => {
115
+ const isVisible = visibleFieldNames.has(fieldName);
116
+ if (!isVisible) {
117
+ return null;
118
+ }
119
+ const error = errors.find((e) => e.id === id + '.' + fieldName)?.error;
120
+ const FieldComponent = fieldsMap[fieldValue.config.type];
121
+ const field = (_jsx(FieldComponent, { id: id + '.' + fieldName, ref: setRef(i), ...fieldValue, defaultData: defaultDataExtractor(fieldName, props.defaultData), parentContentType: contentType }));
122
+ const Tags = () => (_jsxs("div", { className: 'flex items-center gap-2', children: [fieldValue.isTranslatable && _jsx(Languages, { size: 16 }), fieldValue.isRequired && _jsx(Shield, { size: 16 })] }));
123
+ const canCollapse = fieldValue.config.ui === 'ContentType' &&
124
+ fieldValue.only === 'new' &&
125
+ collapsible;
126
+ if (canCollapse) {
127
+ return (_jsx(Collapsible, { defaultOpen: true, children: _jsxs(Card, { className: errorStyle({ error: !!error }), children: [_jsx(CardHeader, { className: 'gap-0', children: _jsx(CollapsibleTrigger, { children: _jsxs("div", { className: 'flex justify-between items-center cursor-pointer', children: [_jsxs(CardTitle, { className: 'flex items-center gap-2 ', children: [_jsx(Button, { variant: 'ghost', size: 'icon', className: 'size-8', asChild: true, children: _jsxs("div", { children: [_jsx(ChevronsUpDown, {}), _jsx("span", { className: 'sr-only', children: "Toggle" })] }) }), decodeCamelCase(fieldName)] }), _jsx(Tags, {})] }) }) }), _jsx(CollapsibleContent, { forceMount: true, className: 'data-[state=closed]:hidden', children: _jsx(CardContent, { children: field }) })] }) }, fieldName));
128
+ }
129
+ return (_jsxs("div", { className: canCollapse ? 'bg-red-600' : undefined, children: [hideTitle ? null : (_jsxs(CardTitle, { className: 'flex justify-between items-center gap-2 mb-4', children: [decodeCamelCase(fieldName), _jsx(Tags, {})] })), field] }, fieldName));
130
+ }) }) }));
86
131
  });
87
132
  export default ContentTypeEdit;
88
133
  //# sourceMappingURL=ContentTypeEdit.js.map