@strapi/upload 5.53.0 → 5.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1929) hide show
  1. package/dist/admin/App.js +33 -0
  2. package/dist/admin/App.js.map +1 -0
  3. package/dist/admin/App.mjs +31 -0
  4. package/dist/admin/App.mjs.map +1 -0
  5. package/dist/admin/components/Drawer.js.map +1 -0
  6. package/dist/admin/components/Drawer.mjs.map +1 -0
  7. package/dist/admin/components/TruncatedText.js.map +1 -0
  8. package/dist/admin/components/TruncatedText.mjs.map +1 -0
  9. package/dist/admin/components/UploadProgressDialog.js +700 -0
  10. package/dist/admin/components/UploadProgressDialog.js.map +1 -0
  11. package/dist/admin/components/UploadProgressDialog.mjs +698 -0
  12. package/dist/admin/components/UploadProgressDialog.mjs.map +1 -0
  13. package/dist/admin/constants.js +7 -12
  14. package/dist/admin/constants.js.map +1 -1
  15. package/dist/admin/constants.mjs +7 -12
  16. package/dist/admin/constants.mjs.map +1 -1
  17. package/dist/admin/hooks/useAIMetadataEnabled.js +39 -0
  18. package/dist/admin/hooks/useAIMetadataEnabled.js.map +1 -0
  19. package/dist/admin/hooks/useAIMetadataEnabled.mjs +37 -0
  20. package/dist/admin/hooks/useAIMetadataEnabled.mjs.map +1 -0
  21. package/dist/admin/hooks/useApiErrorMessage.js.map +1 -0
  22. package/dist/admin/hooks/useApiErrorMessage.mjs.map +1 -0
  23. package/dist/admin/hooks/useMediaLibraryPermissions.js +24 -5
  24. package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
  25. package/dist/admin/hooks/useMediaLibraryPermissions.mjs +24 -5
  26. package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
  27. package/dist/admin/hooks/useTracking.js +39 -7
  28. package/dist/admin/hooks/useTracking.js.map +1 -1
  29. package/dist/admin/hooks/useTracking.mjs +38 -8
  30. package/dist/admin/hooks/useTracking.mjs.map +1 -1
  31. package/dist/admin/index.js +18 -22
  32. package/dist/admin/index.js.map +1 -1
  33. package/dist/admin/index.mjs +18 -22
  34. package/dist/admin/index.mjs.map +1 -1
  35. package/dist/admin/legacy/ai/components/AIAssetCard.js +621 -0
  36. package/dist/admin/legacy/ai/components/AIAssetCard.js.map +1 -0
  37. package/dist/admin/legacy/ai/components/AIAssetCard.mjs +598 -0
  38. package/dist/admin/legacy/ai/components/AIAssetCard.mjs.map +1 -0
  39. package/dist/admin/legacy/ai/components/AIUploadModal.js.map +1 -0
  40. package/dist/admin/legacy/ai/components/AIUploadModal.mjs.map +1 -0
  41. package/dist/admin/legacy/components/AssetCard/AssetCard.js +67 -0
  42. package/dist/admin/legacy/components/AssetCard/AssetCard.js.map +1 -0
  43. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs +65 -0
  44. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs.map +1 -0
  45. package/dist/admin/legacy/components/AssetCard/AssetCardBase.js.map +1 -0
  46. package/dist/admin/legacy/components/AssetCard/AssetCardBase.mjs.map +1 -0
  47. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.js.map +1 -0
  48. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.mjs.map +1 -0
  49. package/dist/admin/legacy/components/AssetCard/AudioPreview.js.map +1 -0
  50. package/dist/admin/legacy/components/AssetCard/AudioPreview.mjs.map +1 -0
  51. package/dist/admin/legacy/components/AssetCard/DocAssetCard.js.map +1 -0
  52. package/dist/admin/legacy/components/AssetCard/DocAssetCard.mjs.map +1 -0
  53. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.js.map +1 -0
  54. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.mjs.map +1 -0
  55. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js +154 -0
  56. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js.map +1 -0
  57. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs +132 -0
  58. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs.map +1 -0
  59. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.js.map +1 -0
  60. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.mjs.map +1 -0
  61. package/dist/admin/legacy/components/AssetCard/VideoPreview.js.map +1 -0
  62. package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs.map +1 -0
  63. package/dist/admin/legacy/components/AssetDialog/AssetDialog.js.map +1 -0
  64. package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs.map +1 -0
  65. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js +320 -0
  66. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -0
  67. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs +318 -0
  68. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -0
  69. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.js.map +1 -0
  70. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -0
  71. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.js.map +1 -0
  72. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -0
  73. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -0
  74. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -0
  75. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -0
  76. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -0
  77. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -0
  78. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -0
  79. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -0
  80. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -0
  81. package/dist/admin/legacy/components/AssetDialog/DialogFooter.js.map +1 -0
  82. package/dist/admin/legacy/components/AssetDialog/DialogFooter.mjs.map +1 -0
  83. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -0
  84. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -0
  85. package/dist/admin/legacy/components/AssetGridList/AssetGridList.js.map +1 -0
  86. package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs.map +1 -0
  87. package/dist/admin/legacy/components/AssetGridList/Draggable.js.map +1 -0
  88. package/dist/admin/legacy/components/AssetGridList/Draggable.mjs.map +1 -0
  89. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  90. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
  91. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -0
  92. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -0
  93. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -0
  94. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -0
  95. package/dist/admin/legacy/components/ContextInfo/ContextInfo.js.map +1 -0
  96. package/dist/admin/legacy/components/ContextInfo/ContextInfo.mjs.map +1 -0
  97. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
  98. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -0
  99. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.js.map +1 -0
  100. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.mjs.map +1 -0
  101. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js.map +1 -0
  102. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs.map +1 -0
  103. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js +114 -0
  104. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -0
  105. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +89 -0
  106. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -0
  107. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -0
  108. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -0
  109. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -0
  110. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -0
  111. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js +362 -0
  112. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -0
  113. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +337 -0
  114. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -0
  115. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -0
  116. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -0
  117. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -0
  118. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -0
  119. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -0
  120. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -0
  121. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.js.map +1 -0
  122. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -0
  123. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -0
  124. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -0
  125. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -0
  126. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -0
  127. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.js.map +1 -0
  128. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -0
  129. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.js.map +1 -0
  130. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.mjs.map +1 -0
  131. package/dist/admin/legacy/components/FilterList/FilterList.js.map +1 -0
  132. package/dist/admin/legacy/components/FilterList/FilterList.mjs.map +1 -0
  133. package/dist/admin/legacy/components/FilterList/FilterTag.js.map +1 -0
  134. package/dist/admin/legacy/components/FilterList/FilterTag.mjs.map +1 -0
  135. package/dist/admin/legacy/components/FilterPopover/FilterPopover.js.map +1 -0
  136. package/dist/admin/legacy/components/FilterPopover/FilterPopover.mjs.map +1 -0
  137. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js.map +1 -0
  138. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs.map +1 -0
  139. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.js.map +1 -0
  140. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.mjs.map +1 -0
  141. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.js.map +1 -0
  142. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -0
  143. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -0
  144. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -0
  145. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -0
  146. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -0
  147. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -0
  148. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -0
  149. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.js.map +1 -0
  150. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.mjs.map +1 -0
  151. package/dist/admin/legacy/components/FolderGridList/FolderGridList.js.map +1 -0
  152. package/dist/admin/legacy/components/FolderGridList/FolderGridList.mjs.map +1 -0
  153. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -0
  154. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -0
  155. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js +89 -0
  156. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -0
  157. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +87 -0
  158. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -0
  159. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -0
  160. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -0
  161. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -0
  162. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -0
  163. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +111 -0
  164. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -0
  165. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +89 -0
  166. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -0
  167. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
  168. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
  169. package/dist/admin/legacy/components/SelectTree/Option.js.map +1 -0
  170. package/dist/admin/legacy/components/SelectTree/Option.mjs.map +1 -0
  171. package/dist/admin/legacy/components/SelectTree/SelectTree.js.map +1 -0
  172. package/dist/admin/legacy/components/SelectTree/SelectTree.mjs.map +1 -0
  173. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.js.map +1 -0
  174. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.mjs.map +1 -0
  175. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.js.map +1 -0
  176. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.mjs.map +1 -0
  177. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.js.map +1 -0
  178. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.mjs.map +1 -0
  179. package/dist/admin/legacy/components/SortPicker/SortPicker.js +40 -0
  180. package/dist/admin/legacy/components/SortPicker/SortPicker.js.map +1 -0
  181. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs +38 -0
  182. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs.map +1 -0
  183. package/dist/admin/legacy/components/TableList/CellContent.js.map +1 -0
  184. package/dist/admin/legacy/components/TableList/CellContent.mjs.map +1 -0
  185. package/dist/admin/legacy/components/TableList/PreviewCell.js +116 -0
  186. package/dist/admin/legacy/components/TableList/PreviewCell.js.map +1 -0
  187. package/dist/admin/legacy/components/TableList/PreviewCell.mjs +114 -0
  188. package/dist/admin/legacy/components/TableList/PreviewCell.mjs.map +1 -0
  189. package/dist/admin/legacy/components/TableList/TableList.js +100 -0
  190. package/dist/admin/legacy/components/TableList/TableList.js.map +1 -0
  191. package/dist/admin/legacy/components/TableList/TableList.mjs +98 -0
  192. package/dist/admin/legacy/components/TableList/TableList.mjs.map +1 -0
  193. package/dist/admin/legacy/components/TableList/TableRows.js +105 -0
  194. package/dist/admin/legacy/components/TableList/TableRows.js.map +1 -0
  195. package/dist/admin/legacy/components/TableList/TableRows.mjs +103 -0
  196. package/dist/admin/legacy/components/TableList/TableRows.mjs.map +1 -0
  197. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -0
  198. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -0
  199. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +177 -0
  200. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -0
  201. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +155 -0
  202. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -0
  203. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -0
  204. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -0
  205. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -0
  206. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -0
  207. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -0
  208. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -0
  209. package/dist/admin/legacy/components/UploadProgress/UploadProgress.js.map +1 -0
  210. package/dist/admin/legacy/components/UploadProgress/UploadProgress.mjs.map +1 -0
  211. package/dist/admin/legacy/hooks/useAiAvailability.js.map +1 -0
  212. package/dist/admin/legacy/hooks/useAiAvailability.mjs.map +1 -0
  213. package/dist/admin/legacy/hooks/useAssets.js +127 -0
  214. package/dist/admin/legacy/hooks/useAssets.js.map +1 -0
  215. package/dist/admin/legacy/hooks/useAssets.mjs +105 -0
  216. package/dist/admin/legacy/hooks/useAssets.mjs.map +1 -0
  217. package/dist/admin/legacy/hooks/useBulkEdit.js +65 -0
  218. package/dist/admin/legacy/hooks/useBulkEdit.js.map +1 -0
  219. package/dist/admin/legacy/hooks/useBulkEdit.mjs +63 -0
  220. package/dist/admin/legacy/hooks/useBulkEdit.mjs.map +1 -0
  221. package/dist/admin/legacy/hooks/useBulkMove.js +78 -0
  222. package/dist/admin/legacy/hooks/useBulkMove.js.map +1 -0
  223. package/dist/admin/legacy/hooks/useBulkMove.mjs +76 -0
  224. package/dist/admin/legacy/hooks/useBulkMove.mjs.map +1 -0
  225. package/dist/admin/legacy/hooks/useBulkRemove.js +83 -0
  226. package/dist/admin/legacy/hooks/useBulkRemove.js.map +1 -0
  227. package/dist/admin/legacy/hooks/useBulkRemove.mjs +81 -0
  228. package/dist/admin/legacy/hooks/useBulkRemove.mjs.map +1 -0
  229. package/dist/admin/legacy/hooks/useConfig.js +58 -0
  230. package/dist/admin/legacy/hooks/useConfig.js.map +1 -0
  231. package/dist/admin/legacy/hooks/useConfig.mjs +56 -0
  232. package/dist/admin/legacy/hooks/useConfig.mjs.map +1 -0
  233. package/dist/admin/legacy/hooks/useCropImg.js.map +1 -0
  234. package/dist/admin/legacy/hooks/useCropImg.mjs.map +1 -0
  235. package/dist/admin/legacy/hooks/useEditAsset.js +115 -0
  236. package/dist/admin/legacy/hooks/useEditAsset.js.map +1 -0
  237. package/dist/admin/legacy/hooks/useEditAsset.mjs +93 -0
  238. package/dist/admin/legacy/hooks/useEditAsset.mjs.map +1 -0
  239. package/dist/admin/legacy/hooks/useEditFolder.js +45 -0
  240. package/dist/admin/legacy/hooks/useEditFolder.js.map +1 -0
  241. package/dist/admin/legacy/hooks/useEditFolder.mjs +43 -0
  242. package/dist/admin/legacy/hooks/useEditFolder.mjs.map +1 -0
  243. package/dist/admin/legacy/hooks/useFolder.js +57 -0
  244. package/dist/admin/legacy/hooks/useFolder.js.map +1 -0
  245. package/dist/admin/legacy/hooks/useFolder.mjs +55 -0
  246. package/dist/admin/legacy/hooks/useFolder.mjs.map +1 -0
  247. package/dist/admin/legacy/hooks/useFolderStructure.js +52 -0
  248. package/dist/admin/legacy/hooks/useFolderStructure.js.map +1 -0
  249. package/dist/admin/legacy/hooks/useFolderStructure.mjs +50 -0
  250. package/dist/admin/legacy/hooks/useFolderStructure.mjs.map +1 -0
  251. package/dist/admin/legacy/hooks/useFolders.js +108 -0
  252. package/dist/admin/legacy/hooks/useFolders.js.map +1 -0
  253. package/dist/admin/legacy/hooks/useFolders.mjs +86 -0
  254. package/dist/admin/legacy/hooks/useFolders.mjs.map +1 -0
  255. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js +16 -0
  256. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js.map +1 -0
  257. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs +14 -0
  258. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs.map +1 -0
  259. package/dist/admin/legacy/hooks/useModalQueryParams.js.map +1 -0
  260. package/dist/admin/legacy/hooks/useModalQueryParams.mjs.map +1 -0
  261. package/dist/admin/legacy/hooks/usePersistentState.js.map +1 -0
  262. package/dist/admin/legacy/hooks/usePersistentState.mjs.map +1 -0
  263. package/dist/admin/legacy/hooks/useRemoveAsset.js +58 -0
  264. package/dist/admin/legacy/hooks/useRemoveAsset.js.map +1 -0
  265. package/dist/admin/legacy/hooks/useRemoveAsset.mjs +56 -0
  266. package/dist/admin/legacy/hooks/useRemoveAsset.mjs.map +1 -0
  267. package/dist/admin/legacy/hooks/useSelectionState.js.map +1 -0
  268. package/dist/admin/legacy/hooks/useSelectionState.mjs.map +1 -0
  269. package/dist/admin/legacy/hooks/useSettings.js.map +1 -0
  270. package/dist/admin/legacy/hooks/useSettings.mjs.map +1 -0
  271. package/dist/admin/legacy/hooks/useTracking.js +25 -0
  272. package/dist/admin/legacy/hooks/useTracking.js.map +1 -0
  273. package/dist/admin/legacy/hooks/useTracking.mjs +23 -0
  274. package/dist/admin/legacy/hooks/useTracking.mjs.map +1 -0
  275. package/dist/admin/legacy/hooks/useUpload.js +109 -0
  276. package/dist/admin/legacy/hooks/useUpload.js.map +1 -0
  277. package/dist/admin/legacy/hooks/useUpload.mjs +87 -0
  278. package/dist/admin/legacy/hooks/useUpload.mjs.map +1 -0
  279. package/dist/admin/legacy/hooks/utils/renameKeys.js.map +1 -0
  280. package/dist/admin/legacy/hooks/utils/renameKeys.mjs.map +1 -0
  281. package/dist/admin/legacy/pages/App/App.js.map +1 -0
  282. package/dist/admin/legacy/pages/App/App.mjs.map +1 -0
  283. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js +145 -0
  284. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -0
  285. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs +120 -0
  286. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -0
  287. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js +109 -0
  288. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js.map +1 -0
  289. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs +107 -0
  290. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -0
  291. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js +10 -0
  292. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -0
  293. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs +7 -0
  294. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -0
  295. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.js.map +1 -0
  296. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.mjs.map +1 -0
  297. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.js.map +1 -0
  298. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.mjs.map +1 -0
  299. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.js.map +1 -0
  300. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -0
  301. package/dist/admin/legacy/pages/App/MediaLibrary.js +469 -0
  302. package/dist/admin/legacy/pages/App/MediaLibrary.js.map +1 -0
  303. package/dist/admin/legacy/pages/App/MediaLibrary.mjs +447 -0
  304. package/dist/admin/legacy/pages/App/MediaLibrary.mjs.map +1 -0
  305. package/dist/admin/legacy/pages/App/components/BulkActions.js.map +1 -0
  306. package/dist/admin/legacy/pages/App/components/BulkActions.mjs.map +1 -0
  307. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.js.map +1 -0
  308. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.mjs.map +1 -0
  309. package/dist/admin/legacy/pages/App/components/BulkMoveButton.js.map +1 -0
  310. package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs.map +1 -0
  311. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.js.map +1 -0
  312. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -0
  313. package/dist/admin/legacy/pages/App/components/Filters.js.map +1 -0
  314. package/dist/admin/legacy/pages/App/components/Filters.mjs.map +1 -0
  315. package/dist/admin/legacy/pages/App/components/Header.js.map +1 -0
  316. package/dist/admin/legacy/pages/App/components/Header.mjs.map +1 -0
  317. package/dist/admin/legacy/utils/appendSearchParamsToUrl.js.map +1 -0
  318. package/dist/admin/legacy/utils/appendSearchParamsToUrl.mjs.map +1 -0
  319. package/dist/admin/legacy/utils/containsAssetFilter.js.map +1 -0
  320. package/dist/admin/legacy/utils/containsAssetFilter.mjs.map +1 -0
  321. package/dist/admin/legacy/utils/createAssetUrl.js.map +1 -0
  322. package/dist/admin/legacy/utils/createAssetUrl.mjs.map +1 -0
  323. package/dist/admin/legacy/utils/displayedFilters.js.map +1 -0
  324. package/dist/admin/legacy/utils/displayedFilters.mjs.map +1 -0
  325. package/dist/admin/legacy/utils/downloadFile.js +13 -0
  326. package/dist/admin/legacy/utils/downloadFile.js.map +1 -0
  327. package/dist/admin/legacy/utils/downloadFile.mjs +11 -0
  328. package/dist/admin/legacy/utils/downloadFile.mjs.map +1 -0
  329. package/dist/admin/legacy/utils/findRecursiveFolderByValue.js.map +1 -0
  330. package/dist/admin/legacy/utils/findRecursiveFolderByValue.mjs.map +1 -0
  331. package/dist/admin/legacy/utils/formatBytes.js.map +1 -0
  332. package/dist/admin/legacy/utils/formatBytes.mjs.map +1 -0
  333. package/dist/admin/legacy/utils/formatDuration.js.map +1 -0
  334. package/dist/admin/legacy/utils/formatDuration.mjs.map +1 -0
  335. package/dist/admin/legacy/utils/getAPIInnerErrors.js.map +1 -0
  336. package/dist/admin/legacy/utils/getAPIInnerErrors.mjs.map +1 -0
  337. package/dist/admin/legacy/utils/getAllowedFiles.js.map +1 -0
  338. package/dist/admin/legacy/utils/getAllowedFiles.mjs.map +1 -0
  339. package/dist/admin/legacy/utils/getBreadcrumbDataCM.js.map +1 -0
  340. package/dist/admin/legacy/utils/getBreadcrumbDataCM.mjs.map +1 -0
  341. package/dist/admin/legacy/utils/getBreadcrumbDataML.js.map +1 -0
  342. package/dist/admin/legacy/utils/getBreadcrumbDataML.mjs.map +1 -0
  343. package/dist/admin/legacy/utils/getFileExtension.js.map +1 -0
  344. package/dist/admin/legacy/utils/getFileExtension.mjs.map +1 -0
  345. package/dist/admin/legacy/utils/getFolderParents.js.map +1 -0
  346. package/dist/admin/legacy/utils/getFolderParents.mjs.map +1 -0
  347. package/dist/admin/legacy/utils/getFolderURL.js.map +1 -0
  348. package/dist/admin/legacy/utils/getFolderURL.mjs.map +1 -0
  349. package/dist/admin/legacy/utils/getTrad.js +8 -0
  350. package/dist/admin/legacy/utils/getTrad.js.map +1 -0
  351. package/dist/admin/legacy/utils/getTrad.mjs +6 -0
  352. package/dist/admin/legacy/utils/getTrad.mjs.map +1 -0
  353. package/dist/admin/legacy/utils/icons.js +23 -0
  354. package/dist/admin/legacy/utils/icons.js.map +1 -0
  355. package/dist/admin/legacy/utils/icons.mjs +19 -0
  356. package/dist/admin/legacy/utils/icons.mjs.map +1 -0
  357. package/dist/admin/legacy/utils/moveElement.js.map +1 -0
  358. package/dist/admin/legacy/utils/moveElement.mjs.map +1 -0
  359. package/dist/admin/legacy/utils/normalizeAPIError.js.map +1 -0
  360. package/dist/admin/legacy/utils/normalizeAPIError.mjs.map +1 -0
  361. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.js.map +1 -0
  362. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -0
  363. package/dist/admin/legacy/utils/prefixPluginTranslations.js.map +1 -0
  364. package/dist/admin/legacy/utils/prefixPluginTranslations.mjs.map +1 -0
  365. package/dist/admin/legacy/utils/rawFileToAsset.js +23 -0
  366. package/dist/admin/legacy/utils/rawFileToAsset.js.map +1 -0
  367. package/dist/admin/legacy/utils/rawFileToAsset.mjs +21 -0
  368. package/dist/admin/legacy/utils/rawFileToAsset.mjs.map +1 -0
  369. package/dist/admin/legacy/utils/resolveFileMime.js.map +1 -0
  370. package/dist/admin/legacy/utils/resolveFileMime.mjs.map +1 -0
  371. package/dist/admin/legacy/utils/toSingularTypes.js.map +1 -0
  372. package/dist/admin/legacy/utils/toSingularTypes.mjs.map +1 -0
  373. package/dist/admin/legacy/utils/urlYupSchema.js.map +1 -0
  374. package/dist/admin/legacy/utils/urlYupSchema.mjs.map +1 -0
  375. package/dist/admin/legacy/utils/urlsToAssets.js +42 -0
  376. package/dist/admin/legacy/utils/urlsToAssets.js.map +1 -0
  377. package/dist/admin/legacy/utils/urlsToAssets.mjs +40 -0
  378. package/dist/admin/legacy/utils/urlsToAssets.mjs.map +1 -0
  379. package/dist/admin/pages/Assets/AssetsPage.js +828 -0
  380. package/dist/admin/pages/Assets/AssetsPage.js.map +1 -0
  381. package/dist/admin/pages/Assets/AssetsPage.mjs +806 -0
  382. package/dist/admin/pages/Assets/AssetsPage.mjs.map +1 -0
  383. package/dist/admin/pages/Assets/components/ActionsMenuContent.js.map +1 -0
  384. package/dist/admin/pages/Assets/components/ActionsMenuContent.mjs.map +1 -0
  385. package/dist/admin/pages/Assets/components/AssetActionsMenu.js.map +1 -0
  386. package/dist/admin/pages/Assets/components/AssetActionsMenu.mjs.map +1 -0
  387. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +1 -0
  388. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +1 -0
  389. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +1202 -0
  390. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -0
  391. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +1175 -0
  392. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -0
  393. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js +261 -0
  394. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -0
  395. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs +239 -0
  396. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -0
  397. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.js.map +1 -0
  398. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.mjs.map +1 -0
  399. package/dist/admin/pages/Assets/components/AssetsGrid.js +528 -0
  400. package/dist/admin/pages/Assets/components/AssetsGrid.js.map +1 -0
  401. package/dist/admin/pages/Assets/components/AssetsGrid.mjs +526 -0
  402. package/dist/admin/pages/Assets/components/AssetsGrid.mjs.map +1 -0
  403. package/dist/admin/pages/Assets/components/AssetsSearchInput.js.map +1 -0
  404. package/dist/admin/pages/Assets/components/AssetsSearchInput.mjs.map +1 -0
  405. package/dist/admin/pages/Assets/components/AssetsTable.js.map +1 -0
  406. package/dist/admin/pages/Assets/components/AssetsTable.mjs.map +1 -0
  407. package/dist/admin/pages/Assets/components/BulkActionsBar.js +431 -0
  408. package/dist/admin/pages/Assets/components/BulkActionsBar.js.map +1 -0
  409. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs +429 -0
  410. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs.map +1 -0
  411. package/dist/admin/pages/Assets/components/BulkMoveDialog.js.map +1 -0
  412. package/dist/admin/pages/Assets/components/BulkMoveDialog.mjs.map +1 -0
  413. package/dist/admin/pages/Assets/components/BusyOverlay.js.map +1 -0
  414. package/dist/admin/pages/Assets/components/BusyOverlay.mjs.map +1 -0
  415. package/dist/admin/pages/Assets/components/DateRangeCalendar.js.map +1 -0
  416. package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs.map +1 -0
  417. package/dist/admin/pages/Assets/components/DeleteItemsDialog.js.map +1 -0
  418. package/dist/admin/pages/Assets/components/DeleteItemsDialog.mjs.map +1 -0
  419. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.js +306 -0
  420. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -0
  421. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.mjs +303 -0
  422. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -0
  423. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.js +147 -0
  424. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.js.map +1 -0
  425. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs +145 -0
  426. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +1 -0
  427. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.js.map +1 -0
  428. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.mjs.map +1 -0
  429. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.js.map +1 -0
  430. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +1 -0
  431. package/dist/admin/pages/Assets/components/Dnd/dndIds.js.map +1 -0
  432. package/dist/admin/pages/Assets/components/Dnd/dndIds.mjs.map +1 -0
  433. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.js.map +1 -0
  434. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.mjs.map +1 -0
  435. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +1 -0
  436. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +1 -0
  437. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -0
  438. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.mjs.map +1 -0
  439. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -0
  440. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -0
  441. package/dist/admin/pages/Assets/components/EmptyState.js.map +1 -0
  442. package/dist/admin/pages/Assets/components/EmptyState.mjs.map +1 -0
  443. package/dist/admin/pages/Assets/components/FilterBadges.js.map +1 -0
  444. package/dist/admin/pages/Assets/components/FilterBadges.mjs.map +1 -0
  445. package/dist/admin/pages/Assets/components/FilterMenu.js.map +1 -0
  446. package/dist/admin/pages/Assets/components/FilterMenu.mjs.map +1 -0
  447. package/dist/admin/pages/Assets/components/FolderActionsMenu.js.map +1 -0
  448. package/dist/admin/pages/Assets/components/FolderActionsMenu.mjs.map +1 -0
  449. package/dist/admin/pages/Assets/components/FolderFormDialog.js.map +1 -0
  450. package/dist/admin/pages/Assets/components/FolderFormDialog.mjs.map +1 -0
  451. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.js.map +1 -0
  452. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -0
  453. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +1 -0
  454. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +1 -0
  455. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.js.map +1 -0
  456. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.mjs.map +1 -0
  457. package/dist/admin/pages/Assets/components/MainAreaContextMenu.js.map +1 -0
  458. package/dist/admin/pages/Assets/components/MainAreaContextMenu.mjs.map +1 -0
  459. package/dist/admin/pages/Assets/components/SortMenu.js.map +1 -0
  460. package/dist/admin/pages/Assets/components/SortMenu.mjs.map +1 -0
  461. package/dist/admin/pages/Assets/constants.js.map +1 -0
  462. package/dist/admin/pages/Assets/constants.mjs.map +1 -0
  463. package/dist/admin/pages/Assets/hooks/useAssetSearch.js.map +1 -0
  464. package/dist/admin/pages/Assets/hooks/useAssetSearch.mjs.map +1 -0
  465. package/dist/admin/pages/Assets/hooks/useAssetSelection.js.map +1 -0
  466. package/dist/admin/pages/Assets/hooks/useAssetSelection.mjs.map +1 -0
  467. package/dist/admin/pages/Assets/hooks/useBusyAssets.js.map +1 -0
  468. package/dist/admin/pages/Assets/hooks/useBusyAssets.mjs.map +1 -0
  469. package/dist/admin/pages/Assets/hooks/useFolderInfo.js.map +1 -0
  470. package/dist/admin/pages/Assets/hooks/useFolderInfo.mjs.map +1 -0
  471. package/dist/admin/pages/Assets/hooks/useFolderNavigation.js.map +1 -0
  472. package/dist/admin/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -0
  473. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.js.map +1 -0
  474. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -0
  475. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +1 -0
  476. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +1 -0
  477. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +1 -0
  478. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +1 -0
  479. package/dist/admin/pages/Assets/hooks/useListFilters.js.map +1 -0
  480. package/dist/admin/pages/Assets/hooks/useListFilters.mjs.map +1 -0
  481. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.js.map +1 -0
  482. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.mjs.map +1 -0
  483. package/dist/admin/pages/Assets/hooks/useListSort.js.map +1 -0
  484. package/dist/admin/pages/Assets/hooks/useListSort.mjs.map +1 -0
  485. package/dist/admin/pages/Assets/utils/buildAssetFilters.js.map +1 -0
  486. package/dist/admin/pages/Assets/utils/buildAssetFilters.mjs.map +1 -0
  487. package/dist/admin/pages/Assets/utils/listQueryKey.js.map +1 -0
  488. package/dist/admin/pages/Assets/utils/listQueryKey.mjs.map +1 -0
  489. package/dist/admin/pages/Assets/utils/mergeMixedList.js.map +1 -0
  490. package/dist/admin/pages/Assets/utils/mergeMixedList.mjs.map +1 -0
  491. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.js.map +1 -0
  492. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.mjs.map +1 -0
  493. package/dist/admin/pages/Assets/utils/renderedKeys.js.map +1 -0
  494. package/dist/admin/pages/Assets/utils/renderedKeys.mjs.map +1 -0
  495. package/dist/admin/pages/Assets/utils/selection.js.map +1 -0
  496. package/dist/admin/pages/Assets/utils/selection.mjs.map +1 -0
  497. package/dist/admin/pages/SettingsPage/SettingsPage.js +23 -28
  498. package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
  499. package/dist/admin/pages/SettingsPage/SettingsPage.mjs +23 -28
  500. package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
  501. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js +110 -0
  502. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js.map +1 -0
  503. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs +88 -0
  504. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs.map +1 -0
  505. package/dist/admin/services/api.js +775 -0
  506. package/dist/admin/services/api.js.map +1 -0
  507. package/dist/admin/services/api.mjs +766 -0
  508. package/dist/admin/services/api.mjs.map +1 -0
  509. package/dist/admin/services/assets.js.map +1 -0
  510. package/dist/admin/services/assets.mjs.map +1 -0
  511. package/dist/admin/services/folders.js.map +1 -0
  512. package/dist/admin/services/folders.mjs.map +1 -0
  513. package/dist/admin/services/settings.js.map +1 -0
  514. package/dist/admin/services/settings.mjs.map +1 -0
  515. package/dist/admin/services/uploadFileViaXHR.js.map +1 -0
  516. package/dist/admin/services/uploadFileViaXHR.mjs.map +1 -0
  517. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +19 -2
  518. package/dist/admin/src/hooks/useTracking.d.ts +26 -1
  519. package/dist/admin/src/legacy/ai/components/AIAssetCard.d.ts +13 -0
  520. package/dist/admin/src/legacy/ai/components/AIUploadModal.d.ts +55 -0
  521. package/dist/admin/src/legacy/components/AssetCard/AssetCard.d.ts +19 -0
  522. package/dist/admin/src/legacy/components/AssetCard/UploadingAssetCard.d.ts +17 -0
  523. package/dist/admin/src/legacy/components/AssetDialog/AssetDialog.d.ts +39 -0
  524. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/BrowseStep.d.ts +63 -0
  525. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +7 -0
  526. package/dist/admin/src/legacy/components/AssetDialog/SelectedStep/SelectedStep.d.ts +8 -0
  527. package/dist/admin/src/legacy/components/AssetGridList/AssetGridList.d.ts +13 -0
  528. package/dist/admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.d.ts +15 -0
  529. package/dist/admin/src/legacy/components/EditAssetDialog/EditAssetContent.d.ts +31 -0
  530. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +8 -0
  531. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +26 -0
  532. package/dist/admin/src/legacy/components/EditAssetDialog/RemoveAssetDialog.d.ts +8 -0
  533. package/dist/admin/src/legacy/components/EditFolderDialog/EditFolderDialog.d.ts +12 -0
  534. package/dist/admin/src/legacy/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +10 -0
  535. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +4 -0
  536. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +9 -0
  537. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +23 -0
  538. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +10 -0
  539. package/dist/admin/src/legacy/components/SelectTree/Option.d.ts +16 -0
  540. package/dist/admin/src/legacy/components/SortPicker/SortPicker.d.ts +7 -0
  541. package/dist/admin/src/legacy/components/TableList/CellContent.d.ts +8 -0
  542. package/dist/admin/src/legacy/components/TableList/PreviewCell.d.ts +7 -0
  543. package/dist/admin/src/legacy/components/TableList/TableList.d.ts +31 -0
  544. package/dist/admin/src/legacy/components/TableList/TableRows.d.ts +22 -0
  545. package/dist/admin/src/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +13 -0
  546. package/dist/admin/src/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +22 -0
  547. package/dist/admin/src/legacy/components/UploadAssetDialog/UploadAssetDialog.d.ts +21 -0
  548. package/dist/admin/src/legacy/components/UploadProgress/UploadProgress.d.ts +7 -0
  549. package/dist/admin/src/legacy/hooks/useAssets.d.ts +14 -0
  550. package/dist/admin/src/legacy/hooks/useBulkEdit.d.ts +91 -0
  551. package/dist/admin/src/legacy/hooks/useBulkMove.d.ts +209 -0
  552. package/dist/admin/src/legacy/hooks/useBulkRemove.d.ts +241 -0
  553. package/dist/admin/src/legacy/hooks/useConfig.d.ts +5 -0
  554. package/dist/admin/src/legacy/hooks/useEditAsset.d.ts +119 -0
  555. package/dist/admin/src/legacy/hooks/useEditFolder.d.ts +72 -0
  556. package/dist/admin/src/legacy/hooks/useFolder.d.ts +7 -0
  557. package/dist/admin/src/legacy/hooks/useFolderStructure.d.ts +18 -0
  558. package/dist/admin/src/legacy/hooks/useFolders.d.ts +11 -0
  559. package/dist/admin/src/legacy/hooks/useMediaLibraryPermissions.d.ts +4 -0
  560. package/dist/admin/src/legacy/hooks/useModalQueryParams.d.ts +20 -0
  561. package/dist/admin/src/legacy/hooks/useRemoveAsset.d.ts +8 -0
  562. package/dist/admin/src/legacy/hooks/useTracking.d.ts +4 -0
  563. package/dist/admin/src/legacy/hooks/useUpload.d.ts +15 -0
  564. package/dist/admin/src/legacy/pages/App/ConfigureTheView/ConfigureTheView.d.ts +6 -0
  565. package/dist/admin/src/legacy/pages/App/ConfigureTheView/components/Settings.d.ts +13 -0
  566. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/actions.d.ts +12 -0
  567. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/init.d.ts +8 -0
  568. package/dist/admin/src/legacy/pages/App/MediaLibrary.d.ts +1 -0
  569. package/dist/admin/src/legacy/pages/App/components/BulkActions.d.ts +15 -0
  570. package/dist/admin/src/legacy/pages/App/components/BulkDeleteButton.d.ts +7 -0
  571. package/dist/admin/src/legacy/pages/App/components/BulkMoveButton.d.ts +15 -0
  572. package/dist/admin/src/legacy/pages/App/components/Header.d.ts +22 -0
  573. package/dist/admin/src/legacy/utils/containsAssetFilter.d.ts +2 -0
  574. package/dist/admin/src/legacy/utils/createAssetUrl.d.ts +2 -0
  575. package/dist/admin/src/legacy/utils/downloadFile.d.ts +1 -0
  576. package/dist/admin/src/legacy/utils/findRecursiveFolderByValue.d.ts +11 -0
  577. package/dist/admin/src/legacy/utils/getAllowedFiles.d.ts +14 -0
  578. package/dist/admin/src/legacy/utils/getBreadcrumbDataCM.d.ts +19 -0
  579. package/dist/admin/src/legacy/utils/getBreadcrumbDataML.d.ts +18 -0
  580. package/dist/admin/src/legacy/utils/getFolderParents.d.ts +11 -0
  581. package/dist/admin/src/legacy/utils/getFolderURL.d.ts +5 -0
  582. package/dist/admin/src/legacy/utils/icons.d.ts +15 -0
  583. package/dist/admin/src/legacy/utils/index.d.ts +26 -0
  584. package/dist/admin/src/legacy/utils/rawFileToAsset.d.ts +14 -0
  585. package/dist/admin/src/pages/Assets/components/ActionsMenuContent.d.ts +33 -0
  586. package/dist/admin/src/pages/Assets/components/AssetActionsMenu.d.ts +26 -0
  587. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +16 -0
  588. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +46 -0
  589. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetPreview.d.ts +9 -0
  590. package/dist/admin/src/pages/Assets/components/AssetsGrid.d.ts +12 -0
  591. package/dist/admin/src/pages/Assets/components/AssetsTable.d.ts +18 -0
  592. package/dist/admin/src/pages/Assets/components/BulkActionsBar.d.ts +28 -0
  593. package/dist/admin/src/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +7 -0
  594. package/dist/admin/src/pages/Assets/components/FolderActionsMenu.d.ts +21 -0
  595. package/dist/admin/src/pages/Assets/hooks/useFolderNavigation.d.ts +7 -0
  596. package/dist/admin/src/pages/Assets/hooks/useInfiniteAssets.d.ts +45 -0
  597. package/dist/admin/src/pages/Assets/utils/mergeMixedList.d.ts +40 -0
  598. package/dist/admin/src/pages/Assets/utils/mergeUploadedAssets.d.ts +35 -0
  599. package/dist/admin/src/pages/Assets/utils/renderedKeys.d.ts +19 -0
  600. package/dist/admin/src/pages/SettingsPage/useAIMetadataJob.d.ts +9 -0
  601. package/dist/admin/src/services/api.d.ts +99 -0
  602. package/dist/admin/src/services/assets.d.ts +33 -0
  603. package/dist/admin/src/services/folders.d.ts +37 -0
  604. package/dist/admin/src/services/settings.d.ts +2 -0
  605. package/dist/admin/src/services/uploadFileViaXHR.d.ts +23 -0
  606. package/dist/admin/src/store/uploadProgress.d.ts +201 -0
  607. package/dist/admin/src/utils/canDropItemOnFolder.d.ts +9 -0
  608. package/dist/admin/src/utils/downloadFile.d.ts +5 -0
  609. package/dist/admin/src/utils/flattenFolderStructure.d.ts +18 -0
  610. package/dist/admin/src/utils/getFolderLabel.d.ts +11 -0
  611. package/dist/admin/src/utils/itemLocations.d.ts +31 -0
  612. package/dist/admin/store/hooks.js.map +1 -0
  613. package/dist/admin/store/hooks.mjs.map +1 -0
  614. package/dist/admin/store/uploadProgress.js +373 -0
  615. package/dist/admin/store/uploadProgress.js.map +1 -0
  616. package/dist/admin/store/uploadProgress.mjs +349 -0
  617. package/dist/admin/store/uploadProgress.mjs.map +1 -0
  618. package/dist/admin/translations/en.json.js +0 -3
  619. package/dist/admin/translations/en.json.js.map +1 -1
  620. package/dist/admin/translations/en.json.mjs +0 -3
  621. package/dist/admin/translations/en.json.mjs.map +1 -1
  622. package/dist/admin/utils/buildBulkMovePayload.js.map +1 -0
  623. package/dist/admin/utils/buildBulkMovePayload.mjs.map +1 -0
  624. package/dist/admin/utils/buildDragSetFromSelection.js.map +1 -0
  625. package/dist/admin/utils/buildDragSetFromSelection.mjs.map +1 -0
  626. package/dist/admin/utils/canDropItemOnFolder.js.map +1 -0
  627. package/dist/admin/utils/canDropItemOnFolder.mjs.map +1 -0
  628. package/dist/admin/utils/createRafBatcher.js.map +1 -0
  629. package/dist/admin/utils/createRafBatcher.mjs.map +1 -0
  630. package/dist/admin/utils/downloadFile.js +13 -7
  631. package/dist/admin/utils/downloadFile.js.map +1 -1
  632. package/dist/admin/utils/downloadFile.mjs +13 -7
  633. package/dist/admin/utils/downloadFile.mjs.map +1 -1
  634. package/dist/admin/utils/files.js.map +1 -0
  635. package/dist/admin/utils/files.mjs.map +1 -0
  636. package/dist/admin/utils/flattenFolderStructure.js.map +1 -0
  637. package/dist/admin/utils/flattenFolderStructure.mjs.map +1 -0
  638. package/dist/admin/utils/formatMoveSuccessMessage.js.map +1 -0
  639. package/dist/admin/utils/formatMoveSuccessMessage.mjs.map +1 -0
  640. package/dist/admin/utils/getApiErrorMessage.js.map +1 -0
  641. package/dist/admin/utils/getApiErrorMessage.mjs.map +1 -0
  642. package/dist/admin/utils/getAssetIcon.js +28 -0
  643. package/dist/admin/utils/getAssetIcon.js.map +1 -0
  644. package/dist/admin/utils/getAssetIcon.mjs +26 -0
  645. package/dist/admin/utils/getAssetIcon.mjs.map +1 -0
  646. package/dist/admin/utils/getFolderLabel.js.map +1 -0
  647. package/dist/admin/utils/getFolderLabel.mjs.map +1 -0
  648. package/dist/admin/utils/getRelationId.js.map +1 -0
  649. package/dist/admin/utils/getRelationId.mjs.map +1 -0
  650. package/dist/admin/utils/isEventFromWithin.js.map +1 -0
  651. package/dist/admin/utils/isEventFromWithin.mjs.map +1 -0
  652. package/dist/admin/utils/itemLocations.js.map +1 -0
  653. package/dist/admin/utils/itemLocations.mjs.map +1 -0
  654. package/dist/admin/utils/itemSource.js.map +1 -0
  655. package/dist/admin/utils/itemSource.mjs.map +1 -0
  656. package/dist/admin/utils/searchQueryParam.js.map +1 -0
  657. package/dist/admin/utils/searchQueryParam.mjs.map +1 -0
  658. package/dist/admin/utils/translations.js +8 -0
  659. package/dist/admin/utils/translations.js.map +1 -0
  660. package/dist/admin/utils/translations.mjs +6 -0
  661. package/dist/admin/utils/translations.mjs.map +1 -0
  662. package/dist/server/bootstrap.js +11 -0
  663. package/dist/server/bootstrap.js.map +1 -1
  664. package/dist/server/bootstrap.mjs +11 -0
  665. package/dist/server/bootstrap.mjs.map +1 -1
  666. package/dist/server/controllers/admin-settings.js +1 -4
  667. package/dist/server/controllers/admin-settings.js.map +1 -1
  668. package/dist/server/controllers/admin-settings.mjs +1 -4
  669. package/dist/server/controllers/admin-settings.mjs.map +1 -1
  670. package/dist/server/controllers/admin-upload.js +31 -1
  671. package/dist/server/controllers/admin-upload.js.map +1 -1
  672. package/dist/server/controllers/admin-upload.mjs +31 -1
  673. package/dist/server/controllers/admin-upload.mjs.map +1 -1
  674. package/dist/server/controllers/utils/find-entity-and-check-permissions.js +15 -4
  675. package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -1
  676. package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs +15 -4
  677. package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs.map +1 -1
  678. package/dist/server/controllers/utils/folders.js +1 -1
  679. package/dist/server/controllers/utils/folders.js.map +1 -1
  680. package/dist/server/controllers/utils/folders.mjs +1 -1
  681. package/dist/server/controllers/utils/folders.mjs.map +1 -1
  682. package/dist/server/mcp/ambient-instance.js +46 -0
  683. package/dist/server/mcp/ambient-instance.js.map +1 -0
  684. package/dist/server/mcp/ambient-instance.mjs +43 -0
  685. package/dist/server/mcp/ambient-instance.mjs.map +1 -0
  686. package/dist/server/mcp/handlers/constants.js +60 -0
  687. package/dist/server/mcp/handlers/constants.js.map +1 -0
  688. package/dist/server/mcp/handlers/constants.mjs +45 -0
  689. package/dist/server/mcp/handlers/constants.mjs.map +1 -0
  690. package/dist/server/mcp/handlers/folder-handlers.js +308 -0
  691. package/dist/server/mcp/handlers/folder-handlers.js.map +1 -0
  692. package/dist/server/mcp/handlers/folder-handlers.mjs +303 -0
  693. package/dist/server/mcp/handlers/folder-handlers.mjs.map +1 -0
  694. package/dist/server/mcp/handlers/read-handlers.js +134 -0
  695. package/dist/server/mcp/handlers/read-handlers.js.map +1 -0
  696. package/dist/server/mcp/handlers/read-handlers.mjs +130 -0
  697. package/dist/server/mcp/handlers/read-handlers.mjs.map +1 -0
  698. package/dist/server/mcp/handlers/write-handlers.js +315 -0
  699. package/dist/server/mcp/handlers/write-handlers.js.map +1 -0
  700. package/dist/server/mcp/handlers/write-handlers.mjs +311 -0
  701. package/dist/server/mcp/handlers/write-handlers.mjs.map +1 -0
  702. package/dist/server/mcp/permissions.js +36 -0
  703. package/dist/server/mcp/permissions.js.map +1 -0
  704. package/dist/server/mcp/permissions.mjs +33 -0
  705. package/dist/server/mcp/permissions.mjs.map +1 -0
  706. package/dist/server/mcp/register-upload-mcp-tools.js +235 -0
  707. package/dist/server/mcp/register-upload-mcp-tools.js.map +1 -0
  708. package/dist/server/mcp/register-upload-mcp-tools.mjs +232 -0
  709. package/dist/server/mcp/register-upload-mcp-tools.mjs.map +1 -0
  710. package/dist/server/mcp/sanitizers/sanitize-media.js +97 -0
  711. package/dist/server/mcp/sanitizers/sanitize-media.js.map +1 -0
  712. package/dist/server/mcp/sanitizers/sanitize-media.mjs +93 -0
  713. package/dist/server/mcp/sanitizers/sanitize-media.mjs.map +1 -0
  714. package/dist/server/mcp/schemas/input-schemas.js +206 -0
  715. package/dist/server/mcp/schemas/input-schemas.js.map +1 -0
  716. package/dist/server/mcp/schemas/input-schemas.mjs +190 -0
  717. package/dist/server/mcp/schemas/input-schemas.mjs.map +1 -0
  718. package/dist/server/mcp/schemas/output-schemas.js +158 -0
  719. package/dist/server/mcp/schemas/output-schemas.js.map +1 -0
  720. package/dist/server/mcp/schemas/output-schemas.mjs +142 -0
  721. package/dist/server/mcp/schemas/output-schemas.mjs.map +1 -0
  722. package/dist/server/mcp/utils.js +14 -0
  723. package/dist/server/mcp/utils.js.map +1 -0
  724. package/dist/server/mcp/utils.mjs +12 -0
  725. package/dist/server/mcp/utils.mjs.map +1 -0
  726. package/dist/server/media-library-default-notice.js +42 -0
  727. package/dist/server/media-library-default-notice.js.map +1 -0
  728. package/dist/server/media-library-default-notice.mjs +40 -0
  729. package/dist/server/media-library-default-notice.mjs.map +1 -0
  730. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js +147 -0
  731. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js.map +1 -0
  732. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs +145 -0
  733. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs.map +1 -0
  734. package/dist/server/register.js +8 -0
  735. package/dist/server/register.js.map +1 -1
  736. package/dist/server/register.mjs +8 -0
  737. package/dist/server/register.mjs.map +1 -1
  738. package/dist/server/routes/admin.js +4 -1
  739. package/dist/server/routes/admin.js.map +1 -1
  740. package/dist/server/routes/admin.mjs +4 -1
  741. package/dist/server/routes/admin.mjs.map +1 -1
  742. package/dist/server/services/ai-metadata.js +1 -1
  743. package/dist/server/services/ai-metadata.js.map +1 -1
  744. package/dist/server/services/ai-metadata.mjs +1 -1
  745. package/dist/server/services/ai-metadata.mjs.map +1 -1
  746. package/dist/server/services/extensions/index.js +17 -5
  747. package/dist/server/services/extensions/index.js.map +1 -1
  748. package/dist/server/services/extensions/index.mjs +16 -4
  749. package/dist/server/services/extensions/index.mjs.map +1 -1
  750. package/dist/server/services/extensions/utils.js +318 -19
  751. package/dist/server/services/extensions/utils.js.map +1 -1
  752. package/dist/server/services/extensions/utils.mjs +309 -20
  753. package/dist/server/services/extensions/utils.mjs.map +1 -1
  754. package/dist/server/services/folder.js.map +1 -1
  755. package/dist/server/services/folder.mjs.map +1 -1
  756. package/dist/server/services/metrics.js +4 -3
  757. package/dist/server/services/metrics.js.map +1 -1
  758. package/dist/server/services/metrics.mjs +4 -3
  759. package/dist/server/services/metrics.mjs.map +1 -1
  760. package/dist/server/services/upload.js +14 -2
  761. package/dist/server/services/upload.js.map +1 -1
  762. package/dist/server/services/upload.mjs +14 -2
  763. package/dist/server/services/upload.mjs.map +1 -1
  764. package/dist/server/src/bootstrap.d.ts.map +1 -1
  765. package/dist/server/src/controllers/admin-settings.d.ts +1 -1
  766. package/dist/server/src/controllers/admin-settings.d.ts.map +1 -1
  767. package/dist/server/src/controllers/admin-upload.d.ts +1 -0
  768. package/dist/server/src/controllers/admin-upload.d.ts.map +1 -1
  769. package/dist/server/src/controllers/index.d.ts +1 -1
  770. package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts +14 -1
  771. package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts.map +1 -1
  772. package/dist/server/src/controllers/utils/folders.d.ts +2 -1
  773. package/dist/server/src/controllers/utils/folders.d.ts.map +1 -1
  774. package/dist/server/src/index.d.ts +9 -3
  775. package/dist/server/src/index.d.ts.map +1 -1
  776. package/dist/server/src/mcp/ambient-instance.d.ts +65 -0
  777. package/dist/server/src/mcp/ambient-instance.d.ts.map +1 -0
  778. package/dist/server/src/mcp/handlers/constants.d.ts +48 -0
  779. package/dist/server/src/mcp/handlers/constants.d.ts.map +1 -0
  780. package/dist/server/src/mcp/handlers/folder-handlers.d.ts +49 -0
  781. package/dist/server/src/mcp/handlers/folder-handlers.d.ts.map +1 -0
  782. package/dist/server/src/mcp/handlers/index.d.ts +5 -0
  783. package/dist/server/src/mcp/handlers/index.d.ts.map +1 -0
  784. package/dist/server/src/mcp/handlers/read-handlers.d.ts +35 -0
  785. package/dist/server/src/mcp/handlers/read-handlers.d.ts.map +1 -0
  786. package/dist/server/src/mcp/handlers/write-handlers.d.ts +66 -0
  787. package/dist/server/src/mcp/handlers/write-handlers.d.ts.map +1 -0
  788. package/dist/server/src/mcp/index.d.ts +3 -0
  789. package/dist/server/src/mcp/index.d.ts.map +1 -0
  790. package/dist/server/src/mcp/permissions.d.ts +22 -0
  791. package/dist/server/src/mcp/permissions.d.ts.map +1 -0
  792. package/dist/server/src/mcp/register-upload-mcp-tools.d.ts +29 -0
  793. package/dist/server/src/mcp/register-upload-mcp-tools.d.ts.map +1 -0
  794. package/dist/server/src/mcp/sanitizers/sanitize-media.d.ts +63 -0
  795. package/dist/server/src/mcp/sanitizers/sanitize-media.d.ts.map +1 -0
  796. package/dist/server/src/mcp/schemas/index.d.ts +3 -0
  797. package/dist/server/src/mcp/schemas/index.d.ts.map +1 -0
  798. package/dist/server/src/mcp/schemas/input-schemas.d.ts +148 -0
  799. package/dist/server/src/mcp/schemas/input-schemas.d.ts.map +1 -0
  800. package/dist/server/src/mcp/schemas/output-schemas.d.ts +276 -0
  801. package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -0
  802. package/dist/server/src/mcp/types.d.ts +19 -0
  803. package/dist/server/src/mcp/types.d.ts.map +1 -0
  804. package/dist/server/src/mcp/utils.d.ts +4 -0
  805. package/dist/server/src/mcp/utils.d.ts.map +1 -0
  806. package/dist/server/src/media-library-default-notice.d.ts +19 -0
  807. package/dist/server/src/media-library-default-notice.d.ts.map +1 -0
  808. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts +18 -0
  809. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts.map +1 -0
  810. package/dist/server/src/register.d.ts.map +1 -1
  811. package/dist/server/src/routes/admin.d.ts.map +1 -1
  812. package/dist/server/src/services/extensions/index.d.ts.map +1 -1
  813. package/dist/server/src/services/extensions/utils.d.ts +52 -2
  814. package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
  815. package/dist/server/src/services/folder.d.ts +6 -2
  816. package/dist/server/src/services/folder.d.ts.map +1 -1
  817. package/dist/server/src/services/index.d.ts +8 -2
  818. package/dist/server/src/services/index.d.ts.map +1 -1
  819. package/dist/server/src/services/metrics.d.ts.map +1 -1
  820. package/dist/server/src/services/upload.d.ts +8 -1
  821. package/dist/server/src/services/upload.d.ts.map +1 -1
  822. package/dist/server/src/types.d.ts +2 -2
  823. package/dist/server/src/types.d.ts.map +1 -1
  824. package/dist/server/src/utils/index.d.ts +2 -1
  825. package/dist/server/src/utils/index.d.ts.map +1 -1
  826. package/dist/server/utils/index.js +2 -2
  827. package/dist/server/utils/index.js.map +1 -1
  828. package/dist/server/utils/index.mjs +2 -2
  829. package/dist/server/utils/index.mjs.map +1 -1
  830. package/dist/shared/contracts/files.d.ts +22 -0
  831. package/dist/shared/contracts/files.d.ts.map +1 -1
  832. package/package.json +7 -6
  833. package/dist/admin/ai/components/AIAssetCard.js +0 -621
  834. package/dist/admin/ai/components/AIAssetCard.js.map +0 -1
  835. package/dist/admin/ai/components/AIAssetCard.mjs +0 -598
  836. package/dist/admin/ai/components/AIAssetCard.mjs.map +0 -1
  837. package/dist/admin/ai/components/AIUploadModal.js.map +0 -1
  838. package/dist/admin/ai/components/AIUploadModal.mjs.map +0 -1
  839. package/dist/admin/components/AssetCard/AssetCard.js +0 -67
  840. package/dist/admin/components/AssetCard/AssetCard.js.map +0 -1
  841. package/dist/admin/components/AssetCard/AssetCard.mjs +0 -65
  842. package/dist/admin/components/AssetCard/AssetCard.mjs.map +0 -1
  843. package/dist/admin/components/AssetCard/AssetCardBase.js.map +0 -1
  844. package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +0 -1
  845. package/dist/admin/components/AssetCard/AudioAssetCard.js.map +0 -1
  846. package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +0 -1
  847. package/dist/admin/components/AssetCard/AudioPreview.js.map +0 -1
  848. package/dist/admin/components/AssetCard/AudioPreview.mjs.map +0 -1
  849. package/dist/admin/components/AssetCard/DocAssetCard.js.map +0 -1
  850. package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +0 -1
  851. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +0 -1
  852. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +0 -1
  853. package/dist/admin/components/AssetCard/UploadingAssetCard.js +0 -154
  854. package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +0 -1
  855. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +0 -132
  856. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +0 -1
  857. package/dist/admin/components/AssetCard/VideoAssetCard.js.map +0 -1
  858. package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +0 -1
  859. package/dist/admin/components/AssetCard/VideoPreview.js.map +0 -1
  860. package/dist/admin/components/AssetCard/VideoPreview.mjs.map +0 -1
  861. package/dist/admin/components/AssetDialog/AssetDialog.js.map +0 -1
  862. package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +0 -1
  863. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -320
  864. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +0 -1
  865. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -318
  866. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +0 -1
  867. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +0 -1
  868. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +0 -1
  869. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +0 -1
  870. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +0 -1
  871. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +0 -1
  872. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +0 -1
  873. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +0 -1
  874. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +0 -1
  875. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +0 -1
  876. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +0 -1
  877. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +0 -1
  878. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +0 -1
  879. package/dist/admin/components/AssetDialog/DialogFooter.js.map +0 -1
  880. package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +0 -1
  881. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +0 -1
  882. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +0 -1
  883. package/dist/admin/components/AssetGridList/AssetGridList.js.map +0 -1
  884. package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +0 -1
  885. package/dist/admin/components/AssetGridList/Draggable.js.map +0 -1
  886. package/dist/admin/components/AssetGridList/Draggable.mjs.map +0 -1
  887. package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +0 -1
  888. package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +0 -1
  889. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +0 -1
  890. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +0 -1
  891. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +0 -1
  892. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +0 -1
  893. package/dist/admin/components/ContextInfo/ContextInfo.js.map +0 -1
  894. package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +0 -1
  895. package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +0 -1
  896. package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +0 -1
  897. package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +0 -1
  898. package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +0 -1
  899. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +0 -1
  900. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +0 -1
  901. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +0 -114
  902. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +0 -1
  903. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +0 -89
  904. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +0 -1
  905. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +0 -1
  906. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +0 -1
  907. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +0 -1
  908. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +0 -1
  909. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +0 -362
  910. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +0 -1
  911. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +0 -337
  912. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +0 -1
  913. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +0 -1
  914. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +0 -1
  915. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +0 -1
  916. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +0 -1
  917. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +0 -1
  918. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +0 -1
  919. package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +0 -1
  920. package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +0 -1
  921. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +0 -1
  922. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +0 -1
  923. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +0 -1
  924. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +0 -1
  925. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +0 -1
  926. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +0 -1
  927. package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +0 -1
  928. package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +0 -1
  929. package/dist/admin/components/FilterList/FilterList.js.map +0 -1
  930. package/dist/admin/components/FilterList/FilterList.mjs.map +0 -1
  931. package/dist/admin/components/FilterList/FilterTag.js.map +0 -1
  932. package/dist/admin/components/FilterList/FilterTag.mjs.map +0 -1
  933. package/dist/admin/components/FilterPopover/FilterPopover.js.map +0 -1
  934. package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +0 -1
  935. package/dist/admin/components/FilterPopover/FilterValueInput.js.map +0 -1
  936. package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +0 -1
  937. package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +0 -1
  938. package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +0 -1
  939. package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +0 -1
  940. package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +0 -1
  941. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +0 -1
  942. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +0 -1
  943. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +0 -1
  944. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +0 -1
  945. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +0 -1
  946. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +0 -1
  947. package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +0 -1
  948. package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +0 -1
  949. package/dist/admin/components/FolderGridList/FolderGridList.js.map +0 -1
  950. package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +0 -1
  951. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +0 -1
  952. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +0 -1
  953. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +0 -89
  954. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +0 -1
  955. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +0 -87
  956. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +0 -1
  957. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +0 -1
  958. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +0 -1
  959. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +0 -1
  960. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +0 -1
  961. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +0 -111
  962. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +0 -1
  963. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +0 -89
  964. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +0 -1
  965. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +0 -1
  966. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +0 -1
  967. package/dist/admin/components/SelectTree/Option.js.map +0 -1
  968. package/dist/admin/components/SelectTree/Option.mjs.map +0 -1
  969. package/dist/admin/components/SelectTree/SelectTree.js.map +0 -1
  970. package/dist/admin/components/SelectTree/SelectTree.mjs.map +0 -1
  971. package/dist/admin/components/SelectTree/utils/flattenTree.js.map +0 -1
  972. package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +0 -1
  973. package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +0 -1
  974. package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +0 -1
  975. package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +0 -1
  976. package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +0 -1
  977. package/dist/admin/components/SortPicker/SortPicker.js +0 -40
  978. package/dist/admin/components/SortPicker/SortPicker.js.map +0 -1
  979. package/dist/admin/components/SortPicker/SortPicker.mjs +0 -38
  980. package/dist/admin/components/SortPicker/SortPicker.mjs.map +0 -1
  981. package/dist/admin/components/TableList/CellContent.js.map +0 -1
  982. package/dist/admin/components/TableList/CellContent.mjs.map +0 -1
  983. package/dist/admin/components/TableList/PreviewCell.js +0 -116
  984. package/dist/admin/components/TableList/PreviewCell.js.map +0 -1
  985. package/dist/admin/components/TableList/PreviewCell.mjs +0 -114
  986. package/dist/admin/components/TableList/PreviewCell.mjs.map +0 -1
  987. package/dist/admin/components/TableList/TableList.js +0 -100
  988. package/dist/admin/components/TableList/TableList.js.map +0 -1
  989. package/dist/admin/components/TableList/TableList.mjs +0 -98
  990. package/dist/admin/components/TableList/TableList.mjs.map +0 -1
  991. package/dist/admin/components/TableList/TableRows.js +0 -105
  992. package/dist/admin/components/TableList/TableRows.js.map +0 -1
  993. package/dist/admin/components/TableList/TableRows.mjs +0 -103
  994. package/dist/admin/components/TableList/TableRows.mjs.map +0 -1
  995. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +0 -1
  996. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +0 -1
  997. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +0 -177
  998. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +0 -1
  999. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +0 -155
  1000. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +0 -1
  1001. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +0 -1
  1002. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +0 -1
  1003. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +0 -1
  1004. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +0 -1
  1005. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +0 -1
  1006. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +0 -1
  1007. package/dist/admin/components/UploadProgress/UploadProgress.js.map +0 -1
  1008. package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +0 -1
  1009. package/dist/admin/future/App.js +0 -33
  1010. package/dist/admin/future/App.js.map +0 -1
  1011. package/dist/admin/future/App.mjs +0 -31
  1012. package/dist/admin/future/App.mjs.map +0 -1
  1013. package/dist/admin/future/components/BetaNotice.js +0 -72
  1014. package/dist/admin/future/components/BetaNotice.js.map +0 -1
  1015. package/dist/admin/future/components/BetaNotice.mjs +0 -70
  1016. package/dist/admin/future/components/BetaNotice.mjs.map +0 -1
  1017. package/dist/admin/future/components/Drawer.js.map +0 -1
  1018. package/dist/admin/future/components/Drawer.mjs.map +0 -1
  1019. package/dist/admin/future/components/TruncatedText.js.map +0 -1
  1020. package/dist/admin/future/components/TruncatedText.mjs.map +0 -1
  1021. package/dist/admin/future/components/UploadProgressDialog.js +0 -699
  1022. package/dist/admin/future/components/UploadProgressDialog.js.map +0 -1
  1023. package/dist/admin/future/components/UploadProgressDialog.mjs +0 -697
  1024. package/dist/admin/future/components/UploadProgressDialog.mjs.map +0 -1
  1025. package/dist/admin/future/hooks/useAIMetadataEnabled.js +0 -39
  1026. package/dist/admin/future/hooks/useAIMetadataEnabled.js.map +0 -1
  1027. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs +0 -37
  1028. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs.map +0 -1
  1029. package/dist/admin/future/hooks/useApiErrorMessage.js.map +0 -1
  1030. package/dist/admin/future/hooks/useApiErrorMessage.mjs.map +0 -1
  1031. package/dist/admin/future/hooks/useMediaLibraryPermissions.js +0 -35
  1032. package/dist/admin/future/hooks/useMediaLibraryPermissions.js.map +0 -1
  1033. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs +0 -33
  1034. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs.map +0 -1
  1035. package/dist/admin/future/hooks/useTracking.js +0 -57
  1036. package/dist/admin/future/hooks/useTracking.js.map +0 -1
  1037. package/dist/admin/future/hooks/useTracking.mjs +0 -53
  1038. package/dist/admin/future/hooks/useTracking.mjs.map +0 -1
  1039. package/dist/admin/future/pages/Assets/AssetsPage.js +0 -830
  1040. package/dist/admin/future/pages/Assets/AssetsPage.js.map +0 -1
  1041. package/dist/admin/future/pages/Assets/AssetsPage.mjs +0 -808
  1042. package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +0 -1
  1043. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.js.map +0 -1
  1044. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.mjs.map +0 -1
  1045. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.js.map +0 -1
  1046. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.mjs.map +0 -1
  1047. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +0 -1
  1048. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +0 -1
  1049. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +0 -1202
  1050. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +0 -1
  1051. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +0 -1175
  1052. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +0 -1
  1053. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +0 -261
  1054. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +0 -1
  1055. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +0 -239
  1056. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +0 -1
  1057. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.js.map +0 -1
  1058. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.mjs.map +0 -1
  1059. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +0 -534
  1060. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +0 -1
  1061. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +0 -532
  1062. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +0 -1
  1063. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.js.map +0 -1
  1064. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.mjs.map +0 -1
  1065. package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +0 -1
  1066. package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +0 -1
  1067. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js +0 -431
  1068. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js.map +0 -1
  1069. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs +0 -429
  1070. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs.map +0 -1
  1071. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.js.map +0 -1
  1072. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.mjs.map +0 -1
  1073. package/dist/admin/future/pages/Assets/components/BusyOverlay.js.map +0 -1
  1074. package/dist/admin/future/pages/Assets/components/BusyOverlay.mjs.map +0 -1
  1075. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.js.map +0 -1
  1076. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.mjs.map +0 -1
  1077. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.js.map +0 -1
  1078. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.mjs.map +0 -1
  1079. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js +0 -299
  1080. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +0 -1
  1081. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs +0 -296
  1082. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +0 -1
  1083. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js +0 -144
  1084. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js.map +0 -1
  1085. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs +0 -142
  1086. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +0 -1
  1087. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.js.map +0 -1
  1088. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.mjs.map +0 -1
  1089. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.js.map +0 -1
  1090. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +0 -1
  1091. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.js.map +0 -1
  1092. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.mjs.map +0 -1
  1093. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.js.map +0 -1
  1094. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.mjs.map +0 -1
  1095. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +0 -1
  1096. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +0 -1
  1097. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +0 -1
  1098. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs.map +0 -1
  1099. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +0 -1
  1100. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +0 -1
  1101. package/dist/admin/future/pages/Assets/components/EmptyState.js.map +0 -1
  1102. package/dist/admin/future/pages/Assets/components/EmptyState.mjs.map +0 -1
  1103. package/dist/admin/future/pages/Assets/components/FilterBadges.js.map +0 -1
  1104. package/dist/admin/future/pages/Assets/components/FilterBadges.mjs.map +0 -1
  1105. package/dist/admin/future/pages/Assets/components/FilterMenu.js.map +0 -1
  1106. package/dist/admin/future/pages/Assets/components/FilterMenu.mjs.map +0 -1
  1107. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.js.map +0 -1
  1108. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.mjs.map +0 -1
  1109. package/dist/admin/future/pages/Assets/components/FolderFormDialog.js.map +0 -1
  1110. package/dist/admin/future/pages/Assets/components/FolderFormDialog.mjs.map +0 -1
  1111. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +0 -1
  1112. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +0 -1
  1113. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +0 -1
  1114. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +0 -1
  1115. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +0 -1
  1116. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.mjs.map +0 -1
  1117. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.js.map +0 -1
  1118. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.mjs.map +0 -1
  1119. package/dist/admin/future/pages/Assets/components/SortMenu.js.map +0 -1
  1120. package/dist/admin/future/pages/Assets/components/SortMenu.mjs.map +0 -1
  1121. package/dist/admin/future/pages/Assets/constants.js.map +0 -1
  1122. package/dist/admin/future/pages/Assets/constants.mjs.map +0 -1
  1123. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.js.map +0 -1
  1124. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.mjs.map +0 -1
  1125. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.js.map +0 -1
  1126. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.mjs.map +0 -1
  1127. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.js.map +0 -1
  1128. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.mjs.map +0 -1
  1129. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +0 -1
  1130. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +0 -1
  1131. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +0 -1
  1132. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +0 -1
  1133. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +0 -1
  1134. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +0 -1
  1135. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +0 -1
  1136. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +0 -1
  1137. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +0 -1
  1138. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +0 -1
  1139. package/dist/admin/future/pages/Assets/hooks/useListFilters.js.map +0 -1
  1140. package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs.map +0 -1
  1141. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.js.map +0 -1
  1142. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.mjs.map +0 -1
  1143. package/dist/admin/future/pages/Assets/hooks/useListSort.js.map +0 -1
  1144. package/dist/admin/future/pages/Assets/hooks/useListSort.mjs.map +0 -1
  1145. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.js.map +0 -1
  1146. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.mjs.map +0 -1
  1147. package/dist/admin/future/pages/Assets/utils/listQueryKey.js.map +0 -1
  1148. package/dist/admin/future/pages/Assets/utils/listQueryKey.mjs.map +0 -1
  1149. package/dist/admin/future/pages/Assets/utils/mergeMixedList.js.map +0 -1
  1150. package/dist/admin/future/pages/Assets/utils/mergeMixedList.mjs.map +0 -1
  1151. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.js.map +0 -1
  1152. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.mjs.map +0 -1
  1153. package/dist/admin/future/pages/Assets/utils/renderedKeys.js.map +0 -1
  1154. package/dist/admin/future/pages/Assets/utils/renderedKeys.mjs.map +0 -1
  1155. package/dist/admin/future/pages/Assets/utils/selection.js.map +0 -1
  1156. package/dist/admin/future/pages/Assets/utils/selection.mjs.map +0 -1
  1157. package/dist/admin/future/services/api.js +0 -758
  1158. package/dist/admin/future/services/api.js.map +0 -1
  1159. package/dist/admin/future/services/api.mjs +0 -749
  1160. package/dist/admin/future/services/api.mjs.map +0 -1
  1161. package/dist/admin/future/services/assets.js.map +0 -1
  1162. package/dist/admin/future/services/assets.mjs.map +0 -1
  1163. package/dist/admin/future/services/folders.js.map +0 -1
  1164. package/dist/admin/future/services/folders.mjs.map +0 -1
  1165. package/dist/admin/future/services/settings.js.map +0 -1
  1166. package/dist/admin/future/services/settings.mjs.map +0 -1
  1167. package/dist/admin/future/services/uploadFileViaXHR.js.map +0 -1
  1168. package/dist/admin/future/services/uploadFileViaXHR.mjs.map +0 -1
  1169. package/dist/admin/future/store/hooks.js.map +0 -1
  1170. package/dist/admin/future/store/hooks.mjs.map +0 -1
  1171. package/dist/admin/future/store/uploadProgress.js +0 -364
  1172. package/dist/admin/future/store/uploadProgress.js.map +0 -1
  1173. package/dist/admin/future/store/uploadProgress.mjs +0 -340
  1174. package/dist/admin/future/store/uploadProgress.mjs.map +0 -1
  1175. package/dist/admin/future/utils/buildBulkMovePayload.js.map +0 -1
  1176. package/dist/admin/future/utils/buildBulkMovePayload.mjs.map +0 -1
  1177. package/dist/admin/future/utils/buildDragSetFromSelection.js.map +0 -1
  1178. package/dist/admin/future/utils/buildDragSetFromSelection.mjs.map +0 -1
  1179. package/dist/admin/future/utils/canDropItemOnFolder.js.map +0 -1
  1180. package/dist/admin/future/utils/canDropItemOnFolder.mjs.map +0 -1
  1181. package/dist/admin/future/utils/createRafBatcher.js.map +0 -1
  1182. package/dist/admin/future/utils/createRafBatcher.mjs.map +0 -1
  1183. package/dist/admin/future/utils/downloadFile.js +0 -19
  1184. package/dist/admin/future/utils/downloadFile.js.map +0 -1
  1185. package/dist/admin/future/utils/downloadFile.mjs +0 -17
  1186. package/dist/admin/future/utils/downloadFile.mjs.map +0 -1
  1187. package/dist/admin/future/utils/files.js.map +0 -1
  1188. package/dist/admin/future/utils/files.mjs.map +0 -1
  1189. package/dist/admin/future/utils/flattenFolderStructure.js.map +0 -1
  1190. package/dist/admin/future/utils/flattenFolderStructure.mjs.map +0 -1
  1191. package/dist/admin/future/utils/formatMoveSuccessMessage.js.map +0 -1
  1192. package/dist/admin/future/utils/formatMoveSuccessMessage.mjs.map +0 -1
  1193. package/dist/admin/future/utils/getApiErrorMessage.js.map +0 -1
  1194. package/dist/admin/future/utils/getApiErrorMessage.mjs.map +0 -1
  1195. package/dist/admin/future/utils/getAssetIcon.js +0 -28
  1196. package/dist/admin/future/utils/getAssetIcon.js.map +0 -1
  1197. package/dist/admin/future/utils/getAssetIcon.mjs +0 -26
  1198. package/dist/admin/future/utils/getAssetIcon.mjs.map +0 -1
  1199. package/dist/admin/future/utils/getFolderLabel.js.map +0 -1
  1200. package/dist/admin/future/utils/getFolderLabel.mjs.map +0 -1
  1201. package/dist/admin/future/utils/getRelationId.js.map +0 -1
  1202. package/dist/admin/future/utils/getRelationId.mjs.map +0 -1
  1203. package/dist/admin/future/utils/isEventFromWithin.js.map +0 -1
  1204. package/dist/admin/future/utils/isEventFromWithin.mjs.map +0 -1
  1205. package/dist/admin/future/utils/itemLocations.js.map +0 -1
  1206. package/dist/admin/future/utils/itemLocations.mjs.map +0 -1
  1207. package/dist/admin/future/utils/itemSource.js.map +0 -1
  1208. package/dist/admin/future/utils/itemSource.mjs.map +0 -1
  1209. package/dist/admin/future/utils/searchQueryParam.js.map +0 -1
  1210. package/dist/admin/future/utils/searchQueryParam.mjs.map +0 -1
  1211. package/dist/admin/future/utils/translations.js +0 -8
  1212. package/dist/admin/future/utils/translations.js.map +0 -1
  1213. package/dist/admin/future/utils/translations.mjs +0 -6
  1214. package/dist/admin/future/utils/translations.mjs.map +0 -1
  1215. package/dist/admin/hooks/useAIMetadataJob.js +0 -114
  1216. package/dist/admin/hooks/useAIMetadataJob.js.map +0 -1
  1217. package/dist/admin/hooks/useAIMetadataJob.mjs +0 -92
  1218. package/dist/admin/hooks/useAIMetadataJob.mjs.map +0 -1
  1219. package/dist/admin/hooks/useAiAvailability.js.map +0 -1
  1220. package/dist/admin/hooks/useAiAvailability.mjs.map +0 -1
  1221. package/dist/admin/hooks/useAssets.js +0 -127
  1222. package/dist/admin/hooks/useAssets.js.map +0 -1
  1223. package/dist/admin/hooks/useAssets.mjs +0 -105
  1224. package/dist/admin/hooks/useAssets.mjs.map +0 -1
  1225. package/dist/admin/hooks/useBulkEdit.js +0 -65
  1226. package/dist/admin/hooks/useBulkEdit.js.map +0 -1
  1227. package/dist/admin/hooks/useBulkEdit.mjs +0 -63
  1228. package/dist/admin/hooks/useBulkEdit.mjs.map +0 -1
  1229. package/dist/admin/hooks/useBulkMove.js +0 -78
  1230. package/dist/admin/hooks/useBulkMove.js.map +0 -1
  1231. package/dist/admin/hooks/useBulkMove.mjs +0 -76
  1232. package/dist/admin/hooks/useBulkMove.mjs.map +0 -1
  1233. package/dist/admin/hooks/useBulkRemove.js +0 -83
  1234. package/dist/admin/hooks/useBulkRemove.js.map +0 -1
  1235. package/dist/admin/hooks/useBulkRemove.mjs +0 -81
  1236. package/dist/admin/hooks/useBulkRemove.mjs.map +0 -1
  1237. package/dist/admin/hooks/useConfig.js +0 -58
  1238. package/dist/admin/hooks/useConfig.js.map +0 -1
  1239. package/dist/admin/hooks/useConfig.mjs +0 -56
  1240. package/dist/admin/hooks/useConfig.mjs.map +0 -1
  1241. package/dist/admin/hooks/useCropImg.js.map +0 -1
  1242. package/dist/admin/hooks/useCropImg.mjs.map +0 -1
  1243. package/dist/admin/hooks/useEditAsset.js +0 -115
  1244. package/dist/admin/hooks/useEditAsset.js.map +0 -1
  1245. package/dist/admin/hooks/useEditAsset.mjs +0 -93
  1246. package/dist/admin/hooks/useEditAsset.mjs.map +0 -1
  1247. package/dist/admin/hooks/useEditFolder.js +0 -45
  1248. package/dist/admin/hooks/useEditFolder.js.map +0 -1
  1249. package/dist/admin/hooks/useEditFolder.mjs +0 -43
  1250. package/dist/admin/hooks/useEditFolder.mjs.map +0 -1
  1251. package/dist/admin/hooks/useFolder.js +0 -57
  1252. package/dist/admin/hooks/useFolder.js.map +0 -1
  1253. package/dist/admin/hooks/useFolder.mjs +0 -55
  1254. package/dist/admin/hooks/useFolder.mjs.map +0 -1
  1255. package/dist/admin/hooks/useFolderStructure.js +0 -52
  1256. package/dist/admin/hooks/useFolderStructure.js.map +0 -1
  1257. package/dist/admin/hooks/useFolderStructure.mjs +0 -50
  1258. package/dist/admin/hooks/useFolderStructure.mjs.map +0 -1
  1259. package/dist/admin/hooks/useFolders.js +0 -108
  1260. package/dist/admin/hooks/useFolders.js.map +0 -1
  1261. package/dist/admin/hooks/useFolders.mjs +0 -86
  1262. package/dist/admin/hooks/useFolders.mjs.map +0 -1
  1263. package/dist/admin/hooks/useModalQueryParams.js.map +0 -1
  1264. package/dist/admin/hooks/useModalQueryParams.mjs.map +0 -1
  1265. package/dist/admin/hooks/usePersistentState.js.map +0 -1
  1266. package/dist/admin/hooks/usePersistentState.mjs.map +0 -1
  1267. package/dist/admin/hooks/useRemoveAsset.js +0 -58
  1268. package/dist/admin/hooks/useRemoveAsset.js.map +0 -1
  1269. package/dist/admin/hooks/useRemoveAsset.mjs +0 -56
  1270. package/dist/admin/hooks/useRemoveAsset.mjs.map +0 -1
  1271. package/dist/admin/hooks/useSelectionState.js.map +0 -1
  1272. package/dist/admin/hooks/useSelectionState.mjs.map +0 -1
  1273. package/dist/admin/hooks/useSettings.js.map +0 -1
  1274. package/dist/admin/hooks/useSettings.mjs.map +0 -1
  1275. package/dist/admin/hooks/useUpload.js +0 -109
  1276. package/dist/admin/hooks/useUpload.js.map +0 -1
  1277. package/dist/admin/hooks/useUpload.mjs +0 -87
  1278. package/dist/admin/hooks/useUpload.mjs.map +0 -1
  1279. package/dist/admin/hooks/utils/renameKeys.js.map +0 -1
  1280. package/dist/admin/hooks/utils/renameKeys.mjs.map +0 -1
  1281. package/dist/admin/pages/App/App.js.map +0 -1
  1282. package/dist/admin/pages/App/App.mjs.map +0 -1
  1283. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +0 -145
  1284. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +0 -1
  1285. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -120
  1286. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +0 -1
  1287. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -109
  1288. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +0 -1
  1289. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -107
  1290. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +0 -1
  1291. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js +0 -10
  1292. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +0 -1
  1293. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs +0 -7
  1294. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +0 -1
  1295. package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +0 -1
  1296. package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +0 -1
  1297. package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +0 -1
  1298. package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +0 -1
  1299. package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +0 -1
  1300. package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +0 -1
  1301. package/dist/admin/pages/App/MediaLibrary.js +0 -469
  1302. package/dist/admin/pages/App/MediaLibrary.js.map +0 -1
  1303. package/dist/admin/pages/App/MediaLibrary.mjs +0 -447
  1304. package/dist/admin/pages/App/MediaLibrary.mjs.map +0 -1
  1305. package/dist/admin/pages/App/components/BulkActions.js.map +0 -1
  1306. package/dist/admin/pages/App/components/BulkActions.mjs.map +0 -1
  1307. package/dist/admin/pages/App/components/BulkDeleteButton.js.map +0 -1
  1308. package/dist/admin/pages/App/components/BulkDeleteButton.mjs.map +0 -1
  1309. package/dist/admin/pages/App/components/BulkMoveButton.js.map +0 -1
  1310. package/dist/admin/pages/App/components/BulkMoveButton.mjs.map +0 -1
  1311. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +0 -1
  1312. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +0 -1
  1313. package/dist/admin/pages/App/components/Filters.js.map +0 -1
  1314. package/dist/admin/pages/App/components/Filters.mjs.map +0 -1
  1315. package/dist/admin/pages/App/components/Header.js.map +0 -1
  1316. package/dist/admin/pages/App/components/Header.mjs.map +0 -1
  1317. package/dist/admin/src/ai/components/AIAssetCard.d.ts +0 -13
  1318. package/dist/admin/src/ai/components/AIUploadModal.d.ts +0 -55
  1319. package/dist/admin/src/components/AssetCard/AssetCard.d.ts +0 -19
  1320. package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +0 -17
  1321. package/dist/admin/src/components/AssetDialog/AssetDialog.d.ts +0 -39
  1322. package/dist/admin/src/components/AssetDialog/BrowseStep/BrowseStep.d.ts +0 -63
  1323. package/dist/admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +0 -7
  1324. package/dist/admin/src/components/AssetDialog/SelectedStep/SelectedStep.d.ts +0 -8
  1325. package/dist/admin/src/components/AssetGridList/AssetGridList.d.ts +0 -13
  1326. package/dist/admin/src/components/BulkMoveDialog/BulkMoveDialog.d.ts +0 -15
  1327. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +0 -31
  1328. package/dist/admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +0 -8
  1329. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +0 -26
  1330. package/dist/admin/src/components/EditAssetDialog/RemoveAssetDialog.d.ts +0 -8
  1331. package/dist/admin/src/components/EditFolderDialog/EditFolderDialog.d.ts +0 -12
  1332. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +0 -10
  1333. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +0 -4
  1334. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +0 -9
  1335. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +0 -23
  1336. package/dist/admin/src/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +0 -10
  1337. package/dist/admin/src/components/SelectTree/Option.d.ts +0 -16
  1338. package/dist/admin/src/components/SortPicker/SortPicker.d.ts +0 -7
  1339. package/dist/admin/src/components/TableList/CellContent.d.ts +0 -8
  1340. package/dist/admin/src/components/TableList/PreviewCell.d.ts +0 -7
  1341. package/dist/admin/src/components/TableList/TableList.d.ts +0 -31
  1342. package/dist/admin/src/components/TableList/TableRows.d.ts +0 -22
  1343. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +0 -13
  1344. package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +0 -22
  1345. package/dist/admin/src/components/UploadAssetDialog/UploadAssetDialog.d.ts +0 -21
  1346. package/dist/admin/src/components/UploadProgress/UploadProgress.d.ts +0 -7
  1347. package/dist/admin/src/future/App.d.ts +0 -1
  1348. package/dist/admin/src/future/components/BetaNotice.d.ts +0 -11
  1349. package/dist/admin/src/future/hooks/useMediaLibraryPermissions.d.ts +0 -21
  1350. package/dist/admin/src/future/hooks/useTracking.d.ts +0 -29
  1351. package/dist/admin/src/future/pages/Assets/components/ActionsMenuContent.d.ts +0 -33
  1352. package/dist/admin/src/future/pages/Assets/components/AssetActionsMenu.d.ts +0 -26
  1353. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +0 -16
  1354. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +0 -46
  1355. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetPreview.d.ts +0 -9
  1356. package/dist/admin/src/future/pages/Assets/components/AssetsGrid.d.ts +0 -12
  1357. package/dist/admin/src/future/pages/Assets/components/AssetsTable.d.ts +0 -18
  1358. package/dist/admin/src/future/pages/Assets/components/BulkActionsBar.d.ts +0 -28
  1359. package/dist/admin/src/future/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +0 -7
  1360. package/dist/admin/src/future/pages/Assets/components/FolderActionsMenu.d.ts +0 -21
  1361. package/dist/admin/src/future/pages/Assets/hooks/useFolderNavigation.d.ts +0 -7
  1362. package/dist/admin/src/future/pages/Assets/hooks/useInfiniteAssets.d.ts +0 -45
  1363. package/dist/admin/src/future/pages/Assets/utils/mergeMixedList.d.ts +0 -40
  1364. package/dist/admin/src/future/pages/Assets/utils/mergeUploadedAssets.d.ts +0 -35
  1365. package/dist/admin/src/future/pages/Assets/utils/renderedKeys.d.ts +0 -19
  1366. package/dist/admin/src/future/services/api.d.ts +0 -99
  1367. package/dist/admin/src/future/services/assets.d.ts +0 -33
  1368. package/dist/admin/src/future/services/folders.d.ts +0 -37
  1369. package/dist/admin/src/future/services/settings.d.ts +0 -2
  1370. package/dist/admin/src/future/services/uploadFileViaXHR.d.ts +0 -23
  1371. package/dist/admin/src/future/store/uploadProgress.d.ts +0 -207
  1372. package/dist/admin/src/future/utils/canDropItemOnFolder.d.ts +0 -9
  1373. package/dist/admin/src/future/utils/downloadFile.d.ts +0 -6
  1374. package/dist/admin/src/future/utils/flattenFolderStructure.d.ts +0 -18
  1375. package/dist/admin/src/future/utils/getFolderLabel.d.ts +0 -11
  1376. package/dist/admin/src/future/utils/itemLocations.d.ts +0 -31
  1377. package/dist/admin/src/hooks/useAIMetadataJob.d.ts +0 -9
  1378. package/dist/admin/src/hooks/useAssets.d.ts +0 -14
  1379. package/dist/admin/src/hooks/useBulkEdit.d.ts +0 -91
  1380. package/dist/admin/src/hooks/useBulkMove.d.ts +0 -209
  1381. package/dist/admin/src/hooks/useBulkRemove.d.ts +0 -241
  1382. package/dist/admin/src/hooks/useConfig.d.ts +0 -5
  1383. package/dist/admin/src/hooks/useEditAsset.d.ts +0 -119
  1384. package/dist/admin/src/hooks/useEditFolder.d.ts +0 -72
  1385. package/dist/admin/src/hooks/useFolder.d.ts +0 -7
  1386. package/dist/admin/src/hooks/useFolderStructure.d.ts +0 -18
  1387. package/dist/admin/src/hooks/useFolders.d.ts +0 -11
  1388. package/dist/admin/src/hooks/useModalQueryParams.d.ts +0 -20
  1389. package/dist/admin/src/hooks/useRemoveAsset.d.ts +0 -8
  1390. package/dist/admin/src/hooks/useUpload.d.ts +0 -15
  1391. package/dist/admin/src/pages/App/ConfigureTheView/ConfigureTheView.d.ts +0 -6
  1392. package/dist/admin/src/pages/App/ConfigureTheView/components/Settings.d.ts +0 -13
  1393. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +0 -12
  1394. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +0 -8
  1395. package/dist/admin/src/pages/App/components/BulkActions.d.ts +0 -15
  1396. package/dist/admin/src/pages/App/components/BulkDeleteButton.d.ts +0 -7
  1397. package/dist/admin/src/pages/App/components/BulkMoveButton.d.ts +0 -15
  1398. package/dist/admin/src/pages/App/components/Header.d.ts +0 -22
  1399. package/dist/admin/src/utils/containsAssetFilter.d.ts +0 -2
  1400. package/dist/admin/src/utils/createAssetUrl.d.ts +0 -2
  1401. package/dist/admin/src/utils/findRecursiveFolderByValue.d.ts +0 -11
  1402. package/dist/admin/src/utils/getAllowedFiles.d.ts +0 -14
  1403. package/dist/admin/src/utils/getBreadcrumbDataCM.d.ts +0 -19
  1404. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +0 -18
  1405. package/dist/admin/src/utils/getFolderParents.d.ts +0 -11
  1406. package/dist/admin/src/utils/getFolderURL.d.ts +0 -5
  1407. package/dist/admin/src/utils/icons.d.ts +0 -15
  1408. package/dist/admin/src/utils/index.d.ts +0 -26
  1409. package/dist/admin/src/utils/rawFileToAsset.d.ts +0 -14
  1410. package/dist/admin/utils/appendSearchParamsToUrl.js.map +0 -1
  1411. package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +0 -1
  1412. package/dist/admin/utils/containsAssetFilter.js.map +0 -1
  1413. package/dist/admin/utils/containsAssetFilter.mjs.map +0 -1
  1414. package/dist/admin/utils/createAssetUrl.js.map +0 -1
  1415. package/dist/admin/utils/createAssetUrl.mjs.map +0 -1
  1416. package/dist/admin/utils/displayedFilters.js.map +0 -1
  1417. package/dist/admin/utils/displayedFilters.mjs.map +0 -1
  1418. package/dist/admin/utils/findRecursiveFolderByValue.js.map +0 -1
  1419. package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +0 -1
  1420. package/dist/admin/utils/formatBytes.js.map +0 -1
  1421. package/dist/admin/utils/formatBytes.mjs.map +0 -1
  1422. package/dist/admin/utils/formatDuration.js.map +0 -1
  1423. package/dist/admin/utils/formatDuration.mjs.map +0 -1
  1424. package/dist/admin/utils/getAPIInnerErrors.js.map +0 -1
  1425. package/dist/admin/utils/getAPIInnerErrors.mjs.map +0 -1
  1426. package/dist/admin/utils/getAllowedFiles.js.map +0 -1
  1427. package/dist/admin/utils/getAllowedFiles.mjs.map +0 -1
  1428. package/dist/admin/utils/getBreadcrumbDataCM.js.map +0 -1
  1429. package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +0 -1
  1430. package/dist/admin/utils/getBreadcrumbDataML.js.map +0 -1
  1431. package/dist/admin/utils/getBreadcrumbDataML.mjs.map +0 -1
  1432. package/dist/admin/utils/getFileExtension.js.map +0 -1
  1433. package/dist/admin/utils/getFileExtension.mjs.map +0 -1
  1434. package/dist/admin/utils/getFolderParents.js.map +0 -1
  1435. package/dist/admin/utils/getFolderParents.mjs.map +0 -1
  1436. package/dist/admin/utils/getFolderURL.js.map +0 -1
  1437. package/dist/admin/utils/getFolderURL.mjs.map +0 -1
  1438. package/dist/admin/utils/getTrad.js +0 -8
  1439. package/dist/admin/utils/getTrad.js.map +0 -1
  1440. package/dist/admin/utils/getTrad.mjs +0 -6
  1441. package/dist/admin/utils/getTrad.mjs.map +0 -1
  1442. package/dist/admin/utils/icons.js +0 -23
  1443. package/dist/admin/utils/icons.js.map +0 -1
  1444. package/dist/admin/utils/icons.mjs +0 -19
  1445. package/dist/admin/utils/icons.mjs.map +0 -1
  1446. package/dist/admin/utils/moveElement.js.map +0 -1
  1447. package/dist/admin/utils/moveElement.mjs.map +0 -1
  1448. package/dist/admin/utils/normalizeAPIError.js.map +0 -1
  1449. package/dist/admin/utils/normalizeAPIError.mjs.map +0 -1
  1450. package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +0 -1
  1451. package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +0 -1
  1452. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  1453. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  1454. package/dist/admin/utils/rawFileToAsset.js +0 -23
  1455. package/dist/admin/utils/rawFileToAsset.js.map +0 -1
  1456. package/dist/admin/utils/rawFileToAsset.mjs +0 -21
  1457. package/dist/admin/utils/rawFileToAsset.mjs.map +0 -1
  1458. package/dist/admin/utils/resolveFileMime.js.map +0 -1
  1459. package/dist/admin/utils/resolveFileMime.mjs.map +0 -1
  1460. package/dist/admin/utils/toSingularTypes.js.map +0 -1
  1461. package/dist/admin/utils/toSingularTypes.mjs.map +0 -1
  1462. package/dist/admin/utils/urlYupSchema.js.map +0 -1
  1463. package/dist/admin/utils/urlYupSchema.mjs.map +0 -1
  1464. package/dist/admin/utils/urlsToAssets.js +0 -42
  1465. package/dist/admin/utils/urlsToAssets.js.map +0 -1
  1466. package/dist/admin/utils/urlsToAssets.mjs +0 -40
  1467. package/dist/admin/utils/urlsToAssets.mjs.map +0 -1
  1468. /package/dist/admin/{future/components → components}/Drawer.js +0 -0
  1469. /package/dist/admin/{future/components → components}/Drawer.mjs +0 -0
  1470. /package/dist/admin/{future/components → components}/TruncatedText.js +0 -0
  1471. /package/dist/admin/{future/components → components}/TruncatedText.mjs +0 -0
  1472. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.js +0 -0
  1473. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.mjs +0 -0
  1474. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.js +0 -0
  1475. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.mjs +0 -0
  1476. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.js +0 -0
  1477. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.mjs +0 -0
  1478. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.js +0 -0
  1479. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.mjs +0 -0
  1480. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.js +0 -0
  1481. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.mjs +0 -0
  1482. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.js +0 -0
  1483. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.mjs +0 -0
  1484. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.js +0 -0
  1485. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.mjs +0 -0
  1486. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.js +0 -0
  1487. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.mjs +0 -0
  1488. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.js +0 -0
  1489. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.mjs +0 -0
  1490. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.js +0 -0
  1491. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.mjs +0 -0
  1492. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.js +0 -0
  1493. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.mjs +0 -0
  1494. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.js +0 -0
  1495. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.mjs +0 -0
  1496. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +0 -0
  1497. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs +0 -0
  1498. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js +0 -0
  1499. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs +0 -0
  1500. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +0 -0
  1501. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -0
  1502. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.js +0 -0
  1503. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.mjs +0 -0
  1504. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.js +0 -0
  1505. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.mjs +0 -0
  1506. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.js +0 -0
  1507. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.mjs +0 -0
  1508. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.js +0 -0
  1509. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.mjs +0 -0
  1510. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.js +0 -0
  1511. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.mjs +0 -0
  1512. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.js +0 -0
  1513. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.mjs +0 -0
  1514. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.js +0 -0
  1515. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -0
  1516. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.js +0 -0
  1517. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.mjs +0 -0
  1518. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.js +0 -0
  1519. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.mjs +0 -0
  1520. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.js +0 -0
  1521. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.mjs +0 -0
  1522. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.js +0 -0
  1523. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.mjs +0 -0
  1524. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.js +0 -0
  1525. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.mjs +0 -0
  1526. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.js +0 -0
  1527. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -0
  1528. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -0
  1529. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -0
  1530. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.js +0 -0
  1531. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.mjs +0 -0
  1532. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.js +0 -0
  1533. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.mjs +0 -0
  1534. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.js +0 -0
  1535. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.mjs +0 -0
  1536. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.js +0 -0
  1537. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.mjs +0 -0
  1538. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.js +0 -0
  1539. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -0
  1540. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.js +0 -0
  1541. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.mjs +0 -0
  1542. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.js +0 -0
  1543. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.mjs +0 -0
  1544. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.js +0 -0
  1545. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.mjs +0 -0
  1546. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.js +0 -0
  1547. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.mjs +0 -0
  1548. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.js +0 -0
  1549. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.mjs +0 -0
  1550. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.js +0 -0
  1551. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.mjs +0 -0
  1552. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.js +0 -0
  1553. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.mjs +0 -0
  1554. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.js +0 -0
  1555. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.mjs +0 -0
  1556. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.js +0 -0
  1557. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.mjs +0 -0
  1558. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.js +0 -0
  1559. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.mjs +0 -0
  1560. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js +0 -0
  1561. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs +0 -0
  1562. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js +0 -0
  1563. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs +0 -0
  1564. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.js +0 -0
  1565. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.mjs +0 -0
  1566. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.js +0 -0
  1567. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.mjs +0 -0
  1568. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.js +0 -0
  1569. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.mjs +0 -0
  1570. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -0
  1571. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -0
  1572. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.js +0 -0
  1573. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.mjs +0 -0
  1574. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.js +0 -0
  1575. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.mjs +0 -0
  1576. /package/dist/admin/{components → legacy/components}/SelectTree/Option.js +0 -0
  1577. /package/dist/admin/{components → legacy/components}/SelectTree/Option.mjs +0 -0
  1578. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.js +0 -0
  1579. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.mjs +0 -0
  1580. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.js +0 -0
  1581. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.mjs +0 -0
  1582. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.js +0 -0
  1583. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.mjs +0 -0
  1584. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.js +0 -0
  1585. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.mjs +0 -0
  1586. /package/dist/admin/{components → legacy/components}/TableList/CellContent.js +0 -0
  1587. /package/dist/admin/{components → legacy/components}/TableList/CellContent.mjs +0 -0
  1588. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -0
  1589. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -0
  1590. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.js +0 -0
  1591. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -0
  1592. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +0 -0
  1593. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -0
  1594. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.js +0 -0
  1595. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.mjs +0 -0
  1596. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.js +0 -0
  1597. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.mjs +0 -0
  1598. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.js +0 -0
  1599. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.mjs +0 -0
  1600. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.js +0 -0
  1601. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.mjs +0 -0
  1602. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.js +0 -0
  1603. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.mjs +0 -0
  1604. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.js +0 -0
  1605. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.mjs +0 -0
  1606. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.js +0 -0
  1607. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.mjs +0 -0
  1608. /package/dist/admin/{hooks → legacy/hooks}/useSettings.js +0 -0
  1609. /package/dist/admin/{hooks → legacy/hooks}/useSettings.mjs +0 -0
  1610. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.js +0 -0
  1611. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.mjs +0 -0
  1612. /package/dist/admin/{pages → legacy/pages}/App/App.js +0 -0
  1613. /package/dist/admin/{pages → legacy/pages}/App/App.mjs +0 -0
  1614. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.js +0 -0
  1615. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.mjs +0 -0
  1616. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.js +0 -0
  1617. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.mjs +0 -0
  1618. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.js +0 -0
  1619. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.mjs +0 -0
  1620. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.js +0 -0
  1621. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.mjs +0 -0
  1622. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.js +0 -0
  1623. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.mjs +0 -0
  1624. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.js +0 -0
  1625. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.mjs +0 -0
  1626. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.js +0 -0
  1627. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.mjs +0 -0
  1628. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.js +0 -0
  1629. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.mjs +0 -0
  1630. /package/dist/admin/{pages → legacy/pages}/App/components/Header.js +0 -0
  1631. /package/dist/admin/{pages → legacy/pages}/App/components/Header.mjs +0 -0
  1632. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.js +0 -0
  1633. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.mjs +0 -0
  1634. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.js +0 -0
  1635. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.mjs +0 -0
  1636. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.js +0 -0
  1637. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.mjs +0 -0
  1638. /package/dist/admin/{utils → legacy/utils}/displayedFilters.js +0 -0
  1639. /package/dist/admin/{utils → legacy/utils}/displayedFilters.mjs +0 -0
  1640. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.js +0 -0
  1641. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.mjs +0 -0
  1642. /package/dist/admin/{utils → legacy/utils}/formatBytes.js +0 -0
  1643. /package/dist/admin/{utils → legacy/utils}/formatBytes.mjs +0 -0
  1644. /package/dist/admin/{utils → legacy/utils}/formatDuration.js +0 -0
  1645. /package/dist/admin/{utils → legacy/utils}/formatDuration.mjs +0 -0
  1646. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.js +0 -0
  1647. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.mjs +0 -0
  1648. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.js +0 -0
  1649. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.mjs +0 -0
  1650. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.js +0 -0
  1651. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.mjs +0 -0
  1652. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.js +0 -0
  1653. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.mjs +0 -0
  1654. /package/dist/admin/{utils → legacy/utils}/getFileExtension.js +0 -0
  1655. /package/dist/admin/{utils → legacy/utils}/getFileExtension.mjs +0 -0
  1656. /package/dist/admin/{utils → legacy/utils}/getFolderParents.js +0 -0
  1657. /package/dist/admin/{utils → legacy/utils}/getFolderParents.mjs +0 -0
  1658. /package/dist/admin/{utils → legacy/utils}/getFolderURL.js +0 -0
  1659. /package/dist/admin/{utils → legacy/utils}/getFolderURL.mjs +0 -0
  1660. /package/dist/admin/{utils → legacy/utils}/moveElement.js +0 -0
  1661. /package/dist/admin/{utils → legacy/utils}/moveElement.mjs +0 -0
  1662. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.js +0 -0
  1663. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.mjs +0 -0
  1664. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.js +0 -0
  1665. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.mjs +0 -0
  1666. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.js +0 -0
  1667. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.mjs +0 -0
  1668. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.js +0 -0
  1669. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.mjs +0 -0
  1670. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.js +0 -0
  1671. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.mjs +0 -0
  1672. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.js +0 -0
  1673. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.mjs +0 -0
  1674. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.js +0 -0
  1675. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.mjs +0 -0
  1676. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.js +0 -0
  1677. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.mjs +0 -0
  1678. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.js +0 -0
  1679. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.mjs +0 -0
  1680. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.js +0 -0
  1681. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.mjs +0 -0
  1682. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.js +0 -0
  1683. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.mjs +0 -0
  1684. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.js +0 -0
  1685. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.mjs +0 -0
  1686. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.js +0 -0
  1687. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.mjs +0 -0
  1688. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.js +0 -0
  1689. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.mjs +0 -0
  1690. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.js +0 -0
  1691. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.mjs +0 -0
  1692. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.js +0 -0
  1693. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.mjs +0 -0
  1694. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.js +0 -0
  1695. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.mjs +0 -0
  1696. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.js +0 -0
  1697. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.mjs +0 -0
  1698. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.js +0 -0
  1699. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.mjs +0 -0
  1700. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.js +0 -0
  1701. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.mjs +0 -0
  1702. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.js +0 -0
  1703. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.mjs +0 -0
  1704. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.js +0 -0
  1705. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.mjs +0 -0
  1706. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.js +0 -0
  1707. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.mjs +0 -0
  1708. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.js +0 -0
  1709. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.mjs +0 -0
  1710. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.js +0 -0
  1711. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.mjs +0 -0
  1712. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.js +0 -0
  1713. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.mjs +0 -0
  1714. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.js +0 -0
  1715. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.mjs +0 -0
  1716. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.js +0 -0
  1717. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.mjs +0 -0
  1718. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.js +0 -0
  1719. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.mjs +0 -0
  1720. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.js +0 -0
  1721. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.mjs +0 -0
  1722. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.js +0 -0
  1723. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.mjs +0 -0
  1724. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.js +0 -0
  1725. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.mjs +0 -0
  1726. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.js +0 -0
  1727. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.mjs +0 -0
  1728. /package/dist/admin/{future/pages → pages}/Assets/constants.js +0 -0
  1729. /package/dist/admin/{future/pages → pages}/Assets/constants.mjs +0 -0
  1730. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.js +0 -0
  1731. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.mjs +0 -0
  1732. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.js +0 -0
  1733. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.mjs +0 -0
  1734. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.js +0 -0
  1735. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.mjs +0 -0
  1736. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.js +0 -0
  1737. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.mjs +0 -0
  1738. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.js +0 -0
  1739. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.mjs +0 -0
  1740. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.js +0 -0
  1741. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.mjs +0 -0
  1742. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.js +0 -0
  1743. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.mjs +0 -0
  1744. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.js +0 -0
  1745. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.mjs +0 -0
  1746. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.js +0 -0
  1747. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.mjs +0 -0
  1748. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.js +0 -0
  1749. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.mjs +0 -0
  1750. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.js +0 -0
  1751. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.mjs +0 -0
  1752. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.js +0 -0
  1753. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.mjs +0 -0
  1754. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.js +0 -0
  1755. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.mjs +0 -0
  1756. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.js +0 -0
  1757. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.mjs +0 -0
  1758. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.js +0 -0
  1759. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.mjs +0 -0
  1760. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.js +0 -0
  1761. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.mjs +0 -0
  1762. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.js +0 -0
  1763. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.mjs +0 -0
  1764. /package/dist/admin/{future/services → services}/assets.js +0 -0
  1765. /package/dist/admin/{future/services → services}/assets.mjs +0 -0
  1766. /package/dist/admin/{future/services → services}/folders.js +0 -0
  1767. /package/dist/admin/{future/services → services}/folders.mjs +0 -0
  1768. /package/dist/admin/{future/services → services}/settings.js +0 -0
  1769. /package/dist/admin/{future/services → services}/settings.mjs +0 -0
  1770. /package/dist/admin/{future/services → services}/uploadFileViaXHR.js +0 -0
  1771. /package/dist/admin/{future/services → services}/uploadFileViaXHR.mjs +0 -0
  1772. /package/dist/admin/src/{pages/App/MediaLibrary.d.ts → App.d.ts} +0 -0
  1773. /package/dist/admin/src/{future/components → components}/Drawer.d.ts +0 -0
  1774. /package/dist/admin/src/{future/components → components}/TruncatedText.d.ts +0 -0
  1775. /package/dist/admin/src/{future/components → components}/UploadProgressDialog.d.ts +0 -0
  1776. /package/dist/admin/src/{future/hooks → hooks}/useAIMetadataEnabled.d.ts +0 -0
  1777. /package/dist/admin/src/{future/hooks → hooks}/useApiErrorMessage.d.ts +0 -0
  1778. /package/dist/admin/src/{components → legacy/components}/AssetCard/AssetCardBase.d.ts +0 -0
  1779. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioAssetCard.d.ts +0 -0
  1780. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioPreview.d.ts +0 -0
  1781. /package/dist/admin/src/{components → legacy/components}/AssetCard/DocAssetCard.d.ts +0 -0
  1782. /package/dist/admin/src/{components → legacy/components}/AssetCard/ImageAssetCard.d.ts +0 -0
  1783. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoAssetCard.d.ts +0 -0
  1784. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoPreview.d.ts +0 -0
  1785. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/Filters.d.ts +0 -0
  1786. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.d.ts +0 -0
  1787. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.d.ts +0 -0
  1788. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.d.ts +0 -0
  1789. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.d.ts +0 -0
  1790. /package/dist/admin/src/{components → legacy/components}/AssetDialog/DialogFooter.d.ts +0 -0
  1791. /package/dist/admin/src/{components → legacy/components}/AssetGridList/Draggable.d.ts +0 -0
  1792. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  1793. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.d.ts +0 -0
  1794. /package/dist/admin/src/{components → legacy/components}/ContextInfo/ContextInfo.d.ts +0 -0
  1795. /package/dist/admin/src/{components → legacy/components}/CopyLinkButton/CopyLinkButton.d.ts +0 -0
  1796. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/DialogHeader.d.ts +0 -0
  1797. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.d.ts +0 -0
  1798. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.d.ts +0 -0
  1799. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +0 -0
  1800. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.d.ts +0 -0
  1801. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.d.ts +0 -0
  1802. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.d.ts +0 -0
  1803. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.d.ts +0 -0
  1804. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssets.d.ts +0 -0
  1805. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterList.d.ts +0 -0
  1806. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterTag.d.ts +0 -0
  1807. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterPopover.d.ts +0 -0
  1808. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterValueInput.d.ts +0 -0
  1809. /package/dist/admin/src/{components → legacy/components}/FilterPopover/utils/getFilterList.d.ts +0 -0
  1810. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCard/FolderCard.d.ts +0 -0
  1811. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.d.ts +0 -0
  1812. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.d.ts +0 -0
  1813. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.d.ts +0 -0
  1814. /package/dist/admin/src/{components → legacy/components}/FolderCard/contexts/FolderCard.d.ts +0 -0
  1815. /package/dist/admin/src/{components → legacy/components}/FolderGridList/FolderGridList.d.ts +0 -0
  1816. /package/dist/admin/src/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.d.ts +0 -0
  1817. /package/dist/admin/src/{components → legacy/components}/SelectTree/SelectTree.d.ts +0 -0
  1818. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/flattenTree.d.ts +0 -0
  1819. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getOpenValues.d.ts +0 -0
  1820. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getValuesToClose.d.ts +0 -0
  1821. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromComputerForm.d.ts +0 -0
  1822. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.d.ts +0 -0
  1823. /package/dist/admin/src/{hooks → legacy/hooks}/useAiAvailability.d.ts +0 -0
  1824. /package/dist/admin/src/{hooks → legacy/hooks}/useCropImg.d.ts +0 -0
  1825. /package/dist/admin/src/{hooks → legacy/hooks}/usePersistentState.d.ts +0 -0
  1826. /package/dist/admin/src/{hooks → legacy/hooks}/useSelectionState.d.ts +0 -0
  1827. /package/dist/admin/src/{hooks → legacy/hooks}/useSettings.d.ts +0 -0
  1828. /package/dist/admin/src/{hooks → legacy/hooks}/utils/renameKeys.d.ts +0 -0
  1829. /package/dist/admin/src/{pages → legacy/pages}/App/App.d.ts +0 -0
  1830. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/actionTypes.d.ts +0 -0
  1831. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.d.ts +0 -0
  1832. /package/dist/admin/src/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.d.ts +0 -0
  1833. /package/dist/admin/src/{pages → legacy/pages}/App/components/Filters.d.ts +0 -0
  1834. /package/dist/admin/src/{utils → legacy/utils}/appendSearchParamsToUrl.d.ts +0 -0
  1835. /package/dist/admin/src/{utils → legacy/utils}/displayedFilters.d.ts +0 -0
  1836. /package/dist/admin/src/{utils → legacy/utils}/formatBytes.d.ts +0 -0
  1837. /package/dist/admin/src/{utils → legacy/utils}/formatDuration.d.ts +0 -0
  1838. /package/dist/admin/src/{utils → legacy/utils}/getAPIInnerErrors.d.ts +0 -0
  1839. /package/dist/admin/src/{utils → legacy/utils}/getFileExtension.d.ts +0 -0
  1840. /package/dist/admin/src/{utils → legacy/utils}/getTrad.d.ts +0 -0
  1841. /package/dist/admin/src/{utils → legacy/utils}/moveElement.d.ts +0 -0
  1842. /package/dist/admin/src/{utils → legacy/utils}/normalizeAPIError.d.ts +0 -0
  1843. /package/dist/admin/src/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.d.ts +0 -0
  1844. /package/dist/admin/src/{utils → legacy/utils}/prefixPluginTranslations.d.ts +0 -0
  1845. /package/dist/admin/src/{utils → legacy/utils}/resolveFileMime.d.ts +0 -0
  1846. /package/dist/admin/src/{utils → legacy/utils}/toSingularTypes.d.ts +0 -0
  1847. /package/dist/admin/src/{utils → legacy/utils}/urlYupSchema.d.ts +0 -0
  1848. /package/dist/admin/src/{utils → legacy/utils}/urlsToAssets.d.ts +0 -0
  1849. /package/dist/admin/src/{future/pages → pages}/Assets/AssetsPage.d.ts +0 -0
  1850. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.d.ts +0 -0
  1851. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetsSearchInput.d.ts +0 -0
  1852. /package/dist/admin/src/{future/pages → pages}/Assets/components/BulkMoveDialog.d.ts +0 -0
  1853. /package/dist/admin/src/{future/pages → pages}/Assets/components/BusyOverlay.d.ts +0 -0
  1854. /package/dist/admin/src/{future/pages → pages}/Assets/components/DateRangeCalendar.d.ts +0 -0
  1855. /package/dist/admin/src/{future/pages → pages}/Assets/components/DeleteItemsDialog.d.ts +0 -0
  1856. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.d.ts +0 -0
  1857. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.d.ts +0 -0
  1858. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/buildDragSet.d.ts +0 -0
  1859. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/dndIds.d.ts +0 -0
  1860. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.d.ts +0 -0
  1861. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.d.ts +0 -0
  1862. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.d.ts +0 -0
  1863. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.d.ts +0 -0
  1864. /package/dist/admin/src/{future/pages → pages}/Assets/components/EmptyState.d.ts +0 -0
  1865. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterBadges.d.ts +0 -0
  1866. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterMenu.d.ts +0 -0
  1867. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderFormDialog.d.ts +0 -0
  1868. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/FolderTree.d.ts +0 -0
  1869. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.d.ts +0 -0
  1870. /package/dist/admin/src/{future/pages → pages}/Assets/components/ImportFromUrlDialog.d.ts +0 -0
  1871. /package/dist/admin/src/{future/pages → pages}/Assets/components/MainAreaContextMenu.d.ts +0 -0
  1872. /package/dist/admin/src/{future/pages → pages}/Assets/components/SortMenu.d.ts +0 -0
  1873. /package/dist/admin/src/{future/pages → pages}/Assets/constants.d.ts +0 -0
  1874. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSearch.d.ts +0 -0
  1875. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSelection.d.ts +0 -0
  1876. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useBusyAssets.d.ts +0 -0
  1877. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useFolderInfo.d.ts +0 -0
  1878. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.d.ts +0 -0
  1879. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.d.ts +0 -0
  1880. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListFilters.d.ts +0 -0
  1881. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListScrollRestoration.d.ts +0 -0
  1882. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListSort.d.ts +0 -0
  1883. /package/dist/admin/src/{future/pages → pages}/Assets/utils/buildAssetFilters.d.ts +0 -0
  1884. /package/dist/admin/src/{future/pages → pages}/Assets/utils/listQueryKey.d.ts +0 -0
  1885. /package/dist/admin/src/{future/pages → pages}/Assets/utils/selection.d.ts +0 -0
  1886. /package/dist/admin/src/{future/store → store}/hooks.d.ts +0 -0
  1887. /package/dist/admin/src/{future/types → types}/dnd.d.ts +0 -0
  1888. /package/dist/admin/src/{future/utils → utils}/buildBulkMovePayload.d.ts +0 -0
  1889. /package/dist/admin/src/{future/utils → utils}/buildDragSetFromSelection.d.ts +0 -0
  1890. /package/dist/admin/src/{future/utils → utils}/createRafBatcher.d.ts +0 -0
  1891. /package/dist/admin/src/{future/utils → utils}/files.d.ts +0 -0
  1892. /package/dist/admin/src/{future/utils → utils}/formatMoveSuccessMessage.d.ts +0 -0
  1893. /package/dist/admin/src/{future/utils → utils}/getApiErrorMessage.d.ts +0 -0
  1894. /package/dist/admin/src/{future/utils → utils}/getAssetIcon.d.ts +0 -0
  1895. /package/dist/admin/src/{future/utils → utils}/getRelationId.d.ts +0 -0
  1896. /package/dist/admin/src/{future/utils → utils}/isEventFromWithin.d.ts +0 -0
  1897. /package/dist/admin/src/{future/utils → utils}/itemSource.d.ts +0 -0
  1898. /package/dist/admin/src/{future/utils → utils}/searchQueryParam.d.ts +0 -0
  1899. /package/dist/admin/src/{future/utils → utils}/translations.d.ts +0 -0
  1900. /package/dist/admin/{future/store → store}/hooks.js +0 -0
  1901. /package/dist/admin/{future/store → store}/hooks.mjs +0 -0
  1902. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.js +0 -0
  1903. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.mjs +0 -0
  1904. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.js +0 -0
  1905. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.mjs +0 -0
  1906. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.js +0 -0
  1907. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.mjs +0 -0
  1908. /package/dist/admin/{future/utils → utils}/createRafBatcher.js +0 -0
  1909. /package/dist/admin/{future/utils → utils}/createRafBatcher.mjs +0 -0
  1910. /package/dist/admin/{future/utils → utils}/files.js +0 -0
  1911. /package/dist/admin/{future/utils → utils}/files.mjs +0 -0
  1912. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.js +0 -0
  1913. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.mjs +0 -0
  1914. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.js +0 -0
  1915. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.mjs +0 -0
  1916. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.js +0 -0
  1917. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.mjs +0 -0
  1918. /package/dist/admin/{future/utils → utils}/getFolderLabel.js +0 -0
  1919. /package/dist/admin/{future/utils → utils}/getFolderLabel.mjs +0 -0
  1920. /package/dist/admin/{future/utils → utils}/getRelationId.js +0 -0
  1921. /package/dist/admin/{future/utils → utils}/getRelationId.mjs +0 -0
  1922. /package/dist/admin/{future/utils → utils}/isEventFromWithin.js +0 -0
  1923. /package/dist/admin/{future/utils → utils}/isEventFromWithin.mjs +0 -0
  1924. /package/dist/admin/{future/utils → utils}/itemLocations.js +0 -0
  1925. /package/dist/admin/{future/utils → utils}/itemLocations.mjs +0 -0
  1926. /package/dist/admin/{future/utils → utils}/itemSource.js +0 -0
  1927. /package/dist/admin/{future/utils → utils}/itemSource.mjs +0 -0
  1928. /package/dist/admin/{future/utils → utils}/searchQueryParam.js +0 -0
  1929. /package/dist/admin/{future/utils → utils}/searchQueryParam.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"folder.mjs","sources":["../../../server/src/services/folder.ts"],"sourcesContent":["import { sortBy, map, isUndefined } from 'lodash/fp';\nimport { strings, setCreatorFields } from '@strapi/utils';\nimport { FOLDER_MODEL_UID, FILE_MODEL_UID } from '../constants';\nimport { getService } from '../utils';\n\nimport type { File, Folder } from '../types';\n\ntype FolderMap = {\n [key: string]: Partial<Folder> & {\n children: FolderNode[];\n };\n};\n\ntype FolderNode = Partial<Folder> & {\n children: FolderNode[];\n};\n\nconst setPathIdAndPath = async (folder: Pick<Folder, 'parent'>) => {\n const { max } = await strapi.db\n .queryBuilder(FOLDER_MODEL_UID)\n .max('pathId')\n .first()\n .execute<{ max: number }>();\n\n const pathId = max + 1;\n let parentPath = '/';\n if (folder.parent) {\n const parentFolder = await strapi.db\n .query(FOLDER_MODEL_UID)\n .findOne({ where: { id: folder.parent } });\n\n parentPath = parentFolder.path;\n }\n\n return Object.assign(folder, {\n pathId,\n path: strings.joinBy('/', parentPath, `${pathId}`),\n });\n};\n\nconst create = async (\n folderData: Pick<Folder, 'name' | 'parent'>,\n opts?: { user: { id: string | number } }\n) => {\n const folderService = getService('folder');\n\n const { user } = opts || {};\n\n let enrichedFolder = await folderService.setPathIdAndPath(folderData);\n if (user) {\n enrichedFolder = await setCreatorFields({ user })(enrichedFolder);\n }\n\n const folder = await strapi.db.query(FOLDER_MODEL_UID).create({ data: enrichedFolder });\n\n strapi.eventHub.emit('media-folder.create', { folder });\n\n return folder;\n};\n\n/**\n * Recursively delete folders and included files\n * @param ids ids of the folders to delete\n * @returns {Promise<Object[]>}\n */\nconst deleteByIds = async (ids = []) => {\n const folders = await strapi.db.query(FOLDER_MODEL_UID).findMany({ where: { id: { $in: ids } } });\n if (folders.length === 0) {\n return {\n folders: [],\n totalFolderNumber: 0,\n totalFileNumber: 0,\n };\n }\n\n const pathsToDelete = map('path', folders);\n\n // delete files\n const filesToDelete = await strapi.db.query(FILE_MODEL_UID).findMany({\n where: {\n $or: pathsToDelete.flatMap((path) => [\n { folderPath: { $eq: path } },\n { folderPath: { $startsWith: `${path}/` } },\n ]),\n },\n });\n\n await Promise.all(filesToDelete.map((file: File) => getService('upload').remove(file)));\n\n // delete folders and subfolders\n const { count: totalFolderNumber } = await strapi.db.query(FOLDER_MODEL_UID).deleteMany({\n where: {\n $or: pathsToDelete.flatMap((path) => [\n { path: { $eq: path } },\n { path: { $startsWith: `${path}/` } },\n ]),\n },\n });\n\n strapi.eventHub.emit('media-folder.delete', { folders });\n\n return {\n folders,\n totalFolderNumber,\n totalFileNumber: filesToDelete.length,\n };\n};\n\n/**\n * Update name and location of a folder and its belonging folders and files\n */\nconst update = async (\n id: number,\n {\n name,\n parent,\n }: {\n name: string;\n parent: number | null;\n },\n { user }: { user: { id: string | number } }\n) => {\n // only name is updated\n if (isUndefined(parent)) {\n const existingFolder = await strapi.db.query(FOLDER_MODEL_UID).findOne({ where: { id } });\n\n if (!existingFolder) {\n return undefined;\n }\n\n const newFolder = setCreatorFields({ user, isEdition: true })({ name, parent });\n\n if (isUndefined(parent)) {\n const folder = await strapi.db\n .query(FOLDER_MODEL_UID)\n .update({ where: { id }, data: newFolder });\n\n return folder;\n }\n // location is updated => using transaction\n } else {\n const trx = await strapi.db.transaction();\n try {\n // fetch existing folder\n const existingFolder = await strapi.db\n .queryBuilder(FOLDER_MODEL_UID)\n .select(['pathId', 'path'])\n .where({ id })\n .transacting(trx.get())\n .forUpdate()\n .first()\n .execute<Folder>();\n\n // update parent folder (delete + insert; upsert not possible)\n // @ts-expect-error - no dynamic types\n const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent;\n await strapi.db\n .queryBuilder(joinTable.name)\n .transacting(trx.get())\n .delete()\n .where({ [joinTable.joinColumn.name]: id })\n .execute();\n\n if (parent !== null) {\n await strapi.db\n .queryBuilder(joinTable.name)\n .transacting(trx.get())\n .insert({ [joinTable.inverseJoinColumn.name]: parent, [joinTable.joinColumn.name]: id })\n .where({ [joinTable.joinColumn.name]: id })\n .execute();\n }\n\n // fetch destinationFolder path\n let destinationFolderPath = '/';\n if (parent !== null) {\n const destinationFolder = await strapi.db\n .queryBuilder(FOLDER_MODEL_UID)\n .select('path')\n .where({ id: parent })\n .transacting(trx.get())\n .first()\n .execute<Folder>();\n destinationFolderPath = destinationFolder.path;\n }\n\n const folderTable = strapi.getModel(FOLDER_MODEL_UID).collectionName;\n const fileTable = strapi.getModel(FILE_MODEL_UID).collectionName;\n const folderPathColumnName =\n // @ts-expect-error - no dynamic types\n strapi.db.metadata.get(FILE_MODEL_UID).attributes.folderPath.columnName;\n // @ts-expect-error - no dynamic types\n const pathColumnName = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.path.columnName;\n\n // update folders below\n await strapi.db\n .getConnection(folderTable)\n .transacting(trx.get())\n .where(pathColumnName, existingFolder.path)\n .orWhere(pathColumnName, 'like', `${existingFolder.path}/%`)\n .update(\n pathColumnName,\n strapi.db.connection.raw('REPLACE(??, ?, ?)', [\n pathColumnName,\n existingFolder.path,\n strings.joinBy('/', destinationFolderPath, `${existingFolder.pathId}`),\n ])\n );\n\n // update files below\n await strapi.db\n .getConnection(fileTable)\n .transacting(trx.get())\n .where(folderPathColumnName, existingFolder.path)\n .orWhere(folderPathColumnName, 'like', `${existingFolder.path}/%`)\n .update(\n folderPathColumnName,\n strapi.db.connection.raw('REPLACE(??, ?, ?)', [\n folderPathColumnName,\n existingFolder.path,\n strings.joinBy('/', destinationFolderPath, `${existingFolder.pathId}`),\n ])\n );\n\n await trx.commit();\n } catch (e) {\n await trx.rollback();\n throw e;\n }\n\n // update less critical information (name + updatedBy)\n const newFolder = setCreatorFields({ user, isEdition: true })({ name });\n\n const folder = await strapi.db\n .query(FOLDER_MODEL_UID)\n .update({ where: { id }, data: newFolder });\n\n strapi.eventHub.emit('media-folder.update', { folder });\n return folder;\n }\n};\n\n/**\n * Check if a folder exists in database\n * @param params query params to find the folder\n * @returns {Promise<boolean>}\n */\nconst exists = async (params = {}) => {\n const count = await strapi.db.query(FOLDER_MODEL_UID).count({ where: params });\n return count > 0;\n};\n\n/**\n * Returns the nested structure of folders\n * @returns {Promise<array>}\n */\nconst getStructure = async () => {\n // @ts-expect-error - no dynamic types\n const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent;\n const qb = strapi.db.queryBuilder(FOLDER_MODEL_UID);\n const alias = qb.getAlias();\n const folders = (await qb\n .select(['id', 'name', `${alias}.${joinTable.inverseJoinColumn.name} as parent`])\n .join({\n alias,\n referencedTable: joinTable.name,\n referencedColumn: joinTable.joinColumn.name,\n rootColumn: joinTable.joinColumn.referencedColumn,\n rootTable: qb.alias,\n })\n .execute({ mapResults: false })) as Folder[];\n\n const folderMap: FolderMap = {\n null: { children: [] },\n };\n\n folders.forEach((f) => {\n folderMap[f.id] = { ...f, children: [] };\n });\n\n folders.forEach((f) => {\n const parentId = f.parent || 'null';\n\n if (!folderMap[parentId]) {\n folderMap[parentId] = { children: [] };\n }\n\n folderMap[parentId].children.push(folderMap[f.id]);\n folderMap[parentId].children = sortBy('name', folderMap[parentId].children);\n delete folderMap[f.id].parent;\n });\n\n return folderMap.null.children;\n};\n\nexport default {\n create,\n exists,\n deleteByIds,\n update,\n setPathIdAndPath,\n getStructure,\n};\n"],"names":["setPathIdAndPath","folder","max","strapi","db","queryBuilder","FOLDER_MODEL_UID","first","execute","pathId","parentPath","parent","parentFolder","query","findOne","where","id","path","Object","assign","strings","joinBy","create","folderData","opts","folderService","getService","user","enrichedFolder","setCreatorFields","data","eventHub","emit","deleteByIds","ids","folders","findMany","$in","length","totalFolderNumber","totalFileNumber","pathsToDelete","map","filesToDelete","FILE_MODEL_UID","$or","flatMap","folderPath","$eq","$startsWith","Promise","all","file","remove","count","deleteMany","update","name","isUndefined","existingFolder","undefined","newFolder","isEdition","trx","transaction","select","transacting","get","forUpdate","joinTable","metadata","attributes","delete","joinColumn","insert","inverseJoinColumn","destinationFolderPath","destinationFolder","folderTable","getModel","collectionName","fileTable","folderPathColumnName","columnName","pathColumnName","getConnection","orWhere","connection","raw","commit","e","rollback","exists","params","getStructure","qb","alias","getAlias","join","referencedTable","referencedColumn","rootColumn","rootTable","mapResults","folderMap","null","children","forEach","f","parentId","push","sortBy"],"mappings":"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"}
