@rakun-kit/manager-react 1.2.0 → 1.3.1

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 (728) 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 +13 -5
  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 +7 -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/search-input.js +11 -0
  54. package/dist/cjs/components/search-input.js.map +1 -0
  55. package/dist/cjs/components/ui/button.js +59 -13
  56. package/dist/cjs/components/ui/button.js.map +1 -1
  57. package/dist/cjs/components/ui/data-table.js +16 -21
  58. package/dist/cjs/components/ui/data-table.js.map +1 -1
  59. package/dist/cjs/components/ui/scroll-area.js +1 -1
  60. package/dist/cjs/components/ui/scroll-area.js.map +1 -1
  61. package/dist/cjs/components/ui/sidebar.js +31 -32
  62. package/dist/cjs/components/ui/sidebar.js.map +1 -1
  63. package/dist/cjs/components/ui/skeleton.js +1 -1
  64. package/dist/cjs/components/ui/skeleton.js.map +1 -1
  65. package/dist/cjs/components/ui/tour.js +981 -0
  66. package/dist/cjs/components/ui/tour.js.map +1 -0
  67. package/dist/cjs/components/user-avatar.js +39 -0
  68. package/dist/cjs/components/user-avatar.js.map +1 -0
  69. package/dist/cjs/help/manager-help.js +131 -0
  70. package/dist/cjs/help/manager-help.js.map +1 -0
  71. package/dist/cjs/help/registry.js +39 -0
  72. package/dist/cjs/help/registry.js.map +1 -0
  73. package/dist/cjs/help/types.js +3 -0
  74. package/dist/cjs/help/types.js.map +1 -0
  75. package/dist/cjs/layouts.js +3 -2
  76. package/dist/cjs/layouts.js.map +1 -1
  77. package/dist/cjs/lib/media.js +9 -0
  78. package/dist/cjs/lib/media.js.map +1 -1
  79. package/dist/cjs/media.js +9 -0
  80. package/dist/cjs/media.js.map +1 -1
  81. package/dist/cjs/router/dashboard/[contentType]/(list)/columns.js +57 -5
  82. package/dist/cjs/router/dashboard/[contentType]/(list)/columns.js.map +1 -1
  83. package/dist/cjs/router/dashboard/[contentType]/(list)/delete.js +5 -3
  84. package/dist/cjs/router/dashboard/[contentType]/(list)/delete.js.map +1 -1
  85. package/dist/cjs/router/dashboard/[contentType]/(list)/list.js +269 -19
  86. package/dist/cjs/router/dashboard/[contentType]/(list)/list.js.map +1 -1
  87. package/dist/cjs/router/dashboard/[contentType]/(list)/screen.js +1 -1
  88. package/dist/cjs/router/dashboard/[contentType]/(list)/screen.js.map +1 -1
  89. package/dist/cjs/router/dashboard/[contentType]/(list)/tour.js +24 -0
  90. package/dist/cjs/router/dashboard/[contentType]/(list)/tour.js.map +1 -0
  91. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +70 -25
  92. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  93. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js +45 -0
  94. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js.map +1 -0
  95. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +19 -0
  96. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -0
  97. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +33 -0
  98. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -0
  99. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +20 -0
  100. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -0
  101. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js +83 -0
  102. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js.map +1 -0
  103. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js +14 -0
  104. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js.map +1 -0
  105. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/Versions.js +371 -0
  106. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/Versions.js.map +1 -0
  107. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +206 -0
  108. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -0
  109. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js +2 -2
  110. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js.map +1 -1
  111. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js +2 -2
  112. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js.map +1 -1
  113. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js +2 -2
  114. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js.map +1 -1
  115. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +114 -44
  116. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  117. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +3 -3
  118. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  119. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +18 -1
  120. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  121. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js +2 -2
  122. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js.map +1 -1
  123. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js +117 -0
  124. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js.map +1 -0
  125. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js +2 -0
  126. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js.map +1 -1
  127. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js +2 -2
  128. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js.map +1 -1
  129. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js +2 -2
  130. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js.map +1 -1
  131. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js +2 -2
  132. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js.map +1 -1
  133. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js +2 -2
  134. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js.map +1 -1
  135. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js +2 -2
  136. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js.map +1 -1
  137. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js +2 -2
  138. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js.map +1 -1
  139. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js +5 -0
  140. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js.map +1 -1
  141. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js +9 -0
  142. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js.map +1 -0
  143. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js +50 -0
  144. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js.map +1 -0
  145. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +165 -0
  146. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -0
  147. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +230 -0
  148. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -0
  149. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js +38 -0
  150. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js.map +1 -0
  151. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js +59 -0
  152. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js.map +1 -0
  153. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js +33 -0
  154. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js.map +1 -0
  155. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js +92 -0
  156. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js.map +1 -0
  157. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js +34 -0
  158. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js.map +1 -0
  159. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +23 -285
  160. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  161. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.styles.js +12 -0
  162. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.styles.js.map +1 -0
  163. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.types.js +3 -0
  164. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.types.js.map +1 -0
  165. package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js +2 -2
  166. package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
  167. package/dist/cjs/router/dashboard/[contentType]/[edit]/tour.js +36 -0
  168. package/dist/cjs/router/dashboard/[contentType]/[edit]/tour.js.map +1 -0
  169. package/dist/cjs/router/dashboard/[contentType]/create/screen.js +2 -2
  170. package/dist/cjs/router/dashboard/[contentType]/create/screen.js.map +1 -1
  171. package/dist/cjs/router/dashboard/[contentType]/create/tour.js +30 -0
  172. package/dist/cjs/router/dashboard/[contentType]/create/tour.js.map +1 -0
  173. package/dist/cjs/router/dashboard/account/mfa/Mfa.js +1 -1
  174. package/dist/cjs/router/dashboard/account/mfa/Mfa.js.map +1 -1
  175. package/dist/cjs/router/dashboard/account/screen.js +84 -3
  176. package/dist/cjs/router/dashboard/account/screen.js.map +1 -1
  177. package/dist/cjs/router/dashboard/account/sessions/Sessions.js +1 -1
  178. package/dist/cjs/router/dashboard/account/sessions/Sessions.js.map +1 -1
  179. package/dist/cjs/router/dashboard/account/sessions/columns.js +2 -1
  180. package/dist/cjs/router/dashboard/account/sessions/columns.js.map +1 -1
  181. package/dist/cjs/router/dashboard/account/tour.js +30 -0
  182. package/dist/cjs/router/dashboard/account/tour.js.map +1 -0
  183. package/dist/cjs/router/dashboard/api-routes/ApiTest.js +34 -32
  184. package/dist/cjs/router/dashboard/api-routes/ApiTest.js.map +1 -1
  185. package/dist/cjs/router/dashboard/api-routes/SchemaViewer.js +92 -0
  186. package/dist/cjs/router/dashboard/api-routes/SchemaViewer.js.map +1 -0
  187. package/dist/cjs/router/dashboard/api-routes/screen.js +6 -0
  188. package/dist/cjs/router/dashboard/api-routes/screen.js.map +1 -1
  189. package/dist/cjs/router/dashboard/api-routes/shared.js +4 -5
  190. package/dist/cjs/router/dashboard/api-routes/shared.js.map +1 -1
  191. package/dist/cjs/router/dashboard/api-routes/test.js +8 -3
  192. package/dist/cjs/router/dashboard/api-routes/test.js.map +1 -1
  193. package/dist/cjs/router/dashboard/api-routes/tour.js +30 -0
  194. package/dist/cjs/router/dashboard/api-routes/tour.js.map +1 -0
  195. package/dist/cjs/router/dashboard/media/tour.js +30 -0
  196. package/dist/cjs/router/dashboard/media/tour.js.map +1 -0
  197. package/dist/cjs/router/dashboard/settings/languages/columns.js +11 -13
  198. package/dist/cjs/router/dashboard/settings/languages/columns.js.map +1 -1
  199. package/dist/cjs/router/dashboard/settings/languages/screen.js +3 -2
  200. package/dist/cjs/router/dashboard/settings/languages/screen.js.map +1 -1
  201. package/dist/cjs/router/dashboard/settings/literals/screen.js +48 -36
  202. package/dist/cjs/router/dashboard/settings/literals/screen.js.map +1 -1
  203. package/dist/cjs/router/dashboard/settings/literals/tour.js +24 -0
  204. package/dist/cjs/router/dashboard/settings/literals/tour.js.map +1 -0
  205. package/dist/cjs/router/dashboard/settings/redirects/columns.js +2 -1
  206. package/dist/cjs/router/dashboard/settings/redirects/columns.js.map +1 -1
  207. package/dist/cjs/router/dashboard/settings/redirects/screen.js +78 -100
  208. package/dist/cjs/router/dashboard/settings/redirects/screen.js.map +1 -1
  209. package/dist/cjs/router/dashboard/settings/redirects/tour.js +24 -0
  210. package/dist/cjs/router/dashboard/settings/redirects/tour.js.map +1 -0
  211. package/dist/cjs/router/dashboard/settings/robots/columns.js +54 -0
  212. package/dist/cjs/router/dashboard/settings/robots/columns.js.map +1 -0
  213. package/dist/cjs/router/dashboard/settings/robots/index.js +6 -0
  214. package/dist/cjs/router/dashboard/settings/robots/index.js.map +1 -0
  215. package/dist/cjs/router/dashboard/settings/robots/screen.js +180 -0
  216. package/dist/cjs/router/dashboard/settings/robots/screen.js.map +1 -0
  217. package/dist/cjs/router/dashboard/settings/routes/columns.js +3 -2
  218. package/dist/cjs/router/dashboard/settings/routes/columns.js.map +1 -1
  219. package/dist/cjs/router/dashboard/settings/routes/paths/columns.js +17 -7
  220. package/dist/cjs/router/dashboard/settings/routes/paths/columns.js.map +1 -1
  221. package/dist/cjs/router/dashboard/settings/routes/paths/screen.js +33 -2
  222. package/dist/cjs/router/dashboard/settings/routes/paths/screen.js.map +1 -1
  223. package/dist/cjs/router/dashboard/settings/routes/paths/tour.js +24 -0
  224. package/dist/cjs/router/dashboard/settings/routes/paths/tour.js.map +1 -0
  225. package/dist/cjs/router/dashboard/settings/routes/screen.js +10 -9
  226. package/dist/cjs/router/dashboard/settings/routes/screen.js.map +1 -1
  227. package/dist/cjs/router/dashboard/settings/routes/tour.js +24 -0
  228. package/dist/cjs/router/dashboard/settings/routes/tour.js.map +1 -0
  229. package/dist/cjs/router/dashboard/settings/screen.js +29 -6
  230. package/dist/cjs/router/dashboard/settings/screen.js.map +1 -1
  231. package/dist/cjs/router/dashboard/settings/seo/index.js +6 -0
  232. package/dist/cjs/router/dashboard/settings/seo/index.js.map +1 -0
  233. package/dist/cjs/router/dashboard/settings/seo/screen.js +109 -0
  234. package/dist/cjs/router/dashboard/settings/seo/screen.js.map +1 -0
  235. package/dist/cjs/router/dashboard/settings/system/index.js +6 -0
  236. package/dist/cjs/router/dashboard/settings/system/index.js.map +1 -0
  237. package/dist/cjs/router/dashboard/settings/system/screen.js +90 -0
  238. package/dist/cjs/router/dashboard/settings/system/screen.js.map +1 -0
  239. package/dist/cjs/router/dashboard/settings/system/tour.js +24 -0
  240. package/dist/cjs/router/dashboard/settings/system/tour.js.map +1 -0
  241. package/dist/cjs/router/dashboard/settings/tour.js +54 -0
  242. package/dist/cjs/router/dashboard/settings/tour.js.map +1 -0
  243. package/dist/cjs/router/dashboard/settings/user-roles/screen.js +3 -2
  244. package/dist/cjs/router/dashboard/settings/user-roles/screen.js.map +1 -1
  245. package/dist/cjs/router/dashboard/tour.js +30 -0
  246. package/dist/cjs/router/dashboard/tour.js.map +1 -0
  247. package/dist/cjs/router/dashboard/users/columns.js +2 -1
  248. package/dist/cjs/router/dashboard/users/columns.js.map +1 -1
  249. package/dist/cjs/router/dashboard/users/screen.js +8 -7
  250. package/dist/cjs/router/dashboard/users/screen.js.map +1 -1
  251. package/dist/cjs/router/dashboard/users/tour.js +24 -0
  252. package/dist/cjs/router/dashboard/users/tour.js.map +1 -0
  253. package/dist/cjs/router/shared/route-definitions.js +3 -1
  254. package/dist/cjs/router/shared/route-definitions.js.map +1 -1
  255. package/dist/cjs/router/shared/route-list.js +33 -3
  256. package/dist/cjs/router/shared/route-list.js.map +1 -1
  257. package/dist/cjs/router/shared/route-schema.js.map +1 -1
  258. package/dist/cjs/state/theme.js +33 -16
  259. package/dist/cjs/state/theme.js.map +1 -1
  260. package/dist/esm/app/app-provider.d.ts.map +1 -1
  261. package/dist/esm/app/app-provider.js +78 -2
  262. package/dist/esm/app/app-provider.js.map +1 -1
  263. package/dist/esm/app/media-picker.d.ts +3 -0
  264. package/dist/esm/app/media-picker.d.ts.map +1 -0
  265. package/dist/esm/app/media-picker.js +10 -0
  266. package/dist/esm/app/media-picker.js.map +1 -0
  267. package/dist/esm/app/root-providers.d.ts.map +1 -1
  268. package/dist/esm/app/root-providers.js +2 -2
  269. package/dist/esm/app/root-providers.js.map +1 -1
  270. package/dist/esm/app/runtime-app.d.ts +5 -1
  271. package/dist/esm/app/runtime-app.d.ts.map +1 -1
  272. package/dist/esm/app/runtime-app.js +4 -2
  273. package/dist/esm/app/runtime-app.js.map +1 -1
  274. package/dist/esm/client/http.d.ts +2 -1
  275. package/dist/esm/client/http.d.ts.map +1 -1
  276. package/dist/esm/client/http.js +42 -1
  277. package/dist/esm/client/http.js.map +1 -1
  278. package/dist/esm/client/request.d.ts +7 -1
  279. package/dist/esm/client/request.d.ts.map +1 -1
  280. package/dist/esm/client/request.js +2 -1
  281. package/dist/esm/client/request.js.map +1 -1
  282. package/dist/esm/components/LanguageSelector.js +4 -2
  283. package/dist/esm/components/LanguageSelector.js.map +1 -1
  284. package/dist/esm/components/PaginationController.d.ts +1 -0
  285. package/dist/esm/components/PaginationController.d.ts.map +1 -1
  286. package/dist/esm/components/PaginationController.js +13 -5
  287. package/dist/esm/components/PaginationController.js.map +1 -1
  288. package/dist/esm/components/app-sidebar.d.ts +2 -0
  289. package/dist/esm/components/app-sidebar.d.ts.map +1 -1
  290. package/dist/esm/components/app-sidebar.js +14 -8
  291. package/dist/esm/components/app-sidebar.js.map +1 -1
  292. package/dist/esm/components/boolean-indicator.d.ts +7 -0
  293. package/dist/esm/components/boolean-indicator.d.ts.map +1 -0
  294. package/dist/esm/components/boolean-indicator.js +11 -0
  295. package/dist/esm/components/boolean-indicator.js.map +1 -0
  296. package/dist/esm/components/manager-loading-fallback.d.ts.map +1 -1
  297. package/dist/esm/components/manager-loading-fallback.js +1 -1
  298. package/dist/esm/components/manager-loading-fallback.js.map +1 -1
  299. package/dist/esm/components/media/MediaLibrary.d.ts +1 -1
  300. package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
  301. package/dist/esm/components/media/MediaLibrary.js +11 -6
  302. package/dist/esm/components/media/MediaLibrary.js.map +1 -1
  303. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +2 -0
  304. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
  305. package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
  306. package/dist/esm/components/media/folders/FoldersTree.d.ts.map +1 -1
  307. package/dist/esm/components/media/folders/FoldersTree.js +8 -9
  308. package/dist/esm/components/media/folders/FoldersTree.js.map +1 -1
  309. package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
  310. package/dist/esm/components/media/previews/MediaContextMenuContent.js +4 -3
  311. package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
  312. package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
  313. package/dist/esm/components/media/previews/Previews.js +344 -77
  314. package/dist/esm/components/media/previews/Previews.js.map +1 -1
  315. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +11 -0
  316. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
  317. package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  318. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts +8 -2
  319. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
  320. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +43 -19
  321. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  322. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.d.ts +1 -0
  323. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.d.ts.map +1 -1
  324. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.js +10 -1
  325. package/dist/esm/components/media/previews/dialogs/MediaDeleteDialog.js.map +1 -1
  326. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.d.ts +11 -0
  327. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.d.ts.map +1 -0
  328. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.js +415 -0
  329. package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.js.map +1 -0
  330. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.d.ts +2 -1
  331. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.d.ts.map +1 -1
  332. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.js +6 -2
  333. package/dist/esm/components/media/previews/dialogs/MediaMoveDialog.js.map +1 -1
  334. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts +1 -0
  335. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
  336. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +14 -8
  337. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  338. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.d.ts +1 -1
  339. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.d.ts.map +1 -1
  340. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.js +2 -2
  341. package/dist/esm/components/media/previews/views/PreviewsGridLargeView.js.map +1 -1
  342. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.d.ts +1 -1
  343. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.d.ts.map +1 -1
  344. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.js +2 -2
  345. package/dist/esm/components/media/previews/views/PreviewsGridSmallView.js.map +1 -1
  346. package/dist/esm/components/media/previews/views/PreviewsListView.d.ts.map +1 -1
  347. package/dist/esm/components/media/previews/views/PreviewsListView.js +15 -2
  348. package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
  349. package/dist/esm/components/nav-secondary.d.ts +2 -0
  350. package/dist/esm/components/nav-secondary.d.ts.map +1 -1
  351. package/dist/esm/components/nav-secondary.js +5 -2
  352. package/dist/esm/components/nav-secondary.js.map +1 -1
  353. package/dist/esm/components/nav-user.d.ts.map +1 -1
  354. package/dist/esm/components/nav-user.js +21 -18
  355. package/dist/esm/components/nav-user.js.map +1 -1
  356. package/dist/esm/components/search-input.d.ts +9 -0
  357. package/dist/esm/components/search-input.d.ts.map +1 -0
  358. package/dist/esm/components/search-input.js +7 -0
  359. package/dist/esm/components/search-input.js.map +1 -0
  360. package/dist/esm/components/ui/button.d.ts +1 -1
  361. package/dist/esm/components/ui/button.d.ts.map +1 -1
  362. package/dist/esm/components/ui/button.js +27 -14
  363. package/dist/esm/components/ui/button.js.map +1 -1
  364. package/dist/esm/components/ui/data-table.d.ts +5 -2
  365. package/dist/esm/components/ui/data-table.d.ts.map +1 -1
  366. package/dist/esm/components/ui/data-table.js +17 -22
  367. package/dist/esm/components/ui/data-table.js.map +1 -1
  368. package/dist/esm/components/ui/scroll-area.js +1 -1
  369. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  370. package/dist/esm/components/ui/sidebar.d.ts.map +1 -1
  371. package/dist/esm/components/ui/sidebar.js +33 -34
  372. package/dist/esm/components/ui/sidebar.js.map +1 -1
  373. package/dist/esm/components/ui/skeleton.js +1 -1
  374. package/dist/esm/components/ui/skeleton.js.map +1 -1
  375. package/dist/esm/components/ui/tabs.d.ts +1 -1
  376. package/dist/esm/components/ui/tour.d.ts +105 -0
  377. package/dist/esm/components/ui/tour.d.ts.map +1 -0
  378. package/dist/esm/components/ui/tour.js +932 -0
  379. package/dist/esm/components/ui/tour.js.map +1 -0
  380. package/dist/esm/components/user-avatar.d.ts +13 -0
  381. package/dist/esm/components/user-avatar.d.ts.map +1 -0
  382. package/dist/esm/components/user-avatar.js +36 -0
  383. package/dist/esm/components/user-avatar.js.map +1 -0
  384. package/dist/esm/help/manager-help.d.ts +16 -0
  385. package/dist/esm/help/manager-help.d.ts.map +1 -0
  386. package/dist/esm/help/manager-help.js +127 -0
  387. package/dist/esm/help/manager-help.js.map +1 -0
  388. package/dist/esm/help/registry.d.ts +5 -0
  389. package/dist/esm/help/registry.d.ts.map +1 -0
  390. package/dist/esm/help/registry.js +35 -0
  391. package/dist/esm/help/registry.js.map +1 -0
  392. package/dist/esm/help/types.d.ts +16 -0
  393. package/dist/esm/help/types.d.ts.map +1 -0
  394. package/dist/esm/help/types.js +2 -0
  395. package/dist/esm/help/types.js.map +1 -0
  396. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +1 -1
  397. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  398. package/dist/esm/layouts.d.ts +7 -4
  399. package/dist/esm/layouts.d.ts.map +1 -1
  400. package/dist/esm/layouts.js +8 -7
  401. package/dist/esm/layouts.js.map +1 -1
  402. package/dist/esm/lib/media.d.ts +14 -0
  403. package/dist/esm/lib/media.d.ts.map +1 -1
  404. package/dist/esm/lib/media.js +9 -0
  405. package/dist/esm/lib/media.js.map +1 -1
  406. package/dist/esm/media.d.ts +14 -0
  407. package/dist/esm/media.d.ts.map +1 -1
  408. package/dist/esm/media.js +9 -0
  409. package/dist/esm/media.js.map +1 -1
  410. package/dist/esm/router/dashboard/[contentType]/(list)/columns.d.ts +10 -1
  411. package/dist/esm/router/dashboard/[contentType]/(list)/columns.d.ts.map +1 -1
  412. package/dist/esm/router/dashboard/[contentType]/(list)/columns.js +58 -6
  413. package/dist/esm/router/dashboard/[contentType]/(list)/columns.js.map +1 -1
  414. package/dist/esm/router/dashboard/[contentType]/(list)/delete.d.ts +1 -0
  415. package/dist/esm/router/dashboard/[contentType]/(list)/delete.d.ts.map +1 -1
  416. package/dist/esm/router/dashboard/[contentType]/(list)/delete.js +5 -3
  417. package/dist/esm/router/dashboard/[contentType]/(list)/delete.js.map +1 -1
  418. package/dist/esm/router/dashboard/[contentType]/(list)/list.d.ts +1 -0
  419. package/dist/esm/router/dashboard/[contentType]/(list)/list.d.ts.map +1 -1
  420. package/dist/esm/router/dashboard/[contentType]/(list)/list.js +270 -20
  421. package/dist/esm/router/dashboard/[contentType]/(list)/list.js.map +1 -1
  422. package/dist/esm/router/dashboard/[contentType]/(list)/screen.d.ts +2 -1
  423. package/dist/esm/router/dashboard/[contentType]/(list)/screen.d.ts.map +1 -1
  424. package/dist/esm/router/dashboard/[contentType]/(list)/screen.js +1 -1
  425. package/dist/esm/router/dashboard/[contentType]/(list)/screen.js.map +1 -1
  426. package/dist/esm/router/dashboard/[contentType]/(list)/tour.d.ts +3 -0
  427. package/dist/esm/router/dashboard/[contentType]/(list)/tour.d.ts.map +1 -0
  428. package/dist/esm/router/dashboard/[contentType]/(list)/tour.js +21 -0
  429. package/dist/esm/router/dashboard/[contentType]/(list)/tour.js.map +1 -0
  430. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts +1 -0
  431. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
  432. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +71 -26
  433. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  434. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.d.ts +2 -0
  435. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.d.ts.map +1 -0
  436. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js +41 -0
  437. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/DocumentTranslationDialog.js.map +1 -0
  438. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts +2 -0
  439. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -0
  440. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +12 -0
  441. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -0
  442. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts +2 -0
  443. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -0
  444. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +29 -0
  445. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -0
  446. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts +2 -0
  447. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -0
  448. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +16 -0
  449. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -0
  450. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.d.ts +5 -0
  451. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.d.ts.map +1 -0
  452. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js +79 -0
  453. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js.map +1 -0
  454. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.d.ts +2 -0
  455. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.d.ts.map +1 -0
  456. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js +10 -0
  457. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/TrashDialogs.js.map +1 -0
  458. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.d.ts +8 -0
  459. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.d.ts.map +1 -0
  460. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.js +367 -0
  461. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/Versions.js.map +1 -0
  462. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +45 -0
  463. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -0
  464. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +201 -0
  465. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -0
  466. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js +1 -1
  467. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateTimeUI.js.map +1 -1
  468. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js +1 -1
  469. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/DateUI.js.map +1 -1
  470. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js +1 -1
  471. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Date/TimeUI.js.map +1 -1
  472. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
  473. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +115 -45
  474. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  475. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +1 -1
  476. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  477. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.d.ts.map +1 -1
  478. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +18 -1
  479. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  480. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js +1 -1
  481. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/NumberField/NumberUI.js.map +1 -1
  482. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.d.ts +4 -0
  483. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.d.ts.map +1 -0
  484. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js +79 -0
  485. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/SelfRelationUI.js.map +1 -0
  486. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.d.ts +2 -0
  487. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.d.ts.map +1 -1
  488. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js +2 -0
  489. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/index.js.map +1 -1
  490. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js +1 -1
  491. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/EmailUI.js.map +1 -1
  492. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js +1 -1
  493. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/PasswordUI.js.map +1 -1
  494. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js +1 -1
  495. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/SlugUI.js.map +1 -1
  496. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js +1 -1
  497. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextUI.js.map +1 -1
  498. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js +1 -1
  499. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/TextareaUI.js.map +1 -1
  500. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js +1 -1
  501. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/UrlUi.js.map +1 -1
  502. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.d.ts.map +1 -1
  503. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js +6 -1
  504. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js.map +1 -1
  505. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.d.ts +7 -0
  506. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.d.ts.map +1 -0
  507. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js +5 -0
  508. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js.map +1 -0
  509. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.d.ts +3 -0
  510. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.d.ts.map +1 -0
  511. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js +46 -0
  512. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition.js.map +1 -0
  513. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts +35 -0
  514. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -0
  515. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +161 -0
  516. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -0
  517. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +38 -0
  518. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -0
  519. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +226 -0
  520. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -0
  521. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.d.ts +11 -0
  522. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.d.ts.map +1 -0
  523. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js +34 -0
  524. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentTypeSections.js.map +1 -0
  525. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.d.ts +26 -0
  526. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.d.ts.map +1 -0
  527. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js +55 -0
  528. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditFormController.js.map +1 -0
  529. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.d.ts +15 -0
  530. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.d.ts.map +1 -0
  531. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js +29 -0
  532. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useEditTabErrors.js.map +1 -0
  533. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts +17 -0
  534. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -0
  535. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js +88 -0
  536. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.js.map +1 -0
  537. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.d.ts +19 -0
  538. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.d.ts.map +1 -0
  539. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js +30 -0
  540. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useTranslationDialogState.js.map +1 -0
  541. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts +2 -9
  542. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
  543. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +26 -284
  544. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  545. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.d.ts +4 -0
  546. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.d.ts.map +1 -0
  547. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.js +9 -0
  548. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.styles.js.map +1 -0
  549. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts +44 -0
  550. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts.map +1 -0
  551. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.js +2 -0
  552. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.js.map +1 -0
  553. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts +3 -1
  554. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts.map +1 -1
  555. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js +2 -2
  556. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
  557. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.d.ts +3 -0
  558. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.d.ts.map +1 -0
  559. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.js +33 -0
  560. package/dist/esm/router/dashboard/[contentType]/[edit]/tour.js.map +1 -0
  561. package/dist/esm/router/dashboard/[contentType]/create/screen.d.ts +3 -1
  562. package/dist/esm/router/dashboard/[contentType]/create/screen.d.ts.map +1 -1
  563. package/dist/esm/router/dashboard/[contentType]/create/screen.js +2 -2
  564. package/dist/esm/router/dashboard/[contentType]/create/screen.js.map +1 -1
  565. package/dist/esm/router/dashboard/[contentType]/create/tour.d.ts +3 -0
  566. package/dist/esm/router/dashboard/[contentType]/create/tour.d.ts.map +1 -0
  567. package/dist/esm/router/dashboard/[contentType]/create/tour.js +27 -0
  568. package/dist/esm/router/dashboard/[contentType]/create/tour.js.map +1 -0
  569. package/dist/esm/router/dashboard/account/mfa/Mfa.js +1 -1
  570. package/dist/esm/router/dashboard/account/mfa/Mfa.js.map +1 -1
  571. package/dist/esm/router/dashboard/account/screen.d.ts.map +1 -1
  572. package/dist/esm/router/dashboard/account/screen.js +83 -2
  573. package/dist/esm/router/dashboard/account/screen.js.map +1 -1
  574. package/dist/esm/router/dashboard/account/sessions/Sessions.js +1 -1
  575. package/dist/esm/router/dashboard/account/sessions/Sessions.js.map +1 -1
  576. package/dist/esm/router/dashboard/account/sessions/columns.d.ts.map +1 -1
  577. package/dist/esm/router/dashboard/account/sessions/columns.js +3 -2
  578. package/dist/esm/router/dashboard/account/sessions/columns.js.map +1 -1
  579. package/dist/esm/router/dashboard/account/tour.d.ts +3 -0
  580. package/dist/esm/router/dashboard/account/tour.d.ts.map +1 -0
  581. package/dist/esm/router/dashboard/account/tour.js +27 -0
  582. package/dist/esm/router/dashboard/account/tour.js.map +1 -0
  583. package/dist/esm/router/dashboard/api-routes/ApiTest.d.ts +1 -1
  584. package/dist/esm/router/dashboard/api-routes/ApiTest.d.ts.map +1 -1
  585. package/dist/esm/router/dashboard/api-routes/ApiTest.js +37 -35
  586. package/dist/esm/router/dashboard/api-routes/ApiTest.js.map +1 -1
  587. package/dist/esm/router/dashboard/api-routes/SchemaViewer.d.ts +4 -0
  588. package/dist/esm/router/dashboard/api-routes/SchemaViewer.d.ts.map +1 -0
  589. package/dist/esm/router/dashboard/api-routes/SchemaViewer.js +89 -0
  590. package/dist/esm/router/dashboard/api-routes/SchemaViewer.js.map +1 -0
  591. package/dist/esm/router/dashboard/api-routes/screen.d.ts.map +1 -1
  592. package/dist/esm/router/dashboard/api-routes/screen.js +6 -0
  593. package/dist/esm/router/dashboard/api-routes/screen.js.map +1 -1
  594. package/dist/esm/router/dashboard/api-routes/shared.d.ts +2 -4
  595. package/dist/esm/router/dashboard/api-routes/shared.d.ts.map +1 -1
  596. package/dist/esm/router/dashboard/api-routes/shared.js +4 -2
  597. package/dist/esm/router/dashboard/api-routes/shared.js.map +1 -1
  598. package/dist/esm/router/dashboard/api-routes/test.d.ts +6 -3
  599. package/dist/esm/router/dashboard/api-routes/test.d.ts.map +1 -1
  600. package/dist/esm/router/dashboard/api-routes/test.js +8 -3
  601. package/dist/esm/router/dashboard/api-routes/test.js.map +1 -1
  602. package/dist/esm/router/dashboard/api-routes/tour.d.ts +3 -0
  603. package/dist/esm/router/dashboard/api-routes/tour.d.ts.map +1 -0
  604. package/dist/esm/router/dashboard/api-routes/tour.js +27 -0
  605. package/dist/esm/router/dashboard/api-routes/tour.js.map +1 -0
  606. package/dist/esm/router/dashboard/media/tour.d.ts +3 -0
  607. package/dist/esm/router/dashboard/media/tour.d.ts.map +1 -0
  608. package/dist/esm/router/dashboard/media/tour.js +27 -0
  609. package/dist/esm/router/dashboard/media/tour.js.map +1 -0
  610. package/dist/esm/router/dashboard/settings/languages/columns.d.ts.map +1 -1
  611. package/dist/esm/router/dashboard/settings/languages/columns.js +12 -14
  612. package/dist/esm/router/dashboard/settings/languages/columns.js.map +1 -1
  613. package/dist/esm/router/dashboard/settings/languages/screen.d.ts.map +1 -1
  614. package/dist/esm/router/dashboard/settings/languages/screen.js +3 -2
  615. package/dist/esm/router/dashboard/settings/languages/screen.js.map +1 -1
  616. package/dist/esm/router/dashboard/settings/literals/screen.d.ts.map +1 -1
  617. package/dist/esm/router/dashboard/settings/literals/screen.js +64 -52
  618. package/dist/esm/router/dashboard/settings/literals/screen.js.map +1 -1
  619. package/dist/esm/router/dashboard/settings/literals/tour.d.ts +3 -0
  620. package/dist/esm/router/dashboard/settings/literals/tour.d.ts.map +1 -0
  621. package/dist/esm/router/dashboard/settings/literals/tour.js +21 -0
  622. package/dist/esm/router/dashboard/settings/literals/tour.js.map +1 -0
  623. package/dist/esm/router/dashboard/settings/redirects/columns.d.ts.map +1 -1
  624. package/dist/esm/router/dashboard/settings/redirects/columns.js +3 -2
  625. package/dist/esm/router/dashboard/settings/redirects/columns.js.map +1 -1
  626. package/dist/esm/router/dashboard/settings/redirects/screen.d.ts.map +1 -1
  627. package/dist/esm/router/dashboard/settings/redirects/screen.js +101 -123
  628. package/dist/esm/router/dashboard/settings/redirects/screen.js.map +1 -1
  629. package/dist/esm/router/dashboard/settings/redirects/tour.d.ts +3 -0
  630. package/dist/esm/router/dashboard/settings/redirects/tour.d.ts.map +1 -0
  631. package/dist/esm/router/dashboard/settings/redirects/tour.js +21 -0
  632. package/dist/esm/router/dashboard/settings/redirects/tour.js.map +1 -0
  633. package/dist/esm/router/dashboard/settings/robots/columns.d.ts +20 -0
  634. package/dist/esm/router/dashboard/settings/robots/columns.d.ts.map +1 -0
  635. package/dist/esm/router/dashboard/settings/robots/columns.js +50 -0
  636. package/dist/esm/router/dashboard/settings/robots/columns.js.map +1 -0
  637. package/dist/esm/router/dashboard/settings/robots/index.d.ts +2 -0
  638. package/dist/esm/router/dashboard/settings/robots/index.d.ts.map +1 -0
  639. package/dist/esm/router/dashboard/settings/robots/index.js +2 -0
  640. package/dist/esm/router/dashboard/settings/robots/index.js.map +1 -0
  641. package/dist/esm/router/dashboard/settings/robots/screen.d.ts +2 -0
  642. package/dist/esm/router/dashboard/settings/robots/screen.d.ts.map +1 -0
  643. package/dist/esm/router/dashboard/settings/robots/screen.js +173 -0
  644. package/dist/esm/router/dashboard/settings/robots/screen.js.map +1 -0
  645. package/dist/esm/router/dashboard/settings/routes/columns.d.ts.map +1 -1
  646. package/dist/esm/router/dashboard/settings/routes/columns.js +4 -3
  647. package/dist/esm/router/dashboard/settings/routes/columns.js.map +1 -1
  648. package/dist/esm/router/dashboard/settings/routes/paths/columns.d.ts.map +1 -1
  649. package/dist/esm/router/dashboard/settings/routes/paths/columns.js +18 -8
  650. package/dist/esm/router/dashboard/settings/routes/paths/columns.js.map +1 -1
  651. package/dist/esm/router/dashboard/settings/routes/paths/screen.d.ts.map +1 -1
  652. package/dist/esm/router/dashboard/settings/routes/paths/screen.js +34 -3
  653. package/dist/esm/router/dashboard/settings/routes/paths/screen.js.map +1 -1
  654. package/dist/esm/router/dashboard/settings/routes/paths/tour.d.ts +3 -0
  655. package/dist/esm/router/dashboard/settings/routes/paths/tour.d.ts.map +1 -0
  656. package/dist/esm/router/dashboard/settings/routes/paths/tour.js +21 -0
  657. package/dist/esm/router/dashboard/settings/routes/paths/tour.js.map +1 -0
  658. package/dist/esm/router/dashboard/settings/routes/screen.d.ts.map +1 -1
  659. package/dist/esm/router/dashboard/settings/routes/screen.js +10 -9
  660. package/dist/esm/router/dashboard/settings/routes/screen.js.map +1 -1
  661. package/dist/esm/router/dashboard/settings/routes/tour.d.ts +3 -0
  662. package/dist/esm/router/dashboard/settings/routes/tour.d.ts.map +1 -0
  663. package/dist/esm/router/dashboard/settings/routes/tour.js +21 -0
  664. package/dist/esm/router/dashboard/settings/routes/tour.js.map +1 -0
  665. package/dist/esm/router/dashboard/settings/screen.d.ts.map +1 -1
  666. package/dist/esm/router/dashboard/settings/screen.js +30 -7
  667. package/dist/esm/router/dashboard/settings/screen.js.map +1 -1
  668. package/dist/esm/router/dashboard/settings/seo/index.d.ts +2 -0
  669. package/dist/esm/router/dashboard/settings/seo/index.d.ts.map +1 -0
  670. package/dist/esm/router/dashboard/settings/seo/index.js +2 -0
  671. package/dist/esm/router/dashboard/settings/seo/index.js.map +1 -0
  672. package/dist/esm/router/dashboard/settings/seo/screen.d.ts +2 -0
  673. package/dist/esm/router/dashboard/settings/seo/screen.d.ts.map +1 -0
  674. package/dist/esm/router/dashboard/settings/seo/screen.js +102 -0
  675. package/dist/esm/router/dashboard/settings/seo/screen.js.map +1 -0
  676. package/dist/esm/router/dashboard/settings/system/index.d.ts +2 -0
  677. package/dist/esm/router/dashboard/settings/system/index.d.ts.map +1 -0
  678. package/dist/esm/router/dashboard/settings/system/index.js +2 -0
  679. package/dist/esm/router/dashboard/settings/system/index.js.map +1 -0
  680. package/dist/esm/router/dashboard/settings/system/screen.d.ts +2 -0
  681. package/dist/esm/router/dashboard/settings/system/screen.d.ts.map +1 -0
  682. package/dist/esm/router/dashboard/settings/system/screen.js +83 -0
  683. package/dist/esm/router/dashboard/settings/system/screen.js.map +1 -0
  684. package/dist/esm/router/dashboard/settings/system/tour.d.ts +3 -0
  685. package/dist/esm/router/dashboard/settings/system/tour.d.ts.map +1 -0
  686. package/dist/esm/router/dashboard/settings/system/tour.js +21 -0
  687. package/dist/esm/router/dashboard/settings/system/tour.js.map +1 -0
  688. package/dist/esm/router/dashboard/settings/tour.d.ts +20 -0
  689. package/dist/esm/router/dashboard/settings/tour.d.ts.map +1 -0
  690. package/dist/esm/router/dashboard/settings/tour.js +51 -0
  691. package/dist/esm/router/dashboard/settings/tour.js.map +1 -0
  692. package/dist/esm/router/dashboard/settings/user-roles/screen.d.ts.map +1 -1
  693. package/dist/esm/router/dashboard/settings/user-roles/screen.js +3 -2
  694. package/dist/esm/router/dashboard/settings/user-roles/screen.js.map +1 -1
  695. package/dist/esm/router/dashboard/tour.d.ts +3 -0
  696. package/dist/esm/router/dashboard/tour.d.ts.map +1 -0
  697. package/dist/esm/router/dashboard/tour.js +27 -0
  698. package/dist/esm/router/dashboard/tour.js.map +1 -0
  699. package/dist/esm/router/dashboard/users/columns.d.ts.map +1 -1
  700. package/dist/esm/router/dashboard/users/columns.js +3 -2
  701. package/dist/esm/router/dashboard/users/columns.js.map +1 -1
  702. package/dist/esm/router/dashboard/users/screen.d.ts.map +1 -1
  703. package/dist/esm/router/dashboard/users/screen.js +8 -7
  704. package/dist/esm/router/dashboard/users/screen.js.map +1 -1
  705. package/dist/esm/router/dashboard/users/tour.d.ts +3 -0
  706. package/dist/esm/router/dashboard/users/tour.d.ts.map +1 -0
  707. package/dist/esm/router/dashboard/users/tour.js +21 -0
  708. package/dist/esm/router/dashboard/users/tour.js.map +1 -0
  709. package/dist/esm/router/shared/route-definitions.d.ts +8 -2
  710. package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
  711. package/dist/esm/router/shared/route-definitions.js +3 -1
  712. package/dist/esm/router/shared/route-definitions.js.map +1 -1
  713. package/dist/esm/router/shared/route-list.d.ts +1 -1
  714. package/dist/esm/router/shared/route-list.d.ts.map +1 -1
  715. package/dist/esm/router/shared/route-list.js +30 -3
  716. package/dist/esm/router/shared/route-list.js.map +1 -1
  717. package/dist/esm/router/shared/route-schema.d.ts +3 -0
  718. package/dist/esm/router/shared/route-schema.d.ts.map +1 -1
  719. package/dist/esm/router/shared/route-schema.js.map +1 -1
  720. package/dist/esm/router/shared/types.d.ts +12 -1
  721. package/dist/esm/router/shared/types.d.ts.map +1 -1
  722. package/dist/esm/state/theme.d.ts +3 -0
  723. package/dist/esm/state/theme.d.ts.map +1 -1
  724. package/dist/esm/state/theme.js +31 -15
  725. package/dist/esm/state/theme.js.map +1 -1
  726. package/dist/styles.css +876 -135
  727. package/dist/tsconfig.build.tsbuildinfo +1 -1
  728. package/package.json +4 -3
