@strapi/upload 5.52.1 → 5.52.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/dist/admin/components/AssetCard/AssetCard.js +1 -0
  2. package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
  3. package/dist/admin/components/AssetCard/AssetCard.mjs +1 -0
  4. package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
  5. package/dist/admin/components/AssetCard/AssetCardBase.js +1 -0
  6. package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -1
  7. package/dist/admin/components/AssetCard/AssetCardBase.mjs +1 -0
  8. package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -1
  9. package/dist/admin/components/AssetCard/ImageAssetCard.js +1 -0
  10. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
  11. package/dist/admin/components/AssetCard/ImageAssetCard.mjs +1 -0
  12. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
  13. package/dist/admin/components/AssetCard/UploadingAssetCard.js +1 -0
  14. package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -1
  15. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +1 -0
  16. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
  17. package/dist/admin/components/AssetCard/VideoAssetCard.js +1 -0
  18. package/dist/admin/components/AssetCard/VideoAssetCard.js.map +1 -1
  19. package/dist/admin/components/AssetCard/VideoAssetCard.mjs +1 -0
  20. package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -1
  21. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +1 -0
  22. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
  23. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +1 -0
  24. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
  25. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +1 -0
  26. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +1 -1
  27. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +1 -0
  28. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
  29. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +1 -0
  30. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -1
  31. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +1 -0
  32. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -1
  33. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +1 -0
  34. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -1
  35. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +1 -0
  36. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -1
  37. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +1 -0
  38. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
  39. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +1 -0
  40. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
  41. package/dist/admin/components/EditAssetDialog/EditAssetContent.js +1 -0
  42. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
  43. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +1 -0
  44. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
  45. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +1 -0
  46. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -1
  47. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +1 -0
  48. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -1
  49. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +1 -0
  50. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -1
  51. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +1 -0
  52. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -1
  53. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js +1 -0
  54. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -1
  55. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs +1 -0
  56. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -1
  57. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +1 -0
  58. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
  59. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +1 -0
  60. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
  61. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +1 -0
  62. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -1
  63. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +1 -0
  64. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -1
  65. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +1 -0
  66. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -1
  67. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +1 -0
  68. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -1
  69. package/dist/admin/components/FilterList/FilterList.js +2 -2
  70. package/dist/admin/components/FilterList/FilterList.js.map +1 -1
  71. package/dist/admin/components/FilterList/FilterList.mjs +2 -2
  72. package/dist/admin/components/FilterList/FilterList.mjs.map +1 -1
  73. package/dist/admin/components/FilterPopover/FilterPopover.js +4 -4
  74. package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -1
  75. package/dist/admin/components/FilterPopover/FilterPopover.mjs +4 -4
  76. package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +1 -1
  77. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +1 -0
  78. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
  79. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +1 -0
  80. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
  81. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +1 -0
  82. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -1
  83. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +1 -0
  84. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -1
  85. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +4 -10
  86. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -1
  87. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +4 -10
  88. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -1
  89. package/dist/admin/components/SortPicker/SortPicker.js +1 -0
  90. package/dist/admin/components/SortPicker/SortPicker.js.map +1 -1
  91. package/dist/admin/components/SortPicker/SortPicker.mjs +1 -0
  92. package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -1
  93. package/dist/admin/components/TableList/CellContent.js +1 -0
  94. package/dist/admin/components/TableList/CellContent.js.map +1 -1
  95. package/dist/admin/components/TableList/CellContent.mjs +1 -0
  96. package/dist/admin/components/TableList/CellContent.mjs.map +1 -1
  97. package/dist/admin/components/TableList/PreviewCell.js +1 -0
  98. package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
  99. package/dist/admin/components/TableList/PreviewCell.mjs +1 -0
  100. package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
  101. package/dist/admin/components/TableList/TableList.js +1 -0
  102. package/dist/admin/components/TableList/TableList.js.map +1 -1
  103. package/dist/admin/components/TableList/TableList.mjs +1 -0
  104. package/dist/admin/components/TableList/TableList.mjs.map +1 -1
  105. package/dist/admin/components/TableList/TableRows.js +1 -0
  106. package/dist/admin/components/TableList/TableRows.js.map +1 -1
  107. package/dist/admin/components/TableList/TableRows.mjs +1 -0
  108. package/dist/admin/components/TableList/TableRows.mjs.map +1 -1
  109. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +1 -0
  110. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -1
  111. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +1 -0
  112. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -1
  113. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +9 -21
  114. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
  115. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +9 -21
  116. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
  117. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +1 -0
  118. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -1
  119. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +1 -0
  120. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -1
  121. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +1 -0
  122. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -1
  123. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +1 -0
  124. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -1
  125. package/dist/admin/constants.js +1 -0
  126. package/dist/admin/constants.js.map +1 -1
  127. package/dist/admin/constants.mjs +1 -0
  128. package/dist/admin/constants.mjs.map +1 -1
  129. package/dist/admin/future/components/Drawer.js +11 -0
  130. package/dist/admin/future/components/Drawer.js.map +1 -1
  131. package/dist/admin/future/components/Drawer.mjs +11 -0
  132. package/dist/admin/future/components/Drawer.mjs.map +1 -1
  133. package/dist/admin/future/components/UploadProgressDialog.js +82 -13
  134. package/dist/admin/future/components/UploadProgressDialog.js.map +1 -1
  135. package/dist/admin/future/components/UploadProgressDialog.mjs +84 -15
  136. package/dist/admin/future/components/UploadProgressDialog.mjs.map +1 -1
  137. package/dist/admin/future/hooks/useApiErrorMessage.js +61 -0
  138. package/dist/admin/future/hooks/useApiErrorMessage.js.map +1 -0
  139. package/dist/admin/future/hooks/useApiErrorMessage.mjs +39 -0
  140. package/dist/admin/future/hooks/useApiErrorMessage.mjs.map +1 -0
  141. package/dist/admin/future/pages/Assets/AssetsPage.js +11 -0
  142. package/dist/admin/future/pages/Assets/AssetsPage.js.map +1 -1
  143. package/dist/admin/future/pages/Assets/AssetsPage.mjs +11 -0
  144. package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +1 -1
  145. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.js +8 -6
  146. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.js.map +1 -1
  147. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.mjs +8 -6
  148. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.mjs.map +1 -1
  149. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +70 -59
  150. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -1
  151. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +72 -61
  152. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -1
  153. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +7 -5
  154. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
  155. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +7 -5
  156. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
  157. package/dist/admin/future/pages/Assets/components/AssetsTable.js +47 -28
  158. package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +1 -1
  159. package/dist/admin/future/pages/Assets/components/AssetsTable.mjs +48 -29
  160. package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +1 -1
  161. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js +87 -2
  162. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js.map +1 -1
  163. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs +89 -4
  164. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs.map +1 -1
  165. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.js +3 -2
  166. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.js.map +1 -1
  167. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.mjs +3 -2
  168. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.mjs.map +1 -1
  169. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js +4 -2
  170. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -1
  171. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs +4 -2
  172. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -1
  173. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js +21 -3
  174. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +1 -1
  175. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs +21 -3
  176. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -1
  177. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js +4 -3
  178. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +1 -1
  179. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs +5 -4
  180. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -1
  181. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js +40 -2
  182. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +1 -1
  183. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs +40 -2
  184. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -1
  185. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.js +30 -0
  186. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +1 -0
  187. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.mjs +26 -0
  188. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +1 -0
  189. package/dist/admin/future/pages/Assets/hooks/useListFilters.js +5 -5
  190. package/dist/admin/future/pages/Assets/hooks/useListFilters.js.map +1 -1
  191. package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs +6 -6
  192. package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs.map +1 -1
  193. package/dist/admin/future/pages/Assets/hooks/useListSort.js +10 -10
  194. package/dist/admin/future/pages/Assets/hooks/useListSort.js.map +1 -1
  195. package/dist/admin/future/pages/Assets/hooks/useListSort.mjs +11 -11
  196. package/dist/admin/future/pages/Assets/hooks/useListSort.mjs.map +1 -1
  197. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.js +86 -0
  198. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.js.map +1 -0
  199. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.mjs +83 -0
  200. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.mjs.map +1 -0
  201. package/dist/admin/future/pages/Assets/utils/renderedKeys.js +19 -0
  202. package/dist/admin/future/pages/Assets/utils/renderedKeys.js.map +1 -0
  203. package/dist/admin/future/pages/Assets/utils/renderedKeys.mjs +17 -0
  204. package/dist/admin/future/pages/Assets/utils/renderedKeys.mjs.map +1 -0
  205. package/dist/admin/future/services/api.js +131 -13
  206. package/dist/admin/future/services/api.js.map +1 -1
  207. package/dist/admin/future/services/api.mjs +133 -15
  208. package/dist/admin/future/services/api.mjs.map +1 -1
  209. package/dist/admin/future/services/uploadFileViaXHR.js +9 -3
  210. package/dist/admin/future/services/uploadFileViaXHR.js.map +1 -1
  211. package/dist/admin/future/services/uploadFileViaXHR.mjs +9 -3
  212. package/dist/admin/future/services/uploadFileViaXHR.mjs.map +1 -1
  213. package/dist/admin/future/store/uploadProgress.js +98 -6
  214. package/dist/admin/future/store/uploadProgress.js.map +1 -1
  215. package/dist/admin/future/store/uploadProgress.mjs +94 -7
  216. package/dist/admin/future/store/uploadProgress.mjs.map +1 -1
  217. package/dist/admin/future/utils/getApiErrorMessage.js +20 -0
  218. package/dist/admin/future/utils/getApiErrorMessage.js.map +1 -0
  219. package/dist/admin/future/utils/getApiErrorMessage.mjs +18 -0
  220. package/dist/admin/future/utils/getApiErrorMessage.mjs.map +1 -0
  221. package/dist/admin/index.js +1 -0
  222. package/dist/admin/index.js.map +1 -1
  223. package/dist/admin/index.mjs +1 -0
  224. package/dist/admin/index.mjs.map +1 -1
  225. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +1 -0
  226. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -1
  227. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +1 -0
  228. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -1
  229. package/dist/admin/pages/App/MediaLibrary.js +7 -9
  230. package/dist/admin/pages/App/MediaLibrary.js.map +1 -1
  231. package/dist/admin/pages/App/MediaLibrary.mjs +8 -10
  232. package/dist/admin/pages/App/MediaLibrary.mjs.map +1 -1
  233. package/dist/admin/pages/App/components/BulkActions.js +1 -0
  234. package/dist/admin/pages/App/components/BulkActions.js.map +1 -1
  235. package/dist/admin/pages/App/components/BulkActions.mjs +1 -0
  236. package/dist/admin/pages/App/components/BulkActions.mjs.map +1 -1
  237. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js +1 -0
  238. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +1 -1
  239. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs +1 -0
  240. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -1
  241. package/dist/admin/pages/App/components/Filters.js +8 -8
  242. package/dist/admin/pages/App/components/Filters.js.map +1 -1
  243. package/dist/admin/pages/App/components/Filters.mjs +9 -9
  244. package/dist/admin/pages/App/components/Filters.mjs.map +1 -1
  245. package/dist/admin/pages/App/components/Header.js +1 -1
  246. package/dist/admin/pages/App/components/Header.js.map +1 -1
  247. package/dist/admin/pages/App/components/Header.mjs +2 -2
  248. package/dist/admin/pages/App/components/Header.mjs.map +1 -1
  249. package/dist/admin/src/future/hooks/useApiErrorMessage.d.ts +17 -0
  250. package/dist/admin/src/future/pages/Assets/components/AssetsGrid.d.ts +4 -1
  251. package/dist/admin/src/future/pages/Assets/components/AssetsTable.d.ts +4 -1
  252. package/dist/admin/src/future/pages/Assets/components/BulkActionsBar.d.ts +8 -1
  253. package/dist/admin/src/future/pages/Assets/hooks/useIsAssetDetailsOpen.d.ts +18 -0
  254. package/dist/admin/src/future/pages/Assets/utils/mergeUploadedAssets.d.ts +35 -0
  255. package/dist/admin/src/future/pages/Assets/utils/renderedKeys.d.ts +19 -0
  256. package/dist/admin/src/future/services/uploadFileViaXHR.d.ts +6 -1
  257. package/dist/admin/src/future/store/uploadProgress.d.ts +67 -1
  258. package/dist/admin/src/future/utils/getApiErrorMessage.d.ts +1 -0
  259. package/dist/admin/src/utils/index.d.ts +1 -0
  260. package/dist/admin/src/utils/rawFileToAsset.d.ts +2 -2
  261. package/dist/admin/src/utils/resolveFileMime.d.ts +13 -0
  262. package/dist/admin/translations/ca.json.js +1 -1
  263. package/dist/admin/translations/ca.json.mjs +1 -1
  264. package/dist/admin/translations/de.json.js +1 -1
  265. package/dist/admin/translations/de.json.mjs +1 -1
  266. package/dist/admin/translations/en.json.js +6 -2
  267. package/dist/admin/translations/en.json.js.map +1 -1
  268. package/dist/admin/translations/en.json.mjs +6 -2
  269. package/dist/admin/translations/en.json.mjs.map +1 -1
  270. package/dist/admin/translations/es.json.js +1 -1
  271. package/dist/admin/translations/es.json.mjs +1 -1
  272. package/dist/admin/translations/fr.json.js +1 -1
  273. package/dist/admin/translations/fr.json.mjs +1 -1
  274. package/dist/admin/translations/ja.json.js +1 -1
  275. package/dist/admin/translations/ja.json.mjs +1 -1
  276. package/dist/admin/translations/ko.json.js +1 -1
  277. package/dist/admin/translations/ko.json.mjs +1 -1
  278. package/dist/admin/translations/nl.json.js +1 -1
  279. package/dist/admin/translations/nl.json.mjs +1 -1
  280. package/dist/admin/translations/pl.json.js +1 -1
  281. package/dist/admin/translations/pl.json.mjs +1 -1
  282. package/dist/admin/translations/pt-BR.json.js +1 -1
  283. package/dist/admin/translations/pt-BR.json.mjs +1 -1
  284. package/dist/admin/translations/ru.json.js +1 -1
  285. package/dist/admin/translations/ru.json.mjs +1 -1
  286. package/dist/admin/translations/sk.json.js +1 -1
  287. package/dist/admin/translations/sk.json.mjs +1 -1
  288. package/dist/admin/translations/tr.json.js +1 -1
  289. package/dist/admin/translations/tr.json.mjs +1 -1
  290. package/dist/admin/translations/uk.json.js +1 -1
  291. package/dist/admin/translations/uk.json.mjs +1 -1
  292. package/dist/admin/translations/zh-Hans.json.js +1 -1
  293. package/dist/admin/translations/zh-Hans.json.mjs +1 -1
  294. package/dist/admin/translations/zh.json.js +1 -1
  295. package/dist/admin/translations/zh.json.mjs +1 -1
  296. package/dist/admin/utils/getFolderURL.js +2 -1
  297. package/dist/admin/utils/getFolderURL.js.map +1 -1
  298. package/dist/admin/utils/getFolderURL.mjs +2 -1
  299. package/dist/admin/utils/getFolderURL.mjs.map +1 -1
  300. package/dist/admin/utils/rawFileToAsset.js +5 -3
  301. package/dist/admin/utils/rawFileToAsset.js.map +1 -1
  302. package/dist/admin/utils/rawFileToAsset.mjs +5 -3
  303. package/dist/admin/utils/rawFileToAsset.mjs.map +1 -1
  304. package/dist/admin/utils/resolveFileMime.js +69 -0
  305. package/dist/admin/utils/resolveFileMime.js.map +1 -0
  306. package/dist/admin/utils/resolveFileMime.mjs +64 -0
  307. package/dist/admin/utils/resolveFileMime.mjs.map +1 -0
  308. package/dist/admin/utils/urlsToAssets.js +8 -4
  309. package/dist/admin/utils/urlsToAssets.js.map +1 -1
  310. package/dist/admin/utils/urlsToAssets.mjs +8 -4
  311. package/dist/admin/utils/urlsToAssets.mjs.map +1 -1
  312. package/dist/server/services/ai-metadata.js +25 -5
  313. package/dist/server/services/ai-metadata.js.map +1 -1
  314. package/dist/server/services/ai-metadata.mjs +1 -1
  315. package/dist/server/services/ai-metadata.mjs.map +1 -1
  316. package/dist/server/services/upload.js +4 -0
  317. package/dist/server/services/upload.js.map +1 -1
  318. package/dist/server/services/upload.mjs +4 -0
  319. package/dist/server/services/upload.mjs.map +1 -1
  320. package/dist/server/src/services/upload.d.ts.map +1 -1
  321. package/package.json +7 -7
  322. package/dist/admin/future/utils/getBulkMoveErrorMessage.js +0 -23
  323. package/dist/admin/future/utils/getBulkMoveErrorMessage.js.map +0 -1
  324. package/dist/admin/future/utils/getBulkMoveErrorMessage.mjs +0 -21
  325. package/dist/admin/future/utils/getBulkMoveErrorMessage.mjs.map +0 -1
  326. package/dist/admin/src/future/utils/getBulkMoveErrorMessage.d.ts +0 -1