1
+ {"version":3,"file":"folder.mjs","sources":["../../../server/src/services/folder.ts"],"sourcesContent":["import { sortBy, map, isUndefined } from 'lodash/fp';\nimport { strings, setCreatorFields } from '@strapi/utils';\nimport { FOLDER_MODEL_UID, FILE_MODEL_UID } from '../constants';\nimport { getService } from '../utils';\n\nimport type { File, Folder } from '../types';\n\ntype FolderMap = {\n [key: string]: Partial<Folder> & {\n children: FolderNode[];\n };\n};\n\ntype FolderNode = Partial<Folder> & {\n children: FolderNode[];\n};\n\nconst setPathIdAndPath = async (folder: Pick<Folder, 'parent'>) => {\n const { max } = await strapi.db\n .queryBuilder(FOLDER_MODEL_UID)\n .max('pathId')\n .first()\n .execute<{ max: number }>();\n\n const pathId = max + 1;\n let parentPath = '/';\n if (folder.parent) {\n const parentFolder = await strapi.db\n .query(FOLDER_MODEL_UID)\n .findOne({ where: { id: folder.parent } });\n\n parentPath = parentFolder.path;\n }\n\n return Object.assign(folder, {\n pathId,\n path: strings.joinBy('/', parentPath, `${pathId}`),\n });\n};\n\nconst create = async (\n folderData: Pick<Folder, 'name' | 'parent'>,\n opts?: { user: { id: string | number } }\n) => {\n const folderService = getService('folder');\n\n const { user } = opts || {};\n\n let enrichedFolder = await folderService.setPathIdAndPath(folderData);\n if (user) {\n enrichedFolder = await setCreatorFields({ user })(enrichedFolder);\n }\n\n const folder = await strapi.db.query(FOLDER_MODEL_UID).create({ data: enrichedFolder });\n\n strapi.eventHub.emit('media-folder.create', { folder });\n\n return folder;\n};\n\n/**\n * Recursively delete folders and included files\n * @param ids ids of the folders to delete\n * @returns {Promise<Object[]>}\n */\nconst deleteByIds = async (ids: number[] = []) => {\n const folders = await strapi.db.query(FOLDER_MODEL_UID).findMany({ where: { id: { $in: ids } } });\n if (folders.length === 0) {\n return {\n folders: [],\n totalFolderNumber: 0,\n totalFileNumber: 0,\n };\n }\n\n const pathsToDelete = map('path', folders);\n\n // delete files\n const filesToDelete = await strapi.db.query(FILE_MODEL_UID).findMany({\n where: {\n $or: pathsToDelete.flatMap((path) => [\n { folderPath: { $eq: path } },\n { folderPath: { $startsWith: `${path}/` } },\n ]),\n },\n });\n\n await Promise.all(filesToDelete.map((file: File) => getService('upload').remove(file)));\n\n // delete folders and subfolders\n const { count: totalFolderNumber } = await strapi.db.query(FOLDER_MODEL_UID).deleteMany({\n where: {\n $or: pathsToDelete.flatMap((path) => [\n { path: { $eq: path } },\n { path: { $startsWith: `${path}/` } },\n ]),\n },\n });\n\n strapi.eventHub.emit('media-folder.delete', { folders });\n\n return {\n folders,\n totalFolderNumber,\n totalFileNumber: filesToDelete.length,\n };\n};\n\n/**\n * Update name and location of a folder and its belonging folders and files\n */\nconst update = async (\n id: number,\n {\n name,\n parent,\n }: {\n name: string;\n /**\n * Omit to rename in place: the name-only branch skips the transaction that rewrites\n * descendant paths. Pass a number to re-parent, or null to move to the root.\n */\n parent?: number | null;\n },\n { user }: { user: { id: string | number } }\n) => {\n // only name is updated\n if (isUndefined(parent)) {\n const existingFolder = await strapi.db.query(FOLDER_MODEL_UID).findOne({ where: { id } });\n\n if (!existingFolder) {\n return undefined;\n }\n\n const newFolder = setCreatorFields({ user, isEdition: true })({ name, parent });\n\n if (isUndefined(parent)) {\n const folder = await strapi.db\n .query(FOLDER_MODEL_UID)\n .update({ where: { id }, data: newFolder });\n\n return folder;\n }\n // location is updated => using transaction\n } else {\n const trx = await strapi.db.transaction();\n try {\n // fetch existing folder\n const existingFolder = await strapi.db\n .queryBuilder(FOLDER_MODEL_UID)\n .select(['pathId', 'path'])\n .where({ id })\n .transacting(trx.get())\n .forUpdate()\n .first()\n .execute<Folder>();\n\n // update parent folder (delete + insert; upsert not possible)\n // @ts-expect-error - no dynamic types\n const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent;\n await strapi.db\n .queryBuilder(joinTable.name)\n .transacting(trx.get())\n .delete()\n .where({ [joinTable.joinColumn.name]: id })\n .execute();\n\n if (parent !== null) {\n await strapi.db\n .queryBuilder(joinTable.name)\n .transacting(trx.get())\n .insert({ [joinTable.inverseJoinColumn.name]: parent, [joinTable.joinColumn.name]: id })\n .where({ [joinTable.joinColumn.name]: id })\n .execute();\n }\n\n // fetch destinationFolder path\n let destinationFolderPath = '/';\n if (parent !== null) {\n const destinationFolder = await strapi.db\n .queryBuilder(FOLDER_MODEL_UID)\n .select('path')\n .where({ id: parent })\n .transacting(trx.get())\n .first()\n .execute<Folder>();\n destinationFolderPath = destinationFolder.path;\n }\n\n const folderTable = strapi.getModel(FOLDER_MODEL_UID).collectionName;\n const fileTable = strapi.getModel(FILE_MODEL_UID).collectionName;\n const folderPathColumnName =\n // @ts-expect-error - no dynamic types\n strapi.db.metadata.get(FILE_MODEL_UID).attributes.folderPath.columnName;\n // @ts-expect-error - no dynamic types\n const pathColumnName = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.path.columnName;\n\n // update folders below\n await strapi.db\n .getConnection(folderTable)\n .transacting(trx.get())\n .where(pathColumnName, existingFolder.path)\n .orWhere(pathColumnName, 'like', `${existingFolder.path}/%`)\n .update(\n pathColumnName,\n strapi.db.connection.raw('REPLACE(??, ?, ?)', [\n pathColumnName,\n existingFolder.path,\n strings.joinBy('/', destinationFolderPath, `${existingFolder.pathId}`),\n ])\n );\n\n // update files below\n await strapi.db\n .getConnection(fileTable)\n .transacting(trx.get())\n .where(folderPathColumnName, existingFolder.path)\n .orWhere(folderPathColumnName, 'like', `${existingFolder.path}/%`)\n .update(\n folderPathColumnName,\n strapi.db.connection.raw('REPLACE(??, ?, ?)', [\n folderPathColumnName,\n existingFolder.path,\n strings.joinBy('/', destinationFolderPath, `${existingFolder.pathId}`),\n ])\n );\n\n await trx.commit();\n } catch (e) {\n await trx.rollback();\n throw e;\n }\n\n // update less critical information (name + updatedBy)\n const newFolder = setCreatorFields({ user, isEdition: true })({ name });\n\n const folder = await strapi.db\n .query(FOLDER_MODEL_UID)\n .update({ where: { id }, data: newFolder });\n\n strapi.eventHub.emit('media-folder.update', { folder });\n return folder;\n }\n};\n\n/**\n * Check if a folder exists in database\n * @param params query params to find the folder\n * @returns {Promise<boolean>}\n */\nconst exists = async (params = {}) => {\n const count = await strapi.db.query(FOLDER_MODEL_UID).count({ where: params });\n return count > 0;\n};\n\n/**\n * Returns the nested structure of folders\n * @returns {Promise<array>}\n */\nconst getStructure = async () => {\n // @ts-expect-error - no dynamic types\n const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent;\n const qb = strapi.db.queryBuilder(FOLDER_MODEL_UID);\n const alias = qb.getAlias();\n const folders = (await qb\n .select(['id', 'name', `${alias}.${joinTable.inverseJoinColumn.name} as parent`])\n .join({\n alias,\n referencedTable: joinTable.name,\n referencedColumn: joinTable.joinColumn.name,\n rootColumn: joinTable.joinColumn.referencedColumn,\n rootTable: qb.alias,\n })\n .execute({ mapResults: false })) as Folder[];\n\n const folderMap: FolderMap = {\n null: { children: [] },\n };\n\n folders.forEach((f) => {\n folderMap[f.id] = { ...f, children: [] };\n });\n\n folders.forEach((f) => {\n const parentId = f.parent || 'null';\n\n if (!folderMap[parentId]) {\n folderMap[parentId] = { children: [] };\n }\n\n folderMap[parentId].children.push(folderMap[f.id]);\n folderMap[parentId].children = sortBy('name', folderMap[parentId].children);\n delete folderMap[f.id].parent;\n });\n\n return folderMap.null.children;\n};\n\nexport default {\n create,\n exists,\n deleteByIds,\n update,\n setPathIdAndPath,\n getStructure,\n};\n"],"names":["setPathIdAndPath","folder","max","strapi","db","queryBuilder","FOLDER_MODEL_UID","first","execute","pathId","parentPath","parent","parentFolder","query","findOne","where","id","path","Object","assign","strings","joinBy","create","folderData","opts","folderService","getService","user","enrichedFolder","setCreatorFields","data","eventHub","emit","deleteByIds","ids","folders","findMany","$in","length","totalFolderNumber","totalFileNumber","pathsToDelete","map","filesToDelete","FILE_MODEL_UID","$or","flatMap","folderPath","$eq","$startsWith","Promise","all","file","remove","count","deleteMany","update","name","isUndefined","existingFolder","undefined","newFolder","isEdition","trx","transaction","select","transacting","get","forUpdate","joinTable","metadata","attributes","delete","joinColumn","insert","inverseJoinColumn","destinationFolderPath","destinationFolder","folderTable","getModel","collectionName","fileTable","folderPathColumnName","columnName","pathColumnName","getConnection","orWhere","connection","raw","commit","e","rollback","exists","params","getStructure","qb","alias","getAlias","join","referencedTable","referencedColumn","rootColumn","rootTable","mapResults","folderMap","null","children","forEach","f","parentId","push","sortBy"],"mappings":"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"}
@@ -1,17 +1,18 @@
1
1
  'use strict';