@@ -1,5 +1,38 @@
1
1
  "use strict";
2
2
  'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
3
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
4
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
38
  };
@@ -14,6 +47,7 @@ const sonner_1 = require("sonner");
14
47
  const button_1 = require("../../ui/button.js");
15
48
  const card_1 = require("../../ui/card.js");
16
49
  const context_menu_1 = require("../../ui/context-menu.js");
50
+ const dialog_1 = require("../../ui/dialog.js");
17
51
  const file_upload_1 = require("../../ui/file-upload.js");
18
52
  const scroll_area_1 = require("../../ui/scroll-area.js");
19
53
  const skeleton_1 = require("../../ui/skeleton.js");
@@ -24,21 +58,26 @@ const ExpandedPreviewDialog_1 = __importDefault(require("./dialogs/ExpandedPrevi
24
58
  const MediaCreateFolderDialog_1 = __importDefault(require("./dialogs/MediaCreateFolderDialog.js"));
25
59
  const MediaDeleteDialog_1 = __importDefault(require("./dialogs/MediaDeleteDialog.js"));
26
60
  const MediaEditDialog_1 = __importDefault(require("./dialogs/MediaEditDialog.js"));
61
+ const MediaImageEditorDialog_1 = __importDefault(require("./dialogs/MediaImageEditorDialog.js"));
27
62
  const MediaMoveDialog_1 = __importDefault(require("./dialogs/MediaMoveDialog.js"));
28
63
  const useExpandedPreview_1 = require("./hooks/useExpandedPreview.js");
29
64
  const useMediaPreviewRenderer_1 = require("./hooks/useMediaPreviewRenderer.js");
30
65
  const useMediaUpload_1 = require("./hooks/useMediaUpload.js");
31
- const PreviewsToolbar_1 = __importDefault(require("./toolbar/PreviewsToolbar.js"));
66
+ const PreviewsToolbar_1 = __importStar(require("./toolbar/PreviewsToolbar.js"));
32
67
  const mediaPreview_1 = require("./utils/mediaPreview.js");
33
68
  const PreviewsGridLargeView_1 = __importDefault(require("./views/PreviewsGridLargeView.js"));
34
69
  const PreviewsGridSmallView_1 = __importDefault(require("./views/PreviewsGridSmallView.js"));
35
70
  const PreviewsListView_1 = __importDefault(require("./views/PreviewsListView.js"));
36
71
  const PreviewsViewLoader_1 = __importDefault(require("./views/PreviewsViewLoader.js"));
72
+ const media_1 = require("../../../media.js");
37
73
  const ROOT_FOLDER_VALUE = '__root__';
74
+ const isMediaRecord = (item) => '_type' in item && item._type === 'Media';
75
+ const getActionErrorMessage = (error) => error instanceof Error && error.message ? error.message : 'Action failed';
38
76
  function Previews() {
39
77
  const managerClient = (0, react_2.useManagerClient)();
40
78
  const queryClient = (0, react_query_1.useQueryClient)();
41
- const { currentFolderId, setCurrentFolderId, folders, onCreateFolder, refetchFoldersTree, forcedMediaTypeFilter, externalEditFolderRequest, externalDeleteFolderRequest, selectable, selectedMediaIds, onSelect, onUpload, } = (0, MediaLibraryContext_1.useMediaLibrary)();
79
+ const { uploadMedia } = (0, media_1.useMedia)();
80
+ const { currentFolderId, currentFolderPath, setCurrentFolderId, folders, onCreateFolder, refetchFoldersTree, forcedMediaTypeFilter, externalEditFolderRequest, externalDeleteFolderRequest, selectable, selectedMediaIds, onSelect, onUpload, } = (0, MediaLibraryContext_1.useMediaLibrary)();
42
81
  const [viewMode, setViewMode] = (0, react_1.useState)('grid-sm');
43
82
  const [mediaTypeFilter, setMediaTypeFilter] = (0, react_1.useState)('all');
44
83
  const effectiveMediaTypeFilter = forcedMediaTypeFilter ?? mediaTypeFilter;
@@ -50,11 +89,17 @@ function Previews() {
50
89
  const [editTarget, setEditTarget] = (0, react_1.useState)(null);
51
90
  const [editName, setEditName] = (0, react_1.useState)('');
52
91
  const [moveTarget, setMoveTarget] = (0, react_1.useState)(null);
92
+ const [imageEditTarget, setImageEditTarget] = (0, react_1.useState)(null);
93
+ const [imageEditUrl, setImageEditUrl] = (0, react_1.useState)('');
94
+ const [isSavingImageEdit, setIsSavingImageEdit] = (0, react_1.useState)(false);
53
95
  const [destinationFolderId, setDestinationFolderId] = (0, react_1.useState)('');
96
+ const [selectionMode, setSelectionMode] = (0, react_1.useState)(false);
97
+ const [bulkSelectedIds, setBulkSelectedIds] = (0, react_1.useState)(() => new Set());
98
+ const [bulkDeleteOpen, setBulkDeleteOpen] = (0, react_1.useState)(false);
99
+ const [isBulkDeleting, setIsBulkDeleting] = (0, react_1.useState)(false);
100
+ const [isMoving, setIsMoving] = (0, react_1.useState)(false);
54
101
  const getMediaQueryFilter = (folderId, mediaType) => {
55
- const folderFilter = folderId
56
- ? { 'folder._id': folderId }
57
- : { folder: { $exists: false } };
102
+ const folderFilter = folderId ? { 'folder._id': folderId } : { folder: { $exists: false } };
58
103
  switch (mediaType) {
59
104
  case 'image':
60
105
  return { ...folderFilter, mime: { $regex: '^image/' } };
@@ -63,10 +108,7 @@ function Previews() {
63
108
  case 'document':
64
109
  return {
65
110
  ...folderFilter,
66
- $or: [
67
- { mime: { $regex: '^application/' } },
68
- { mime: { $regex: '^text/' } },
69
- ],
111
+ $or: [{ mime: { $regex: '^application/' } }, { mime: { $regex: '^text/' } }],
70
112
  };
71
113
  default:
72
114
  return folderFilter;
@@ -93,10 +135,13 @@ function Previews() {
93
135
  input: currentFolderId ? { parentId: currentFolderId } : {},
94
136
  });
95
137
  const deleteMutation = (0, react_2.useManagerMutation)('manager.delete');
138
+ const deleteFolderMutation = (0, react_2.useManagerMutation)('manager.media.deleteFolder');
96
139
  const updateMutation = (0, react_2.useManagerMutation)('manager.update');
97
- const media = (data?.items ??
98
- []);
140
+ const media = (data?.items ?? []);
99
141
  const childFoldersData = childFolders;
142
+ const canBulkSelect = !selectable;
143
+ const bulkSelectedIdsList = (0, react_1.useMemo)(() => Array.from(bulkSelectedIds), [bulkSelectedIds]);
144
+ const bulkSelectedCount = bulkSelectedIdsList.length;
100
145
  const folderOptions = (0, react_1.useMemo)(() => [
101
146
  { _id: null, name: 'Base folder', path: '/' },
102
147
  ...[...(folders ?? [])].sort((a, b) => a.path.localeCompare(b.path)),
@@ -119,7 +164,7 @@ function Previews() {
119
164
  return result.url;
120
165
  },
121
166
  });
122
- const { expandedPreview, expandedPreviewUrl, setExpandedPreview, onMediaClick, } = (0, useExpandedPreview_1.useExpandedPreview)({
167
+ const { expandedPreview, expandedPreviewUrl, setExpandedPreview, onMediaClick } = (0, useExpandedPreview_1.useExpandedPreview)({
123
168
  selectable,
124
169
  onSelect,
125
170
  resolveOriginalUrl: async (item) => {
@@ -132,6 +177,67 @@ function Previews() {
132
177
  return result.url;
133
178
  },
134
179
  });
180
+ (0, react_1.useEffect)(() => {
181
+ setSelectionMode(false);
182
+ setBulkSelectedIds(new Set());
183
+ }, [currentFolderId, effectiveMediaTypeFilter]);
184
+ (0, react_1.useEffect)(() => {
185
+ setBulkSelectedIds((prev) => {
186
+ if (prev.size === 0)
187
+ return prev;
188
+ const visibleIds = new Set(media.map((item) => item._id));
189
+ const next = new Set([...prev].filter((id) => visibleIds.has(id)));
190
+ return next.size === prev.size ? prev : next;
191
+ });
192
+ }, [media]);
193
+ (0, react_1.useEffect)(() => {
194
+ if (selectionMode && bulkSelectedCount === 0) {
195
+ setSelectionMode(false);
196
+ }
197
+ }, [selectionMode, bulkSelectedCount]);
198
+ const clearBulkSelection = () => {
199
+ setSelectionMode(false);
200
+ setBulkSelectedIds(new Set());
201
+ };
202
+ const toggleBulkSelection = (item) => {
203
+ if (canBulkSelect) {
204
+ setSelectionMode(true);
205
+ }
206
+ setBulkSelectedIds((prev) => {
207
+ const next = new Set(prev);
208
+ if (next.has(item._id)) {
209
+ next.delete(item._id);
210
+ }
211
+ else {
212
+ next.add(item._id);
213
+ }
214
+ return next;
215
+ });
216
+ };
217
+ const selectVisible = (items, selected) => {
218
+ if (canBulkSelect) {
219
+ setSelectionMode(true);
220
+ }
221
+ setBulkSelectedIds((prev) => {
222
+ const next = new Set(prev);
223
+ for (const item of items) {
224
+ if (selected) {
225
+ next.add(item._id);
226
+ }
227
+ else {
228
+ next.delete(item._id);
229
+ }
230
+ }
231
+ return next;
232
+ });
233
+ };
234
+ const handleMediaClick = (item) => {
235
+ if (canBulkSelect && selectionMode) {
236
+ toggleBulkSelection(item);
237
+ return;
238
+ }
239
+ onMediaClick(item);
240
+ };
135
241
  (0, react_1.useEffect)(() => {
136
242
  if (!externalEditFolderRequest)
137
243
  return;
@@ -149,21 +255,40 @@ function Previews() {
149
255
  contentType: 'MediaFolder',
150
256
  id: externalDeleteFolderRequest.id,
151
257
  name: externalDeleteFolderRequest.name,
258
+ path: externalDeleteFolderRequest.path,
259
+ parentId: externalDeleteFolderRequest.parentId,
152
260
  });
153
261
  }, [externalDeleteFolderRequest]);
154
262
  const handleConfirmDelete = () => {
155
263
  if (!deleteTarget)
156
264
  return;
265
+ if (deleteTarget.contentType === 'MediaFolder') {
266
+ deleteFolderMutation.mutate({
267
+ id: deleteTarget.id,
268
+ recursive: true,
269
+ }, {
270
+ onSuccess: async () => {
271
+ await Promise.all([refetch(), refetchChildFolders(), refetchFoldersTree()]);
272
+ const currentFolder = currentFolderId
273
+ ? folders?.find((folder) => folder._id === currentFolderId)
274
+ : null;
275
+ const deletedPath = deleteTarget.path;
276
+ if (currentFolderId === deleteTarget.id ||
277
+ (deletedPath && currentFolder?.path.startsWith(`${deletedPath}/`))) {
278
+ setCurrentFolderId(deleteTarget.parentId ?? null);
279
+ }
280
+ setDeleteTarget(null);
281
+ sonner_1.toast.success('Folder deleted successfully');
282
+ },
283
+ });
284
+ return;
285
+ }
157
286
  deleteMutation.mutate({
158
287
  contentType: deleteTarget.contentType,
159
288
  id: deleteTarget.id,
160
289
  }, {
161
290
  onSuccess: async () => {
162
- await Promise.all([
163
- refetch(),
164
- refetchChildFolders(),
165
- refetchFoldersTree(),
166
- ]);
291
+ await Promise.all([refetch(), refetchChildFolders(), refetchFoldersTree()]);
167
292
  setDeleteTarget(null);
168
293
  sonner_1.toast.success(`${deleteTarget.contentType === 'MediaFolder' ? 'Folder' : 'File'} deleted successfully`);
169
294
  },
@@ -201,17 +326,29 @@ function Previews() {
201
326
  data: { name: nextName },
202
327
  }, {
203
328
  onSuccess: async () => {
204
- await Promise.all([
205
- refetch(),
206
- refetchChildFolders(),
207
- refetchFoldersTree(),
208
- ]);
329
+ await Promise.all([refetch(), refetchChildFolders(), refetchFoldersTree()]);
209
330
  setEditTarget(null);
210
331
  sonner_1.toast.success(`${editTarget.contentType === 'MediaFolder' ? 'Folder' : 'File'} updated successfully`);
211
332
  },
212
333
  });
213
334
  };
214
- const handleConfirmMove = () => {
335
+ const invalidateMediaLists = async (sourceFolderId, targetFolderId) => {
336
+ await Promise.all(['all', 'image', 'video', 'document'].flatMap((mediaType) => [sourceFolderId, targetFolderId].map((folderId) => queryClient.invalidateQueries({
337
+ queryKey: (0, react_2.createManagerQueryKey)('manager.list', {
338
+ contentType: 'Media',
339
+ query: {
340
+ filter: getMediaQueryFilter(folderId, mediaType),
341
+ options: {
342
+ limit: 'all',
343
+ sort: {
344
+ uploadedAt: 'desc',
345
+ },
346
+ },
347
+ },
348
+ }),
349
+ }))));
350
+ };
351
+ const handleConfirmMove = async () => {
215
352
  if (!moveTarget || !destinationFolderId)
216
353
  return;
217
354
  if (destinationFolderId === (moveTarget.currentFolderId ?? ROOT_FOLDER_VALUE)) {
@@ -220,53 +357,145 @@ function Previews() {
220
357
  }
221
358
  const sourceFolderId = moveTarget.currentFolderId ?? null;
222
359
  const targetFolderId = destinationFolderId === ROOT_FOLDER_VALUE ? null : destinationFolderId;
223
- updateMutation.mutate({
224
- contentType: 'Media',
225
- id: moveTarget.id,
226
- data: destinationFolderId === ROOT_FOLDER_VALUE
227
- ? { folder: null }
228
- : {
229
- folder: {
230
- type: 'existing',
231
- _id: destinationFolderId,
232
- contentType: 'MediaFolder',
233
- },
234
- },
235
- }, {
236
- onSuccess: async () => {
237
- await Promise.all([
238
- refetch(),
239
- ...['all', 'image', 'video', 'document'].flatMap((mediaType) => [sourceFolderId, targetFolderId].map((folderId) => queryClient.invalidateQueries({
240
- queryKey: (0, react_2.createManagerQueryKey)('manager.list', {
241
- contentType: 'Media',
242
- query: {
243
- filter: getMediaQueryFilter(folderId, mediaType),
244
- options: {
245
- limit: 'all',
246
- sort: {
247
- uploadedAt: 'desc',
248
- },
249
- },
360
+ const ids = moveTarget.ids ?? (moveTarget.id ? [moveTarget.id] : []);
361
+ if (ids.length === 0)
362
+ return;
363
+ setIsMoving(true);
364
+ let successCount = 0;
365
+ let failedCount = 0;
366
+ let lastError;
367
+ for (const id of ids) {
368
+ try {
369
+ await updateMutation.mutateAsync({
370
+ contentType: 'Media',
371
+ id,
372
+ data: destinationFolderId === ROOT_FOLDER_VALUE
373
+ ? { folder: null }
374
+ : {
375
+ folder: {
376
+ type: 'existing',
377
+ _id: destinationFolderId,
378
+ contentType: 'MediaFolder',
250
379
  },
251
- }),
252
- }))),
253
- ]);
254
- setMoveTarget(null);
255
- setDestinationFolderId('');
256
- sonner_1.toast.success('File moved successfully');
257
- },
380
+ },
381
+ });
382
+ successCount += 1;
383
+ }
384
+ catch (error) {
385
+ failedCount += 1;
386
+ lastError = error;
387
+ }
388
+ }
389
+ if (successCount > 0) {
390
+ await Promise.all([
391
+ refetch(),
392
+ invalidateMediaLists(sourceFolderId, targetFolderId),
393
+ ]);
394
+ setMoveTarget(null);
395
+ setDestinationFolderId('');
396
+ clearBulkSelection();
397
+ sonner_1.toast.success(`${successCount} file${successCount === 1 ? '' : 's'} moved successfully`);
398
+ }
399
+ if (failedCount > 0) {
400
+ sonner_1.toast.error(`${failedCount} file${failedCount === 1 ? '' : 's'} failed. ${getActionErrorMessage(lastError)}`);
401
+ }
402
+ setIsMoving(false);
403
+ };
404
+ const onRequestDelete = (item) => {
405
+ if (isMediaRecord(item)) {
406
+ setDeleteTarget({
407
+ contentType: 'Media',
408
+ id: item._id,
409
+ name: item.name,
410
+ });
411
+ return;
412
+ }
413
+ setDeleteTarget({
414
+ contentType: 'MediaFolder',
415
+ id: item._id,
416
+ name: item.name,
417
+ path: item.path,
418
+ parentId: item.parentId,
258
419
  });
259
420
  };
260
- const onRequestDelete = (item) => setDeleteTarget({
261
- contentType: '_type' in item && item._type === 'Media' ? 'Media' : 'MediaFolder',
262
- id: item._id,
263
- name: item.name,
264
- });
265
- const onRequestEdit = (item) => handleEdit({
266
- contentType: '_type' in item && item._type === 'Media' ? 'Media' : 'MediaFolder',
267
- id: item._id,
268
- name: item.name,
269
- });
421
+ const onRequestEdit = (item) => {
422
+ if (isMediaRecord(item)) {
423
+ onMediaClick(item);
424
+ return;
425
+ }
426
+ handleEdit({
427
+ contentType: '_type' in item && item._type === 'Media' ? 'Media' : 'MediaFolder',
428
+ id: item._id,
429
+ name: item.name,
430
+ });
431
+ };
432
+ const onRequestImageEdit = async (item) => {
433
+ if (!item.mime.startsWith('image/'))
434
+ return;
435
+ try {
436
+ const url = item.url
437
+ ? item.url
438
+ : (await managerClient.request('manager.media.getUrl', {
439
+ key: item.key,
440
+ access: item.access,
441
+ })).url;
442
+ setImageEditTarget(item);
443
+ setImageEditUrl(url);
444
+ }
445
+ catch (error) {
446
+ sonner_1.toast.error(error instanceof Error ? error.message : 'Could not open image editor');
447
+ }
448
+ };
449
+ const handleSaveImageEdit = async (file) => {
450
+ if (!imageEditTarget)
451
+ return;
452
+ try {
453
+ setIsSavingImageEdit(true);
454
+ await uploadMedia({
455
+ file,
456
+ folderId: currentFolderId || undefined,
457
+ folderPath: currentFolderPath,
458
+ name: file.name,
459
+ access: imageEditTarget.access,
460
+ });
461
+ await refetch();
462
+ setImageEditTarget(null);
463
+ setImageEditUrl('');
464
+ sonner_1.toast.success('Edited image saved');
465
+ }
466
+ catch (error) {
467
+ sonner_1.toast.error(error instanceof Error ? error.message : 'Could not save edited image');
468
+ }
469
+ finally {
470
+ setIsSavingImageEdit(false);
471
+ }
472
+ };
473
+ const handleSavePreviewDetails = async ({ name, title, alt, }) => {
474
+ if (!expandedPreview)
475
+ return;
476
+ try {
477
+ await updateMutation.mutateAsync({
478
+ contentType: 'Media',
479
+ id: expandedPreview._id,
480
+ data: {
481
+ name: name || expandedPreview.name,
482
+ title: title || null,
483
+ alt: alt || null,
484
+ },
485
+ });
486
+ setExpandedPreview({
487
+ ...expandedPreview,
488
+ name: name || expandedPreview.name,
489
+ title: title || undefined,
490
+ alt: alt || undefined,
491
+ });
492
+ await refetch();
493
+ sonner_1.toast.success('Image details saved');
494
+ }
495
+ catch (error) {
496
+ sonner_1.toast.error(error instanceof Error ? error.message : 'Could not save image details');
497
+ }
498
+ };
270
499
  const onRequestMove = (item) => {
271
500
  setMoveTarget({
272
501
  id: item._id,
@@ -275,6 +504,53 @@ function Previews() {
275
504
  });
276
505
  setDestinationFolderId(item.folder?._id ?? ROOT_FOLDER_VALUE);
277
506
  };
507
+ const onRequestSelect = (item) => {
508
+ if (!canBulkSelect)
509
+ return;
510
+ setSelectionMode(true);
511
+ toggleBulkSelection(item);
512
+ };
513
+ const onRequestBulkMove = () => {
514
+ if (bulkSelectedIdsList.length === 0)
515
+ return;
516
+ setMoveTarget({
517
+ ids: bulkSelectedIdsList,
518
+ name: `${bulkSelectedIdsList.length} selected files`,
519
+ currentFolderId: currentFolderId ?? undefined,
520
+ });
521
+ setDestinationFolderId(currentFolderId ?? ROOT_FOLDER_VALUE);
522
+ };
523
+ const handleConfirmBulkDelete = async () => {
524
+ if (bulkSelectedIdsList.length === 0)
525
+ return;
526
+ setIsBulkDeleting(true);
527
+ let successCount = 0;
528
+ let failedCount = 0;
529
+ let lastError;
530
+ for (const id of bulkSelectedIdsList) {
531
+ try {
532
+ await deleteMutation.mutateAsync({
533
+ contentType: 'Media',
534
+ id,
535
+ });
536
+ successCount += 1;
537
+ }
538
+ catch (error) {
539
+ failedCount += 1;
540
+ lastError = error;
541
+ }
542
+ }
543
+ if (successCount > 0) {
544
+ await Promise.all([refetch(), refetchChildFolders(), refetchFoldersTree()]);
545
+ setBulkDeleteOpen(false);
546
+ clearBulkSelection();
547
+ sonner_1.toast.success(`${successCount} file${successCount === 1 ? '' : 's'} deleted successfully`);
548
+ }
549
+ if (failedCount > 0) {
550
+ sonner_1.toast.error(`${failedCount} file${failedCount === 1 ? '' : 's'} failed. ${getActionErrorMessage(lastError)}`);
551
+ }
552
+ setIsBulkDeleting(false);
553
+ };
278
554
  const ViewComponent = viewMode === 'list'
279
555
  ? PreviewsListView_1.default
280
556
  : viewMode === 'grid-sm'
@@ -288,9 +564,20 @@ function Previews() {
288
564
  setMediaTypeFilter,
289
565
  viewMode,
290
566
  setViewMode,
291
- isSelected: (id) => selectedMediaIds?.has(id) ?? false,
292
- onMediaClick,
567
+ isSelected: (id) => bulkSelectedIds.has(id) || (selectedMediaIds?.has(id) ?? false),
568
+ selectionMode,
569
+ bulkSelectedIds,
570
+ bulkSelectedCount,
571
+ canBulkSelect,
572
+ onMediaClick: handleMediaClick,
573
+ onToggleBulkSelection: toggleBulkSelection,
574
+ onSelectVisible: selectVisible,
575
+ onRequestSelect,
576
+ onRequestBulkDelete: () => setBulkDeleteOpen(true),
577
+ onRequestBulkMove,
578
+ onClearSelection: clearBulkSelection,
293
579
  onRequestEdit,
580
+ onRequestImageEdit,
294
581
  onRequestMove,
295
582
  onRequestDelete,
296
583
  renderPreview,
@@ -301,25 +588,38 @@ function Previews() {
301
588
  effectiveMediaTypeFilter,
302
589
  isMediaTypeFilterLocked,
303
590
  viewMode,
591
+ selectionMode,
592
+ bulkSelectedIds,
593
+ bulkSelectedCount,
594
+ canBulkSelect,
304
595
  selectedMediaIds,
305
- onMediaClick,
596
+ handleMediaClick,
597
+ toggleBulkSelection,
598
+ selectVisible,
599
+ onRequestSelect,
600
+ onRequestBulkMove,
601
+ clearBulkSelection,
306
602
  onRequestEdit,
603
+ onRequestImageEdit,
307
604
  onRequestMove,
308
605
  onRequestDelete,
309
606
  renderPreview,
310
607
  ]);
311
- return ((0, jsx_runtime_1.jsx)(scroll_area_1.ScrollArea, { className: 'h-[calc(100%-2.5rem)] w-full', children: (0, jsx_runtime_1.jsxs)(MediaPreviewContext_1.MediaPreviewProvider, { value: mediaPreviewContextValue, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'mb-2 grid w-full grid-cols-2 gap-2 p-1 lg:grid-cols-6', children: [(0, jsx_runtime_1.jsxs)(button_1.Button, { variant: 'outline', disabled: isCreatingFolder, size: 'lg', className: 'justify-start', onClick: () => {
608
+ return ((0, jsx_runtime_1.jsx)(scroll_area_1.ScrollArea, { className: "h-[calc(100%-2.5rem)] w-full", children: (0, jsx_runtime_1.jsxs)(MediaPreviewContext_1.MediaPreviewProvider, { value: mediaPreviewContextValue, children: [(0, jsx_runtime_1.jsxs)("div", { className: "mb-2 grid w-full grid-cols-2 gap-2 p-1 lg:grid-cols-6", "data-tour": "media-folders", children: [(0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", disabled: isCreatingFolder, size: "lg", className: "justify-start", onClick: () => {
312
609
  setIsCreateFolderDialogOpen(true);
313
- }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.FolderPlus, { className: 'size-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'truncate', children: "Create folder" })] }), isLoadingChildFolders
314
- ? Array.from({ length: 4 }).map((_, index) => ((0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2 rounded-lg border bg-card p-2', children: [(0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: 'h-7 w-7 rounded-md' }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: 'h-4 flex-1' })] }, `child-folder-skeleton-${index}`)))
610
+ }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.FolderPlus, { className: "size-4" }), (0, jsx_runtime_1.jsx)("span", { className: "truncate", children: "Create folder" })] }), isLoadingChildFolders
611
+ ? Array.from({ length: 4 }).map((_, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2 rounded-lg border bg-card p-2", children: [(0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "h-7 w-7 rounded-md" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "h-4 flex-1" })] }, `child-folder-skeleton-${index}`)))
315
612
  : childFoldersData?.items?.length
316
- ? childFoldersData.items.map((folder) => ((0, jsx_runtime_1.jsxs)(context_menu_1.ContextMenu, { children: [(0, jsx_runtime_1.jsx)(context_menu_1.ContextMenuTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { type: 'button', variant: 'outline', size: 'lg', className: 'justify-start data-[state=open]:bg-accent/60 data-[state=open]:ring-1 data-[state=open]:ring-primary/30', onClick: () => setCurrentFolderId(folder._id), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Folder, { className: 'size-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'truncate', children: folder.name })] }) }), (0, jsx_runtime_1.jsx)(MediaContextMenuContent_1.default, { item: folder })] }, folder._id)))
317
- : null] }), (0, jsx_runtime_1.jsxs)(file_upload_1.FileUpload, { value: files, onValueChange: setFiles, onUpload: handleUpload, onFileReject: onFileReject, maxFiles: 5, className: 'relative w-full p-1', multiple: true, disabled: isUploading, children: [(0, jsx_runtime_1.jsx)(PreviewsToolbar_1.default, {}), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadList, { className: 'mb-3', children: files.map((file) => ((0, jsx_runtime_1.jsxs)(file_upload_1.FileUploadItem, { value: file, children: [(0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemPreview, {}), (0, jsx_runtime_1.jsxs)("div", { className: 'min-w-0 flex-1', children: [(0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemMetadata, {}), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemProgress, { className: 'mt-2' })] }), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemDelete, { className: 'rounded-md p-1 hover:bg-accent/40', children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: 'size-4' }) })] }, file.name + file.lastModified))) }), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadDropzone, { asChild: true, tabIndex: -1, onClick: (event) => event.preventDefault(), className: 'group/dropzone relative w-full rounded-xl border border-transparent p-0 hover:bg-transparent! focus-visible:bg-transparent! data-dragging:border-primary/40 data-dragging:bg-transparent!', children: (0, jsx_runtime_1.jsxs)("div", { className: 'relative w-full', children: [(0, jsx_runtime_1.jsx)("div", { className: 'pointer-events-none absolute inset-0 z-20 flex items-center justify-center rounded-xl bg-background/50 opacity-0 backdrop-blur transition-opacity duration-200 ease-out group-data-dragging/dropzone:opacity-100', children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-center gap-1 text-center', children: [(0, jsx_runtime_1.jsx)("div", { className: 'flex items-center justify-center rounded-full border p-2.5', children: (0, jsx_runtime_1.jsx)(lucide_react_1.Upload, { className: 'size-6 text-muted-foreground' }) }), (0, jsx_runtime_1.jsx)("p", { className: 'font-medium text-sm', children: "Drag & drop files here" }), (0, jsx_runtime_1.jsx)("p", { className: 'text-muted-foreground text-xs', children: "Upload max 5 files each up to 5MB" })] }) }), isLoading ? (0, jsx_runtime_1.jsx)(PreviewsViewLoader_1.default, { viewMode: viewMode }) : null, !isLoading && media.length === 0 ? ((0, jsx_runtime_1.jsx)(card_1.Card, { className: 'w-full p-8 text-center text-muted-foreground text-sm', children: "No files in this folder yet." })) : null, !isLoading && media.length > 0 ? ((0, jsx_runtime_1.jsx)(ViewComponent, { media: media })) : null] }) })] }), (0, jsx_runtime_1.jsx)(MediaDeleteDialog_1.default, { target: deleteTarget, isLoading: deleteMutation.isPending, onClose: () => setDeleteTarget(null), onConfirm: handleConfirmDelete }), (0, jsx_runtime_1.jsx)(MediaEditDialog_1.default, { target: editTarget, value: editName, isLoading: updateMutation.isPending, onValueChange: setEditName, onClose: () => setEditTarget(null), onConfirm: handleConfirmEdit }), (0, jsx_runtime_1.jsx)(MediaMoveDialog_1.default, { target: moveTarget, folders: folderOptions, value: destinationFolderId, isLoading: updateMutation.isPending, onValueChange: setDestinationFolderId, onClose: () => {
613
+ ? childFoldersData.items.map((folder) => ((0, jsx_runtime_1.jsxs)(context_menu_1.ContextMenu, { children: [(0, jsx_runtime_1.jsx)(context_menu_1.ContextMenuTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { type: "button", variant: "outline", size: "lg", className: "justify-start data-[state=open]:bg-accent/60 data-[state=open]:ring-1 data-[state=open]:ring-primary/30", onClick: () => setCurrentFolderId(folder._id), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Folder, { className: "size-4" }), (0, jsx_runtime_1.jsx)("span", { className: "truncate", children: folder.name })] }) }), (0, jsx_runtime_1.jsx)(MediaContextMenuContent_1.default, { item: folder })] }, folder._id)))
614
+ : null] }), (0, jsx_runtime_1.jsxs)(file_upload_1.FileUpload, { value: files, onValueChange: setFiles, onUpload: handleUpload, onFileReject: onFileReject, maxFiles: 20, className: "relative w-full p-1", multiple: true, disabled: isUploading, children: [(0, jsx_runtime_1.jsx)(PreviewsToolbar_1.default, {}), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadList, { className: "mb-3", children: files.map((file) => ((0, jsx_runtime_1.jsxs)(file_upload_1.FileUploadItem, { value: file, children: [(0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemPreview, {}), (0, jsx_runtime_1.jsxs)("div", { className: "min-w-0 flex-1", children: [(0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemMetadata, {}), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemProgress, { className: "mt-2" })] }), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadItemDelete, { className: "rounded-md p-1 hover:bg-accent/40", children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "size-4" }) })] }, file.name + file.lastModified))) }), (0, jsx_runtime_1.jsx)(file_upload_1.FileUploadDropzone, { asChild: true, tabIndex: -1, onClick: (event) => event.preventDefault(), className: "group/dropzone relative w-full rounded-xl border border-transparent p-0 hover:bg-transparent! focus-visible:bg-transparent! data-dragging:border-primary/40 data-dragging:bg-transparent!", children: (0, jsx_runtime_1.jsxs)("div", { className: "relative w-full", "data-tour": "media-grid", children: [(0, jsx_runtime_1.jsx)("div", { className: "pointer-events-none absolute inset-0 z-20 flex items-center justify-center rounded-xl bg-background/50 opacity-0 backdrop-blur transition-opacity duration-200 ease-out group-data-dragging/dropzone:opacity-100", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-center gap-1 text-center", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-center justify-center rounded-full border p-2.5", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Upload, { className: "size-6 text-muted-foreground" }) }), (0, jsx_runtime_1.jsx)("p", { className: "font-medium text-sm", children: "Drag & drop files here" }), (0, jsx_runtime_1.jsx)("p", { className: "text-muted-foreground text-xs", children: "Upload max 20 files each up to 5MB" })] }) }), isLoading ? (0, jsx_runtime_1.jsx)(PreviewsViewLoader_1.default, { viewMode: viewMode }) : null, !isLoading && media.length === 0 ? ((0, jsx_runtime_1.jsx)(card_1.Card, { className: "w-full p-8 text-center text-muted-foreground text-sm", children: "No files in this folder yet." })) : null, !isLoading && media.length > 0 ? (0, jsx_runtime_1.jsx)(ViewComponent, { media: media }) : null, (0, jsx_runtime_1.jsx)(PreviewsToolbar_1.PreviewsSelectionToolbar, {})] }) })] }), (0, jsx_runtime_1.jsx)(MediaDeleteDialog_1.default, { target: deleteTarget, isLoading: deleteMutation.isPending || deleteFolderMutation.isPending, onClose: () => setDeleteTarget(null), onConfirm: handleConfirmDelete }), (0, jsx_runtime_1.jsx)(MediaEditDialog_1.default, { target: editTarget, value: editName, isLoading: updateMutation.isPending, onValueChange: setEditName, onClose: () => setEditTarget(null), onConfirm: handleConfirmEdit }), (0, jsx_runtime_1.jsx)(MediaMoveDialog_1.default, { target: moveTarget, folders: folderOptions, value: destinationFolderId, isLoading: isMoving || updateMutation.isPending, onValueChange: setDestinationFolderId, onClose: () => {
318
615
  setMoveTarget(null);
319
616
  setDestinationFolderId('');
320
- }, onConfirm: handleConfirmMove }), (0, jsx_runtime_1.jsx)(MediaCreateFolderDialog_1.default, { open: isCreateFolderDialogOpen, value: newFolderName, isLoading: isCreatingFolder, onValueChange: setNewFolderName, onClose: () => {
617
+ }, onConfirm: () => void handleConfirmMove() }), (0, jsx_runtime_1.jsx)(MediaImageEditorDialog_1.default, { target: imageEditTarget, imageUrl: imageEditUrl, isSaving: isSavingImageEdit, onClose: () => {
618
+ setImageEditTarget(null);
619
+ setImageEditUrl('');
620
+ }, onSave: handleSaveImageEdit }), (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { open: bulkDeleteOpen, onOpenChange: setBulkDeleteOpen, children: (0, jsx_runtime_1.jsxs)(dialog_1.DialogContent, { children: [(0, jsx_runtime_1.jsxs)(dialog_1.DialogHeader, { children: [(0, jsx_runtime_1.jsx)(dialog_1.DialogTitle, { children: "Delete selected files" }), (0, jsx_runtime_1.jsxs)(dialog_1.DialogDescription, { children: ["This will delete ", bulkSelectedCount, " selected file", bulkSelectedCount === 1 ? '' : 's', "."] })] }), (0, jsx_runtime_1.jsxs)(dialog_1.DialogFooter, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", onClick: () => setBulkDeleteOpen(false), children: "Cancel" }), (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "destructive", loading: isBulkDeleting, disabled: bulkSelectedCount === 0, onClick: () => void handleConfirmBulkDelete(), children: "Delete" })] })] }) }), (0, jsx_runtime_1.jsx)(MediaCreateFolderDialog_1.default, { open: isCreateFolderDialogOpen, value: newFolderName, isLoading: isCreatingFolder, onValueChange: setNewFolderName, onClose: () => {
321
621
  setIsCreateFolderDialogOpen(false);
322
622
  setNewFolderName('');
323
- }, onConfirm: handleConfirmCreateFolder }), (0, jsx_runtime_1.jsx)(ExpandedPreviewDialog_1.default, { preview: expandedPreview, previewUrl: expandedPreviewUrl, onClose: () => setExpandedPreview(null) })] }) }));
623
+ }, onConfirm: handleConfirmCreateFolder }), (0, jsx_runtime_1.jsx)(ExpandedPreviewDialog_1.default, { preview: expandedPreview, previewUrl: expandedPreviewUrl, isSaving: updateMutation.isPending, onClose: () => setExpandedPreview(null), onSaveDetails: handleSavePreviewDetails })] }) }));
324
624
  }
325
625
  //# sourceMappingURL=Previews.js.map