@@ -1,13 +1,14 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useQueryParams, useNotification, Form, Blocker, getDisplayName, useForm, useField, useClipboard } from '@strapi/admin/strapi-admin';
4
- import { VisuallyHidden, Flex, Loader, Alert, Typography, Box, Button, IconButton, Field, TextInput, Tooltip, SingleSelect, SingleSelectOption, Dialog } from '@strapi/design-system';
3
+ import { useQueryParams, withEncodedUserParams, useNotification, Form, Blocker, getDisplayName, useForm, useField, useClipboard } from '@strapi/admin/strapi-admin';
4
+ import { VisuallyHidden, Flex, Loader, Alert, Box, Typography, Button, IconButton, Field, TextInput, Tooltip, SingleSelect, SingleSelectOption, Dialog } from '@strapi/design-system';
5
5
  import { FileError, ArrowLineRight, Crop, Trash, WarningCircle, Link, Download, ArrowsCounterClockwise } from '@strapi/icons';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { styled } from 'styled-components';
8
8
  import { ASSET_TYPES } from '../../../../../enums.mjs';
9
9
  import { Drawer } from '../../../../components/Drawer.mjs';
10
10
  import { useAIMetadataEnabled } from '../../../../hooks/useAIMetadataEnabled.mjs';
11
+ import { useApiErrorMessage } from '../../../../hooks/useApiErrorMessage.mjs';
11
12
  import { useMediaLibraryPermissions } from '../../../../hooks/useMediaLibraryPermissions.mjs';