2
2
 
3
+ var index = require('../utils/index.js');
4
+
3
5
  const getProviderName = ()=>strapi.config.get('plugin::upload.provider', 'local');
4
6
  const isProviderPrivate = async ()=>strapi.plugin('upload').provider.isPrivate();
5
7
  var metrics = (({ strapi: strapi1 })=>({
6
8
  async trackUsage (event, properties) {
7
- const settings = await strapi1.plugin('upload').service('upload').getSettings();
8
- const isAiAvailable = strapi1.ai.admin.isEnabled();
9
+ const isAiAvailable = strapi1.ai.admin.isStrapiManagedAiEnabled();
9
10
  return strapi1.telemetry.send(event, {
10
11
  ...properties,
11
12
  eventProperties: {
12
13
  ...properties?.eventProperties,
13
14
  ...isAiAvailable === true ? {
14
- isAiMediaLibraryConfigured: Boolean(settings.aiMetadata)
15
+ isAiMediaLibraryConfigured: await index.getService('aiMetadata').isEnabled()
15
16
  } : {}
16
17
  }
17
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sources":["../../../server/src/services/metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { Settings } from '../controllers/validation/admin/settings';\n\nconst getProviderName = () => strapi.config.get('plugin::upload.provider', 'local');\nconst isProviderPrivate = async () => strapi.plugin('upload').provider.isPrivate();\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async trackUsage(event: string, properties?: Record<string, any>) {\n const settings: Settings = await strapi.plugin('upload').service('upload').getSettings();\n const isAiAvailable = strapi.ai.admin.isEnabled();\n\n return strapi.telemetry.send(event, {\n ...properties,\n eventProperties: {\n ...properties?.eventProperties,\n ...(isAiAvailable === true\n ? { isAiMediaLibraryConfigured: Boolean(settings.aiMetadata) }\n : {}),\n },\n });\n },\n async sendUploadPluginMetrics() {\n const uploadProvider = getProviderName();\n const privateProvider = await isProviderPrivate();\n\n await this.trackUsage('didInitializePluginUpload', {\n groupProperties: {\n uploadProvider,\n privateProvider,\n },\n });\n },\n});\n"],"names":["getProviderName","strapi","config","get","isProviderPrivate","plugin","provider","isPrivate","trackUsage","event","properties","settings","service","getSettings","isAiAvailable","ai","admin","isEnabled","telemetry","send","eventProperties","isAiMediaLibraryConfigured","Boolean","aiMetadata","sendUploadPluginMetrics","uploadProvider","privateProvider","groupProperties"],"mappings":";;AAGA,MAAMA,kBAAkB,IAAMC,MAAAA,CAAOC,MAAM,CAACC,GAAG,CAAC,yBAAA,EAA2B,OAAA,CAAA;AAC3E,MAAMC,iBAAAA,GAAoB,UAAYH,MAAAA,CAAOI,MAAM,CAAC,QAAA,CAAA,CAAUC,QAAQ,CAACC,SAAS,EAAA;AAEhF,cAAe,CAAA,CAAC,EAAEN,QAAAA,OAAM,EAA2B,IAAM;QACvD,MAAMO,UAAAA,CAAAA,CAAWC,KAAa,EAAEC,UAAgC,EAAA;YAC9D,MAAMC,QAAAA,GAAqB,MAAMV,OAAAA,CAAOI,MAAM,CAAC,QAAA,CAAA,CAAUO,OAAO,CAAC,QAAA,CAAA,CAAUC,WAAW,EAAA;AACtF,YAAA,MAAMC,gBAAgBb,OAAAA,CAAOc,EAAE,CAACC,KAAK,CAACC,SAAS,EAAA;AAE/C,YAAA,OAAOhB,OAAAA,CAAOiB,SAAS,CAACC,IAAI,CAACV,KAAAA,EAAO;AAClC,gBAAA,GAAGC,UAAU;gBACbU,eAAAA,EAAiB;AACf,oBAAA,GAAGV,YAAYU,eAAe;AAC9B,oBAAA,GAAIN,kBAAkB,IAAA,GAClB;wBAAEO,0BAAAA,EAA4BC,OAAAA,CAAQX,SAASY,UAAU;AAAE,qBAAA,GAC3D;AACN;AACF,aAAA,CAAA;AACF,QAAA,CAAA;QACA,MAAMC,uBAAAA,CAAAA,GAAAA;AACJ,YAAA,MAAMC,cAAAA,GAAiBzB,eAAAA,EAAAA;AACvB,YAAA,MAAM0B,kBAAkB,MAAMtB,iBAAAA,EAAAA;AAE9B,YAAA,MAAM,IAAI,CAACI,UAAU,CAAC,2BAAA,EAA6B;gBACjDmB,eAAAA,EAAiB;AACfF,oBAAAA,cAAAA;AACAC,oBAAAA;AACF;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAC;;;;"}
1
+ {"version":3,"file":"metrics.js","sources":["../../../server/src/services/metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { getService } from '../utils';\n\nconst getProviderName = () => strapi.config.get('plugin::upload.provider', 'local');\nconst isProviderPrivate = async () => strapi.plugin('upload').provider.isPrivate();\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async trackUsage(event: string, properties?: Record<string, any>) {\n const isAiAvailable = strapi.ai.admin.isStrapiManagedAiEnabled();\n\n return strapi.telemetry.send(event, {\n ...properties,\n eventProperties: {\n ...properties?.eventProperties,\n ...(isAiAvailable === true\n ? { isAiMediaLibraryConfigured: await getService('aiMetadata').isEnabled() }\n : {}),\n },\n });\n },\n async sendUploadPluginMetrics() {\n const uploadProvider = getProviderName();\n const privateProvider = await isProviderPrivate();\n\n await this.trackUsage('didInitializePluginUpload', {\n groupProperties: {\n uploadProvider,\n privateProvider,\n },\n });\n },\n});\n"],"names":["getProviderName","strapi","config","get","isProviderPrivate","plugin","provider","isPrivate","trackUsage","event","properties","isAiAvailable","ai","admin","isStrapiManagedAiEnabled","telemetry","send","eventProperties","isAiMediaLibraryConfigured","getService","isEnabled","sendUploadPluginMetrics","uploadProvider","privateProvider","groupProperties"],"mappings":";;;;AAGA,MAAMA,kBAAkB,IAAMC,MAAAA,CAAOC,MAAM,CAACC,GAAG,CAAC,yBAAA,EAA2B,OAAA,CAAA;AAC3E,MAAMC,iBAAAA,GAAoB,UAAYH,MAAAA,CAAOI,MAAM,CAAC,QAAA,CAAA,CAAUC,QAAQ,CAACC,SAAS,EAAA;AAEhF,cAAe,CAAA,CAAC,EAAEN,QAAAA,OAAM,EAA2B,IAAM;QACvD,MAAMO,UAAAA,CAAAA,CAAWC,KAAa,EAAEC,UAAgC,EAAA;AAC9D,YAAA,MAAMC,gBAAgBV,OAAAA,CAAOW,EAAE,CAACC,KAAK,CAACC,wBAAwB,EAAA;AAE9D,YAAA,OAAOb,OAAAA,CAAOc,SAAS,CAACC,IAAI,CAACP,KAAAA,EAAO;AAClC,gBAAA,GAAGC,UAAU;gBACbO,eAAAA,EAAiB;AACf,oBAAA,GAAGP,YAAYO,eAAe;AAC9B,oBAAA,GAAIN,kBAAkB,IAAA,GAClB;wBAAEO,0BAAAA,EAA4B,MAAMC,gBAAAA,CAAW,YAAA,CAAA,CAAcC,SAAS;AAAG,qBAAA,GACzE;AACN;AACF,aAAA,CAAA;AACF,QAAA,CAAA;QACA,MAAMC,uBAAAA,CAAAA,GAAAA;AACJ,YAAA,MAAMC,cAAAA,GAAiBtB,eAAAA,EAAAA;AACvB,YAAA,MAAMuB,kBAAkB,MAAMnB,iBAAAA,EAAAA;AAE9B,YAAA,MAAM,IAAI,CAACI,UAAU,CAAC,2BAAA,EAA6B;gBACjDgB,eAAAA,EAAiB;AACfF,oBAAAA,cAAAA;AACAC,oBAAAA;AACF;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAC;;;;"}
@@ -1,15 +1,16 @@
1
+ import { getService } from '../utils/index.mjs';
2
+
1
3
  const getProviderName = ()=>strapi.config.get('plugin::upload.provider', 'local');
2
4
  const isProviderPrivate = async ()=>strapi.plugin('upload').provider.isPrivate();
3
5
  var metrics = (({ strapi: strapi1 })=>({
4
6
  async trackUsage (event, properties) {
5
- const settings = await strapi1.plugin('upload').service('upload').getSettings();
6
- const isAiAvailable = strapi1.ai.admin.isEnabled();
7
+ const isAiAvailable = strapi1.ai.admin.isStrapiManagedAiEnabled();
7
8
  return strapi1.telemetry.send(event, {
8
9
  ...properties,
9
10
  eventProperties: {
10
11
  ...properties?.eventProperties,
11
12
  ...isAiAvailable === true ? {
12
- isAiMediaLibraryConfigured: Boolean(settings.aiMetadata)
13
+ isAiMediaLibraryConfigured: await getService('aiMetadata').isEnabled()
13
14
  } : {}
14
15
  }
15
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.mjs","sources":["../../../server/src/services/metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { Settings } from '../controllers/validation/admin/settings';\n\nconst getProviderName = () => strapi.config.get('plugin::upload.provider', 'local');\nconst isProviderPrivate = async () => strapi.plugin('upload').provider.isPrivate();\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async trackUsage(event: string, properties?: Record<string, any>) {\n const settings: Settings = await strapi.plugin('upload').service('upload').getSettings();\n const isAiAvailable = strapi.ai.admin.isEnabled();\n\n return strapi.telemetry.send(event, {\n ...properties,\n eventProperties: {\n ...properties?.eventProperties,\n ...(isAiAvailable === true\n ? { isAiMediaLibraryConfigured: Boolean(settings.aiMetadata) }\n : {}),\n },\n });\n },\n async sendUploadPluginMetrics() {\n const uploadProvider = getProviderName();\n const privateProvider = await isProviderPrivate();\n\n await this.trackUsage('didInitializePluginUpload', {\n groupProperties: {\n uploadProvider,\n privateProvider,\n },\n });\n },\n});\n"],"names":["getProviderName","strapi","config","get","isProviderPrivate","plugin","provider","isPrivate","trackUsage","event","properties","settings","service","getSettings","isAiAvailable","ai","admin","isEnabled","telemetry","send","eventProperties","isAiMediaLibraryConfigured","Boolean","aiMetadata","sendUploadPluginMetrics","uploadProvider","privateProvider","groupProperties"],"mappings":"AAGA,MAAMA,kBAAkB,IAAMC,MAAAA,CAAOC,MAAM,CAACC,GAAG,CAAC,yBAAA,EAA2B,OAAA,CAAA;AAC3E,MAAMC,iBAAAA,GAAoB,UAAYH,MAAAA,CAAOI,MAAM,CAAC,QAAA,CAAA,CAAUC,QAAQ,CAACC,SAAS,EAAA;AAEhF,cAAe,CAAA,CAAC,EAAEN,QAAAA,OAAM,EAA2B,IAAM;QACvD,MAAMO,UAAAA,CAAAA,CAAWC,KAAa,EAAEC,UAAgC,EAAA;YAC9D,MAAMC,QAAAA,GAAqB,MAAMV,OAAAA,CAAOI,MAAM,CAAC,QAAA,CAAA,CAAUO,OAAO,CAAC,QAAA,CAAA,CAAUC,WAAW,EAAA;AACtF,YAAA,MAAMC,gBAAgBb,OAAAA,CAAOc,EAAE,CAACC,KAAK,CAACC,SAAS,EAAA;AAE/C,YAAA,OAAOhB,OAAAA,CAAOiB,SAAS,CAACC,IAAI,CAACV,KAAAA,EAAO;AAClC,gBAAA,GAAGC,UAAU;gBACbU,eAAAA,EAAiB;AACf,oBAAA,GAAGV,YAAYU,eAAe;AAC9B,oBAAA,GAAIN,kBAAkB,IAAA,GAClB;wBAAEO,0BAAAA,EAA4BC,OAAAA,CAAQX,SAASY,UAAU;AAAE,qBAAA,GAC3D;AACN;AACF,aAAA,CAAA;AACF,QAAA,CAAA;QACA,MAAMC,uBAAAA,CAAAA,GAAAA;AACJ,YAAA,MAAMC,cAAAA,GAAiBzB,eAAAA,EAAAA;AACvB,YAAA,MAAM0B,kBAAkB,MAAMtB,iBAAAA,EAAAA;AAE9B,YAAA,MAAM,IAAI,CAACI,UAAU,CAAC,2BAAA,EAA6B;gBACjDmB,eAAAA,EAAiB;AACfF,oBAAAA,cAAAA;AACAC,oBAAAA;AACF;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAC;;;;"}
1
+ {"version":3,"file":"metrics.mjs","sources":["../../../server/src/services/metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { getService } from '../utils';\n\nconst getProviderName = () => strapi.config.get('plugin::upload.provider', 'local');\nconst isProviderPrivate = async () => strapi.plugin('upload').provider.isPrivate();\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async trackUsage(event: string, properties?: Record<string, any>) {\n const isAiAvailable = strapi.ai.admin.isStrapiManagedAiEnabled();\n\n return strapi.telemetry.send(event, {\n ...properties,\n eventProperties: {\n ...properties?.eventProperties,\n ...(isAiAvailable === true\n ? { isAiMediaLibraryConfigured: await getService('aiMetadata').isEnabled() }\n : {}),\n },\n });\n },\n async sendUploadPluginMetrics() {\n const uploadProvider = getProviderName();\n const privateProvider = await isProviderPrivate();\n\n await this.trackUsage('didInitializePluginUpload', {\n groupProperties: {\n uploadProvider,\n privateProvider,\n },\n });\n },\n});\n"],"names":["getProviderName","strapi","config","get","isProviderPrivate","plugin","provider","isPrivate","trackUsage","event","properties","isAiAvailable","ai","admin","isStrapiManagedAiEnabled","telemetry","send","eventProperties","isAiMediaLibraryConfigured","getService","isEnabled","sendUploadPluginMetrics","uploadProvider","privateProvider","groupProperties"],"mappings":";;AAGA,MAAMA,kBAAkB,IAAMC,MAAAA,CAAOC,MAAM,CAACC,GAAG,CAAC,yBAAA,EAA2B,OAAA,CAAA;AAC3E,MAAMC,iBAAAA,GAAoB,UAAYH,MAAAA,CAAOI,MAAM,CAAC,QAAA,CAAA,CAAUC,QAAQ,CAACC,SAAS,EAAA;AAEhF,cAAe,CAAA,CAAC,EAAEN,QAAAA,OAAM,EAA2B,IAAM;QACvD,MAAMO,UAAAA,CAAAA,CAAWC,KAAa,EAAEC,UAAgC,EAAA;AAC9D,YAAA,MAAMC,gBAAgBV,OAAAA,CAAOW,EAAE,CAACC,KAAK,CAACC,wBAAwB,EAAA;AAE9D,YAAA,OAAOb,OAAAA,CAAOc,SAAS,CAACC,IAAI,CAACP,KAAAA,EAAO;AAClC,gBAAA,GAAGC,UAAU;gBACbO,eAAAA,EAAiB;AACf,oBAAA,GAAGP,YAAYO,eAAe;AAC9B,oBAAA,GAAIN,kBAAkB,IAAA,GAClB;wBAAEO,0BAAAA,EAA4B,MAAMC,UAAAA,CAAW,YAAA,CAAA,CAAcC,SAAS;AAAG,qBAAA,GACzE;AACN;AACF,aAAA,CAAA;AACF,QAAA,CAAA;QACA,MAAMC,uBAAAA,CAAAA,GAAAA;AACJ,YAAA,MAAMC,cAAAA,GAAiBtB,eAAAA,EAAAA;AACvB,YAAA,MAAMuB,kBAAkB,MAAMnB,iBAAAA,EAAAA;AAE9B,YAAA,MAAM,IAAI,CAACI,UAAU,CAAC,2BAAA,EAA6B;gBACjDgB,eAAAA,EAAiB;AACfF,oBAAAA,cAAAA;AACAC,oBAAAA;AACF;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAC;;;;"}
@@ -353,8 +353,12 @@ var upload = (({ strapi })=>{
353
353
  const tmpWorkingDirectory = await createAndAssignTmpWorkingDirectoryToFiles(file);
354
354
  let fileData;
355
355
  try {
356
- const { fileInfo } = data;
357
- fileData = await enhanceAndValidateFile(file, fileInfo);
356
+ // `refId` / `ref` / `field` are dropped rather than forwarded: `formatFileInfo` turns
357
+ // them into a one-element `related` array, and a bare array reaches the morph join as
358
+ // `set` — which deletes every row for this file, detaching it from every other entry
359
+ // that uses it. Attaching an existing file to an entry is the content API's job.
360
+ const { fileInfo, refId: _refId, ref: _ref, field: _field, ...metas } = data;
361
+ fileData = await enhanceAndValidateFile(file, fileInfo, metas);
358
362
  // Replacing a file writes new bytes just like creating one, so it has to
359
363
  // respect sizeLimit too. Checked before any provider write, and measured on
360
364
  // the same post-optimization file as the create path (uploadFileAndPersist).
@@ -364,6 +368,14 @@ var upload = (({ strapi })=>{
364
368
  hash: dbFile.hash,
365
369
  ext: dbFile.ext
366
370
  });
371
+ // A plain replace sends no folder, so `formatFileInfo` resolved folderPath to
372
+ // '/' while the relation survived — and folder deletion selects by folderPath,
373
+ // which orphaned the file. An explicitly sent folder still moves it.
374
+ if (fileInfo?.folder === undefined) {
375
+ ___default.default.assign(fileData, {
376
+ folderPath: dbFile.folderPath
377
+ });
378
+ }
367
379
  // clear old formats — replaceImage / replace will set new ones
368
380
  ___default.default.set(fileData, 'formats', {});
369
381
  if (dbFile.provider === config.provider) {
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sources":["../../../server/src/services/upload.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport fs from 'fs';\nimport fse from 'fs-extra';\nimport _ from 'lodash';\nimport { extension } from 'mime-types';\nimport {\n async,\n sanitize,\n contentTypes as contentTypesUtils,\n errors,\n file as fileUtils,\n pagination as paginationUtils,\n} from '@strapi/utils';\nimport { has, toNumber, isNil } from 'lodash/fp';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport { FILE_MODEL_UID, ALLOWED_WEBHOOK_EVENTS } from '../constants';\nimport { getService } from '../utils';\n\nimport type { Config, File, InputFile, UploadableFile, FileInfo } from '../types';\nimport type { ViewConfiguration } from '../controllers/validation/admin/configureView';\nimport type { Settings } from '../controllers/validation/admin/settings';\n\ntype User = {\n id: string | number;\n};\n\ntype ID = string | number;\n\ntype CommonOptions = {\n user?: User;\n};\n\ntype Metas = {\n refId?: ID;\n ref?: string;\n field?: string;\n path?: string;\n tmpWorkingDirectory?: string;\n};\n\nconst { UPDATED_BY_ATTRIBUTE, CREATED_BY_ATTRIBUTE } = contentTypesUtils.constants;\nconst { MEDIA_CREATE, MEDIA_UPDATE, MEDIA_DELETE } = ALLOWED_WEBHOOK_EVENTS;\n\nconst { ApplicationError, NotFoundError } = errors;\nconst { bytesToKbytes } = fileUtils;\n\n/**\n * Queue a provider operation for a later `Promise.all`, with a rejection handler\n * attached in the same turn so a fast failure is never an unhandled rejection.\n *\n * `Promise.resolve` first — a provider may hand back a plain value, which\n * `Promise.all` accepts but `.catch` would throw on.\n */\nconst queueConcurrentOperation = <T>(queue: Promise<T>[], operation: Promise<T>) => {\n Promise.resolve(operation).catch(() => undefined);\n queue.push(operation);\n};\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const fileService = getService('file');\n\n const sendMediaMetrics = async (data: Pick<File, 'caption' | 'alternativeText'>) => {\n if (_.has(data, 'caption') && !_.isEmpty(data.caption)) {\n await getService('metrics').trackUsage('didSaveMediaWithCaption');\n }\n\n if (_.has(data, 'alternativeText') && !_.isEmpty(data.alternativeText)) {\n await getService('metrics').trackUsage('didSaveMediaWithAlternativeText');\n }\n };\n\n const createAndAssignTmpWorkingDirectoryToFiles = async (\n files: InputFile | InputFile[]\n ): Promise<string> => {\n const tmpWorkingDirectory = await fse.mkdtemp(path.join(os.tmpdir(), 'strapi-upload-'));\n\n if (Array.isArray(files)) {\n files.forEach((file) => {\n file.tmpWorkingDirectory = tmpWorkingDirectory;\n });\n } else {\n files.tmpWorkingDirectory = tmpWorkingDirectory;\n }\n\n return tmpWorkingDirectory;\n };\n\n function filenameReservedRegex() {\n // eslint-disable-next-line no-control-regex\n return /[<>:\"/\\\\|?*\\u0000-\\u001F]/g;\n }\n\n function windowsReservedNameRegex() {\n return /^(con|prn|aux|nul|com\\d|lpt\\d)$/i;\n }\n\n /**\n * Copied from https://github.com/sindresorhus/valid-filename package\n */\n function isValidFilename(string: string) {\n if (!string || string.length > 255) {\n return false;\n }\n if (filenameReservedRegex().test(string) || windowsReservedNameRegex().test(string)) {\n return false;\n }\n if (string === '.' || string === '..') {\n return false;\n }\n return true;\n }\n\n async function emitEvent(event: string, data: Record<string, any>) {\n const modelDef = strapi.getModel(FILE_MODEL_UID);\n const sanitizedData = await sanitize.sanitizers.defaultSanitizeOutput(\n {\n schema: modelDef,\n getModel(uid: string) {\n return strapi.getModel(uid as UID.Schema);\n },\n },\n data\n );\n\n strapi.eventHub.emit(event, { media: sanitizedData });\n }\n\n async function formatFileInfo(\n { filename, type, size }: { filename: string; type: string; size: number },\n fileInfo: Partial<FileInfo> = {},\n metas: {\n refId?: ID;\n ref?: string;\n field?: string;\n path?: string;\n tmpWorkingDirectory?: string;\n } = {}\n ): Promise<Omit<UploadableFile, 'getStream'>> {\n const fileService = getService('file');\n const imageManipulationService = getService('image-manipulation');\n\n if (!isValidFilename(filename)) {\n throw new ApplicationError('File name contains invalid characters');\n }\n\n let ext = path.extname(filename);\n if (!ext) {\n ext = `.${extension(type)}`;\n }\n const usedName = (fileInfo.name || filename).normalize();\n const basename = path.basename(usedName, ext);\n\n // Prevent null characters in file name\n if (!isValidFilename(filename)) {\n throw new ApplicationError('File name contains invalid characters');\n }\n\n const entity: Omit<UploadableFile, 'getStream'> = {\n name: usedName,\n alternativeText: fileInfo.alternativeText,\n caption: fileInfo.caption,\n focalPoint: fileInfo.focalPoint,\n folder: fileInfo.folder,\n folderPath: await fileService.getFolderPath(fileInfo.folder),\n hash: imageManipulationService.generateFileName(basename),\n ext,\n mime: type,\n size: bytesToKbytes(size),\n sizeInBytes: size,\n };\n\n const { refId, ref, field } = metas;\n\n if (refId && ref && field) {\n entity.related = [\n {\n id: refId,\n __type: ref,\n __pivot: { field },\n },\n ];\n }\n\n if (metas.path) {\n entity.path = metas.path;\n }\n\n if (metas.tmpWorkingDirectory) {\n entity.tmpWorkingDirectory = metas.tmpWorkingDirectory;\n }\n\n return entity;\n }\n\n async function enhanceAndValidateFile(\n file: InputFile,\n fileInfo: FileInfo,\n metas?: Metas\n ): Promise<UploadableFile> {\n // Prefer detected MIME type from security validation. Treat application/octet-stream as\n // undeclared so we use detected type when the client sends no real Content-Type.\n const detected = (file as any).detectedMimeType;\n const declared = file.mimetype || '';\n const mimeType =\n detected ||\n (declared && declared !== 'application/octet-stream' ? declared : undefined) ||\n 'application/octet-stream';\n\n const currentFile = (await formatFileInfo(\n {\n filename: file.originalFilename ?? 'unamed',\n type: mimeType,\n size: file.size,\n },\n fileInfo,\n {\n ...metas,\n tmpWorkingDirectory: file.tmpWorkingDirectory,\n }\n )) as UploadableFile;\n\n currentFile.filepath = file.filepath;\n currentFile.getStream = () => fs.createReadStream(file.filepath);\n\n const { optimize, isImage, isFaultyImage, isOptimizableImage } = strapi\n .plugin('upload')\n .service('image-manipulation');\n\n if (await isImage(currentFile)) {\n if (await isFaultyImage(currentFile)) {\n throw new ApplicationError('File is not a valid image');\n }\n if (await isOptimizableImage(currentFile)) {\n return optimize(currentFile);\n }\n }\n\n return currentFile;\n }\n\n async function upload(\n {\n data,\n files,\n }: {\n data: Record<string, unknown>;\n files: InputFile[];\n },\n opts?: CommonOptions\n ) {\n const { user } = opts ?? {};\n // create temporary folder to store files for stream manipulation\n const tmpWorkingDirectory = await createAndAssignTmpWorkingDirectoryToFiles(files);\n\n const uploadedFiles = [];\n try {\n const { fileInfo, ...metas } = data;\n\n const fileArray = Array.isArray(files) ? files : [files];\n const fileInfoArray = Array.isArray(fileInfo) ? fileInfo : [fileInfo];\n\n const doUpload = async (file: InputFile, fileInfo: FileInfo) => {\n const fileData = await enhanceAndValidateFile(file, fileInfo, metas);\n return uploadFileAndPersist(fileData, { user });\n };\n\n const concurrentUploadSize = Math.max(\n 1,\n strapi.config.get<Config>('plugin::upload').concurrentUploadSize ?? 1\n );\n\n const fileBatches = _.chunk(\n fileArray.map((file, idx) => ({ file, fileInfo: fileInfoArray[idx] || {} })),\n concurrentUploadSize\n );\n\n for (const batch of fileBatches) {\n const results = await Promise.all(\n batch.map(({ file, fileInfo }) => doUpload(file, fileInfo))\n );\n uploadedFiles.push(...results);\n }\n } finally {\n // delete temporary folder\n await fse.remove(tmpWorkingDirectory);\n }\n\n return uploadedFiles;\n }\n\n /**\n * When uploading an image, an additional thumbnail is generated.\n * Also, if there are responsive formats defined, another set of images will be generated too.\n *\n * @param {*} fileData\n */\n async function uploadImage(fileData: UploadableFile) {\n const { getDimensions, generateThumbnail, generateResponsiveFormats, isResizableImage } =\n getService('image-manipulation');\n\n // Store width and height of the original image\n const { width, height } = await getDimensions(fileData);\n\n // Make sure this is assigned before calling any upload\n // That way it can mutate the width and height\n _.assign(fileData, {\n width,\n height,\n });\n\n // For performance reasons, all uploads are wrapped in a single Promise.all\n const uploadThumbnail = async (thumbnailFile: UploadableFile) => {\n await getService('provider').upload(thumbnailFile);\n _.set(fileData, 'formats.thumbnail', thumbnailFile);\n };\n\n // Generate thumbnail and responsive formats\n const uploadResponsiveFormat = async (format: { key: string; file: UploadableFile }) => {\n const { key, file } = format;\n await getService('provider').upload(file);\n _.set(fileData, ['formats', key], file);\n };\n\n const uploadPromises: Promise<void>[] = [];\n\n // Upload image\n queueConcurrentOperation(uploadPromises, getService('provider').upload(fileData));\n\n // Generate & Upload thumbnail and responsive formats\n if (await isResizableImage(fileData)) {\n const thumbnailFile = await generateThumbnail(fileData);\n if (thumbnailFile) {\n queueConcurrentOperation(uploadPromises, uploadThumbnail(thumbnailFile));\n }\n\n const formats = await generateResponsiveFormats(fileData);\n if (Array.isArray(formats) && formats.length > 0) {\n for (const format of formats) {\n // eslint-disable-next-line no-continue\n if (!format) continue;\n queueConcurrentOperation(uploadPromises, uploadResponsiveFormat(format));\n }\n }\n }\n // Wait for all uploads to finish\n await Promise.all(uploadPromises);\n }\n\n /**\n * Like uploadImage, but pairs the main file and each format with its old\n * counterpart and routes through provider.replace so providers that implement\n * an atomic replace can use it. Formats that no longer exist on the new image\n * are deleted; formats that didn't exist on the old image are uploaded fresh.\n */\n async function replaceImage(fileData: UploadableFile, oldFile: File) {\n const { getDimensions, generateThumbnail, generateResponsiveFormats, isResizableImage } =\n getService('image-manipulation');\n\n const { width, height } = await getDimensions(fileData);\n\n _.assign(fileData, {\n width,\n height,\n });\n\n const replaceFormat = async (key: string, newFormat: UploadableFile) => {\n const oldFormat = oldFile.formats?.[key] as File | undefined;\n if (oldFormat) {\n await getService('provider').replace(newFormat, oldFormat);\n } else {\n await getService('provider').upload(newFormat);\n }\n _.set(fileData, ['formats', key], newFormat);\n };\n\n const promises: Promise<unknown>[] = [];\n\n // Replace the main file\n queueConcurrentOperation(promises, getService('provider').replace(fileData, oldFile));\n\n const newFormatKeys = new Set<string>();\n\n if (await isResizableImage(fileData)) {\n const thumbnailFile = await generateThumbnail(fileData);\n if (thumbnailFile) {\n newFormatKeys.add('thumbnail');\n queueConcurrentOperation(promises, replaceFormat('thumbnail', thumbnailFile));\n }\n\n const formats = await generateResponsiveFormats(fileData);\n if (Array.isArray(formats) && formats.length > 0) {\n for (const format of formats) {\n // eslint-disable-next-line no-continue\n if (!format) continue;\n newFormatKeys.add(format.key);\n queueConcurrentOperation(promises, replaceFormat(format.key, format.file));\n }\n }\n }\n\n // Delete any formats that existed on the old file but are not present on the new one\n if (\n oldFile.formats &&\n oldFile.provider === strapi.config.get<Config>('plugin::upload').provider\n ) {\n for (const oldKey of Object.keys(oldFile.formats)) {\n if (!newFormatKeys.has(oldKey)) {\n const oldFormat = oldFile.formats[oldKey] as File;\n queueConcurrentOperation(promises, strapi.plugin('upload').provider.delete(oldFormat));\n }\n }\n }\n\n await Promise.all(promises);\n }\n\n /**\n * Upload a file. If it is an image it will generate a thumbnail\n * and responsive formats (if enabled).\n */\n async function uploadFileAndPersist(fileData: UploadableFile, opts?: CommonOptions) {\n const { user } = opts ?? {};\n\n const config = strapi.config.get<Config>('plugin::upload');\n const { isImage } = getService('image-manipulation');\n\n await getService('provider').checkFileSize(fileData);\n\n if (await isImage(fileData)) {\n await uploadImage(fileData);\n } else {\n await getService('provider').upload(fileData);\n }\n\n _.set(fileData, 'provider', config.provider);\n\n // Persist file(s)\n return add(fileData, { user });\n }\n\n async function updateFileInfo(\n id: ID,\n { name, alternativeText, caption, focalPoint, folder }: FileInfo,\n opts?: CommonOptions\n ) {\n const { user } = opts ?? {};\n\n const dbFile = await findOne(id);\n\n if (!dbFile) {\n throw new NotFoundError();\n }\n\n const fileService = getService('file');\n\n const newName = _.isNil(name) ? dbFile.name : name;\n const newInfos = {\n name: newName,\n alternativeText: _.isNil(alternativeText) ? dbFile.alternativeText : alternativeText,\n caption: _.isNil(caption) ? dbFile.caption : caption,\n focalPoint: _.isNil(focalPoint) ? dbFile.focalPoint : focalPoint,\n folder: _.isUndefined(folder) ? dbFile.folder : folder,\n folderPath: _.isUndefined(folder)\n ? dbFile.folderPath\n : await fileService.getFolderPath(folder),\n };\n\n return update(id, newInfos, { user });\n }\n\n async function replace(\n id: ID,\n { data, file }: { data: { fileInfo: FileInfo }; file: InputFile },\n opts?: CommonOptions\n ) {\n const { user } = opts ?? {};\n\n const config = strapi.config.get<Config>('plugin::upload');\n\n const { isImage } = getService('image-manipulation');\n\n const dbFile = await findOne(id);\n if (!dbFile) {\n throw new NotFoundError();\n }\n\n // create temporary folder to store files for stream manipulation\n const tmpWorkingDirectory = await createAndAssignTmpWorkingDirectoryToFiles(file);\n\n let fileData: UploadableFile;\n\n try {\n const { fileInfo } = data;\n fileData = await enhanceAndValidateFile(file, fileInfo);\n\n // Replacing a file writes new bytes just like creating one, so it has to\n // respect sizeLimit too. Checked before any provider write, and measured on\n // the same post-optimization file as the create path (uploadFileAndPersist).\n await getService('provider').checkFileSize(fileData);\n\n // keep a constant hash and extension so the file url doesn't change when the file is replaced\n _.assign(fileData, {\n hash: dbFile.hash,\n ext: dbFile.ext,\n });\n\n // clear old formats — replaceImage / replace will set new ones\n _.set(fileData, 'formats', {});\n\n if (dbFile.provider === config.provider) {\n if (await isImage(fileData)) {\n await replaceImage(fileData, dbFile);\n } else {\n // The new file is not an image, so it has no formats. Replace the main\n // file, then delete any formats the old image left behind — otherwise\n // they're orphaned in storage since the DB record no longer tracks them.\n await getService('provider').replace(fileData, dbFile);\n if (dbFile.formats) {\n await Promise.all(\n Object.keys(dbFile.formats).map((key) =>\n strapi.plugin('upload').provider.delete(dbFile.formats![key] as File)\n )\n );\n }\n }\n } else if (await isImage(fileData)) {\n // Cross-provider replacement: no delete on the old provider, upload to the new one.\n await uploadImage(fileData);\n } else {\n await getService('provider').upload(fileData);\n }\n\n _.set(fileData, 'provider', config.provider);\n } finally {\n // delete temporary folder\n await fse.remove(tmpWorkingDirectory);\n }\n\n return update(id, fileData, { user });\n }\n\n async function update(id: ID, values: Partial<File>, opts?: CommonOptions) {\n const { user } = opts ?? {};\n\n const fileValues = { ...values };\n if (user) {\n Object.assign(fileValues, {\n [UPDATED_BY_ATTRIBUTE]: user.id,\n });\n }\n\n await sendMediaMetrics(fileValues);\n\n const res = await strapi.db.query(FILE_MODEL_UID).update({ where: { id }, data: fileValues });\n\n await emitEvent(MEDIA_UPDATE, res);\n\n return res;\n }\n\n async function add(values: any, opts?: CommonOptions) {\n const { user } = opts ?? {};\n\n const fileValues = { ...values };\n if (user) {\n Object.assign(fileValues, {\n [UPDATED_BY_ATTRIBUTE]: user.id,\n [CREATED_BY_ATTRIBUTE]: user.id,\n });\n }\n\n await sendMediaMetrics(fileValues);\n\n const res = await strapi.db.query(FILE_MODEL_UID).create({ data: fileValues });\n\n await emitEvent(MEDIA_CREATE, res);\n\n return res;\n }\n\n async function findOne(id: ID, populate = {}) {\n const query = strapi.get('query-params').transform(FILE_MODEL_UID, {\n populate,\n });\n\n const file = await strapi.db.query(FILE_MODEL_UID).findOne({\n where: { id },\n ...query,\n });\n\n if (!file) return file;\n\n // Sign file URLs if using private provider\n return fileService.signFileUrls(file);\n }\n\n async function findMany(query: any = {}): Promise<File[]> {\n const files = await strapi.db\n .query(FILE_MODEL_UID)\n .findMany(strapi.get('query-params').transform(FILE_MODEL_UID, query));\n\n // Sign file URLs if using private provider\n return async.map(files, (file: File) => fileService.signFileUrls(file));\n }\n\n async function findPage(query: any = {}) {\n const result = await strapi.db\n .query(FILE_MODEL_UID)\n .findPage(strapi.get('query-params').transform(FILE_MODEL_UID, query));\n\n // Sign file URLs if using private provider\n const signedResults = await async.map(result.results, (file: File) =>\n fileService.signFileUrls(file)\n );\n\n return {\n ...result,\n results: signedResults,\n };\n }\n\n /**\n * Resolve whether the count query should run, mirroring core-api's `shouldCount`.\n * Defaults to the `api.rest.withCount` config (true) when not specified on the request.\n */\n function resolveWithCount(pagination: Record<string, unknown>): boolean {\n if (has('withCount', pagination)) {\n const withCount = pagination.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount as string | number)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount as string | number)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n }\n\n /**\n * REST-aware paginated find for the content API.\n *\n * Unlike `findPage` (used by the admin API), this honors the standard nested\n * `pagination` query object (`pagination[page]`, `pagination[pageSize]`,\n * `pagination[start]`, `pagination[limit]`, `pagination[withCount]`) and the\n * `api.rest.defaultLimit` / `api.rest.maxLimit` / `api.rest.withCount` config,\n * exactly like every other Strapi REST collection-type endpoint.\n */\n async function findAndCountPage(query: any = {}) {\n const { pagination = {} } = query;\n\n const defaultLimit = toNumber(strapi.config.get('api.rest.defaultLimit', 25));\n const maxLimit = toNumber(strapi.config.get('api.rest.maxLimit')) || null;\n\n // Whether the consumer used page-based pagination (default) vs offset-based.\n const isOffset = has('start', pagination) || has('limit', pagination);\n const isPaged = !isOffset;\n\n // Resolve start/limit applying defaults and the maxLimit cap.\n const { start, limit } = paginationUtils.withDefaultPagination(pagination, {\n defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },\n maxLimit: maxLimit || -1,\n });\n\n // Feed the transform the resolved offset/limit so it ignores the nested\n // `pagination` object (which it cannot read) and applies real bounds.\n const transformed = strapi\n .get('query-params')\n .transform(FILE_MODEL_UID, { ...query, pagination: undefined, start, limit });\n\n const shouldCount = resolveWithCount(pagination);\n\n const [results, total] = await Promise.all([\n strapi.db.query(FILE_MODEL_UID).findMany(transformed),\n shouldCount ? strapi.db.query(FILE_MODEL_UID).count(transformed) : Promise.resolve(undefined),\n ]);\n\n const signedResults = await async.map(results, (file: File) => fileService.signFileUrls(file));\n\n const transform = isPaged\n ? paginationUtils.transformPagedPaginationInfo\n : paginationUtils.transformOffsetPaginationInfo;\n\n const paginationInfo = transform({ start, limit }, total as number);\n\n return {\n results: signedResults,\n // Omit total & pageCount when counting is disabled (withCount=false).\n pagination: isNil(total) ? _.omit(paginationInfo, ['total', 'pageCount']) : paginationInfo,\n };\n }\n\n async function remove(file: File) {\n const config = strapi.config.get<Config>('plugin::upload');\n\n // execute delete function of the provider\n if (file.provider === config.provider) {\n await strapi.plugin('upload').provider.delete(file);\n\n if (file.formats) {\n const keys = Object.keys(file.formats);\n\n await Promise.all(\n keys.map((key) => {\n return strapi.plugin('upload').provider.delete(file.formats![key]);\n })\n );\n }\n }\n\n const media = await strapi.db.query(FILE_MODEL_UID).findOne({\n where: { id: file.id },\n });\n\n await emitEvent(MEDIA_DELETE, media);\n\n return strapi.db.query(FILE_MODEL_UID).delete({ where: { id: file.id } });\n }\n\n async function getSettings() {\n const res = await strapi.store!({ type: 'plugin', name: 'upload', key: 'settings' }).get({});\n\n return res as Settings | null;\n }\n\n async function setSettings(value: Settings) {\n if (value.responsiveDimensions === true) {\n await getService('metrics').trackUsage('didEnableResponsiveDimensions');\n } else {\n await getService('metrics').trackUsage('didDisableResponsiveDimensions');\n }\n\n return strapi.store!({ type: 'plugin', name: 'upload', key: 'settings' }).set({ value });\n }\n\n async function getConfiguration() {\n const res = await strapi.store!({\n type: 'plugin',\n name: 'upload',\n key: 'view_configuration',\n }).get({});\n\n return res as ViewConfiguration | null;\n }\n\n function setConfiguration(value: ViewConfiguration) {\n return strapi.store!({ type: 'plugin', name: 'upload', key: 'view_configuration' }).set({\n value,\n });\n }\n\n return {\n formatFileInfo,\n upload,\n updateFileInfo,\n replace,\n findOne,\n findMany,\n findPage,\n findAndCountPage,\n remove,\n getSettings,\n setSettings,\n getConfiguration,\n setConfiguration,\n\n /**\n * exposed for testing only\n * @internal\n */\n _uploadImage: uploadImage,\n _replaceImage: replaceImage,\n _queueConcurrentOperation: queueConcurrentOperation,\n };\n};\n"],"names":["UPDATED_BY_ATTRIBUTE","CREATED_BY_ATTRIBUTE","contentTypesUtils","constants","MEDIA_CREATE","MEDIA_UPDATE","MEDIA_DELETE","ALLOWED_WEBHOOK_EVENTS","ApplicationError","NotFoundError","errors","bytesToKbytes","fileUtils","queueConcurrentOperation","queue","operation","Promise","resolve","catch","undefined","push","strapi","fileService","getService","sendMediaMetrics","data","_","has","isEmpty","caption","trackUsage","alternativeText","createAndAssignTmpWorkingDirectoryToFiles","files","tmpWorkingDirectory","fse","mkdtemp","path","join","os","tmpdir","Array","isArray","forEach","file","filenameReservedRegex","windowsReservedNameRegex","isValidFilename","string","length","test","emitEvent","event","modelDef","getModel","FILE_MODEL_UID","sanitizedData","sanitize","sanitizers","defaultSanitizeOutput","schema","uid","eventHub","emit","media","formatFileInfo","filename","type","size","fileInfo","metas","imageManipulationService","ext","extname","extension","usedName","name","normalize","basename","entity","focalPoint","folder","folderPath","getFolderPath","hash","generateFileName","mime","sizeInBytes","refId","ref","field","related","id","__type","__pivot","enhanceAndValidateFile","detected","detectedMimeType","declared","mimetype","mimeType","currentFile","originalFilename","filepath","getStream","fs","createReadStream","optimize","isImage","isFaultyImage","isOptimizableImage","plugin","service","upload","opts","user","uploadedFiles","fileArray","fileInfoArray","doUpload","fileData","uploadFileAndPersist","concurrentUploadSize","Math","max","config","get","fileBatches","chunk","map","idx","batch","results","all","remove","uploadImage","getDimensions","generateThumbnail","generateResponsiveFormats","isResizableImage","width","height","assign","uploadThumbnail","thumbnailFile","set","uploadResponsiveFormat","format","key","uploadPromises","formats","replaceImage","oldFile","replaceFormat","newFormat","oldFormat","replace","promises","newFormatKeys","Set","add","provider","oldKey","Object","keys","delete","checkFileSize","updateFileInfo","dbFile","findOne","newName","isNil","newInfos","isUndefined","update","values","fileValues","res","db","query","where","create","populate","transform","signFileUrls","findMany","async","findPage","result","signedResults","resolveWithCount","pagination","withCount","includes","ValidationError","Boolean","findAndCountPage","defaultLimit","toNumber","maxLimit","isOffset","isPaged","start","limit","paginationUtils","withDefaultPagination","defaults","offset","page","pageSize","transformed","shouldCount","total","count","transformPagedPaginationInfo","transformOffsetPaginationInfo","paginationInfo","omit","getSettings","store","setSettings","value","responsiveDimensions","getConfiguration","setConfiguration","_uploadImage","_replaceImage","_queueConcurrentOperation"],"mappings":"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"}
1
+ {"version":3,"file":"upload.js","sources":["../../../server/src/services/upload.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport fs from 'fs';\nimport fse from 'fs-extra';\nimport _ from 'lodash';\nimport { extension } from 'mime-types';\nimport {\n async,\n sanitize,\n contentTypes as contentTypesUtils,\n errors,\n file as fileUtils,\n pagination as paginationUtils,\n} from '@strapi/utils';\nimport { has, toNumber, isNil } from 'lodash/fp';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport { FILE_MODEL_UID, ALLOWED_WEBHOOK_EVENTS } from '../constants';\nimport { getService } from '../utils';\n\nimport type { Config, File, InputFile, UploadableFile, FileInfo } from '../types';\nimport type { ViewConfiguration } from '../controllers/validation/admin/configureView';\nimport type { Settings } from '../controllers/validation/admin/settings';\n\ntype User = {\n id: string | number;\n};\n\ntype ID = string | number;\n\ntype CommonOptions = {\n user?: User;\n};\n\ntype Metas = {\n refId?: ID;\n ref?: string;\n field?: string;\n path?: string;\n tmpWorkingDirectory?: string;\n};\n\nconst { UPDATED_BY_ATTRIBUTE, CREATED_BY_ATTRIBUTE } = contentTypesUtils.constants;\nconst { MEDIA_CREATE, MEDIA_UPDATE, MEDIA_DELETE } = ALLOWED_WEBHOOK_EVENTS;\n\nconst { ApplicationError, NotFoundError } = errors;\nconst { bytesToKbytes } = fileUtils;\n\n/**\n * Queue a provider operation for a later `Promise.all`, with a rejection handler\n * attached in the same turn so a fast failure is never an unhandled rejection.\n *\n * `Promise.resolve` first — a provider may hand back a plain value, which\n * `Promise.all` accepts but `.catch` would throw on.\n */\nconst queueConcurrentOperation = <T>(queue: Promise<T>[], operation: Promise<T>) => {\n Promise.resolve(operation).catch(() => undefined);\n queue.push(operation);\n};\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const fileService = getService('file');\n\n const sendMediaMetrics = async (data: Pick<File, 'caption' | 'alternativeText'>) => {\n if (_.has(data, 'caption') && !_.isEmpty(data.caption)) {\n await getService('metrics').trackUsage('didSaveMediaWithCaption');\n }\n\n if (_.has(data, 'alternativeText') && !_.isEmpty(data.alternativeText)) {\n await getService('metrics').trackUsage('didSaveMediaWithAlternativeText');\n }\n };\n\n const createAndAssignTmpWorkingDirectoryToFiles = async (\n files: InputFile | InputFile[]\n ): Promise<string> => {\n const tmpWorkingDirectory = await fse.mkdtemp(path.join(os.tmpdir(), 'strapi-upload-'));\n\n if (Array.isArray(files)) {\n files.forEach((file) => {\n file.tmpWorkingDirectory = tmpWorkingDirectory;\n });\n } else {\n files.tmpWorkingDirectory = tmpWorkingDirectory;\n }\n\n return tmpWorkingDirectory;\n };\n\n function filenameReservedRegex() {\n // eslint-disable-next-line no-control-regex\n return /[<>:\"/\\\\|?*\\u0000-\\u001F]/g;\n }\n\n function windowsReservedNameRegex() {\n return /^(con|prn|aux|nul|com\\d|lpt\\d)$/i;\n }\n\n /**\n * Copied from https://github.com/sindresorhus/valid-filename package\n */\n function isValidFilename(string: string) {\n if (!string || string.length > 255) {\n return false;\n }\n if (filenameReservedRegex().test(string) || windowsReservedNameRegex().test(string)) {\n return false;\n }\n if (string === '.' || string === '..') {\n return false;\n }\n return true;\n }\n\n async function emitEvent(event: string, data: Record<string, any>) {\n const modelDef = strapi.getModel(FILE_MODEL_UID);\n const sanitizedData = await sanitize.sanitizers.defaultSanitizeOutput(\n {\n schema: modelDef,\n getModel(uid: string) {\n return strapi.getModel(uid as UID.Schema);\n },\n },\n data\n );\n\n strapi.eventHub.emit(event, { media: sanitizedData });\n }\n\n async function formatFileInfo(\n { filename, type, size }: { filename: string; type: string; size: number },\n fileInfo: Partial<FileInfo> = {},\n metas: {\n refId?: ID;\n ref?: string;\n field?: string;\n path?: string;\n tmpWorkingDirectory?: string;\n } = {}\n ): Promise<Omit<UploadableFile, 'getStream'>> {\n const fileService = getService('file');\n const imageManipulationService = getService('image-manipulation');\n\n if (!isValidFilename(filename)) {\n throw new ApplicationError('File name contains invalid characters');\n }\n\n let ext = path.extname(filename);\n if (!ext) {\n ext = `.${extension(type)}`;\n }\n const usedName = (fileInfo.name || filename).normalize();\n const basename = path.basename(usedName, ext);\n\n // Prevent null characters in file name\n if (!isValidFilename(filename)) {\n throw new ApplicationError('File name contains invalid characters');\n }\n\n const entity: Omit<UploadableFile, 'getStream'> = {\n name: usedName,\n alternativeText: fileInfo.alternativeText,\n caption: fileInfo.caption,\n focalPoint: fileInfo.focalPoint,\n folder: fileInfo.folder,\n folderPath: await fileService.getFolderPath(fileInfo.folder),\n hash: imageManipulationService.generateFileName(basename),\n ext,\n mime: type,\n size: bytesToKbytes(size),\n sizeInBytes: size,\n };\n\n const { refId, ref, field } = metas;\n\n if (refId && ref && field) {\n entity.related = [\n {\n id: refId,\n __type: ref,\n __pivot: { field },\n },\n ];\n }\n\n if (metas.path) {\n entity.path = metas.path;\n }\n\n if (metas.tmpWorkingDirectory) {\n entity.tmpWorkingDirectory = metas.tmpWorkingDirectory;\n }\n\n return entity;\n }\n\n async function enhanceAndValidateFile(\n file: InputFile,\n fileInfo: FileInfo,\n metas?: Metas\n ): Promise<UploadableFile> {\n // Prefer detected MIME type from security validation. Treat application/octet-stream as\n // undeclared so we use detected type when the client sends no real Content-Type.\n const detected = (file as any).detectedMimeType;\n const declared = file.mimetype || '';\n const mimeType =\n detected ||\n (declared && declared !== 'application/octet-stream' ? declared : undefined) ||\n 'application/octet-stream';\n\n const currentFile = (await formatFileInfo(\n {\n filename: file.originalFilename ?? 'unamed',\n type: mimeType,\n size: file.size,\n },\n fileInfo,\n {\n ...metas,\n tmpWorkingDirectory: file.tmpWorkingDirectory,\n }\n )) as UploadableFile;\n\n currentFile.filepath = file.filepath;\n currentFile.getStream = () => fs.createReadStream(file.filepath);\n\n const { optimize, isImage, isFaultyImage, isOptimizableImage } = strapi\n .plugin('upload')\n .service('image-manipulation');\n\n if (await isImage(currentFile)) {\n if (await isFaultyImage(currentFile)) {\n throw new ApplicationError('File is not a valid image');\n }\n if (await isOptimizableImage(currentFile)) {\n return optimize(currentFile);\n }\n }\n\n return currentFile;\n }\n\n async function upload(\n {\n data,\n files,\n }: {\n data: Record<string, unknown>;\n files: InputFile[];\n },\n opts?: CommonOptions\n ) {\n const { user } = opts ?? {};\n // create temporary folder to store files for stream manipulation\n const tmpWorkingDirectory = await createAndAssignTmpWorkingDirectoryToFiles(files);\n\n const uploadedFiles = [];\n try {\n const { fileInfo, ...metas } = data;\n\n const fileArray = Array.isArray(files) ? files : [files];\n const fileInfoArray = Array.isArray(fileInfo) ? fileInfo : [fileInfo];\n\n const doUpload = async (file: InputFile, fileInfo: FileInfo) => {\n const fileData = await enhanceAndValidateFile(file, fileInfo, metas);\n return uploadFileAndPersist(fileData, { user });\n };\n\n const concurrentUploadSize = Math.max(\n 1,\n strapi.config.get<Config>('plugin::upload').concurrentUploadSize ?? 1\n );\n\n const fileBatches = _.chunk(\n fileArray.map((file, idx) => ({ file, fileInfo: fileInfoArray[idx] || {} })),\n concurrentUploadSize\n );\n\n for (const batch of fileBatches) {\n const results = await Promise.all(\n batch.map(({ file, fileInfo }) => doUpload(file, fileInfo))\n );\n uploadedFiles.push(...results);\n }\n } finally {\n // delete temporary folder\n await fse.remove(tmpWorkingDirectory);\n }\n\n return uploadedFiles;\n }\n\n /**\n * When uploading an image, an additional thumbnail is generated.\n * Also, if there are responsive formats defined, another set of images will be generated too.\n *\n * @param {*} fileData\n */\n async function uploadImage(fileData: UploadableFile) {\n const { getDimensions, generateThumbnail, generateResponsiveFormats, isResizableImage } =\n getService('image-manipulation');\n\n // Store width and height of the original image\n const { width, height } = await getDimensions(fileData);\n\n // Make sure this is assigned before calling any upload\n // That way it can mutate the width and height\n _.assign(fileData, {\n width,\n height,\n });\n\n // For performance reasons, all uploads are wrapped in a single Promise.all\n const uploadThumbnail = async (thumbnailFile: UploadableFile) => {\n await getService('provider').upload(thumbnailFile);\n _.set(fileData, 'formats.thumbnail', thumbnailFile);\n };\n\n // Generate thumbnail and responsive formats\n const uploadResponsiveFormat = async (format: { key: string; file: UploadableFile }) => {\n const { key, file } = format;\n await getService('provider').upload(file);\n _.set(fileData, ['formats', key], file);\n };\n\n const uploadPromises: Promise<void>[] = [];\n\n // Upload image\n queueConcurrentOperation(uploadPromises, getService('provider').upload(fileData));\n\n // Generate & Upload thumbnail and responsive formats\n if (await isResizableImage(fileData)) {\n const thumbnailFile = await generateThumbnail(fileData);\n if (thumbnailFile) {\n queueConcurrentOperation(uploadPromises, uploadThumbnail(thumbnailFile));\n }\n\n const formats = await generateResponsiveFormats(fileData);\n if (Array.isArray(formats) && formats.length > 0) {\n for (const format of formats) {\n // eslint-disable-next-line no-continue\n if (!format) continue;\n queueConcurrentOperation(uploadPromises, uploadResponsiveFormat(format));\n }\n }\n }\n // Wait for all uploads to finish\n await Promise.all(uploadPromises);\n }\n\n /**\n * Like uploadImage, but pairs the main file and each format with its old\n * counterpart and routes through provider.replace so providers that implement\n * an atomic replace can use it. Formats that no longer exist on the new image\n * are deleted; formats that didn't exist on the old image are uploaded fresh.\n */\n async function replaceImage(fileData: UploadableFile, oldFile: File) {\n const { getDimensions, generateThumbnail, generateResponsiveFormats, isResizableImage } =\n getService('image-manipulation');\n\n const { width, height } = await getDimensions(fileData);\n\n _.assign(fileData, {\n width,\n height,\n });\n\n const replaceFormat = async (key: string, newFormat: UploadableFile) => {\n const oldFormat = oldFile.formats?.[key] as File | undefined;\n if (oldFormat) {\n await getService('provider').replace(newFormat, oldFormat);\n } else {\n await getService('provider').upload(newFormat);\n }\n _.set(fileData, ['formats', key], newFormat);\n };\n\n const promises: Promise<unknown>[] = [];\n\n // Replace the main file\n queueConcurrentOperation(promises, getService('provider').replace(fileData, oldFile));\n\n const newFormatKeys = new Set<string>();\n\n if (await isResizableImage(fileData)) {\n const thumbnailFile = await generateThumbnail(fileData);\n if (thumbnailFile) {\n newFormatKeys.add('thumbnail');\n queueConcurrentOperation(promises, replaceFormat('thumbnail', thumbnailFile));\n }\n\n const formats = await generateResponsiveFormats(fileData);\n if (Array.isArray(formats) && formats.length > 0) {\n for (const format of formats) {\n // eslint-disable-next-line no-continue\n if (!format) continue;\n newFormatKeys.add(format.key);\n queueConcurrentOperation(promises, replaceFormat(format.key, format.file));\n }\n }\n }\n\n // Delete any formats that existed on the old file but are not present on the new one\n if (\n oldFile.formats &&\n oldFile.provider === strapi.config.get<Config>('plugin::upload').provider\n ) {\n for (const oldKey of Object.keys(oldFile.formats)) {\n if (!newFormatKeys.has(oldKey)) {\n const oldFormat = oldFile.formats[oldKey] as File;\n queueConcurrentOperation(promises, strapi.plugin('upload').provider.delete(oldFormat));\n }\n }\n }\n\n await Promise.all(promises);\n }\n\n /**\n * Upload a file. If it is an image it will generate a thumbnail\n * and responsive formats (if enabled).\n */\n async function uploadFileAndPersist(fileData: UploadableFile, opts?: CommonOptions) {\n const { user } = opts ?? {};\n\n const config = strapi.config.get<Config>('plugin::upload');\n const { isImage } = getService('image-manipulation');\n\n await getService('provider').checkFileSize(fileData);\n\n if (await isImage(fileData)) {\n await uploadImage(fileData);\n } else {\n await getService('provider').upload(fileData);\n }\n\n _.set(fileData, 'provider', config.provider);\n\n // Persist file(s)\n return add(fileData, { user });\n }\n\n async function updateFileInfo(\n id: ID,\n { name, alternativeText, caption, focalPoint, folder }: FileInfo,\n opts?: CommonOptions\n ) {\n const { user } = opts ?? {};\n\n const dbFile = await findOne(id);\n\n if (!dbFile) {\n throw new NotFoundError();\n }\n\n const fileService = getService('file');\n\n const newName = _.isNil(name) ? dbFile.name : name;\n const newInfos = {\n name: newName,\n alternativeText: _.isNil(alternativeText) ? dbFile.alternativeText : alternativeText,\n caption: _.isNil(caption) ? dbFile.caption : caption,\n focalPoint: _.isNil(focalPoint) ? dbFile.focalPoint : focalPoint,\n folder: _.isUndefined(folder) ? dbFile.folder : folder,\n folderPath: _.isUndefined(folder)\n ? dbFile.folderPath\n : await fileService.getFolderPath(folder),\n };\n\n return update(id, newInfos, { user });\n }\n\n async function replace(\n id: ID,\n { data, file }: { data: { fileInfo: FileInfo } & Metas; file: InputFile },\n opts?: CommonOptions\n ) {\n const { user } = opts ?? {};\n\n const config = strapi.config.get<Config>('plugin::upload');\n\n const { isImage } = getService('image-manipulation');\n\n const dbFile = await findOne(id);\n if (!dbFile) {\n throw new NotFoundError();\n }\n\n // create temporary folder to store files for stream manipulation\n const tmpWorkingDirectory = await createAndAssignTmpWorkingDirectoryToFiles(file);\n\n let fileData: UploadableFile;\n\n try {\n // `refId` / `ref` / `field` are dropped rather than forwarded: `formatFileInfo` turns\n // them into a one-element `related` array, and a bare array reaches the morph join as\n // `set` — which deletes every row for this file, detaching it from every other entry\n // that uses it. Attaching an existing file to an entry is the content API's job.\n const { fileInfo, refId: _refId, ref: _ref, field: _field, ...metas } = data;\n fileData = await enhanceAndValidateFile(file, fileInfo, metas);\n\n // Replacing a file writes new bytes just like creating one, so it has to\n // respect sizeLimit too. Checked before any provider write, and measured on\n // the same post-optimization file as the create path (uploadFileAndPersist).\n await getService('provider').checkFileSize(fileData);\n\n // keep a constant hash and extension so the file url doesn't change when the file is replaced\n _.assign(fileData, {\n hash: dbFile.hash,\n ext: dbFile.ext,\n });\n\n // A plain replace sends no folder, so `formatFileInfo` resolved folderPath to\n // '/' while the relation survived — and folder deletion selects by folderPath,\n // which orphaned the file. An explicitly sent folder still moves it.\n if (fileInfo?.folder === undefined) {\n _.assign(fileData, { folderPath: dbFile.folderPath });\n }\n\n // clear old formats — replaceImage / replace will set new ones\n _.set(fileData, 'formats', {});\n\n if (dbFile.provider === config.provider) {\n if (await isImage(fileData)) {\n await replaceImage(fileData, dbFile);\n } else {\n // The new file is not an image, so it has no formats. Replace the main\n // file, then delete any formats the old image left behind — otherwise\n // they're orphaned in storage since the DB record no longer tracks them.\n await getService('provider').replace(fileData, dbFile);\n if (dbFile.formats) {\n await Promise.all(\n Object.keys(dbFile.formats).map((key) =>\n strapi.plugin('upload').provider.delete(dbFile.formats![key] as File)\n )\n );\n }\n }\n } else if (await isImage(fileData)) {\n // Cross-provider replacement: no delete on the old provider, upload to the new one.\n await uploadImage(fileData);\n } else {\n await getService('provider').upload(fileData);\n }\n\n _.set(fileData, 'provider', config.provider);\n } finally {\n // delete temporary folder\n await fse.remove(tmpWorkingDirectory);\n }\n\n return update(id, fileData, { user });\n }\n\n async function update(id: ID, values: Partial<File>, opts?: CommonOptions) {\n const { user } = opts ?? {};\n\n const fileValues = { ...values };\n if (user) {\n Object.assign(fileValues, {\n [UPDATED_BY_ATTRIBUTE]: user.id,\n });\n }\n\n await sendMediaMetrics(fileValues);\n\n const res = await strapi.db.query(FILE_MODEL_UID).update({ where: { id }, data: fileValues });\n\n await emitEvent(MEDIA_UPDATE, res);\n\n return res;\n }\n\n async function add(values: any, opts?: CommonOptions) {\n const { user } = opts ?? {};\n\n const fileValues = { ...values };\n if (user) {\n Object.assign(fileValues, {\n [UPDATED_BY_ATTRIBUTE]: user.id,\n [CREATED_BY_ATTRIBUTE]: user.id,\n });\n }\n\n await sendMediaMetrics(fileValues);\n\n const res = await strapi.db.query(FILE_MODEL_UID).create({ data: fileValues });\n\n await emitEvent(MEDIA_CREATE, res);\n\n return res;\n }\n\n async function findOne(id: ID, populate = {}) {\n const query = strapi.get('query-params').transform(FILE_MODEL_UID, {\n populate,\n });\n\n const file = await strapi.db.query(FILE_MODEL_UID).findOne({\n where: { id },\n ...query,\n });\n\n if (!file) return file;\n\n // Sign file URLs if using private provider\n return fileService.signFileUrls(file);\n }\n\n async function findMany(query: any = {}): Promise<File[]> {\n const files = await strapi.db\n .query(FILE_MODEL_UID)\n .findMany(strapi.get('query-params').transform(FILE_MODEL_UID, query));\n\n // Sign file URLs if using private provider\n return async.map(files, (file: File) => fileService.signFileUrls(file));\n }\n\n async function findPage(query: any = {}) {\n const result = await strapi.db\n .query(FILE_MODEL_UID)\n .findPage(strapi.get('query-params').transform(FILE_MODEL_UID, query));\n\n // Sign file URLs if using private provider\n const signedResults = await async.map(result.results, (file: File) =>\n fileService.signFileUrls(file)\n );\n\n return {\n ...result,\n results: signedResults,\n };\n }\n\n /**\n * Resolve whether the count query should run, mirroring core-api's `shouldCount`.\n * Defaults to the `api.rest.withCount` config (true) when not specified on the request.\n */\n function resolveWithCount(pagination: Record<string, unknown>): boolean {\n if (has('withCount', pagination)) {\n const withCount = pagination.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount as string | number)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount as string | number)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n }\n\n /**\n * REST-aware paginated find for the content API.\n *\n * Unlike `findPage` (used by the admin API), this honors the standard nested\n * `pagination` query object (`pagination[page]`, `pagination[pageSize]`,\n * `pagination[start]`, `pagination[limit]`, `pagination[withCount]`) and the\n * `api.rest.defaultLimit` / `api.rest.maxLimit` / `api.rest.withCount` config,\n * exactly like every other Strapi REST collection-type endpoint.\n */\n async function findAndCountPage(query: any = {}) {\n const { pagination = {} } = query;\n\n const defaultLimit = toNumber(strapi.config.get('api.rest.defaultLimit', 25));\n const maxLimit = toNumber(strapi.config.get('api.rest.maxLimit')) || null;\n\n // Whether the consumer used page-based pagination (default) vs offset-based.\n const isOffset = has('start', pagination) || has('limit', pagination);\n const isPaged = !isOffset;\n\n // Resolve start/limit applying defaults and the maxLimit cap.\n const { start, limit } = paginationUtils.withDefaultPagination(pagination, {\n defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },\n maxLimit: maxLimit || -1,\n });\n\n // Feed the transform the resolved offset/limit so it ignores the nested\n // `pagination` object (which it cannot read) and applies real bounds.\n const transformed = strapi\n .get('query-params')\n .transform(FILE_MODEL_UID, { ...query, pagination: undefined, start, limit });\n\n const shouldCount = resolveWithCount(pagination);\n\n const [results, total] = await Promise.all([\n strapi.db.query(FILE_MODEL_UID).findMany(transformed),\n shouldCount ? strapi.db.query(FILE_MODEL_UID).count(transformed) : Promise.resolve(undefined),\n ]);\n\n const signedResults = await async.map(results, (file: File) => fileService.signFileUrls(file));\n\n const transform = isPaged\n ? paginationUtils.transformPagedPaginationInfo\n : paginationUtils.transformOffsetPaginationInfo;\n\n const paginationInfo = transform({ start, limit }, total as number);\n\n return {\n results: signedResults,\n // Omit total & pageCount when counting is disabled (withCount=false).\n pagination: isNil(total) ? _.omit(paginationInfo, ['total', 'pageCount']) : paginationInfo,\n };\n }\n\n async function remove(file: File) {\n const config = strapi.config.get<Config>('plugin::upload');\n\n // execute delete function of the provider\n if (file.provider === config.provider) {\n await strapi.plugin('upload').provider.delete(file);\n\n if (file.formats) {\n const keys = Object.keys(file.formats);\n\n await Promise.all(\n keys.map((key) => {\n return strapi.plugin('upload').provider.delete(file.formats![key]);\n })\n );\n }\n }\n\n const media = await strapi.db.query(FILE_MODEL_UID).findOne({\n where: { id: file.id },\n });\n\n await emitEvent(MEDIA_DELETE, media);\n\n return strapi.db.query(FILE_MODEL_UID).delete({ where: { id: file.id } });\n }\n\n async function getSettings() {\n const res = await strapi.store!({ type: 'plugin', name: 'upload', key: 'settings' }).get({});\n\n return res as Settings | null;\n }\n\n async function setSettings(value: Settings) {\n if (value.responsiveDimensions === true) {\n await getService('metrics').trackUsage('didEnableResponsiveDimensions');\n } else {\n await getService('metrics').trackUsage('didDisableResponsiveDimensions');\n }\n\n return strapi.store!({ type: 'plugin', name: 'upload', key: 'settings' }).set({ value });\n }\n\n async function getConfiguration() {\n const res = await strapi.store!({\n type: 'plugin',\n name: 'upload',\n key: 'view_configuration',\n }).get({});\n\n return res as ViewConfiguration | null;\n }\n\n function setConfiguration(value: ViewConfiguration) {\n return strapi.store!({ type: 'plugin', name: 'upload', key: 'view_configuration' }).set({\n value,\n });\n }\n\n return {\n formatFileInfo,\n upload,\n updateFileInfo,\n replace,\n findOne,\n findMany,\n findPage,\n findAndCountPage,\n remove,\n getSettings,\n setSettings,\n getConfiguration,\n setConfiguration,\n\n /**\n * exposed for testing only\n * @internal\n */\n _uploadImage: uploadImage,\n _replaceImage: replaceImage,\n _queueConcurrentOperation: queueConcurrentOperation,\n };\n};\n"],"names":["UPDATED_BY_ATTRIBUTE","CREATED_BY_ATTRIBUTE","contentTypesUtils","constants","MEDIA_CREATE","MEDIA_UPDATE","MEDIA_DELETE","ALLOWED_WEBHOOK_EVENTS","ApplicationError","NotFoundError","errors","bytesToKbytes","fileUtils","queueConcurrentOperation","queue","operation","Promise","resolve","catch","undefined","push","strapi","fileService","getService","sendMediaMetrics","data","_","has","isEmpty","caption","trackUsage","alternativeText","createAndAssignTmpWorkingDirectoryToFiles","files","tmpWorkingDirectory","fse","mkdtemp","path","join","os","tmpdir","Array","isArray","forEach","file","filenameReservedRegex","windowsReservedNameRegex","isValidFilename","string","length","test","emitEvent","event","modelDef","getModel","FILE_MODEL_UID","sanitizedData","sanitize","sanitizers","defaultSanitizeOutput","schema","uid","eventHub","emit","media","formatFileInfo","filename","type","size","fileInfo","metas","imageManipulationService","ext","extname","extension","usedName","name","normalize","basename","entity","focalPoint","folder","folderPath","getFolderPath","hash","generateFileName","mime","sizeInBytes","refId","ref","field","related","id","__type","__pivot","enhanceAndValidateFile","detected","detectedMimeType","declared","mimetype","mimeType","currentFile","originalFilename","filepath","getStream","fs","createReadStream","optimize","isImage","isFaultyImage","isOptimizableImage","plugin","service","upload","opts","user","uploadedFiles","fileArray","fileInfoArray","doUpload","fileData","uploadFileAndPersist","concurrentUploadSize","Math","max","config","get","fileBatches","chunk","map","idx","batch","results","all","remove","uploadImage","getDimensions","generateThumbnail","generateResponsiveFormats","isResizableImage","width","height","assign","uploadThumbnail","thumbnailFile","set","uploadResponsiveFormat","format","key","uploadPromises","formats","replaceImage","oldFile","replaceFormat","newFormat","oldFormat","replace","promises","newFormatKeys","Set","add","provider","oldKey","Object","keys","delete","checkFileSize","updateFileInfo","dbFile","findOne","newName","isNil","newInfos","isUndefined","update","_refId","_ref","_field","values","fileValues","res","db","query","where","create","populate","transform","signFileUrls","findMany","async","findPage","result","signedResults","resolveWithCount","pagination","withCount","includes","ValidationError","Boolean","findAndCountPage","defaultLimit","toNumber","maxLimit","isOffset","isPaged","start","limit","paginationUtils","withDefaultPagination","defaults","offset","page","pageSize","transformed","shouldCount","total","count","transformPagedPaginationInfo","transformOffsetPaginationInfo","paginationInfo","omit","getSettings","store","setSettings","value","responsiveDimensions","getConfiguration","setConfiguration","_uploadImage","_replaceImage","_queueConcurrentOperation"],"mappings":"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"}
@@ -343,8 +343,12 @@ var upload = (({ strapi })=>{
343
343
  const tmpWorkingDirectory = await createAndAssignTmpWorkingDirectoryToFiles(file);
344
344
  let fileData;
345
345
  try {
346
- const { fileInfo } = data;
347
- fileData = await enhanceAndValidateFile(file, fileInfo);
346
+ // `refId` / `ref` / `field` are dropped rather than forwarded: `formatFileInfo` turns
347
+ // them into a one-element `related` array, and a bare array reaches the morph join as
348
+ // `set` — which deletes every row for this file, detaching it from every other entry
349
+ // that uses it. Attaching an existing file to an entry is the content API's job.
350
+ const { fileInfo, refId: _refId, ref: _ref, field: _field, ...metas } = data;
351
+ fileData = await enhanceAndValidateFile(file, fileInfo, metas);
348
352
  // Replacing a file writes new bytes just like creating one, so it has to
349
353
  // respect sizeLimit too. Checked before any provider write, and measured on
350
354
  // the same post-optimization file as the create path (uploadFileAndPersist).
@@ -354,6 +358,14 @@ var upload = (({ strapi })=>{
354
358
  hash: dbFile.hash,
355
359
  ext: dbFile.ext
356
360
  });
361
+ // A plain replace sends no folder, so `formatFileInfo` resolved folderPath to
362
+ // '/' while the relation survived — and folder deletion selects by folderPath,
363
+ // which orphaned the file. An explicitly sent folder still moves it.
364
+ if (fileInfo?.folder === undefined) {
365
+ _.assign(fileData, {
366
+ folderPath: dbFile.folderPath
367
+ });
368
+ }
357
369
  // clear old formats — replaceImage / replace will set new ones
358
370
  _.set(fileData, 'formats', {});
359
371
  if (dbFile.provider === config.provider) {