@strapi/upload 5.54.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 (1784) 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.map +1 -0
  10. package/dist/admin/components/UploadProgressDialog.mjs.map +1 -0
  11. package/dist/admin/constants.js +7 -12
  12. package/dist/admin/constants.js.map +1 -1
  13. package/dist/admin/constants.mjs +7 -12
  14. package/dist/admin/constants.mjs.map +1 -1
  15. package/dist/admin/hooks/useAIMetadataEnabled.js +39 -0
  16. package/dist/admin/hooks/useAIMetadataEnabled.js.map +1 -0
  17. package/dist/admin/hooks/useAIMetadataEnabled.mjs +37 -0
  18. package/dist/admin/hooks/useAIMetadataEnabled.mjs.map +1 -0
  19. package/dist/admin/hooks/useApiErrorMessage.js.map +1 -0
  20. package/dist/admin/hooks/useApiErrorMessage.mjs.map +1 -0
  21. package/dist/admin/hooks/useMediaLibraryPermissions.js +24 -5
  22. package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
  23. package/dist/admin/hooks/useMediaLibraryPermissions.mjs +24 -5
  24. package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
  25. package/dist/admin/hooks/useTracking.js +39 -7
  26. package/dist/admin/hooks/useTracking.js.map +1 -1
  27. package/dist/admin/hooks/useTracking.mjs +38 -8
  28. package/dist/admin/hooks/useTracking.mjs.map +1 -1
  29. package/dist/admin/index.js +10 -15
  30. package/dist/admin/index.js.map +1 -1
  31. package/dist/admin/index.mjs +10 -15
  32. package/dist/admin/index.mjs.map +1 -1
  33. package/dist/admin/legacy/ai/components/AIAssetCard.js +621 -0
  34. package/dist/admin/legacy/ai/components/AIAssetCard.js.map +1 -0
  35. package/dist/admin/legacy/ai/components/AIAssetCard.mjs +598 -0
  36. package/dist/admin/legacy/ai/components/AIAssetCard.mjs.map +1 -0
  37. package/dist/admin/legacy/ai/components/AIUploadModal.js.map +1 -0
  38. package/dist/admin/legacy/ai/components/AIUploadModal.mjs.map +1 -0
  39. package/dist/admin/legacy/components/AssetCard/AssetCard.js +67 -0
  40. package/dist/admin/legacy/components/AssetCard/AssetCard.js.map +1 -0
  41. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs +65 -0
  42. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs.map +1 -0
  43. package/dist/admin/legacy/components/AssetCard/AssetCardBase.js.map +1 -0
  44. package/dist/admin/legacy/components/AssetCard/AssetCardBase.mjs.map +1 -0
  45. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.js.map +1 -0
  46. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.mjs.map +1 -0
  47. package/dist/admin/legacy/components/AssetCard/AudioPreview.js.map +1 -0
  48. package/dist/admin/legacy/components/AssetCard/AudioPreview.mjs.map +1 -0
  49. package/dist/admin/legacy/components/AssetCard/DocAssetCard.js.map +1 -0
  50. package/dist/admin/legacy/components/AssetCard/DocAssetCard.mjs.map +1 -0
  51. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.js.map +1 -0
  52. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.mjs.map +1 -0
  53. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js +154 -0
  54. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js.map +1 -0
  55. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs +132 -0
  56. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs.map +1 -0
  57. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.js.map +1 -0
  58. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.mjs.map +1 -0
  59. package/dist/admin/legacy/components/AssetCard/VideoPreview.js.map +1 -0
  60. package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs.map +1 -0
  61. package/dist/admin/legacy/components/AssetDialog/AssetDialog.js.map +1 -0
  62. package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs.map +1 -0
  63. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js +320 -0
  64. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -0
  65. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs +318 -0
  66. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -0
  67. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.js.map +1 -0
  68. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -0
  69. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.js.map +1 -0
  70. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -0
  71. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -0
  72. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -0
  73. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -0
  74. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -0
  75. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -0
  76. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -0
  77. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -0
  78. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -0
  79. package/dist/admin/legacy/components/AssetDialog/DialogFooter.js.map +1 -0
  80. package/dist/admin/legacy/components/AssetDialog/DialogFooter.mjs.map +1 -0
  81. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -0
  82. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -0
  83. package/dist/admin/legacy/components/AssetGridList/AssetGridList.js.map +1 -0
  84. package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs.map +1 -0
  85. package/dist/admin/legacy/components/AssetGridList/Draggable.js.map +1 -0
  86. package/dist/admin/legacy/components/AssetGridList/Draggable.mjs.map +1 -0
  87. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  88. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
  89. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -0
  90. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -0
  91. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -0
  92. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -0
  93. package/dist/admin/legacy/components/ContextInfo/ContextInfo.js.map +1 -0
  94. package/dist/admin/legacy/components/ContextInfo/ContextInfo.mjs.map +1 -0
  95. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
  96. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -0
  97. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.js.map +1 -0
  98. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.mjs.map +1 -0
  99. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js.map +1 -0
  100. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs.map +1 -0
  101. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js +114 -0
  102. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -0
  103. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +89 -0
  104. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -0
  105. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -0
  106. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -0
  107. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -0
  108. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -0
  109. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js +362 -0
  110. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -0
  111. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +337 -0
  112. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -0
  113. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -0
  114. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -0
  115. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -0
  116. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -0
  117. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -0
  118. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -0
  119. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.js.map +1 -0
  120. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -0
  121. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -0
  122. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -0
  123. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -0
  124. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -0
  125. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.js.map +1 -0
  126. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -0
  127. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.js.map +1 -0
  128. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.mjs.map +1 -0
  129. package/dist/admin/legacy/components/FilterList/FilterList.js.map +1 -0
  130. package/dist/admin/legacy/components/FilterList/FilterList.mjs.map +1 -0
  131. package/dist/admin/legacy/components/FilterList/FilterTag.js.map +1 -0
  132. package/dist/admin/legacy/components/FilterList/FilterTag.mjs.map +1 -0
  133. package/dist/admin/legacy/components/FilterPopover/FilterPopover.js.map +1 -0
  134. package/dist/admin/legacy/components/FilterPopover/FilterPopover.mjs.map +1 -0
  135. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js.map +1 -0
  136. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs.map +1 -0
  137. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.js.map +1 -0
  138. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.mjs.map +1 -0
  139. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.js.map +1 -0
  140. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -0
  141. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -0
  142. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -0
  143. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -0
  144. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -0
  145. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -0
  146. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -0
  147. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.js.map +1 -0
  148. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.mjs.map +1 -0
  149. package/dist/admin/legacy/components/FolderGridList/FolderGridList.js.map +1 -0
  150. package/dist/admin/legacy/components/FolderGridList/FolderGridList.mjs.map +1 -0
  151. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -0
  152. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -0
  153. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js +89 -0
  154. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -0
  155. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +87 -0
  156. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -0
  157. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -0
  158. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -0
  159. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -0
  160. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -0
  161. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +111 -0
  162. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -0
  163. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +89 -0
  164. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -0
  165. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
  166. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
  167. package/dist/admin/legacy/components/SelectTree/Option.js.map +1 -0
  168. package/dist/admin/legacy/components/SelectTree/Option.mjs.map +1 -0
  169. package/dist/admin/legacy/components/SelectTree/SelectTree.js.map +1 -0
  170. package/dist/admin/legacy/components/SelectTree/SelectTree.mjs.map +1 -0
  171. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.js.map +1 -0
  172. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.mjs.map +1 -0
  173. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.js.map +1 -0
  174. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.mjs.map +1 -0
  175. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.js.map +1 -0
  176. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.mjs.map +1 -0
  177. package/dist/admin/legacy/components/SortPicker/SortPicker.js +40 -0
  178. package/dist/admin/legacy/components/SortPicker/SortPicker.js.map +1 -0
  179. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs +38 -0
  180. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs.map +1 -0
  181. package/dist/admin/legacy/components/TableList/CellContent.js.map +1 -0
  182. package/dist/admin/legacy/components/TableList/CellContent.mjs.map +1 -0
  183. package/dist/admin/legacy/components/TableList/PreviewCell.js +116 -0
  184. package/dist/admin/legacy/components/TableList/PreviewCell.js.map +1 -0
  185. package/dist/admin/legacy/components/TableList/PreviewCell.mjs +114 -0
  186. package/dist/admin/legacy/components/TableList/PreviewCell.mjs.map +1 -0
  187. package/dist/admin/legacy/components/TableList/TableList.js +100 -0
  188. package/dist/admin/legacy/components/TableList/TableList.js.map +1 -0
  189. package/dist/admin/legacy/components/TableList/TableList.mjs +98 -0
  190. package/dist/admin/legacy/components/TableList/TableList.mjs.map +1 -0
  191. package/dist/admin/legacy/components/TableList/TableRows.js +105 -0
  192. package/dist/admin/legacy/components/TableList/TableRows.js.map +1 -0
  193. package/dist/admin/legacy/components/TableList/TableRows.mjs +103 -0
  194. package/dist/admin/legacy/components/TableList/TableRows.mjs.map +1 -0
  195. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -0
  196. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -0
  197. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +177 -0
  198. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -0
  199. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +155 -0
  200. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -0
  201. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -0
  202. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -0
  203. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -0
  204. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -0
  205. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -0
  206. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -0
  207. package/dist/admin/legacy/components/UploadProgress/UploadProgress.js.map +1 -0
  208. package/dist/admin/legacy/components/UploadProgress/UploadProgress.mjs.map +1 -0
  209. package/dist/admin/legacy/hooks/useAiAvailability.js.map +1 -0
  210. package/dist/admin/legacy/hooks/useAiAvailability.mjs.map +1 -0
  211. package/dist/admin/legacy/hooks/useAssets.js +127 -0
  212. package/dist/admin/legacy/hooks/useAssets.js.map +1 -0
  213. package/dist/admin/legacy/hooks/useAssets.mjs +105 -0
  214. package/dist/admin/legacy/hooks/useAssets.mjs.map +1 -0
  215. package/dist/admin/legacy/hooks/useBulkEdit.js +65 -0
  216. package/dist/admin/legacy/hooks/useBulkEdit.js.map +1 -0
  217. package/dist/admin/legacy/hooks/useBulkEdit.mjs +63 -0
  218. package/dist/admin/legacy/hooks/useBulkEdit.mjs.map +1 -0
  219. package/dist/admin/legacy/hooks/useBulkMove.js +78 -0
  220. package/dist/admin/legacy/hooks/useBulkMove.js.map +1 -0
  221. package/dist/admin/legacy/hooks/useBulkMove.mjs +76 -0
  222. package/dist/admin/legacy/hooks/useBulkMove.mjs.map +1 -0
  223. package/dist/admin/legacy/hooks/useBulkRemove.js +83 -0
  224. package/dist/admin/legacy/hooks/useBulkRemove.js.map +1 -0
  225. package/dist/admin/legacy/hooks/useBulkRemove.mjs +81 -0
  226. package/dist/admin/legacy/hooks/useBulkRemove.mjs.map +1 -0
  227. package/dist/admin/legacy/hooks/useConfig.js +58 -0
  228. package/dist/admin/legacy/hooks/useConfig.js.map +1 -0
  229. package/dist/admin/legacy/hooks/useConfig.mjs +56 -0
  230. package/dist/admin/legacy/hooks/useConfig.mjs.map +1 -0
  231. package/dist/admin/legacy/hooks/useCropImg.js.map +1 -0
  232. package/dist/admin/legacy/hooks/useCropImg.mjs.map +1 -0
  233. package/dist/admin/legacy/hooks/useEditAsset.js +115 -0
  234. package/dist/admin/legacy/hooks/useEditAsset.js.map +1 -0
  235. package/dist/admin/legacy/hooks/useEditAsset.mjs +93 -0
  236. package/dist/admin/legacy/hooks/useEditAsset.mjs.map +1 -0
  237. package/dist/admin/legacy/hooks/useEditFolder.js +45 -0
  238. package/dist/admin/legacy/hooks/useEditFolder.js.map +1 -0
  239. package/dist/admin/legacy/hooks/useEditFolder.mjs +43 -0
  240. package/dist/admin/legacy/hooks/useEditFolder.mjs.map +1 -0
  241. package/dist/admin/legacy/hooks/useFolder.js +57 -0
  242. package/dist/admin/legacy/hooks/useFolder.js.map +1 -0
  243. package/dist/admin/legacy/hooks/useFolder.mjs +55 -0
  244. package/dist/admin/legacy/hooks/useFolder.mjs.map +1 -0
  245. package/dist/admin/legacy/hooks/useFolderStructure.js +52 -0
  246. package/dist/admin/legacy/hooks/useFolderStructure.js.map +1 -0
  247. package/dist/admin/legacy/hooks/useFolderStructure.mjs +50 -0
  248. package/dist/admin/legacy/hooks/useFolderStructure.mjs.map +1 -0
  249. package/dist/admin/legacy/hooks/useFolders.js +108 -0
  250. package/dist/admin/legacy/hooks/useFolders.js.map +1 -0
  251. package/dist/admin/legacy/hooks/useFolders.mjs +86 -0
  252. package/dist/admin/legacy/hooks/useFolders.mjs.map +1 -0
  253. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js +16 -0
  254. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js.map +1 -0
  255. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs +14 -0
  256. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs.map +1 -0
  257. package/dist/admin/legacy/hooks/useModalQueryParams.js.map +1 -0
  258. package/dist/admin/legacy/hooks/useModalQueryParams.mjs.map +1 -0
  259. package/dist/admin/legacy/hooks/usePersistentState.js.map +1 -0
  260. package/dist/admin/legacy/hooks/usePersistentState.mjs.map +1 -0
  261. package/dist/admin/legacy/hooks/useRemoveAsset.js +58 -0
  262. package/dist/admin/legacy/hooks/useRemoveAsset.js.map +1 -0
  263. package/dist/admin/legacy/hooks/useRemoveAsset.mjs +56 -0
  264. package/dist/admin/legacy/hooks/useRemoveAsset.mjs.map +1 -0
  265. package/dist/admin/legacy/hooks/useSelectionState.js.map +1 -0
  266. package/dist/admin/legacy/hooks/useSelectionState.mjs.map +1 -0
  267. package/dist/admin/legacy/hooks/useSettings.js.map +1 -0
  268. package/dist/admin/legacy/hooks/useSettings.mjs.map +1 -0
  269. package/dist/admin/legacy/hooks/useTracking.js +25 -0
  270. package/dist/admin/legacy/hooks/useTracking.js.map +1 -0
  271. package/dist/admin/legacy/hooks/useTracking.mjs +23 -0
  272. package/dist/admin/legacy/hooks/useTracking.mjs.map +1 -0
  273. package/dist/admin/legacy/hooks/useUpload.js +109 -0
  274. package/dist/admin/legacy/hooks/useUpload.js.map +1 -0
  275. package/dist/admin/legacy/hooks/useUpload.mjs +87 -0
  276. package/dist/admin/legacy/hooks/useUpload.mjs.map +1 -0
  277. package/dist/admin/legacy/hooks/utils/renameKeys.js.map +1 -0
  278. package/dist/admin/legacy/hooks/utils/renameKeys.mjs.map +1 -0
  279. package/dist/admin/legacy/pages/App/App.js.map +1 -0
  280. package/dist/admin/legacy/pages/App/App.mjs.map +1 -0
  281. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js +145 -0
  282. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -0
  283. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs +120 -0
  284. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -0
  285. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js +109 -0
  286. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js.map +1 -0
  287. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs +107 -0
  288. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -0
  289. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js +10 -0
  290. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -0
  291. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs +7 -0
  292. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -0
  293. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.js.map +1 -0
  294. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.mjs.map +1 -0
  295. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.js.map +1 -0
  296. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.mjs.map +1 -0
  297. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.js.map +1 -0
  298. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -0
  299. package/dist/admin/legacy/pages/App/MediaLibrary.js +469 -0
  300. package/dist/admin/legacy/pages/App/MediaLibrary.js.map +1 -0
  301. package/dist/admin/legacy/pages/App/MediaLibrary.mjs +447 -0
  302. package/dist/admin/legacy/pages/App/MediaLibrary.mjs.map +1 -0
  303. package/dist/admin/legacy/pages/App/components/BulkActions.js.map +1 -0
  304. package/dist/admin/legacy/pages/App/components/BulkActions.mjs.map +1 -0
  305. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.js.map +1 -0
  306. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.mjs.map +1 -0
  307. package/dist/admin/legacy/pages/App/components/BulkMoveButton.js.map +1 -0
  308. package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs.map +1 -0
  309. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.js.map +1 -0
  310. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -0
  311. package/dist/admin/legacy/pages/App/components/Filters.js.map +1 -0
  312. package/dist/admin/legacy/pages/App/components/Filters.mjs.map +1 -0
  313. package/dist/admin/legacy/pages/App/components/Header.js.map +1 -0
  314. package/dist/admin/legacy/pages/App/components/Header.mjs.map +1 -0
  315. package/dist/admin/legacy/utils/appendSearchParamsToUrl.js.map +1 -0
  316. package/dist/admin/legacy/utils/appendSearchParamsToUrl.mjs.map +1 -0
  317. package/dist/admin/legacy/utils/containsAssetFilter.js.map +1 -0
  318. package/dist/admin/legacy/utils/containsAssetFilter.mjs.map +1 -0
  319. package/dist/admin/legacy/utils/createAssetUrl.js.map +1 -0
  320. package/dist/admin/legacy/utils/createAssetUrl.mjs.map +1 -0
  321. package/dist/admin/legacy/utils/displayedFilters.js.map +1 -0
  322. package/dist/admin/legacy/utils/displayedFilters.mjs.map +1 -0
  323. package/dist/admin/legacy/utils/downloadFile.js +13 -0
  324. package/dist/admin/legacy/utils/downloadFile.js.map +1 -0
  325. package/dist/admin/legacy/utils/downloadFile.mjs +11 -0
  326. package/dist/admin/legacy/utils/downloadFile.mjs.map +1 -0
  327. package/dist/admin/legacy/utils/findRecursiveFolderByValue.js.map +1 -0
  328. package/dist/admin/legacy/utils/findRecursiveFolderByValue.mjs.map +1 -0
  329. package/dist/admin/legacy/utils/formatBytes.js.map +1 -0
  330. package/dist/admin/legacy/utils/formatBytes.mjs.map +1 -0
  331. package/dist/admin/legacy/utils/formatDuration.js.map +1 -0
  332. package/dist/admin/legacy/utils/formatDuration.mjs.map +1 -0
  333. package/dist/admin/legacy/utils/getAPIInnerErrors.js.map +1 -0
  334. package/dist/admin/legacy/utils/getAPIInnerErrors.mjs.map +1 -0
  335. package/dist/admin/legacy/utils/getAllowedFiles.js.map +1 -0
  336. package/dist/admin/legacy/utils/getAllowedFiles.mjs.map +1 -0
  337. package/dist/admin/legacy/utils/getBreadcrumbDataCM.js.map +1 -0
  338. package/dist/admin/legacy/utils/getBreadcrumbDataCM.mjs.map +1 -0
  339. package/dist/admin/legacy/utils/getBreadcrumbDataML.js.map +1 -0
  340. package/dist/admin/legacy/utils/getBreadcrumbDataML.mjs.map +1 -0
  341. package/dist/admin/legacy/utils/getFileExtension.js.map +1 -0
  342. package/dist/admin/legacy/utils/getFileExtension.mjs.map +1 -0
  343. package/dist/admin/legacy/utils/getFolderParents.js.map +1 -0
  344. package/dist/admin/legacy/utils/getFolderParents.mjs.map +1 -0
  345. package/dist/admin/legacy/utils/getFolderURL.js.map +1 -0
  346. package/dist/admin/legacy/utils/getFolderURL.mjs.map +1 -0
  347. package/dist/admin/legacy/utils/getTrad.js +8 -0
  348. package/dist/admin/legacy/utils/getTrad.js.map +1 -0
  349. package/dist/admin/legacy/utils/getTrad.mjs +6 -0
  350. package/dist/admin/legacy/utils/getTrad.mjs.map +1 -0
  351. package/dist/admin/legacy/utils/icons.js +23 -0
  352. package/dist/admin/legacy/utils/icons.js.map +1 -0
  353. package/dist/admin/legacy/utils/icons.mjs +19 -0
  354. package/dist/admin/legacy/utils/icons.mjs.map +1 -0
  355. package/dist/admin/legacy/utils/moveElement.js.map +1 -0
  356. package/dist/admin/legacy/utils/moveElement.mjs.map +1 -0
  357. package/dist/admin/legacy/utils/normalizeAPIError.js.map +1 -0
  358. package/dist/admin/legacy/utils/normalizeAPIError.mjs.map +1 -0
  359. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.js.map +1 -0
  360. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -0
  361. package/dist/admin/legacy/utils/prefixPluginTranslations.js.map +1 -0
  362. package/dist/admin/legacy/utils/prefixPluginTranslations.mjs.map +1 -0
  363. package/dist/admin/legacy/utils/rawFileToAsset.js +23 -0
  364. package/dist/admin/legacy/utils/rawFileToAsset.js.map +1 -0
  365. package/dist/admin/legacy/utils/rawFileToAsset.mjs +21 -0
  366. package/dist/admin/legacy/utils/rawFileToAsset.mjs.map +1 -0
  367. package/dist/admin/legacy/utils/resolveFileMime.js.map +1 -0
  368. package/dist/admin/legacy/utils/resolveFileMime.mjs.map +1 -0
  369. package/dist/admin/legacy/utils/toSingularTypes.js.map +1 -0
  370. package/dist/admin/legacy/utils/toSingularTypes.mjs.map +1 -0
  371. package/dist/admin/legacy/utils/urlYupSchema.js.map +1 -0
  372. package/dist/admin/legacy/utils/urlYupSchema.mjs.map +1 -0
  373. package/dist/admin/legacy/utils/urlsToAssets.js +42 -0
  374. package/dist/admin/legacy/utils/urlsToAssets.js.map +1 -0
  375. package/dist/admin/legacy/utils/urlsToAssets.mjs +40 -0
  376. package/dist/admin/legacy/utils/urlsToAssets.mjs.map +1 -0
  377. package/dist/admin/pages/Assets/AssetsPage.js +828 -0
  378. package/dist/admin/pages/Assets/AssetsPage.js.map +1 -0
  379. package/dist/admin/pages/Assets/AssetsPage.mjs +806 -0
  380. package/dist/admin/pages/Assets/AssetsPage.mjs.map +1 -0
  381. package/dist/admin/pages/Assets/components/ActionsMenuContent.js.map +1 -0
  382. package/dist/admin/pages/Assets/components/ActionsMenuContent.mjs.map +1 -0
  383. package/dist/admin/pages/Assets/components/AssetActionsMenu.js.map +1 -0
  384. package/dist/admin/pages/Assets/components/AssetActionsMenu.mjs.map +1 -0
  385. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +1 -0
  386. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +1 -0
  387. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +1202 -0
  388. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -0
  389. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +1175 -0
  390. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -0
  391. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js +261 -0
  392. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -0
  393. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs +239 -0
  394. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -0
  395. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.js.map +1 -0
  396. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.mjs.map +1 -0
  397. package/dist/admin/pages/Assets/components/AssetsGrid.js +528 -0
  398. package/dist/admin/pages/Assets/components/AssetsGrid.js.map +1 -0
  399. package/dist/admin/pages/Assets/components/AssetsGrid.mjs +526 -0
  400. package/dist/admin/pages/Assets/components/AssetsGrid.mjs.map +1 -0
  401. package/dist/admin/pages/Assets/components/AssetsSearchInput.js.map +1 -0
  402. package/dist/admin/pages/Assets/components/AssetsSearchInput.mjs.map +1 -0
  403. package/dist/admin/pages/Assets/components/AssetsTable.js.map +1 -0
  404. package/dist/admin/pages/Assets/components/AssetsTable.mjs.map +1 -0
  405. package/dist/admin/pages/Assets/components/BulkActionsBar.js +431 -0
  406. package/dist/admin/pages/Assets/components/BulkActionsBar.js.map +1 -0
  407. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs +429 -0
  408. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs.map +1 -0
  409. package/dist/admin/pages/Assets/components/BulkMoveDialog.js.map +1 -0
  410. package/dist/admin/pages/Assets/components/BulkMoveDialog.mjs.map +1 -0
  411. package/dist/admin/pages/Assets/components/BusyOverlay.js.map +1 -0
  412. package/dist/admin/pages/Assets/components/BusyOverlay.mjs.map +1 -0
  413. package/dist/admin/pages/Assets/components/DateRangeCalendar.js.map +1 -0
  414. package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs.map +1 -0
  415. package/dist/admin/pages/Assets/components/DeleteItemsDialog.js.map +1 -0
  416. package/dist/admin/pages/Assets/components/DeleteItemsDialog.mjs.map +1 -0
  417. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -0
  418. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -0
  419. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.js.map +1 -0
  420. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +1 -0
  421. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.js.map +1 -0
  422. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.mjs.map +1 -0
  423. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.js.map +1 -0
  424. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +1 -0
  425. package/dist/admin/pages/Assets/components/Dnd/dndIds.js.map +1 -0
  426. package/dist/admin/pages/Assets/components/Dnd/dndIds.mjs.map +1 -0
  427. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.js.map +1 -0
  428. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.mjs.map +1 -0
  429. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +1 -0
  430. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +1 -0
  431. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -0
  432. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.mjs.map +1 -0
  433. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -0
  434. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -0
  435. package/dist/admin/pages/Assets/components/EmptyState.js.map +1 -0
  436. package/dist/admin/pages/Assets/components/EmptyState.mjs.map +1 -0
  437. package/dist/admin/pages/Assets/components/FilterBadges.js.map +1 -0
  438. package/dist/admin/pages/Assets/components/FilterBadges.mjs.map +1 -0
  439. package/dist/admin/pages/Assets/components/FilterMenu.js.map +1 -0
  440. package/dist/admin/pages/Assets/components/FilterMenu.mjs.map +1 -0
  441. package/dist/admin/pages/Assets/components/FolderActionsMenu.js.map +1 -0
  442. package/dist/admin/pages/Assets/components/FolderActionsMenu.mjs.map +1 -0
  443. package/dist/admin/pages/Assets/components/FolderFormDialog.js.map +1 -0
  444. package/dist/admin/pages/Assets/components/FolderFormDialog.mjs.map +1 -0
  445. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.js.map +1 -0
  446. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -0
  447. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +1 -0
  448. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +1 -0
  449. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.js.map +1 -0
  450. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.mjs.map +1 -0
  451. package/dist/admin/pages/Assets/components/MainAreaContextMenu.js.map +1 -0
  452. package/dist/admin/pages/Assets/components/MainAreaContextMenu.mjs.map +1 -0
  453. package/dist/admin/pages/Assets/components/SortMenu.js.map +1 -0
  454. package/dist/admin/pages/Assets/components/SortMenu.mjs.map +1 -0
  455. package/dist/admin/pages/Assets/constants.js.map +1 -0
  456. package/dist/admin/pages/Assets/constants.mjs.map +1 -0
  457. package/dist/admin/pages/Assets/hooks/useAssetSearch.js.map +1 -0
  458. package/dist/admin/pages/Assets/hooks/useAssetSearch.mjs.map +1 -0
  459. package/dist/admin/pages/Assets/hooks/useAssetSelection.js.map +1 -0
  460. package/dist/admin/pages/Assets/hooks/useAssetSelection.mjs.map +1 -0
  461. package/dist/admin/pages/Assets/hooks/useBusyAssets.js.map +1 -0
  462. package/dist/admin/pages/Assets/hooks/useBusyAssets.mjs.map +1 -0
  463. package/dist/admin/pages/Assets/hooks/useFolderInfo.js.map +1 -0
  464. package/dist/admin/pages/Assets/hooks/useFolderInfo.mjs.map +1 -0
  465. package/dist/admin/pages/Assets/hooks/useFolderNavigation.js.map +1 -0
  466. package/dist/admin/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -0
  467. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.js.map +1 -0
  468. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -0
  469. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +1 -0
  470. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +1 -0
  471. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +1 -0
  472. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +1 -0
  473. package/dist/admin/pages/Assets/hooks/useListFilters.js.map +1 -0
  474. package/dist/admin/pages/Assets/hooks/useListFilters.mjs.map +1 -0
  475. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.js.map +1 -0
  476. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.mjs.map +1 -0
  477. package/dist/admin/pages/Assets/hooks/useListSort.js.map +1 -0
  478. package/dist/admin/pages/Assets/hooks/useListSort.mjs.map +1 -0
  479. package/dist/admin/pages/Assets/utils/buildAssetFilters.js.map +1 -0
  480. package/dist/admin/pages/Assets/utils/buildAssetFilters.mjs.map +1 -0
  481. package/dist/admin/pages/Assets/utils/listQueryKey.js.map +1 -0
  482. package/dist/admin/pages/Assets/utils/listQueryKey.mjs.map +1 -0
  483. package/dist/admin/pages/Assets/utils/mergeMixedList.js.map +1 -0
  484. package/dist/admin/pages/Assets/utils/mergeMixedList.mjs.map +1 -0
  485. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.js.map +1 -0
  486. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.mjs.map +1 -0
  487. package/dist/admin/pages/Assets/utils/renderedKeys.js.map +1 -0
  488. package/dist/admin/pages/Assets/utils/renderedKeys.mjs.map +1 -0
  489. package/dist/admin/pages/Assets/utils/selection.js.map +1 -0
  490. package/dist/admin/pages/Assets/utils/selection.mjs.map +1 -0
  491. package/dist/admin/pages/SettingsPage/SettingsPage.js +23 -28
  492. package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
  493. package/dist/admin/pages/SettingsPage/SettingsPage.mjs +23 -28
  494. package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
  495. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js +110 -0
  496. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js.map +1 -0
  497. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs +88 -0
  498. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs.map +1 -0
  499. package/dist/admin/services/api.js.map +1 -0
  500. package/dist/admin/services/api.mjs.map +1 -0
  501. package/dist/admin/services/assets.js.map +1 -0
  502. package/dist/admin/services/assets.mjs.map +1 -0
  503. package/dist/admin/services/folders.js.map +1 -0
  504. package/dist/admin/services/folders.mjs.map +1 -0
  505. package/dist/admin/services/settings.js.map +1 -0
  506. package/dist/admin/services/settings.mjs.map +1 -0
  507. package/dist/admin/services/uploadFileViaXHR.js.map +1 -0
  508. package/dist/admin/services/uploadFileViaXHR.mjs.map +1 -0
  509. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +19 -2
  510. package/dist/admin/src/hooks/useTracking.d.ts +26 -1
  511. package/dist/admin/src/legacy/ai/components/AIAssetCard.d.ts +13 -0
  512. package/dist/admin/src/legacy/ai/components/AIUploadModal.d.ts +55 -0
  513. package/dist/admin/src/legacy/components/AssetCard/AssetCard.d.ts +19 -0
  514. package/dist/admin/src/legacy/components/AssetCard/UploadingAssetCard.d.ts +17 -0
  515. package/dist/admin/src/legacy/components/AssetDialog/AssetDialog.d.ts +39 -0
  516. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/BrowseStep.d.ts +63 -0
  517. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +7 -0
  518. package/dist/admin/src/legacy/components/AssetDialog/SelectedStep/SelectedStep.d.ts +8 -0
  519. package/dist/admin/src/legacy/components/AssetGridList/AssetGridList.d.ts +13 -0
  520. package/dist/admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.d.ts +15 -0
  521. package/dist/admin/src/legacy/components/EditAssetDialog/EditAssetContent.d.ts +31 -0
  522. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +8 -0
  523. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +26 -0
  524. package/dist/admin/src/legacy/components/EditAssetDialog/RemoveAssetDialog.d.ts +8 -0
  525. package/dist/admin/src/legacy/components/EditFolderDialog/EditFolderDialog.d.ts +12 -0
  526. package/dist/admin/src/legacy/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +10 -0
  527. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +4 -0
  528. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +9 -0
  529. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +23 -0
  530. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +10 -0
  531. package/dist/admin/src/legacy/components/SelectTree/Option.d.ts +16 -0
  532. package/dist/admin/src/legacy/components/SortPicker/SortPicker.d.ts +7 -0
  533. package/dist/admin/src/legacy/components/TableList/CellContent.d.ts +8 -0
  534. package/dist/admin/src/legacy/components/TableList/PreviewCell.d.ts +7 -0
  535. package/dist/admin/src/legacy/components/TableList/TableList.d.ts +31 -0
  536. package/dist/admin/src/legacy/components/TableList/TableRows.d.ts +22 -0
  537. package/dist/admin/src/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +13 -0
  538. package/dist/admin/src/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +22 -0
  539. package/dist/admin/src/legacy/components/UploadAssetDialog/UploadAssetDialog.d.ts +21 -0
  540. package/dist/admin/src/legacy/components/UploadProgress/UploadProgress.d.ts +7 -0
  541. package/dist/admin/src/legacy/hooks/useAssets.d.ts +14 -0
  542. package/dist/admin/src/legacy/hooks/useBulkEdit.d.ts +91 -0
  543. package/dist/admin/src/legacy/hooks/useBulkMove.d.ts +209 -0
  544. package/dist/admin/src/legacy/hooks/useBulkRemove.d.ts +241 -0
  545. package/dist/admin/src/legacy/hooks/useConfig.d.ts +5 -0
  546. package/dist/admin/src/legacy/hooks/useEditAsset.d.ts +119 -0
  547. package/dist/admin/src/legacy/hooks/useEditFolder.d.ts +72 -0
  548. package/dist/admin/src/legacy/hooks/useFolder.d.ts +7 -0
  549. package/dist/admin/src/legacy/hooks/useFolderStructure.d.ts +18 -0
  550. package/dist/admin/src/legacy/hooks/useFolders.d.ts +11 -0
  551. package/dist/admin/src/legacy/hooks/useMediaLibraryPermissions.d.ts +4 -0
  552. package/dist/admin/src/legacy/hooks/useModalQueryParams.d.ts +20 -0
  553. package/dist/admin/src/legacy/hooks/useRemoveAsset.d.ts +8 -0
  554. package/dist/admin/src/legacy/hooks/useTracking.d.ts +4 -0
  555. package/dist/admin/src/legacy/hooks/useUpload.d.ts +15 -0
  556. package/dist/admin/src/legacy/pages/App/ConfigureTheView/ConfigureTheView.d.ts +6 -0
  557. package/dist/admin/src/legacy/pages/App/ConfigureTheView/components/Settings.d.ts +13 -0
  558. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/actions.d.ts +12 -0
  559. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/init.d.ts +8 -0
  560. package/dist/admin/src/legacy/pages/App/MediaLibrary.d.ts +1 -0
  561. package/dist/admin/src/legacy/pages/App/components/BulkActions.d.ts +15 -0
  562. package/dist/admin/src/legacy/pages/App/components/BulkDeleteButton.d.ts +7 -0
  563. package/dist/admin/src/legacy/pages/App/components/BulkMoveButton.d.ts +15 -0
  564. package/dist/admin/src/legacy/pages/App/components/Header.d.ts +22 -0
  565. package/dist/admin/src/legacy/utils/containsAssetFilter.d.ts +2 -0
  566. package/dist/admin/src/legacy/utils/createAssetUrl.d.ts +2 -0
  567. package/dist/admin/src/legacy/utils/downloadFile.d.ts +1 -0
  568. package/dist/admin/src/legacy/utils/findRecursiveFolderByValue.d.ts +11 -0
  569. package/dist/admin/src/legacy/utils/getAllowedFiles.d.ts +14 -0
  570. package/dist/admin/src/legacy/utils/getBreadcrumbDataCM.d.ts +19 -0
  571. package/dist/admin/src/legacy/utils/getBreadcrumbDataML.d.ts +18 -0
  572. package/dist/admin/src/legacy/utils/getFolderParents.d.ts +11 -0
  573. package/dist/admin/src/legacy/utils/getFolderURL.d.ts +5 -0
  574. package/dist/admin/src/legacy/utils/icons.d.ts +15 -0
  575. package/dist/admin/src/legacy/utils/index.d.ts +26 -0
  576. package/dist/admin/src/legacy/utils/rawFileToAsset.d.ts +14 -0
  577. package/dist/admin/src/pages/Assets/components/ActionsMenuContent.d.ts +33 -0
  578. package/dist/admin/src/pages/Assets/components/AssetActionsMenu.d.ts +26 -0
  579. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +16 -0
  580. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +46 -0
  581. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetPreview.d.ts +9 -0
  582. package/dist/admin/src/pages/Assets/components/AssetsGrid.d.ts +12 -0
  583. package/dist/admin/src/pages/Assets/components/AssetsTable.d.ts +18 -0
  584. package/dist/admin/src/pages/Assets/components/BulkActionsBar.d.ts +28 -0
  585. package/dist/admin/src/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +7 -0
  586. package/dist/admin/src/pages/Assets/components/FolderActionsMenu.d.ts +21 -0
  587. package/dist/admin/src/pages/Assets/hooks/useFolderNavigation.d.ts +7 -0
  588. package/dist/admin/src/pages/Assets/hooks/useInfiniteAssets.d.ts +45 -0
  589. package/dist/admin/src/pages/Assets/utils/mergeMixedList.d.ts +40 -0
  590. package/dist/admin/src/pages/Assets/utils/mergeUploadedAssets.d.ts +35 -0
  591. package/dist/admin/src/pages/Assets/utils/renderedKeys.d.ts +19 -0
  592. package/dist/admin/src/pages/SettingsPage/useAIMetadataJob.d.ts +9 -0
  593. package/dist/admin/src/services/api.d.ts +99 -0
  594. package/dist/admin/src/services/assets.d.ts +33 -0
  595. package/dist/admin/src/services/folders.d.ts +37 -0
  596. package/dist/admin/src/services/settings.d.ts +2 -0
  597. package/dist/admin/src/services/uploadFileViaXHR.d.ts +23 -0
  598. package/dist/admin/src/store/uploadProgress.d.ts +201 -0
  599. package/dist/admin/src/utils/canDropItemOnFolder.d.ts +9 -0
  600. package/dist/admin/src/utils/downloadFile.d.ts +5 -0
  601. package/dist/admin/src/utils/flattenFolderStructure.d.ts +18 -0
  602. package/dist/admin/src/utils/getFolderLabel.d.ts +11 -0
  603. package/dist/admin/src/utils/itemLocations.d.ts +31 -0
  604. package/dist/admin/store/hooks.js.map +1 -0
  605. package/dist/admin/store/hooks.mjs.map +1 -0
  606. package/dist/admin/store/uploadProgress.js.map +1 -0
  607. package/dist/admin/store/uploadProgress.mjs.map +1 -0
  608. package/dist/admin/utils/buildBulkMovePayload.js.map +1 -0
  609. package/dist/admin/utils/buildBulkMovePayload.mjs.map +1 -0
  610. package/dist/admin/utils/buildDragSetFromSelection.js.map +1 -0
  611. package/dist/admin/utils/buildDragSetFromSelection.mjs.map +1 -0
  612. package/dist/admin/utils/canDropItemOnFolder.js.map +1 -0
  613. package/dist/admin/utils/canDropItemOnFolder.mjs.map +1 -0
  614. package/dist/admin/utils/createRafBatcher.js.map +1 -0
  615. package/dist/admin/utils/createRafBatcher.mjs.map +1 -0
  616. package/dist/admin/utils/downloadFile.js +13 -7
  617. package/dist/admin/utils/downloadFile.js.map +1 -1
  618. package/dist/admin/utils/downloadFile.mjs +13 -7
  619. package/dist/admin/utils/downloadFile.mjs.map +1 -1
  620. package/dist/admin/utils/files.js.map +1 -0
  621. package/dist/admin/utils/files.mjs.map +1 -0
  622. package/dist/admin/utils/flattenFolderStructure.js.map +1 -0
  623. package/dist/admin/utils/flattenFolderStructure.mjs.map +1 -0
  624. package/dist/admin/utils/formatMoveSuccessMessage.js.map +1 -0
  625. package/dist/admin/utils/formatMoveSuccessMessage.mjs.map +1 -0
  626. package/dist/admin/utils/getApiErrorMessage.js.map +1 -0
  627. package/dist/admin/utils/getApiErrorMessage.mjs.map +1 -0
  628. package/dist/admin/utils/getAssetIcon.js +28 -0
  629. package/dist/admin/utils/getAssetIcon.js.map +1 -0
  630. package/dist/admin/utils/getAssetIcon.mjs +26 -0
  631. package/dist/admin/utils/getAssetIcon.mjs.map +1 -0
  632. package/dist/admin/utils/getFolderLabel.js.map +1 -0
  633. package/dist/admin/utils/getFolderLabel.mjs.map +1 -0
  634. package/dist/admin/utils/getRelationId.js.map +1 -0
  635. package/dist/admin/utils/getRelationId.mjs.map +1 -0
  636. package/dist/admin/utils/isEventFromWithin.js.map +1 -0
  637. package/dist/admin/utils/isEventFromWithin.mjs.map +1 -0
  638. package/dist/admin/utils/itemLocations.js.map +1 -0
  639. package/dist/admin/utils/itemLocations.mjs.map +1 -0
  640. package/dist/admin/utils/itemSource.js.map +1 -0
  641. package/dist/admin/utils/itemSource.mjs.map +1 -0
  642. package/dist/admin/utils/searchQueryParam.js.map +1 -0
  643. package/dist/admin/utils/searchQueryParam.mjs.map +1 -0
  644. package/dist/admin/utils/translations.js +8 -0
  645. package/dist/admin/utils/translations.js.map +1 -0
  646. package/dist/admin/utils/translations.mjs +6 -0
  647. package/dist/admin/utils/translations.mjs.map +1 -0
  648. package/dist/server/controllers/admin-settings.js +1 -4
  649. package/dist/server/controllers/admin-settings.js.map +1 -1
  650. package/dist/server/controllers/admin-settings.mjs +1 -4
  651. package/dist/server/controllers/admin-settings.mjs.map +1 -1
  652. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js +147 -0
  653. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js.map +1 -0
  654. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs +145 -0
  655. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs.map +1 -0
  656. package/dist/server/register.js +3 -0
  657. package/dist/server/register.js.map +1 -1
  658. package/dist/server/register.mjs +3 -0
  659. package/dist/server/register.mjs.map +1 -1
  660. package/dist/server/routes/admin.js +4 -1
  661. package/dist/server/routes/admin.js.map +1 -1
  662. package/dist/server/routes/admin.mjs +4 -1
  663. package/dist/server/routes/admin.mjs.map +1 -1
  664. package/dist/server/services/ai-metadata.js +1 -1
  665. package/dist/server/services/ai-metadata.js.map +1 -1
  666. package/dist/server/services/ai-metadata.mjs +1 -1
  667. package/dist/server/services/ai-metadata.mjs.map +1 -1
  668. package/dist/server/services/extensions/index.js +17 -5
  669. package/dist/server/services/extensions/index.js.map +1 -1
  670. package/dist/server/services/extensions/index.mjs +16 -4
  671. package/dist/server/services/extensions/index.mjs.map +1 -1
  672. package/dist/server/services/extensions/utils.js +318 -19
  673. package/dist/server/services/extensions/utils.js.map +1 -1
  674. package/dist/server/services/extensions/utils.mjs +309 -20
  675. package/dist/server/services/extensions/utils.mjs.map +1 -1
  676. package/dist/server/services/metrics.js +4 -3
  677. package/dist/server/services/metrics.js.map +1 -1
  678. package/dist/server/services/metrics.mjs +4 -3
  679. package/dist/server/services/metrics.mjs.map +1 -1
  680. package/dist/server/src/controllers/admin-settings.d.ts +1 -1
  681. package/dist/server/src/controllers/admin-settings.d.ts.map +1 -1
  682. package/dist/server/src/controllers/index.d.ts +1 -1
  683. package/dist/server/src/index.d.ts +1 -1
  684. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts +18 -0
  685. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts.map +1 -0
  686. package/dist/server/src/register.d.ts.map +1 -1
  687. package/dist/server/src/routes/admin.d.ts.map +1 -1
  688. package/dist/server/src/services/extensions/index.d.ts.map +1 -1
  689. package/dist/server/src/services/extensions/utils.d.ts +52 -2
  690. package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
  691. package/dist/server/src/services/metrics.d.ts.map +1 -1
  692. package/package.json +6 -6
  693. package/dist/admin/ai/components/AIAssetCard.js +0 -621
  694. package/dist/admin/ai/components/AIAssetCard.js.map +0 -1
  695. package/dist/admin/ai/components/AIAssetCard.mjs +0 -598
  696. package/dist/admin/ai/components/AIAssetCard.mjs.map +0 -1
  697. package/dist/admin/ai/components/AIUploadModal.js.map +0 -1
  698. package/dist/admin/ai/components/AIUploadModal.mjs.map +0 -1
  699. package/dist/admin/components/AssetCard/AssetCard.js +0 -67
  700. package/dist/admin/components/AssetCard/AssetCard.js.map +0 -1
  701. package/dist/admin/components/AssetCard/AssetCard.mjs +0 -65
  702. package/dist/admin/components/AssetCard/AssetCard.mjs.map +0 -1
  703. package/dist/admin/components/AssetCard/AssetCardBase.js.map +0 -1
  704. package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +0 -1
  705. package/dist/admin/components/AssetCard/AudioAssetCard.js.map +0 -1
  706. package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +0 -1
  707. package/dist/admin/components/AssetCard/AudioPreview.js.map +0 -1
  708. package/dist/admin/components/AssetCard/AudioPreview.mjs.map +0 -1
  709. package/dist/admin/components/AssetCard/DocAssetCard.js.map +0 -1
  710. package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +0 -1
  711. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +0 -1
  712. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +0 -1
  713. package/dist/admin/components/AssetCard/UploadingAssetCard.js +0 -154
  714. package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +0 -1
  715. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +0 -132
  716. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +0 -1
  717. package/dist/admin/components/AssetCard/VideoAssetCard.js.map +0 -1
  718. package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +0 -1
  719. package/dist/admin/components/AssetCard/VideoPreview.js.map +0 -1
  720. package/dist/admin/components/AssetCard/VideoPreview.mjs.map +0 -1
  721. package/dist/admin/components/AssetDialog/AssetDialog.js.map +0 -1
  722. package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +0 -1
  723. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -320
  724. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +0 -1
  725. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -318
  726. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +0 -1
  727. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +0 -1
  728. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +0 -1
  729. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +0 -1
  730. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +0 -1
  731. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +0 -1
  732. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +0 -1
  733. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +0 -1
  734. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +0 -1
  735. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +0 -1
  736. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +0 -1
  737. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +0 -1
  738. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +0 -1
  739. package/dist/admin/components/AssetDialog/DialogFooter.js.map +0 -1
  740. package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +0 -1
  741. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +0 -1
  742. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +0 -1
  743. package/dist/admin/components/AssetGridList/AssetGridList.js.map +0 -1
  744. package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +0 -1
  745. package/dist/admin/components/AssetGridList/Draggable.js.map +0 -1
  746. package/dist/admin/components/AssetGridList/Draggable.mjs.map +0 -1
  747. package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +0 -1
  748. package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +0 -1
  749. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +0 -1
  750. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +0 -1
  751. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +0 -1
  752. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +0 -1
  753. package/dist/admin/components/ContextInfo/ContextInfo.js.map +0 -1
  754. package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +0 -1
  755. package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +0 -1
  756. package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +0 -1
  757. package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +0 -1
  758. package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +0 -1
  759. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +0 -1
  760. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +0 -1
  761. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +0 -114
  762. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +0 -1
  763. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +0 -89
  764. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +0 -1
  765. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +0 -1
  766. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +0 -1
  767. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +0 -1
  768. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +0 -1
  769. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +0 -362
  770. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +0 -1
  771. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +0 -337
  772. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +0 -1
  773. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +0 -1
  774. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +0 -1
  775. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +0 -1
  776. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +0 -1
  777. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +0 -1
  778. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +0 -1
  779. package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +0 -1
  780. package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +0 -1
  781. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +0 -1
  782. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +0 -1
  783. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +0 -1
  784. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +0 -1
  785. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +0 -1
  786. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +0 -1
  787. package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +0 -1
  788. package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +0 -1
  789. package/dist/admin/components/FilterList/FilterList.js.map +0 -1
  790. package/dist/admin/components/FilterList/FilterList.mjs.map +0 -1
  791. package/dist/admin/components/FilterList/FilterTag.js.map +0 -1
  792. package/dist/admin/components/FilterList/FilterTag.mjs.map +0 -1
  793. package/dist/admin/components/FilterPopover/FilterPopover.js.map +0 -1
  794. package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +0 -1
  795. package/dist/admin/components/FilterPopover/FilterValueInput.js.map +0 -1
  796. package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +0 -1
  797. package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +0 -1
  798. package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +0 -1
  799. package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +0 -1
  800. package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +0 -1
  801. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +0 -1
  802. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +0 -1
  803. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +0 -1
  804. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +0 -1
  805. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +0 -1
  806. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +0 -1
  807. package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +0 -1
  808. package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +0 -1
  809. package/dist/admin/components/FolderGridList/FolderGridList.js.map +0 -1
  810. package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +0 -1
  811. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +0 -1
  812. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +0 -1
  813. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +0 -89
  814. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +0 -1
  815. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +0 -87
  816. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +0 -1
  817. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +0 -1
  818. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +0 -1
  819. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +0 -1
  820. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +0 -1
  821. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +0 -111
  822. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +0 -1
  823. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +0 -89
  824. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +0 -1
  825. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +0 -1
  826. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +0 -1
  827. package/dist/admin/components/SelectTree/Option.js.map +0 -1
  828. package/dist/admin/components/SelectTree/Option.mjs.map +0 -1
  829. package/dist/admin/components/SelectTree/SelectTree.js.map +0 -1
  830. package/dist/admin/components/SelectTree/SelectTree.mjs.map +0 -1
  831. package/dist/admin/components/SelectTree/utils/flattenTree.js.map +0 -1
  832. package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +0 -1
  833. package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +0 -1
  834. package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +0 -1
  835. package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +0 -1
  836. package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +0 -1
  837. package/dist/admin/components/SortPicker/SortPicker.js +0 -40
  838. package/dist/admin/components/SortPicker/SortPicker.js.map +0 -1
  839. package/dist/admin/components/SortPicker/SortPicker.mjs +0 -38
  840. package/dist/admin/components/SortPicker/SortPicker.mjs.map +0 -1
  841. package/dist/admin/components/TableList/CellContent.js.map +0 -1
  842. package/dist/admin/components/TableList/CellContent.mjs.map +0 -1
  843. package/dist/admin/components/TableList/PreviewCell.js +0 -116
  844. package/dist/admin/components/TableList/PreviewCell.js.map +0 -1
  845. package/dist/admin/components/TableList/PreviewCell.mjs +0 -114
  846. package/dist/admin/components/TableList/PreviewCell.mjs.map +0 -1
  847. package/dist/admin/components/TableList/TableList.js +0 -100
  848. package/dist/admin/components/TableList/TableList.js.map +0 -1
  849. package/dist/admin/components/TableList/TableList.mjs +0 -98
  850. package/dist/admin/components/TableList/TableList.mjs.map +0 -1
  851. package/dist/admin/components/TableList/TableRows.js +0 -105
  852. package/dist/admin/components/TableList/TableRows.js.map +0 -1
  853. package/dist/admin/components/TableList/TableRows.mjs +0 -103
  854. package/dist/admin/components/TableList/TableRows.mjs.map +0 -1
  855. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +0 -1
  856. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +0 -1
  857. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +0 -177
  858. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +0 -1
  859. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +0 -155
  860. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +0 -1
  861. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +0 -1
  862. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +0 -1
  863. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +0 -1
  864. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +0 -1
  865. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +0 -1
  866. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +0 -1
  867. package/dist/admin/components/UploadProgress/UploadProgress.js.map +0 -1
  868. package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +0 -1
  869. package/dist/admin/future/App.js +0 -33
  870. package/dist/admin/future/App.js.map +0 -1
  871. package/dist/admin/future/App.mjs +0 -31
  872. package/dist/admin/future/App.mjs.map +0 -1
  873. package/dist/admin/future/components/Drawer.js.map +0 -1
  874. package/dist/admin/future/components/Drawer.mjs.map +0 -1
  875. package/dist/admin/future/components/TruncatedText.js.map +0 -1
  876. package/dist/admin/future/components/TruncatedText.mjs.map +0 -1
  877. package/dist/admin/future/components/UploadProgressDialog.js.map +0 -1
  878. package/dist/admin/future/components/UploadProgressDialog.mjs.map +0 -1
  879. package/dist/admin/future/hooks/useAIMetadataEnabled.js +0 -39
  880. package/dist/admin/future/hooks/useAIMetadataEnabled.js.map +0 -1
  881. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs +0 -37
  882. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs.map +0 -1
  883. package/dist/admin/future/hooks/useApiErrorMessage.js.map +0 -1
  884. package/dist/admin/future/hooks/useApiErrorMessage.mjs.map +0 -1
  885. package/dist/admin/future/hooks/useMediaLibraryPermissions.js +0 -35
  886. package/dist/admin/future/hooks/useMediaLibraryPermissions.js.map +0 -1
  887. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs +0 -33
  888. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs.map +0 -1
  889. package/dist/admin/future/hooks/useTracking.js +0 -57
  890. package/dist/admin/future/hooks/useTracking.js.map +0 -1
  891. package/dist/admin/future/hooks/useTracking.mjs +0 -53
  892. package/dist/admin/future/hooks/useTracking.mjs.map +0 -1
  893. package/dist/admin/future/pages/Assets/AssetsPage.js +0 -828
  894. package/dist/admin/future/pages/Assets/AssetsPage.js.map +0 -1
  895. package/dist/admin/future/pages/Assets/AssetsPage.mjs +0 -806
  896. package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +0 -1
  897. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.js.map +0 -1
  898. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.mjs.map +0 -1
  899. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.js.map +0 -1
  900. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.mjs.map +0 -1
  901. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +0 -1
  902. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +0 -1
  903. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +0 -1202
  904. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +0 -1
  905. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +0 -1175
  906. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +0 -1
  907. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +0 -261
  908. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +0 -1
  909. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +0 -239
  910. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +0 -1
  911. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.js.map +0 -1
  912. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.mjs.map +0 -1
  913. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +0 -534
  914. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +0 -1
  915. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +0 -532
  916. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +0 -1
  917. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.js.map +0 -1
  918. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.mjs.map +0 -1
  919. package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +0 -1
  920. package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +0 -1
  921. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js +0 -431
  922. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js.map +0 -1
  923. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs +0 -429
  924. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs.map +0 -1
  925. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.js.map +0 -1
  926. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.mjs.map +0 -1
  927. package/dist/admin/future/pages/Assets/components/BusyOverlay.js.map +0 -1
  928. package/dist/admin/future/pages/Assets/components/BusyOverlay.mjs.map +0 -1
  929. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.js.map +0 -1
  930. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.mjs.map +0 -1
  931. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.js.map +0 -1
  932. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.mjs.map +0 -1
  933. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +0 -1
  934. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +0 -1
  935. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js.map +0 -1
  936. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +0 -1
  937. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.js.map +0 -1
  938. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.mjs.map +0 -1
  939. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.js.map +0 -1
  940. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +0 -1
  941. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.js.map +0 -1
  942. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.mjs.map +0 -1
  943. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.js.map +0 -1
  944. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.mjs.map +0 -1
  945. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +0 -1
  946. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +0 -1
  947. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +0 -1
  948. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs.map +0 -1
  949. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +0 -1
  950. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +0 -1
  951. package/dist/admin/future/pages/Assets/components/EmptyState.js.map +0 -1
  952. package/dist/admin/future/pages/Assets/components/EmptyState.mjs.map +0 -1
  953. package/dist/admin/future/pages/Assets/components/FilterBadges.js.map +0 -1
  954. package/dist/admin/future/pages/Assets/components/FilterBadges.mjs.map +0 -1
  955. package/dist/admin/future/pages/Assets/components/FilterMenu.js.map +0 -1
  956. package/dist/admin/future/pages/Assets/components/FilterMenu.mjs.map +0 -1
  957. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.js.map +0 -1
  958. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.mjs.map +0 -1
  959. package/dist/admin/future/pages/Assets/components/FolderFormDialog.js.map +0 -1
  960. package/dist/admin/future/pages/Assets/components/FolderFormDialog.mjs.map +0 -1
  961. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +0 -1
  962. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +0 -1
  963. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +0 -1
  964. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +0 -1
  965. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +0 -1
  966. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.mjs.map +0 -1
  967. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.js.map +0 -1
  968. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.mjs.map +0 -1
  969. package/dist/admin/future/pages/Assets/components/SortMenu.js.map +0 -1
  970. package/dist/admin/future/pages/Assets/components/SortMenu.mjs.map +0 -1
  971. package/dist/admin/future/pages/Assets/constants.js.map +0 -1
  972. package/dist/admin/future/pages/Assets/constants.mjs.map +0 -1
  973. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.js.map +0 -1
  974. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.mjs.map +0 -1
  975. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.js.map +0 -1
  976. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.mjs.map +0 -1
  977. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.js.map +0 -1
  978. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.mjs.map +0 -1
  979. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +0 -1
  980. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +0 -1
  981. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +0 -1
  982. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +0 -1
  983. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +0 -1
  984. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +0 -1
  985. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +0 -1
  986. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +0 -1
  987. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +0 -1
  988. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +0 -1
  989. package/dist/admin/future/pages/Assets/hooks/useListFilters.js.map +0 -1
  990. package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs.map +0 -1
  991. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.js.map +0 -1
  992. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.mjs.map +0 -1
  993. package/dist/admin/future/pages/Assets/hooks/useListSort.js.map +0 -1
  994. package/dist/admin/future/pages/Assets/hooks/useListSort.mjs.map +0 -1
  995. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.js.map +0 -1
  996. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.mjs.map +0 -1
  997. package/dist/admin/future/pages/Assets/utils/listQueryKey.js.map +0 -1
  998. package/dist/admin/future/pages/Assets/utils/listQueryKey.mjs.map +0 -1
  999. package/dist/admin/future/pages/Assets/utils/mergeMixedList.js.map +0 -1
  1000. package/dist/admin/future/pages/Assets/utils/mergeMixedList.mjs.map +0 -1
  1001. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.js.map +0 -1
  1002. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.mjs.map +0 -1
  1003. package/dist/admin/future/pages/Assets/utils/renderedKeys.js.map +0 -1
  1004. package/dist/admin/future/pages/Assets/utils/renderedKeys.mjs.map +0 -1
  1005. package/dist/admin/future/pages/Assets/utils/selection.js.map +0 -1
  1006. package/dist/admin/future/pages/Assets/utils/selection.mjs.map +0 -1
  1007. package/dist/admin/future/services/api.js.map +0 -1
  1008. package/dist/admin/future/services/api.mjs.map +0 -1
  1009. package/dist/admin/future/services/assets.js.map +0 -1
  1010. package/dist/admin/future/services/assets.mjs.map +0 -1
  1011. package/dist/admin/future/services/folders.js.map +0 -1
  1012. package/dist/admin/future/services/folders.mjs.map +0 -1
  1013. package/dist/admin/future/services/settings.js.map +0 -1
  1014. package/dist/admin/future/services/settings.mjs.map +0 -1
  1015. package/dist/admin/future/services/uploadFileViaXHR.js.map +0 -1
  1016. package/dist/admin/future/services/uploadFileViaXHR.mjs.map +0 -1
  1017. package/dist/admin/future/store/hooks.js.map +0 -1
  1018. package/dist/admin/future/store/hooks.mjs.map +0 -1
  1019. package/dist/admin/future/store/uploadProgress.js.map +0 -1
  1020. package/dist/admin/future/store/uploadProgress.mjs.map +0 -1
  1021. package/dist/admin/future/utils/buildBulkMovePayload.js.map +0 -1
  1022. package/dist/admin/future/utils/buildBulkMovePayload.mjs.map +0 -1
  1023. package/dist/admin/future/utils/buildDragSetFromSelection.js.map +0 -1
  1024. package/dist/admin/future/utils/buildDragSetFromSelection.mjs.map +0 -1
  1025. package/dist/admin/future/utils/canDropItemOnFolder.js.map +0 -1
  1026. package/dist/admin/future/utils/canDropItemOnFolder.mjs.map +0 -1
  1027. package/dist/admin/future/utils/createRafBatcher.js.map +0 -1
  1028. package/dist/admin/future/utils/createRafBatcher.mjs.map +0 -1
  1029. package/dist/admin/future/utils/downloadFile.js +0 -19
  1030. package/dist/admin/future/utils/downloadFile.js.map +0 -1
  1031. package/dist/admin/future/utils/downloadFile.mjs +0 -17
  1032. package/dist/admin/future/utils/downloadFile.mjs.map +0 -1
  1033. package/dist/admin/future/utils/files.js.map +0 -1
  1034. package/dist/admin/future/utils/files.mjs.map +0 -1
  1035. package/dist/admin/future/utils/flattenFolderStructure.js.map +0 -1
  1036. package/dist/admin/future/utils/flattenFolderStructure.mjs.map +0 -1
  1037. package/dist/admin/future/utils/formatMoveSuccessMessage.js.map +0 -1
  1038. package/dist/admin/future/utils/formatMoveSuccessMessage.mjs.map +0 -1
  1039. package/dist/admin/future/utils/getApiErrorMessage.js.map +0 -1
  1040. package/dist/admin/future/utils/getApiErrorMessage.mjs.map +0 -1
  1041. package/dist/admin/future/utils/getAssetIcon.js +0 -28
  1042. package/dist/admin/future/utils/getAssetIcon.js.map +0 -1
  1043. package/dist/admin/future/utils/getAssetIcon.mjs +0 -26
  1044. package/dist/admin/future/utils/getAssetIcon.mjs.map +0 -1
  1045. package/dist/admin/future/utils/getFolderLabel.js.map +0 -1
  1046. package/dist/admin/future/utils/getFolderLabel.mjs.map +0 -1
  1047. package/dist/admin/future/utils/getRelationId.js.map +0 -1
  1048. package/dist/admin/future/utils/getRelationId.mjs.map +0 -1
  1049. package/dist/admin/future/utils/isEventFromWithin.js.map +0 -1
  1050. package/dist/admin/future/utils/isEventFromWithin.mjs.map +0 -1
  1051. package/dist/admin/future/utils/itemLocations.js.map +0 -1
  1052. package/dist/admin/future/utils/itemLocations.mjs.map +0 -1
  1053. package/dist/admin/future/utils/itemSource.js.map +0 -1
  1054. package/dist/admin/future/utils/itemSource.mjs.map +0 -1
  1055. package/dist/admin/future/utils/searchQueryParam.js.map +0 -1
  1056. package/dist/admin/future/utils/searchQueryParam.mjs.map +0 -1
  1057. package/dist/admin/future/utils/translations.js +0 -8
  1058. package/dist/admin/future/utils/translations.js.map +0 -1
  1059. package/dist/admin/future/utils/translations.mjs +0 -6
  1060. package/dist/admin/future/utils/translations.mjs.map +0 -1
  1061. package/dist/admin/hooks/useAIMetadataJob.js +0 -114
  1062. package/dist/admin/hooks/useAIMetadataJob.js.map +0 -1
  1063. package/dist/admin/hooks/useAIMetadataJob.mjs +0 -92
  1064. package/dist/admin/hooks/useAIMetadataJob.mjs.map +0 -1
  1065. package/dist/admin/hooks/useAiAvailability.js.map +0 -1
  1066. package/dist/admin/hooks/useAiAvailability.mjs.map +0 -1
  1067. package/dist/admin/hooks/useAssets.js +0 -127
  1068. package/dist/admin/hooks/useAssets.js.map +0 -1
  1069. package/dist/admin/hooks/useAssets.mjs +0 -105
  1070. package/dist/admin/hooks/useAssets.mjs.map +0 -1
  1071. package/dist/admin/hooks/useBulkEdit.js +0 -65
  1072. package/dist/admin/hooks/useBulkEdit.js.map +0 -1
  1073. package/dist/admin/hooks/useBulkEdit.mjs +0 -63
  1074. package/dist/admin/hooks/useBulkEdit.mjs.map +0 -1
  1075. package/dist/admin/hooks/useBulkMove.js +0 -78
  1076. package/dist/admin/hooks/useBulkMove.js.map +0 -1
  1077. package/dist/admin/hooks/useBulkMove.mjs +0 -76
  1078. package/dist/admin/hooks/useBulkMove.mjs.map +0 -1
  1079. package/dist/admin/hooks/useBulkRemove.js +0 -83
  1080. package/dist/admin/hooks/useBulkRemove.js.map +0 -1
  1081. package/dist/admin/hooks/useBulkRemove.mjs +0 -81
  1082. package/dist/admin/hooks/useBulkRemove.mjs.map +0 -1
  1083. package/dist/admin/hooks/useConfig.js +0 -58
  1084. package/dist/admin/hooks/useConfig.js.map +0 -1
  1085. package/dist/admin/hooks/useConfig.mjs +0 -56
  1086. package/dist/admin/hooks/useConfig.mjs.map +0 -1
  1087. package/dist/admin/hooks/useCropImg.js.map +0 -1
  1088. package/dist/admin/hooks/useCropImg.mjs.map +0 -1
  1089. package/dist/admin/hooks/useEditAsset.js +0 -115
  1090. package/dist/admin/hooks/useEditAsset.js.map +0 -1
  1091. package/dist/admin/hooks/useEditAsset.mjs +0 -93
  1092. package/dist/admin/hooks/useEditAsset.mjs.map +0 -1
  1093. package/dist/admin/hooks/useEditFolder.js +0 -45
  1094. package/dist/admin/hooks/useEditFolder.js.map +0 -1
  1095. package/dist/admin/hooks/useEditFolder.mjs +0 -43
  1096. package/dist/admin/hooks/useEditFolder.mjs.map +0 -1
  1097. package/dist/admin/hooks/useFolder.js +0 -57
  1098. package/dist/admin/hooks/useFolder.js.map +0 -1
  1099. package/dist/admin/hooks/useFolder.mjs +0 -55
  1100. package/dist/admin/hooks/useFolder.mjs.map +0 -1
  1101. package/dist/admin/hooks/useFolderStructure.js +0 -52
  1102. package/dist/admin/hooks/useFolderStructure.js.map +0 -1
  1103. package/dist/admin/hooks/useFolderStructure.mjs +0 -50
  1104. package/dist/admin/hooks/useFolderStructure.mjs.map +0 -1
  1105. package/dist/admin/hooks/useFolders.js +0 -108
  1106. package/dist/admin/hooks/useFolders.js.map +0 -1
  1107. package/dist/admin/hooks/useFolders.mjs +0 -86
  1108. package/dist/admin/hooks/useFolders.mjs.map +0 -1
  1109. package/dist/admin/hooks/useModalQueryParams.js.map +0 -1
  1110. package/dist/admin/hooks/useModalQueryParams.mjs.map +0 -1
  1111. package/dist/admin/hooks/usePersistentState.js.map +0 -1
  1112. package/dist/admin/hooks/usePersistentState.mjs.map +0 -1
  1113. package/dist/admin/hooks/useRemoveAsset.js +0 -58
  1114. package/dist/admin/hooks/useRemoveAsset.js.map +0 -1
  1115. package/dist/admin/hooks/useRemoveAsset.mjs +0 -56
  1116. package/dist/admin/hooks/useRemoveAsset.mjs.map +0 -1
  1117. package/dist/admin/hooks/useSelectionState.js.map +0 -1
  1118. package/dist/admin/hooks/useSelectionState.mjs.map +0 -1
  1119. package/dist/admin/hooks/useSettings.js.map +0 -1
  1120. package/dist/admin/hooks/useSettings.mjs.map +0 -1
  1121. package/dist/admin/hooks/useUpload.js +0 -109
  1122. package/dist/admin/hooks/useUpload.js.map +0 -1
  1123. package/dist/admin/hooks/useUpload.mjs +0 -87
  1124. package/dist/admin/hooks/useUpload.mjs.map +0 -1
  1125. package/dist/admin/hooks/utils/renameKeys.js.map +0 -1
  1126. package/dist/admin/hooks/utils/renameKeys.mjs.map +0 -1
  1127. package/dist/admin/pages/App/App.js.map +0 -1
  1128. package/dist/admin/pages/App/App.mjs.map +0 -1
  1129. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +0 -145
  1130. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +0 -1
  1131. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -120
  1132. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +0 -1
  1133. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -109
  1134. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +0 -1
  1135. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -107
  1136. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +0 -1
  1137. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js +0 -10
  1138. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +0 -1
  1139. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs +0 -7
  1140. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +0 -1
  1141. package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +0 -1
  1142. package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +0 -1
  1143. package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +0 -1
  1144. package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +0 -1
  1145. package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +0 -1
  1146. package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +0 -1
  1147. package/dist/admin/pages/App/MediaLibrary.js +0 -469
  1148. package/dist/admin/pages/App/MediaLibrary.js.map +0 -1
  1149. package/dist/admin/pages/App/MediaLibrary.mjs +0 -447
  1150. package/dist/admin/pages/App/MediaLibrary.mjs.map +0 -1
  1151. package/dist/admin/pages/App/components/BulkActions.js.map +0 -1
  1152. package/dist/admin/pages/App/components/BulkActions.mjs.map +0 -1
  1153. package/dist/admin/pages/App/components/BulkDeleteButton.js.map +0 -1
  1154. package/dist/admin/pages/App/components/BulkDeleteButton.mjs.map +0 -1
  1155. package/dist/admin/pages/App/components/BulkMoveButton.js.map +0 -1
  1156. package/dist/admin/pages/App/components/BulkMoveButton.mjs.map +0 -1
  1157. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +0 -1
  1158. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +0 -1
  1159. package/dist/admin/pages/App/components/Filters.js.map +0 -1
  1160. package/dist/admin/pages/App/components/Filters.mjs.map +0 -1
  1161. package/dist/admin/pages/App/components/Header.js.map +0 -1
  1162. package/dist/admin/pages/App/components/Header.mjs.map +0 -1
  1163. package/dist/admin/src/ai/components/AIAssetCard.d.ts +0 -13
  1164. package/dist/admin/src/ai/components/AIUploadModal.d.ts +0 -55
  1165. package/dist/admin/src/components/AssetCard/AssetCard.d.ts +0 -19
  1166. package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +0 -17
  1167. package/dist/admin/src/components/AssetDialog/AssetDialog.d.ts +0 -39
  1168. package/dist/admin/src/components/AssetDialog/BrowseStep/BrowseStep.d.ts +0 -63
  1169. package/dist/admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +0 -7
  1170. package/dist/admin/src/components/AssetDialog/SelectedStep/SelectedStep.d.ts +0 -8
  1171. package/dist/admin/src/components/AssetGridList/AssetGridList.d.ts +0 -13
  1172. package/dist/admin/src/components/BulkMoveDialog/BulkMoveDialog.d.ts +0 -15
  1173. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +0 -31
  1174. package/dist/admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +0 -8
  1175. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +0 -26
  1176. package/dist/admin/src/components/EditAssetDialog/RemoveAssetDialog.d.ts +0 -8
  1177. package/dist/admin/src/components/EditFolderDialog/EditFolderDialog.d.ts +0 -12
  1178. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +0 -10
  1179. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +0 -4
  1180. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +0 -9
  1181. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +0 -23
  1182. package/dist/admin/src/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +0 -10
  1183. package/dist/admin/src/components/SelectTree/Option.d.ts +0 -16
  1184. package/dist/admin/src/components/SortPicker/SortPicker.d.ts +0 -7
  1185. package/dist/admin/src/components/TableList/CellContent.d.ts +0 -8
  1186. package/dist/admin/src/components/TableList/PreviewCell.d.ts +0 -7
  1187. package/dist/admin/src/components/TableList/TableList.d.ts +0 -31
  1188. package/dist/admin/src/components/TableList/TableRows.d.ts +0 -22
  1189. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +0 -13
  1190. package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +0 -22
  1191. package/dist/admin/src/components/UploadAssetDialog/UploadAssetDialog.d.ts +0 -21
  1192. package/dist/admin/src/components/UploadProgress/UploadProgress.d.ts +0 -7
  1193. package/dist/admin/src/future/App.d.ts +0 -1
  1194. package/dist/admin/src/future/hooks/useMediaLibraryPermissions.d.ts +0 -21
  1195. package/dist/admin/src/future/hooks/useTracking.d.ts +0 -29
  1196. package/dist/admin/src/future/pages/Assets/components/ActionsMenuContent.d.ts +0 -33
  1197. package/dist/admin/src/future/pages/Assets/components/AssetActionsMenu.d.ts +0 -26
  1198. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +0 -16
  1199. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +0 -46
  1200. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetPreview.d.ts +0 -9
  1201. package/dist/admin/src/future/pages/Assets/components/AssetsGrid.d.ts +0 -12
  1202. package/dist/admin/src/future/pages/Assets/components/AssetsTable.d.ts +0 -18
  1203. package/dist/admin/src/future/pages/Assets/components/BulkActionsBar.d.ts +0 -28
  1204. package/dist/admin/src/future/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +0 -7
  1205. package/dist/admin/src/future/pages/Assets/components/FolderActionsMenu.d.ts +0 -21
  1206. package/dist/admin/src/future/pages/Assets/hooks/useFolderNavigation.d.ts +0 -7
  1207. package/dist/admin/src/future/pages/Assets/hooks/useInfiniteAssets.d.ts +0 -45
  1208. package/dist/admin/src/future/pages/Assets/utils/mergeMixedList.d.ts +0 -40
  1209. package/dist/admin/src/future/pages/Assets/utils/mergeUploadedAssets.d.ts +0 -35
  1210. package/dist/admin/src/future/pages/Assets/utils/renderedKeys.d.ts +0 -19
  1211. package/dist/admin/src/future/services/api.d.ts +0 -99
  1212. package/dist/admin/src/future/services/assets.d.ts +0 -33
  1213. package/dist/admin/src/future/services/folders.d.ts +0 -37
  1214. package/dist/admin/src/future/services/settings.d.ts +0 -2
  1215. package/dist/admin/src/future/services/uploadFileViaXHR.d.ts +0 -23
  1216. package/dist/admin/src/future/store/uploadProgress.d.ts +0 -201
  1217. package/dist/admin/src/future/utils/canDropItemOnFolder.d.ts +0 -9
  1218. package/dist/admin/src/future/utils/downloadFile.d.ts +0 -6
  1219. package/dist/admin/src/future/utils/flattenFolderStructure.d.ts +0 -18
  1220. package/dist/admin/src/future/utils/getFolderLabel.d.ts +0 -11
  1221. package/dist/admin/src/future/utils/itemLocations.d.ts +0 -31
  1222. package/dist/admin/src/hooks/useAIMetadataJob.d.ts +0 -9
  1223. package/dist/admin/src/hooks/useAssets.d.ts +0 -14
  1224. package/dist/admin/src/hooks/useBulkEdit.d.ts +0 -91
  1225. package/dist/admin/src/hooks/useBulkMove.d.ts +0 -209
  1226. package/dist/admin/src/hooks/useBulkRemove.d.ts +0 -241
  1227. package/dist/admin/src/hooks/useConfig.d.ts +0 -5
  1228. package/dist/admin/src/hooks/useEditAsset.d.ts +0 -119
  1229. package/dist/admin/src/hooks/useEditFolder.d.ts +0 -72
  1230. package/dist/admin/src/hooks/useFolder.d.ts +0 -7
  1231. package/dist/admin/src/hooks/useFolderStructure.d.ts +0 -18
  1232. package/dist/admin/src/hooks/useFolders.d.ts +0 -11
  1233. package/dist/admin/src/hooks/useModalQueryParams.d.ts +0 -20
  1234. package/dist/admin/src/hooks/useRemoveAsset.d.ts +0 -8
  1235. package/dist/admin/src/hooks/useUpload.d.ts +0 -15
  1236. package/dist/admin/src/pages/App/ConfigureTheView/ConfigureTheView.d.ts +0 -6
  1237. package/dist/admin/src/pages/App/ConfigureTheView/components/Settings.d.ts +0 -13
  1238. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +0 -12
  1239. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +0 -8
  1240. package/dist/admin/src/pages/App/components/BulkActions.d.ts +0 -15
  1241. package/dist/admin/src/pages/App/components/BulkDeleteButton.d.ts +0 -7
  1242. package/dist/admin/src/pages/App/components/BulkMoveButton.d.ts +0 -15
  1243. package/dist/admin/src/pages/App/components/Header.d.ts +0 -22
  1244. package/dist/admin/src/utils/containsAssetFilter.d.ts +0 -2
  1245. package/dist/admin/src/utils/createAssetUrl.d.ts +0 -2
  1246. package/dist/admin/src/utils/findRecursiveFolderByValue.d.ts +0 -11
  1247. package/dist/admin/src/utils/getAllowedFiles.d.ts +0 -14
  1248. package/dist/admin/src/utils/getBreadcrumbDataCM.d.ts +0 -19
  1249. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +0 -18
  1250. package/dist/admin/src/utils/getFolderParents.d.ts +0 -11
  1251. package/dist/admin/src/utils/getFolderURL.d.ts +0 -5
  1252. package/dist/admin/src/utils/icons.d.ts +0 -15
  1253. package/dist/admin/src/utils/index.d.ts +0 -26
  1254. package/dist/admin/src/utils/rawFileToAsset.d.ts +0 -14
  1255. package/dist/admin/utils/appendSearchParamsToUrl.js.map +0 -1
  1256. package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +0 -1
  1257. package/dist/admin/utils/containsAssetFilter.js.map +0 -1
  1258. package/dist/admin/utils/containsAssetFilter.mjs.map +0 -1
  1259. package/dist/admin/utils/createAssetUrl.js.map +0 -1
  1260. package/dist/admin/utils/createAssetUrl.mjs.map +0 -1
  1261. package/dist/admin/utils/displayedFilters.js.map +0 -1
  1262. package/dist/admin/utils/displayedFilters.mjs.map +0 -1
  1263. package/dist/admin/utils/findRecursiveFolderByValue.js.map +0 -1
  1264. package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +0 -1
  1265. package/dist/admin/utils/formatBytes.js.map +0 -1
  1266. package/dist/admin/utils/formatBytes.mjs.map +0 -1
  1267. package/dist/admin/utils/formatDuration.js.map +0 -1
  1268. package/dist/admin/utils/formatDuration.mjs.map +0 -1
  1269. package/dist/admin/utils/getAPIInnerErrors.js.map +0 -1
  1270. package/dist/admin/utils/getAPIInnerErrors.mjs.map +0 -1
  1271. package/dist/admin/utils/getAllowedFiles.js.map +0 -1
  1272. package/dist/admin/utils/getAllowedFiles.mjs.map +0 -1
  1273. package/dist/admin/utils/getBreadcrumbDataCM.js.map +0 -1
  1274. package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +0 -1
  1275. package/dist/admin/utils/getBreadcrumbDataML.js.map +0 -1
  1276. package/dist/admin/utils/getBreadcrumbDataML.mjs.map +0 -1
  1277. package/dist/admin/utils/getFileExtension.js.map +0 -1
  1278. package/dist/admin/utils/getFileExtension.mjs.map +0 -1
  1279. package/dist/admin/utils/getFolderParents.js.map +0 -1
  1280. package/dist/admin/utils/getFolderParents.mjs.map +0 -1
  1281. package/dist/admin/utils/getFolderURL.js.map +0 -1
  1282. package/dist/admin/utils/getFolderURL.mjs.map +0 -1
  1283. package/dist/admin/utils/getTrad.js +0 -8
  1284. package/dist/admin/utils/getTrad.js.map +0 -1
  1285. package/dist/admin/utils/getTrad.mjs +0 -6
  1286. package/dist/admin/utils/getTrad.mjs.map +0 -1
  1287. package/dist/admin/utils/icons.js +0 -23
  1288. package/dist/admin/utils/icons.js.map +0 -1
  1289. package/dist/admin/utils/icons.mjs +0 -19
  1290. package/dist/admin/utils/icons.mjs.map +0 -1
  1291. package/dist/admin/utils/moveElement.js.map +0 -1
  1292. package/dist/admin/utils/moveElement.mjs.map +0 -1
  1293. package/dist/admin/utils/normalizeAPIError.js.map +0 -1
  1294. package/dist/admin/utils/normalizeAPIError.mjs.map +0 -1
  1295. package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +0 -1
  1296. package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +0 -1
  1297. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  1298. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  1299. package/dist/admin/utils/rawFileToAsset.js +0 -23
  1300. package/dist/admin/utils/rawFileToAsset.js.map +0 -1
  1301. package/dist/admin/utils/rawFileToAsset.mjs +0 -21
  1302. package/dist/admin/utils/rawFileToAsset.mjs.map +0 -1
  1303. package/dist/admin/utils/resolveFileMime.js.map +0 -1
  1304. package/dist/admin/utils/resolveFileMime.mjs.map +0 -1
  1305. package/dist/admin/utils/toSingularTypes.js.map +0 -1
  1306. package/dist/admin/utils/toSingularTypes.mjs.map +0 -1
  1307. package/dist/admin/utils/urlYupSchema.js.map +0 -1
  1308. package/dist/admin/utils/urlYupSchema.mjs.map +0 -1
  1309. package/dist/admin/utils/urlsToAssets.js +0 -42
  1310. package/dist/admin/utils/urlsToAssets.js.map +0 -1
  1311. package/dist/admin/utils/urlsToAssets.mjs +0 -40
  1312. package/dist/admin/utils/urlsToAssets.mjs.map +0 -1
  1313. /package/dist/admin/{future/components → components}/Drawer.js +0 -0
  1314. /package/dist/admin/{future/components → components}/Drawer.mjs +0 -0
  1315. /package/dist/admin/{future/components → components}/TruncatedText.js +0 -0
  1316. /package/dist/admin/{future/components → components}/TruncatedText.mjs +0 -0
  1317. /package/dist/admin/{future/components → components}/UploadProgressDialog.js +0 -0
  1318. /package/dist/admin/{future/components → components}/UploadProgressDialog.mjs +0 -0
  1319. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.js +0 -0
  1320. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.mjs +0 -0
  1321. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.js +0 -0
  1322. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.mjs +0 -0
  1323. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.js +0 -0
  1324. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.mjs +0 -0
  1325. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.js +0 -0
  1326. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.mjs +0 -0
  1327. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.js +0 -0
  1328. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.mjs +0 -0
  1329. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.js +0 -0
  1330. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.mjs +0 -0
  1331. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.js +0 -0
  1332. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.mjs +0 -0
  1333. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.js +0 -0
  1334. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.mjs +0 -0
  1335. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.js +0 -0
  1336. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.mjs +0 -0
  1337. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.js +0 -0
  1338. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.mjs +0 -0
  1339. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.js +0 -0
  1340. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.mjs +0 -0
  1341. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.js +0 -0
  1342. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.mjs +0 -0
  1343. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +0 -0
  1344. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs +0 -0
  1345. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js +0 -0
  1346. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs +0 -0
  1347. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +0 -0
  1348. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -0
  1349. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.js +0 -0
  1350. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.mjs +0 -0
  1351. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.js +0 -0
  1352. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.mjs +0 -0
  1353. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.js +0 -0
  1354. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.mjs +0 -0
  1355. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.js +0 -0
  1356. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.mjs +0 -0
  1357. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.js +0 -0
  1358. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.mjs +0 -0
  1359. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.js +0 -0
  1360. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.mjs +0 -0
  1361. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.js +0 -0
  1362. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -0
  1363. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.js +0 -0
  1364. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.mjs +0 -0
  1365. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.js +0 -0
  1366. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.mjs +0 -0
  1367. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.js +0 -0
  1368. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.mjs +0 -0
  1369. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.js +0 -0
  1370. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.mjs +0 -0
  1371. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.js +0 -0
  1372. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.mjs +0 -0
  1373. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.js +0 -0
  1374. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -0
  1375. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -0
  1376. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -0
  1377. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.js +0 -0
  1378. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.mjs +0 -0
  1379. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.js +0 -0
  1380. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.mjs +0 -0
  1381. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.js +0 -0
  1382. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.mjs +0 -0
  1383. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.js +0 -0
  1384. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.mjs +0 -0
  1385. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.js +0 -0
  1386. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -0
  1387. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.js +0 -0
  1388. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.mjs +0 -0
  1389. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.js +0 -0
  1390. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.mjs +0 -0
  1391. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.js +0 -0
  1392. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.mjs +0 -0
  1393. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.js +0 -0
  1394. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.mjs +0 -0
  1395. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.js +0 -0
  1396. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.mjs +0 -0
  1397. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.js +0 -0
  1398. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.mjs +0 -0
  1399. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.js +0 -0
  1400. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.mjs +0 -0
  1401. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.js +0 -0
  1402. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.mjs +0 -0
  1403. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.js +0 -0
  1404. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.mjs +0 -0
  1405. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.js +0 -0
  1406. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.mjs +0 -0
  1407. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js +0 -0
  1408. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs +0 -0
  1409. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js +0 -0
  1410. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs +0 -0
  1411. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.js +0 -0
  1412. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.mjs +0 -0
  1413. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.js +0 -0
  1414. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.mjs +0 -0
  1415. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.js +0 -0
  1416. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.mjs +0 -0
  1417. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -0
  1418. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -0
  1419. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.js +0 -0
  1420. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.mjs +0 -0
  1421. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.js +0 -0
  1422. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.mjs +0 -0
  1423. /package/dist/admin/{components → legacy/components}/SelectTree/Option.js +0 -0
  1424. /package/dist/admin/{components → legacy/components}/SelectTree/Option.mjs +0 -0
  1425. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.js +0 -0
  1426. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.mjs +0 -0
  1427. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.js +0 -0
  1428. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.mjs +0 -0
  1429. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.js +0 -0
  1430. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.mjs +0 -0
  1431. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.js +0 -0
  1432. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.mjs +0 -0
  1433. /package/dist/admin/{components → legacy/components}/TableList/CellContent.js +0 -0
  1434. /package/dist/admin/{components → legacy/components}/TableList/CellContent.mjs +0 -0
  1435. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -0
  1436. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -0
  1437. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.js +0 -0
  1438. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -0
  1439. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +0 -0
  1440. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -0
  1441. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.js +0 -0
  1442. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.mjs +0 -0
  1443. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.js +0 -0
  1444. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.mjs +0 -0
  1445. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.js +0 -0
  1446. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.mjs +0 -0
  1447. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.js +0 -0
  1448. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.mjs +0 -0
  1449. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.js +0 -0
  1450. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.mjs +0 -0
  1451. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.js +0 -0
  1452. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.mjs +0 -0
  1453. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.js +0 -0
  1454. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.mjs +0 -0
  1455. /package/dist/admin/{hooks → legacy/hooks}/useSettings.js +0 -0
  1456. /package/dist/admin/{hooks → legacy/hooks}/useSettings.mjs +0 -0
  1457. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.js +0 -0
  1458. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.mjs +0 -0
  1459. /package/dist/admin/{pages → legacy/pages}/App/App.js +0 -0
  1460. /package/dist/admin/{pages → legacy/pages}/App/App.mjs +0 -0
  1461. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.js +0 -0
  1462. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.mjs +0 -0
  1463. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.js +0 -0
  1464. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.mjs +0 -0
  1465. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.js +0 -0
  1466. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.mjs +0 -0
  1467. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.js +0 -0
  1468. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.mjs +0 -0
  1469. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.js +0 -0
  1470. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.mjs +0 -0
  1471. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.js +0 -0
  1472. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.mjs +0 -0
  1473. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.js +0 -0
  1474. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.mjs +0 -0
  1475. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.js +0 -0
  1476. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.mjs +0 -0
  1477. /package/dist/admin/{pages → legacy/pages}/App/components/Header.js +0 -0
  1478. /package/dist/admin/{pages → legacy/pages}/App/components/Header.mjs +0 -0
  1479. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.js +0 -0
  1480. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.mjs +0 -0
  1481. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.js +0 -0
  1482. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.mjs +0 -0
  1483. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.js +0 -0
  1484. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.mjs +0 -0
  1485. /package/dist/admin/{utils → legacy/utils}/displayedFilters.js +0 -0
  1486. /package/dist/admin/{utils → legacy/utils}/displayedFilters.mjs +0 -0
  1487. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.js +0 -0
  1488. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.mjs +0 -0
  1489. /package/dist/admin/{utils → legacy/utils}/formatBytes.js +0 -0
  1490. /package/dist/admin/{utils → legacy/utils}/formatBytes.mjs +0 -0
  1491. /package/dist/admin/{utils → legacy/utils}/formatDuration.js +0 -0
  1492. /package/dist/admin/{utils → legacy/utils}/formatDuration.mjs +0 -0
  1493. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.js +0 -0
  1494. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.mjs +0 -0
  1495. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.js +0 -0
  1496. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.mjs +0 -0
  1497. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.js +0 -0
  1498. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.mjs +0 -0
  1499. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.js +0 -0
  1500. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.mjs +0 -0
  1501. /package/dist/admin/{utils → legacy/utils}/getFileExtension.js +0 -0
  1502. /package/dist/admin/{utils → legacy/utils}/getFileExtension.mjs +0 -0
  1503. /package/dist/admin/{utils → legacy/utils}/getFolderParents.js +0 -0
  1504. /package/dist/admin/{utils → legacy/utils}/getFolderParents.mjs +0 -0
  1505. /package/dist/admin/{utils → legacy/utils}/getFolderURL.js +0 -0
  1506. /package/dist/admin/{utils → legacy/utils}/getFolderURL.mjs +0 -0
  1507. /package/dist/admin/{utils → legacy/utils}/moveElement.js +0 -0
  1508. /package/dist/admin/{utils → legacy/utils}/moveElement.mjs +0 -0
  1509. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.js +0 -0
  1510. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.mjs +0 -0
  1511. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.js +0 -0
  1512. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.mjs +0 -0
  1513. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.js +0 -0
  1514. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.mjs +0 -0
  1515. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.js +0 -0
  1516. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.mjs +0 -0
  1517. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.js +0 -0
  1518. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.mjs +0 -0
  1519. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.js +0 -0
  1520. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.mjs +0 -0
  1521. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.js +0 -0
  1522. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.mjs +0 -0
  1523. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.js +0 -0
  1524. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.mjs +0 -0
  1525. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.js +0 -0
  1526. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.mjs +0 -0
  1527. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.js +0 -0
  1528. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.mjs +0 -0
  1529. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.js +0 -0
  1530. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.mjs +0 -0
  1531. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.js +0 -0
  1532. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.mjs +0 -0
  1533. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.js +0 -0
  1534. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.mjs +0 -0
  1535. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.js +0 -0
  1536. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.mjs +0 -0
  1537. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.js +0 -0
  1538. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.mjs +0 -0
  1539. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.js +0 -0
  1540. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.mjs +0 -0
  1541. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.js +0 -0
  1542. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.mjs +0 -0
  1543. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.js +0 -0
  1544. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.mjs +0 -0
  1545. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.js +0 -0
  1546. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.mjs +0 -0
  1547. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.js +0 -0
  1548. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.mjs +0 -0
  1549. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.js +0 -0
  1550. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.mjs +0 -0
  1551. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.js +0 -0
  1552. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.mjs +0 -0
  1553. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.js +0 -0
  1554. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.mjs +0 -0
  1555. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.js +0 -0
  1556. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.mjs +0 -0
  1557. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.js +0 -0
  1558. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.mjs +0 -0
  1559. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.js +0 -0
  1560. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.mjs +0 -0
  1561. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.js +0 -0
  1562. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.mjs +0 -0
  1563. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.js +0 -0
  1564. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.mjs +0 -0
  1565. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.js +0 -0
  1566. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.mjs +0 -0
  1567. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.js +0 -0
  1568. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.mjs +0 -0
  1569. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.js +0 -0
  1570. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.mjs +0 -0
  1571. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.js +0 -0
  1572. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.mjs +0 -0
  1573. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.js +0 -0
  1574. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.mjs +0 -0
  1575. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.js +0 -0
  1576. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.mjs +0 -0
  1577. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.js +0 -0
  1578. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.mjs +0 -0
  1579. /package/dist/admin/{future/pages → pages}/Assets/constants.js +0 -0
  1580. /package/dist/admin/{future/pages → pages}/Assets/constants.mjs +0 -0
  1581. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.js +0 -0
  1582. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.mjs +0 -0
  1583. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.js +0 -0
  1584. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.mjs +0 -0
  1585. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.js +0 -0
  1586. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.mjs +0 -0
  1587. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.js +0 -0
  1588. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.mjs +0 -0
  1589. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.js +0 -0
  1590. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.mjs +0 -0
  1591. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.js +0 -0
  1592. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.mjs +0 -0
  1593. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.js +0 -0
  1594. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.mjs +0 -0
  1595. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.js +0 -0
  1596. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.mjs +0 -0
  1597. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.js +0 -0
  1598. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.mjs +0 -0
  1599. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.js +0 -0
  1600. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.mjs +0 -0
  1601. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.js +0 -0
  1602. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.mjs +0 -0
  1603. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.js +0 -0
  1604. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.mjs +0 -0
  1605. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.js +0 -0
  1606. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.mjs +0 -0
  1607. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.js +0 -0
  1608. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.mjs +0 -0
  1609. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.js +0 -0
  1610. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.mjs +0 -0
  1611. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.js +0 -0
  1612. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.mjs +0 -0
  1613. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.js +0 -0
  1614. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.mjs +0 -0
  1615. /package/dist/admin/{future/services → services}/api.js +0 -0
  1616. /package/dist/admin/{future/services → services}/api.mjs +0 -0
  1617. /package/dist/admin/{future/services → services}/assets.js +0 -0
  1618. /package/dist/admin/{future/services → services}/assets.mjs +0 -0
  1619. /package/dist/admin/{future/services → services}/folders.js +0 -0
  1620. /package/dist/admin/{future/services → services}/folders.mjs +0 -0
  1621. /package/dist/admin/{future/services → services}/settings.js +0 -0
  1622. /package/dist/admin/{future/services → services}/settings.mjs +0 -0
  1623. /package/dist/admin/{future/services → services}/uploadFileViaXHR.js +0 -0
  1624. /package/dist/admin/{future/services → services}/uploadFileViaXHR.mjs +0 -0
  1625. /package/dist/admin/src/{pages/App/MediaLibrary.d.ts → App.d.ts} +0 -0
  1626. /package/dist/admin/src/{future/components → components}/Drawer.d.ts +0 -0
  1627. /package/dist/admin/src/{future/components → components}/TruncatedText.d.ts +0 -0
  1628. /package/dist/admin/src/{future/components → components}/UploadProgressDialog.d.ts +0 -0
  1629. /package/dist/admin/src/{future/hooks → hooks}/useAIMetadataEnabled.d.ts +0 -0
  1630. /package/dist/admin/src/{future/hooks → hooks}/useApiErrorMessage.d.ts +0 -0
  1631. /package/dist/admin/src/{components → legacy/components}/AssetCard/AssetCardBase.d.ts +0 -0
  1632. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioAssetCard.d.ts +0 -0
  1633. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioPreview.d.ts +0 -0
  1634. /package/dist/admin/src/{components → legacy/components}/AssetCard/DocAssetCard.d.ts +0 -0
  1635. /package/dist/admin/src/{components → legacy/components}/AssetCard/ImageAssetCard.d.ts +0 -0
  1636. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoAssetCard.d.ts +0 -0
  1637. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoPreview.d.ts +0 -0
  1638. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/Filters.d.ts +0 -0
  1639. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.d.ts +0 -0
  1640. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.d.ts +0 -0
  1641. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.d.ts +0 -0
  1642. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.d.ts +0 -0
  1643. /package/dist/admin/src/{components → legacy/components}/AssetDialog/DialogFooter.d.ts +0 -0
  1644. /package/dist/admin/src/{components → legacy/components}/AssetGridList/Draggable.d.ts +0 -0
  1645. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  1646. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.d.ts +0 -0
  1647. /package/dist/admin/src/{components → legacy/components}/ContextInfo/ContextInfo.d.ts +0 -0
  1648. /package/dist/admin/src/{components → legacy/components}/CopyLinkButton/CopyLinkButton.d.ts +0 -0
  1649. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/DialogHeader.d.ts +0 -0
  1650. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.d.ts +0 -0
  1651. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.d.ts +0 -0
  1652. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +0 -0
  1653. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.d.ts +0 -0
  1654. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.d.ts +0 -0
  1655. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.d.ts +0 -0
  1656. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.d.ts +0 -0
  1657. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssets.d.ts +0 -0
  1658. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterList.d.ts +0 -0
  1659. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterTag.d.ts +0 -0
  1660. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterPopover.d.ts +0 -0
  1661. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterValueInput.d.ts +0 -0
  1662. /package/dist/admin/src/{components → legacy/components}/FilterPopover/utils/getFilterList.d.ts +0 -0
  1663. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCard/FolderCard.d.ts +0 -0
  1664. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.d.ts +0 -0
  1665. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.d.ts +0 -0
  1666. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.d.ts +0 -0
  1667. /package/dist/admin/src/{components → legacy/components}/FolderCard/contexts/FolderCard.d.ts +0 -0
  1668. /package/dist/admin/src/{components → legacy/components}/FolderGridList/FolderGridList.d.ts +0 -0
  1669. /package/dist/admin/src/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.d.ts +0 -0
  1670. /package/dist/admin/src/{components → legacy/components}/SelectTree/SelectTree.d.ts +0 -0
  1671. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/flattenTree.d.ts +0 -0
  1672. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getOpenValues.d.ts +0 -0
  1673. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getValuesToClose.d.ts +0 -0
  1674. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromComputerForm.d.ts +0 -0
  1675. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.d.ts +0 -0
  1676. /package/dist/admin/src/{hooks → legacy/hooks}/useAiAvailability.d.ts +0 -0
  1677. /package/dist/admin/src/{hooks → legacy/hooks}/useCropImg.d.ts +0 -0
  1678. /package/dist/admin/src/{hooks → legacy/hooks}/usePersistentState.d.ts +0 -0
  1679. /package/dist/admin/src/{hooks → legacy/hooks}/useSelectionState.d.ts +0 -0
  1680. /package/dist/admin/src/{hooks → legacy/hooks}/useSettings.d.ts +0 -0
  1681. /package/dist/admin/src/{hooks → legacy/hooks}/utils/renameKeys.d.ts +0 -0
  1682. /package/dist/admin/src/{pages → legacy/pages}/App/App.d.ts +0 -0
  1683. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/actionTypes.d.ts +0 -0
  1684. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.d.ts +0 -0
  1685. /package/dist/admin/src/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.d.ts +0 -0
  1686. /package/dist/admin/src/{pages → legacy/pages}/App/components/Filters.d.ts +0 -0
  1687. /package/dist/admin/src/{utils → legacy/utils}/appendSearchParamsToUrl.d.ts +0 -0
  1688. /package/dist/admin/src/{utils → legacy/utils}/displayedFilters.d.ts +0 -0
  1689. /package/dist/admin/src/{utils → legacy/utils}/formatBytes.d.ts +0 -0
  1690. /package/dist/admin/src/{utils → legacy/utils}/formatDuration.d.ts +0 -0
  1691. /package/dist/admin/src/{utils → legacy/utils}/getAPIInnerErrors.d.ts +0 -0
  1692. /package/dist/admin/src/{utils → legacy/utils}/getFileExtension.d.ts +0 -0
  1693. /package/dist/admin/src/{utils → legacy/utils}/getTrad.d.ts +0 -0
  1694. /package/dist/admin/src/{utils → legacy/utils}/moveElement.d.ts +0 -0
  1695. /package/dist/admin/src/{utils → legacy/utils}/normalizeAPIError.d.ts +0 -0
  1696. /package/dist/admin/src/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.d.ts +0 -0
  1697. /package/dist/admin/src/{utils → legacy/utils}/prefixPluginTranslations.d.ts +0 -0
  1698. /package/dist/admin/src/{utils → legacy/utils}/resolveFileMime.d.ts +0 -0
  1699. /package/dist/admin/src/{utils → legacy/utils}/toSingularTypes.d.ts +0 -0
  1700. /package/dist/admin/src/{utils → legacy/utils}/urlYupSchema.d.ts +0 -0
  1701. /package/dist/admin/src/{utils → legacy/utils}/urlsToAssets.d.ts +0 -0
  1702. /package/dist/admin/src/{future/pages → pages}/Assets/AssetsPage.d.ts +0 -0
  1703. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.d.ts +0 -0
  1704. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetsSearchInput.d.ts +0 -0
  1705. /package/dist/admin/src/{future/pages → pages}/Assets/components/BulkMoveDialog.d.ts +0 -0
  1706. /package/dist/admin/src/{future/pages → pages}/Assets/components/BusyOverlay.d.ts +0 -0
  1707. /package/dist/admin/src/{future/pages → pages}/Assets/components/DateRangeCalendar.d.ts +0 -0
  1708. /package/dist/admin/src/{future/pages → pages}/Assets/components/DeleteItemsDialog.d.ts +0 -0
  1709. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.d.ts +0 -0
  1710. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.d.ts +0 -0
  1711. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/buildDragSet.d.ts +0 -0
  1712. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/dndIds.d.ts +0 -0
  1713. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.d.ts +0 -0
  1714. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.d.ts +0 -0
  1715. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.d.ts +0 -0
  1716. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.d.ts +0 -0
  1717. /package/dist/admin/src/{future/pages → pages}/Assets/components/EmptyState.d.ts +0 -0
  1718. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterBadges.d.ts +0 -0
  1719. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterMenu.d.ts +0 -0
  1720. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderFormDialog.d.ts +0 -0
  1721. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/FolderTree.d.ts +0 -0
  1722. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.d.ts +0 -0
  1723. /package/dist/admin/src/{future/pages → pages}/Assets/components/ImportFromUrlDialog.d.ts +0 -0
  1724. /package/dist/admin/src/{future/pages → pages}/Assets/components/MainAreaContextMenu.d.ts +0 -0
  1725. /package/dist/admin/src/{future/pages → pages}/Assets/components/SortMenu.d.ts +0 -0
  1726. /package/dist/admin/src/{future/pages → pages}/Assets/constants.d.ts +0 -0
  1727. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSearch.d.ts +0 -0
  1728. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSelection.d.ts +0 -0
  1729. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useBusyAssets.d.ts +0 -0
  1730. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useFolderInfo.d.ts +0 -0
  1731. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.d.ts +0 -0
  1732. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.d.ts +0 -0
  1733. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListFilters.d.ts +0 -0
  1734. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListScrollRestoration.d.ts +0 -0
  1735. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListSort.d.ts +0 -0
  1736. /package/dist/admin/src/{future/pages → pages}/Assets/utils/buildAssetFilters.d.ts +0 -0
  1737. /package/dist/admin/src/{future/pages → pages}/Assets/utils/listQueryKey.d.ts +0 -0
  1738. /package/dist/admin/src/{future/pages → pages}/Assets/utils/selection.d.ts +0 -0
  1739. /package/dist/admin/src/{future/store → store}/hooks.d.ts +0 -0
  1740. /package/dist/admin/src/{future/types → types}/dnd.d.ts +0 -0
  1741. /package/dist/admin/src/{future/utils → utils}/buildBulkMovePayload.d.ts +0 -0
  1742. /package/dist/admin/src/{future/utils → utils}/buildDragSetFromSelection.d.ts +0 -0
  1743. /package/dist/admin/src/{future/utils → utils}/createRafBatcher.d.ts +0 -0
  1744. /package/dist/admin/src/{future/utils → utils}/files.d.ts +0 -0
  1745. /package/dist/admin/src/{future/utils → utils}/formatMoveSuccessMessage.d.ts +0 -0
  1746. /package/dist/admin/src/{future/utils → utils}/getApiErrorMessage.d.ts +0 -0
  1747. /package/dist/admin/src/{future/utils → utils}/getAssetIcon.d.ts +0 -0
  1748. /package/dist/admin/src/{future/utils → utils}/getRelationId.d.ts +0 -0
  1749. /package/dist/admin/src/{future/utils → utils}/isEventFromWithin.d.ts +0 -0
  1750. /package/dist/admin/src/{future/utils → utils}/itemSource.d.ts +0 -0
  1751. /package/dist/admin/src/{future/utils → utils}/searchQueryParam.d.ts +0 -0
  1752. /package/dist/admin/src/{future/utils → utils}/translations.d.ts +0 -0
  1753. /package/dist/admin/{future/store → store}/hooks.js +0 -0
  1754. /package/dist/admin/{future/store → store}/hooks.mjs +0 -0
  1755. /package/dist/admin/{future/store → store}/uploadProgress.js +0 -0
  1756. /package/dist/admin/{future/store → store}/uploadProgress.mjs +0 -0
  1757. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.js +0 -0
  1758. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.mjs +0 -0
  1759. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.js +0 -0
  1760. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.mjs +0 -0
  1761. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.js +0 -0
  1762. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.mjs +0 -0
  1763. /package/dist/admin/{future/utils → utils}/createRafBatcher.js +0 -0
  1764. /package/dist/admin/{future/utils → utils}/createRafBatcher.mjs +0 -0
  1765. /package/dist/admin/{future/utils → utils}/files.js +0 -0
  1766. /package/dist/admin/{future/utils → utils}/files.mjs +0 -0
  1767. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.js +0 -0
  1768. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.mjs +0 -0
  1769. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.js +0 -0
  1770. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.mjs +0 -0
  1771. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.js +0 -0
  1772. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.mjs +0 -0
  1773. /package/dist/admin/{future/utils → utils}/getFolderLabel.js +0 -0
  1774. /package/dist/admin/{future/utils → utils}/getFolderLabel.mjs +0 -0
  1775. /package/dist/admin/{future/utils → utils}/getRelationId.js +0 -0
  1776. /package/dist/admin/{future/utils → utils}/getRelationId.mjs +0 -0
  1777. /package/dist/admin/{future/utils → utils}/isEventFromWithin.js +0 -0
  1778. /package/dist/admin/{future/utils → utils}/isEventFromWithin.mjs +0 -0
  1779. /package/dist/admin/{future/utils → utils}/itemLocations.js +0 -0
  1780. /package/dist/admin/{future/utils → utils}/itemLocations.mjs +0 -0
  1781. /package/dist/admin/{future/utils → utils}/itemSource.js +0 -0
  1782. /package/dist/admin/{future/utils → utils}/itemSource.mjs +0 -0
  1783. /package/dist/admin/{future/utils → utils}/searchQueryParam.js +0 -0
  1784. /package/dist/admin/{future/utils → utils}/searchQueryParam.mjs +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangeCalendar.js","sources":["../../../../../admin/src/pages/Assets/components/DateRangeCalendar.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Flex, IconButton, Typography, VisuallyHidden } from '@strapi/design-system';\nimport { ChevronLeft, ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslationKey } from '../../../utils/translations';\n\n/**\n * Month-grid range picker: first click sets the start, second click the end\n * (clicks are reordered when the second date is before the first). The DS only\n * ships a single-value DatePicker, so the range grid is built locally.\n *\n * Month/year move via chevrons rather than the mock's dropdowns — nested\n * popovers inside a dropdown menu fight Radix's outside-interaction handling.\n */\n\nconst DayCell = styled.button<{ $inRange?: boolean; $isEdge?: boolean; $isMuted?: boolean }>`\n width: 3rem;\n height: 3rem;\n border: none;\n border-radius: ${({ theme }) => theme.borderRadius};\n cursor: pointer;\n font: inherit;\n color: ${({ theme, $isEdge, $isMuted }) => {\n if ($isEdge) return theme.colors.primary600;\n if ($isMuted) return theme.colors.neutral400;\n return theme.colors.neutral800;\n }};\n background: ${({ theme, $inRange, $isEdge }) => {\n if ($isEdge) return theme.colors.primary200;\n if ($inRange) return theme.colors.primary100;\n return 'transparent';\n }};\n\n &:hover {\n background: ${({ theme }) => theme.colors.primary100};\n }\n\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.colors.primary600};\n outline-offset: -2px;\n }\n`;\n\nconst toKey = (date: Date): string => {\n const month = `${date.getMonth() + 1}`.padStart(2, '0');\n const day = `${date.getDate()}`.padStart(2, '0');\n return `${date.getFullYear()}-${month}-${day}`;\n};\n\nconst fromKey = (key: string): Date => {\n const [year, month, day] = key.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\n/** Monday-first weeks covering the given month, padded with adjacent days. */\nconst buildWeeks = (year: number, month: number): Date[][] => {\n const first = new Date(year, month, 1);\n const start = new Date(first.getTime());\n start.setDate(first.getDate() - ((first.getDay() + 6) % 7));\n\n const weeks: Date[][] = [];\n const cursor = new Date(start.getTime());\n\n do {\n const week: Date[] = [];\n for (let i = 0; i < 7; i += 1) {\n week.push(new Date(cursor.getTime()));\n cursor.setDate(cursor.getDate() + 1);\n }\n weeks.push(week);\n } while (cursor.getMonth() === month && cursor.getFullYear() === year);\n\n return weeks;\n};\n\ninterface DateRangeCalendarProps {\n /** `YYYY-MM-DD`, both set when editing an existing range badge. */\n from?: string;\n to?: string;\n onSelect: (from: string, to: string) => void;\n}\n\nexport const DateRangeCalendar = ({ from, to, onSelect }: DateRangeCalendarProps) => {\n const { formatMessage, formatDate } = useIntl();\n\n const initialMonth = from ? fromKey(from) : new Date();\n const [viewYear, setViewYear] = useState(initialMonth.getFullYear());\n const [viewMonth, setViewMonth] = useState(initialMonth.getMonth());\n // In-progress selection: set on the first click, cleared on commit.\n const [pendingStart, setPendingStart] = useState<string | null>(null);\n\n const rangeStart = pendingStart ?? from ?? null;\n const rangeEnd = pendingStart ? null : (to ?? null);\n\n const moveMonth = (delta: number) => {\n const next = new Date(viewYear, viewMonth + delta, 1);\n setViewYear(next.getFullYear());\n setViewMonth(next.getMonth());\n };\n\n const handleDayClick = (day: Date) => {\n const key = toKey(day);\n\n if (!pendingStart) {\n setPendingStart(key);\n return;\n }\n\n const [start, end] = key < pendingStart ? [key, pendingStart] : [pendingStart, key];\n setPendingStart(null);\n onSelect(start, end);\n };\n\n const weeks = buildWeeks(viewYear, viewMonth);\n const weekDayLabels = weeks[0].map((day) => formatDate(day, { weekday: 'short' }).slice(0, 2));\n\n return (\n // role=\"group\" (not \"application\"): these are plain buttons — hijacking\n // the screen reader's own key handling would take away navigation and\n // give nothing back.\n <Box\n padding={2}\n width=\"100%\"\n role=\"group\"\n aria-label={formatMessage({\n id: getTranslationKey('list.filters.calendar.label'),\n defaultMessage: 'Select date range',\n })}\n data-testid=\"date-range-calendar\"\n >\n <Flex justifyContent=\"space-between\" alignItems=\"center\" paddingBottom={2}>\n <IconButton\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslationKey('list.filters.calendar.previous-month'),\n defaultMessage: 'Previous month',\n })}\n onClick={() => moveMonth(-1)}\n >\n <ChevronLeft />\n </IconButton>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {formatDate(new Date(viewYear, viewMonth, 1), { month: 'long', year: 'numeric' })}\n </Typography>\n <IconButton\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslationKey('list.filters.calendar.next-month'),\n defaultMessage: 'Next month',\n })}\n onClick={() => moveMonth(1)}\n >\n <ChevronRight />\n </IconButton>\n </Flex>\n\n <Flex>\n {weekDayLabels.map((label, index) => (\n <Flex key={index} width=\"3rem\" height=\"2.4rem\" justifyContent=\"center\">\n <Typography variant=\"pi\" fontWeight=\"semiBold\" textColor=\"neutral600\">\n {label}\n </Typography>\n </Flex>\n ))}\n </Flex>\n\n {weeks.map((week, weekIndex) => (\n <Flex key={weekIndex}>\n {week.map((day) => {\n const key = toKey(day);\n const isEdge = key === rangeStart || key === rangeEnd;\n const inRange =\n rangeStart !== null && rangeEnd !== null && key > rangeStart && key < rangeEnd;\n\n return (\n <DayCell\n key={key}\n type=\"button\"\n $isEdge={isEdge}\n $inRange={inRange}\n $isMuted={day.getMonth() !== viewMonth}\n onClick={() => handleDayClick(day)}\n >\n <VisuallyHidden>{formatDate(day, { dateStyle: 'long' })}</VisuallyHidden>\n <span aria-hidden>{day.getDate()}</span>\n </DayCell>\n );\n })}\n </Flex>\n ))}\n </Box>\n );\n};\n"],"names":["DayCell","styled","button","theme","borderRadius","$isEdge","$isMuted","colors","primary600","neutral400","neutral800","$inRange","primary200","primary100","toKey","date","month","getMonth","padStart","day","getDate","getFullYear","fromKey","key","year","split","map","Number","Date","buildWeeks","first","start","getTime","setDate","getDay","weeks","cursor","week","i","push","DateRangeCalendar","from","to","onSelect","formatMessage","formatDate","useIntl","initialMonth","viewYear","setViewYear","useState","viewMonth","setViewMonth","pendingStart","setPendingStart","rangeStart","rangeEnd","moveMonth","delta","next","handleDayClick","end","weekDayLabels","weekday","slice","_jsxs","Box","padding","width","role","aria-label","id","getTranslationKey","defaultMessage","data-testid","Flex","justifyContent","alignItems","paddingBottom","_jsx","IconButton","variant","label","onClick","ChevronLeft","Typography","fontWeight","textColor","ChevronRight","index","height","weekIndex","isEdge","inRange","type","VisuallyHidden","dateStyle","span","aria-hidden"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangeCalendar.mjs","sources":["../../../../../admin/src/pages/Assets/components/DateRangeCalendar.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Box, Flex, IconButton, Typography, VisuallyHidden } from '@strapi/design-system';\nimport { ChevronLeft, ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslationKey } from '../../../utils/translations';\n\n/**\n * Month-grid range picker: first click sets the start, second click the end\n * (clicks are reordered when the second date is before the first). The DS only\n * ships a single-value DatePicker, so the range grid is built locally.\n *\n * Month/year move via chevrons rather than the mock's dropdowns — nested\n * popovers inside a dropdown menu fight Radix's outside-interaction handling.\n */\n\nconst DayCell = styled.button<{ $inRange?: boolean; $isEdge?: boolean; $isMuted?: boolean }>`\n width: 3rem;\n height: 3rem;\n border: none;\n border-radius: ${({ theme }) => theme.borderRadius};\n cursor: pointer;\n font: inherit;\n color: ${({ theme, $isEdge, $isMuted }) => {\n if ($isEdge) return theme.colors.primary600;\n if ($isMuted) return theme.colors.neutral400;\n return theme.colors.neutral800;\n }};\n background: ${({ theme, $inRange, $isEdge }) => {\n if ($isEdge) return theme.colors.primary200;\n if ($inRange) return theme.colors.primary100;\n return 'transparent';\n }};\n\n &:hover {\n background: ${({ theme }) => theme.colors.primary100};\n }\n\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.colors.primary600};\n outline-offset: -2px;\n }\n`;\n\nconst toKey = (date: Date): string => {\n const month = `${date.getMonth() + 1}`.padStart(2, '0');\n const day = `${date.getDate()}`.padStart(2, '0');\n return `${date.getFullYear()}-${month}-${day}`;\n};\n\nconst fromKey = (key: string): Date => {\n const [year, month, day] = key.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\n/** Monday-first weeks covering the given month, padded with adjacent days. */\nconst buildWeeks = (year: number, month: number): Date[][] => {\n const first = new Date(year, month, 1);\n const start = new Date(first.getTime());\n start.setDate(first.getDate() - ((first.getDay() + 6) % 7));\n\n const weeks: Date[][] = [];\n const cursor = new Date(start.getTime());\n\n do {\n const week: Date[] = [];\n for (let i = 0; i < 7; i += 1) {\n week.push(new Date(cursor.getTime()));\n cursor.setDate(cursor.getDate() + 1);\n }\n weeks.push(week);\n } while (cursor.getMonth() === month && cursor.getFullYear() === year);\n\n return weeks;\n};\n\ninterface DateRangeCalendarProps {\n /** `YYYY-MM-DD`, both set when editing an existing range badge. */\n from?: string;\n to?: string;\n onSelect: (from: string, to: string) => void;\n}\n\nexport const DateRangeCalendar = ({ from, to, onSelect }: DateRangeCalendarProps) => {\n const { formatMessage, formatDate } = useIntl();\n\n const initialMonth = from ? fromKey(from) : new Date();\n const [viewYear, setViewYear] = useState(initialMonth.getFullYear());\n const [viewMonth, setViewMonth] = useState(initialMonth.getMonth());\n // In-progress selection: set on the first click, cleared on commit.\n const [pendingStart, setPendingStart] = useState<string | null>(null);\n\n const rangeStart = pendingStart ?? from ?? null;\n const rangeEnd = pendingStart ? null : (to ?? null);\n\n const moveMonth = (delta: number) => {\n const next = new Date(viewYear, viewMonth + delta, 1);\n setViewYear(next.getFullYear());\n setViewMonth(next.getMonth());\n };\n\n const handleDayClick = (day: Date) => {\n const key = toKey(day);\n\n if (!pendingStart) {\n setPendingStart(key);\n return;\n }\n\n const [start, end] = key < pendingStart ? [key, pendingStart] : [pendingStart, key];\n setPendingStart(null);\n onSelect(start, end);\n };\n\n const weeks = buildWeeks(viewYear, viewMonth);\n const weekDayLabels = weeks[0].map((day) => formatDate(day, { weekday: 'short' }).slice(0, 2));\n\n return (\n // role=\"group\" (not \"application\"): these are plain buttons — hijacking\n // the screen reader's own key handling would take away navigation and\n // give nothing back.\n <Box\n padding={2}\n width=\"100%\"\n role=\"group\"\n aria-label={formatMessage({\n id: getTranslationKey('list.filters.calendar.label'),\n defaultMessage: 'Select date range',\n })}\n data-testid=\"date-range-calendar\"\n >\n <Flex justifyContent=\"space-between\" alignItems=\"center\" paddingBottom={2}>\n <IconButton\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslationKey('list.filters.calendar.previous-month'),\n defaultMessage: 'Previous month',\n })}\n onClick={() => moveMonth(-1)}\n >\n <ChevronLeft />\n </IconButton>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {formatDate(new Date(viewYear, viewMonth, 1), { month: 'long', year: 'numeric' })}\n </Typography>\n <IconButton\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslationKey('list.filters.calendar.next-month'),\n defaultMessage: 'Next month',\n })}\n onClick={() => moveMonth(1)}\n >\n <ChevronRight />\n </IconButton>\n </Flex>\n\n <Flex>\n {weekDayLabels.map((label, index) => (\n <Flex key={index} width=\"3rem\" height=\"2.4rem\" justifyContent=\"center\">\n <Typography variant=\"pi\" fontWeight=\"semiBold\" textColor=\"neutral600\">\n {label}\n </Typography>\n </Flex>\n ))}\n </Flex>\n\n {weeks.map((week, weekIndex) => (\n <Flex key={weekIndex}>\n {week.map((day) => {\n const key = toKey(day);\n const isEdge = key === rangeStart || key === rangeEnd;\n const inRange =\n rangeStart !== null && rangeEnd !== null && key > rangeStart && key < rangeEnd;\n\n return (\n <DayCell\n key={key}\n type=\"button\"\n $isEdge={isEdge}\n $inRange={inRange}\n $isMuted={day.getMonth() !== viewMonth}\n onClick={() => handleDayClick(day)}\n >\n <VisuallyHidden>{formatDate(day, { dateStyle: 'long' })}</VisuallyHidden>\n <span aria-hidden>{day.getDate()}</span>\n </DayCell>\n );\n })}\n </Flex>\n ))}\n </Box>\n );\n};\n"],"names":["DayCell","styled","button","theme","borderRadius","$isEdge","$isMuted","colors","primary600","neutral400","neutral800","$inRange","primary200","primary100","toKey","date","month","getMonth","padStart","day","getDate","getFullYear","fromKey","key","year","split","map","Number","Date","buildWeeks","first","start","getTime","setDate","getDay","weeks","cursor","week","i","push","DateRangeCalendar","from","to","onSelect","formatMessage","formatDate","useIntl","initialMonth","viewYear","setViewYear","useState","viewMonth","setViewMonth","pendingStart","setPendingStart","rangeStart","rangeEnd","moveMonth","delta","next","handleDayClick","end","weekDayLabels","weekday","slice","_jsxs","Box","padding","width","role","aria-label","id","getTranslationKey","defaultMessage","data-testid","Flex","justifyContent","alignItems","paddingBottom","_jsx","IconButton","variant","label","onClick","ChevronLeft","Typography","fontWeight","textColor","ChevronRight","index","height","weekIndex","isEdge","inRange","type","VisuallyHidden","dateStyle","span","aria-hidden"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteItemsDialog.js","sources":["../../../../../admin/src/pages/Assets/components/DeleteItemsDialog.tsx"],"sourcesContent":["import { useEffect, type MouseEvent } from 'react';\n\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Typography } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useBulkDeleteItemsMutation } from '../../../services/assets';\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface DeleteItemsDialogProps {\n open: boolean;\n onClose: () => void;\n /** Explicit delete target — assets and/or folders, by id. */\n target: { fileIds: number[]; folderIds: number[] };\n /** Called after a successful delete, before the toast. */\n onSuccess?: () => void;\n /**\n * Mirrors the in-flight state out to the caller, so a host that has its own\n * controls (the bulk actions bar) can disable them for the duration.\n */\n onPendingChange?: (pending: boolean) => void;\n}\n\n/**\n * Confirm dialog for `POST /upload/actions/bulk-delete`. Fully controlled: the\n * caller owns `open` and renders its own trigger. Shared by the bulk actions bar\n * (selection-scoped) and the per-folder actions menu (item-scoped), so the\n * target is always passed in explicitly rather than read from the selection.\n *\n * Deleting a folder cascades server-side, which is why the copy warns about\n * folder contents even for a single item.\n */\nexport const DeleteItemsDialog = ({\n open,\n onClose,\n target,\n onSuccess,\n onPendingChange,\n}: DeleteItemsDialogProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const [bulkDeleteItems, { isLoading: isDeleting }] = useBulkDeleteItemsMutation();\n\n const count = target.fileIds.length + target.folderIds.length;\n\n useEffect(() => {\n onPendingChange?.(isDeleting);\n }, [isDeleting, onPendingChange]);\n\n const handleConfirmDelete = async (e: MouseEvent) => {\n // Radix AlertDialog.Action closes the dialog on click by default; prevent\n // that so the dialog stays open showing the loader while the request runs\n // (a bulk delete can take a while depending on the number of assets).\n e.preventDefault();\n\n // Guard re-entry while pending.\n if (isDeleting) {\n return;\n }\n\n const res = await bulkDeleteItems(target);\n\n if ('error' in res) {\n // Keep the dialog open and the selection intact so the user can retry\n // (Confirm again) or Cancel; only surface the error toast.\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslationKey('list.bulk-actions.delete.error'),\n defaultMessage: 'An error occurred while deleting the items.',\n }),\n });\n return;\n }\n\n onClose();\n toggleNotification({\n type: 'success',\n message: formatMessage(\n {\n id: getTranslationKey('list.bulk-actions.delete.success'),\n defaultMessage:\n '{count, plural, =1 {# item has been deleted} other {# items have been deleted}}',\n },\n { count }\n ),\n });\n onSuccess?.();\n };\n\n return (\n <Dialog.Root\n open={open}\n onOpenChange={(nextOpen: boolean) => {\n // The dialog must stay open while the request runs — a bulk delete\n // can't be aborted halfway, so the loader is the source of truth.\n if (!nextOpen && !isDeleting) {\n onClose();\n }\n }}\n >\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage(\n {\n id: getTranslationKey('list.bulk-actions.delete.confirm.title'),\n defaultMessage: 'Delete {count, plural, =1 {# item} other {# items}}?',\n },\n { count }\n )}\n </Dialog.Header>\n <Dialog.Body\n icon={<WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />}\n textAlign=\"center\"\n >\n <Typography>\n {formatMessage({\n id: getTranslationKey('list.bulk-actions.delete.confirm.description.are-you-sure'),\n defaultMessage:\n 'These items cannot be recovered once deleted, and deleting a folder also deletes everything inside it. If they are currently in use, linked content will break and image containers will be empty.',\n })}\n </Typography>\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button variant=\"tertiary\" disabled={isDeleting} fullWidth>\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Dialog.Cancel>\n <Dialog.Action>\n <Button\n variant=\"danger-light\"\n loading={isDeleting}\n onClick={handleConfirmDelete}\n fullWidth\n >\n {formatMessage({\n id: 'app.components.Button.confirm',\n defaultMessage: 'Confirm',\n })}\n </Button>\n </Dialog.Action>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n"],"names":["DeleteItemsDialog","open","onClose","target","onSuccess","onPendingChange","formatMessage","useIntl","toggleNotification","useNotification","bulkDeleteItems","isLoading","isDeleting","useBulkDeleteItemsMutation","count","fileIds","length","folderIds","useEffect","handleConfirmDelete","e","preventDefault","res","type","message","id","getTranslationKey","defaultMessage","_jsx","Dialog","Root","onOpenChange","nextOpen","_jsxs","Content","Header","Body","icon","WarningCircle","width","height","fill","textAlign","Typography","Footer","Cancel","Button","variant","disabled","fullWidth","Action","loading","onClick"],"mappings":";;;;;;;;;;;AAwBA;;;;;;;;AAQC,IACM,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,IAAI,EACJC,OAAO,EACPC,MAAM,EACNC,SAAS,EACTC,eAAe,EACQ,GAAA;IACvB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;AAC/B,IAAA,MAAM,CAACC,eAAAA,EAAiB,EAAEC,WAAWC,UAAU,EAAE,CAAC,GAAGC,iCAAAA,EAAAA;IAErD,MAAMC,KAAAA,GAAQX,OAAOY,OAAO,CAACC,MAAM,GAAGb,MAAAA,CAAOc,SAAS,CAACD,MAAM;IAE7DE,eAAAA,CAAU,IAAA;QACRb,eAAAA,GAAkBO,UAAAA,CAAAA;IACpB,CAAA,EAAG;AAACA,QAAAA,UAAAA;AAAYP,QAAAA;AAAgB,KAAA,CAAA;AAEhC,IAAA,MAAMc,sBAAsB,OAAOC,CAAAA,GAAAA;;;;AAIjCA,QAAAA,CAAAA,CAAEC,cAAc,EAAA;;AAGhB,QAAA,IAAIT,UAAAA,EAAY;AACd,YAAA;AACF,QAAA;QAEA,MAAMU,GAAAA,GAAM,MAAMZ,eAAAA,CAAgBP,MAAAA,CAAAA;AAElC,QAAA,IAAI,WAAWmB,GAAAA,EAAK;;;YAGlBd,kBAAAA,CAAmB;gBACjBe,IAAAA,EAAM,QAAA;AACNC,gBAAAA,OAAAA,EAASlB,aAAAA,CAAc;AACrBmB,oBAAAA,EAAAA,EAAIC,8BAAAA,CAAkB,gCAAA,CAAA;oBACtBC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;AACA,YAAA;AACF,QAAA;AAEAzB,QAAAA,OAAAA,EAAAA;QACAM,kBAAAA,CAAmB;YACjBe,IAAAA,EAAM,SAAA;AACNC,YAAAA,OAAAA,EAASlB,aAAAA,CACP;AACEmB,gBAAAA,EAAAA,EAAIC,8BAAAA,CAAkB,kCAAA,CAAA;gBACtBC,cAAAA,EACE;aACJ,EACA;AAAEb,gBAAAA;AAAM,aAAA;AAEZ,SAAA,CAAA;AACAV,QAAAA,SAAAA,IAAAA;AACF,IAAA,CAAA;IAEA,qBACEwB,cAAA,CAACC,oBAAOC,IAAI,EAAA;QACV7B,IAAAA,EAAMA,IAAAA;AACN8B,QAAAA,YAAAA,EAAc,CAACC,QAAAA,GAAAA;;;YAGb,IAAI,CAACA,QAAAA,IAAY,CAACpB,UAAAA,EAAY;AAC5BV,gBAAAA,OAAAA,EAAAA;AACF,YAAA;AACF,QAAA,CAAA;gCAEA+B,eAAA,CAACJ,oBAAOK,OAAO,EAAA;;AACb,8BAAAN,cAAA,CAACC,oBAAOM,MAAM,EAAA;8BACX7B,aAAAA,CACC;AACEmB,wBAAAA,EAAAA,EAAIC,8BAAAA,CAAkB,wCAAA,CAAA;wBACtBC,cAAAA,EAAgB;qBAClB,EACA;AAAEb,wBAAAA;AAAM,qBAAA;;AAGZ,8BAAAc,cAAA,CAACC,oBAAOO,IAAI,EAAA;AACVC,oBAAAA,IAAAA,gBAAMT,cAAA,CAACU,mBAAAA,EAAAA;wBAAcC,KAAAA,EAAM,MAAA;wBAAOC,MAAAA,EAAO,MAAA;wBAAOC,IAAAA,EAAK;;oBACrDC,SAAAA,EAAU,QAAA;AAEV,oBAAA,QAAA,gBAAAd,cAAA,CAACe,uBAAAA,EAAAA;kCACErC,aAAAA,CAAc;AACbmB,4BAAAA,EAAAA,EAAIC,8BAAAA,CAAkB,2DAAA,CAAA;4BACtBC,cAAAA,EACE;AACJ,yBAAA;;;AAGJ,8BAAAM,eAAA,CAACJ,oBAAOe,MAAM,EAAA;;AACZ,sCAAAhB,cAAA,CAACC,oBAAOgB,MAAM,EAAA;AACZ,4BAAA,QAAA,gBAAAjB,cAAA,CAACkB,mBAAAA,EAAAA;gCAAOC,OAAAA,EAAQ,UAAA;gCAAWC,QAAAA,EAAUpC,UAAAA;gCAAYqC,SAAS,EAAA,IAAA;0CACvD3C,aAAAA,CAAc;oCAAEmB,EAAAA,EAAI,8BAAA;oCAAgCE,cAAAA,EAAgB;AAAS,iCAAA;;;AAGlF,sCAAAC,cAAA,CAACC,oBAAOqB,MAAM,EAAA;AACZ,4BAAA,QAAA,gBAAAtB,cAAA,CAACkB,mBAAAA,EAAAA;gCACCC,OAAAA,EAAQ,cAAA;gCACRI,OAAAA,EAASvC,UAAAA;gCACTwC,OAAAA,EAASjC,mBAAAA;gCACT8B,SAAS,EAAA,IAAA;0CAER3C,aAAAA,CAAc;oCACbmB,EAAAA,EAAI,+BAAA;oCACJE,cAAAA,EAAgB;AAClB,iCAAA;;;;;;;;AAOd;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteItemsDialog.mjs","sources":["../../../../../admin/src/pages/Assets/components/DeleteItemsDialog.tsx"],"sourcesContent":["import { useEffect, type MouseEvent } from 'react';\n\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Typography } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useBulkDeleteItemsMutation } from '../../../services/assets';\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface DeleteItemsDialogProps {\n open: boolean;\n onClose: () => void;\n /** Explicit delete target — assets and/or folders, by id. */\n target: { fileIds: number[]; folderIds: number[] };\n /** Called after a successful delete, before the toast. */\n onSuccess?: () => void;\n /**\n * Mirrors the in-flight state out to the caller, so a host that has its own\n * controls (the bulk actions bar) can disable them for the duration.\n */\n onPendingChange?: (pending: boolean) => void;\n}\n\n/**\n * Confirm dialog for `POST /upload/actions/bulk-delete`. Fully controlled: the\n * caller owns `open` and renders its own trigger. Shared by the bulk actions bar\n * (selection-scoped) and the per-folder actions menu (item-scoped), so the\n * target is always passed in explicitly rather than read from the selection.\n *\n * Deleting a folder cascades server-side, which is why the copy warns about\n * folder contents even for a single item.\n */\nexport const DeleteItemsDialog = ({\n open,\n onClose,\n target,\n onSuccess,\n onPendingChange,\n}: DeleteItemsDialogProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const [bulkDeleteItems, { isLoading: isDeleting }] = useBulkDeleteItemsMutation();\n\n const count = target.fileIds.length + target.folderIds.length;\n\n useEffect(() => {\n onPendingChange?.(isDeleting);\n }, [isDeleting, onPendingChange]);\n\n const handleConfirmDelete = async (e: MouseEvent) => {\n // Radix AlertDialog.Action closes the dialog on click by default; prevent\n // that so the dialog stays open showing the loader while the request runs\n // (a bulk delete can take a while depending on the number of assets).\n e.preventDefault();\n\n // Guard re-entry while pending.\n if (isDeleting) {\n return;\n }\n\n const res = await bulkDeleteItems(target);\n\n if ('error' in res) {\n // Keep the dialog open and the selection intact so the user can retry\n // (Confirm again) or Cancel; only surface the error toast.\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslationKey('list.bulk-actions.delete.error'),\n defaultMessage: 'An error occurred while deleting the items.',\n }),\n });\n return;\n }\n\n onClose();\n toggleNotification({\n type: 'success',\n message: formatMessage(\n {\n id: getTranslationKey('list.bulk-actions.delete.success'),\n defaultMessage:\n '{count, plural, =1 {# item has been deleted} other {# items have been deleted}}',\n },\n { count }\n ),\n });\n onSuccess?.();\n };\n\n return (\n <Dialog.Root\n open={open}\n onOpenChange={(nextOpen: boolean) => {\n // The dialog must stay open while the request runs — a bulk delete\n // can't be aborted halfway, so the loader is the source of truth.\n if (!nextOpen && !isDeleting) {\n onClose();\n }\n }}\n >\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage(\n {\n id: getTranslationKey('list.bulk-actions.delete.confirm.title'),\n defaultMessage: 'Delete {count, plural, =1 {# item} other {# items}}?',\n },\n { count }\n )}\n </Dialog.Header>\n <Dialog.Body\n icon={<WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />}\n textAlign=\"center\"\n >\n <Typography>\n {formatMessage({\n id: getTranslationKey('list.bulk-actions.delete.confirm.description.are-you-sure'),\n defaultMessage:\n 'These items cannot be recovered once deleted, and deleting a folder also deletes everything inside it. If they are currently in use, linked content will break and image containers will be empty.',\n })}\n </Typography>\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button variant=\"tertiary\" disabled={isDeleting} fullWidth>\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Dialog.Cancel>\n <Dialog.Action>\n <Button\n variant=\"danger-light\"\n loading={isDeleting}\n onClick={handleConfirmDelete}\n fullWidth\n >\n {formatMessage({\n id: 'app.components.Button.confirm',\n defaultMessage: 'Confirm',\n })}\n </Button>\n </Dialog.Action>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n"],"names":["DeleteItemsDialog","open","onClose","target","onSuccess","onPendingChange","formatMessage","useIntl","toggleNotification","useNotification","bulkDeleteItems","isLoading","isDeleting","useBulkDeleteItemsMutation","count","fileIds","length","folderIds","useEffect","handleConfirmDelete","e","preventDefault","res","type","message","id","getTranslationKey","defaultMessage","_jsx","Dialog","Root","onOpenChange","nextOpen","_jsxs","Content","Header","Body","icon","WarningCircle","width","height","fill","textAlign","Typography","Footer","Cancel","Button","variant","disabled","fullWidth","Action","loading","onClick"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsDndProvider.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/AssetsDndProvider.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n pointerWithin,\n useSensor,\n useSensors,\n type DragEndEvent,\n type DragStartEvent,\n} from '@dnd-kit/core';\nimport { snapCenterToCursor } from '@dnd-kit/modifiers';\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { Flex, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useApiErrorMessage } from '../../../../hooks/useApiErrorMessage';\nimport { useMediaLibraryPermissions } from '../../../../hooks/useMediaLibraryPermissions';\nimport { useBulkMoveMutation, useGetFolderStructureQuery } from '../../../../services/folders';\nimport { buildBulkMovePayload } from '../../../../utils/buildBulkMovePayload';\nimport { canDropItemOnFolder } from '../../../../utils/canDropItemOnFolder';\nimport { formatMoveSuccessMessage } from '../../../../utils/formatMoveSuccessMessage';\nimport { getFolderLabel } from '../../../../utils/getFolderLabel';\nimport { emptyItemLocations, type ItemLocations } from '../../../../utils/itemLocations';\nimport { getTranslationKey } from '../../../../utils/translations';\nimport { useAssetSelectionOptional } from '../../hooks/useAssetSelection';\nimport { useFolderNavigation } from '../../hooks/useFolderNavigation';\n\nimport { buildDragSet } from './buildDragSet';\nimport { computeValidDropTargets } from './computeValidDropTargets';\nimport { parseFolderTargetId, parseFolderTreeTargetId } from './dndIds';\nimport { DragOverlayChip } from './DragOverlayChip';\n\nimport type { DragItemData } from '../../../../types/dnd';\n\n/* -------------------------------------------------------------------------------------------------\n * Context — shared with UploadDropZoneProvider for bidirectional drag guard.\n * See UploadDropZoneContext.tsx TODO linking both providers.\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AssetsDndContextValue {\n isInternalDragActive: boolean;\n isMovePending: boolean;\n /** O(1) lookup of whether the current drag set may drop on this destination. */\n isValidDropTarget: (targetFolderId: number | null) => boolean;\n}\n\nconst AssetsDndContext = createContext<AssetsDndContextValue | null>(null);\n\nexport const useAssetsDnd = () => {\n const context = useContext(AssetsDndContext);\n\n if (!context) {\n throw new Error('useAssetsDnd must be used within AssetsDndProvider');\n }\n\n return context;\n};\n\nexport const useAssetsDndOptional = () => useContext(AssetsDndContext);\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AssetsDndProviderProps {\n children: ReactNode;\n /**\n * Real location of every loaded row, so a multi-item drag validates against\n * each item's own parent. Defaults to a lookup that misses everything, which\n * falls back to the folder currently open.\n */\n locations?: ItemLocations;\n}\n\ninterface DragSession {\n items: DragItemData[];\n fromSelection: boolean;\n /** Location of the grabbed row — names the source in the success toast. */\n activeSourceFolderId: number | null;\n /** True when the set spans several source folders, so none can be named. */\n spansMultipleSources: boolean;\n}\n\nconst resolveDestination = (\n overId: string | number\n): { destinationFolderId: number | null } | null => {\n const inView = parseFolderTargetId(overId);\n\n if (inView != null) {\n return { destinationFolderId: inView };\n }\n\n const tree = parseFolderTreeTargetId(overId);\n\n if (tree === 'root') {\n return { destinationFolderId: null };\n }\n\n if (typeof tree === 'number') {\n return { destinationFolderId: tree };\n }\n\n return null;\n};\n\n// Activation distance no real pointer gesture will ever reach — used to keep a\n// constant-length sensor array while disabling drag for users without the move\n// permission (see the note in the provider).\nconst DRAG_DISABLED_DISTANCE = Number.MAX_SAFE_INTEGER;\n\n// Without a modifier the overlay is anchored to the dragged node's top-left, so the\n// chip trails the cursor by however far into the card or row the grab landed.\nconst OVERLAY_MODIFIERS = [snapCenterToCursor];\n\nexport const AssetsDndProvider = ({\n children,\n locations = emptyItemLocations,\n}: AssetsDndProviderProps) => {\n const { formatMessage } = useIntl();\n const getErrorMessage = useApiErrorMessage();\n const { toggleNotification } = useNotification();\n const selection = useAssetSelectionOptional();\n const { currentFolderId } = useFolderNavigation();\n const { data: folderStructure = [] } = useGetFolderStructureQuery();\n const rootLabel = formatMessage({\n id: getTranslationKey('plugin.name'),\n defaultMessage: 'Media Library',\n });\n const [bulkMove, { isLoading: isMovePending }] = useBulkMoveMutation();\n const [dragItems, setDragItems] = useState<DragItemData[]>([]);\n const [liveAnnouncement, setLiveAnnouncement] = useState('');\n // Sync session for drag-end — state alone can lag one render behind dragStart.\n const dragSessionRef = useRef<DragSession>({\n items: [],\n fromSelection: false,\n activeSourceFolderId: null,\n spansMultipleSources: false,\n });\n\n const announceToLiveRegion = useCallback((message: string) => {\n setLiveAnnouncement('');\n requestAnimationFrame(() => setLiveAnnouncement(message));\n }, []);\n\n // Moving is a mutation (bulk-move → `assets.update`); without the permission\n // pointer drag must never activate. Keyboard moves go through BulkMoveDialog,\n // which is itself gated.\n //\n // The gate has to keep BOTH the `useSensor`/`useSensors` calls AND the sensor\n // array's length constant across renders: `canUpdate` starts false and flips\n // true once the RBAC check resolves, and dnd-kit keys internal memos/effects\n // on the sensor list, erroring if its size changes (\"argument changed size\n // between renders\"). So adding/removing a sensor is out — instead keep one\n // PointerSensor always and push its activation distance out of reach when the\n // user can't move, which no real drag gesture will ever satisfy.\n const { canUpdate } = useMediaLibraryPermissions();\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: { distance: canUpdate ? 8 : DRAG_DISABLED_DISTANCE },\n })\n );\n\n const validDropTargets = useMemo(\n () => computeValidDropTargets(dragItems, folderStructure),\n [dragItems, folderStructure]\n );\n\n const isValidDropTarget = useCallback(\n (targetFolderId: number | null) => validDropTargets.has(targetFolderId),\n [validDropTargets]\n );\n\n const contextValue = useMemo<AssetsDndContextValue>(\n () => ({\n isInternalDragActive: dragItems.length > 0,\n isMovePending,\n isValidDropTarget,\n }),\n [dragItems.length, isMovePending, isValidDropTarget]\n );\n\n const clearDragState = useCallback(() => {\n dragSessionRef.current = {\n items: [],\n fromSelection: false,\n activeSourceFolderId: null,\n spansMultipleSources: false,\n };\n setDragItems([]);\n }, []);\n\n const handleDragStart = useCallback(\n (event: DragStartEvent) => {\n const data = event.active.data.current as DragItemData | undefined;\n\n if (!data) {\n clearDragState();\n return;\n }\n\n const dragSet = buildDragSet(data, selection?.selectedKeys, locations, currentFolderId);\n dragSessionRef.current = dragSet;\n setDragItems(dragSet.items);\n },\n [clearDragState, currentFolderId, locations, selection?.selectedKeys]\n );\n\n const handleDragEnd = useCallback(\n async (event: DragEndEvent) => {\n const { over } = event;\n const { items, fromSelection, activeSourceFolderId, spansMultipleSources } =\n dragSessionRef.current;\n clearDragState();\n\n if (isMovePending || !over || items.length === 0) {\n return;\n }\n\n const destination = resolveDestination(over.id);\n\n if (!destination) {\n return;\n }\n\n const { destinationFolderId: targetFolderId } = destination;\n\n if (\n !canDropItemOnFolder({\n items,\n targetFolderId,\n folderStructure,\n })\n ) {\n return;\n }\n\n const payload = buildBulkMovePayload(items);\n // Source is the grabbed row's own location, not the folder currently open:\n // a global search result can be dragged out of a folder the user isn't in.\n // A search-built selection can also span folders, and then no single\n // source is true for the whole set — `null` drops it from the wording\n // instead of naming one item's folder for all of them. Destination is the\n // drop target. Both use leaf names so the DnD toast reads identically to\n // the dialog's.\n const successMessage = formatMoveSuccessMessage({\n formatMessage,\n count: items.length,\n source: spansMultipleSources\n ? null\n : getFolderLabel(folderStructure, activeSourceFolderId, rootLabel),\n destination: getFolderLabel(folderStructure, targetFolderId, rootLabel),\n });\n const errorFallback = formatMessage({\n id: getTranslationKey('list.bulk-actions.move.error'),\n defaultMessage: 'An error occurred while moving the items.',\n });\n\n try {\n await bulkMove({ ...payload, destinationFolderId: targetFolderId }).unwrap();\n\n if (fromSelection) {\n selection?.clear();\n }\n\n announceToLiveRegion(successMessage);\n\n toggleNotification({\n type: 'success',\n message: successMessage,\n });\n } catch (error) {\n const errorMessage = getErrorMessage(error, errorFallback);\n\n announceToLiveRegion(\n formatMessage(\n {\n id: getTranslationKey('dnd.announce.move-failure'),\n defaultMessage: 'Move failed. {message}',\n },\n { message: errorMessage }\n )\n );\n\n toggleNotification({\n type: 'danger',\n message: errorMessage,\n });\n }\n },\n [\n announceToLiveRegion,\n bulkMove,\n clearDragState,\n folderStructure,\n formatMessage,\n getErrorMessage,\n isMovePending,\n rootLabel,\n selection,\n toggleNotification,\n ]\n );\n\n const handleDragCancel = useCallback(() => {\n clearDragState();\n }, [clearDragState]);\n\n const announcements = useMemo(\n () => ({\n onDragStart: ({ active }: DragStartEvent) => {\n const data = active.data.current as DragItemData | undefined;\n return data\n ? formatMessage(\n {\n id: getTranslationKey('dnd.announce.drag-start'),\n defaultMessage: 'Picked up {name}. Drop on a folder to move.',\n },\n { name: data.name }\n )\n : '';\n },\n onDragOver: () => '',\n onDragEnd: ({ active, over }: DragEndEvent) => {\n if (!over) {\n return formatMessage({\n id: getTranslationKey('dnd.announce.cancel'),\n defaultMessage: 'Drag cancelled.',\n });\n }\n\n const destination = resolveDestination(over.id);\n const activeData = active.data.current as DragItemData | undefined;\n\n if (!destination || !activeData) {\n return '';\n }\n\n const { items } = buildDragSet(\n activeData,\n selection?.selectedKeys,\n locations,\n currentFolderId\n );\n\n if (\n !canDropItemOnFolder({\n items,\n targetFolderId: destination.destinationFolderId,\n folderStructure,\n })\n ) {\n return formatMessage({\n id: getTranslationKey('dnd.announce.invalid-drop'),\n defaultMessage: 'Cannot move item to this folder.',\n });\n }\n\n return '';\n },\n onDragCancel: () =>\n formatMessage({\n id: getTranslationKey('dnd.announce.cancel'),\n defaultMessage: 'Drag cancelled.',\n }),\n }),\n [currentFolderId, folderStructure, formatMessage, locations, selection?.selectedKeys]\n );\n\n return (\n <AssetsDndContext.Provider value={contextValue}>\n <DndContext\n sensors={sensors}\n collisionDetection={pointerWithin}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n accessibility={{ announcements }}\n >\n <VisuallyHidden aria-live=\"polite\" aria-atomic=\"true\">\n {liveAnnouncement}\n </VisuallyHidden>\n <Flex position=\"relative\" alignItems=\"stretch\" direction=\"column\" height=\"100%\">\n {children}\n </Flex>\n <DragOverlay dropAnimation={null} modifiers={OVERLAY_MODIFIERS}>\n {dragItems.length > 0 ? <DragOverlayChip items={dragItems} /> : null}\n </DragOverlay>\n </DndContext>\n </AssetsDndContext.Provider>\n );\n};\n\n// Keyboard-accessible moves are handled by `BulkMoveDialog` (reachable from the\n// bulk-actions bar): pointer drag is a mouse-only enhancement, the dialog is the\n// a11y path. No `KeyboardSensor` by design.\n"],"names":["AssetsDndContext","createContext","useAssetsDndOptional","useContext","resolveDestination","overId","inView","parseFolderTargetId","destinationFolderId","tree","parseFolderTreeTargetId","DRAG_DISABLED_DISTANCE","Number","MAX_SAFE_INTEGER","OVERLAY_MODIFIERS","snapCenterToCursor","AssetsDndProvider","children","locations","emptyItemLocations","formatMessage","useIntl","getErrorMessage","useApiErrorMessage","toggleNotification","useNotification","selection","useAssetSelectionOptional","currentFolderId","useFolderNavigation","data","folderStructure","useGetFolderStructureQuery","rootLabel","id","getTranslationKey","defaultMessage","bulkMove","isLoading","isMovePending","useBulkMoveMutation","dragItems","setDragItems","useState","liveAnnouncement","setLiveAnnouncement","dragSessionRef","useRef","items","fromSelection","activeSourceFolderId","spansMultipleSources","announceToLiveRegion","useCallback","message","requestAnimationFrame","canUpdate","useMediaLibraryPermissions","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","validDropTargets","useMemo","computeValidDropTargets","isValidDropTarget","targetFolderId","has","contextValue","isInternalDragActive","length","clearDragState","current","handleDragStart","event","active","dragSet","buildDragSet","selectedKeys","handleDragEnd","over","destination","canDropItemOnFolder","payload","buildBulkMovePayload","successMessage","formatMoveSuccessMessage","count","source","getFolderLabel","errorFallback","unwrap","clear","type","error","errorMessage","handleDragCancel","announcements","onDragStart","name","onDragOver","onDragEnd","activeData","onDragCancel","_jsx","Provider","value","_jsxs","DndContext","collisionDetection","pointerWithin","accessibility","VisuallyHidden","aria-live","aria-atomic","Flex","position","alignItems","direction","height","DragOverlay","dropAnimation","modifiers","DragOverlayChip"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsDndProvider.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/AssetsDndProvider.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n pointerWithin,\n useSensor,\n useSensors,\n type DragEndEvent,\n type DragStartEvent,\n} from '@dnd-kit/core';\nimport { snapCenterToCursor } from '@dnd-kit/modifiers';\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { Flex, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useApiErrorMessage } from '../../../../hooks/useApiErrorMessage';\nimport { useMediaLibraryPermissions } from '../../../../hooks/useMediaLibraryPermissions';\nimport { useBulkMoveMutation, useGetFolderStructureQuery } from '../../../../services/folders';\nimport { buildBulkMovePayload } from '../../../../utils/buildBulkMovePayload';\nimport { canDropItemOnFolder } from '../../../../utils/canDropItemOnFolder';\nimport { formatMoveSuccessMessage } from '../../../../utils/formatMoveSuccessMessage';\nimport { getFolderLabel } from '../../../../utils/getFolderLabel';\nimport { emptyItemLocations, type ItemLocations } from '../../../../utils/itemLocations';\nimport { getTranslationKey } from '../../../../utils/translations';\nimport { useAssetSelectionOptional } from '../../hooks/useAssetSelection';\nimport { useFolderNavigation } from '../../hooks/useFolderNavigation';\n\nimport { buildDragSet } from './buildDragSet';\nimport { computeValidDropTargets } from './computeValidDropTargets';\nimport { parseFolderTargetId, parseFolderTreeTargetId } from './dndIds';\nimport { DragOverlayChip } from './DragOverlayChip';\n\nimport type { DragItemData } from '../../../../types/dnd';\n\n/* -------------------------------------------------------------------------------------------------\n * Context — shared with UploadDropZoneProvider for bidirectional drag guard.\n * See UploadDropZoneContext.tsx TODO linking both providers.\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AssetsDndContextValue {\n isInternalDragActive: boolean;\n isMovePending: boolean;\n /** O(1) lookup of whether the current drag set may drop on this destination. */\n isValidDropTarget: (targetFolderId: number | null) => boolean;\n}\n\nconst AssetsDndContext = createContext<AssetsDndContextValue | null>(null);\n\nexport const useAssetsDnd = () => {\n const context = useContext(AssetsDndContext);\n\n if (!context) {\n throw new Error('useAssetsDnd must be used within AssetsDndProvider');\n }\n\n return context;\n};\n\nexport const useAssetsDndOptional = () => useContext(AssetsDndContext);\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AssetsDndProviderProps {\n children: ReactNode;\n /**\n * Real location of every loaded row, so a multi-item drag validates against\n * each item's own parent. Defaults to a lookup that misses everything, which\n * falls back to the folder currently open.\n */\n locations?: ItemLocations;\n}\n\ninterface DragSession {\n items: DragItemData[];\n fromSelection: boolean;\n /** Location of the grabbed row — names the source in the success toast. */\n activeSourceFolderId: number | null;\n /** True when the set spans several source folders, so none can be named. */\n spansMultipleSources: boolean;\n}\n\nconst resolveDestination = (\n overId: string | number\n): { destinationFolderId: number | null } | null => {\n const inView = parseFolderTargetId(overId);\n\n if (inView != null) {\n return { destinationFolderId: inView };\n }\n\n const tree = parseFolderTreeTargetId(overId);\n\n if (tree === 'root') {\n return { destinationFolderId: null };\n }\n\n if (typeof tree === 'number') {\n return { destinationFolderId: tree };\n }\n\n return null;\n};\n\n// Activation distance no real pointer gesture will ever reach — used to keep a\n// constant-length sensor array while disabling drag for users without the move\n// permission (see the note in the provider).\nconst DRAG_DISABLED_DISTANCE = Number.MAX_SAFE_INTEGER;\n\n// Without a modifier the overlay is anchored to the dragged node's top-left, so the\n// chip trails the cursor by however far into the card or row the grab landed.\nconst OVERLAY_MODIFIERS = [snapCenterToCursor];\n\nexport const AssetsDndProvider = ({\n children,\n locations = emptyItemLocations,\n}: AssetsDndProviderProps) => {\n const { formatMessage } = useIntl();\n const getErrorMessage = useApiErrorMessage();\n const { toggleNotification } = useNotification();\n const selection = useAssetSelectionOptional();\n const { currentFolderId } = useFolderNavigation();\n const { data: folderStructure = [] } = useGetFolderStructureQuery();\n const rootLabel = formatMessage({\n id: getTranslationKey('plugin.name'),\n defaultMessage: 'Media Library',\n });\n const [bulkMove, { isLoading: isMovePending }] = useBulkMoveMutation();\n const [dragItems, setDragItems] = useState<DragItemData[]>([]);\n const [liveAnnouncement, setLiveAnnouncement] = useState('');\n // Sync session for drag-end — state alone can lag one render behind dragStart.\n const dragSessionRef = useRef<DragSession>({\n items: [],\n fromSelection: false,\n activeSourceFolderId: null,\n spansMultipleSources: false,\n });\n\n const announceToLiveRegion = useCallback((message: string) => {\n setLiveAnnouncement('');\n requestAnimationFrame(() => setLiveAnnouncement(message));\n }, []);\n\n // Moving is a mutation (bulk-move → `assets.update`); without the permission\n // pointer drag must never activate. Keyboard moves go through BulkMoveDialog,\n // which is itself gated.\n //\n // The gate has to keep BOTH the `useSensor`/`useSensors` calls AND the sensor\n // array's length constant across renders: `canUpdate` starts false and flips\n // true once the RBAC check resolves, and dnd-kit keys internal memos/effects\n // on the sensor list, erroring if its size changes (\"argument changed size\n // between renders\"). So adding/removing a sensor is out — instead keep one\n // PointerSensor always and push its activation distance out of reach when the\n // user can't move, which no real drag gesture will ever satisfy.\n const { canUpdate } = useMediaLibraryPermissions();\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: { distance: canUpdate ? 8 : DRAG_DISABLED_DISTANCE },\n })\n );\n\n const validDropTargets = useMemo(\n () => computeValidDropTargets(dragItems, folderStructure),\n [dragItems, folderStructure]\n );\n\n const isValidDropTarget = useCallback(\n (targetFolderId: number | null) => validDropTargets.has(targetFolderId),\n [validDropTargets]\n );\n\n const contextValue = useMemo<AssetsDndContextValue>(\n () => ({\n isInternalDragActive: dragItems.length > 0,\n isMovePending,\n isValidDropTarget,\n }),\n [dragItems.length, isMovePending, isValidDropTarget]\n );\n\n const clearDragState = useCallback(() => {\n dragSessionRef.current = {\n items: [],\n fromSelection: false,\n activeSourceFolderId: null,\n spansMultipleSources: false,\n };\n setDragItems([]);\n }, []);\n\n const handleDragStart = useCallback(\n (event: DragStartEvent) => {\n const data = event.active.data.current as DragItemData | undefined;\n\n if (!data) {\n clearDragState();\n return;\n }\n\n const dragSet = buildDragSet(data, selection?.selectedKeys, locations, currentFolderId);\n dragSessionRef.current = dragSet;\n setDragItems(dragSet.items);\n },\n [clearDragState, currentFolderId, locations, selection?.selectedKeys]\n );\n\n const handleDragEnd = useCallback(\n async (event: DragEndEvent) => {\n const { over } = event;\n const { items, fromSelection, activeSourceFolderId, spansMultipleSources } =\n dragSessionRef.current;\n clearDragState();\n\n if (isMovePending || !over || items.length === 0) {\n return;\n }\n\n const destination = resolveDestination(over.id);\n\n if (!destination) {\n return;\n }\n\n const { destinationFolderId: targetFolderId } = destination;\n\n if (\n !canDropItemOnFolder({\n items,\n targetFolderId,\n folderStructure,\n })\n ) {\n return;\n }\n\n const payload = buildBulkMovePayload(items);\n // Source is the grabbed row's own location, not the folder currently open:\n // a global search result can be dragged out of a folder the user isn't in.\n // A search-built selection can also span folders, and then no single\n // source is true for the whole set — `null` drops it from the wording\n // instead of naming one item's folder for all of them. Destination is the\n // drop target. Both use leaf names so the DnD toast reads identically to\n // the dialog's.\n const successMessage = formatMoveSuccessMessage({\n formatMessage,\n count: items.length,\n source: spansMultipleSources\n ? null\n : getFolderLabel(folderStructure, activeSourceFolderId, rootLabel),\n destination: getFolderLabel(folderStructure, targetFolderId, rootLabel),\n });\n const errorFallback = formatMessage({\n id: getTranslationKey('list.bulk-actions.move.error'),\n defaultMessage: 'An error occurred while moving the items.',\n });\n\n try {\n await bulkMove({ ...payload, destinationFolderId: targetFolderId }).unwrap();\n\n if (fromSelection) {\n selection?.clear();\n }\n\n announceToLiveRegion(successMessage);\n\n toggleNotification({\n type: 'success',\n message: successMessage,\n });\n } catch (error) {\n const errorMessage = getErrorMessage(error, errorFallback);\n\n announceToLiveRegion(\n formatMessage(\n {\n id: getTranslationKey('dnd.announce.move-failure'),\n defaultMessage: 'Move failed. {message}',\n },\n { message: errorMessage }\n )\n );\n\n toggleNotification({\n type: 'danger',\n message: errorMessage,\n });\n }\n },\n [\n announceToLiveRegion,\n bulkMove,\n clearDragState,\n folderStructure,\n formatMessage,\n getErrorMessage,\n isMovePending,\n rootLabel,\n selection,\n toggleNotification,\n ]\n );\n\n const handleDragCancel = useCallback(() => {\n clearDragState();\n }, [clearDragState]);\n\n const announcements = useMemo(\n () => ({\n onDragStart: ({ active }: DragStartEvent) => {\n const data = active.data.current as DragItemData | undefined;\n return data\n ? formatMessage(\n {\n id: getTranslationKey('dnd.announce.drag-start'),\n defaultMessage: 'Picked up {name}. Drop on a folder to move.',\n },\n { name: data.name }\n )\n : '';\n },\n onDragOver: () => '',\n onDragEnd: ({ active, over }: DragEndEvent) => {\n if (!over) {\n return formatMessage({\n id: getTranslationKey('dnd.announce.cancel'),\n defaultMessage: 'Drag cancelled.',\n });\n }\n\n const destination = resolveDestination(over.id);\n const activeData = active.data.current as DragItemData | undefined;\n\n if (!destination || !activeData) {\n return '';\n }\n\n const { items } = buildDragSet(\n activeData,\n selection?.selectedKeys,\n locations,\n currentFolderId\n );\n\n if (\n !canDropItemOnFolder({\n items,\n targetFolderId: destination.destinationFolderId,\n folderStructure,\n })\n ) {\n return formatMessage({\n id: getTranslationKey('dnd.announce.invalid-drop'),\n defaultMessage: 'Cannot move item to this folder.',\n });\n }\n\n return '';\n },\n onDragCancel: () =>\n formatMessage({\n id: getTranslationKey('dnd.announce.cancel'),\n defaultMessage: 'Drag cancelled.',\n }),\n }),\n [currentFolderId, folderStructure, formatMessage, locations, selection?.selectedKeys]\n );\n\n return (\n <AssetsDndContext.Provider value={contextValue}>\n <DndContext\n sensors={sensors}\n collisionDetection={pointerWithin}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n accessibility={{ announcements }}\n >\n <VisuallyHidden aria-live=\"polite\" aria-atomic=\"true\">\n {liveAnnouncement}\n </VisuallyHidden>\n <Flex position=\"relative\" alignItems=\"stretch\" direction=\"column\" height=\"100%\">\n {children}\n </Flex>\n <DragOverlay dropAnimation={null} modifiers={OVERLAY_MODIFIERS}>\n {dragItems.length > 0 ? <DragOverlayChip items={dragItems} /> : null}\n </DragOverlay>\n </DndContext>\n </AssetsDndContext.Provider>\n );\n};\n\n// Keyboard-accessible moves are handled by `BulkMoveDialog` (reachable from the\n// bulk-actions bar): pointer drag is a mouse-only enhancement, the dialog is the\n// a11y path. No `KeyboardSensor` by design.\n"],"names":["AssetsDndContext","createContext","useAssetsDndOptional","useContext","resolveDestination","overId","inView","parseFolderTargetId","destinationFolderId","tree","parseFolderTreeTargetId","DRAG_DISABLED_DISTANCE","Number","MAX_SAFE_INTEGER","OVERLAY_MODIFIERS","snapCenterToCursor","AssetsDndProvider","children","locations","emptyItemLocations","formatMessage","useIntl","getErrorMessage","useApiErrorMessage","toggleNotification","useNotification","selection","useAssetSelectionOptional","currentFolderId","useFolderNavigation","data","folderStructure","useGetFolderStructureQuery","rootLabel","id","getTranslationKey","defaultMessage","bulkMove","isLoading","isMovePending","useBulkMoveMutation","dragItems","setDragItems","useState","liveAnnouncement","setLiveAnnouncement","dragSessionRef","useRef","items","fromSelection","activeSourceFolderId","spansMultipleSources","announceToLiveRegion","useCallback","message","requestAnimationFrame","canUpdate","useMediaLibraryPermissions","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","validDropTargets","useMemo","computeValidDropTargets","isValidDropTarget","targetFolderId","has","contextValue","isInternalDragActive","length","clearDragState","current","handleDragStart","event","active","dragSet","buildDragSet","selectedKeys","handleDragEnd","over","destination","canDropItemOnFolder","payload","buildBulkMovePayload","successMessage","formatMoveSuccessMessage","count","source","getFolderLabel","errorFallback","unwrap","clear","type","error","errorMessage","handleDragCancel","announcements","onDragStart","name","onDragOver","onDragEnd","activeData","onDragCancel","_jsx","Provider","value","_jsxs","DndContext","collisionDetection","pointerWithin","accessibility","VisuallyHidden","aria-live","aria-atomic","Flex","position","alignItems","direction","height","DragOverlay","dropAnimation","modifiers","DragOverlayChip"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragOverlayChip.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/DragOverlayChip.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { File as FileIcon, Folder as FolderIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslationKey } from '../../../../utils/translations';\n\nimport type { DragItemData } from '../../../../types/dnd';\n\n// Folder & File (@strapi/icons) share viewBox 0 0 32 32 but File's glyph is\n// narrower/lighter. Rendering File a few px larger inside a fixed square box makes\n// the two previews read at the same visual size without shifting the chip layout.\nconst FOLDER_ICON_SIZE = 20;\nconst FILE_ICON_SIZE = 24;\nconst ICON_BOX = 24;\n\n// `CompositeChip` is `styled(Chip)`, so it inherits the testid.\nconst Chip = styled(Flex).attrs({ 'data-testid': 'drag-overlay-chip' })`\n position: relative;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[2]};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[3]}`};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.primary100};\n box-shadow: ${({ theme }) => theme.shadows.tableShadow};\n cursor: grabbing;\n max-width: 24rem;\n`;\n\nconst CompositeChip = styled(Chip)`\n box-shadow:\n ${({ theme }) => theme.shadows.tableShadow},\n 0 4px 0 -1px ${({ theme }) => theme.colors.primary100},\n 0 4px 0 0 ${({ theme }) => theme.colors.primary200},\n 0 7px 0 -1px ${({ theme }) => theme.colors.primary100},\n 0 7px 0 0 ${({ theme }) => theme.colors.primary200};\n`;\n\nconst CountGroup = styled(Flex)`\n align-items: center;\n gap: ${({ theme }) => theme.spaces[1]};\n`;\n\nconst IconBox = styled(Flex)`\n flex-shrink: 0;\n width: ${ICON_BOX}px;\n height: ${ICON_BOX}px;\n align-items: center;\n justify-content: center;\n`;\n\nconst TotalBadge = styled(Flex)`\n position: absolute;\n top: -${({ theme }) => theme.spaces[2]};\n right: -${({ theme }) => theme.spaces[2]};\n align-items: center;\n justify-content: center;\n min-width: ${({ theme }) => theme.spaces[5]};\n height: ${({ theme }) => theme.spaces[5]};\n padding: 0 ${({ theme }) => theme.spaces[1]};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.primary600};\n`;\n\ninterface DragOverlayChipProps {\n items: DragItemData[];\n}\n\nexport const DragOverlayChip = ({ items }: DragOverlayChipProps) => {\n const { formatMessage } = useIntl();\n\n if (items.length === 0) {\n return null;\n }\n\n if (items.length === 1) {\n const item = items[0];\n const isFolder = item.kind === 'folder';\n const Icon = isFolder ? FolderIcon : FileIcon;\n const size = isFolder ? FOLDER_ICON_SIZE : FILE_ICON_SIZE;\n\n return (\n <Chip>\n <IconBox>\n <Icon width={size} height={size} />\n </IconBox>\n <Typography textColor=\"neutral800\" fontWeight=\"semiBold\" ellipsis>\n {item.name}\n </Typography>\n </Chip>\n );\n }\n\n const folderCount = items.filter((item) => item.kind === 'folder').length;\n const fileCount = items.filter((item) => item.kind === 'file').length;\n const total = folderCount + fileCount;\n\n return (\n <CompositeChip gap={3}>\n {folderCount > 0 ? (\n <CountGroup>\n <IconBox>\n <FolderIcon width={FOLDER_ICON_SIZE} height={FOLDER_ICON_SIZE} />\n </IconBox>\n <Typography textColor=\"neutral800\" fontWeight=\"semiBold\">\n {formatMessage(\n {\n id: getTranslationKey('dnd.overlay.folders'),\n defaultMessage: '{count, plural, one {# folder} other {# folders}}',\n },\n { count: folderCount }\n )}\n </Typography>\n </CountGroup>\n ) : null}\n {fileCount > 0 ? (\n <CountGroup>\n <IconBox>\n <FileIcon width={FILE_ICON_SIZE} height={FILE_ICON_SIZE} />\n </IconBox>\n <Typography textColor=\"neutral800\" fontWeight=\"semiBold\">\n {formatMessage(\n {\n id: getTranslationKey('dnd.overlay.files'),\n defaultMessage: '{count, plural, one {# file} other {# files}}',\n },\n { count: fileCount }\n )}\n </Typography>\n </CountGroup>\n ) : null}\n <TotalBadge>\n <Typography textColor=\"neutral0\" fontWeight=\"bold\" variant=\"pi\">\n {total}\n </Typography>\n </TotalBadge>\n </CompositeChip>\n );\n};\n"],"names":["FOLDER_ICON_SIZE","FILE_ICON_SIZE","ICON_BOX","Chip","styled","Flex","attrs","theme","spaces","borderRadius","colors","primary100","shadows","tableShadow","CompositeChip","primary200","CountGroup","IconBox","TotalBadge","primary600","DragOverlayChip","items","formatMessage","useIntl","length","item","isFolder","kind","Icon","FolderIcon","FileIcon","size","_jsxs","_jsx","width","height","Typography","textColor","fontWeight","ellipsis","name","folderCount","filter","fileCount","total","gap","id","getTranslationKey","defaultMessage","count","variant"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragOverlayChip.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/DragOverlayChip.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { File as FileIcon, Folder as FolderIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslationKey } from '../../../../utils/translations';\n\nimport type { DragItemData } from '../../../../types/dnd';\n\n// Folder & File (@strapi/icons) share viewBox 0 0 32 32 but File's glyph is\n// narrower/lighter. Rendering File a few px larger inside a fixed square box makes\n// the two previews read at the same visual size without shifting the chip layout.\nconst FOLDER_ICON_SIZE = 20;\nconst FILE_ICON_SIZE = 24;\nconst ICON_BOX = 24;\n\n// `CompositeChip` is `styled(Chip)`, so it inherits the testid.\nconst Chip = styled(Flex).attrs({ 'data-testid': 'drag-overlay-chip' })`\n position: relative;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[2]};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[3]}`};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.primary100};\n box-shadow: ${({ theme }) => theme.shadows.tableShadow};\n cursor: grabbing;\n max-width: 24rem;\n`;\n\nconst CompositeChip = styled(Chip)`\n box-shadow:\n ${({ theme }) => theme.shadows.tableShadow},\n 0 4px 0 -1px ${({ theme }) => theme.colors.primary100},\n 0 4px 0 0 ${({ theme }) => theme.colors.primary200},\n 0 7px 0 -1px ${({ theme }) => theme.colors.primary100},\n 0 7px 0 0 ${({ theme }) => theme.colors.primary200};\n`;\n\nconst CountGroup = styled(Flex)`\n align-items: center;\n gap: ${({ theme }) => theme.spaces[1]};\n`;\n\nconst IconBox = styled(Flex)`\n flex-shrink: 0;\n width: ${ICON_BOX}px;\n height: ${ICON_BOX}px;\n align-items: center;\n justify-content: center;\n`;\n\nconst TotalBadge = styled(Flex)`\n position: absolute;\n top: -${({ theme }) => theme.spaces[2]};\n right: -${({ theme }) => theme.spaces[2]};\n align-items: center;\n justify-content: center;\n min-width: ${({ theme }) => theme.spaces[5]};\n height: ${({ theme }) => theme.spaces[5]};\n padding: 0 ${({ theme }) => theme.spaces[1]};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.primary600};\n`;\n\ninterface DragOverlayChipProps {\n items: DragItemData[];\n}\n\nexport const DragOverlayChip = ({ items }: DragOverlayChipProps) => {\n const { formatMessage } = useIntl();\n\n if (items.length === 0) {\n return null;\n }\n\n if (items.length === 1) {\n const item = items[0];\n const isFolder = item.kind === 'folder';\n const Icon = isFolder ? FolderIcon : FileIcon;\n const size = isFolder ? FOLDER_ICON_SIZE : FILE_ICON_SIZE;\n\n return (\n <Chip>\n <IconBox>\n <Icon width={size} height={size} />\n </IconBox>\n <Typography textColor=\"neutral800\" fontWeight=\"semiBold\" ellipsis>\n {item.name}\n </Typography>\n </Chip>\n );\n }\n\n const folderCount = items.filter((item) => item.kind === 'folder').length;\n const fileCount = items.filter((item) => item.kind === 'file').length;\n const total = folderCount + fileCount;\n\n return (\n <CompositeChip gap={3}>\n {folderCount > 0 ? (\n <CountGroup>\n <IconBox>\n <FolderIcon width={FOLDER_ICON_SIZE} height={FOLDER_ICON_SIZE} />\n </IconBox>\n <Typography textColor=\"neutral800\" fontWeight=\"semiBold\">\n {formatMessage(\n {\n id: getTranslationKey('dnd.overlay.folders'),\n defaultMessage: '{count, plural, one {# folder} other {# folders}}',\n },\n { count: folderCount }\n )}\n </Typography>\n </CountGroup>\n ) : null}\n {fileCount > 0 ? (\n <CountGroup>\n <IconBox>\n <FileIcon width={FILE_ICON_SIZE} height={FILE_ICON_SIZE} />\n </IconBox>\n <Typography textColor=\"neutral800\" fontWeight=\"semiBold\">\n {formatMessage(\n {\n id: getTranslationKey('dnd.overlay.files'),\n defaultMessage: '{count, plural, one {# file} other {# files}}',\n },\n { count: fileCount }\n )}\n </Typography>\n </CountGroup>\n ) : null}\n <TotalBadge>\n <Typography textColor=\"neutral0\" fontWeight=\"bold\" variant=\"pi\">\n {total}\n </Typography>\n </TotalBadge>\n </CompositeChip>\n );\n};\n"],"names":["FOLDER_ICON_SIZE","FILE_ICON_SIZE","ICON_BOX","Chip","styled","Flex","attrs","theme","spaces","borderRadius","colors","primary100","shadows","tableShadow","CompositeChip","primary200","CountGroup","IconBox","TotalBadge","primary600","DragOverlayChip","items","formatMessage","useIntl","length","item","isFolder","kind","Icon","FolderIcon","FileIcon","size","_jsxs","_jsx","width","height","Typography","textColor","fontWeight","ellipsis","name","folderCount","filter","fileCount","total","gap","id","getTranslationKey","defaultMessage","count","variant"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildDragSet.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/buildDragSet.ts"],"sourcesContent":["import { locateItem, type ItemLocations } from '../../../../utils/itemLocations';\nimport { sourceFolderIdOf } from '../../../../utils/itemSource';\nimport { assetKey, folderKey, type ItemKey } from '../../utils/selection';\n\nimport type { DragItemData } from '../../../../types/dnd';\n\nexport interface DragSet {\n items: DragItemData[];\n /** True when the active item was already selected — membership is the full selection. */\n fromSelection: boolean;\n /**\n * Location of the row the user actually grabbed — the only item in the set\n * whose origin the user can point at. Names the source in the success toast.\n */\n activeSourceFolderId: number | null;\n /**\n * True when the set spans more than one source folder, which a global search\n * selection can. There is then no single source to name, so the toast has to\n * drop it rather than pick one item's folder and imply the others came from\n * there too.\n */\n spansMultipleSources: boolean;\n}\n\n/**\n * Derive the drag payload once at drag start.\n *\n * - Dragging a selected item moves the complete current selection.\n * - Dragging an unselected item moves only that item.\n *\n * The active item carries its own location on `dragData` (the row it was\n * grabbed from); the rest of the selection is resolved through `locations`.\n * Neither is derived from the folder currently open, because search results are\n * global — see `utils/itemLocations.ts`.\n */\nexport const buildDragSet = (\n activeData: DragItemData,\n selectedKeys: Set<ItemKey> | undefined,\n locations: ItemLocations,\n fallbackFolderId: number | null\n): DragSet => {\n const activeKey: ItemKey =\n activeData.kind === 'file' ? assetKey(activeData.id) : folderKey(activeData.id);\n\n const activeSourceFolderId = sourceFolderIdOf(activeData);\n\n if (!selectedKeys || !selectedKeys.has(activeKey)) {\n return {\n items: [activeData],\n fromSelection: false,\n activeSourceFolderId,\n spansMultipleSources: false,\n };\n }\n\n const items: DragItemData[] = [];\n\n selectedKeys.forEach((key) => {\n const separator = key.indexOf(':');\n const kind = key.slice(0, separator);\n const id = Number(key.slice(separator + 1));\n\n if (kind === 'asset') {\n if (activeData.kind === 'file' && activeData.id === id) {\n items.push(activeData);\n return;\n }\n\n items.push({\n kind: 'file',\n id,\n name: '',\n folderId: locateItem(locations, 'file', id, fallbackFolderId),\n });\n return;\n }\n\n if (activeData.kind === 'folder' && activeData.id === id) {\n items.push(activeData);\n return;\n }\n\n items.push({\n kind: 'folder',\n id,\n name: '',\n parentId: locateItem(locations, 'folder', id, fallbackFolderId),\n });\n });\n\n return {\n items,\n fromSelection: true,\n activeSourceFolderId,\n spansMultipleSources: items.some((item) => sourceFolderIdOf(item) !== activeSourceFolderId),\n };\n};\n"],"names":["buildDragSet","activeData","selectedKeys","locations","fallbackFolderId","activeKey","kind","assetKey","id","folderKey","activeSourceFolderId","sourceFolderIdOf","has","items","fromSelection","spansMultipleSources","forEach","key","separator","indexOf","slice","Number","push","name","folderId","locateItem","parentId","some","item"],"mappings":";;;;;;AAwBA;;;;;;;;;;AAUC,IACM,MAAMA,YAAAA,GAAe,CAC1BC,UAAAA,EACAC,cACAC,SAAAA,EACAC,gBAAAA,GAAAA;IAEA,MAAMC,SAAAA,GACJJ,UAAAA,CAAWK,IAAI,KAAK,MAAA,GAASC,kBAAAA,CAASN,UAAAA,CAAWO,EAAE,CAAA,GAAIC,mBAAAA,CAAUR,UAAAA,CAAWO,EAAE,CAAA;AAEhF,IAAA,MAAME,uBAAuBC,2BAAAA,CAAiBV,UAAAA,CAAAA;AAE9C,IAAA,IAAI,CAACC,YAAAA,IAAgB,CAACA,YAAAA,CAAaU,GAAG,CAACP,SAAAA,CAAAA,EAAY;QACjD,OAAO;YACLQ,KAAAA,EAAO;AAACZ,gBAAAA;AAAW,aAAA;YACnBa,aAAAA,EAAe,KAAA;AACfJ,YAAAA,oBAAAA;YACAK,oBAAAA,EAAsB;AACxB,SAAA;AACF,IAAA;AAEA,IAAA,MAAMF,QAAwB,EAAE;IAEhCX,YAAAA,CAAac,OAAO,CAAC,CAACC,GAAAA,GAAAA;QACpB,MAAMC,SAAAA,GAAYD,GAAAA,CAAIE,OAAO,CAAC,GAAA,CAAA;AAC9B,QAAA,MAAMb,IAAAA,GAAOW,GAAAA,CAAIG,KAAK,CAAC,CAAA,EAAGF,SAAAA,CAAAA;AAC1B,QAAA,MAAMV,EAAAA,GAAKa,MAAAA,CAAOJ,GAAAA,CAAIG,KAAK,CAACF,SAAAA,GAAY,CAAA,CAAA,CAAA;AAExC,QAAA,IAAIZ,SAAS,OAAA,EAAS;AACpB,YAAA,IAAIL,WAAWK,IAAI,KAAK,UAAUL,UAAAA,CAAWO,EAAE,KAAKA,EAAAA,EAAI;AACtDK,gBAAAA,KAAAA,CAAMS,IAAI,CAACrB,UAAAA,CAAAA;AACX,gBAAA;AACF,YAAA;AAEAY,YAAAA,KAAAA,CAAMS,IAAI,CAAC;gBACThB,IAAAA,EAAM,MAAA;AACNE,gBAAAA,EAAAA;gBACAe,IAAAA,EAAM,EAAA;gBACNC,QAAAA,EAAUC,wBAAAA,CAAWtB,SAAAA,EAAW,MAAA,EAAQK,EAAAA,EAAIJ,gBAAAA;AAC9C,aAAA,CAAA;AACA,YAAA;AACF,QAAA;AAEA,QAAA,IAAIH,WAAWK,IAAI,KAAK,YAAYL,UAAAA,CAAWO,EAAE,KAAKA,EAAAA,EAAI;AACxDK,YAAAA,KAAAA,CAAMS,IAAI,CAACrB,UAAAA,CAAAA;AACX,YAAA;AACF,QAAA;AAEAY,QAAAA,KAAAA,CAAMS,IAAI,CAAC;YACThB,IAAAA,EAAM,QAAA;AACNE,YAAAA,EAAAA;YACAe,IAAAA,EAAM,EAAA;YACNG,QAAAA,EAAUD,wBAAAA,CAAWtB,SAAAA,EAAW,QAAA,EAAUK,EAAAA,EAAIJ,gBAAAA;AAChD,SAAA,CAAA;AACF,IAAA,CAAA,CAAA;IAEA,OAAO;AACLS,QAAAA,KAAAA;QACAC,aAAAA,EAAe,IAAA;AACfJ,QAAAA,oBAAAA;AACAK,QAAAA,oBAAAA,EAAsBF,MAAMc,IAAI,CAAC,CAACC,IAAAA,GAASjB,4BAAiBiB,IAAAA,CAAAA,KAAUlB,oBAAAA;AACxE,KAAA;AACF;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildDragSet.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/buildDragSet.ts"],"sourcesContent":["import { locateItem, type ItemLocations } from '../../../../utils/itemLocations';\nimport { sourceFolderIdOf } from '../../../../utils/itemSource';\nimport { assetKey, folderKey, type ItemKey } from '../../utils/selection';\n\nimport type { DragItemData } from '../../../../types/dnd';\n\nexport interface DragSet {\n items: DragItemData[];\n /** True when the active item was already selected — membership is the full selection. */\n fromSelection: boolean;\n /**\n * Location of the row the user actually grabbed — the only item in the set\n * whose origin the user can point at. Names the source in the success toast.\n */\n activeSourceFolderId: number | null;\n /**\n * True when the set spans more than one source folder, which a global search\n * selection can. There is then no single source to name, so the toast has to\n * drop it rather than pick one item's folder and imply the others came from\n * there too.\n */\n spansMultipleSources: boolean;\n}\n\n/**\n * Derive the drag payload once at drag start.\n *\n * - Dragging a selected item moves the complete current selection.\n * - Dragging an unselected item moves only that item.\n *\n * The active item carries its own location on `dragData` (the row it was\n * grabbed from); the rest of the selection is resolved through `locations`.\n * Neither is derived from the folder currently open, because search results are\n * global — see `utils/itemLocations.ts`.\n */\nexport const buildDragSet = (\n activeData: DragItemData,\n selectedKeys: Set<ItemKey> | undefined,\n locations: ItemLocations,\n fallbackFolderId: number | null\n): DragSet => {\n const activeKey: ItemKey =\n activeData.kind === 'file' ? assetKey(activeData.id) : folderKey(activeData.id);\n\n const activeSourceFolderId = sourceFolderIdOf(activeData);\n\n if (!selectedKeys || !selectedKeys.has(activeKey)) {\n return {\n items: [activeData],\n fromSelection: false,\n activeSourceFolderId,\n spansMultipleSources: false,\n };\n }\n\n const items: DragItemData[] = [];\n\n selectedKeys.forEach((key) => {\n const separator = key.indexOf(':');\n const kind = key.slice(0, separator);\n const id = Number(key.slice(separator + 1));\n\n if (kind === 'asset') {\n if (activeData.kind === 'file' && activeData.id === id) {\n items.push(activeData);\n return;\n }\n\n items.push({\n kind: 'file',\n id,\n name: '',\n folderId: locateItem(locations, 'file', id, fallbackFolderId),\n });\n return;\n }\n\n if (activeData.kind === 'folder' && activeData.id === id) {\n items.push(activeData);\n return;\n }\n\n items.push({\n kind: 'folder',\n id,\n name: '',\n parentId: locateItem(locations, 'folder', id, fallbackFolderId),\n });\n });\n\n return {\n items,\n fromSelection: true,\n activeSourceFolderId,\n spansMultipleSources: items.some((item) => sourceFolderIdOf(item) !== activeSourceFolderId),\n };\n};\n"],"names":["buildDragSet","activeData","selectedKeys","locations","fallbackFolderId","activeKey","kind","assetKey","id","folderKey","activeSourceFolderId","sourceFolderIdOf","has","items","fromSelection","spansMultipleSources","forEach","key","separator","indexOf","slice","Number","push","name","folderId","locateItem","parentId","some","item"],"mappings":";;;;AAwBA;;;;;;;;;;AAUC,IACM,MAAMA,YAAAA,GAAe,CAC1BC,UAAAA,EACAC,cACAC,SAAAA,EACAC,gBAAAA,GAAAA;IAEA,MAAMC,SAAAA,GACJJ,UAAAA,CAAWK,IAAI,KAAK,MAAA,GAASC,QAAAA,CAASN,UAAAA,CAAWO,EAAE,CAAA,GAAIC,SAAAA,CAAUR,UAAAA,CAAWO,EAAE,CAAA;AAEhF,IAAA,MAAME,uBAAuBC,gBAAAA,CAAiBV,UAAAA,CAAAA;AAE9C,IAAA,IAAI,CAACC,YAAAA,IAAgB,CAACA,YAAAA,CAAaU,GAAG,CAACP,SAAAA,CAAAA,EAAY;QACjD,OAAO;YACLQ,KAAAA,EAAO;AAACZ,gBAAAA;AAAW,aAAA;YACnBa,aAAAA,EAAe,KAAA;AACfJ,YAAAA,oBAAAA;YACAK,oBAAAA,EAAsB;AACxB,SAAA;AACF,IAAA;AAEA,IAAA,MAAMF,QAAwB,EAAE;IAEhCX,YAAAA,CAAac,OAAO,CAAC,CAACC,GAAAA,GAAAA;QACpB,MAAMC,SAAAA,GAAYD,GAAAA,CAAIE,OAAO,CAAC,GAAA,CAAA;AAC9B,QAAA,MAAMb,IAAAA,GAAOW,GAAAA,CAAIG,KAAK,CAAC,CAAA,EAAGF,SAAAA,CAAAA;AAC1B,QAAA,MAAMV,EAAAA,GAAKa,MAAAA,CAAOJ,GAAAA,CAAIG,KAAK,CAACF,SAAAA,GAAY,CAAA,CAAA,CAAA;AAExC,QAAA,IAAIZ,SAAS,OAAA,EAAS;AACpB,YAAA,IAAIL,WAAWK,IAAI,KAAK,UAAUL,UAAAA,CAAWO,EAAE,KAAKA,EAAAA,EAAI;AACtDK,gBAAAA,KAAAA,CAAMS,IAAI,CAACrB,UAAAA,CAAAA;AACX,gBAAA;AACF,YAAA;AAEAY,YAAAA,KAAAA,CAAMS,IAAI,CAAC;gBACThB,IAAAA,EAAM,MAAA;AACNE,gBAAAA,EAAAA;gBACAe,IAAAA,EAAM,EAAA;gBACNC,QAAAA,EAAUC,UAAAA,CAAWtB,SAAAA,EAAW,MAAA,EAAQK,EAAAA,EAAIJ,gBAAAA;AAC9C,aAAA,CAAA;AACA,YAAA;AACF,QAAA;AAEA,QAAA,IAAIH,WAAWK,IAAI,KAAK,YAAYL,UAAAA,CAAWO,EAAE,KAAKA,EAAAA,EAAI;AACxDK,YAAAA,KAAAA,CAAMS,IAAI,CAACrB,UAAAA,CAAAA;AACX,YAAA;AACF,QAAA;AAEAY,QAAAA,KAAAA,CAAMS,IAAI,CAAC;YACThB,IAAAA,EAAM,QAAA;AACNE,YAAAA,EAAAA;YACAe,IAAAA,EAAM,EAAA;YACNG,QAAAA,EAAUD,UAAAA,CAAWtB,SAAAA,EAAW,QAAA,EAAUK,EAAAA,EAAIJ,gBAAAA;AAChD,SAAA,CAAA;AACF,IAAA,CAAA,CAAA;IAEA,OAAO;AACLS,QAAAA,KAAAA;QACAC,aAAAA,EAAe,IAAA;AACfJ,QAAAA,oBAAAA;AACAK,QAAAA,oBAAAA,EAAsBF,MAAMc,IAAI,CAAC,CAACC,IAAAA,GAASjB,iBAAiBiB,IAAAA,CAAAA,KAAUlB,oBAAAA;AACxE,KAAA;AACF;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeValidDropTargets.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/computeValidDropTargets.ts"],"sourcesContent":["import { canDropItemOnFolder } from '../../../../utils/canDropItemOnFolder';\nimport { flattenFolderStructure } from '../../../../utils/flattenFolderStructure';\n\nimport type { FolderNode } from '../../../../../../shared/contracts/folders';\nimport type { DragItemData } from '../../../../types/dnd';\n\n/**\n * Evaluate destination validity once for the full drag set. Callers look up\n * targets in O(1) via {@link Set.has} — `null` represents the Home/root drop.\n */\nexport const computeValidDropTargets = (\n items: DragItemData[],\n folderStructure: FolderNode[]\n): Set<number | null> => {\n const valid = new Set<number | null>();\n\n if (items.length === 0) {\n return valid;\n }\n\n if (canDropItemOnFolder({ items, targetFolderId: null, folderStructure })) {\n valid.add(null);\n }\n\n for (const { id } of flattenFolderStructure(folderStructure)) {\n if (canDropItemOnFolder({ items, targetFolderId: id, folderStructure })) {\n valid.add(id);\n }\n }\n\n return valid;\n};\n"],"names":["computeValidDropTargets","items","folderStructure","valid","Set","length","canDropItemOnFolder","targetFolderId","add","id","flattenFolderStructure"],"mappings":";;;;;AAMA;;;AAGC,IACM,MAAMA,uBAAAA,GAA0B,CACrCC,KAAAA,EACAC,eAAAA,GAAAA;AAEA,IAAA,MAAMC,QAAQ,IAAIC,GAAAA,EAAAA;IAElB,IAAIH,KAAAA,CAAMI,MAAM,KAAK,CAAA,EAAG;QACtB,OAAOF,KAAAA;AACT,IAAA;AAEA,IAAA,IAAIG,uCAAAA,CAAoB;AAAEL,QAAAA,KAAAA;QAAOM,cAAAA,EAAgB,IAAA;AAAML,QAAAA;KAAgB,CAAA,EAAI;AACzEC,QAAAA,KAAAA,CAAMK,GAAG,CAAC,IAAA,CAAA;AACZ,IAAA;AAEA,IAAA,KAAK,MAAM,EAAEC,EAAE,EAAE,IAAIC,8CAAuBR,eAAAA,CAAAA,CAAkB;AAC5D,QAAA,IAAII,uCAAAA,CAAoB;AAAEL,YAAAA,KAAAA;YAAOM,cAAAA,EAAgBE,EAAAA;AAAIP,YAAAA;SAAgB,CAAA,EAAI;AACvEC,YAAAA,KAAAA,CAAMK,GAAG,CAACC,EAAAA,CAAAA;AACZ,QAAA;AACF,IAAA;IAEA,OAAON,KAAAA;AACT;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeValidDropTargets.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/computeValidDropTargets.ts"],"sourcesContent":["import { canDropItemOnFolder } from '../../../../utils/canDropItemOnFolder';\nimport { flattenFolderStructure } from '../../../../utils/flattenFolderStructure';\n\nimport type { FolderNode } from '../../../../../../shared/contracts/folders';\nimport type { DragItemData } from '../../../../types/dnd';\n\n/**\n * Evaluate destination validity once for the full drag set. Callers look up\n * targets in O(1) via {@link Set.has} — `null` represents the Home/root drop.\n */\nexport const computeValidDropTargets = (\n items: DragItemData[],\n folderStructure: FolderNode[]\n): Set<number | null> => {\n const valid = new Set<number | null>();\n\n if (items.length === 0) {\n return valid;\n }\n\n if (canDropItemOnFolder({ items, targetFolderId: null, folderStructure })) {\n valid.add(null);\n }\n\n for (const { id } of flattenFolderStructure(folderStructure)) {\n if (canDropItemOnFolder({ items, targetFolderId: id, folderStructure })) {\n valid.add(id);\n }\n }\n\n return valid;\n};\n"],"names":["computeValidDropTargets","items","folderStructure","valid","Set","length","canDropItemOnFolder","targetFolderId","add","id","flattenFolderStructure"],"mappings":";;;AAMA;;;AAGC,IACM,MAAMA,uBAAAA,GAA0B,CACrCC,KAAAA,EACAC,eAAAA,GAAAA;AAEA,IAAA,MAAMC,QAAQ,IAAIC,GAAAA,EAAAA;IAElB,IAAIH,KAAAA,CAAMI,MAAM,KAAK,CAAA,EAAG;QACtB,OAAOF,KAAAA;AACT,IAAA;AAEA,IAAA,IAAIG,mBAAAA,CAAoB;AAAEL,QAAAA,KAAAA;QAAOM,cAAAA,EAAgB,IAAA;AAAML,QAAAA;KAAgB,CAAA,EAAI;AACzEC,QAAAA,KAAAA,CAAMK,GAAG,CAAC,IAAA,CAAA;AACZ,IAAA;AAEA,IAAA,KAAK,MAAM,EAAEC,EAAE,EAAE,IAAIC,uBAAuBR,eAAAA,CAAAA,CAAkB;AAC5D,QAAA,IAAII,mBAAAA,CAAoB;AAAEL,YAAAA,KAAAA;YAAOM,cAAAA,EAAgBE,EAAAA;AAAIP,YAAAA;SAAgB,CAAA,EAAI;AACvEC,YAAAA,KAAAA,CAAMK,GAAG,CAACC,EAAAA,CAAAA;AACZ,QAAA;AACF,IAAA;IAEA,OAAON,KAAAA;AACT;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dndIds.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/dndIds.ts"],"sourcesContent":["export const toFileDraggableId = (id: number) => `file:${id}` as const;\n\nexport const toFolderDraggableId = (id: number) => `folder:${id}` as const;\n\nexport const toFolderTargetId = (id: number) => `folder-target:${id}` as const;\n\nexport const parseFolderTargetId = (dndId: string | number): number | null => {\n if (typeof dndId !== 'string') {\n return null;\n }\n\n const match = /^folder-target:(\\d+)$/.exec(dndId);\n return match ? Number(match[1]) : null;\n};\n\nexport const toFolderTreeTargetId = (id: number) => `folder-tree-target:${id}` as const;\n\nexport const HOME_TREE_TARGET_ID = 'folder-tree-target:home' as const;\n\nexport const parseFolderTreeTargetId = (dndId: string | number): number | 'root' | null => {\n if (typeof dndId !== 'string') {\n return null;\n }\n\n if (dndId === HOME_TREE_TARGET_ID) {\n return 'root';\n }\n\n const match = /^folder-tree-target:(\\d+)$/.exec(dndId);\n return match ? Number(match[1]) : null;\n};\n"],"names":["toFileDraggableId","id","toFolderDraggableId","toFolderTargetId","parseFolderTargetId","dndId","match","exec","Number","toFolderTreeTargetId","HOME_TREE_TARGET_ID","parseFolderTreeTargetId"],"mappings":";;AAAO,MAAMA,oBAAoB,CAACC,EAAAA,GAAe,CAAC,KAAK,EAAEA;AAElD,MAAMC,sBAAsB,CAACD,EAAAA,GAAe,CAAC,OAAO,EAAEA;AAEtD,MAAME,mBAAmB,CAACF,EAAAA,GAAe,CAAC,cAAc,EAAEA;AAE1D,MAAMG,sBAAsB,CAACC,KAAAA,GAAAA;IAClC,IAAI,OAAOA,UAAU,QAAA,EAAU;QAC7B,OAAO,IAAA;AACT,IAAA;IAEA,MAAMC,KAAAA,GAAQ,uBAAA,CAAwBC,IAAI,CAACF,KAAAA,CAAAA;AAC3C,IAAA,OAAOC,KAAAA,GAAQE,MAAAA,CAAOF,KAAK,CAAC,EAAE,CAAA,GAAI,IAAA;AACpC;AAEO,MAAMG,uBAAuB,CAACR,EAAAA,GAAe,CAAC,mBAAmB,EAAEA;AAEnE,MAAMS,sBAAsB;AAE5B,MAAMC,0BAA0B,CAACN,KAAAA,GAAAA;IACtC,IAAI,OAAOA,UAAU,QAAA,EAAU;QAC7B,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,IAAIA,UAAUK,mBAAAA,EAAqB;QACjC,OAAO,MAAA;AACT,IAAA;IAEA,MAAMJ,KAAAA,GAAQ,4BAAA,CAA6BC,IAAI,CAACF,KAAAA,CAAAA;AAChD,IAAA,OAAOC,KAAAA,GAAQE,MAAAA,CAAOF,KAAK,CAAC,EAAE,CAAA,GAAI,IAAA;AACpC;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dndIds.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/dndIds.ts"],"sourcesContent":["export const toFileDraggableId = (id: number) => `file:${id}` as const;\n\nexport const toFolderDraggableId = (id: number) => `folder:${id}` as const;\n\nexport const toFolderTargetId = (id: number) => `folder-target:${id}` as const;\n\nexport const parseFolderTargetId = (dndId: string | number): number | null => {\n if (typeof dndId !== 'string') {\n return null;\n }\n\n const match = /^folder-target:(\\d+)$/.exec(dndId);\n return match ? Number(match[1]) : null;\n};\n\nexport const toFolderTreeTargetId = (id: number) => `folder-tree-target:${id}` as const;\n\nexport const HOME_TREE_TARGET_ID = 'folder-tree-target:home' as const;\n\nexport const parseFolderTreeTargetId = (dndId: string | number): number | 'root' | null => {\n if (typeof dndId !== 'string') {\n return null;\n }\n\n if (dndId === HOME_TREE_TARGET_ID) {\n return 'root';\n }\n\n const match = /^folder-tree-target:(\\d+)$/.exec(dndId);\n return match ? Number(match[1]) : null;\n};\n"],"names":["toFileDraggableId","id","toFolderDraggableId","toFolderTargetId","parseFolderTargetId","dndId","match","exec","Number","toFolderTreeTargetId","HOME_TREE_TARGET_ID","parseFolderTreeTargetId"],"mappings":"AAAO,MAAMA,oBAAoB,CAACC,EAAAA,GAAe,CAAC,KAAK,EAAEA;AAElD,MAAMC,sBAAsB,CAACD,EAAAA,GAAe,CAAC,OAAO,EAAEA;AAEtD,MAAME,mBAAmB,CAACF,EAAAA,GAAe,CAAC,cAAc,EAAEA;AAE1D,MAAMG,sBAAsB,CAACC,KAAAA,GAAAA;IAClC,IAAI,OAAOA,UAAU,QAAA,EAAU;QAC7B,OAAO,IAAA;AACT,IAAA;IAEA,MAAMC,KAAAA,GAAQ,uBAAA,CAAwBC,IAAI,CAACF,KAAAA,CAAAA;AAC3C,IAAA,OAAOC,KAAAA,GAAQE,MAAAA,CAAOF,KAAK,CAAC,EAAE,CAAA,GAAI,IAAA;AACpC;AAEO,MAAMG,uBAAuB,CAACR,EAAAA,GAAe,CAAC,mBAAmB,EAAEA;AAEnE,MAAMS,sBAAsB;AAE5B,MAAMC,0BAA0B,CAACN,KAAAA,GAAAA;IACtC,IAAI,OAAOA,UAAU,QAAA,EAAU;QAC7B,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,IAAIA,UAAUK,mBAAAA,EAAqB;QACjC,OAAO,MAAA;AACT,IAAA;IAEA,MAAMJ,KAAAA,GAAQ,4BAAA,CAA6BC,IAAI,CAACF,KAAAA,CAAAA;AAChD,IAAA,OAAOC,KAAAA,GAAQE,MAAAA,CAAOF,KAAK,CAAC,EAAE,CAAA,GAAI,IAAA;AACpC;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetDnd.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/useAssetDnd.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useDndContext, useDraggable, useDroppable } from '@dnd-kit/core';\n\nimport { getRelationId } from '../../../../utils/getRelationId';\n\nimport { useAssetsDndOptional } from './AssetsDndProvider';\nimport { toFileDraggableId, toFolderDraggableId, toFolderTargetId } from './dndIds';\n\nimport type { DragFileData, DragFolderData, FolderTargetData } from '../../../../types/dnd';\n\nexport const useFileDraggable = (asset: {\n id: number;\n name: string;\n folder?: number | string | { id?: number } | null;\n}) => {\n const { isMovePending } = useAssetsDndOptional() ?? { isMovePending: false };\n\n const data = useMemo<DragFileData>(\n () => ({\n kind: 'file',\n id: asset.id,\n name: asset.name,\n folderId: getRelationId(asset.folder),\n }),\n [asset.folder, asset.id, asset.name]\n );\n\n const draggable = useDraggable({\n id: toFileDraggableId(asset.id),\n data,\n disabled: isMovePending,\n });\n\n // `dragData` is re-exposed (like `useFolderDraggableDroppable` does) so the\n // row's actions menu can hand the move dialog the asset's real folder.\n return { ...draggable, dragData: data };\n};\n\nexport const useFolderDraggableDroppable = (folder: {\n id: number;\n name: string;\n parent?: number | null | { id?: number };\n}) => {\n const { isMovePending, isValidDropTarget } = useAssetsDndOptional() ?? {\n isMovePending: false,\n isValidDropTarget: () => false,\n };\n const { active } = useDndContext();\n\n const parentId = getRelationId(folder.parent);\n\n const dragData = useMemo<DragFolderData>(\n () => ({\n kind: 'folder',\n id: folder.id,\n name: folder.name,\n parentId,\n }),\n [folder.id, folder.name, parentId]\n );\n\n const dropData = useMemo<FolderTargetData>(\n () => ({\n kind: 'folder-target',\n id: folder.id,\n name: folder.name,\n }),\n [folder.id, folder.name]\n );\n\n const draggable = useDraggable({\n id: toFolderDraggableId(folder.id),\n data: dragData,\n disabled: isMovePending,\n });\n\n const droppable = useDroppable({\n id: toFolderTargetId(folder.id),\n data: dropData,\n disabled: isMovePending,\n });\n\n const isValidTarget = isValidDropTarget(folder.id);\n const isOver = droppable.isOver;\n const showValidDropHighlight = isOver && isValidTarget;\n const showInvalidDropCursor = isOver && !isValidTarget && active != null;\n\n return {\n dragData,\n draggable,\n droppable,\n isDragging: draggable.isDragging,\n showValidDropHighlight,\n showInvalidDropCursor,\n };\n};\n"],"names":["useFileDraggable","asset","isMovePending","useAssetsDndOptional","data","useMemo","kind","id","name","folderId","getRelationId","folder","draggable","useDraggable","toFileDraggableId","disabled","dragData","useFolderDraggableDroppable","isValidDropTarget","active","useDndContext","parentId","parent","dropData","toFolderDraggableId","droppable","useDroppable","toFolderTargetId","isValidTarget","isOver","showValidDropHighlight","showInvalidDropCursor","isDragging"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetDnd.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/useAssetDnd.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useDndContext, useDraggable, useDroppable } from '@dnd-kit/core';\n\nimport { getRelationId } from '../../../../utils/getRelationId';\n\nimport { useAssetsDndOptional } from './AssetsDndProvider';\nimport { toFileDraggableId, toFolderDraggableId, toFolderTargetId } from './dndIds';\n\nimport type { DragFileData, DragFolderData, FolderTargetData } from '../../../../types/dnd';\n\nexport const useFileDraggable = (asset: {\n id: number;\n name: string;\n folder?: number | string | { id?: number } | null;\n}) => {\n const { isMovePending } = useAssetsDndOptional() ?? { isMovePending: false };\n\n const data = useMemo<DragFileData>(\n () => ({\n kind: 'file',\n id: asset.id,\n name: asset.name,\n folderId: getRelationId(asset.folder),\n }),\n [asset.folder, asset.id, asset.name]\n );\n\n const draggable = useDraggable({\n id: toFileDraggableId(asset.id),\n data,\n disabled: isMovePending,\n });\n\n // `dragData` is re-exposed (like `useFolderDraggableDroppable` does) so the\n // row's actions menu can hand the move dialog the asset's real folder.\n return { ...draggable, dragData: data };\n};\n\nexport const useFolderDraggableDroppable = (folder: {\n id: number;\n name: string;\n parent?: number | null | { id?: number };\n}) => {\n const { isMovePending, isValidDropTarget } = useAssetsDndOptional() ?? {\n isMovePending: false,\n isValidDropTarget: () => false,\n };\n const { active } = useDndContext();\n\n const parentId = getRelationId(folder.parent);\n\n const dragData = useMemo<DragFolderData>(\n () => ({\n kind: 'folder',\n id: folder.id,\n name: folder.name,\n parentId,\n }),\n [folder.id, folder.name, parentId]\n );\n\n const dropData = useMemo<FolderTargetData>(\n () => ({\n kind: 'folder-target',\n id: folder.id,\n name: folder.name,\n }),\n [folder.id, folder.name]\n );\n\n const draggable = useDraggable({\n id: toFolderDraggableId(folder.id),\n data: dragData,\n disabled: isMovePending,\n });\n\n const droppable = useDroppable({\n id: toFolderTargetId(folder.id),\n data: dropData,\n disabled: isMovePending,\n });\n\n const isValidTarget = isValidDropTarget(folder.id);\n const isOver = droppable.isOver;\n const showValidDropHighlight = isOver && isValidTarget;\n const showInvalidDropCursor = isOver && !isValidTarget && active != null;\n\n return {\n dragData,\n draggable,\n droppable,\n isDragging: draggable.isDragging,\n showValidDropHighlight,\n showInvalidDropCursor,\n };\n};\n"],"names":["useFileDraggable","asset","isMovePending","useAssetsDndOptional","data","useMemo","kind","id","name","folderId","getRelationId","folder","draggable","useDraggable","toFileDraggableId","disabled","dragData","useFolderDraggableDroppable","isValidDropTarget","active","useDndContext","parentId","parent","dropData","toFolderDraggableId","droppable","useDroppable","toFolderTargetId","isValidTarget","isOver","showValidDropHighlight","showInvalidDropCursor","isDragging"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFolderTreeDroppable.js","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/useFolderTreeDroppable.ts"],"sourcesContent":["import { useDndContext, useDroppable } from '@dnd-kit/core';\n\nimport { useAssetsDndOptional } from './AssetsDndProvider';\nimport { HOME_TREE_TARGET_ID, toFolderTreeTargetId } from './dndIds';\n\nimport type { FolderTreeTargetData } from '../../../../types/dnd';\n\nexport const useFolderTreeDroppable = (\n target: { id: number; name: string } | { id: null; name: string }\n) => {\n const { isMovePending, isValidDropTarget } = useAssetsDndOptional() ?? {\n isMovePending: false,\n isValidDropTarget: () => false,\n };\n const { active } = useDndContext();\n\n const dropId = target.id == null ? HOME_TREE_TARGET_ID : toFolderTreeTargetId(target.id);\n const data: FolderTreeTargetData = {\n kind: 'folder-tree-target',\n id: target.id,\n name: target.name,\n };\n\n const droppable = useDroppable({ id: dropId, data, disabled: isMovePending });\n\n const isValidTarget = isValidDropTarget(target.id);\n const isOver = droppable.isOver;\n\n return {\n droppable,\n isOver,\n showValidDropHighlight: isOver && isValidTarget,\n showInvalidDropCursor: isOver && !isValidTarget && active != null,\n };\n};\n"],"names":["useFolderTreeDroppable","target","isMovePending","isValidDropTarget","useAssetsDndOptional","active","useDndContext","dropId","id","HOME_TREE_TARGET_ID","toFolderTreeTargetId","data","kind","name","droppable","useDroppable","disabled","isValidTarget","isOver","showValidDropHighlight","showInvalidDropCursor"],"mappings":";;;;;;AAOO,MAAMA,yBAAyB,CACpCC,MAAAA,GAAAA;AAEA,IAAA,MAAM,EAAEC,aAAa,EAAEC,iBAAiB,EAAE,GAAGC,sCAAAA,EAAAA,IAA0B;QACrEF,aAAAA,EAAe,KAAA;AACfC,QAAAA,iBAAAA,EAAmB,IAAM;AAC3B,KAAA;IACA,MAAM,EAAEE,MAAM,EAAE,GAAGC,kBAAAA,EAAAA;IAEnB,MAAMC,MAAAA,GAASN,OAAOO,EAAE,IAAI,OAAOC,0BAAAA,GAAsBC,2BAAAA,CAAqBT,OAAOO,EAAE,CAAA;AACvF,IAAA,MAAMG,IAAAA,GAA6B;QACjCC,IAAAA,EAAM,oBAAA;AACNJ,QAAAA,EAAAA,EAAIP,OAAOO,EAAE;AACbK,QAAAA,IAAAA,EAAMZ,OAAOY;AACf,KAAA;AAEA,IAAA,MAAMC,YAAYC,iBAAAA,CAAa;QAAEP,EAAAA,EAAID,MAAAA;AAAQI,QAAAA,IAAAA;QAAMK,QAAAA,EAAUd;AAAc,KAAA,CAAA;IAE3E,MAAMe,aAAAA,GAAgBd,iBAAAA,CAAkBF,MAAAA,CAAOO,EAAE,CAAA;IACjD,MAAMU,MAAAA,GAASJ,UAAUI,MAAM;IAE/B,OAAO;AACLJ,QAAAA,SAAAA;AACAI,QAAAA,MAAAA;AACAC,QAAAA,sBAAAA,EAAwBD,MAAAA,IAAUD,aAAAA;QAClCG,qBAAAA,EAAuBF,MAAAA,IAAU,CAACD,aAAAA,IAAiBZ,MAAAA,IAAU;AAC/D,KAAA;AACF;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFolderTreeDroppable.mjs","sources":["../../../../../../admin/src/pages/Assets/components/Dnd/useFolderTreeDroppable.ts"],"sourcesContent":["import { useDndContext, useDroppable } from '@dnd-kit/core';\n\nimport { useAssetsDndOptional } from './AssetsDndProvider';\nimport { HOME_TREE_TARGET_ID, toFolderTreeTargetId } from './dndIds';\n\nimport type { FolderTreeTargetData } from '../../../../types/dnd';\n\nexport const useFolderTreeDroppable = (\n target: { id: number; name: string } | { id: null; name: string }\n) => {\n const { isMovePending, isValidDropTarget } = useAssetsDndOptional() ?? {\n isMovePending: false,\n isValidDropTarget: () => false,\n };\n const { active } = useDndContext();\n\n const dropId = target.id == null ? HOME_TREE_TARGET_ID : toFolderTreeTargetId(target.id);\n const data: FolderTreeTargetData = {\n kind: 'folder-tree-target',\n id: target.id,\n name: target.name,\n };\n\n const droppable = useDroppable({ id: dropId, data, disabled: isMovePending });\n\n const isValidTarget = isValidDropTarget(target.id);\n const isOver = droppable.isOver;\n\n return {\n droppable,\n isOver,\n showValidDropHighlight: isOver && isValidTarget,\n showInvalidDropCursor: isOver && !isValidTarget && active != null,\n };\n};\n"],"names":["useFolderTreeDroppable","target","isMovePending","isValidDropTarget","useAssetsDndOptional","active","useDndContext","dropId","id","HOME_TREE_TARGET_ID","toFolderTreeTargetId","data","kind","name","droppable","useDroppable","disabled","isValidTarget","isOver","showValidDropHighlight","showInvalidDropCursor"],"mappings":";;;;AAOO,MAAMA,yBAAyB,CACpCC,MAAAA,GAAAA;AAEA,IAAA,MAAM,EAAEC,aAAa,EAAEC,iBAAiB,EAAE,GAAGC,oBAAAA,EAAAA,IAA0B;QACrEF,aAAAA,EAAe,KAAA;AACfC,QAAAA,iBAAAA,EAAmB,IAAM;AAC3B,KAAA;IACA,MAAM,EAAEE,MAAM,EAAE,GAAGC,aAAAA,EAAAA;IAEnB,MAAMC,MAAAA,GAASN,OAAOO,EAAE,IAAI,OAAOC,mBAAAA,GAAsBC,oBAAAA,CAAqBT,OAAOO,EAAE,CAAA;AACvF,IAAA,MAAMG,IAAAA,GAA6B;QACjCC,IAAAA,EAAM,oBAAA;AACNJ,QAAAA,EAAAA,EAAIP,OAAOO,EAAE;AACbK,QAAAA,IAAAA,EAAMZ,OAAOY;AACf,KAAA;AAEA,IAAA,MAAMC,YAAYC,YAAAA,CAAa;QAAEP,EAAAA,EAAID,MAAAA;AAAQI,QAAAA,IAAAA;QAAMK,QAAAA,EAAUd;AAAc,KAAA,CAAA;IAE3E,MAAMe,aAAAA,GAAgBd,iBAAAA,CAAkBF,MAAAA,CAAOO,EAAE,CAAA;IACjD,MAAMU,MAAAA,GAASJ,UAAUI,MAAM;IAE/B,OAAO;AACLJ,QAAAA,SAAAA;AACAI,QAAAA,MAAAA;AACAC,QAAAA,sBAAAA,EAAwBD,MAAAA,IAAUD,aAAAA;QAClCG,qBAAAA,EAAuBF,MAAAA,IAAU,CAACD,aAAAA,IAAiBZ,MAAAA,IAAU;AAC/D,KAAA;AACF;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropZone.js","sources":["../../../../../../admin/src/pages/Assets/components/DropZone/UploadDropZone.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Folder } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslationKey } from '../../../../utils/translations';\nimport { useAssetsDndOptional } from '../Dnd/AssetsDndProvider';\n\nimport { useUploadDropZone } from './UploadDropZoneContext';\n\n/* -------------------------------------------------------------------------------------------------\n * DropZoneOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst setOpacity = (hex: string, alpha: number) =>\n `${hex}${Math.floor(alpha * 255)\n .toString(16)\n .padStart(2, '0')}`;\n\nconst DropZoneOverlay = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${({ theme }) => setOpacity(theme.colors.primary200, 0.3)};\n border: 1px solid ${({ theme }) => theme.colors.primary700};\n border-radius: ${({ theme }) => theme.borderRadius};\n z-index: 1;\n pointer-events: none;\n`;\n\nconst DropZoneWithOverlay = ({ children }: { children: React.ReactNode }) => {\n const { isDragging: isUploadDragActive } = useUploadDropZone();\n const assetsDnd = useAssetsDndOptional();\n const isInternalDragActive = assetsDnd?.isInternalDragActive ?? false;\n const showOverlay = isUploadDragActive && !isInternalDragActive;\n\n return (\n <Box position=\"relative\">\n {showOverlay && <DropZoneOverlay />}\n {children}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DropZoneMessage\n * -----------------------------------------------------------------------------------------------*/\n\nconst DropFilesMessageImpl = styled(Box)<{ $leftContentWidth: number }>`\n position: fixed;\n bottom: ${({ theme }) => theme.spaces[8]};\n left: 50%;\n transform: translateX(calc(-50% + ${({ $leftContentWidth }) => $leftContentWidth / 2}px));\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: ${({ theme }) => theme.spaces[2]};\n background: ${({ theme }) => theme.colors.primary600};\n padding: ${({ theme }) => theme.spaces[4]} ${({ theme }) => theme.spaces[6]};\n border-radius: ${({ theme }) => theme.borderRadius};\n z-index: 2;\n`;\n\ninterface DropFilesMessageProps {\n uploadDropZoneRef?: React.RefObject<HTMLDivElement>;\n folderName: string;\n}\n\nconst DropFilesMessage = ({ uploadDropZoneRef, folderName }: DropFilesMessageProps) => {\n const { formatMessage } = useIntl();\n const { isDragging: isUploadDragActive } = useUploadDropZone();\n const assetsDnd = useAssetsDndOptional();\n const isInternalDragActive = assetsDnd?.isInternalDragActive ?? false;\n const showMessage = isUploadDragActive && !isInternalDragActive;\n\n // Dropzone message position (relative to main content)\n const [leftContentWidth, setLeftContentWidth] = React.useState(0);\n\n // Calculate the left content width to position the dropzone message correctly\n React.useEffect(() => {\n if (!uploadDropZoneRef?.current) return;\n\n const updateRect = () => {\n const rect = uploadDropZoneRef.current?.getBoundingClientRect();\n if (rect) {\n setLeftContentWidth((prev) => (prev !== rect.left ? rect.left : prev));\n }\n };\n\n updateRect();\n const resizeObserver = new ResizeObserver(updateRect);\n resizeObserver.observe(uploadDropZoneRef.current);\n return () => resizeObserver.disconnect();\n }, [uploadDropZoneRef]);\n\n if (!showMessage) {\n return null;\n }\n\n return (\n <DropFilesMessageImpl $leftContentWidth={leftContentWidth}>\n <Typography textColor=\"neutral0\">\n {formatMessage({\n id: getTranslationKey('dropzone.upload.message'),\n defaultMessage: 'Drop here to upload to',\n })}\n </Typography>\n <Flex gap={2} alignItems=\"center\">\n <Folder width={20} height={20} fill=\"neutral0\" />\n <Typography textColor=\"neutral0\" fontWeight=\"semiBold\">\n {folderName}\n </Typography>\n </Flex>\n </DropFilesMessageImpl>\n );\n};\n\nexport { DropZoneWithOverlay, DropFilesMessage };\n"],"names":["setOpacity","hex","alpha","Math","floor","toString","padStart","DropZoneOverlay","styled","Box","theme","colors","primary200","primary700","borderRadius","DropZoneWithOverlay","children","isDragging","isUploadDragActive","useUploadDropZone","assetsDnd","useAssetsDndOptional","isInternalDragActive","showOverlay","_jsxs","position","_jsx","DropFilesMessageImpl","spaces","$leftContentWidth","primary600","DropFilesMessage","uploadDropZoneRef","folderName","formatMessage","useIntl","showMessage","leftContentWidth","setLeftContentWidth","React","useState","useEffect","current","updateRect","rect","getBoundingClientRect","prev","left","resizeObserver","ResizeObserver","observe","disconnect","Typography","textColor","id","getTranslationKey","defaultMessage","Flex","gap","alignItems","Folder","width","height","fill","fontWeight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;AAEkG,qGAElG,MAAMA,UAAAA,GAAa,CAACC,KAAaC,KAAAA,GAC/B,CAAA,EAAGD,MAAME,IAAAA,CAAKC,KAAK,CAACF,KAAAA,GAAQ,KACzBG,QAAQ,CAAC,IACTC,QAAQ,CAAC,GAAG,GAAA,CAAA,CAAA,CAAM;AAEvB,MAAMC,eAAAA,GAAkBC,uBAAAA,CAAOC,gBAAAA,CAAI;;;;;;cAMrB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKV,UAAAA,CAAWU,KAAAA,CAAMC,MAAM,CAACC,UAAU,EAAE,GAAA,CAAA,CAAK;oBACpD,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;AAC5C,iBAAA,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;AAGrD,CAAC;AAED,MAAMC,mBAAAA,GAAsB,CAAC,EAAEC,QAAQ,EAAiC,GAAA;AACtE,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uCAAAA,EAAAA;AAC3C,IAAA,MAAMC,SAAAA,GAAYC,sCAAAA,EAAAA;IAClB,MAAMC,oBAAAA,GAAuBF,WAAWE,oBAAAA,IAAwB,KAAA;IAChE,MAAMC,WAAAA,GAAcL,sBAAsB,CAACI,oBAAAA;AAE3C,IAAA,qBACEE,eAAA,CAACf,gBAAAA,EAAAA;QAAIgB,QAAAA,EAAS,UAAA;;AACXF,YAAAA,WAAAA,kBAAeG,cAAA,CAACnB,eAAAA,EAAAA,EAAAA,CAAAA;AAChBS,YAAAA;;;AAGP;AAEA;;AAEkG,qGAElG,MAAMW,oBAAAA,GAAuBnB,uBAAAA,CAAOC,gBAAAA,CAAmC;;UAE7D,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMkB,MAAM,CAAC,CAAA,CAAE,CAAC;;AAEP,oCAAA,EAAE,CAAC,EAAEC,iBAAiB,EAAE,GAAKA,oBAAoB,CAAA,CAAE;;;;;OAKhF,EAAE,CAAC,EAAEnB,KAAK,EAAE,GAAKA,KAAAA,CAAMkB,MAAM,CAAC,CAAA,CAAE,CAAC;cAC1B,EAAE,CAAC,EAAElB,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACmB,UAAU,CAAC;WAC5C,EAAE,CAAC,EAAEpB,KAAK,EAAE,GAAKA,KAAAA,CAAMkB,MAAM,CAAC,CAAA,CAAE,CAAC,CAAC,EAAE,CAAC,EAAElB,KAAK,EAAE,GAAKA,KAAAA,CAAMkB,MAAM,CAAC,CAAA,CAAE,CAAC;AAC7D,iBAAA,EAAE,CAAC,EAAElB,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;AAErD,CAAC;AAOD,MAAMiB,mBAAmB,CAAC,EAAEC,iBAAiB,EAAEC,UAAU,EAAyB,GAAA;IAChF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAElB,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uCAAAA,EAAAA;AAC3C,IAAA,MAAMC,SAAAA,GAAYC,sCAAAA,EAAAA;IAClB,MAAMC,oBAAAA,GAAuBF,WAAWE,oBAAAA,IAAwB,KAAA;IAChE,MAAMc,WAAAA,GAAclB,sBAAsB,CAACI,oBAAAA;;AAG3C,IAAA,MAAM,CAACe,gBAAAA,EAAkBC,mBAAAA,CAAoB,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,CAAA,CAAA;;AAG/DD,IAAAA,gBAAAA,CAAME,SAAS,CAAC,IAAA;QACd,IAAI,CAACT,mBAAmBU,OAAAA,EAAS;AAEjC,QAAA,MAAMC,UAAAA,GAAa,IAAA;YACjB,MAAMC,IAAAA,GAAOZ,iBAAAA,CAAkBU,OAAO,EAAEG,qBAAAA,EAAAA;AACxC,YAAA,IAAID,IAAAA,EAAM;gBACRN,mBAAAA,CAAoB,CAACQ,OAAUA,IAAAA,KAASF,IAAAA,CAAKG,IAAI,GAAGH,IAAAA,CAAKG,IAAI,GAAGD,IAAAA,CAAAA;AAClE,YAAA;AACF,QAAA,CAAA;AAEAH,QAAAA,UAAAA,EAAAA;QACA,MAAMK,cAAAA,GAAiB,IAAIC,cAAAA,CAAeN,UAAAA,CAAAA;QAC1CK,cAAAA,CAAeE,OAAO,CAAClB,iBAAAA,CAAkBU,OAAO,CAAA;QAChD,OAAO,IAAMM,eAAeG,UAAU,EAAA;IACxC,CAAA,EAAG;AAACnB,QAAAA;AAAkB,KAAA,CAAA;AAEtB,IAAA,IAAI,CAACI,WAAAA,EAAa;QAChB,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEZ,eAAA,CAACG,oBAAAA,EAAAA;QAAqBE,iBAAAA,EAAmBQ,gBAAAA;;0BACvCX,cAAA,CAAC0B,uBAAAA,EAAAA;gBAAWC,SAAAA,EAAU,UAAA;0BACnBnB,aAAAA,CAAc;AACboB,oBAAAA,EAAAA,EAAIC,8BAAAA,CAAkB,yBAAA,CAAA;oBACtBC,cAAAA,EAAgB;AAClB,iBAAA;;0BAEFhC,eAAA,CAACiC,iBAAAA,EAAAA;gBAAKC,GAAAA,EAAK,CAAA;gBAAGC,UAAAA,EAAW,QAAA;;kCACvBjC,cAAA,CAACkC,YAAAA,EAAAA;wBAAOC,KAAAA,EAAO,EAAA;wBAAIC,MAAAA,EAAQ,EAAA;wBAAIC,IAAAA,EAAK;;kCACpCrC,cAAA,CAAC0B,uBAAAA,EAAAA;wBAAWC,SAAAA,EAAU,UAAA;wBAAWW,UAAAA,EAAW,UAAA;AACzC/B,wBAAAA,QAAAA,EAAAA;;;;;;AAKX;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropZone.mjs","sources":["../../../../../../admin/src/pages/Assets/components/DropZone/UploadDropZone.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Folder } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslationKey } from '../../../../utils/translations';\nimport { useAssetsDndOptional } from '../Dnd/AssetsDndProvider';\n\nimport { useUploadDropZone } from './UploadDropZoneContext';\n\n/* -------------------------------------------------------------------------------------------------\n * DropZoneOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst setOpacity = (hex: string, alpha: number) =>\n `${hex}${Math.floor(alpha * 255)\n .toString(16)\n .padStart(2, '0')}`;\n\nconst DropZoneOverlay = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${({ theme }) => setOpacity(theme.colors.primary200, 0.3)};\n border: 1px solid ${({ theme }) => theme.colors.primary700};\n border-radius: ${({ theme }) => theme.borderRadius};\n z-index: 1;\n pointer-events: none;\n`;\n\nconst DropZoneWithOverlay = ({ children }: { children: React.ReactNode }) => {\n const { isDragging: isUploadDragActive } = useUploadDropZone();\n const assetsDnd = useAssetsDndOptional();\n const isInternalDragActive = assetsDnd?.isInternalDragActive ?? false;\n const showOverlay = isUploadDragActive && !isInternalDragActive;\n\n return (\n <Box position=\"relative\">\n {showOverlay && <DropZoneOverlay />}\n {children}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DropZoneMessage\n * -----------------------------------------------------------------------------------------------*/\n\nconst DropFilesMessageImpl = styled(Box)<{ $leftContentWidth: number }>`\n position: fixed;\n bottom: ${({ theme }) => theme.spaces[8]};\n left: 50%;\n transform: translateX(calc(-50% + ${({ $leftContentWidth }) => $leftContentWidth / 2}px));\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: ${({ theme }) => theme.spaces[2]};\n background: ${({ theme }) => theme.colors.primary600};\n padding: ${({ theme }) => theme.spaces[4]} ${({ theme }) => theme.spaces[6]};\n border-radius: ${({ theme }) => theme.borderRadius};\n z-index: 2;\n`;\n\ninterface DropFilesMessageProps {\n uploadDropZoneRef?: React.RefObject<HTMLDivElement>;\n folderName: string;\n}\n\nconst DropFilesMessage = ({ uploadDropZoneRef, folderName }: DropFilesMessageProps) => {\n const { formatMessage } = useIntl();\n const { isDragging: isUploadDragActive } = useUploadDropZone();\n const assetsDnd = useAssetsDndOptional();\n const isInternalDragActive = assetsDnd?.isInternalDragActive ?? false;\n const showMessage = isUploadDragActive && !isInternalDragActive;\n\n // Dropzone message position (relative to main content)\n const [leftContentWidth, setLeftContentWidth] = React.useState(0);\n\n // Calculate the left content width to position the dropzone message correctly\n React.useEffect(() => {\n if (!uploadDropZoneRef?.current) return;\n\n const updateRect = () => {\n const rect = uploadDropZoneRef.current?.getBoundingClientRect();\n if (rect) {\n setLeftContentWidth((prev) => (prev !== rect.left ? rect.left : prev));\n }\n };\n\n updateRect();\n const resizeObserver = new ResizeObserver(updateRect);\n resizeObserver.observe(uploadDropZoneRef.current);\n return () => resizeObserver.disconnect();\n }, [uploadDropZoneRef]);\n\n if (!showMessage) {\n return null;\n }\n\n return (\n <DropFilesMessageImpl $leftContentWidth={leftContentWidth}>\n <Typography textColor=\"neutral0\">\n {formatMessage({\n id: getTranslationKey('dropzone.upload.message'),\n defaultMessage: 'Drop here to upload to',\n })}\n </Typography>\n <Flex gap={2} alignItems=\"center\">\n <Folder width={20} height={20} fill=\"neutral0\" />\n <Typography textColor=\"neutral0\" fontWeight=\"semiBold\">\n {folderName}\n </Typography>\n </Flex>\n </DropFilesMessageImpl>\n );\n};\n\nexport { DropZoneWithOverlay, DropFilesMessage };\n"],"names":["setOpacity","hex","alpha","Math","floor","toString","padStart","DropZoneOverlay","styled","Box","theme","colors","primary200","primary700","borderRadius","DropZoneWithOverlay","children","isDragging","isUploadDragActive","useUploadDropZone","assetsDnd","useAssetsDndOptional","isInternalDragActive","showOverlay","_jsxs","position","_jsx","DropFilesMessageImpl","spaces","$leftContentWidth","primary600","DropFilesMessage","uploadDropZoneRef","folderName","formatMessage","useIntl","showMessage","leftContentWidth","setLeftContentWidth","React","useState","useEffect","current","updateRect","rect","getBoundingClientRect","prev","left","resizeObserver","ResizeObserver","observe","disconnect","Typography","textColor","id","getTranslationKey","defaultMessage","Flex","gap","alignItems","Folder","width","height","fill","fontWeight"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropZoneContext.js","sources":["../../../../../../admin/src/pages/Assets/components/DropZone/UploadDropZoneContext.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n type DragEvent,\n type ReactNode,\n} from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * Types\n * -----------------------------------------------------------------------------------------------*/\n\ntype DropHandler = (files: File[]) => void | Promise<void>;\n\ninterface UploadDropZoneContextValue {\n isDragging: boolean;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nconst UploadDropZoneContext = createContext<UploadDropZoneContextValue | null>(null);\n\n/* -------------------------------------------------------------------------------------------------\n * Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst DropZoneWrapper = styled(Box)`\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 100%;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UploadDropZoneProps {\n children: ReactNode;\n onDrop?: DropHandler;\n /**\n * When true, the zone never enters the dragging state and never fires\n * `onDrop` — no overlay, no \"drop here\" invitation. Used to hide the whole\n * upload affordance from users without `assets.create`, so they don't drag a\n * file onto an inviting target that then silently discards it.\n */\n disabled?: boolean;\n}\n\nexport const UploadDropZoneProvider = ({\n children,\n onDrop,\n disabled = false,\n}: UploadDropZoneProps) => {\n const [isDragging, setIsDragging] = useState(false);\n const dragCounterRef = useRef(0);\n\n const contextValue: UploadDropZoneContextValue = {\n isDragging,\n };\n\n useEffect(() => {\n const handleDragEnd = () => {\n setIsDragging(false);\n dragCounterRef.current = 0;\n };\n\n // Handle drag leaving the entire document/window\n const handleDocumentDragLeave = (e: globalThis.DragEvent) => {\n // When relatedTarget is null, we're leaving the document entirely\n if (!e.relatedTarget) {\n setIsDragging(false);\n dragCounterRef.current = 0;\n }\n };\n\n document.addEventListener('dragend', handleDragEnd);\n document.addEventListener('dragleave', handleDocumentDragLeave);\n\n return () => {\n document.removeEventListener('dragend', handleDragEnd);\n document.removeEventListener('dragleave', handleDocumentDragLeave);\n };\n }, []);\n\n const handleDragEnter = useCallback(\n (e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n // No upload permission → never light up the drop target.\n if (disabled) {\n return;\n }\n\n // Bidirectional guard with AssetsDndProvider — internal item drags must not\n // activate the upload overlay. See AssetsDndProvider.tsx.\n if (!e.dataTransfer.types.includes('Files')) {\n return;\n }\n\n dragCounterRef.current += 1;\n setIsDragging(true);\n },\n [disabled]\n );\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current -= 1;\n\n // Only set dragging to false if we've left the dropzone completely\n // (counter reaches 0 or negative)\n if (dragCounterRef.current <= 0) {\n setIsDragging(false);\n dragCounterRef.current = 0;\n }\n }, []);\n\n const handleDragOver = useCallback((e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n e.dataTransfer.dropEffect = 'copy';\n }, []);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(false);\n dragCounterRef.current = 0;\n\n if (disabled) {\n return;\n }\n\n const { files } = e.dataTransfer;\n if (files?.length && onDrop) {\n onDrop(Array.from(files));\n }\n },\n [onDrop, disabled]\n );\n\n return (\n <UploadDropZoneContext.Provider value={contextValue}>\n <DropZoneWrapper\n data-testid=\"assets-dropzone\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n {children}\n </DropZoneWrapper>\n </UploadDropZoneContext.Provider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nexport const useUploadDropZone = () => {\n const context = useContext(UploadDropZoneContext);\n\n if (!context) {\n throw new Error('useUploadDropZone must be used within UploadDropZone');\n }\n\n return {\n isDragging: context.isDragging,\n };\n};\n"],"names":["UploadDropZoneContext","createContext","DropZoneWrapper","styled","Box","UploadDropZoneProvider","children","onDrop","disabled","isDragging","setIsDragging","useState","dragCounterRef","useRef","contextValue","useEffect","handleDragEnd","current","handleDocumentDragLeave","e","relatedTarget","document","addEventListener","removeEventListener","handleDragEnter","useCallback","preventDefault","stopPropagation","dataTransfer","types","includes","handleDragLeave","handleDragOver","dropEffect","handleDrop","files","length","Array","from","_jsx","Provider","value","data-testid","onDragEnter","onDragLeave","onDragOver","useUploadDropZone","context","useContext","Error"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropZoneContext.mjs","sources":["../../../../../../admin/src/pages/Assets/components/DropZone/UploadDropZoneContext.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n type DragEvent,\n type ReactNode,\n} from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * Types\n * -----------------------------------------------------------------------------------------------*/\n\ntype DropHandler = (files: File[]) => void | Promise<void>;\n\ninterface UploadDropZoneContextValue {\n isDragging: boolean;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nconst UploadDropZoneContext = createContext<UploadDropZoneContextValue | null>(null);\n\n/* -------------------------------------------------------------------------------------------------\n * Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst DropZoneWrapper = styled(Box)`\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 100%;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UploadDropZoneProps {\n children: ReactNode;\n onDrop?: DropHandler;\n /**\n * When true, the zone never enters the dragging state and never fires\n * `onDrop` — no overlay, no \"drop here\" invitation. Used to hide the whole\n * upload affordance from users without `assets.create`, so they don't drag a\n * file onto an inviting target that then silently discards it.\n */\n disabled?: boolean;\n}\n\nexport const UploadDropZoneProvider = ({\n children,\n onDrop,\n disabled = false,\n}: UploadDropZoneProps) => {\n const [isDragging, setIsDragging] = useState(false);\n const dragCounterRef = useRef(0);\n\n const contextValue: UploadDropZoneContextValue = {\n isDragging,\n };\n\n useEffect(() => {\n const handleDragEnd = () => {\n setIsDragging(false);\n dragCounterRef.current = 0;\n };\n\n // Handle drag leaving the entire document/window\n const handleDocumentDragLeave = (e: globalThis.DragEvent) => {\n // When relatedTarget is null, we're leaving the document entirely\n if (!e.relatedTarget) {\n setIsDragging(false);\n dragCounterRef.current = 0;\n }\n };\n\n document.addEventListener('dragend', handleDragEnd);\n document.addEventListener('dragleave', handleDocumentDragLeave);\n\n return () => {\n document.removeEventListener('dragend', handleDragEnd);\n document.removeEventListener('dragleave', handleDocumentDragLeave);\n };\n }, []);\n\n const handleDragEnter = useCallback(\n (e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n // No upload permission → never light up the drop target.\n if (disabled) {\n return;\n }\n\n // Bidirectional guard with AssetsDndProvider — internal item drags must not\n // activate the upload overlay. See AssetsDndProvider.tsx.\n if (!e.dataTransfer.types.includes('Files')) {\n return;\n }\n\n dragCounterRef.current += 1;\n setIsDragging(true);\n },\n [disabled]\n );\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current -= 1;\n\n // Only set dragging to false if we've left the dropzone completely\n // (counter reaches 0 or negative)\n if (dragCounterRef.current <= 0) {\n setIsDragging(false);\n dragCounterRef.current = 0;\n }\n }, []);\n\n const handleDragOver = useCallback((e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n e.dataTransfer.dropEffect = 'copy';\n }, []);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(false);\n dragCounterRef.current = 0;\n\n if (disabled) {\n return;\n }\n\n const { files } = e.dataTransfer;\n if (files?.length && onDrop) {\n onDrop(Array.from(files));\n }\n },\n [onDrop, disabled]\n );\n\n return (\n <UploadDropZoneContext.Provider value={contextValue}>\n <DropZoneWrapper\n data-testid=\"assets-dropzone\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n {children}\n </DropZoneWrapper>\n </UploadDropZoneContext.Provider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nexport const useUploadDropZone = () => {\n const context = useContext(UploadDropZoneContext);\n\n if (!context) {\n throw new Error('useUploadDropZone must be used within UploadDropZone');\n }\n\n return {\n isDragging: context.isDragging,\n };\n};\n"],"names":["UploadDropZoneContext","createContext","DropZoneWrapper","styled","Box","UploadDropZoneProvider","children","onDrop","disabled","isDragging","setIsDragging","useState","dragCounterRef","useRef","contextValue","useEffect","handleDragEnd","current","handleDocumentDragLeave","e","relatedTarget","document","addEventListener","removeEventListener","handleDragEnter","useCallback","preventDefault","stopPropagation","dataTransfer","types","includes","handleDragLeave","handleDragOver","dropEffect","handleDrop","files","length","Array","from","_jsx","Provider","value","data-testid","onDragEnter","onDragLeave","onDragOver","useUploadDropZone","context","useContext","Error"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","sources":["../../../../../admin/src/pages/Assets/components/EmptyState.tsx"],"sourcesContent":["import { Button, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface EmptyStateProps {\n onAddAssets: () => void;\n /**\n * RBAC gate — without `assets.create` the \"Add assets\" CTA is hidden.\n * Required (not defaulted) so a permission gate can't silently regress to\n * permissive when a future call site forgets to pass it.\n */\n canAddAssets: boolean;\n searchQuery?: string;\n onClearSearch?: () => void;\n}\n\n/**\n * Empty state for the assets list (both views) when the current folder holds\n * no assets and no folders. The \"Add assets\" button opens the same file picker\n * as New > File upload; drag-and-drop upload keeps working since the page-wide\n * drop zone wraps this component.\n */\nexport const EmptyState = ({\n onAddAssets,\n canAddAssets,\n searchQuery,\n onClearSearch,\n}: EmptyStateProps) => {\n const { formatMessage } = useIntl();\n const isSearchEmptyState = Boolean(searchQuery);\n\n return (\n <Flex direction=\"column\" alignItems=\"center\" gap={6} padding={11}>\n <EmptyDocuments width=\"16rem\" height=\"8.8rem\" />\n <Flex direction=\"column\" alignItems=\"center\" gap={2} textAlign=\"center\">\n <Typography variant=\"delta\" tag=\"p\" fontWeight=\"bold\" textColor=\"neutral800\">\n {isSearchEmptyState\n ? formatMessage({\n id: getTranslationKey('list.search.empty.title'),\n defaultMessage: 'No results found',\n })\n : formatMessage({\n id: getTranslationKey('list.empty.title'),\n defaultMessage: 'No assets yet',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {isSearchEmptyState\n ? formatMessage(\n {\n id: getTranslationKey('list.search.empty.description'),\n defaultMessage: 'No assets or folders match \"{query}\". Try a different search.',\n },\n { query: searchQuery }\n )\n : formatMessage({\n id: getTranslationKey('list.empty.description'),\n defaultMessage: 'Get started by uploading assets or creating a folder.',\n })}\n </Typography>\n </Flex>\n {isSearchEmptyState ? (\n // Same look as the filters empty state's \"Clear filters\" action.\n <Button variant=\"secondary\" startIcon={<Cross aria-hidden />} onClick={onClearSearch}>\n {formatMessage({\n id: getTranslationKey('list.search.empty.clear'),\n defaultMessage: 'Clear search',\n })}\n </Button>\n ) : (\n canAddAssets && (\n <Button onClick={onAddAssets}>\n {formatMessage({\n id: getTranslationKey('list.empty.add-assets'),\n defaultMessage: 'Add assets',\n })}\n </Button>\n )\n )}\n </Flex>\n );\n};\n\ninterface FilteredEmptyStateProps {\n onClearFilters: () => void;\n}\n\n/**\n * Empty state when active filters match nothing (including contradictory\n * badges — allowed by design). Distinct from the no-content state: the library\n * has items, the filters exclude them all.\n */\nexport const FilteredEmptyState = ({ onClearFilters }: FilteredEmptyStateProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"center\" gap={6} padding={11}>\n <EmptyDocuments width=\"16rem\" height=\"8.8rem\" />\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslationKey('list.filters.empty'),\n defaultMessage: 'No items matched current filters',\n })}\n </Typography>\n <Button variant=\"secondary\" startIcon={<Cross aria-hidden />} onClick={onClearFilters}>\n {formatMessage({\n id: getTranslationKey('list.filters.clear'),\n defaultMessage: 'Clear filters',\n })}\n </Button>\n </Flex>\n );\n};\n"],"names":["EmptyState","onAddAssets","canAddAssets","searchQuery","onClearSearch","formatMessage","useIntl","isSearchEmptyState","Boolean","_jsxs","Flex","direction","alignItems","gap","padding","_jsx","EmptyDocuments","width","height","textAlign","Typography","variant","tag","fontWeight","textColor","id","getTranslationKey","defaultMessage","query","Button","startIcon","Cross","aria-hidden","onClick","FilteredEmptyState","onClearFilters"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.mjs","sources":["../../../../../admin/src/pages/Assets/components/EmptyState.tsx"],"sourcesContent":["import { Button, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface EmptyStateProps {\n onAddAssets: () => void;\n /**\n * RBAC gate — without `assets.create` the \"Add assets\" CTA is hidden.\n * Required (not defaulted) so a permission gate can't silently regress to\n * permissive when a future call site forgets to pass it.\n */\n canAddAssets: boolean;\n searchQuery?: string;\n onClearSearch?: () => void;\n}\n\n/**\n * Empty state for the assets list (both views) when the current folder holds\n * no assets and no folders. The \"Add assets\" button opens the same file picker\n * as New > File upload; drag-and-drop upload keeps working since the page-wide\n * drop zone wraps this component.\n */\nexport const EmptyState = ({\n onAddAssets,\n canAddAssets,\n searchQuery,\n onClearSearch,\n}: EmptyStateProps) => {\n const { formatMessage } = useIntl();\n const isSearchEmptyState = Boolean(searchQuery);\n\n return (\n <Flex direction=\"column\" alignItems=\"center\" gap={6} padding={11}>\n <EmptyDocuments width=\"16rem\" height=\"8.8rem\" />\n <Flex direction=\"column\" alignItems=\"center\" gap={2} textAlign=\"center\">\n <Typography variant=\"delta\" tag=\"p\" fontWeight=\"bold\" textColor=\"neutral800\">\n {isSearchEmptyState\n ? formatMessage({\n id: getTranslationKey('list.search.empty.title'),\n defaultMessage: 'No results found',\n })\n : formatMessage({\n id: getTranslationKey('list.empty.title'),\n defaultMessage: 'No assets yet',\n })}\n </Typography>\n <Typography textColor=\"neutral600\">\n {isSearchEmptyState\n ? formatMessage(\n {\n id: getTranslationKey('list.search.empty.description'),\n defaultMessage: 'No assets or folders match \"{query}\". Try a different search.',\n },\n { query: searchQuery }\n )\n : formatMessage({\n id: getTranslationKey('list.empty.description'),\n defaultMessage: 'Get started by uploading assets or creating a folder.',\n })}\n </Typography>\n </Flex>\n {isSearchEmptyState ? (\n // Same look as the filters empty state's \"Clear filters\" action.\n <Button variant=\"secondary\" startIcon={<Cross aria-hidden />} onClick={onClearSearch}>\n {formatMessage({\n id: getTranslationKey('list.search.empty.clear'),\n defaultMessage: 'Clear search',\n })}\n </Button>\n ) : (\n canAddAssets && (\n <Button onClick={onAddAssets}>\n {formatMessage({\n id: getTranslationKey('list.empty.add-assets'),\n defaultMessage: 'Add assets',\n })}\n </Button>\n )\n )}\n </Flex>\n );\n};\n\ninterface FilteredEmptyStateProps {\n onClearFilters: () => void;\n}\n\n/**\n * Empty state when active filters match nothing (including contradictory\n * badges — allowed by design). Distinct from the no-content state: the library\n * has items, the filters exclude them all.\n */\nexport const FilteredEmptyState = ({ onClearFilters }: FilteredEmptyStateProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex direction=\"column\" alignItems=\"center\" gap={6} padding={11}>\n <EmptyDocuments width=\"16rem\" height=\"8.8rem\" />\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslationKey('list.filters.empty'),\n defaultMessage: 'No items matched current filters',\n })}\n </Typography>\n <Button variant=\"secondary\" startIcon={<Cross aria-hidden />} onClick={onClearFilters}>\n {formatMessage({\n id: getTranslationKey('list.filters.clear'),\n defaultMessage: 'Clear filters',\n })}\n </Button>\n </Flex>\n );\n};\n"],"names":["EmptyState","onAddAssets","canAddAssets","searchQuery","onClearSearch","formatMessage","useIntl","isSearchEmptyState","Boolean","_jsxs","Flex","direction","alignItems","gap","padding","_jsx","EmptyDocuments","width","height","textAlign","Typography","variant","tag","fontWeight","textColor","id","getTranslationKey","defaultMessage","query","Button","startIcon","Cross","aria-hidden","onClick","FilteredEmptyState","onClearFilters"],"mappings":"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"}