12
13
  import { useTracking, MEDIA_LIBRARY_LOCATION } from '../../../../hooks/useTracking.mjs';
13
14
  import { useUploadFileSilentlyMutation } from '../../../../services/api.mjs';
@@ -18,12 +19,11 @@ import { formatBytes, getFileExtension, prefixFileUrlWithBackendUrl } from '../.
18
19
  import { getAssetIcon } from '../../../../utils/getAssetIcon.mjs';
19
20
  import { getTranslationKey } from '../../../../utils/translations.mjs';
20
21
  import { useFolderInfo } from '../../hooks/useFolderInfo.mjs';
22
+ import { parseAssetDetailsId, ASSET_DETAILS_URL_PARAM } from '../../hooks/useIsAssetDetailsOpen.mjs';
21
23
  import { BusyOverlay } from '../BusyOverlay.mjs';
22
24
  import { AssetCropEditor } from './AssetCropEditor.mjs';
23
25
  import { AssetPreview } from './AssetPreview.mjs';
24
26
 
25
- // Name of the parameter to look for in the URL to open the drawer
26
- const URL_PARAM = 'assetId';
27
27
  const DrawerNotifyContext = /*#__PURE__*/ React.createContext(null);
28
28
  const useDrawerNotify = ()=>{
29
29
  const ctx = React.useContext(DrawerNotifyContext);
@@ -41,12 +41,11 @@ const useAssetOperation = ()=>{
41
41
  return ctx;
42
42
  };
43
43
  /* -------------------------------------------------------------------------------------------------
44
- * useAssetDetailsParam - sync drawer visibility with URL ?{URL_PARAM}={id}
44
+ * useAssetDetailsParam - sync drawer visibility with URL ?{ASSET_DETAILS_URL_PARAM}={id}
45
45
  * -----------------------------------------------------------------------------------------------*/ const useAssetDetailsParam = ()=>{
46
46
  const [{ query }, setQuery] = useQueryParams();
47
- const detailsId = query?.[URL_PARAM];
48
- const assetId = detailsId ? parseInt(detailsId, 10) : null;
49
- const hasValidId = assetId !== null && !Number.isNaN(assetId);
47
+ const assetId = parseAssetDetailsId(query?.[ASSET_DETAILS_URL_PARAM]);
48
+ const hasValidId = assetId !== null;
50
49
  // Closing is driven by removing the URL param (a navigation), so navigation
51
50
  // guards like <Blocker> can intercept it. `isMounted` keeps the drawer in the
52
51
  // tree through the slide-out: it stays true once opened and only flips false
@@ -72,17 +71,19 @@ const useAssetOperation = ()=>{
72
71
  hasValidId
73
72
  ]);
74
73
  const openDetails = React.useCallback((id)=>{
75
- setQuery({
76
- [URL_PARAM]: String(id)
77
- }, 'push', true);
74
+ setQuery(withEncodedUserParams(query, {
75
+ [ASSET_DETAILS_URL_PARAM]: String(id)
76
+ }), 'push', true);
78
77
  }, [
78
+ query,
79
79
  setQuery
80
80
  ]);
81
81
  const closeDetails = React.useCallback(()=>{
82
- setQuery({
83
- [URL_PARAM]: undefined
84
- }, 'remove', true);
82
+ setQuery(withEncodedUserParams(query, {
83
+ [ASSET_DETAILS_URL_PARAM]: undefined
84
+ }), 'push', true);
85
85
  }, [
86
+ query,
86
87
  setQuery
87
88
  ]);
88
89
  return {
@@ -286,7 +287,6 @@ const LocationField = ({ label, rootLabel, folders, disabled })=>{
286
287
  children: [
287
288
  /*#__PURE__*/ jsx(Dialog.Trigger, {
288
289
  children: /*#__PURE__*/ jsx(IconButton, {
289
- withTooltip: false,
290
290
  label: triggerLabel,
291
291
  variant: "danger-light",
292
292
  children: /*#__PURE__*/ jsx(Trash, {})
@@ -364,7 +364,6 @@ const CopyLinkButton = ({ asset })=>{
364
364
  });
365
365
  };
366
366
  return /*#__PURE__*/ jsx(IconButton, {
367
- withTooltip: false,
368
367
  label: formatMessage({
369
368
  id: getTranslationKey('asset-details.copy-link.trigger'),
370
369
  defaultMessage: 'Copy link'
@@ -397,7 +396,6 @@ const DownloadAssetButton = ({ asset })=>{
397
396
  }
398
397
  };
399
398
  return /*#__PURE__*/ jsx(IconButton, {
400
- withTooltip: false,
401
399
  label: formatMessage({
402
400
  id: getTranslationKey('asset-details.download.trigger'),
403
401
  defaultMessage: 'Download'
@@ -441,6 +439,7 @@ const ReplaceAssetButton = ({ mime })=>{
441
439
  children: /*#__PURE__*/ jsx("input", {
442
440
  ref: fileInputRef,
443
441
  type: "file",
442
+ accept: mime ?? '',
444
443
  multiple: false,
445
444
  onChange: handleFileChange,
446
445
  "aria-hidden": true,
@@ -448,7 +447,6 @@ const ReplaceAssetButton = ({ mime })=>{
448
447
  })
449
448
  }),
450
449
  /*#__PURE__*/ jsx(IconButton, {
451
- withTooltip: false,
452
450
  label: formatMessage({
453
451
  id: getTranslationKey('asset-details.replace.trigger'),
454
452
  defaultMessage: 'Replace this file'
@@ -523,32 +521,27 @@ const ReplaceAssetButton = ({ mime })=>{
523
521
  ]
524
522
  });
525
523
  };
526
- const AssetImageActions = ({ onCrop, mime })=>{
524
+ const AssetImageActions = ({ onCrop })=>{
527
525
  const { formatMessage } = useIntl();
528
526
  const isSubmitting = useForm('AssetImageActions', (state)=>state.isSubmitting);
529
- return /*#__PURE__*/ jsxs(Flex, {
527
+ return /*#__PURE__*/ jsx(Flex, {
530
528
  direction: "column",
531
529
  gap: 2,
532
- children: [
533
- /*#__PURE__*/ jsx(IconButton, {
534
- withTooltip: false,
535
- label: formatMessage({
536
- id: getTranslationKey('asset-details.crop.trigger'),
537
- defaultMessage: 'Crop'
538
- }),
539
- variant: "tertiary",
540
- onClick: onCrop,
541
- disabled: isSubmitting || !onCrop,
542
- children: /*#__PURE__*/ jsx(Crop, {})
530
+ children: /*#__PURE__*/ jsx(IconButton, {
531
+ label: formatMessage({
532
+ id: getTranslationKey('asset-details.crop.trigger'),
533
+ defaultMessage: 'Crop'
543
534
  }),
544
- /*#__PURE__*/ jsx(ReplaceAssetButton, {
545
- mime: mime
546
- })
547
- ]
535
+ variant: "tertiary",
536
+ onClick: onCrop,
537
+ disabled: isSubmitting || !onCrop,
538
+ children: /*#__PURE__*/ jsx(Crop, {})
539
+ })
548
540
  });
549
541
  };
550
542
  const AssetDetails = ({ asset, closeDetails })=>{
551
543
  const { formatMessage, formatDate } = useIntl();
544
+ const getErrorMessage = useApiErrorMessage();
552
545
  const { canCreate, canUpdate, canDownload, canCopyLink } = useMediaLibraryPermissions();
553
546
  const { data: folders = [] } = useGetAllFoldersQuery();
554
547
  const { toggleNotification } = useNotification();
@@ -591,10 +584,10 @@ const AssetDetails = ({ asset, closeDetails })=>{
591
584
  if ('error' in res) {
592
585
  notify({
593
586
  type: 'danger',
594
- message: formatMessage({
587
+ message: getErrorMessage(res.error, formatMessage({
595
588
  id: getTranslationKey('asset-details.update.error'),
596
589
  defaultMessage: 'Failed to update the file.'
597
- })
590
+ }))
598
591
  });
599
592
  return;
600
593
  }
@@ -617,17 +610,18 @@ const AssetDetails = ({ asset, closeDetails })=>{
617
610
  const handleReplace = React.useCallback(async (file)=>{
618
611
  const res = await replaceMutation({
619
612
  id: asset.id,
620
- file
613
+ file,
614
+ fileInfo: {
615
+ name: asset.name
616
+ }
621
617
  });
622
618
  if ('error' in res) {
623
- const error = res.error;
624
- const message = error?.data?.error?.message ?? error?.data?.message ?? formatMessage({
625
- id: getTranslationKey('asset-details.replace.error'),
626
- defaultMessage: 'Failed to replace the file.'
627
- });
628
619
  notify({
629
620
  type: 'danger',
630
- message
621
+ message: getErrorMessage(res.error, formatMessage({
622
+ id: getTranslationKey('asset-details.replace.error'),
623
+ defaultMessage: 'Failed to replace the file.'
624
+ }))
631
625
  });
632
626
  return;
633
627
  }
@@ -643,7 +637,9 @@ const AssetDetails = ({ asset, closeDetails })=>{
643
637
  });
644
638
  }, [
645
639
  asset.id,
640
+ asset.name,
646
641
  formatMessage,
642
+ getErrorMessage,
647
643
  notify,
648
644
  replaceMutation,
649
645
  trackUsage
@@ -653,14 +649,12 @@ const AssetDetails = ({ asset, closeDetails })=>{
653
649
  const handleDelete = React.useCallback(async ()=>{
654
650
  const res = await deleteMutation(asset.id);
655
651
  if ('error' in res) {
656
- const error = res.error;
657
- const message = error?.data?.error?.message ?? error?.data?.message ?? formatMessage({
658
- id: getTranslationKey('asset-details.delete.error'),
659
- defaultMessage: 'Failed to delete the asset.'
660
- });
661
652
  notify({
662
653
  type: 'danger',
663
- message
654
+ message: getErrorMessage(res.error, formatMessage({
655
+ id: getTranslationKey('asset-details.delete.error'),
656
+ defaultMessage: 'Failed to delete the asset.'
657
+ }))
664
658
  });
665
659
  return;
666
660
  }
@@ -680,16 +674,17 @@ const AssetDetails = ({ asset, closeDetails })=>{
680
674
  deleteMutation,
681
675
  folderName,
682
676
  formatMessage,
677
+ getErrorMessage,
683
678
  notify,
684
679
  toggleNotification
685
680
  ]);
686
- const notifyCropError = ()=>{
681
+ const notifyCropError = (error)=>{
687
682
  notify({
688
683
  type: 'danger',
689
- message: formatMessage({
684
+ message: getErrorMessage(error, formatMessage({
690
685
  id: getTranslationKey('asset-details.crop.error'),
691
686
  defaultMessage: 'Failed to crop the file.'
692
- })
687
+ }))
693
688
  });
694
689
  };
695
690
  // Apply: replace the original binary with the cropped file + focal point.
@@ -705,7 +700,7 @@ const AssetDetails = ({ asset, closeDetails })=>{
705
700
  }
706
701
  });
707
702
  if ('error' in res) {
708
- notifyCropError();
703
+ notifyCropError(res.error);
709
704
  return;
710
705
  }
711
706
  trackUsage('didCropFile', {
@@ -736,7 +731,7 @@ const AssetDetails = ({ asset, closeDetails })=>{
736
731
  }
737
732
  });
738
733
  if ('error' in res) {
739
- notifyCropError();
734
+ notifyCropError(res.error);
740
735
  return;
741
736
  }
742
737
  trackUsage('didCropFile', {
@@ -811,8 +806,7 @@ const AssetDetails = ({ asset, closeDetails })=>{
811
806
  /*#__PURE__*/ jsx(AssetPreview, {
812
807
  asset: asset,
813
808
  actions: isImage && canUpdate ? /*#__PURE__*/ jsx(AssetImageActions, {
814
- onCrop: ()=>setIsCropOpen(true),
815
- mime: asset.mime
809
+ onCrop: ()=>setIsCropOpen(true)
816
810
  }) : null
817
811
  }),
818
812
  /*#__PURE__*/ jsxs(Flex, {
@@ -965,6 +959,9 @@ const AssetDetails = ({ asset, closeDetails })=>{
965
959
  }),
966
960
  canDownload && /*#__PURE__*/ jsx(DownloadAssetButton, {
967
961
  asset: asset
962
+ }),
963
+ canUpdate && /*#__PURE__*/ jsx(ReplaceAssetButton, {
964
+ mime: asset.mime
968
965
  })
969
966
  ]
970
967
  }),
@@ -989,6 +986,18 @@ const AssetDetails = ({ asset, closeDetails })=>{
989
986
  })
990
987
  }));
991
988
  };
989
+ /* -------------------------------------------------------------------------------------------------
990
+ * DrawerHeader
991
+ * -----------------------------------------------------------------------------------------------*/ /**
992
+ * The icon's size lives in SVG attributes, which flex is free to override, so a
993
+ * long asset name would squash it. Matches the grid and table rows, where the
994
+ * file-type icon is shrink-proof and the name is what truncates.
995
+ */ const HeaderIcon = styled(Flex)`
996
+ flex-shrink: 0;
997
+ `;
998
+ const HeaderTitle = styled(Typography)`
999
+ min-width: 0;
1000
+ `;
992
1001
  const DrawerHeader = ({ asset, closeDetails })=>{
993
1002
  const DocIcon = asset ? getAssetIcon(asset.mime, asset.ext) : FileError;
994
1003
  return /*#__PURE__*/ jsxs(Flex, {
@@ -1001,13 +1010,15 @@ const DrawerHeader = ({ asset, closeDetails })=>{
1001
1010
  borderStyle: "solid",
1002
1011
  borderWidth: "0 0 1px 0",
1003
1012
  children: [
1004
- /*#__PURE__*/ jsx(DocIcon, {
1005
- width: 20,
1006
- height: 20
1013
+ /*#__PURE__*/ jsx(HeaderIcon, {
1014
+ children: /*#__PURE__*/ jsx(DocIcon, {
1015
+ width: 20,
1016
+ height: 20
1017
+ })
1007
1018
  }),
1008
1019
  /*#__PURE__*/ jsx(Drawer.Title, {
1009
1020
  asChild: true,
1010
- children: /*#__PURE__*/ jsx(Typography, {
1021
+ children: /*#__PURE__*/ jsx(HeaderTitle, {
1011
1022
  variant: "omega",
1012
1023
  fontWeight: "semiBold",
1013
1024
  overflow: "hidden",