@strapi/upload 5.53.0 → 5.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1929) hide show
  1. package/dist/admin/App.js +33 -0
  2. package/dist/admin/App.js.map +1 -0
  3. package/dist/admin/App.mjs +31 -0
  4. package/dist/admin/App.mjs.map +1 -0
  5. package/dist/admin/components/Drawer.js.map +1 -0
  6. package/dist/admin/components/Drawer.mjs.map +1 -0
  7. package/dist/admin/components/TruncatedText.js.map +1 -0
  8. package/dist/admin/components/TruncatedText.mjs.map +1 -0
  9. package/dist/admin/components/UploadProgressDialog.js +700 -0
  10. package/dist/admin/components/UploadProgressDialog.js.map +1 -0
  11. package/dist/admin/components/UploadProgressDialog.mjs +698 -0
  12. package/dist/admin/components/UploadProgressDialog.mjs.map +1 -0
  13. package/dist/admin/constants.js +7 -12
  14. package/dist/admin/constants.js.map +1 -1
  15. package/dist/admin/constants.mjs +7 -12
  16. package/dist/admin/constants.mjs.map +1 -1
  17. package/dist/admin/hooks/useAIMetadataEnabled.js +39 -0
  18. package/dist/admin/hooks/useAIMetadataEnabled.js.map +1 -0
  19. package/dist/admin/hooks/useAIMetadataEnabled.mjs +37 -0
  20. package/dist/admin/hooks/useAIMetadataEnabled.mjs.map +1 -0
  21. package/dist/admin/hooks/useApiErrorMessage.js.map +1 -0
  22. package/dist/admin/hooks/useApiErrorMessage.mjs.map +1 -0
  23. package/dist/admin/hooks/useMediaLibraryPermissions.js +24 -5
  24. package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
  25. package/dist/admin/hooks/useMediaLibraryPermissions.mjs +24 -5
  26. package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
  27. package/dist/admin/hooks/useTracking.js +39 -7
  28. package/dist/admin/hooks/useTracking.js.map +1 -1
  29. package/dist/admin/hooks/useTracking.mjs +38 -8
  30. package/dist/admin/hooks/useTracking.mjs.map +1 -1
  31. package/dist/admin/index.js +18 -22
  32. package/dist/admin/index.js.map +1 -1
  33. package/dist/admin/index.mjs +18 -22
  34. package/dist/admin/index.mjs.map +1 -1
  35. package/dist/admin/legacy/ai/components/AIAssetCard.js +621 -0
  36. package/dist/admin/legacy/ai/components/AIAssetCard.js.map +1 -0
  37. package/dist/admin/legacy/ai/components/AIAssetCard.mjs +598 -0
  38. package/dist/admin/legacy/ai/components/AIAssetCard.mjs.map +1 -0
  39. package/dist/admin/legacy/ai/components/AIUploadModal.js.map +1 -0
  40. package/dist/admin/legacy/ai/components/AIUploadModal.mjs.map +1 -0
  41. package/dist/admin/legacy/components/AssetCard/AssetCard.js +67 -0
  42. package/dist/admin/legacy/components/AssetCard/AssetCard.js.map +1 -0
  43. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs +65 -0
  44. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs.map +1 -0
  45. package/dist/admin/legacy/components/AssetCard/AssetCardBase.js.map +1 -0
  46. package/dist/admin/legacy/components/AssetCard/AssetCardBase.mjs.map +1 -0
  47. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.js.map +1 -0
  48. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.mjs.map +1 -0
  49. package/dist/admin/legacy/components/AssetCard/AudioPreview.js.map +1 -0
  50. package/dist/admin/legacy/components/AssetCard/AudioPreview.mjs.map +1 -0
  51. package/dist/admin/legacy/components/AssetCard/DocAssetCard.js.map +1 -0
  52. package/dist/admin/legacy/components/AssetCard/DocAssetCard.mjs.map +1 -0
  53. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.js.map +1 -0
  54. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.mjs.map +1 -0
  55. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js +154 -0
  56. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js.map +1 -0
  57. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs +132 -0
  58. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs.map +1 -0
  59. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.js.map +1 -0
  60. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.mjs.map +1 -0
  61. package/dist/admin/legacy/components/AssetCard/VideoPreview.js.map +1 -0
  62. package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs.map +1 -0
  63. package/dist/admin/legacy/components/AssetDialog/AssetDialog.js.map +1 -0
  64. package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs.map +1 -0
  65. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js +320 -0
  66. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -0
  67. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs +318 -0
  68. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -0
  69. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.js.map +1 -0
  70. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -0
  71. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.js.map +1 -0
  72. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -0
  73. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -0
  74. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -0
  75. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -0
  76. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -0
  77. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -0
  78. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -0
  79. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -0
  80. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -0
  81. package/dist/admin/legacy/components/AssetDialog/DialogFooter.js.map +1 -0
  82. package/dist/admin/legacy/components/AssetDialog/DialogFooter.mjs.map +1 -0
  83. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -0
  84. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -0
  85. package/dist/admin/legacy/components/AssetGridList/AssetGridList.js.map +1 -0
  86. package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs.map +1 -0
  87. package/dist/admin/legacy/components/AssetGridList/Draggable.js.map +1 -0
  88. package/dist/admin/legacy/components/AssetGridList/Draggable.mjs.map +1 -0
  89. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  90. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
  91. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -0
  92. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -0
  93. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -0
  94. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -0
  95. package/dist/admin/legacy/components/ContextInfo/ContextInfo.js.map +1 -0
  96. package/dist/admin/legacy/components/ContextInfo/ContextInfo.mjs.map +1 -0
  97. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
  98. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -0
  99. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.js.map +1 -0
  100. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.mjs.map +1 -0
  101. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js.map +1 -0
  102. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs.map +1 -0
  103. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js +114 -0
  104. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -0
  105. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +89 -0
  106. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -0
  107. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -0
  108. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -0
  109. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -0
  110. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -0
  111. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js +362 -0
  112. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -0
  113. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +337 -0
  114. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -0
  115. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -0
  116. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -0
  117. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -0
  118. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -0
  119. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -0
  120. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -0
  121. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.js.map +1 -0
  122. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -0
  123. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -0
  124. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -0
  125. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -0
  126. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -0
  127. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.js.map +1 -0
  128. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -0
  129. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.js.map +1 -0
  130. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.mjs.map +1 -0
  131. package/dist/admin/legacy/components/FilterList/FilterList.js.map +1 -0
  132. package/dist/admin/legacy/components/FilterList/FilterList.mjs.map +1 -0
  133. package/dist/admin/legacy/components/FilterList/FilterTag.js.map +1 -0
  134. package/dist/admin/legacy/components/FilterList/FilterTag.mjs.map +1 -0
  135. package/dist/admin/legacy/components/FilterPopover/FilterPopover.js.map +1 -0
  136. package/dist/admin/legacy/components/FilterPopover/FilterPopover.mjs.map +1 -0
  137. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js.map +1 -0
  138. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs.map +1 -0
  139. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.js.map +1 -0
  140. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.mjs.map +1 -0
  141. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.js.map +1 -0
  142. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -0
  143. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -0
  144. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -0
  145. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -0
  146. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -0
  147. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -0
  148. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -0
  149. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.js.map +1 -0
  150. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.mjs.map +1 -0
  151. package/dist/admin/legacy/components/FolderGridList/FolderGridList.js.map +1 -0
  152. package/dist/admin/legacy/components/FolderGridList/FolderGridList.mjs.map +1 -0
  153. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -0
  154. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -0
  155. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js +89 -0
  156. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -0
  157. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +87 -0
  158. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -0
  159. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -0
  160. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -0
  161. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -0
  162. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -0
  163. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +111 -0
  164. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -0
  165. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +89 -0
  166. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -0
  167. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
  168. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
  169. package/dist/admin/legacy/components/SelectTree/Option.js.map +1 -0
  170. package/dist/admin/legacy/components/SelectTree/Option.mjs.map +1 -0
  171. package/dist/admin/legacy/components/SelectTree/SelectTree.js.map +1 -0
  172. package/dist/admin/legacy/components/SelectTree/SelectTree.mjs.map +1 -0
  173. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.js.map +1 -0
  174. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.mjs.map +1 -0
  175. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.js.map +1 -0
  176. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.mjs.map +1 -0
  177. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.js.map +1 -0
  178. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.mjs.map +1 -0
  179. package/dist/admin/legacy/components/SortPicker/SortPicker.js +40 -0
  180. package/dist/admin/legacy/components/SortPicker/SortPicker.js.map +1 -0
  181. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs +38 -0
  182. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs.map +1 -0
  183. package/dist/admin/legacy/components/TableList/CellContent.js.map +1 -0
  184. package/dist/admin/legacy/components/TableList/CellContent.mjs.map +1 -0
  185. package/dist/admin/legacy/components/TableList/PreviewCell.js +116 -0
  186. package/dist/admin/legacy/components/TableList/PreviewCell.js.map +1 -0
  187. package/dist/admin/legacy/components/TableList/PreviewCell.mjs +114 -0
  188. package/dist/admin/legacy/components/TableList/PreviewCell.mjs.map +1 -0
  189. package/dist/admin/legacy/components/TableList/TableList.js +100 -0
  190. package/dist/admin/legacy/components/TableList/TableList.js.map +1 -0
  191. package/dist/admin/legacy/components/TableList/TableList.mjs +98 -0
  192. package/dist/admin/legacy/components/TableList/TableList.mjs.map +1 -0
  193. package/dist/admin/legacy/components/TableList/TableRows.js +105 -0
  194. package/dist/admin/legacy/components/TableList/TableRows.js.map +1 -0
  195. package/dist/admin/legacy/components/TableList/TableRows.mjs +103 -0
  196. package/dist/admin/legacy/components/TableList/TableRows.mjs.map +1 -0
  197. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -0
  198. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -0
  199. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +177 -0
  200. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -0
  201. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +155 -0
  202. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -0
  203. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -0
  204. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -0
  205. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -0
  206. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -0
  207. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -0
  208. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -0
  209. package/dist/admin/legacy/components/UploadProgress/UploadProgress.js.map +1 -0
  210. package/dist/admin/legacy/components/UploadProgress/UploadProgress.mjs.map +1 -0
  211. package/dist/admin/legacy/hooks/useAiAvailability.js.map +1 -0
  212. package/dist/admin/legacy/hooks/useAiAvailability.mjs.map +1 -0
  213. package/dist/admin/legacy/hooks/useAssets.js +127 -0
  214. package/dist/admin/legacy/hooks/useAssets.js.map +1 -0
  215. package/dist/admin/legacy/hooks/useAssets.mjs +105 -0
  216. package/dist/admin/legacy/hooks/useAssets.mjs.map +1 -0
  217. package/dist/admin/legacy/hooks/useBulkEdit.js +65 -0
  218. package/dist/admin/legacy/hooks/useBulkEdit.js.map +1 -0
  219. package/dist/admin/legacy/hooks/useBulkEdit.mjs +63 -0
  220. package/dist/admin/legacy/hooks/useBulkEdit.mjs.map +1 -0
  221. package/dist/admin/legacy/hooks/useBulkMove.js +78 -0
  222. package/dist/admin/legacy/hooks/useBulkMove.js.map +1 -0
  223. package/dist/admin/legacy/hooks/useBulkMove.mjs +76 -0
  224. package/dist/admin/legacy/hooks/useBulkMove.mjs.map +1 -0
  225. package/dist/admin/legacy/hooks/useBulkRemove.js +83 -0
  226. package/dist/admin/legacy/hooks/useBulkRemove.js.map +1 -0
  227. package/dist/admin/legacy/hooks/useBulkRemove.mjs +81 -0
  228. package/dist/admin/legacy/hooks/useBulkRemove.mjs.map +1 -0
  229. package/dist/admin/legacy/hooks/useConfig.js +58 -0
  230. package/dist/admin/legacy/hooks/useConfig.js.map +1 -0
  231. package/dist/admin/legacy/hooks/useConfig.mjs +56 -0
  232. package/dist/admin/legacy/hooks/useConfig.mjs.map +1 -0
  233. package/dist/admin/legacy/hooks/useCropImg.js.map +1 -0
  234. package/dist/admin/legacy/hooks/useCropImg.mjs.map +1 -0
  235. package/dist/admin/legacy/hooks/useEditAsset.js +115 -0
  236. package/dist/admin/legacy/hooks/useEditAsset.js.map +1 -0
  237. package/dist/admin/legacy/hooks/useEditAsset.mjs +93 -0
  238. package/dist/admin/legacy/hooks/useEditAsset.mjs.map +1 -0
  239. package/dist/admin/legacy/hooks/useEditFolder.js +45 -0
  240. package/dist/admin/legacy/hooks/useEditFolder.js.map +1 -0
  241. package/dist/admin/legacy/hooks/useEditFolder.mjs +43 -0
  242. package/dist/admin/legacy/hooks/useEditFolder.mjs.map +1 -0
  243. package/dist/admin/legacy/hooks/useFolder.js +57 -0
  244. package/dist/admin/legacy/hooks/useFolder.js.map +1 -0
  245. package/dist/admin/legacy/hooks/useFolder.mjs +55 -0
  246. package/dist/admin/legacy/hooks/useFolder.mjs.map +1 -0
  247. package/dist/admin/legacy/hooks/useFolderStructure.js +52 -0
  248. package/dist/admin/legacy/hooks/useFolderStructure.js.map +1 -0
  249. package/dist/admin/legacy/hooks/useFolderStructure.mjs +50 -0
  250. package/dist/admin/legacy/hooks/useFolderStructure.mjs.map +1 -0
  251. package/dist/admin/legacy/hooks/useFolders.js +108 -0
  252. package/dist/admin/legacy/hooks/useFolders.js.map +1 -0
  253. package/dist/admin/legacy/hooks/useFolders.mjs +86 -0
  254. package/dist/admin/legacy/hooks/useFolders.mjs.map +1 -0
  255. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js +16 -0
  256. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js.map +1 -0
  257. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs +14 -0
  258. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs.map +1 -0
  259. package/dist/admin/legacy/hooks/useModalQueryParams.js.map +1 -0
  260. package/dist/admin/legacy/hooks/useModalQueryParams.mjs.map +1 -0
  261. package/dist/admin/legacy/hooks/usePersistentState.js.map +1 -0
  262. package/dist/admin/legacy/hooks/usePersistentState.mjs.map +1 -0
  263. package/dist/admin/legacy/hooks/useRemoveAsset.js +58 -0
  264. package/dist/admin/legacy/hooks/useRemoveAsset.js.map +1 -0
  265. package/dist/admin/legacy/hooks/useRemoveAsset.mjs +56 -0
  266. package/dist/admin/legacy/hooks/useRemoveAsset.mjs.map +1 -0
  267. package/dist/admin/legacy/hooks/useSelectionState.js.map +1 -0
  268. package/dist/admin/legacy/hooks/useSelectionState.mjs.map +1 -0
  269. package/dist/admin/legacy/hooks/useSettings.js.map +1 -0
  270. package/dist/admin/legacy/hooks/useSettings.mjs.map +1 -0
  271. package/dist/admin/legacy/hooks/useTracking.js +25 -0
  272. package/dist/admin/legacy/hooks/useTracking.js.map +1 -0
  273. package/dist/admin/legacy/hooks/useTracking.mjs +23 -0
  274. package/dist/admin/legacy/hooks/useTracking.mjs.map +1 -0
  275. package/dist/admin/legacy/hooks/useUpload.js +109 -0
  276. package/dist/admin/legacy/hooks/useUpload.js.map +1 -0
  277. package/dist/admin/legacy/hooks/useUpload.mjs +87 -0
  278. package/dist/admin/legacy/hooks/useUpload.mjs.map +1 -0
  279. package/dist/admin/legacy/hooks/utils/renameKeys.js.map +1 -0
  280. package/dist/admin/legacy/hooks/utils/renameKeys.mjs.map +1 -0
  281. package/dist/admin/legacy/pages/App/App.js.map +1 -0
  282. package/dist/admin/legacy/pages/App/App.mjs.map +1 -0
  283. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js +145 -0
  284. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -0
  285. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs +120 -0
  286. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -0
  287. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js +109 -0
  288. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js.map +1 -0
  289. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs +107 -0
  290. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -0
  291. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js +10 -0
  292. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -0
  293. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs +7 -0
  294. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -0
  295. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.js.map +1 -0
  296. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.mjs.map +1 -0
  297. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.js.map +1 -0
  298. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.mjs.map +1 -0
  299. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.js.map +1 -0
  300. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -0
  301. package/dist/admin/legacy/pages/App/MediaLibrary.js +469 -0
  302. package/dist/admin/legacy/pages/App/MediaLibrary.js.map +1 -0
  303. package/dist/admin/legacy/pages/App/MediaLibrary.mjs +447 -0
  304. package/dist/admin/legacy/pages/App/MediaLibrary.mjs.map +1 -0
  305. package/dist/admin/legacy/pages/App/components/BulkActions.js.map +1 -0
  306. package/dist/admin/legacy/pages/App/components/BulkActions.mjs.map +1 -0
  307. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.js.map +1 -0
  308. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.mjs.map +1 -0
  309. package/dist/admin/legacy/pages/App/components/BulkMoveButton.js.map +1 -0
  310. package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs.map +1 -0
  311. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.js.map +1 -0
  312. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -0
  313. package/dist/admin/legacy/pages/App/components/Filters.js.map +1 -0
  314. package/dist/admin/legacy/pages/App/components/Filters.mjs.map +1 -0
  315. package/dist/admin/legacy/pages/App/components/Header.js.map +1 -0
  316. package/dist/admin/legacy/pages/App/components/Header.mjs.map +1 -0
  317. package/dist/admin/legacy/utils/appendSearchParamsToUrl.js.map +1 -0
  318. package/dist/admin/legacy/utils/appendSearchParamsToUrl.mjs.map +1 -0
  319. package/dist/admin/legacy/utils/containsAssetFilter.js.map +1 -0
  320. package/dist/admin/legacy/utils/containsAssetFilter.mjs.map +1 -0
  321. package/dist/admin/legacy/utils/createAssetUrl.js.map +1 -0
  322. package/dist/admin/legacy/utils/createAssetUrl.mjs.map +1 -0
  323. package/dist/admin/legacy/utils/displayedFilters.js.map +1 -0
  324. package/dist/admin/legacy/utils/displayedFilters.mjs.map +1 -0
  325. package/dist/admin/legacy/utils/downloadFile.js +13 -0
  326. package/dist/admin/legacy/utils/downloadFile.js.map +1 -0
  327. package/dist/admin/legacy/utils/downloadFile.mjs +11 -0
  328. package/dist/admin/legacy/utils/downloadFile.mjs.map +1 -0
  329. package/dist/admin/legacy/utils/findRecursiveFolderByValue.js.map +1 -0
  330. package/dist/admin/legacy/utils/findRecursiveFolderByValue.mjs.map +1 -0
  331. package/dist/admin/legacy/utils/formatBytes.js.map +1 -0
  332. package/dist/admin/legacy/utils/formatBytes.mjs.map +1 -0
  333. package/dist/admin/legacy/utils/formatDuration.js.map +1 -0
  334. package/dist/admin/legacy/utils/formatDuration.mjs.map +1 -0
  335. package/dist/admin/legacy/utils/getAPIInnerErrors.js.map +1 -0
  336. package/dist/admin/legacy/utils/getAPIInnerErrors.mjs.map +1 -0
  337. package/dist/admin/legacy/utils/getAllowedFiles.js.map +1 -0
  338. package/dist/admin/legacy/utils/getAllowedFiles.mjs.map +1 -0
  339. package/dist/admin/legacy/utils/getBreadcrumbDataCM.js.map +1 -0
  340. package/dist/admin/legacy/utils/getBreadcrumbDataCM.mjs.map +1 -0
  341. package/dist/admin/legacy/utils/getBreadcrumbDataML.js.map +1 -0
  342. package/dist/admin/legacy/utils/getBreadcrumbDataML.mjs.map +1 -0
  343. package/dist/admin/legacy/utils/getFileExtension.js.map +1 -0
  344. package/dist/admin/legacy/utils/getFileExtension.mjs.map +1 -0
  345. package/dist/admin/legacy/utils/getFolderParents.js.map +1 -0
  346. package/dist/admin/legacy/utils/getFolderParents.mjs.map +1 -0
  347. package/dist/admin/legacy/utils/getFolderURL.js.map +1 -0
  348. package/dist/admin/legacy/utils/getFolderURL.mjs.map +1 -0
  349. package/dist/admin/legacy/utils/getTrad.js +8 -0
  350. package/dist/admin/legacy/utils/getTrad.js.map +1 -0
  351. package/dist/admin/legacy/utils/getTrad.mjs +6 -0
  352. package/dist/admin/legacy/utils/getTrad.mjs.map +1 -0
  353. package/dist/admin/legacy/utils/icons.js +23 -0
  354. package/dist/admin/legacy/utils/icons.js.map +1 -0
  355. package/dist/admin/legacy/utils/icons.mjs +19 -0
  356. package/dist/admin/legacy/utils/icons.mjs.map +1 -0
  357. package/dist/admin/legacy/utils/moveElement.js.map +1 -0
  358. package/dist/admin/legacy/utils/moveElement.mjs.map +1 -0
  359. package/dist/admin/legacy/utils/normalizeAPIError.js.map +1 -0
  360. package/dist/admin/legacy/utils/normalizeAPIError.mjs.map +1 -0
  361. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.js.map +1 -0
  362. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -0
  363. package/dist/admin/legacy/utils/prefixPluginTranslations.js.map +1 -0
  364. package/dist/admin/legacy/utils/prefixPluginTranslations.mjs.map +1 -0
  365. package/dist/admin/legacy/utils/rawFileToAsset.js +23 -0
  366. package/dist/admin/legacy/utils/rawFileToAsset.js.map +1 -0
  367. package/dist/admin/legacy/utils/rawFileToAsset.mjs +21 -0
  368. package/dist/admin/legacy/utils/rawFileToAsset.mjs.map +1 -0
  369. package/dist/admin/legacy/utils/resolveFileMime.js.map +1 -0
  370. package/dist/admin/legacy/utils/resolveFileMime.mjs.map +1 -0
  371. package/dist/admin/legacy/utils/toSingularTypes.js.map +1 -0
  372. package/dist/admin/legacy/utils/toSingularTypes.mjs.map +1 -0
  373. package/dist/admin/legacy/utils/urlYupSchema.js.map +1 -0
  374. package/dist/admin/legacy/utils/urlYupSchema.mjs.map +1 -0
  375. package/dist/admin/legacy/utils/urlsToAssets.js +42 -0
  376. package/dist/admin/legacy/utils/urlsToAssets.js.map +1 -0
  377. package/dist/admin/legacy/utils/urlsToAssets.mjs +40 -0
  378. package/dist/admin/legacy/utils/urlsToAssets.mjs.map +1 -0
  379. package/dist/admin/pages/Assets/AssetsPage.js +828 -0
  380. package/dist/admin/pages/Assets/AssetsPage.js.map +1 -0
  381. package/dist/admin/pages/Assets/AssetsPage.mjs +806 -0
  382. package/dist/admin/pages/Assets/AssetsPage.mjs.map +1 -0
  383. package/dist/admin/pages/Assets/components/ActionsMenuContent.js.map +1 -0
  384. package/dist/admin/pages/Assets/components/ActionsMenuContent.mjs.map +1 -0
  385. package/dist/admin/pages/Assets/components/AssetActionsMenu.js.map +1 -0
  386. package/dist/admin/pages/Assets/components/AssetActionsMenu.mjs.map +1 -0
  387. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +1 -0
  388. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +1 -0
  389. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +1202 -0
  390. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -0
  391. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +1175 -0
  392. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -0
  393. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js +261 -0
  394. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -0
  395. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs +239 -0
  396. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -0
  397. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.js.map +1 -0
  398. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.mjs.map +1 -0
  399. package/dist/admin/pages/Assets/components/AssetsGrid.js +528 -0
  400. package/dist/admin/pages/Assets/components/AssetsGrid.js.map +1 -0
  401. package/dist/admin/pages/Assets/components/AssetsGrid.mjs +526 -0
  402. package/dist/admin/pages/Assets/components/AssetsGrid.mjs.map +1 -0
  403. package/dist/admin/pages/Assets/components/AssetsSearchInput.js.map +1 -0
  404. package/dist/admin/pages/Assets/components/AssetsSearchInput.mjs.map +1 -0
  405. package/dist/admin/pages/Assets/components/AssetsTable.js.map +1 -0
  406. package/dist/admin/pages/Assets/components/AssetsTable.mjs.map +1 -0
  407. package/dist/admin/pages/Assets/components/BulkActionsBar.js +431 -0
  408. package/dist/admin/pages/Assets/components/BulkActionsBar.js.map +1 -0
  409. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs +429 -0
  410. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs.map +1 -0
  411. package/dist/admin/pages/Assets/components/BulkMoveDialog.js.map +1 -0
  412. package/dist/admin/pages/Assets/components/BulkMoveDialog.mjs.map +1 -0
  413. package/dist/admin/pages/Assets/components/BusyOverlay.js.map +1 -0
  414. package/dist/admin/pages/Assets/components/BusyOverlay.mjs.map +1 -0
  415. package/dist/admin/pages/Assets/components/DateRangeCalendar.js.map +1 -0
  416. package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs.map +1 -0
  417. package/dist/admin/pages/Assets/components/DeleteItemsDialog.js.map +1 -0
  418. package/dist/admin/pages/Assets/components/DeleteItemsDialog.mjs.map +1 -0
  419. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.js +306 -0
  420. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -0
  421. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.mjs +303 -0
  422. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -0
  423. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.js +147 -0
  424. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.js.map +1 -0
  425. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs +145 -0
  426. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +1 -0
  427. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.js.map +1 -0
  428. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.mjs.map +1 -0
  429. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.js.map +1 -0
  430. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +1 -0
  431. package/dist/admin/pages/Assets/components/Dnd/dndIds.js.map +1 -0
  432. package/dist/admin/pages/Assets/components/Dnd/dndIds.mjs.map +1 -0
  433. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.js.map +1 -0
  434. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.mjs.map +1 -0
  435. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +1 -0
  436. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +1 -0
  437. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -0
  438. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.mjs.map +1 -0
  439. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -0
  440. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -0
  441. package/dist/admin/pages/Assets/components/EmptyState.js.map +1 -0
  442. package/dist/admin/pages/Assets/components/EmptyState.mjs.map +1 -0
  443. package/dist/admin/pages/Assets/components/FilterBadges.js.map +1 -0
  444. package/dist/admin/pages/Assets/components/FilterBadges.mjs.map +1 -0
  445. package/dist/admin/pages/Assets/components/FilterMenu.js.map +1 -0
  446. package/dist/admin/pages/Assets/components/FilterMenu.mjs.map +1 -0
  447. package/dist/admin/pages/Assets/components/FolderActionsMenu.js.map +1 -0
  448. package/dist/admin/pages/Assets/components/FolderActionsMenu.mjs.map +1 -0
  449. package/dist/admin/pages/Assets/components/FolderFormDialog.js.map +1 -0
  450. package/dist/admin/pages/Assets/components/FolderFormDialog.mjs.map +1 -0
  451. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.js.map +1 -0
  452. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -0
  453. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +1 -0
  454. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +1 -0
  455. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.js.map +1 -0
  456. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.mjs.map +1 -0
  457. package/dist/admin/pages/Assets/components/MainAreaContextMenu.js.map +1 -0
  458. package/dist/admin/pages/Assets/components/MainAreaContextMenu.mjs.map +1 -0
  459. package/dist/admin/pages/Assets/components/SortMenu.js.map +1 -0
  460. package/dist/admin/pages/Assets/components/SortMenu.mjs.map +1 -0
  461. package/dist/admin/pages/Assets/constants.js.map +1 -0
  462. package/dist/admin/pages/Assets/constants.mjs.map +1 -0
  463. package/dist/admin/pages/Assets/hooks/useAssetSearch.js.map +1 -0
  464. package/dist/admin/pages/Assets/hooks/useAssetSearch.mjs.map +1 -0
  465. package/dist/admin/pages/Assets/hooks/useAssetSelection.js.map +1 -0
  466. package/dist/admin/pages/Assets/hooks/useAssetSelection.mjs.map +1 -0
  467. package/dist/admin/pages/Assets/hooks/useBusyAssets.js.map +1 -0
  468. package/dist/admin/pages/Assets/hooks/useBusyAssets.mjs.map +1 -0
  469. package/dist/admin/pages/Assets/hooks/useFolderInfo.js.map +1 -0
  470. package/dist/admin/pages/Assets/hooks/useFolderInfo.mjs.map +1 -0
  471. package/dist/admin/pages/Assets/hooks/useFolderNavigation.js.map +1 -0
  472. package/dist/admin/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -0
  473. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.js.map +1 -0
  474. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -0
  475. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +1 -0
  476. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +1 -0
  477. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +1 -0
  478. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +1 -0
  479. package/dist/admin/pages/Assets/hooks/useListFilters.js.map +1 -0
  480. package/dist/admin/pages/Assets/hooks/useListFilters.mjs.map +1 -0
  481. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.js.map +1 -0
  482. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.mjs.map +1 -0
  483. package/dist/admin/pages/Assets/hooks/useListSort.js.map +1 -0
  484. package/dist/admin/pages/Assets/hooks/useListSort.mjs.map +1 -0
  485. package/dist/admin/pages/Assets/utils/buildAssetFilters.js.map +1 -0
  486. package/dist/admin/pages/Assets/utils/buildAssetFilters.mjs.map +1 -0
  487. package/dist/admin/pages/Assets/utils/listQueryKey.js.map +1 -0
  488. package/dist/admin/pages/Assets/utils/listQueryKey.mjs.map +1 -0
  489. package/dist/admin/pages/Assets/utils/mergeMixedList.js.map +1 -0
  490. package/dist/admin/pages/Assets/utils/mergeMixedList.mjs.map +1 -0
  491. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.js.map +1 -0
  492. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.mjs.map +1 -0
  493. package/dist/admin/pages/Assets/utils/renderedKeys.js.map +1 -0
  494. package/dist/admin/pages/Assets/utils/renderedKeys.mjs.map +1 -0
  495. package/dist/admin/pages/Assets/utils/selection.js.map +1 -0
  496. package/dist/admin/pages/Assets/utils/selection.mjs.map +1 -0
  497. package/dist/admin/pages/SettingsPage/SettingsPage.js +23 -28
  498. package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
  499. package/dist/admin/pages/SettingsPage/SettingsPage.mjs +23 -28
  500. package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
  501. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js +110 -0
  502. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js.map +1 -0
  503. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs +88 -0
  504. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs.map +1 -0
  505. package/dist/admin/services/api.js +775 -0
  506. package/dist/admin/services/api.js.map +1 -0
  507. package/dist/admin/services/api.mjs +766 -0
  508. package/dist/admin/services/api.mjs.map +1 -0
  509. package/dist/admin/services/assets.js.map +1 -0
  510. package/dist/admin/services/assets.mjs.map +1 -0
  511. package/dist/admin/services/folders.js.map +1 -0
  512. package/dist/admin/services/folders.mjs.map +1 -0
  513. package/dist/admin/services/settings.js.map +1 -0
  514. package/dist/admin/services/settings.mjs.map +1 -0
  515. package/dist/admin/services/uploadFileViaXHR.js.map +1 -0
  516. package/dist/admin/services/uploadFileViaXHR.mjs.map +1 -0
  517. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +19 -2
  518. package/dist/admin/src/hooks/useTracking.d.ts +26 -1
  519. package/dist/admin/src/legacy/ai/components/AIAssetCard.d.ts +13 -0
  520. package/dist/admin/src/legacy/ai/components/AIUploadModal.d.ts +55 -0
  521. package/dist/admin/src/legacy/components/AssetCard/AssetCard.d.ts +19 -0
  522. package/dist/admin/src/legacy/components/AssetCard/UploadingAssetCard.d.ts +17 -0
  523. package/dist/admin/src/legacy/components/AssetDialog/AssetDialog.d.ts +39 -0
  524. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/BrowseStep.d.ts +63 -0
  525. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +7 -0
  526. package/dist/admin/src/legacy/components/AssetDialog/SelectedStep/SelectedStep.d.ts +8 -0
  527. package/dist/admin/src/legacy/components/AssetGridList/AssetGridList.d.ts +13 -0
  528. package/dist/admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.d.ts +15 -0
  529. package/dist/admin/src/legacy/components/EditAssetDialog/EditAssetContent.d.ts +31 -0
  530. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +8 -0
  531. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +26 -0
  532. package/dist/admin/src/legacy/components/EditAssetDialog/RemoveAssetDialog.d.ts +8 -0
  533. package/dist/admin/src/legacy/components/EditFolderDialog/EditFolderDialog.d.ts +12 -0
  534. package/dist/admin/src/legacy/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +10 -0
  535. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +4 -0
  536. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +9 -0
  537. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +23 -0
  538. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +10 -0
  539. package/dist/admin/src/legacy/components/SelectTree/Option.d.ts +16 -0
  540. package/dist/admin/src/legacy/components/SortPicker/SortPicker.d.ts +7 -0
  541. package/dist/admin/src/legacy/components/TableList/CellContent.d.ts +8 -0
  542. package/dist/admin/src/legacy/components/TableList/PreviewCell.d.ts +7 -0
  543. package/dist/admin/src/legacy/components/TableList/TableList.d.ts +31 -0
  544. package/dist/admin/src/legacy/components/TableList/TableRows.d.ts +22 -0
  545. package/dist/admin/src/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +13 -0
  546. package/dist/admin/src/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +22 -0
  547. package/dist/admin/src/legacy/components/UploadAssetDialog/UploadAssetDialog.d.ts +21 -0
  548. package/dist/admin/src/legacy/components/UploadProgress/UploadProgress.d.ts +7 -0
  549. package/dist/admin/src/legacy/hooks/useAssets.d.ts +14 -0
  550. package/dist/admin/src/legacy/hooks/useBulkEdit.d.ts +91 -0
  551. package/dist/admin/src/legacy/hooks/useBulkMove.d.ts +209 -0
  552. package/dist/admin/src/legacy/hooks/useBulkRemove.d.ts +241 -0
  553. package/dist/admin/src/legacy/hooks/useConfig.d.ts +5 -0
  554. package/dist/admin/src/legacy/hooks/useEditAsset.d.ts +119 -0
  555. package/dist/admin/src/legacy/hooks/useEditFolder.d.ts +72 -0
  556. package/dist/admin/src/legacy/hooks/useFolder.d.ts +7 -0
  557. package/dist/admin/src/legacy/hooks/useFolderStructure.d.ts +18 -0
  558. package/dist/admin/src/legacy/hooks/useFolders.d.ts +11 -0
  559. package/dist/admin/src/legacy/hooks/useMediaLibraryPermissions.d.ts +4 -0
  560. package/dist/admin/src/legacy/hooks/useModalQueryParams.d.ts +20 -0
  561. package/dist/admin/src/legacy/hooks/useRemoveAsset.d.ts +8 -0
  562. package/dist/admin/src/legacy/hooks/useTracking.d.ts +4 -0
  563. package/dist/admin/src/legacy/hooks/useUpload.d.ts +15 -0
  564. package/dist/admin/src/legacy/pages/App/ConfigureTheView/ConfigureTheView.d.ts +6 -0
  565. package/dist/admin/src/legacy/pages/App/ConfigureTheView/components/Settings.d.ts +13 -0
  566. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/actions.d.ts +12 -0
  567. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/init.d.ts +8 -0
  568. package/dist/admin/src/legacy/pages/App/MediaLibrary.d.ts +1 -0
  569. package/dist/admin/src/legacy/pages/App/components/BulkActions.d.ts +15 -0
  570. package/dist/admin/src/legacy/pages/App/components/BulkDeleteButton.d.ts +7 -0
  571. package/dist/admin/src/legacy/pages/App/components/BulkMoveButton.d.ts +15 -0
  572. package/dist/admin/src/legacy/pages/App/components/Header.d.ts +22 -0
  573. package/dist/admin/src/legacy/utils/containsAssetFilter.d.ts +2 -0
  574. package/dist/admin/src/legacy/utils/createAssetUrl.d.ts +2 -0
  575. package/dist/admin/src/legacy/utils/downloadFile.d.ts +1 -0
  576. package/dist/admin/src/legacy/utils/findRecursiveFolderByValue.d.ts +11 -0
  577. package/dist/admin/src/legacy/utils/getAllowedFiles.d.ts +14 -0
  578. package/dist/admin/src/legacy/utils/getBreadcrumbDataCM.d.ts +19 -0
  579. package/dist/admin/src/legacy/utils/getBreadcrumbDataML.d.ts +18 -0
  580. package/dist/admin/src/legacy/utils/getFolderParents.d.ts +11 -0
  581. package/dist/admin/src/legacy/utils/getFolderURL.d.ts +5 -0
  582. package/dist/admin/src/legacy/utils/icons.d.ts +15 -0
  583. package/dist/admin/src/legacy/utils/index.d.ts +26 -0
  584. package/dist/admin/src/legacy/utils/rawFileToAsset.d.ts +14 -0
  585. package/dist/admin/src/pages/Assets/components/ActionsMenuContent.d.ts +33 -0
  586. package/dist/admin/src/pages/Assets/components/AssetActionsMenu.d.ts +26 -0
  587. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +16 -0
  588. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +46 -0
  589. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetPreview.d.ts +9 -0
  590. package/dist/admin/src/pages/Assets/components/AssetsGrid.d.ts +12 -0
  591. package/dist/admin/src/pages/Assets/components/AssetsTable.d.ts +18 -0
  592. package/dist/admin/src/pages/Assets/components/BulkActionsBar.d.ts +28 -0
  593. package/dist/admin/src/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +7 -0
  594. package/dist/admin/src/pages/Assets/components/FolderActionsMenu.d.ts +21 -0
  595. package/dist/admin/src/pages/Assets/hooks/useFolderNavigation.d.ts +7 -0
  596. package/dist/admin/src/pages/Assets/hooks/useInfiniteAssets.d.ts +45 -0
  597. package/dist/admin/src/pages/Assets/utils/mergeMixedList.d.ts +40 -0
  598. package/dist/admin/src/pages/Assets/utils/mergeUploadedAssets.d.ts +35 -0
  599. package/dist/admin/src/pages/Assets/utils/renderedKeys.d.ts +19 -0
  600. package/dist/admin/src/pages/SettingsPage/useAIMetadataJob.d.ts +9 -0
  601. package/dist/admin/src/services/api.d.ts +99 -0
  602. package/dist/admin/src/services/assets.d.ts +33 -0
  603. package/dist/admin/src/services/folders.d.ts +37 -0
  604. package/dist/admin/src/services/settings.d.ts +2 -0
  605. package/dist/admin/src/services/uploadFileViaXHR.d.ts +23 -0
  606. package/dist/admin/src/store/uploadProgress.d.ts +201 -0
  607. package/dist/admin/src/utils/canDropItemOnFolder.d.ts +9 -0
  608. package/dist/admin/src/utils/downloadFile.d.ts +5 -0
  609. package/dist/admin/src/utils/flattenFolderStructure.d.ts +18 -0
  610. package/dist/admin/src/utils/getFolderLabel.d.ts +11 -0
  611. package/dist/admin/src/utils/itemLocations.d.ts +31 -0
  612. package/dist/admin/store/hooks.js.map +1 -0
  613. package/dist/admin/store/hooks.mjs.map +1 -0
  614. package/dist/admin/store/uploadProgress.js +373 -0
  615. package/dist/admin/store/uploadProgress.js.map +1 -0
  616. package/dist/admin/store/uploadProgress.mjs +349 -0
  617. package/dist/admin/store/uploadProgress.mjs.map +1 -0
  618. package/dist/admin/translations/en.json.js +0 -3
  619. package/dist/admin/translations/en.json.js.map +1 -1
  620. package/dist/admin/translations/en.json.mjs +0 -3
  621. package/dist/admin/translations/en.json.mjs.map +1 -1
  622. package/dist/admin/utils/buildBulkMovePayload.js.map +1 -0
  623. package/dist/admin/utils/buildBulkMovePayload.mjs.map +1 -0
  624. package/dist/admin/utils/buildDragSetFromSelection.js.map +1 -0
  625. package/dist/admin/utils/buildDragSetFromSelection.mjs.map +1 -0
  626. package/dist/admin/utils/canDropItemOnFolder.js.map +1 -0
  627. package/dist/admin/utils/canDropItemOnFolder.mjs.map +1 -0
  628. package/dist/admin/utils/createRafBatcher.js.map +1 -0
  629. package/dist/admin/utils/createRafBatcher.mjs.map +1 -0
  630. package/dist/admin/utils/downloadFile.js +13 -7
  631. package/dist/admin/utils/downloadFile.js.map +1 -1
  632. package/dist/admin/utils/downloadFile.mjs +13 -7
  633. package/dist/admin/utils/downloadFile.mjs.map +1 -1
  634. package/dist/admin/utils/files.js.map +1 -0
  635. package/dist/admin/utils/files.mjs.map +1 -0
  636. package/dist/admin/utils/flattenFolderStructure.js.map +1 -0
  637. package/dist/admin/utils/flattenFolderStructure.mjs.map +1 -0
  638. package/dist/admin/utils/formatMoveSuccessMessage.js.map +1 -0
  639. package/dist/admin/utils/formatMoveSuccessMessage.mjs.map +1 -0
  640. package/dist/admin/utils/getApiErrorMessage.js.map +1 -0
  641. package/dist/admin/utils/getApiErrorMessage.mjs.map +1 -0
  642. package/dist/admin/utils/getAssetIcon.js +28 -0
  643. package/dist/admin/utils/getAssetIcon.js.map +1 -0
  644. package/dist/admin/utils/getAssetIcon.mjs +26 -0
  645. package/dist/admin/utils/getAssetIcon.mjs.map +1 -0
  646. package/dist/admin/utils/getFolderLabel.js.map +1 -0
  647. package/dist/admin/utils/getFolderLabel.mjs.map +1 -0
  648. package/dist/admin/utils/getRelationId.js.map +1 -0
  649. package/dist/admin/utils/getRelationId.mjs.map +1 -0
  650. package/dist/admin/utils/isEventFromWithin.js.map +1 -0
  651. package/dist/admin/utils/isEventFromWithin.mjs.map +1 -0
  652. package/dist/admin/utils/itemLocations.js.map +1 -0
  653. package/dist/admin/utils/itemLocations.mjs.map +1 -0
  654. package/dist/admin/utils/itemSource.js.map +1 -0
  655. package/dist/admin/utils/itemSource.mjs.map +1 -0
  656. package/dist/admin/utils/searchQueryParam.js.map +1 -0
  657. package/dist/admin/utils/searchQueryParam.mjs.map +1 -0
  658. package/dist/admin/utils/translations.js +8 -0
  659. package/dist/admin/utils/translations.js.map +1 -0
  660. package/dist/admin/utils/translations.mjs +6 -0
  661. package/dist/admin/utils/translations.mjs.map +1 -0
  662. package/dist/server/bootstrap.js +11 -0
  663. package/dist/server/bootstrap.js.map +1 -1
  664. package/dist/server/bootstrap.mjs +11 -0
  665. package/dist/server/bootstrap.mjs.map +1 -1
  666. package/dist/server/controllers/admin-settings.js +1 -4
  667. package/dist/server/controllers/admin-settings.js.map +1 -1
  668. package/dist/server/controllers/admin-settings.mjs +1 -4
  669. package/dist/server/controllers/admin-settings.mjs.map +1 -1
  670. package/dist/server/controllers/admin-upload.js +31 -1
  671. package/dist/server/controllers/admin-upload.js.map +1 -1
  672. package/dist/server/controllers/admin-upload.mjs +31 -1
  673. package/dist/server/controllers/admin-upload.mjs.map +1 -1
  674. package/dist/server/controllers/utils/find-entity-and-check-permissions.js +15 -4
  675. package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -1
  676. package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs +15 -4
  677. package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs.map +1 -1
  678. package/dist/server/controllers/utils/folders.js +1 -1
  679. package/dist/server/controllers/utils/folders.js.map +1 -1
  680. package/dist/server/controllers/utils/folders.mjs +1 -1
  681. package/dist/server/controllers/utils/folders.mjs.map +1 -1
  682. package/dist/server/mcp/ambient-instance.js +46 -0
  683. package/dist/server/mcp/ambient-instance.js.map +1 -0
  684. package/dist/server/mcp/ambient-instance.mjs +43 -0
  685. package/dist/server/mcp/ambient-instance.mjs.map +1 -0
  686. package/dist/server/mcp/handlers/constants.js +60 -0
  687. package/dist/server/mcp/handlers/constants.js.map +1 -0
  688. package/dist/server/mcp/handlers/constants.mjs +45 -0
  689. package/dist/server/mcp/handlers/constants.mjs.map +1 -0
  690. package/dist/server/mcp/handlers/folder-handlers.js +308 -0
  691. package/dist/server/mcp/handlers/folder-handlers.js.map +1 -0
  692. package/dist/server/mcp/handlers/folder-handlers.mjs +303 -0
  693. package/dist/server/mcp/handlers/folder-handlers.mjs.map +1 -0
  694. package/dist/server/mcp/handlers/read-handlers.js +134 -0
  695. package/dist/server/mcp/handlers/read-handlers.js.map +1 -0
  696. package/dist/server/mcp/handlers/read-handlers.mjs +130 -0
  697. package/dist/server/mcp/handlers/read-handlers.mjs.map +1 -0
  698. package/dist/server/mcp/handlers/write-handlers.js +315 -0
  699. package/dist/server/mcp/handlers/write-handlers.js.map +1 -0
  700. package/dist/server/mcp/handlers/write-handlers.mjs +311 -0
  701. package/dist/server/mcp/handlers/write-handlers.mjs.map +1 -0
  702. package/dist/server/mcp/permissions.js +36 -0
  703. package/dist/server/mcp/permissions.js.map +1 -0
  704. package/dist/server/mcp/permissions.mjs +33 -0
  705. package/dist/server/mcp/permissions.mjs.map +1 -0
  706. package/dist/server/mcp/register-upload-mcp-tools.js +235 -0
  707. package/dist/server/mcp/register-upload-mcp-tools.js.map +1 -0
  708. package/dist/server/mcp/register-upload-mcp-tools.mjs +232 -0
  709. package/dist/server/mcp/register-upload-mcp-tools.mjs.map +1 -0
  710. package/dist/server/mcp/sanitizers/sanitize-media.js +97 -0
  711. package/dist/server/mcp/sanitizers/sanitize-media.js.map +1 -0
  712. package/dist/server/mcp/sanitizers/sanitize-media.mjs +93 -0
  713. package/dist/server/mcp/sanitizers/sanitize-media.mjs.map +1 -0
  714. package/dist/server/mcp/schemas/input-schemas.js +206 -0
  715. package/dist/server/mcp/schemas/input-schemas.js.map +1 -0
  716. package/dist/server/mcp/schemas/input-schemas.mjs +190 -0
  717. package/dist/server/mcp/schemas/input-schemas.mjs.map +1 -0
  718. package/dist/server/mcp/schemas/output-schemas.js +158 -0
  719. package/dist/server/mcp/schemas/output-schemas.js.map +1 -0
  720. package/dist/server/mcp/schemas/output-schemas.mjs +142 -0
  721. package/dist/server/mcp/schemas/output-schemas.mjs.map +1 -0
  722. package/dist/server/mcp/utils.js +14 -0
  723. package/dist/server/mcp/utils.js.map +1 -0
  724. package/dist/server/mcp/utils.mjs +12 -0
  725. package/dist/server/mcp/utils.mjs.map +1 -0
  726. package/dist/server/media-library-default-notice.js +42 -0
  727. package/dist/server/media-library-default-notice.js.map +1 -0
  728. package/dist/server/media-library-default-notice.mjs +40 -0
  729. package/dist/server/media-library-default-notice.mjs.map +1 -0
  730. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js +147 -0
  731. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js.map +1 -0
  732. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs +145 -0
  733. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs.map +1 -0
  734. package/dist/server/register.js +8 -0
  735. package/dist/server/register.js.map +1 -1
  736. package/dist/server/register.mjs +8 -0
  737. package/dist/server/register.mjs.map +1 -1
  738. package/dist/server/routes/admin.js +4 -1
  739. package/dist/server/routes/admin.js.map +1 -1
  740. package/dist/server/routes/admin.mjs +4 -1
  741. package/dist/server/routes/admin.mjs.map +1 -1
  742. package/dist/server/services/ai-metadata.js +1 -1
  743. package/dist/server/services/ai-metadata.js.map +1 -1
  744. package/dist/server/services/ai-metadata.mjs +1 -1
  745. package/dist/server/services/ai-metadata.mjs.map +1 -1
  746. package/dist/server/services/extensions/index.js +17 -5
  747. package/dist/server/services/extensions/index.js.map +1 -1
  748. package/dist/server/services/extensions/index.mjs +16 -4
  749. package/dist/server/services/extensions/index.mjs.map +1 -1
  750. package/dist/server/services/extensions/utils.js +318 -19
  751. package/dist/server/services/extensions/utils.js.map +1 -1
  752. package/dist/server/services/extensions/utils.mjs +309 -20
  753. package/dist/server/services/extensions/utils.mjs.map +1 -1
  754. package/dist/server/services/folder.js.map +1 -1
  755. package/dist/server/services/folder.mjs.map +1 -1
  756. package/dist/server/services/metrics.js +4 -3
  757. package/dist/server/services/metrics.js.map +1 -1
  758. package/dist/server/services/metrics.mjs +4 -3
  759. package/dist/server/services/metrics.mjs.map +1 -1
  760. package/dist/server/services/upload.js +14 -2
  761. package/dist/server/services/upload.js.map +1 -1
  762. package/dist/server/services/upload.mjs +14 -2
  763. package/dist/server/services/upload.mjs.map +1 -1
  764. package/dist/server/src/bootstrap.d.ts.map +1 -1
  765. package/dist/server/src/controllers/admin-settings.d.ts +1 -1
  766. package/dist/server/src/controllers/admin-settings.d.ts.map +1 -1
  767. package/dist/server/src/controllers/admin-upload.d.ts +1 -0
  768. package/dist/server/src/controllers/admin-upload.d.ts.map +1 -1
  769. package/dist/server/src/controllers/index.d.ts +1 -1
  770. package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts +14 -1
  771. package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts.map +1 -1
  772. package/dist/server/src/controllers/utils/folders.d.ts +2 -1
  773. package/dist/server/src/controllers/utils/folders.d.ts.map +1 -1
  774. package/dist/server/src/index.d.ts +9 -3
  775. package/dist/server/src/index.d.ts.map +1 -1
  776. package/dist/server/src/mcp/ambient-instance.d.ts +65 -0
  777. package/dist/server/src/mcp/ambient-instance.d.ts.map +1 -0
  778. package/dist/server/src/mcp/handlers/constants.d.ts +48 -0
  779. package/dist/server/src/mcp/handlers/constants.d.ts.map +1 -0
  780. package/dist/server/src/mcp/handlers/folder-handlers.d.ts +49 -0
  781. package/dist/server/src/mcp/handlers/folder-handlers.d.ts.map +1 -0
  782. package/dist/server/src/mcp/handlers/index.d.ts +5 -0
  783. package/dist/server/src/mcp/handlers/index.d.ts.map +1 -0
  784. package/dist/server/src/mcp/handlers/read-handlers.d.ts +35 -0
  785. package/dist/server/src/mcp/handlers/read-handlers.d.ts.map +1 -0
  786. package/dist/server/src/mcp/handlers/write-handlers.d.ts +66 -0
  787. package/dist/server/src/mcp/handlers/write-handlers.d.ts.map +1 -0
  788. package/dist/server/src/mcp/index.d.ts +3 -0
  789. package/dist/server/src/mcp/index.d.ts.map +1 -0
  790. package/dist/server/src/mcp/permissions.d.ts +22 -0
  791. package/dist/server/src/mcp/permissions.d.ts.map +1 -0
  792. package/dist/server/src/mcp/register-upload-mcp-tools.d.ts +29 -0
  793. package/dist/server/src/mcp/register-upload-mcp-tools.d.ts.map +1 -0
  794. package/dist/server/src/mcp/sanitizers/sanitize-media.d.ts +63 -0
  795. package/dist/server/src/mcp/sanitizers/sanitize-media.d.ts.map +1 -0
  796. package/dist/server/src/mcp/schemas/index.d.ts +3 -0
  797. package/dist/server/src/mcp/schemas/index.d.ts.map +1 -0
  798. package/dist/server/src/mcp/schemas/input-schemas.d.ts +148 -0
  799. package/dist/server/src/mcp/schemas/input-schemas.d.ts.map +1 -0
  800. package/dist/server/src/mcp/schemas/output-schemas.d.ts +276 -0
  801. package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -0
  802. package/dist/server/src/mcp/types.d.ts +19 -0
  803. package/dist/server/src/mcp/types.d.ts.map +1 -0
  804. package/dist/server/src/mcp/utils.d.ts +4 -0
  805. package/dist/server/src/mcp/utils.d.ts.map +1 -0
  806. package/dist/server/src/media-library-default-notice.d.ts +19 -0
  807. package/dist/server/src/media-library-default-notice.d.ts.map +1 -0
  808. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts +18 -0
  809. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts.map +1 -0
  810. package/dist/server/src/register.d.ts.map +1 -1
  811. package/dist/server/src/routes/admin.d.ts.map +1 -1
  812. package/dist/server/src/services/extensions/index.d.ts.map +1 -1
  813. package/dist/server/src/services/extensions/utils.d.ts +52 -2
  814. package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
  815. package/dist/server/src/services/folder.d.ts +6 -2
  816. package/dist/server/src/services/folder.d.ts.map +1 -1
  817. package/dist/server/src/services/index.d.ts +8 -2
  818. package/dist/server/src/services/index.d.ts.map +1 -1
  819. package/dist/server/src/services/metrics.d.ts.map +1 -1
  820. package/dist/server/src/services/upload.d.ts +8 -1
  821. package/dist/server/src/services/upload.d.ts.map +1 -1
  822. package/dist/server/src/types.d.ts +2 -2
  823. package/dist/server/src/types.d.ts.map +1 -1
  824. package/dist/server/src/utils/index.d.ts +2 -1
  825. package/dist/server/src/utils/index.d.ts.map +1 -1
  826. package/dist/server/utils/index.js +2 -2
  827. package/dist/server/utils/index.js.map +1 -1
  828. package/dist/server/utils/index.mjs +2 -2
  829. package/dist/server/utils/index.mjs.map +1 -1
  830. package/dist/shared/contracts/files.d.ts +22 -0
  831. package/dist/shared/contracts/files.d.ts.map +1 -1
  832. package/package.json +7 -6
  833. package/dist/admin/ai/components/AIAssetCard.js +0 -621
  834. package/dist/admin/ai/components/AIAssetCard.js.map +0 -1
  835. package/dist/admin/ai/components/AIAssetCard.mjs +0 -598
  836. package/dist/admin/ai/components/AIAssetCard.mjs.map +0 -1
  837. package/dist/admin/ai/components/AIUploadModal.js.map +0 -1
  838. package/dist/admin/ai/components/AIUploadModal.mjs.map +0 -1
  839. package/dist/admin/components/AssetCard/AssetCard.js +0 -67
  840. package/dist/admin/components/AssetCard/AssetCard.js.map +0 -1
  841. package/dist/admin/components/AssetCard/AssetCard.mjs +0 -65
  842. package/dist/admin/components/AssetCard/AssetCard.mjs.map +0 -1
  843. package/dist/admin/components/AssetCard/AssetCardBase.js.map +0 -1
  844. package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +0 -1
  845. package/dist/admin/components/AssetCard/AudioAssetCard.js.map +0 -1
  846. package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +0 -1
  847. package/dist/admin/components/AssetCard/AudioPreview.js.map +0 -1
  848. package/dist/admin/components/AssetCard/AudioPreview.mjs.map +0 -1
  849. package/dist/admin/components/AssetCard/DocAssetCard.js.map +0 -1
  850. package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +0 -1
  851. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +0 -1
  852. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +0 -1
  853. package/dist/admin/components/AssetCard/UploadingAssetCard.js +0 -154
  854. package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +0 -1
  855. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +0 -132
  856. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +0 -1
  857. package/dist/admin/components/AssetCard/VideoAssetCard.js.map +0 -1
  858. package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +0 -1
  859. package/dist/admin/components/AssetCard/VideoPreview.js.map +0 -1
  860. package/dist/admin/components/AssetCard/VideoPreview.mjs.map +0 -1
  861. package/dist/admin/components/AssetDialog/AssetDialog.js.map +0 -1
  862. package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +0 -1
  863. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -320
  864. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +0 -1
  865. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -318
  866. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +0 -1
  867. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +0 -1
  868. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +0 -1
  869. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +0 -1
  870. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +0 -1
  871. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +0 -1
  872. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +0 -1
  873. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +0 -1
  874. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +0 -1
  875. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +0 -1
  876. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +0 -1
  877. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +0 -1
  878. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +0 -1
  879. package/dist/admin/components/AssetDialog/DialogFooter.js.map +0 -1
  880. package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +0 -1
  881. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +0 -1
  882. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +0 -1
  883. package/dist/admin/components/AssetGridList/AssetGridList.js.map +0 -1
  884. package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +0 -1
  885. package/dist/admin/components/AssetGridList/Draggable.js.map +0 -1
  886. package/dist/admin/components/AssetGridList/Draggable.mjs.map +0 -1
  887. package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +0 -1
  888. package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +0 -1
  889. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +0 -1
  890. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +0 -1
  891. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +0 -1
  892. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +0 -1
  893. package/dist/admin/components/ContextInfo/ContextInfo.js.map +0 -1
  894. package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +0 -1
  895. package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +0 -1
  896. package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +0 -1
  897. package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +0 -1
  898. package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +0 -1
  899. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +0 -1
  900. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +0 -1
  901. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +0 -114
  902. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +0 -1
  903. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +0 -89
  904. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +0 -1
  905. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +0 -1
  906. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +0 -1
  907. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +0 -1
  908. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +0 -1
  909. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +0 -362
  910. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +0 -1
  911. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +0 -337
  912. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +0 -1
  913. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +0 -1
  914. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +0 -1
  915. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +0 -1
  916. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +0 -1
  917. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +0 -1
  918. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +0 -1
  919. package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +0 -1
  920. package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +0 -1
  921. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +0 -1
  922. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +0 -1
  923. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +0 -1
  924. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +0 -1
  925. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +0 -1
  926. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +0 -1
  927. package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +0 -1
  928. package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +0 -1
  929. package/dist/admin/components/FilterList/FilterList.js.map +0 -1
  930. package/dist/admin/components/FilterList/FilterList.mjs.map +0 -1
  931. package/dist/admin/components/FilterList/FilterTag.js.map +0 -1
  932. package/dist/admin/components/FilterList/FilterTag.mjs.map +0 -1
  933. package/dist/admin/components/FilterPopover/FilterPopover.js.map +0 -1
  934. package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +0 -1
  935. package/dist/admin/components/FilterPopover/FilterValueInput.js.map +0 -1
  936. package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +0 -1
  937. package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +0 -1
  938. package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +0 -1
  939. package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +0 -1
  940. package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +0 -1
  941. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +0 -1
  942. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +0 -1
  943. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +0 -1
  944. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +0 -1
  945. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +0 -1
  946. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +0 -1
  947. package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +0 -1
  948. package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +0 -1
  949. package/dist/admin/components/FolderGridList/FolderGridList.js.map +0 -1
  950. package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +0 -1
  951. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +0 -1
  952. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +0 -1
  953. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +0 -89
  954. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +0 -1
  955. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +0 -87
  956. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +0 -1
  957. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +0 -1
  958. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +0 -1
  959. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +0 -1
  960. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +0 -1
  961. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +0 -111
  962. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +0 -1
  963. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +0 -89
  964. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +0 -1
  965. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +0 -1
  966. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +0 -1
  967. package/dist/admin/components/SelectTree/Option.js.map +0 -1
  968. package/dist/admin/components/SelectTree/Option.mjs.map +0 -1
  969. package/dist/admin/components/SelectTree/SelectTree.js.map +0 -1
  970. package/dist/admin/components/SelectTree/SelectTree.mjs.map +0 -1
  971. package/dist/admin/components/SelectTree/utils/flattenTree.js.map +0 -1
  972. package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +0 -1
  973. package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +0 -1
  974. package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +0 -1
  975. package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +0 -1
  976. package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +0 -1
  977. package/dist/admin/components/SortPicker/SortPicker.js +0 -40
  978. package/dist/admin/components/SortPicker/SortPicker.js.map +0 -1
  979. package/dist/admin/components/SortPicker/SortPicker.mjs +0 -38
  980. package/dist/admin/components/SortPicker/SortPicker.mjs.map +0 -1
  981. package/dist/admin/components/TableList/CellContent.js.map +0 -1
  982. package/dist/admin/components/TableList/CellContent.mjs.map +0 -1
  983. package/dist/admin/components/TableList/PreviewCell.js +0 -116
  984. package/dist/admin/components/TableList/PreviewCell.js.map +0 -1
  985. package/dist/admin/components/TableList/PreviewCell.mjs +0 -114
  986. package/dist/admin/components/TableList/PreviewCell.mjs.map +0 -1
  987. package/dist/admin/components/TableList/TableList.js +0 -100
  988. package/dist/admin/components/TableList/TableList.js.map +0 -1
  989. package/dist/admin/components/TableList/TableList.mjs +0 -98
  990. package/dist/admin/components/TableList/TableList.mjs.map +0 -1
  991. package/dist/admin/components/TableList/TableRows.js +0 -105
  992. package/dist/admin/components/TableList/TableRows.js.map +0 -1
  993. package/dist/admin/components/TableList/TableRows.mjs +0 -103
  994. package/dist/admin/components/TableList/TableRows.mjs.map +0 -1
  995. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +0 -1
  996. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +0 -1
  997. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +0 -177
  998. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +0 -1
  999. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +0 -155
  1000. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +0 -1
  1001. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +0 -1
  1002. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +0 -1
  1003. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +0 -1
  1004. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +0 -1
  1005. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +0 -1
  1006. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +0 -1
  1007. package/dist/admin/components/UploadProgress/UploadProgress.js.map +0 -1
  1008. package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +0 -1
  1009. package/dist/admin/future/App.js +0 -33
  1010. package/dist/admin/future/App.js.map +0 -1
  1011. package/dist/admin/future/App.mjs +0 -31
  1012. package/dist/admin/future/App.mjs.map +0 -1
  1013. package/dist/admin/future/components/BetaNotice.js +0 -72
  1014. package/dist/admin/future/components/BetaNotice.js.map +0 -1
  1015. package/dist/admin/future/components/BetaNotice.mjs +0 -70
  1016. package/dist/admin/future/components/BetaNotice.mjs.map +0 -1
  1017. package/dist/admin/future/components/Drawer.js.map +0 -1
  1018. package/dist/admin/future/components/Drawer.mjs.map +0 -1
  1019. package/dist/admin/future/components/TruncatedText.js.map +0 -1
  1020. package/dist/admin/future/components/TruncatedText.mjs.map +0 -1
  1021. package/dist/admin/future/components/UploadProgressDialog.js +0 -699
  1022. package/dist/admin/future/components/UploadProgressDialog.js.map +0 -1
  1023. package/dist/admin/future/components/UploadProgressDialog.mjs +0 -697
  1024. package/dist/admin/future/components/UploadProgressDialog.mjs.map +0 -1
  1025. package/dist/admin/future/hooks/useAIMetadataEnabled.js +0 -39
  1026. package/dist/admin/future/hooks/useAIMetadataEnabled.js.map +0 -1
  1027. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs +0 -37
  1028. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs.map +0 -1
  1029. package/dist/admin/future/hooks/useApiErrorMessage.js.map +0 -1
  1030. package/dist/admin/future/hooks/useApiErrorMessage.mjs.map +0 -1
  1031. package/dist/admin/future/hooks/useMediaLibraryPermissions.js +0 -35
  1032. package/dist/admin/future/hooks/useMediaLibraryPermissions.js.map +0 -1
  1033. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs +0 -33
  1034. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs.map +0 -1
  1035. package/dist/admin/future/hooks/useTracking.js +0 -57
  1036. package/dist/admin/future/hooks/useTracking.js.map +0 -1
  1037. package/dist/admin/future/hooks/useTracking.mjs +0 -53
  1038. package/dist/admin/future/hooks/useTracking.mjs.map +0 -1
  1039. package/dist/admin/future/pages/Assets/AssetsPage.js +0 -830
  1040. package/dist/admin/future/pages/Assets/AssetsPage.js.map +0 -1
  1041. package/dist/admin/future/pages/Assets/AssetsPage.mjs +0 -808
  1042. package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +0 -1
  1043. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.js.map +0 -1
  1044. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.mjs.map +0 -1
  1045. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.js.map +0 -1
  1046. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.mjs.map +0 -1
  1047. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +0 -1
  1048. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +0 -1
  1049. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +0 -1202
  1050. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +0 -1
  1051. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +0 -1175
  1052. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +0 -1
  1053. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +0 -261
  1054. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +0 -1
  1055. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +0 -239
  1056. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +0 -1
  1057. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.js.map +0 -1
  1058. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.mjs.map +0 -1
  1059. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +0 -534
  1060. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +0 -1
  1061. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +0 -532
  1062. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +0 -1
  1063. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.js.map +0 -1
  1064. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.mjs.map +0 -1
  1065. package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +0 -1
  1066. package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +0 -1
  1067. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js +0 -431
  1068. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js.map +0 -1
  1069. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs +0 -429
  1070. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs.map +0 -1
  1071. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.js.map +0 -1
  1072. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.mjs.map +0 -1
  1073. package/dist/admin/future/pages/Assets/components/BusyOverlay.js.map +0 -1
  1074. package/dist/admin/future/pages/Assets/components/BusyOverlay.mjs.map +0 -1
  1075. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.js.map +0 -1
  1076. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.mjs.map +0 -1
  1077. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.js.map +0 -1
  1078. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.mjs.map +0 -1
  1079. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js +0 -299
  1080. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +0 -1
  1081. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs +0 -296
  1082. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +0 -1
  1083. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js +0 -144
  1084. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js.map +0 -1
  1085. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs +0 -142
  1086. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +0 -1
  1087. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.js.map +0 -1
  1088. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.mjs.map +0 -1
  1089. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.js.map +0 -1
  1090. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +0 -1
  1091. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.js.map +0 -1
  1092. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.mjs.map +0 -1
  1093. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.js.map +0 -1
  1094. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.mjs.map +0 -1
  1095. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +0 -1
  1096. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +0 -1
  1097. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +0 -1
  1098. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs.map +0 -1
  1099. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +0 -1
  1100. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +0 -1
  1101. package/dist/admin/future/pages/Assets/components/EmptyState.js.map +0 -1
  1102. package/dist/admin/future/pages/Assets/components/EmptyState.mjs.map +0 -1
  1103. package/dist/admin/future/pages/Assets/components/FilterBadges.js.map +0 -1
  1104. package/dist/admin/future/pages/Assets/components/FilterBadges.mjs.map +0 -1
  1105. package/dist/admin/future/pages/Assets/components/FilterMenu.js.map +0 -1
  1106. package/dist/admin/future/pages/Assets/components/FilterMenu.mjs.map +0 -1
  1107. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.js.map +0 -1
  1108. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.mjs.map +0 -1
  1109. package/dist/admin/future/pages/Assets/components/FolderFormDialog.js.map +0 -1
  1110. package/dist/admin/future/pages/Assets/components/FolderFormDialog.mjs.map +0 -1
  1111. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +0 -1
  1112. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +0 -1
  1113. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +0 -1
  1114. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +0 -1
  1115. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +0 -1
  1116. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.mjs.map +0 -1
  1117. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.js.map +0 -1
  1118. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.mjs.map +0 -1
  1119. package/dist/admin/future/pages/Assets/components/SortMenu.js.map +0 -1
  1120. package/dist/admin/future/pages/Assets/components/SortMenu.mjs.map +0 -1
  1121. package/dist/admin/future/pages/Assets/constants.js.map +0 -1
  1122. package/dist/admin/future/pages/Assets/constants.mjs.map +0 -1
  1123. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.js.map +0 -1
  1124. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.mjs.map +0 -1
  1125. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.js.map +0 -1
  1126. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.mjs.map +0 -1
  1127. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.js.map +0 -1
  1128. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.mjs.map +0 -1
  1129. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +0 -1
  1130. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +0 -1
  1131. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +0 -1
  1132. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +0 -1
  1133. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +0 -1
  1134. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +0 -1
  1135. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +0 -1
  1136. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +0 -1
  1137. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +0 -1
  1138. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +0 -1
  1139. package/dist/admin/future/pages/Assets/hooks/useListFilters.js.map +0 -1
  1140. package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs.map +0 -1
  1141. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.js.map +0 -1
  1142. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.mjs.map +0 -1
  1143. package/dist/admin/future/pages/Assets/hooks/useListSort.js.map +0 -1
  1144. package/dist/admin/future/pages/Assets/hooks/useListSort.mjs.map +0 -1
  1145. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.js.map +0 -1
  1146. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.mjs.map +0 -1
  1147. package/dist/admin/future/pages/Assets/utils/listQueryKey.js.map +0 -1
  1148. package/dist/admin/future/pages/Assets/utils/listQueryKey.mjs.map +0 -1
  1149. package/dist/admin/future/pages/Assets/utils/mergeMixedList.js.map +0 -1
  1150. package/dist/admin/future/pages/Assets/utils/mergeMixedList.mjs.map +0 -1
  1151. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.js.map +0 -1
  1152. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.mjs.map +0 -1
  1153. package/dist/admin/future/pages/Assets/utils/renderedKeys.js.map +0 -1
  1154. package/dist/admin/future/pages/Assets/utils/renderedKeys.mjs.map +0 -1
  1155. package/dist/admin/future/pages/Assets/utils/selection.js.map +0 -1
  1156. package/dist/admin/future/pages/Assets/utils/selection.mjs.map +0 -1
  1157. package/dist/admin/future/services/api.js +0 -758
  1158. package/dist/admin/future/services/api.js.map +0 -1
  1159. package/dist/admin/future/services/api.mjs +0 -749
  1160. package/dist/admin/future/services/api.mjs.map +0 -1
  1161. package/dist/admin/future/services/assets.js.map +0 -1
  1162. package/dist/admin/future/services/assets.mjs.map +0 -1
  1163. package/dist/admin/future/services/folders.js.map +0 -1
  1164. package/dist/admin/future/services/folders.mjs.map +0 -1
  1165. package/dist/admin/future/services/settings.js.map +0 -1
  1166. package/dist/admin/future/services/settings.mjs.map +0 -1
  1167. package/dist/admin/future/services/uploadFileViaXHR.js.map +0 -1
  1168. package/dist/admin/future/services/uploadFileViaXHR.mjs.map +0 -1
  1169. package/dist/admin/future/store/hooks.js.map +0 -1
  1170. package/dist/admin/future/store/hooks.mjs.map +0 -1
  1171. package/dist/admin/future/store/uploadProgress.js +0 -364
  1172. package/dist/admin/future/store/uploadProgress.js.map +0 -1
  1173. package/dist/admin/future/store/uploadProgress.mjs +0 -340
  1174. package/dist/admin/future/store/uploadProgress.mjs.map +0 -1
  1175. package/dist/admin/future/utils/buildBulkMovePayload.js.map +0 -1
  1176. package/dist/admin/future/utils/buildBulkMovePayload.mjs.map +0 -1
  1177. package/dist/admin/future/utils/buildDragSetFromSelection.js.map +0 -1
  1178. package/dist/admin/future/utils/buildDragSetFromSelection.mjs.map +0 -1
  1179. package/dist/admin/future/utils/canDropItemOnFolder.js.map +0 -1
  1180. package/dist/admin/future/utils/canDropItemOnFolder.mjs.map +0 -1
  1181. package/dist/admin/future/utils/createRafBatcher.js.map +0 -1
  1182. package/dist/admin/future/utils/createRafBatcher.mjs.map +0 -1
  1183. package/dist/admin/future/utils/downloadFile.js +0 -19
  1184. package/dist/admin/future/utils/downloadFile.js.map +0 -1
  1185. package/dist/admin/future/utils/downloadFile.mjs +0 -17
  1186. package/dist/admin/future/utils/downloadFile.mjs.map +0 -1
  1187. package/dist/admin/future/utils/files.js.map +0 -1
  1188. package/dist/admin/future/utils/files.mjs.map +0 -1
  1189. package/dist/admin/future/utils/flattenFolderStructure.js.map +0 -1
  1190. package/dist/admin/future/utils/flattenFolderStructure.mjs.map +0 -1
  1191. package/dist/admin/future/utils/formatMoveSuccessMessage.js.map +0 -1
  1192. package/dist/admin/future/utils/formatMoveSuccessMessage.mjs.map +0 -1
  1193. package/dist/admin/future/utils/getApiErrorMessage.js.map +0 -1
  1194. package/dist/admin/future/utils/getApiErrorMessage.mjs.map +0 -1
  1195. package/dist/admin/future/utils/getAssetIcon.js +0 -28
  1196. package/dist/admin/future/utils/getAssetIcon.js.map +0 -1
  1197. package/dist/admin/future/utils/getAssetIcon.mjs +0 -26
  1198. package/dist/admin/future/utils/getAssetIcon.mjs.map +0 -1
  1199. package/dist/admin/future/utils/getFolderLabel.js.map +0 -1
  1200. package/dist/admin/future/utils/getFolderLabel.mjs.map +0 -1
  1201. package/dist/admin/future/utils/getRelationId.js.map +0 -1
  1202. package/dist/admin/future/utils/getRelationId.mjs.map +0 -1
  1203. package/dist/admin/future/utils/isEventFromWithin.js.map +0 -1
  1204. package/dist/admin/future/utils/isEventFromWithin.mjs.map +0 -1
  1205. package/dist/admin/future/utils/itemLocations.js.map +0 -1
  1206. package/dist/admin/future/utils/itemLocations.mjs.map +0 -1
  1207. package/dist/admin/future/utils/itemSource.js.map +0 -1
  1208. package/dist/admin/future/utils/itemSource.mjs.map +0 -1
  1209. package/dist/admin/future/utils/searchQueryParam.js.map +0 -1
  1210. package/dist/admin/future/utils/searchQueryParam.mjs.map +0 -1
  1211. package/dist/admin/future/utils/translations.js +0 -8
  1212. package/dist/admin/future/utils/translations.js.map +0 -1
  1213. package/dist/admin/future/utils/translations.mjs +0 -6
  1214. package/dist/admin/future/utils/translations.mjs.map +0 -1
  1215. package/dist/admin/hooks/useAIMetadataJob.js +0 -114
  1216. package/dist/admin/hooks/useAIMetadataJob.js.map +0 -1
  1217. package/dist/admin/hooks/useAIMetadataJob.mjs +0 -92
  1218. package/dist/admin/hooks/useAIMetadataJob.mjs.map +0 -1
  1219. package/dist/admin/hooks/useAiAvailability.js.map +0 -1
  1220. package/dist/admin/hooks/useAiAvailability.mjs.map +0 -1
  1221. package/dist/admin/hooks/useAssets.js +0 -127
  1222. package/dist/admin/hooks/useAssets.js.map +0 -1
  1223. package/dist/admin/hooks/useAssets.mjs +0 -105
  1224. package/dist/admin/hooks/useAssets.mjs.map +0 -1
  1225. package/dist/admin/hooks/useBulkEdit.js +0 -65
  1226. package/dist/admin/hooks/useBulkEdit.js.map +0 -1
  1227. package/dist/admin/hooks/useBulkEdit.mjs +0 -63
  1228. package/dist/admin/hooks/useBulkEdit.mjs.map +0 -1
  1229. package/dist/admin/hooks/useBulkMove.js +0 -78
  1230. package/dist/admin/hooks/useBulkMove.js.map +0 -1
  1231. package/dist/admin/hooks/useBulkMove.mjs +0 -76
  1232. package/dist/admin/hooks/useBulkMove.mjs.map +0 -1
  1233. package/dist/admin/hooks/useBulkRemove.js +0 -83
  1234. package/dist/admin/hooks/useBulkRemove.js.map +0 -1
  1235. package/dist/admin/hooks/useBulkRemove.mjs +0 -81
  1236. package/dist/admin/hooks/useBulkRemove.mjs.map +0 -1
  1237. package/dist/admin/hooks/useConfig.js +0 -58
  1238. package/dist/admin/hooks/useConfig.js.map +0 -1
  1239. package/dist/admin/hooks/useConfig.mjs +0 -56
  1240. package/dist/admin/hooks/useConfig.mjs.map +0 -1
  1241. package/dist/admin/hooks/useCropImg.js.map +0 -1
  1242. package/dist/admin/hooks/useCropImg.mjs.map +0 -1
  1243. package/dist/admin/hooks/useEditAsset.js +0 -115
  1244. package/dist/admin/hooks/useEditAsset.js.map +0 -1
  1245. package/dist/admin/hooks/useEditAsset.mjs +0 -93
  1246. package/dist/admin/hooks/useEditAsset.mjs.map +0 -1
  1247. package/dist/admin/hooks/useEditFolder.js +0 -45
  1248. package/dist/admin/hooks/useEditFolder.js.map +0 -1
  1249. package/dist/admin/hooks/useEditFolder.mjs +0 -43
  1250. package/dist/admin/hooks/useEditFolder.mjs.map +0 -1
  1251. package/dist/admin/hooks/useFolder.js +0 -57
  1252. package/dist/admin/hooks/useFolder.js.map +0 -1
  1253. package/dist/admin/hooks/useFolder.mjs +0 -55
  1254. package/dist/admin/hooks/useFolder.mjs.map +0 -1
  1255. package/dist/admin/hooks/useFolderStructure.js +0 -52
  1256. package/dist/admin/hooks/useFolderStructure.js.map +0 -1
  1257. package/dist/admin/hooks/useFolderStructure.mjs +0 -50
  1258. package/dist/admin/hooks/useFolderStructure.mjs.map +0 -1
  1259. package/dist/admin/hooks/useFolders.js +0 -108
  1260. package/dist/admin/hooks/useFolders.js.map +0 -1
  1261. package/dist/admin/hooks/useFolders.mjs +0 -86
  1262. package/dist/admin/hooks/useFolders.mjs.map +0 -1
  1263. package/dist/admin/hooks/useModalQueryParams.js.map +0 -1
  1264. package/dist/admin/hooks/useModalQueryParams.mjs.map +0 -1
  1265. package/dist/admin/hooks/usePersistentState.js.map +0 -1
  1266. package/dist/admin/hooks/usePersistentState.mjs.map +0 -1
  1267. package/dist/admin/hooks/useRemoveAsset.js +0 -58
  1268. package/dist/admin/hooks/useRemoveAsset.js.map +0 -1
  1269. package/dist/admin/hooks/useRemoveAsset.mjs +0 -56
  1270. package/dist/admin/hooks/useRemoveAsset.mjs.map +0 -1
  1271. package/dist/admin/hooks/useSelectionState.js.map +0 -1
  1272. package/dist/admin/hooks/useSelectionState.mjs.map +0 -1
  1273. package/dist/admin/hooks/useSettings.js.map +0 -1
  1274. package/dist/admin/hooks/useSettings.mjs.map +0 -1
  1275. package/dist/admin/hooks/useUpload.js +0 -109
  1276. package/dist/admin/hooks/useUpload.js.map +0 -1
  1277. package/dist/admin/hooks/useUpload.mjs +0 -87
  1278. package/dist/admin/hooks/useUpload.mjs.map +0 -1
  1279. package/dist/admin/hooks/utils/renameKeys.js.map +0 -1
  1280. package/dist/admin/hooks/utils/renameKeys.mjs.map +0 -1
  1281. package/dist/admin/pages/App/App.js.map +0 -1
  1282. package/dist/admin/pages/App/App.mjs.map +0 -1
  1283. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +0 -145
  1284. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +0 -1
  1285. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -120
  1286. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +0 -1
  1287. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -109
  1288. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +0 -1
  1289. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -107
  1290. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +0 -1
  1291. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js +0 -10
  1292. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +0 -1
  1293. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs +0 -7
  1294. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +0 -1
  1295. package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +0 -1
  1296. package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +0 -1
  1297. package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +0 -1
  1298. package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +0 -1
  1299. package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +0 -1
  1300. package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +0 -1
  1301. package/dist/admin/pages/App/MediaLibrary.js +0 -469
  1302. package/dist/admin/pages/App/MediaLibrary.js.map +0 -1
  1303. package/dist/admin/pages/App/MediaLibrary.mjs +0 -447
  1304. package/dist/admin/pages/App/MediaLibrary.mjs.map +0 -1
  1305. package/dist/admin/pages/App/components/BulkActions.js.map +0 -1
  1306. package/dist/admin/pages/App/components/BulkActions.mjs.map +0 -1
  1307. package/dist/admin/pages/App/components/BulkDeleteButton.js.map +0 -1
  1308. package/dist/admin/pages/App/components/BulkDeleteButton.mjs.map +0 -1
  1309. package/dist/admin/pages/App/components/BulkMoveButton.js.map +0 -1
  1310. package/dist/admin/pages/App/components/BulkMoveButton.mjs.map +0 -1
  1311. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +0 -1
  1312. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +0 -1
  1313. package/dist/admin/pages/App/components/Filters.js.map +0 -1
  1314. package/dist/admin/pages/App/components/Filters.mjs.map +0 -1
  1315. package/dist/admin/pages/App/components/Header.js.map +0 -1
  1316. package/dist/admin/pages/App/components/Header.mjs.map +0 -1
  1317. package/dist/admin/src/ai/components/AIAssetCard.d.ts +0 -13
  1318. package/dist/admin/src/ai/components/AIUploadModal.d.ts +0 -55
  1319. package/dist/admin/src/components/AssetCard/AssetCard.d.ts +0 -19
  1320. package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +0 -17
  1321. package/dist/admin/src/components/AssetDialog/AssetDialog.d.ts +0 -39
  1322. package/dist/admin/src/components/AssetDialog/BrowseStep/BrowseStep.d.ts +0 -63
  1323. package/dist/admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +0 -7
  1324. package/dist/admin/src/components/AssetDialog/SelectedStep/SelectedStep.d.ts +0 -8
  1325. package/dist/admin/src/components/AssetGridList/AssetGridList.d.ts +0 -13
  1326. package/dist/admin/src/components/BulkMoveDialog/BulkMoveDialog.d.ts +0 -15
  1327. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +0 -31
  1328. package/dist/admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +0 -8
  1329. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +0 -26
  1330. package/dist/admin/src/components/EditAssetDialog/RemoveAssetDialog.d.ts +0 -8
  1331. package/dist/admin/src/components/EditFolderDialog/EditFolderDialog.d.ts +0 -12
  1332. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +0 -10
  1333. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +0 -4
  1334. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +0 -9
  1335. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +0 -23
  1336. package/dist/admin/src/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +0 -10
  1337. package/dist/admin/src/components/SelectTree/Option.d.ts +0 -16
  1338. package/dist/admin/src/components/SortPicker/SortPicker.d.ts +0 -7
  1339. package/dist/admin/src/components/TableList/CellContent.d.ts +0 -8
  1340. package/dist/admin/src/components/TableList/PreviewCell.d.ts +0 -7
  1341. package/dist/admin/src/components/TableList/TableList.d.ts +0 -31
  1342. package/dist/admin/src/components/TableList/TableRows.d.ts +0 -22
  1343. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +0 -13
  1344. package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +0 -22
  1345. package/dist/admin/src/components/UploadAssetDialog/UploadAssetDialog.d.ts +0 -21
  1346. package/dist/admin/src/components/UploadProgress/UploadProgress.d.ts +0 -7
  1347. package/dist/admin/src/future/App.d.ts +0 -1
  1348. package/dist/admin/src/future/components/BetaNotice.d.ts +0 -11
  1349. package/dist/admin/src/future/hooks/useMediaLibraryPermissions.d.ts +0 -21
  1350. package/dist/admin/src/future/hooks/useTracking.d.ts +0 -29
  1351. package/dist/admin/src/future/pages/Assets/components/ActionsMenuContent.d.ts +0 -33
  1352. package/dist/admin/src/future/pages/Assets/components/AssetActionsMenu.d.ts +0 -26
  1353. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +0 -16
  1354. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +0 -46
  1355. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetPreview.d.ts +0 -9
  1356. package/dist/admin/src/future/pages/Assets/components/AssetsGrid.d.ts +0 -12
  1357. package/dist/admin/src/future/pages/Assets/components/AssetsTable.d.ts +0 -18
  1358. package/dist/admin/src/future/pages/Assets/components/BulkActionsBar.d.ts +0 -28
  1359. package/dist/admin/src/future/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +0 -7
  1360. package/dist/admin/src/future/pages/Assets/components/FolderActionsMenu.d.ts +0 -21
  1361. package/dist/admin/src/future/pages/Assets/hooks/useFolderNavigation.d.ts +0 -7
  1362. package/dist/admin/src/future/pages/Assets/hooks/useInfiniteAssets.d.ts +0 -45
  1363. package/dist/admin/src/future/pages/Assets/utils/mergeMixedList.d.ts +0 -40
  1364. package/dist/admin/src/future/pages/Assets/utils/mergeUploadedAssets.d.ts +0 -35
  1365. package/dist/admin/src/future/pages/Assets/utils/renderedKeys.d.ts +0 -19
  1366. package/dist/admin/src/future/services/api.d.ts +0 -99
  1367. package/dist/admin/src/future/services/assets.d.ts +0 -33
  1368. package/dist/admin/src/future/services/folders.d.ts +0 -37
  1369. package/dist/admin/src/future/services/settings.d.ts +0 -2
  1370. package/dist/admin/src/future/services/uploadFileViaXHR.d.ts +0 -23
  1371. package/dist/admin/src/future/store/uploadProgress.d.ts +0 -207
  1372. package/dist/admin/src/future/utils/canDropItemOnFolder.d.ts +0 -9
  1373. package/dist/admin/src/future/utils/downloadFile.d.ts +0 -6
  1374. package/dist/admin/src/future/utils/flattenFolderStructure.d.ts +0 -18
  1375. package/dist/admin/src/future/utils/getFolderLabel.d.ts +0 -11
  1376. package/dist/admin/src/future/utils/itemLocations.d.ts +0 -31
  1377. package/dist/admin/src/hooks/useAIMetadataJob.d.ts +0 -9
  1378. package/dist/admin/src/hooks/useAssets.d.ts +0 -14
  1379. package/dist/admin/src/hooks/useBulkEdit.d.ts +0 -91
  1380. package/dist/admin/src/hooks/useBulkMove.d.ts +0 -209
  1381. package/dist/admin/src/hooks/useBulkRemove.d.ts +0 -241
  1382. package/dist/admin/src/hooks/useConfig.d.ts +0 -5
  1383. package/dist/admin/src/hooks/useEditAsset.d.ts +0 -119
  1384. package/dist/admin/src/hooks/useEditFolder.d.ts +0 -72
  1385. package/dist/admin/src/hooks/useFolder.d.ts +0 -7
  1386. package/dist/admin/src/hooks/useFolderStructure.d.ts +0 -18
  1387. package/dist/admin/src/hooks/useFolders.d.ts +0 -11
  1388. package/dist/admin/src/hooks/useModalQueryParams.d.ts +0 -20
  1389. package/dist/admin/src/hooks/useRemoveAsset.d.ts +0 -8
  1390. package/dist/admin/src/hooks/useUpload.d.ts +0 -15
  1391. package/dist/admin/src/pages/App/ConfigureTheView/ConfigureTheView.d.ts +0 -6
  1392. package/dist/admin/src/pages/App/ConfigureTheView/components/Settings.d.ts +0 -13
  1393. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +0 -12
  1394. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +0 -8
  1395. package/dist/admin/src/pages/App/components/BulkActions.d.ts +0 -15
  1396. package/dist/admin/src/pages/App/components/BulkDeleteButton.d.ts +0 -7
  1397. package/dist/admin/src/pages/App/components/BulkMoveButton.d.ts +0 -15
  1398. package/dist/admin/src/pages/App/components/Header.d.ts +0 -22
  1399. package/dist/admin/src/utils/containsAssetFilter.d.ts +0 -2
  1400. package/dist/admin/src/utils/createAssetUrl.d.ts +0 -2
  1401. package/dist/admin/src/utils/findRecursiveFolderByValue.d.ts +0 -11
  1402. package/dist/admin/src/utils/getAllowedFiles.d.ts +0 -14
  1403. package/dist/admin/src/utils/getBreadcrumbDataCM.d.ts +0 -19
  1404. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +0 -18
  1405. package/dist/admin/src/utils/getFolderParents.d.ts +0 -11
  1406. package/dist/admin/src/utils/getFolderURL.d.ts +0 -5
  1407. package/dist/admin/src/utils/icons.d.ts +0 -15
  1408. package/dist/admin/src/utils/index.d.ts +0 -26
  1409. package/dist/admin/src/utils/rawFileToAsset.d.ts +0 -14
  1410. package/dist/admin/utils/appendSearchParamsToUrl.js.map +0 -1
  1411. package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +0 -1
  1412. package/dist/admin/utils/containsAssetFilter.js.map +0 -1
  1413. package/dist/admin/utils/containsAssetFilter.mjs.map +0 -1
  1414. package/dist/admin/utils/createAssetUrl.js.map +0 -1
  1415. package/dist/admin/utils/createAssetUrl.mjs.map +0 -1
  1416. package/dist/admin/utils/displayedFilters.js.map +0 -1
  1417. package/dist/admin/utils/displayedFilters.mjs.map +0 -1
  1418. package/dist/admin/utils/findRecursiveFolderByValue.js.map +0 -1
  1419. package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +0 -1
  1420. package/dist/admin/utils/formatBytes.js.map +0 -1
  1421. package/dist/admin/utils/formatBytes.mjs.map +0 -1
  1422. package/dist/admin/utils/formatDuration.js.map +0 -1
  1423. package/dist/admin/utils/formatDuration.mjs.map +0 -1
  1424. package/dist/admin/utils/getAPIInnerErrors.js.map +0 -1
  1425. package/dist/admin/utils/getAPIInnerErrors.mjs.map +0 -1
  1426. package/dist/admin/utils/getAllowedFiles.js.map +0 -1
  1427. package/dist/admin/utils/getAllowedFiles.mjs.map +0 -1
  1428. package/dist/admin/utils/getBreadcrumbDataCM.js.map +0 -1
  1429. package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +0 -1
  1430. package/dist/admin/utils/getBreadcrumbDataML.js.map +0 -1
  1431. package/dist/admin/utils/getBreadcrumbDataML.mjs.map +0 -1
  1432. package/dist/admin/utils/getFileExtension.js.map +0 -1
  1433. package/dist/admin/utils/getFileExtension.mjs.map +0 -1
  1434. package/dist/admin/utils/getFolderParents.js.map +0 -1
  1435. package/dist/admin/utils/getFolderParents.mjs.map +0 -1
  1436. package/dist/admin/utils/getFolderURL.js.map +0 -1
  1437. package/dist/admin/utils/getFolderURL.mjs.map +0 -1
  1438. package/dist/admin/utils/getTrad.js +0 -8
  1439. package/dist/admin/utils/getTrad.js.map +0 -1
  1440. package/dist/admin/utils/getTrad.mjs +0 -6
  1441. package/dist/admin/utils/getTrad.mjs.map +0 -1
  1442. package/dist/admin/utils/icons.js +0 -23
  1443. package/dist/admin/utils/icons.js.map +0 -1
  1444. package/dist/admin/utils/icons.mjs +0 -19
  1445. package/dist/admin/utils/icons.mjs.map +0 -1
  1446. package/dist/admin/utils/moveElement.js.map +0 -1
  1447. package/dist/admin/utils/moveElement.mjs.map +0 -1
  1448. package/dist/admin/utils/normalizeAPIError.js.map +0 -1
  1449. package/dist/admin/utils/normalizeAPIError.mjs.map +0 -1
  1450. package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +0 -1
  1451. package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +0 -1
  1452. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  1453. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  1454. package/dist/admin/utils/rawFileToAsset.js +0 -23
  1455. package/dist/admin/utils/rawFileToAsset.js.map +0 -1
  1456. package/dist/admin/utils/rawFileToAsset.mjs +0 -21
  1457. package/dist/admin/utils/rawFileToAsset.mjs.map +0 -1
  1458. package/dist/admin/utils/resolveFileMime.js.map +0 -1
  1459. package/dist/admin/utils/resolveFileMime.mjs.map +0 -1
  1460. package/dist/admin/utils/toSingularTypes.js.map +0 -1
  1461. package/dist/admin/utils/toSingularTypes.mjs.map +0 -1
  1462. package/dist/admin/utils/urlYupSchema.js.map +0 -1
  1463. package/dist/admin/utils/urlYupSchema.mjs.map +0 -1
  1464. package/dist/admin/utils/urlsToAssets.js +0 -42
  1465. package/dist/admin/utils/urlsToAssets.js.map +0 -1
  1466. package/dist/admin/utils/urlsToAssets.mjs +0 -40
  1467. package/dist/admin/utils/urlsToAssets.mjs.map +0 -1
  1468. /package/dist/admin/{future/components → components}/Drawer.js +0 -0
  1469. /package/dist/admin/{future/components → components}/Drawer.mjs +0 -0
  1470. /package/dist/admin/{future/components → components}/TruncatedText.js +0 -0
  1471. /package/dist/admin/{future/components → components}/TruncatedText.mjs +0 -0
  1472. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.js +0 -0
  1473. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.mjs +0 -0
  1474. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.js +0 -0
  1475. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.mjs +0 -0
  1476. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.js +0 -0
  1477. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.mjs +0 -0
  1478. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.js +0 -0
  1479. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.mjs +0 -0
  1480. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.js +0 -0
  1481. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.mjs +0 -0
  1482. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.js +0 -0
  1483. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.mjs +0 -0
  1484. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.js +0 -0
  1485. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.mjs +0 -0
  1486. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.js +0 -0
  1487. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.mjs +0 -0
  1488. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.js +0 -0
  1489. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.mjs +0 -0
  1490. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.js +0 -0
  1491. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.mjs +0 -0
  1492. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.js +0 -0
  1493. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.mjs +0 -0
  1494. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.js +0 -0
  1495. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.mjs +0 -0
  1496. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +0 -0
  1497. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs +0 -0
  1498. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js +0 -0
  1499. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs +0 -0
  1500. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +0 -0
  1501. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -0
  1502. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.js +0 -0
  1503. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.mjs +0 -0
  1504. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.js +0 -0
  1505. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.mjs +0 -0
  1506. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.js +0 -0
  1507. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.mjs +0 -0
  1508. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.js +0 -0
  1509. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.mjs +0 -0
  1510. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.js +0 -0
  1511. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.mjs +0 -0
  1512. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.js +0 -0
  1513. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.mjs +0 -0
  1514. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.js +0 -0
  1515. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -0
  1516. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.js +0 -0
  1517. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.mjs +0 -0
  1518. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.js +0 -0
  1519. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.mjs +0 -0
  1520. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.js +0 -0
  1521. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.mjs +0 -0
  1522. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.js +0 -0
  1523. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.mjs +0 -0
  1524. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.js +0 -0
  1525. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.mjs +0 -0
  1526. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.js +0 -0
  1527. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -0
  1528. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -0
  1529. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -0
  1530. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.js +0 -0
  1531. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.mjs +0 -0
  1532. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.js +0 -0
  1533. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.mjs +0 -0
  1534. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.js +0 -0
  1535. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.mjs +0 -0
  1536. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.js +0 -0
  1537. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.mjs +0 -0
  1538. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.js +0 -0
  1539. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -0
  1540. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.js +0 -0
  1541. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.mjs +0 -0
  1542. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.js +0 -0
  1543. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.mjs +0 -0
  1544. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.js +0 -0
  1545. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.mjs +0 -0
  1546. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.js +0 -0
  1547. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.mjs +0 -0
  1548. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.js +0 -0
  1549. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.mjs +0 -0
  1550. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.js +0 -0
  1551. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.mjs +0 -0
  1552. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.js +0 -0
  1553. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.mjs +0 -0
  1554. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.js +0 -0
  1555. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.mjs +0 -0
  1556. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.js +0 -0
  1557. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.mjs +0 -0
  1558. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.js +0 -0
  1559. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.mjs +0 -0
  1560. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js +0 -0
  1561. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs +0 -0
  1562. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js +0 -0
  1563. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs +0 -0
  1564. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.js +0 -0
  1565. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.mjs +0 -0
  1566. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.js +0 -0
  1567. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.mjs +0 -0
  1568. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.js +0 -0
  1569. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.mjs +0 -0
  1570. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -0
  1571. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -0
  1572. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.js +0 -0
  1573. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.mjs +0 -0
  1574. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.js +0 -0
  1575. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.mjs +0 -0
  1576. /package/dist/admin/{components → legacy/components}/SelectTree/Option.js +0 -0
  1577. /package/dist/admin/{components → legacy/components}/SelectTree/Option.mjs +0 -0
  1578. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.js +0 -0
  1579. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.mjs +0 -0
  1580. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.js +0 -0
  1581. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.mjs +0 -0
  1582. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.js +0 -0
  1583. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.mjs +0 -0
  1584. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.js +0 -0
  1585. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.mjs +0 -0
  1586. /package/dist/admin/{components → legacy/components}/TableList/CellContent.js +0 -0
  1587. /package/dist/admin/{components → legacy/components}/TableList/CellContent.mjs +0 -0
  1588. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -0
  1589. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -0
  1590. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.js +0 -0
  1591. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -0
  1592. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +0 -0
  1593. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -0
  1594. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.js +0 -0
  1595. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.mjs +0 -0
  1596. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.js +0 -0
  1597. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.mjs +0 -0
  1598. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.js +0 -0
  1599. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.mjs +0 -0
  1600. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.js +0 -0
  1601. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.mjs +0 -0
  1602. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.js +0 -0
  1603. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.mjs +0 -0
  1604. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.js +0 -0
  1605. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.mjs +0 -0
  1606. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.js +0 -0
  1607. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.mjs +0 -0
  1608. /package/dist/admin/{hooks → legacy/hooks}/useSettings.js +0 -0
  1609. /package/dist/admin/{hooks → legacy/hooks}/useSettings.mjs +0 -0
  1610. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.js +0 -0
  1611. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.mjs +0 -0
  1612. /package/dist/admin/{pages → legacy/pages}/App/App.js +0 -0
  1613. /package/dist/admin/{pages → legacy/pages}/App/App.mjs +0 -0
  1614. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.js +0 -0
  1615. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.mjs +0 -0
  1616. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.js +0 -0
  1617. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.mjs +0 -0
  1618. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.js +0 -0
  1619. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.mjs +0 -0
  1620. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.js +0 -0
  1621. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.mjs +0 -0
  1622. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.js +0 -0
  1623. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.mjs +0 -0
  1624. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.js +0 -0
  1625. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.mjs +0 -0
  1626. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.js +0 -0
  1627. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.mjs +0 -0
  1628. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.js +0 -0
  1629. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.mjs +0 -0
  1630. /package/dist/admin/{pages → legacy/pages}/App/components/Header.js +0 -0
  1631. /package/dist/admin/{pages → legacy/pages}/App/components/Header.mjs +0 -0
  1632. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.js +0 -0
  1633. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.mjs +0 -0
  1634. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.js +0 -0
  1635. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.mjs +0 -0
  1636. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.js +0 -0
  1637. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.mjs +0 -0
  1638. /package/dist/admin/{utils → legacy/utils}/displayedFilters.js +0 -0
  1639. /package/dist/admin/{utils → legacy/utils}/displayedFilters.mjs +0 -0
  1640. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.js +0 -0
  1641. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.mjs +0 -0
  1642. /package/dist/admin/{utils → legacy/utils}/formatBytes.js +0 -0
  1643. /package/dist/admin/{utils → legacy/utils}/formatBytes.mjs +0 -0
  1644. /package/dist/admin/{utils → legacy/utils}/formatDuration.js +0 -0
  1645. /package/dist/admin/{utils → legacy/utils}/formatDuration.mjs +0 -0
  1646. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.js +0 -0
  1647. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.mjs +0 -0
  1648. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.js +0 -0
  1649. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.mjs +0 -0
  1650. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.js +0 -0
  1651. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.mjs +0 -0
  1652. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.js +0 -0
  1653. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.mjs +0 -0
  1654. /package/dist/admin/{utils → legacy/utils}/getFileExtension.js +0 -0
  1655. /package/dist/admin/{utils → legacy/utils}/getFileExtension.mjs +0 -0
  1656. /package/dist/admin/{utils → legacy/utils}/getFolderParents.js +0 -0
  1657. /package/dist/admin/{utils → legacy/utils}/getFolderParents.mjs +0 -0
  1658. /package/dist/admin/{utils → legacy/utils}/getFolderURL.js +0 -0
  1659. /package/dist/admin/{utils → legacy/utils}/getFolderURL.mjs +0 -0
  1660. /package/dist/admin/{utils → legacy/utils}/moveElement.js +0 -0
  1661. /package/dist/admin/{utils → legacy/utils}/moveElement.mjs +0 -0
  1662. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.js +0 -0
  1663. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.mjs +0 -0
  1664. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.js +0 -0
  1665. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.mjs +0 -0
  1666. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.js +0 -0
  1667. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.mjs +0 -0
  1668. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.js +0 -0
  1669. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.mjs +0 -0
  1670. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.js +0 -0
  1671. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.mjs +0 -0
  1672. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.js +0 -0
  1673. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.mjs +0 -0
  1674. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.js +0 -0
  1675. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.mjs +0 -0
  1676. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.js +0 -0
  1677. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.mjs +0 -0
  1678. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.js +0 -0
  1679. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.mjs +0 -0
  1680. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.js +0 -0
  1681. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.mjs +0 -0
  1682. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.js +0 -0
  1683. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.mjs +0 -0
  1684. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.js +0 -0
  1685. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.mjs +0 -0
  1686. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.js +0 -0
  1687. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.mjs +0 -0
  1688. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.js +0 -0
  1689. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.mjs +0 -0
  1690. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.js +0 -0
  1691. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.mjs +0 -0
  1692. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.js +0 -0
  1693. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.mjs +0 -0
  1694. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.js +0 -0
  1695. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.mjs +0 -0
  1696. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.js +0 -0
  1697. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.mjs +0 -0
  1698. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.js +0 -0
  1699. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.mjs +0 -0
  1700. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.js +0 -0
  1701. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.mjs +0 -0
  1702. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.js +0 -0
  1703. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.mjs +0 -0
  1704. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.js +0 -0
  1705. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.mjs +0 -0
  1706. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.js +0 -0
  1707. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.mjs +0 -0
  1708. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.js +0 -0
  1709. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.mjs +0 -0
  1710. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.js +0 -0
  1711. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.mjs +0 -0
  1712. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.js +0 -0
  1713. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.mjs +0 -0
  1714. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.js +0 -0
  1715. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.mjs +0 -0
  1716. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.js +0 -0
  1717. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.mjs +0 -0
  1718. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.js +0 -0
  1719. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.mjs +0 -0
  1720. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.js +0 -0
  1721. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.mjs +0 -0
  1722. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.js +0 -0
  1723. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.mjs +0 -0
  1724. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.js +0 -0
  1725. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.mjs +0 -0
  1726. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.js +0 -0
  1727. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.mjs +0 -0
  1728. /package/dist/admin/{future/pages → pages}/Assets/constants.js +0 -0
  1729. /package/dist/admin/{future/pages → pages}/Assets/constants.mjs +0 -0
  1730. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.js +0 -0
  1731. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.mjs +0 -0
  1732. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.js +0 -0
  1733. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.mjs +0 -0
  1734. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.js +0 -0
  1735. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.mjs +0 -0
  1736. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.js +0 -0
  1737. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.mjs +0 -0
  1738. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.js +0 -0
  1739. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.mjs +0 -0
  1740. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.js +0 -0
  1741. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.mjs +0 -0
  1742. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.js +0 -0
  1743. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.mjs +0 -0
  1744. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.js +0 -0
  1745. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.mjs +0 -0
  1746. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.js +0 -0
  1747. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.mjs +0 -0
  1748. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.js +0 -0
  1749. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.mjs +0 -0
  1750. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.js +0 -0
  1751. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.mjs +0 -0
  1752. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.js +0 -0
  1753. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.mjs +0 -0
  1754. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.js +0 -0
  1755. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.mjs +0 -0
  1756. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.js +0 -0
  1757. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.mjs +0 -0
  1758. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.js +0 -0
  1759. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.mjs +0 -0
  1760. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.js +0 -0
  1761. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.mjs +0 -0
  1762. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.js +0 -0
  1763. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.mjs +0 -0
  1764. /package/dist/admin/{future/services → services}/assets.js +0 -0
  1765. /package/dist/admin/{future/services → services}/assets.mjs +0 -0
  1766. /package/dist/admin/{future/services → services}/folders.js +0 -0
  1767. /package/dist/admin/{future/services → services}/folders.mjs +0 -0
  1768. /package/dist/admin/{future/services → services}/settings.js +0 -0
  1769. /package/dist/admin/{future/services → services}/settings.mjs +0 -0
  1770. /package/dist/admin/{future/services → services}/uploadFileViaXHR.js +0 -0
  1771. /package/dist/admin/{future/services → services}/uploadFileViaXHR.mjs +0 -0
  1772. /package/dist/admin/src/{pages/App/MediaLibrary.d.ts → App.d.ts} +0 -0
  1773. /package/dist/admin/src/{future/components → components}/Drawer.d.ts +0 -0
  1774. /package/dist/admin/src/{future/components → components}/TruncatedText.d.ts +0 -0
  1775. /package/dist/admin/src/{future/components → components}/UploadProgressDialog.d.ts +0 -0
  1776. /package/dist/admin/src/{future/hooks → hooks}/useAIMetadataEnabled.d.ts +0 -0
  1777. /package/dist/admin/src/{future/hooks → hooks}/useApiErrorMessage.d.ts +0 -0
  1778. /package/dist/admin/src/{components → legacy/components}/AssetCard/AssetCardBase.d.ts +0 -0
  1779. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioAssetCard.d.ts +0 -0
  1780. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioPreview.d.ts +0 -0
  1781. /package/dist/admin/src/{components → legacy/components}/AssetCard/DocAssetCard.d.ts +0 -0
  1782. /package/dist/admin/src/{components → legacy/components}/AssetCard/ImageAssetCard.d.ts +0 -0
  1783. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoAssetCard.d.ts +0 -0
  1784. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoPreview.d.ts +0 -0
  1785. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/Filters.d.ts +0 -0
  1786. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.d.ts +0 -0
  1787. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.d.ts +0 -0
  1788. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.d.ts +0 -0
  1789. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.d.ts +0 -0
  1790. /package/dist/admin/src/{components → legacy/components}/AssetDialog/DialogFooter.d.ts +0 -0
  1791. /package/dist/admin/src/{components → legacy/components}/AssetGridList/Draggable.d.ts +0 -0
  1792. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  1793. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.d.ts +0 -0
  1794. /package/dist/admin/src/{components → legacy/components}/ContextInfo/ContextInfo.d.ts +0 -0
  1795. /package/dist/admin/src/{components → legacy/components}/CopyLinkButton/CopyLinkButton.d.ts +0 -0
  1796. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/DialogHeader.d.ts +0 -0
  1797. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.d.ts +0 -0
  1798. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.d.ts +0 -0
  1799. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +0 -0
  1800. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.d.ts +0 -0
  1801. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.d.ts +0 -0
  1802. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.d.ts +0 -0
  1803. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.d.ts +0 -0
  1804. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssets.d.ts +0 -0
  1805. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterList.d.ts +0 -0
  1806. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterTag.d.ts +0 -0
  1807. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterPopover.d.ts +0 -0
  1808. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterValueInput.d.ts +0 -0
  1809. /package/dist/admin/src/{components → legacy/components}/FilterPopover/utils/getFilterList.d.ts +0 -0
  1810. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCard/FolderCard.d.ts +0 -0
  1811. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.d.ts +0 -0
  1812. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.d.ts +0 -0
  1813. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.d.ts +0 -0
  1814. /package/dist/admin/src/{components → legacy/components}/FolderCard/contexts/FolderCard.d.ts +0 -0
  1815. /package/dist/admin/src/{components → legacy/components}/FolderGridList/FolderGridList.d.ts +0 -0
  1816. /package/dist/admin/src/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.d.ts +0 -0
  1817. /package/dist/admin/src/{components → legacy/components}/SelectTree/SelectTree.d.ts +0 -0
  1818. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/flattenTree.d.ts +0 -0
  1819. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getOpenValues.d.ts +0 -0
  1820. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getValuesToClose.d.ts +0 -0
  1821. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromComputerForm.d.ts +0 -0
  1822. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.d.ts +0 -0
  1823. /package/dist/admin/src/{hooks → legacy/hooks}/useAiAvailability.d.ts +0 -0
  1824. /package/dist/admin/src/{hooks → legacy/hooks}/useCropImg.d.ts +0 -0
  1825. /package/dist/admin/src/{hooks → legacy/hooks}/usePersistentState.d.ts +0 -0
  1826. /package/dist/admin/src/{hooks → legacy/hooks}/useSelectionState.d.ts +0 -0
  1827. /package/dist/admin/src/{hooks → legacy/hooks}/useSettings.d.ts +0 -0
  1828. /package/dist/admin/src/{hooks → legacy/hooks}/utils/renameKeys.d.ts +0 -0
  1829. /package/dist/admin/src/{pages → legacy/pages}/App/App.d.ts +0 -0
  1830. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/actionTypes.d.ts +0 -0
  1831. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.d.ts +0 -0
  1832. /package/dist/admin/src/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.d.ts +0 -0
  1833. /package/dist/admin/src/{pages → legacy/pages}/App/components/Filters.d.ts +0 -0
  1834. /package/dist/admin/src/{utils → legacy/utils}/appendSearchParamsToUrl.d.ts +0 -0
  1835. /package/dist/admin/src/{utils → legacy/utils}/displayedFilters.d.ts +0 -0
  1836. /package/dist/admin/src/{utils → legacy/utils}/formatBytes.d.ts +0 -0
  1837. /package/dist/admin/src/{utils → legacy/utils}/formatDuration.d.ts +0 -0
  1838. /package/dist/admin/src/{utils → legacy/utils}/getAPIInnerErrors.d.ts +0 -0
  1839. /package/dist/admin/src/{utils → legacy/utils}/getFileExtension.d.ts +0 -0
  1840. /package/dist/admin/src/{utils → legacy/utils}/getTrad.d.ts +0 -0
  1841. /package/dist/admin/src/{utils → legacy/utils}/moveElement.d.ts +0 -0
  1842. /package/dist/admin/src/{utils → legacy/utils}/normalizeAPIError.d.ts +0 -0
  1843. /package/dist/admin/src/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.d.ts +0 -0
  1844. /package/dist/admin/src/{utils → legacy/utils}/prefixPluginTranslations.d.ts +0 -0
  1845. /package/dist/admin/src/{utils → legacy/utils}/resolveFileMime.d.ts +0 -0
  1846. /package/dist/admin/src/{utils → legacy/utils}/toSingularTypes.d.ts +0 -0
  1847. /package/dist/admin/src/{utils → legacy/utils}/urlYupSchema.d.ts +0 -0
  1848. /package/dist/admin/src/{utils → legacy/utils}/urlsToAssets.d.ts +0 -0
  1849. /package/dist/admin/src/{future/pages → pages}/Assets/AssetsPage.d.ts +0 -0
  1850. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.d.ts +0 -0
  1851. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetsSearchInput.d.ts +0 -0
  1852. /package/dist/admin/src/{future/pages → pages}/Assets/components/BulkMoveDialog.d.ts +0 -0
  1853. /package/dist/admin/src/{future/pages → pages}/Assets/components/BusyOverlay.d.ts +0 -0
  1854. /package/dist/admin/src/{future/pages → pages}/Assets/components/DateRangeCalendar.d.ts +0 -0
  1855. /package/dist/admin/src/{future/pages → pages}/Assets/components/DeleteItemsDialog.d.ts +0 -0
  1856. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.d.ts +0 -0
  1857. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.d.ts +0 -0
  1858. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/buildDragSet.d.ts +0 -0
  1859. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/dndIds.d.ts +0 -0
  1860. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.d.ts +0 -0
  1861. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.d.ts +0 -0
  1862. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.d.ts +0 -0
  1863. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.d.ts +0 -0
  1864. /package/dist/admin/src/{future/pages → pages}/Assets/components/EmptyState.d.ts +0 -0
  1865. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterBadges.d.ts +0 -0
  1866. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterMenu.d.ts +0 -0
  1867. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderFormDialog.d.ts +0 -0
  1868. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/FolderTree.d.ts +0 -0
  1869. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.d.ts +0 -0
  1870. /package/dist/admin/src/{future/pages → pages}/Assets/components/ImportFromUrlDialog.d.ts +0 -0
  1871. /package/dist/admin/src/{future/pages → pages}/Assets/components/MainAreaContextMenu.d.ts +0 -0
  1872. /package/dist/admin/src/{future/pages → pages}/Assets/components/SortMenu.d.ts +0 -0
  1873. /package/dist/admin/src/{future/pages → pages}/Assets/constants.d.ts +0 -0
  1874. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSearch.d.ts +0 -0
  1875. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSelection.d.ts +0 -0
  1876. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useBusyAssets.d.ts +0 -0
  1877. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useFolderInfo.d.ts +0 -0
  1878. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.d.ts +0 -0
  1879. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.d.ts +0 -0
  1880. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListFilters.d.ts +0 -0
  1881. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListScrollRestoration.d.ts +0 -0
  1882. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListSort.d.ts +0 -0
  1883. /package/dist/admin/src/{future/pages → pages}/Assets/utils/buildAssetFilters.d.ts +0 -0
  1884. /package/dist/admin/src/{future/pages → pages}/Assets/utils/listQueryKey.d.ts +0 -0
  1885. /package/dist/admin/src/{future/pages → pages}/Assets/utils/selection.d.ts +0 -0
  1886. /package/dist/admin/src/{future/store → store}/hooks.d.ts +0 -0
  1887. /package/dist/admin/src/{future/types → types}/dnd.d.ts +0 -0
  1888. /package/dist/admin/src/{future/utils → utils}/buildBulkMovePayload.d.ts +0 -0
  1889. /package/dist/admin/src/{future/utils → utils}/buildDragSetFromSelection.d.ts +0 -0
  1890. /package/dist/admin/src/{future/utils → utils}/createRafBatcher.d.ts +0 -0
  1891. /package/dist/admin/src/{future/utils → utils}/files.d.ts +0 -0
  1892. /package/dist/admin/src/{future/utils → utils}/formatMoveSuccessMessage.d.ts +0 -0
  1893. /package/dist/admin/src/{future/utils → utils}/getApiErrorMessage.d.ts +0 -0
  1894. /package/dist/admin/src/{future/utils → utils}/getAssetIcon.d.ts +0 -0
  1895. /package/dist/admin/src/{future/utils → utils}/getRelationId.d.ts +0 -0
  1896. /package/dist/admin/src/{future/utils → utils}/isEventFromWithin.d.ts +0 -0
  1897. /package/dist/admin/src/{future/utils → utils}/itemSource.d.ts +0 -0
  1898. /package/dist/admin/src/{future/utils → utils}/searchQueryParam.d.ts +0 -0
  1899. /package/dist/admin/src/{future/utils → utils}/translations.d.ts +0 -0
  1900. /package/dist/admin/{future/store → store}/hooks.js +0 -0
  1901. /package/dist/admin/{future/store → store}/hooks.mjs +0 -0
  1902. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.js +0 -0
  1903. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.mjs +0 -0
  1904. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.js +0 -0
  1905. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.mjs +0 -0
  1906. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.js +0 -0
  1907. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.mjs +0 -0
  1908. /package/dist/admin/{future/utils → utils}/createRafBatcher.js +0 -0
  1909. /package/dist/admin/{future/utils → utils}/createRafBatcher.mjs +0 -0
  1910. /package/dist/admin/{future/utils → utils}/files.js +0 -0
  1911. /package/dist/admin/{future/utils → utils}/files.mjs +0 -0
  1912. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.js +0 -0
  1913. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.mjs +0 -0
  1914. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.js +0 -0
  1915. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.mjs +0 -0
  1916. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.js +0 -0
  1917. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.mjs +0 -0
  1918. /package/dist/admin/{future/utils → utils}/getFolderLabel.js +0 -0
  1919. /package/dist/admin/{future/utils → utils}/getFolderLabel.mjs +0 -0
  1920. /package/dist/admin/{future/utils → utils}/getRelationId.js +0 -0
  1921. /package/dist/admin/{future/utils → utils}/getRelationId.mjs +0 -0
  1922. /package/dist/admin/{future/utils → utils}/isEventFromWithin.js +0 -0
  1923. /package/dist/admin/{future/utils → utils}/isEventFromWithin.mjs +0 -0
  1924. /package/dist/admin/{future/utils → utils}/itemLocations.js +0 -0
  1925. /package/dist/admin/{future/utils → utils}/itemLocations.mjs +0 -0
  1926. /package/dist/admin/{future/utils → utils}/itemSource.js +0 -0
  1927. /package/dist/admin/{future/utils → utils}/itemSource.mjs +0 -0
  1928. /package/dist/admin/{future/utils → utils}/searchQueryParam.js +0 -0
  1929. /package/dist/admin/{future/utils → utils}/searchQueryParam.mjs +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterMenu.js","sources":["../../../../../admin/src/pages/Assets/components/FilterMenu.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Badge, Box, Checkbox, Flex, Menu } from '@strapi/design-system';\nimport { Check, ChevronDown, Filter as FilterIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useTracking, MEDIA_LIBRARY_LOCATION } from '../../../hooks/useTracking';\nimport { getTranslationKey } from '../../../utils/translations';\nimport {\n DATE_PRESETS,\n TYPE_VALUES,\n type DateField,\n type DatePreset,\n type ListFilters,\n type TypeValue,\n} from '../hooks/useListFilters';\n\nimport { DateRangeCalendar } from './DateRangeCalendar';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const TYPE_LABELS: Record<TypeValue, MessageDescriptor> = {\n folder: { id: getTranslationKey('list.filters.type.folder'), defaultMessage: 'Folder' },\n picture: { id: getTranslationKey('list.filters.type.picture'), defaultMessage: 'Picture' },\n audio: { id: getTranslationKey('list.filters.type.audio'), defaultMessage: 'Audio' },\n video: { id: getTranslationKey('list.filters.type.video'), defaultMessage: 'Video' },\n document: { id: getTranslationKey('list.filters.type.document'), defaultMessage: 'Document' },\n};\n\nexport const PRESET_LABELS: Record<DatePreset, MessageDescriptor> = {\n '1day': { id: getTranslationKey('list.filters.preset.1day'), defaultMessage: '1 day ago' },\n '3days': { id: getTranslationKey('list.filters.preset.3days'), defaultMessage: '3 days ago' },\n '1week': { id: getTranslationKey('list.filters.preset.1week'), defaultMessage: '1 week ago' },\n '1month': { id: getTranslationKey('list.filters.preset.1month'), defaultMessage: '1 month ago' },\n '3months': {\n id: getTranslationKey('list.filters.preset.3months'),\n defaultMessage: '3 months ago',\n },\n '6months': {\n id: getTranslationKey('list.filters.preset.6months'),\n defaultMessage: '6 months ago',\n },\n '1year': { id: getTranslationKey('list.filters.preset.1year'), defaultMessage: '1 year ago' },\n};\n\nexport const DATE_FIELD_LABELS: Record<DateField, MessageDescriptor> = {\n createdAt: {\n id: getTranslationKey('list.filters.field.created'),\n defaultMessage: 'Creation date',\n },\n updatedAt: {\n id: getTranslationKey('list.filters.field.updated'),\n defaultMessage: 'Last modified',\n },\n};\n\n// The DS SubTrigger renders its chevron inline right after the label — push it\n// to the far edge so every field row reads label · · · ›, like the mock.\nconst FieldSubTrigger = styled(Menu.SubTrigger)`\n width: 100%;\n justify-content: space-between;\n`;\n\n/** Every panel of the filter tree shares this fixed width (design). */\nexport const FILTER_PANEL_WIDTH = '24.2rem';\n\n// dvh, not vh: on a phone `vh` ignores the browser chrome, so a 70vh panel can\n// extend past the visual viewport and leave its lower rows (the last field, and\n// anything under the date-range calendar) stranded under the URL bar with no way\n// to scroll to them. Same reason the drawer caps on dvh.\nconst PANEL_MAX_HEIGHT = '70dvh';\n\n// Mobile uses one flat panel (accordion), so it never needs room for a side\n// flyout — cap it to the viewport so it can't overflow a narrow screen.\nconst MOBILE_PANEL_WIDTH = `min(${FILTER_PANEL_WIDTH}, calc(100dvw - 2rem))`;\n\n// Mobile accordion: the field row is a plain menu item that expands its options\n// inline below it (Radix sub-menus can only fly out sideways, off a phone).\nconst FieldToggle = styled(Menu.Item)`\n width: 100%;\n`;\n\n// The options revealed under a field row.\n//\n// `width: 100%` is load-bearing: Menu.Content is a column flex with\n// `align-items: flex-start`, so a child shrink-wraps to its content unless it\n// sets a width explicitly. Without it the group collapsed to the widest option\n// label and the rows' own `width: 100%` resolved against that, so a selected row\n// highlighted only part of the panel.\n//\n// The indent then lives on each row's padding rather than on this wrapper —\n// padding here would inset the rows, and the highlight with them.\nconst OptionGroup = styled(Box)`\n width: 100%;\n\n > * {\n width: 100%;\n }\n\n /* menuitem, menuitemradio and menuitemcheckbox — every option row, plus the\n \"Select date range\" toggle, which sits at the same level. */\n > [role^='menuitem'] {\n padding-left: ${({ theme }) => theme.spaces[6]};\n }\n`;\n\n// Rotates the chevron when its section is open.\nconst Chevron = styled(ChevronDown)<{ $open: boolean }>`\n transition: transform 0.2s ease;\n transform: rotate(${({ $open }) => ($open ? '180deg' : '0deg')});\n`;\n\n// Sub panels: fixed width, no 15rem clamp (the DS default folds the calendar),\n// and a negative top margin cancelling the parent panel's padding + border so\n// the sub panel's top edge lines up with the parent panel, not the item.\nconst SubPanel = styled(Menu.SubContent)`\n margin-top: calc(-1 * (${({ theme }) => theme.spaces[1]} + 1px));\n`;\n\nconst CountBadge = styled(Badge)`\n height: 1.6rem;\n min-width: auto;\n padding: 0 0.4rem;\n`;\n\ninterface FilterMenuProps {\n listFilters: ListFilters;\n}\n\n/**\n * Toolbar \"Filter\" dropdown. Picking anything ADDS a badge (editing happens on\n * the badge itself, see FilterBadges):\n *\n * - Type → keep-open checkbox list; the badge is created/updated live with the\n * checked set (`is` by default, condition editable on the badge).\n * - Creation date / Last modified → preset list (single pick, `within the\n * last` by default) + \"Select date range\" (creation date only) opening the\n * range calendar; a completed range adds an `is` range badge.\n *\n * Closing behaviour follows how many values a field can hold: a date is one\n * value, so picking a preset (or committing a range) closes the menu; Type is a\n * set, so it stays open until dismissed.\n */\nexport const FilterMenu = ({ listFilters }: FilterMenuProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = useState(false);\n const { filters, addFilter, updateFilter, removeFilter } = listFilters;\n\n // Fired whenever a filter facet is turned on (not on removal). `filter` names\n // the facet, mirroring the legacy field-key payload.\n const trackFilter = (filter: string) =>\n trackUsage('didFilterMediaLibraryElements', { location: MEDIA_LIBRARY_LOCATION, filter });\n\n // The Type submenu edits the LAST type badge in place while the menu stays\n // open (checking values accumulates into one badge, per design).\n let lastTypeIndex = -1;\n for (let i = filters.length - 1; i >= 0; i -= 1) {\n if (filters[i].kind === 'type') {\n lastTypeIndex = i;\n break;\n }\n }\n const lastTypeFilter = lastTypeIndex >= 0 ? filters[lastTypeIndex] : null;\n const checkedValues =\n lastTypeFilter && lastTypeFilter.kind === 'type' ? lastTypeFilter.values : [];\n\n const toggleTypeValue = (value: TypeValue) => {\n const isAdding = !checkedValues.includes(value);\n const nextValues = isAdding\n ? [...checkedValues, value]\n : checkedValues.filter((v) => v !== value);\n\n if (isAdding) {\n trackFilter('type');\n }\n\n if (lastTypeFilter && lastTypeFilter.kind === 'type') {\n if (nextValues.length === 0) {\n // Unchecking the final value removes the badge outright — a type\n // filter with no values is not a state (it would serialize to a\n // malformed `type:is:` the parser drops anyway).\n removeFilter(lastTypeIndex);\n } else {\n updateFilter(lastTypeIndex, { ...lastTypeFilter, values: nextValues });\n }\n } else if (nextValues.length > 0) {\n addFilter({ kind: 'type', condition: 'is', values: nextValues });\n }\n };\n\n // Creation date / Last modified are single-select (per design): selecting a\n // preset replaces the field's existing preset badge in place (keeping its\n // condition) rather than adding another pill; a badge is created only when the\n // field has none yet.\n const addPreset = (field: DateField, preset: DatePreset) => {\n // Fired before the replace path returns: swapping a field's preset is still\n // the user filtering, same as adding the badge in the first place.\n trackFilter(field);\n\n for (let i = filters.length - 1; i >= 0; i -= 1) {\n const f = filters[i];\n if (f.kind === 'date' && f.mode === 'preset' && f.field === field) {\n updateFilter(i, { ...f, preset });\n return;\n }\n }\n\n addFilter({ kind: 'date', field, mode: 'preset', condition: 'withinLast', preset });\n };\n\n const addRange = (from: string, to: string) => {\n trackFilter('createdAt');\n addFilter({ kind: 'date', field: 'createdAt', mode: 'range', condition: 'is', from, to });\n // The calendar is not a Menu.Item — close the menu explicitly on commit.\n setIsOpen(false);\n };\n\n const isMobile = useIsMobile();\n // Mobile accordion state: which field is expanded, and whether its date-range\n // calendar is open. Both reset when the whole menu closes.\n const [openField, setOpenField] = useState<'type' | 'createdAt' | 'updatedAt' | null>(null);\n const [rangeOpen, setRangeOpen] = useState(false);\n\n const handleOpenChange = (next: boolean) => {\n setIsOpen(next);\n if (!next) {\n setOpenField(null);\n setRangeOpen(false);\n }\n };\n\n const toggleField = (field: 'type' | 'createdAt' | 'updatedAt') => {\n setOpenField((current) => (current === field ? null : field));\n setRangeOpen(false);\n };\n\n // Option lists, shared by the desktop flyouts and the mobile accordion.\n // Multi-select semantics: menuitemcheckbox + aria-checked carry the state for\n // assistive tech; the Checkbox is purely decorative (aria-hidden, unfocusable)\n // — the Menu.Item is the control.\n const typeItems = TYPE_VALUES.map((value) => (\n <Menu.Item\n key={value}\n role=\"menuitemcheckbox\"\n aria-checked={checkedValues.includes(value)}\n onSelect={(e: Event) => {\n e.preventDefault();\n toggleTypeValue(value);\n }}\n startIcon={<Checkbox checked={checkedValues.includes(value)} tabIndex={-1} aria-hidden />}\n >\n {formatMessage(TYPE_LABELS[value])}\n </Menu.Item>\n ));\n\n // The field's currently-selected preset (single-select), so the menu can mark\n // it with a check.\n const selectedPresetForField = (field: DateField): DatePreset | null => {\n for (let i = filters.length - 1; i >= 0; i -= 1) {\n const f = filters[i];\n if (f.kind === 'date' && f.mode === 'preset' && f.field === field) {\n return f.preset;\n }\n }\n return null;\n };\n\n const presetItems = (field: DateField) => {\n const selected = selectedPresetForField(field);\n\n return DATE_PRESETS.map((preset) => (\n <Menu.Item\n key={preset}\n role=\"menuitemradio\"\n aria-checked={selected === preset}\n onSelect={() => {\n // No preventDefault, unlike Type: a date field holds exactly one\n // value, so the pick is complete and the menu closes on it. Type stays\n // open because the user may still be building up a multi-value set.\n addPreset(field, preset);\n }}\n endIcon={\n selected === preset ? (\n <Check aria-hidden width=\"1.6rem\" height=\"1.6rem\" fill=\"primary600\" />\n ) : null\n }\n >\n {formatMessage(PRESET_LABELS[preset])}\n </Menu.Item>\n ));\n };\n\n const typeLabel = formatMessage({\n id: getTranslationKey('list.filters.field.type'),\n defaultMessage: 'Type',\n });\n const selectDateRangeLabel = formatMessage({\n id: getTranslationKey('list.filters.select-date-range'),\n defaultMessage: 'Select date range',\n });\n\n return (\n <Menu.Root open={isOpen} onOpenChange={handleOpenChange}>\n {/* endIcon={null} drops the DS default chevron — the mock has none. */}\n <Menu.Trigger variant=\"tertiary\" startIcon={<FilterIcon aria-hidden />} endIcon={null}>\n <Flex gap={2} alignItems=\"center\" tag=\"span\">\n {formatMessage({\n id: getTranslationKey('list.filters.trigger'),\n defaultMessage: 'Filter',\n })}\n {filters.length > 0 && <CountBadge>{filters.length}</CountBadge>}\n </Flex>\n </Menu.Trigger>\n <Menu.Content\n popoverPlacement=\"bottom-start\"\n zIndex={2}\n maxHeight={PANEL_MAX_HEIGHT}\n width={isMobile ? MOBILE_PANEL_WIDTH : FILTER_PANEL_WIDTH}\n >\n {isMobile ? (\n // Mobile: one flat panel. Each field expands its options inline below\n // itself — Radix sub-menus can only fly out sideways, off a phone.\n <>\n <FieldToggle\n aria-expanded={openField === 'type'}\n onSelect={(e: Event) => {\n e.preventDefault();\n toggleField('type');\n }}\n endIcon={<Chevron $open={openField === 'type'} aria-hidden />}\n >\n {typeLabel}\n </FieldToggle>\n {openField === 'type' && <OptionGroup>{typeItems}</OptionGroup>}\n\n {(['createdAt', 'updatedAt'] as const).map((field) => (\n <Box key={field} width=\"100%\">\n <FieldToggle\n aria-expanded={openField === field}\n onSelect={(e: Event) => {\n e.preventDefault();\n toggleField(field);\n }}\n endIcon={<Chevron $open={openField === field} aria-hidden />}\n >\n {formatMessage(DATE_FIELD_LABELS[field])}\n </FieldToggle>\n {openField === field && (\n <OptionGroup>\n {presetItems(field)}\n {/* Only Creation date offers a range from the UI (design). */}\n {field === 'createdAt' && (\n <>\n <FieldToggle\n aria-expanded={rangeOpen}\n onSelect={(e: Event) => {\n e.preventDefault();\n setRangeOpen((open) => !open);\n }}\n endIcon={<Chevron $open={rangeOpen} aria-hidden />}\n >\n {selectDateRangeLabel}\n </FieldToggle>\n {rangeOpen && (\n <Box paddingLeft={2}>\n <DateRangeCalendar onSelect={addRange} />\n </Box>\n )}\n </>\n )}\n </OptionGroup>\n )}\n </Box>\n ))}\n </>\n ) : (\n <>\n <Menu.SubRoot>\n <FieldSubTrigger>{typeLabel}</FieldSubTrigger>\n <SubPanel zIndex={2} maxHeight={PANEL_MAX_HEIGHT} width={FILTER_PANEL_WIDTH}>\n {typeItems}\n </SubPanel>\n </Menu.SubRoot>\n\n {(['createdAt', 'updatedAt'] as const).map((field) => (\n <Menu.SubRoot key={field}>\n <FieldSubTrigger>{formatMessage(DATE_FIELD_LABELS[field])}</FieldSubTrigger>\n <SubPanel zIndex={2} maxHeight={PANEL_MAX_HEIGHT} width={FILTER_PANEL_WIDTH}>\n {presetItems(field)}\n {/* Design constraint: only Creation date offers a range from the\n UI. The URL codec and the badges support ranges on both date\n fields (`updated:rangeis:…` works when hand-crafted) so this\n stays a one-line change if design extends it later. */}\n {field === 'createdAt' && (\n <Menu.SubRoot>\n <FieldSubTrigger>{selectDateRangeLabel}</FieldSubTrigger>\n <SubPanel zIndex={2} maxHeight=\"none\" width={FILTER_PANEL_WIDTH}>\n <DateRangeCalendar onSelect={addRange} />\n </SubPanel>\n </Menu.SubRoot>\n )}\n </SubPanel>\n </Menu.SubRoot>\n ))}\n </>\n )}\n </Menu.Content>\n </Menu.Root>\n );\n};\n"],"names":["TYPE_LABELS","folder","id","getTranslationKey","defaultMessage","picture","audio","video","document","PRESET_LABELS","DATE_FIELD_LABELS","createdAt","updatedAt","FieldSubTrigger","styled","Menu","SubTrigger","FILTER_PANEL_WIDTH","PANEL_MAX_HEIGHT","MOBILE_PANEL_WIDTH","FieldToggle","Item","OptionGroup","Box","theme","spaces","Chevron","ChevronDown","$open","SubPanel","SubContent","CountBadge","Badge","FilterMenu","listFilters","formatMessage","useIntl","trackUsage","useTracking","isOpen","setIsOpen","useState","filters","addFilter","updateFilter","removeFilter","trackFilter","filter","location","MEDIA_LIBRARY_LOCATION","lastTypeIndex","i","length","kind","lastTypeFilter","checkedValues","values","toggleTypeValue","value","isAdding","includes","nextValues","v","condition","addPreset","field","preset","f","mode","addRange","from","to","isMobile","useIsMobile","openField","setOpenField","rangeOpen","setRangeOpen","handleOpenChange","next","toggleField","current","typeItems","TYPE_VALUES","map","_jsx","role","aria-checked","onSelect","e","preventDefault","startIcon","Checkbox","checked","tabIndex","aria-hidden","selectedPresetForField","presetItems","selected","DATE_PRESETS","endIcon","Check","width","height","fill","typeLabel","selectDateRangeLabel","_jsxs","Root","open","onOpenChange","Trigger","variant","FilterIcon","Flex","gap","alignItems","tag","Content","popoverPlacement","zIndex","maxHeight","_Fragment","aria-expanded","paddingLeft","DateRangeCalendar","SubRoot"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterMenu.mjs","sources":["../../../../../admin/src/pages/Assets/components/FilterMenu.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Badge, Box, Checkbox, Flex, Menu } from '@strapi/design-system';\nimport { Check, ChevronDown, Filter as FilterIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useTracking, MEDIA_LIBRARY_LOCATION } from '../../../hooks/useTracking';\nimport { getTranslationKey } from '../../../utils/translations';\nimport {\n DATE_PRESETS,\n TYPE_VALUES,\n type DateField,\n type DatePreset,\n type ListFilters,\n type TypeValue,\n} from '../hooks/useListFilters';\n\nimport { DateRangeCalendar } from './DateRangeCalendar';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const TYPE_LABELS: Record<TypeValue, MessageDescriptor> = {\n folder: { id: getTranslationKey('list.filters.type.folder'), defaultMessage: 'Folder' },\n picture: { id: getTranslationKey('list.filters.type.picture'), defaultMessage: 'Picture' },\n audio: { id: getTranslationKey('list.filters.type.audio'), defaultMessage: 'Audio' },\n video: { id: getTranslationKey('list.filters.type.video'), defaultMessage: 'Video' },\n document: { id: getTranslationKey('list.filters.type.document'), defaultMessage: 'Document' },\n};\n\nexport const PRESET_LABELS: Record<DatePreset, MessageDescriptor> = {\n '1day': { id: getTranslationKey('list.filters.preset.1day'), defaultMessage: '1 day ago' },\n '3days': { id: getTranslationKey('list.filters.preset.3days'), defaultMessage: '3 days ago' },\n '1week': { id: getTranslationKey('list.filters.preset.1week'), defaultMessage: '1 week ago' },\n '1month': { id: getTranslationKey('list.filters.preset.1month'), defaultMessage: '1 month ago' },\n '3months': {\n id: getTranslationKey('list.filters.preset.3months'),\n defaultMessage: '3 months ago',\n },\n '6months': {\n id: getTranslationKey('list.filters.preset.6months'),\n defaultMessage: '6 months ago',\n },\n '1year': { id: getTranslationKey('list.filters.preset.1year'), defaultMessage: '1 year ago' },\n};\n\nexport const DATE_FIELD_LABELS: Record<DateField, MessageDescriptor> = {\n createdAt: {\n id: getTranslationKey('list.filters.field.created'),\n defaultMessage: 'Creation date',\n },\n updatedAt: {\n id: getTranslationKey('list.filters.field.updated'),\n defaultMessage: 'Last modified',\n },\n};\n\n// The DS SubTrigger renders its chevron inline right after the label — push it\n// to the far edge so every field row reads label · · · ›, like the mock.\nconst FieldSubTrigger = styled(Menu.SubTrigger)`\n width: 100%;\n justify-content: space-between;\n`;\n\n/** Every panel of the filter tree shares this fixed width (design). */\nexport const FILTER_PANEL_WIDTH = '24.2rem';\n\n// dvh, not vh: on a phone `vh` ignores the browser chrome, so a 70vh panel can\n// extend past the visual viewport and leave its lower rows (the last field, and\n// anything under the date-range calendar) stranded under the URL bar with no way\n// to scroll to them. Same reason the drawer caps on dvh.\nconst PANEL_MAX_HEIGHT = '70dvh';\n\n// Mobile uses one flat panel (accordion), so it never needs room for a side\n// flyout — cap it to the viewport so it can't overflow a narrow screen.\nconst MOBILE_PANEL_WIDTH = `min(${FILTER_PANEL_WIDTH}, calc(100dvw - 2rem))`;\n\n// Mobile accordion: the field row is a plain menu item that expands its options\n// inline below it (Radix sub-menus can only fly out sideways, off a phone).\nconst FieldToggle = styled(Menu.Item)`\n width: 100%;\n`;\n\n// The options revealed under a field row.\n//\n// `width: 100%` is load-bearing: Menu.Content is a column flex with\n// `align-items: flex-start`, so a child shrink-wraps to its content unless it\n// sets a width explicitly. Without it the group collapsed to the widest option\n// label and the rows' own `width: 100%` resolved against that, so a selected row\n// highlighted only part of the panel.\n//\n// The indent then lives on each row's padding rather than on this wrapper —\n// padding here would inset the rows, and the highlight with them.\nconst OptionGroup = styled(Box)`\n width: 100%;\n\n > * {\n width: 100%;\n }\n\n /* menuitem, menuitemradio and menuitemcheckbox — every option row, plus the\n \"Select date range\" toggle, which sits at the same level. */\n > [role^='menuitem'] {\n padding-left: ${({ theme }) => theme.spaces[6]};\n }\n`;\n\n// Rotates the chevron when its section is open.\nconst Chevron = styled(ChevronDown)<{ $open: boolean }>`\n transition: transform 0.2s ease;\n transform: rotate(${({ $open }) => ($open ? '180deg' : '0deg')});\n`;\n\n// Sub panels: fixed width, no 15rem clamp (the DS default folds the calendar),\n// and a negative top margin cancelling the parent panel's padding + border so\n// the sub panel's top edge lines up with the parent panel, not the item.\nconst SubPanel = styled(Menu.SubContent)`\n margin-top: calc(-1 * (${({ theme }) => theme.spaces[1]} + 1px));\n`;\n\nconst CountBadge = styled(Badge)`\n height: 1.6rem;\n min-width: auto;\n padding: 0 0.4rem;\n`;\n\ninterface FilterMenuProps {\n listFilters: ListFilters;\n}\n\n/**\n * Toolbar \"Filter\" dropdown. Picking anything ADDS a badge (editing happens on\n * the badge itself, see FilterBadges):\n *\n * - Type → keep-open checkbox list; the badge is created/updated live with the\n * checked set (`is` by default, condition editable on the badge).\n * - Creation date / Last modified → preset list (single pick, `within the\n * last` by default) + \"Select date range\" (creation date only) opening the\n * range calendar; a completed range adds an `is` range badge.\n *\n * Closing behaviour follows how many values a field can hold: a date is one\n * value, so picking a preset (or committing a range) closes the menu; Type is a\n * set, so it stays open until dismissed.\n */\nexport const FilterMenu = ({ listFilters }: FilterMenuProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = useState(false);\n const { filters, addFilter, updateFilter, removeFilter } = listFilters;\n\n // Fired whenever a filter facet is turned on (not on removal). `filter` names\n // the facet, mirroring the legacy field-key payload.\n const trackFilter = (filter: string) =>\n trackUsage('didFilterMediaLibraryElements', { location: MEDIA_LIBRARY_LOCATION, filter });\n\n // The Type submenu edits the LAST type badge in place while the menu stays\n // open (checking values accumulates into one badge, per design).\n let lastTypeIndex = -1;\n for (let i = filters.length - 1; i >= 0; i -= 1) {\n if (filters[i].kind === 'type') {\n lastTypeIndex = i;\n break;\n }\n }\n const lastTypeFilter = lastTypeIndex >= 0 ? filters[lastTypeIndex] : null;\n const checkedValues =\n lastTypeFilter && lastTypeFilter.kind === 'type' ? lastTypeFilter.values : [];\n\n const toggleTypeValue = (value: TypeValue) => {\n const isAdding = !checkedValues.includes(value);\n const nextValues = isAdding\n ? [...checkedValues, value]\n : checkedValues.filter((v) => v !== value);\n\n if (isAdding) {\n trackFilter('type');\n }\n\n if (lastTypeFilter && lastTypeFilter.kind === 'type') {\n if (nextValues.length === 0) {\n // Unchecking the final value removes the badge outright — a type\n // filter with no values is not a state (it would serialize to a\n // malformed `type:is:` the parser drops anyway).\n removeFilter(lastTypeIndex);\n } else {\n updateFilter(lastTypeIndex, { ...lastTypeFilter, values: nextValues });\n }\n } else if (nextValues.length > 0) {\n addFilter({ kind: 'type', condition: 'is', values: nextValues });\n }\n };\n\n // Creation date / Last modified are single-select (per design): selecting a\n // preset replaces the field's existing preset badge in place (keeping its\n // condition) rather than adding another pill; a badge is created only when the\n // field has none yet.\n const addPreset = (field: DateField, preset: DatePreset) => {\n // Fired before the replace path returns: swapping a field's preset is still\n // the user filtering, same as adding the badge in the first place.\n trackFilter(field);\n\n for (let i = filters.length - 1; i >= 0; i -= 1) {\n const f = filters[i];\n if (f.kind === 'date' && f.mode === 'preset' && f.field === field) {\n updateFilter(i, { ...f, preset });\n return;\n }\n }\n\n addFilter({ kind: 'date', field, mode: 'preset', condition: 'withinLast', preset });\n };\n\n const addRange = (from: string, to: string) => {\n trackFilter('createdAt');\n addFilter({ kind: 'date', field: 'createdAt', mode: 'range', condition: 'is', from, to });\n // The calendar is not a Menu.Item — close the menu explicitly on commit.\n setIsOpen(false);\n };\n\n const isMobile = useIsMobile();\n // Mobile accordion state: which field is expanded, and whether its date-range\n // calendar is open. Both reset when the whole menu closes.\n const [openField, setOpenField] = useState<'type' | 'createdAt' | 'updatedAt' | null>(null);\n const [rangeOpen, setRangeOpen] = useState(false);\n\n const handleOpenChange = (next: boolean) => {\n setIsOpen(next);\n if (!next) {\n setOpenField(null);\n setRangeOpen(false);\n }\n };\n\n const toggleField = (field: 'type' | 'createdAt' | 'updatedAt') => {\n setOpenField((current) => (current === field ? null : field));\n setRangeOpen(false);\n };\n\n // Option lists, shared by the desktop flyouts and the mobile accordion.\n // Multi-select semantics: menuitemcheckbox + aria-checked carry the state for\n // assistive tech; the Checkbox is purely decorative (aria-hidden, unfocusable)\n // — the Menu.Item is the control.\n const typeItems = TYPE_VALUES.map((value) => (\n <Menu.Item\n key={value}\n role=\"menuitemcheckbox\"\n aria-checked={checkedValues.includes(value)}\n onSelect={(e: Event) => {\n e.preventDefault();\n toggleTypeValue(value);\n }}\n startIcon={<Checkbox checked={checkedValues.includes(value)} tabIndex={-1} aria-hidden />}\n >\n {formatMessage(TYPE_LABELS[value])}\n </Menu.Item>\n ));\n\n // The field's currently-selected preset (single-select), so the menu can mark\n // it with a check.\n const selectedPresetForField = (field: DateField): DatePreset | null => {\n for (let i = filters.length - 1; i >= 0; i -= 1) {\n const f = filters[i];\n if (f.kind === 'date' && f.mode === 'preset' && f.field === field) {\n return f.preset;\n }\n }\n return null;\n };\n\n const presetItems = (field: DateField) => {\n const selected = selectedPresetForField(field);\n\n return DATE_PRESETS.map((preset) => (\n <Menu.Item\n key={preset}\n role=\"menuitemradio\"\n aria-checked={selected === preset}\n onSelect={() => {\n // No preventDefault, unlike Type: a date field holds exactly one\n // value, so the pick is complete and the menu closes on it. Type stays\n // open because the user may still be building up a multi-value set.\n addPreset(field, preset);\n }}\n endIcon={\n selected === preset ? (\n <Check aria-hidden width=\"1.6rem\" height=\"1.6rem\" fill=\"primary600\" />\n ) : null\n }\n >\n {formatMessage(PRESET_LABELS[preset])}\n </Menu.Item>\n ));\n };\n\n const typeLabel = formatMessage({\n id: getTranslationKey('list.filters.field.type'),\n defaultMessage: 'Type',\n });\n const selectDateRangeLabel = formatMessage({\n id: getTranslationKey('list.filters.select-date-range'),\n defaultMessage: 'Select date range',\n });\n\n return (\n <Menu.Root open={isOpen} onOpenChange={handleOpenChange}>\n {/* endIcon={null} drops the DS default chevron — the mock has none. */}\n <Menu.Trigger variant=\"tertiary\" startIcon={<FilterIcon aria-hidden />} endIcon={null}>\n <Flex gap={2} alignItems=\"center\" tag=\"span\">\n {formatMessage({\n id: getTranslationKey('list.filters.trigger'),\n defaultMessage: 'Filter',\n })}\n {filters.length > 0 && <CountBadge>{filters.length}</CountBadge>}\n </Flex>\n </Menu.Trigger>\n <Menu.Content\n popoverPlacement=\"bottom-start\"\n zIndex={2}\n maxHeight={PANEL_MAX_HEIGHT}\n width={isMobile ? MOBILE_PANEL_WIDTH : FILTER_PANEL_WIDTH}\n >\n {isMobile ? (\n // Mobile: one flat panel. Each field expands its options inline below\n // itself — Radix sub-menus can only fly out sideways, off a phone.\n <>\n <FieldToggle\n aria-expanded={openField === 'type'}\n onSelect={(e: Event) => {\n e.preventDefault();\n toggleField('type');\n }}\n endIcon={<Chevron $open={openField === 'type'} aria-hidden />}\n >\n {typeLabel}\n </FieldToggle>\n {openField === 'type' && <OptionGroup>{typeItems}</OptionGroup>}\n\n {(['createdAt', 'updatedAt'] as const).map((field) => (\n <Box key={field} width=\"100%\">\n <FieldToggle\n aria-expanded={openField === field}\n onSelect={(e: Event) => {\n e.preventDefault();\n toggleField(field);\n }}\n endIcon={<Chevron $open={openField === field} aria-hidden />}\n >\n {formatMessage(DATE_FIELD_LABELS[field])}\n </FieldToggle>\n {openField === field && (\n <OptionGroup>\n {presetItems(field)}\n {/* Only Creation date offers a range from the UI (design). */}\n {field === 'createdAt' && (\n <>\n <FieldToggle\n aria-expanded={rangeOpen}\n onSelect={(e: Event) => {\n e.preventDefault();\n setRangeOpen((open) => !open);\n }}\n endIcon={<Chevron $open={rangeOpen} aria-hidden />}\n >\n {selectDateRangeLabel}\n </FieldToggle>\n {rangeOpen && (\n <Box paddingLeft={2}>\n <DateRangeCalendar onSelect={addRange} />\n </Box>\n )}\n </>\n )}\n </OptionGroup>\n )}\n </Box>\n ))}\n </>\n ) : (\n <>\n <Menu.SubRoot>\n <FieldSubTrigger>{typeLabel}</FieldSubTrigger>\n <SubPanel zIndex={2} maxHeight={PANEL_MAX_HEIGHT} width={FILTER_PANEL_WIDTH}>\n {typeItems}\n </SubPanel>\n </Menu.SubRoot>\n\n {(['createdAt', 'updatedAt'] as const).map((field) => (\n <Menu.SubRoot key={field}>\n <FieldSubTrigger>{formatMessage(DATE_FIELD_LABELS[field])}</FieldSubTrigger>\n <SubPanel zIndex={2} maxHeight={PANEL_MAX_HEIGHT} width={FILTER_PANEL_WIDTH}>\n {presetItems(field)}\n {/* Design constraint: only Creation date offers a range from the\n UI. The URL codec and the badges support ranges on both date\n fields (`updated:rangeis:…` works when hand-crafted) so this\n stays a one-line change if design extends it later. */}\n {field === 'createdAt' && (\n <Menu.SubRoot>\n <FieldSubTrigger>{selectDateRangeLabel}</FieldSubTrigger>\n <SubPanel zIndex={2} maxHeight=\"none\" width={FILTER_PANEL_WIDTH}>\n <DateRangeCalendar onSelect={addRange} />\n </SubPanel>\n </Menu.SubRoot>\n )}\n </SubPanel>\n </Menu.SubRoot>\n ))}\n </>\n )}\n </Menu.Content>\n </Menu.Root>\n );\n};\n"],"names":["TYPE_LABELS","folder","id","getTranslationKey","defaultMessage","picture","audio","video","document","PRESET_LABELS","DATE_FIELD_LABELS","createdAt","updatedAt","FieldSubTrigger","styled","Menu","SubTrigger","FILTER_PANEL_WIDTH","PANEL_MAX_HEIGHT","MOBILE_PANEL_WIDTH","FieldToggle","Item","OptionGroup","Box","theme","spaces","Chevron","ChevronDown","$open","SubPanel","SubContent","CountBadge","Badge","FilterMenu","listFilters","formatMessage","useIntl","trackUsage","useTracking","isOpen","setIsOpen","useState","filters","addFilter","updateFilter","removeFilter","trackFilter","filter","location","MEDIA_LIBRARY_LOCATION","lastTypeIndex","i","length","kind","lastTypeFilter","checkedValues","values","toggleTypeValue","value","isAdding","includes","nextValues","v","condition","addPreset","field","preset","f","mode","addRange","from","to","isMobile","useIsMobile","openField","setOpenField","rangeOpen","setRangeOpen","handleOpenChange","next","toggleField","current","typeItems","TYPE_VALUES","map","_jsx","role","aria-checked","onSelect","e","preventDefault","startIcon","Checkbox","checked","tabIndex","aria-hidden","selectedPresetForField","presetItems","selected","DATE_PRESETS","endIcon","Check","width","height","fill","typeLabel","selectDateRangeLabel","_jsxs","Root","open","onOpenChange","Trigger","variant","FilterIcon","Flex","gap","alignItems","tag","Content","popoverPlacement","zIndex","maxHeight","_Fragment","aria-expanded","paddingLeft","DateRangeCalendar","SubRoot"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderActionsMenu.js","sources":["../../../../../admin/src/pages/Assets/components/FolderActionsMenu.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\n\nimport { useClipboard, useNotification } from '@strapi/admin/strapi-admin';\nimport { IconButton, Menu } from '@strapi/design-system';\nimport { ArrowRight, Link, More, Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslationKey } from '../../../utils/translations';\nimport { useAssetSelection } from '../hooks/useAssetSelection';\nimport { folderKey } from '../utils/selection';\n\nimport { ActionsMenuContent } from './ActionsMenuContent';\nimport { BulkMoveDialog } from './BulkMoveDialog';\nimport { DeleteItemsDialog } from './DeleteItemsDialog';\nimport { FolderFormDialog } from './FolderFormDialog';\n\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { DragFolderData } from '../../../types/dnd';\n\ninterface FolderActionsMenuProps {\n folder: Folder;\n /** Drag data for this folder, so the move dialog validates against its real parent. */\n dragData: DragFolderData;\n}\n\n/**\n * The \"...\" menu on a folder row/card. Always acts on that one folder, whatever\n * the current multi-selection is (the bulk actions bar is the selection-scoped\n * affordance). It reuses the shared move and delete dialogs, which mount only\n * while open.\n *\n * A successful move or delete deselects this one folder and leaves the rest of\n * the selection intact: they only invalidate RTK tags, so without it a\n * `folder:<id>` key for a folder that no longer lives where the selection thinks\n * it does would linger. A rename leaves the id valid and the folder in place, so\n * it touches the selection not at all.\n */\nexport const FolderActionsMenu = ({ folder, dragData }: FolderActionsMenuProps) => {\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n const { toggleNotification } = useNotification();\n const { deselect } = useAssetSelection();\n const [isRenameOpen, setIsRenameOpen] = useState(false);\n const [isMoveOpen, setIsMoveOpen] = useState(false);\n const [isDeleteOpen, setIsDeleteOpen] = useState(false);\n\n // Stable identity: the move dialog memoizes its destination walk on it.\n const moveItems = useMemo(() => [dragData], [dragData]);\n\n // Built from window.location so the link inherits whatever path the library is\n // mounted at. Every other query param (search, sort, open drawer) is dropped —\n // this is a clean deep-link to the folder.\n const handleCopyLink = async () => {\n const url = `${window.location.origin}${window.location.pathname}?folder=${folder.id}`;\n const didCopy = await copy(url);\n\n toggleNotification({\n type: didCopy ? 'success' : 'danger',\n message: formatMessage(\n didCopy\n ? {\n id: getTranslationKey('list.folder.actions.copy-link.success'),\n defaultMessage: 'Folder link copied.',\n }\n : {\n id: getTranslationKey('list.folder.actions.copy-link.error'),\n defaultMessage: 'Failed to copy the folder link.',\n }\n ),\n });\n };\n\n return (\n <>\n {/* See AssetActionsMenu: non-modal so clicking another row's trigger\n closes this menu and opens that one in a single click. */}\n <Menu.Root modal={false}>\n <Menu.Trigger\n tag={IconButton}\n icon={<More />}\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslationKey('control-card.more-actions'),\n defaultMessage: 'More actions',\n })}\n />\n {/* See ActionsMenuContent: the design system's 15rem default clamps the\n menu against a hidden scrollbar, so items can be silently cut off\n near the viewport edge. This one is shorter, but kept in sync. */}\n <ActionsMenuContent popoverPlacement=\"bottom-end\" zIndex={2} minWidth=\"22rem\">\n <Menu.Item startIcon={<Link />} onSelect={handleCopyLink}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.copy-link'),\n defaultMessage: 'Copy link to folder',\n })}\n </Menu.Item>\n <Menu.Separator />\n {/* TODO: gate Rename, Move and Delete on `assets.canUpdate` CMS-387 */}\n <Menu.Item startIcon={<Pencil />} onSelect={() => setIsRenameOpen(true)}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.rename'),\n defaultMessage: 'Rename folder',\n })}\n </Menu.Item>\n <Menu.Item startIcon={<ArrowRight />} onSelect={() => setIsMoveOpen(true)}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.move'),\n defaultMessage: 'Move to folder',\n })}\n </Menu.Item>\n <Menu.Item startIcon={<Trash />} variant=\"danger\" onSelect={() => setIsDeleteOpen(true)}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.delete'),\n defaultMessage: 'Delete folder',\n })}\n </Menu.Item>\n </ActionsMenuContent>\n </Menu.Root>\n {/* These dialogs live inside the row, so a background refetch that drops\n the row would take an open dialog with it. Nothing invalidates until\n the mutation resolves, and the dialog closes in the same tick, so the\n flows themselves can't trigger it. */}\n {isRenameOpen && (\n <FolderFormDialog\n open\n mode=\"rename\"\n folderId={folder.id}\n initialName={folder.name}\n parentFolderId={dragData.parentId}\n onClose={() => setIsRenameOpen(false)}\n />\n )}\n {isMoveOpen && (\n <BulkMoveDialog\n open\n onClose={() => setIsMoveOpen(false)}\n items={moveItems}\n onSuccess={() => deselect(folderKey(folder.id))}\n />\n )}\n {isDeleteOpen && (\n <DeleteItemsDialog\n open\n onClose={() => setIsDeleteOpen(false)}\n target={{ fileIds: [], folderIds: [folder.id] }}\n onSuccess={() => deselect(folderKey(folder.id))}\n />\n )}\n </>\n );\n};\n"],"names":["FolderActionsMenu","folder","dragData","formatMessage","useIntl","copy","useClipboard","toggleNotification","useNotification","deselect","useAssetSelection","isRenameOpen","setIsRenameOpen","useState","isMoveOpen","setIsMoveOpen","isDeleteOpen","setIsDeleteOpen","moveItems","useMemo","handleCopyLink","url","window","location","origin","pathname","id","didCopy","type","message","getTranslationKey","defaultMessage","_jsxs","_Fragment","Menu","Root","modal","_jsx","Trigger","tag","IconButton","icon","More","variant","label","ActionsMenuContent","popoverPlacement","zIndex","minWidth","Item","startIcon","Link","onSelect","Separator","Pencil","ArrowRight","Trash","FolderFormDialog","open","mode","folderId","initialName","name","parentFolderId","parentId","onClose","BulkMoveDialog","items","onSuccess","folderKey","DeleteItemsDialog","target","fileIds","folderIds"],"mappings":";;;;;;;;;;;;;;;;AAyBA;;;;;;;;;;;UAYaA,iBAAAA,GAAoB,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAA0B,GAAA;IAC5E,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,IAAI,EAAE,GAAGC,wBAAAA,EAAAA;IACjB,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;IAC/B,MAAM,EAAEC,QAAQ,EAAE,GAAGC,mCAAAA,EAAAA;AACrB,IAAA,MAAM,CAACC,YAAAA,EAAcC,eAAAA,CAAgB,GAAGC,cAAAA,CAAS,KAAA,CAAA;AACjD,IAAA,MAAM,CAACC,UAAAA,EAAYC,aAAAA,CAAc,GAAGF,cAAAA,CAAS,KAAA,CAAA;AAC7C,IAAA,MAAM,CAACG,YAAAA,EAAcC,eAAAA,CAAgB,GAAGJ,cAAAA,CAAS,KAAA,CAAA;;IAGjD,MAAMK,SAAAA,GAAYC,cAAQ,IAAM;AAACjB,YAAAA;SAAS,EAAE;AAACA,QAAAA;AAAS,KAAA,CAAA;;;;AAKtD,IAAA,MAAMkB,cAAAA,GAAiB,UAAA;AACrB,QAAA,MAAMC,MAAM,CAAA,EAAGC,MAAAA,CAAOC,QAAQ,CAACC,MAAM,CAAA,EAAGF,MAAAA,CAAOC,QAAQ,CAACE,QAAQ,CAAC,QAAQ,EAAExB,MAAAA,CAAOyB,EAAE,CAAA,CAAE;QACtF,MAAMC,OAAAA,GAAU,MAAMtB,IAAAA,CAAKgB,GAAAA,CAAAA;QAE3Bd,kBAAAA,CAAmB;AACjBqB,YAAAA,IAAAA,EAAMD,UAAU,SAAA,GAAY,QAAA;AAC5BE,YAAAA,OAAAA,EAAS1B,cACPwB,OAAAA,GACI;AACED,gBAAAA,EAAAA,EAAII,8BAAAA,CAAkB,uCAAA,CAAA;gBACtBC,cAAAA,EAAgB;aAClB,GACA;AACEL,gBAAAA,EAAAA,EAAII,8BAAAA,CAAkB,qCAAA,CAAA;gBACtBC,cAAAA,EAAgB;AAClB,aAAA;AAER,SAAA,CAAA;AACF,IAAA,CAAA;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AAGE,0BAAAD,eAAA,CAACE,kBAAKC,IAAI,EAAA;gBAACC,KAAAA,EAAO,KAAA;;AAChB,kCAAAC,cAAA,CAACH,kBAAKI,OAAO,EAAA;wBACXC,GAAAA,EAAKC,uBAAAA;AACLC,wBAAAA,IAAAA,gBAAMJ,cAAA,CAACK,UAAAA,EAAAA,EAAAA,CAAAA;wBACPC,OAAAA,EAAQ,OAAA;AACRC,wBAAAA,KAAAA,EAAOzC,aAAAA,CAAc;AACnBuB,4BAAAA,EAAAA,EAAII,8BAAAA,CAAkB,2BAAA,CAAA;4BACtBC,cAAAA,EAAgB;AAClB,yBAAA;;kCAKFC,eAAA,CAACa,qCAAAA,EAAAA;wBAAmBC,gBAAAA,EAAiB,YAAA;wBAAaC,MAAAA,EAAQ,CAAA;wBAAGC,QAAAA,EAAS,OAAA;;AACpE,0CAAAX,cAAA,CAACH,kBAAKe,IAAI,EAAA;AAACC,gCAAAA,SAAAA,gBAAWb,cAAA,CAACc,UAAAA,EAAAA,EAAAA,CAAAA;gCAASC,QAAAA,EAAUhC,cAAAA;0CACvCjB,aAAAA,CAAc;AACbuB,oCAAAA,EAAAA,EAAII,8BAAAA,CAAkB,+BAAA,CAAA;oCACtBC,cAAAA,EAAgB;AAClB,iCAAA;;AAEF,0CAAAM,cAAA,CAACH,kBAAKmB,SAAS,EAAA,EAAA,CAAA;AAEf,0CAAAhB,cAAA,CAACH,kBAAKe,IAAI,EAAA;AAACC,gCAAAA,SAAAA,gBAAWb,cAAA,CAACiB,YAAAA,EAAAA,EAAAA,CAAAA;AAAWF,gCAAAA,QAAAA,EAAU,IAAMxC,eAAAA,CAAgB,IAAA,CAAA;0CAC/DT,aAAAA,CAAc;AACbuB,oCAAAA,EAAAA,EAAII,8BAAAA,CAAkB,4BAAA,CAAA;oCACtBC,cAAAA,EAAgB;AAClB,iCAAA;;AAEF,0CAAAM,cAAA,CAACH,kBAAKe,IAAI,EAAA;AAACC,gCAAAA,SAAAA,gBAAWb,cAAA,CAACkB,gBAAAA,EAAAA,EAAAA,CAAAA;AAAeH,gCAAAA,QAAAA,EAAU,IAAMrC,aAAAA,CAAc,IAAA,CAAA;0CACjEZ,aAAAA,CAAc;AACbuB,oCAAAA,EAAAA,EAAII,8BAAAA,CAAkB,0BAAA,CAAA;oCACtBC,cAAAA,EAAgB;AAClB,iCAAA;;AAEF,0CAAAM,cAAA,CAACH,kBAAKe,IAAI,EAAA;AAACC,gCAAAA,SAAAA,gBAAWb,cAAA,CAACmB,WAAAA,EAAAA,EAAAA,CAAAA;gCAAUb,OAAAA,EAAQ,QAAA;AAASS,gCAAAA,QAAAA,EAAU,IAAMnC,eAAAA,CAAgB,IAAA,CAAA;0CAC/Ed,aAAAA,CAAc;AACbuB,oCAAAA,EAAAA,EAAII,8BAAAA,CAAkB,4BAAA,CAAA;oCACtBC,cAAAA,EAAgB;AAClB,iCAAA;;;;;;AAQLpB,YAAAA,YAAAA,kBACC0B,cAAA,CAACoB,iCAAAA,EAAAA;gBACCC,IAAI,EAAA,IAAA;gBACJC,IAAAA,EAAK,QAAA;AACLC,gBAAAA,QAAAA,EAAU3D,OAAOyB,EAAE;AACnBmC,gBAAAA,WAAAA,EAAa5D,OAAO6D,IAAI;AACxBC,gBAAAA,cAAAA,EAAgB7D,SAAS8D,QAAQ;AACjCC,gBAAAA,OAAAA,EAAS,IAAMrD,eAAAA,CAAgB,KAAA;;AAGlCE,YAAAA,UAAAA,kBACCuB,cAAA,CAAC6B,6BAAAA,EAAAA;gBACCR,IAAI,EAAA,IAAA;AACJO,gBAAAA,OAAAA,EAAS,IAAMlD,aAAAA,CAAc,KAAA,CAAA;gBAC7BoD,KAAAA,EAAOjD,SAAAA;AACPkD,gBAAAA,SAAAA,EAAW,IAAM3D,QAAAA,CAAS4D,mBAAAA,CAAUpE,MAAAA,CAAOyB,EAAE,CAAA;;AAGhDV,YAAAA,YAAAA,kBACCqB,cAAA,CAACiC,mCAAAA,EAAAA;gBACCZ,IAAI,EAAA,IAAA;AACJO,gBAAAA,OAAAA,EAAS,IAAMhD,eAAAA,CAAgB,KAAA,CAAA;gBAC/BsD,MAAAA,EAAQ;AAAEC,oBAAAA,OAAAA,EAAS,EAAE;oBAAEC,SAAAA,EAAW;AAACxE,wBAAAA,MAAAA,CAAOyB;AAAG;AAAC,iBAAA;AAC9C0C,gBAAAA,SAAAA,EAAW,IAAM3D,QAAAA,CAAS4D,mBAAAA,CAAUpE,MAAAA,CAAOyB,EAAE,CAAA;;;;AAKvD;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderActionsMenu.mjs","sources":["../../../../../admin/src/pages/Assets/components/FolderActionsMenu.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\n\nimport { useClipboard, useNotification } from '@strapi/admin/strapi-admin';\nimport { IconButton, Menu } from '@strapi/design-system';\nimport { ArrowRight, Link, More, Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslationKey } from '../../../utils/translations';\nimport { useAssetSelection } from '../hooks/useAssetSelection';\nimport { folderKey } from '../utils/selection';\n\nimport { ActionsMenuContent } from './ActionsMenuContent';\nimport { BulkMoveDialog } from './BulkMoveDialog';\nimport { DeleteItemsDialog } from './DeleteItemsDialog';\nimport { FolderFormDialog } from './FolderFormDialog';\n\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { DragFolderData } from '../../../types/dnd';\n\ninterface FolderActionsMenuProps {\n folder: Folder;\n /** Drag data for this folder, so the move dialog validates against its real parent. */\n dragData: DragFolderData;\n}\n\n/**\n * The \"...\" menu on a folder row/card. Always acts on that one folder, whatever\n * the current multi-selection is (the bulk actions bar is the selection-scoped\n * affordance). It reuses the shared move and delete dialogs, which mount only\n * while open.\n *\n * A successful move or delete deselects this one folder and leaves the rest of\n * the selection intact: they only invalidate RTK tags, so without it a\n * `folder:<id>` key for a folder that no longer lives where the selection thinks\n * it does would linger. A rename leaves the id valid and the folder in place, so\n * it touches the selection not at all.\n */\nexport const FolderActionsMenu = ({ folder, dragData }: FolderActionsMenuProps) => {\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n const { toggleNotification } = useNotification();\n const { deselect } = useAssetSelection();\n const [isRenameOpen, setIsRenameOpen] = useState(false);\n const [isMoveOpen, setIsMoveOpen] = useState(false);\n const [isDeleteOpen, setIsDeleteOpen] = useState(false);\n\n // Stable identity: the move dialog memoizes its destination walk on it.\n const moveItems = useMemo(() => [dragData], [dragData]);\n\n // Built from window.location so the link inherits whatever path the library is\n // mounted at. Every other query param (search, sort, open drawer) is dropped —\n // this is a clean deep-link to the folder.\n const handleCopyLink = async () => {\n const url = `${window.location.origin}${window.location.pathname}?folder=${folder.id}`;\n const didCopy = await copy(url);\n\n toggleNotification({\n type: didCopy ? 'success' : 'danger',\n message: formatMessage(\n didCopy\n ? {\n id: getTranslationKey('list.folder.actions.copy-link.success'),\n defaultMessage: 'Folder link copied.',\n }\n : {\n id: getTranslationKey('list.folder.actions.copy-link.error'),\n defaultMessage: 'Failed to copy the folder link.',\n }\n ),\n });\n };\n\n return (\n <>\n {/* See AssetActionsMenu: non-modal so clicking another row's trigger\n closes this menu and opens that one in a single click. */}\n <Menu.Root modal={false}>\n <Menu.Trigger\n tag={IconButton}\n icon={<More />}\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslationKey('control-card.more-actions'),\n defaultMessage: 'More actions',\n })}\n />\n {/* See ActionsMenuContent: the design system's 15rem default clamps the\n menu against a hidden scrollbar, so items can be silently cut off\n near the viewport edge. This one is shorter, but kept in sync. */}\n <ActionsMenuContent popoverPlacement=\"bottom-end\" zIndex={2} minWidth=\"22rem\">\n <Menu.Item startIcon={<Link />} onSelect={handleCopyLink}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.copy-link'),\n defaultMessage: 'Copy link to folder',\n })}\n </Menu.Item>\n <Menu.Separator />\n {/* TODO: gate Rename, Move and Delete on `assets.canUpdate` CMS-387 */}\n <Menu.Item startIcon={<Pencil />} onSelect={() => setIsRenameOpen(true)}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.rename'),\n defaultMessage: 'Rename folder',\n })}\n </Menu.Item>\n <Menu.Item startIcon={<ArrowRight />} onSelect={() => setIsMoveOpen(true)}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.move'),\n defaultMessage: 'Move to folder',\n })}\n </Menu.Item>\n <Menu.Item startIcon={<Trash />} variant=\"danger\" onSelect={() => setIsDeleteOpen(true)}>\n {formatMessage({\n id: getTranslationKey('list.folder.actions.delete'),\n defaultMessage: 'Delete folder',\n })}\n </Menu.Item>\n </ActionsMenuContent>\n </Menu.Root>\n {/* These dialogs live inside the row, so a background refetch that drops\n the row would take an open dialog with it. Nothing invalidates until\n the mutation resolves, and the dialog closes in the same tick, so the\n flows themselves can't trigger it. */}\n {isRenameOpen && (\n <FolderFormDialog\n open\n mode=\"rename\"\n folderId={folder.id}\n initialName={folder.name}\n parentFolderId={dragData.parentId}\n onClose={() => setIsRenameOpen(false)}\n />\n )}\n {isMoveOpen && (\n <BulkMoveDialog\n open\n onClose={() => setIsMoveOpen(false)}\n items={moveItems}\n onSuccess={() => deselect(folderKey(folder.id))}\n />\n )}\n {isDeleteOpen && (\n <DeleteItemsDialog\n open\n onClose={() => setIsDeleteOpen(false)}\n target={{ fileIds: [], folderIds: [folder.id] }}\n onSuccess={() => deselect(folderKey(folder.id))}\n />\n )}\n </>\n );\n};\n"],"names":["FolderActionsMenu","folder","dragData","formatMessage","useIntl","copy","useClipboard","toggleNotification","useNotification","deselect","useAssetSelection","isRenameOpen","setIsRenameOpen","useState","isMoveOpen","setIsMoveOpen","isDeleteOpen","setIsDeleteOpen","moveItems","useMemo","handleCopyLink","url","window","location","origin","pathname","id","didCopy","type","message","getTranslationKey","defaultMessage","_jsxs","_Fragment","Menu","Root","modal","_jsx","Trigger","tag","IconButton","icon","More","variant","label","ActionsMenuContent","popoverPlacement","zIndex","minWidth","Item","startIcon","Link","onSelect","Separator","Pencil","ArrowRight","Trash","FolderFormDialog","open","mode","folderId","initialName","name","parentFolderId","parentId","onClose","BulkMoveDialog","items","onSuccess","folderKey","DeleteItemsDialog","target","fileIds","folderIds"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderFormDialog.js","sources":["../../../../../admin/src/pages/Assets/components/FolderFormDialog.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Field, Flex, Modal, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useTracking, MEDIA_LIBRARY_LOCATION } from '../../../hooks/useTracking';\nimport { useCreateFolderMutation, useUpdateFolderMutation } from '../../../services/folders';\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface FolderFormDialogBaseProps {\n open: boolean;\n onClose: () => void;\n /** Sent as `parent`. Create: the folder being created in. Rename: the folder's existing parent. */\n parentFolderId: number | null;\n}\n\ntype FolderFormDialogProps = FolderFormDialogBaseProps &\n (\n | { mode: 'create'; parentFolderName: string }\n | { mode: 'rename'; folderId: number; initialName: string }\n );\n\nconst StyledModalContent = styled(Modal.Content)`\n max-width: 51.6rem;\n`;\n\nexport const FolderFormDialog = (props: FolderFormDialogProps) => {\n const { open, parentFolderId, onClose, mode } = props;\n const initialName = props.mode === 'rename' ? props.initialName : '';\n\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n const [name, setName] = useState(initialName);\n const [fieldError, setFieldError] = useState<string | undefined>();\n const inputRef = useRef<HTMLInputElement>(null);\n const [createFolder, { isLoading: isCreating }] = useCreateFolderMutation();\n const [updateFolder, { isLoading: isUpdating }] = useUpdateFolderMutation();\n\n const isLoading = mode === 'rename' ? isUpdating : isCreating;\n\n useEffect(() => {\n if (open) {\n setName(initialName);\n setFieldError(undefined);\n\n // Renaming starts from the current name, so select it: typing replaces\n // the whole thing, as in Finder / VS Code / GitHub.\n if (mode === 'rename') {\n inputRef.current?.select();\n }\n }\n }, [open, initialName, mode]);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n const trimmedName = name.trim();\n\n if (!trimmedName) {\n setFieldError(\n formatMessage({\n id: getTranslationKey('folder.create.form.error.name-required'),\n defaultMessage: 'Name is required',\n })\n );\n return;\n }\n\n try {\n if (props.mode === 'rename') {\n await updateFolder({\n id: props.folderId,\n name: trimmedName,\n parent: parentFolderId,\n }).unwrap();\n // Matches the legacy folder-edit payload. This dialog only renames\n // (parent is fixed), so the location never changes here.\n trackUsage('didEditMediaLibraryElements', {\n location: MEDIA_LIBRARY_LOCATION,\n type: 'folder',\n changeLocation: false,\n });\n } else {\n await createFolder({ name: trimmedName, parent: parentFolderId }).unwrap();\n trackUsage('didAddMediaLibraryFolders', { location: MEDIA_LIBRARY_LOCATION });\n }\n\n toggleNotification({\n type: 'success',\n message:\n mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.success'),\n defaultMessage: 'Folder has been renamed',\n })\n : formatMessage({\n id: getTranslationKey('folder.create.success'),\n defaultMessage: 'Folder has been created',\n }),\n });\n\n onClose();\n } catch (err) {\n const apiError = err as { message?: string };\n\n if (apiError?.message) {\n setFieldError(apiError.message);\n } else {\n toggleNotification({\n type: 'danger',\n message:\n mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.form.error.unknown'),\n defaultMessage: 'An error occurred while renaming the folder',\n })\n : formatMessage({\n id: getTranslationKey('folder.create.form.error.unknown'),\n defaultMessage: 'An error occurred while creating the folder',\n }),\n });\n }\n }\n };\n\n return (\n <Modal.Root open={open} onOpenChange={onClose}>\n <StyledModalContent>\n <Modal.Header>\n <Modal.Title>\n {props.mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.title'),\n defaultMessage: 'Rename folder',\n })\n : formatMessage(\n {\n id: getTranslationKey('folder.create.title-in'),\n defaultMessage: 'New folder in {folderName}',\n },\n { folderName: props.parentFolderName }\n )}\n </Modal.Title>\n </Modal.Header>\n <form onSubmit={handleSubmit}>\n <Modal.Body>\n <Field.Root error={fieldError} name=\"name\" required>\n <Field.Label>\n {formatMessage({\n id: getTranslationKey('folder.form.name.label'),\n defaultMessage: 'Folder name',\n })}\n </Field.Label>\n <TextInput\n ref={inputRef}\n value={name}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n setFieldError(undefined);\n }}\n autoFocus\n />\n <Field.Error />\n </Field.Root>\n </Modal.Body>\n <Modal.Footer>\n <Flex gap={2} justifyContent=\"space-between\" width=\"100%\">\n <Button variant=\"tertiary\" onClick={onClose} type=\"button\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button\n type=\"submit\"\n loading={isLoading}\n disabled={mode === 'rename' && name.trim() === initialName.trim()}\n >\n {mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.submit'),\n defaultMessage: 'Save',\n })\n : formatMessage({\n id: getTranslationKey('folder.create.submit'),\n defaultMessage: 'Create folder',\n })}\n </Button>\n </Flex>\n </Modal.Footer>\n </form>\n </StyledModalContent>\n </Modal.Root>\n );\n};\n"],"names":["StyledModalContent","styled","Modal","Content","FolderFormDialog","props","open","parentFolderId","onClose","mode","initialName","formatMessage","useIntl","toggleNotification","useNotification","trackUsage","useTracking","name","setName","useState","fieldError","setFieldError","inputRef","useRef","createFolder","isLoading","isCreating","useCreateFolderMutation","updateFolder","isUpdating","useUpdateFolderMutation","useEffect","undefined","current","select","handleSubmit","e","preventDefault","trimmedName","trim","id","getTranslationKey","defaultMessage","folderId","parent","unwrap","location","MEDIA_LIBRARY_LOCATION","type","changeLocation","message","err","apiError","_jsx","Root","onOpenChange","_jsxs","Header","Title","folderName","parentFolderName","form","onSubmit","Body","Field","error","required","Label","TextInput","ref","value","onChange","target","autoFocus","Error","Footer","Flex","gap","justifyContent","width","Button","variant","onClick","loading","disabled"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderFormDialog.mjs","sources":["../../../../../admin/src/pages/Assets/components/FolderFormDialog.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Field, Flex, Modal, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useTracking, MEDIA_LIBRARY_LOCATION } from '../../../hooks/useTracking';\nimport { useCreateFolderMutation, useUpdateFolderMutation } from '../../../services/folders';\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface FolderFormDialogBaseProps {\n open: boolean;\n onClose: () => void;\n /** Sent as `parent`. Create: the folder being created in. Rename: the folder's existing parent. */\n parentFolderId: number | null;\n}\n\ntype FolderFormDialogProps = FolderFormDialogBaseProps &\n (\n | { mode: 'create'; parentFolderName: string }\n | { mode: 'rename'; folderId: number; initialName: string }\n );\n\nconst StyledModalContent = styled(Modal.Content)`\n max-width: 51.6rem;\n`;\n\nexport const FolderFormDialog = (props: FolderFormDialogProps) => {\n const { open, parentFolderId, onClose, mode } = props;\n const initialName = props.mode === 'rename' ? props.initialName : '';\n\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n const [name, setName] = useState(initialName);\n const [fieldError, setFieldError] = useState<string | undefined>();\n const inputRef = useRef<HTMLInputElement>(null);\n const [createFolder, { isLoading: isCreating }] = useCreateFolderMutation();\n const [updateFolder, { isLoading: isUpdating }] = useUpdateFolderMutation();\n\n const isLoading = mode === 'rename' ? isUpdating : isCreating;\n\n useEffect(() => {\n if (open) {\n setName(initialName);\n setFieldError(undefined);\n\n // Renaming starts from the current name, so select it: typing replaces\n // the whole thing, as in Finder / VS Code / GitHub.\n if (mode === 'rename') {\n inputRef.current?.select();\n }\n }\n }, [open, initialName, mode]);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n const trimmedName = name.trim();\n\n if (!trimmedName) {\n setFieldError(\n formatMessage({\n id: getTranslationKey('folder.create.form.error.name-required'),\n defaultMessage: 'Name is required',\n })\n );\n return;\n }\n\n try {\n if (props.mode === 'rename') {\n await updateFolder({\n id: props.folderId,\n name: trimmedName,\n parent: parentFolderId,\n }).unwrap();\n // Matches the legacy folder-edit payload. This dialog only renames\n // (parent is fixed), so the location never changes here.\n trackUsage('didEditMediaLibraryElements', {\n location: MEDIA_LIBRARY_LOCATION,\n type: 'folder',\n changeLocation: false,\n });\n } else {\n await createFolder({ name: trimmedName, parent: parentFolderId }).unwrap();\n trackUsage('didAddMediaLibraryFolders', { location: MEDIA_LIBRARY_LOCATION });\n }\n\n toggleNotification({\n type: 'success',\n message:\n mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.success'),\n defaultMessage: 'Folder has been renamed',\n })\n : formatMessage({\n id: getTranslationKey('folder.create.success'),\n defaultMessage: 'Folder has been created',\n }),\n });\n\n onClose();\n } catch (err) {\n const apiError = err as { message?: string };\n\n if (apiError?.message) {\n setFieldError(apiError.message);\n } else {\n toggleNotification({\n type: 'danger',\n message:\n mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.form.error.unknown'),\n defaultMessage: 'An error occurred while renaming the folder',\n })\n : formatMessage({\n id: getTranslationKey('folder.create.form.error.unknown'),\n defaultMessage: 'An error occurred while creating the folder',\n }),\n });\n }\n }\n };\n\n return (\n <Modal.Root open={open} onOpenChange={onClose}>\n <StyledModalContent>\n <Modal.Header>\n <Modal.Title>\n {props.mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.title'),\n defaultMessage: 'Rename folder',\n })\n : formatMessage(\n {\n id: getTranslationKey('folder.create.title-in'),\n defaultMessage: 'New folder in {folderName}',\n },\n { folderName: props.parentFolderName }\n )}\n </Modal.Title>\n </Modal.Header>\n <form onSubmit={handleSubmit}>\n <Modal.Body>\n <Field.Root error={fieldError} name=\"name\" required>\n <Field.Label>\n {formatMessage({\n id: getTranslationKey('folder.form.name.label'),\n defaultMessage: 'Folder name',\n })}\n </Field.Label>\n <TextInput\n ref={inputRef}\n value={name}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n setFieldError(undefined);\n }}\n autoFocus\n />\n <Field.Error />\n </Field.Root>\n </Modal.Body>\n <Modal.Footer>\n <Flex gap={2} justifyContent=\"space-between\" width=\"100%\">\n <Button variant=\"tertiary\" onClick={onClose} type=\"button\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button\n type=\"submit\"\n loading={isLoading}\n disabled={mode === 'rename' && name.trim() === initialName.trim()}\n >\n {mode === 'rename'\n ? formatMessage({\n id: getTranslationKey('folder.rename.submit'),\n defaultMessage: 'Save',\n })\n : formatMessage({\n id: getTranslationKey('folder.create.submit'),\n defaultMessage: 'Create folder',\n })}\n </Button>\n </Flex>\n </Modal.Footer>\n </form>\n </StyledModalContent>\n </Modal.Root>\n );\n};\n"],"names":["StyledModalContent","styled","Modal","Content","FolderFormDialog","props","open","parentFolderId","onClose","mode","initialName","formatMessage","useIntl","toggleNotification","useNotification","trackUsage","useTracking","name","setName","useState","fieldError","setFieldError","inputRef","useRef","createFolder","isLoading","isCreating","useCreateFolderMutation","updateFolder","isUpdating","useUpdateFolderMutation","useEffect","undefined","current","select","handleSubmit","e","preventDefault","trimmedName","trim","id","getTranslationKey","defaultMessage","folderId","parent","unwrap","location","MEDIA_LIBRARY_LOCATION","type","changeLocation","message","err","apiError","_jsx","Root","onOpenChange","_jsxs","Header","Title","folderName","parentFolderName","form","onSubmit","Body","Field","error","required","Label","TextInput","ref","value","onChange","target","autoFocus","Error","Footer","Flex","gap","justifyContent","width","Button","variant","onClick","loading","disabled"],"mappings":";;;;;;;;;;AAwBA,MAAMA,kBAAAA,GAAqBC,MAAAA,CAAOC,KAAAA,CAAMC,OAAO,CAAC;;AAEhD,CAAC;AAEM,MAAMC,mBAAmB,CAACC,KAAAA,GAAAA;IAC/B,MAAM,EAAEC,IAAI,EAAEC,cAAc,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGJ,KAAAA;AAChD,IAAA,MAAMK,cAAcL,KAAAA,CAAMI,IAAI,KAAK,QAAA,GAAWJ,KAAAA,CAAMK,WAAW,GAAG,EAAA;IAElE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;IAC/B,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;AACvB,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,QAAAA,CAAST,WAAAA,CAAAA;IACjC,MAAM,CAACU,UAAAA,EAAYC,aAAAA,CAAc,GAAGF,QAAAA,EAAAA;AACpC,IAAA,MAAMG,WAAWC,MAAAA,CAAyB,IAAA,CAAA;AAC1C,IAAA,MAAM,CAACC,YAAAA,EAAc,EAAEC,WAAWC,UAAU,EAAE,CAAC,GAAGC,uBAAAA,EAAAA;AAClD,IAAA,MAAM,CAACC,YAAAA,EAAc,EAAEH,WAAWI,UAAU,EAAE,CAAC,GAAGC,uBAAAA,EAAAA;IAElD,MAAML,SAAAA,GAAYhB,IAAAA,KAAS,QAAA,GAAWoB,UAAAA,GAAaH,UAAAA;IAEnDK,SAAAA,CAAU,IAAA;AACR,QAAA,IAAIzB,IAAAA,EAAM;YACRY,OAAAA,CAAQR,WAAAA,CAAAA;YACRW,aAAAA,CAAcW,SAAAA,CAAAA;;;AAId,YAAA,IAAIvB,SAAS,QAAA,EAAU;AACrBa,gBAAAA,QAAAA,CAASW,OAAO,EAAEC,MAAAA,EAAAA;AACpB,YAAA;AACF,QAAA;IACF,CAAA,EAAG;AAAC5B,QAAAA,IAAAA;AAAMI,QAAAA,WAAAA;AAAaD,QAAAA;AAAK,KAAA,CAAA;AAE5B,IAAA,MAAM0B,eAAe,OAAOC,CAAAA,GAAAA;AAC1BA,QAAAA,CAAAA,CAAEC,cAAc,EAAA;QAEhB,MAAMC,WAAAA,GAAcrB,KAAKsB,IAAI,EAAA;AAE7B,QAAA,IAAI,CAACD,WAAAA,EAAa;AAChBjB,YAAAA,aAAAA,CACEV,aAAAA,CAAc;AACZ6B,gBAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,wCAAA,CAAA;gBACtBC,cAAAA,EAAgB;AAClB,aAAA,CAAA,CAAA;AAEF,YAAA;AACF,QAAA;QAEA,IAAI;YACF,IAAIrC,KAAAA,CAAMI,IAAI,KAAK,QAAA,EAAU;AAC3B,gBAAA,MAAMmB,YAAAA,CAAa;AACjBY,oBAAAA,EAAAA,EAAInC,MAAMsC,QAAQ;oBAClB1B,IAAAA,EAAMqB,WAAAA;oBACNM,MAAAA,EAAQrC;AACV,iBAAA,CAAA,CAAGsC,MAAM,EAAA;;;AAGT9B,gBAAAA,UAAAA,CAAW,6BAAA,EAA+B;oBACxC+B,QAAAA,EAAUC,sBAAAA;oBACVC,IAAAA,EAAM,QAAA;oBACNC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;YACF,CAAA,MAAO;AACL,gBAAA,MAAMzB,YAAAA,CAAa;oBAAEP,IAAAA,EAAMqB,WAAAA;oBAAaM,MAAAA,EAAQrC;AAAe,iBAAA,CAAA,CAAGsC,MAAM,EAAA;AACxE9B,gBAAAA,UAAAA,CAAW,2BAAA,EAA6B;oBAAE+B,QAAAA,EAAUC;AAAuB,iBAAA,CAAA;AAC7E,YAAA;YAEAlC,kBAAAA,CAAmB;gBACjBmC,IAAAA,EAAM,SAAA;gBACNE,OAAAA,EACEzC,IAAAA,KAAS,WACLE,aAAAA,CAAc;AACZ6B,oBAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,uBAAA,CAAA;oBACtBC,cAAAA,EAAgB;AAClB,iBAAA,CAAA,GACA/B,aAAAA,CAAc;AACZ6B,oBAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,uBAAA,CAAA;oBACtBC,cAAAA,EAAgB;AAClB,iBAAA;AACR,aAAA,CAAA;AAEAlC,YAAAA,OAAAA,EAAAA;AACF,QAAA,CAAA,CAAE,OAAO2C,GAAAA,EAAK;AACZ,YAAA,MAAMC,QAAAA,GAAWD,GAAAA;AAEjB,YAAA,IAAIC,UAAUF,OAAAA,EAAS;AACrB7B,gBAAAA,aAAAA,CAAc+B,SAASF,OAAO,CAAA;YAChC,CAAA,MAAO;gBACLrC,kBAAAA,CAAmB;oBACjBmC,IAAAA,EAAM,QAAA;oBACNE,OAAAA,EACEzC,IAAAA,KAAS,WACLE,aAAAA,CAAc;AACZ6B,wBAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,kCAAA,CAAA;wBACtBC,cAAAA,EAAgB;AAClB,qBAAA,CAAA,GACA/B,aAAAA,CAAc;AACZ6B,wBAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,kCAAA,CAAA;wBACtBC,cAAAA,EAAgB;AAClB,qBAAA;AACR,iBAAA,CAAA;AACF,YAAA;AACF,QAAA;AACF,IAAA,CAAA;IAEA,qBACEW,GAAA,CAACnD,MAAMoD,IAAI,EAAA;QAAChD,IAAAA,EAAMA,IAAAA;QAAMiD,YAAAA,EAAc/C,OAAAA;AACpC,QAAA,QAAA,gBAAAgD,IAAA,CAACxD,kBAAAA,EAAAA;;AACC,8BAAAqD,GAAA,CAACnD,MAAMuD,MAAM,EAAA;4CACXJ,GAAA,CAACnD,MAAMwD,KAAK,EAAA;kCACTrD,KAAAA,CAAMI,IAAI,KAAK,QAAA,GACZE,aAAAA,CAAc;AACZ6B,4BAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,qBAAA,CAAA;4BACtBC,cAAAA,EAAgB;AAClB,yBAAA,CAAA,GACA/B,aAAAA,CACE;AACE6B,4BAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,wBAAA,CAAA;4BACtBC,cAAAA,EAAgB;yBAClB,EACA;AAAEiB,4BAAAA,UAAAA,EAAYtD,MAAMuD;AAAiB,yBAAA;;;8BAI/CJ,IAAA,CAACK,MAAAA,EAAAA;oBAAKC,QAAAA,EAAU3B,YAAAA;;AACd,sCAAAkB,GAAA,CAACnD,MAAM6D,IAAI,EAAA;oDACTP,IAAA,CAACQ,MAAMV,IAAI,EAAA;gCAACW,KAAAA,EAAO7C,UAAAA;gCAAYH,IAAAA,EAAK,MAAA;gCAAOiD,QAAQ,EAAA,IAAA;;AACjD,kDAAAb,GAAA,CAACW,MAAMG,KAAK,EAAA;kDACTxD,aAAAA,CAAc;AACb6B,4CAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,wBAAA,CAAA;4CACtBC,cAAAA,EAAgB;AAClB,yCAAA;;kDAEFW,GAAA,CAACe,SAAAA,EAAAA;wCACCC,GAAAA,EAAK/C,QAAAA;wCACLgD,KAAAA,EAAOrD,IAAAA;AACPsD,wCAAAA,QAAAA,EAAU,CAACnC,CAAAA,GAAAA;4CACTlB,OAAAA,CAAQkB,CAAAA,CAAEoC,MAAM,CAACF,KAAK,CAAA;4CACtBjD,aAAAA,CAAcW,SAAAA,CAAAA;AAChB,wCAAA,CAAA;wCACAyC,SAAS,EAAA;;AAEX,kDAAApB,GAAA,CAACW,MAAMU,KAAK,EAAA,EAAA;;;;AAGhB,sCAAArB,GAAA,CAACnD,MAAMyE,MAAM,EAAA;AACX,4BAAA,QAAA,gBAAAnB,IAAA,CAACoB,IAAAA,EAAAA;gCAAKC,GAAAA,EAAK,CAAA;gCAAGC,cAAAA,EAAe,eAAA;gCAAgBC,KAAAA,EAAM,MAAA;;kDACjD1B,GAAA,CAAC2B,MAAAA,EAAAA;wCAAOC,OAAAA,EAAQ,UAAA;wCAAWC,OAAAA,EAAS1E,OAAAA;wCAASwC,IAAAA,EAAK,QAAA;kDAC/CrC,aAAAA,CAAc;4CAAE6B,EAAAA,EAAI,8BAAA;4CAAgCE,cAAAA,EAAgB;AAAS,yCAAA;;kDAEhFW,GAAA,CAAC2B,MAAAA,EAAAA;wCACChC,IAAAA,EAAK,QAAA;wCACLmC,OAAAA,EAAS1D,SAAAA;AACT2D,wCAAAA,QAAAA,EAAU3E,SAAS,QAAA,IAAYQ,IAAAA,CAAKsB,IAAI,EAAA,KAAO7B,YAAY6B,IAAI,EAAA;AAE9D9B,wCAAAA,QAAAA,EAAAA,IAAAA,KAAS,WACNE,aAAAA,CAAc;AACZ6B,4CAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,sBAAA,CAAA;4CACtBC,cAAAA,EAAgB;AAClB,yCAAA,CAAA,GACA/B,aAAAA,CAAc;AACZ6B,4CAAAA,EAAAA,EAAIC,iBAAAA,CAAkB,sBAAA,CAAA;4CACtBC,cAAAA,EAAgB;AAClB,yCAAA;;;;;;;;;;AAQpB;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderTree.js","sources":["../../../../../../admin/src/pages/Assets/components/FolderTree/FolderTree.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { SubNav } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, IconButton, Loader, Typography } from '@strapi/design-system';\nimport { ChevronDown, Folder as FolderIcon, House } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { TruncatedText } from '../../../../components/TruncatedText';\nimport { useGetFolderStructureQuery } from '../../../../services/folders';\nimport { getTranslationKey } from '../../../../utils/translations';\nimport { useAssetsDndOptional } from '../Dnd/AssetsDndProvider';\nimport { useFolderTreeDroppable } from '../Dnd/useFolderTreeDroppable';\n\nimport { useSpringLoadedExpand } from './useSpringLoadedExpand';\n\nimport type { FolderNode } from '../../../../../../shared/contracts/folders';\n\n/* -------------------------------------------------------------------------------------------------\n * RowButton — shared row styling aligned with admin SubNav.Link\n * -----------------------------------------------------------------------------------------------*/\n\nconst RowButton = styled.button<{\n $isActive: boolean;\n $isValidDropTarget?: boolean;\n $isInvalidDropCursor?: boolean;\n $isMovePending?: boolean;\n}>`\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[2]};\n width: 100%;\n min-height: 3.2rem;\n padding: ${({ theme }) => `${theme.spaces[1]} ${theme.spaces[2]}`};\n border: 0;\n background: ${({ $isActive, $isValidDropTarget, theme }) => {\n if ($isValidDropTarget) {\n return theme.colors.primary100;\n }\n\n return $isActive ? theme.colors.primary100 : 'transparent';\n }};\n color: ${({ $isActive, theme }) =>\n $isActive ? theme.colors.primary700 : theme.colors.neutral800};\n border-radius: ${({ theme }) => theme.borderRadius};\n cursor: ${({ $isMovePending, $isInvalidDropCursor }) => {\n if ($isMovePending) {\n return 'wait';\n }\n\n return $isInvalidDropCursor ? 'not-allowed' : 'pointer';\n }};\n text-align: left;\n font: inherit;\n pointer-events: ${({ $isMovePending }) => ($isMovePending ? 'none' : 'auto')};\n\n ${({ $isValidDropTarget, theme }) =>\n $isValidDropTarget &&\n css`\n outline: 1px dashed ${theme.colors.primary600};\n outline-offset: -1px;\n `}\n\n &:hover {\n background: ${({ $isActive, $isValidDropTarget, theme }) => {\n if ($isValidDropTarget) {\n return theme.colors.primary100;\n }\n\n return $isActive ? theme.colors.primary100 : theme.colors.neutral100;\n }};\n }\n\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.colors.primary600};\n outline-offset: -2px;\n }\n`;\n\nconst TreeRow = styled(Flex)<{\n $isValidDropTarget?: boolean;\n $isInvalidDropCursor?: boolean;\n $isMovePending?: boolean;\n}>`\n cursor: ${({ $isMovePending, $isInvalidDropCursor }) => {\n if ($isMovePending) {\n return 'wait';\n }\n\n return $isInvalidDropCursor ? 'not-allowed' : 'default';\n }};\n pointer-events: ${({ $isMovePending }) => ($isMovePending ? 'none' : 'auto')};\n border-radius: ${({ theme }) => theme.borderRadius};\n\n ${({ $isValidDropTarget, theme }) =>\n $isValidDropTarget &&\n css`\n background: ${theme.colors.primary100};\n outline: 1px dashed ${theme.colors.primary600};\n outline-offset: -1px;\n `}\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * useExpandedFolders — local expand/collapse state\n * -----------------------------------------------------------------------------------------------*/\n\nconst findAncestorIds = (\n nodes: FolderNode[],\n targetId: number,\n trail: number[] = []\n): number[] | null => {\n for (const node of nodes) {\n if (node.id === targetId) {\n return trail;\n }\n\n if (node.children?.length) {\n const nextTrail = node.id != null ? [...trail, node.id] : trail;\n const found = findAncestorIds(node.children, targetId, nextTrail);\n if (found !== null) {\n return found;\n }\n }\n }\n\n return null;\n};\n\nconst useExpandedFolders = (folderStructure: FolderNode[], currentFolderId: number | null) => {\n const [expandedIds, setExpandedIds] = useState<Set<number>>(() => new Set());\n\n useEffect(() => {\n if (currentFolderId == null) {\n return;\n }\n\n const ancestors = findAncestorIds(folderStructure, currentFolderId);\n if (!ancestors || ancestors.length === 0) {\n return;\n }\n\n setExpandedIds((prev) => {\n const next = new Set(prev);\n let changed = false;\n for (const id of ancestors) {\n if (!next.has(id)) {\n next.add(id);\n changed = true;\n }\n }\n return changed ? next : prev;\n });\n }, [folderStructure, currentFolderId]);\n\n const toggleExpanded = useCallback((id: number) => {\n setExpandedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) {\n next.delete(id);\n } else {\n next.add(id);\n }\n return next;\n });\n }, []);\n\n const expandFolder = useCallback((id: number) => {\n setExpandedIds((prev) => {\n if (prev.has(id)) {\n return prev;\n }\n\n const next = new Set(prev);\n next.add(id);\n return next;\n });\n }, []);\n\n const isExpanded = useCallback((id: number) => expandedIds.has(id), [expandedIds]);\n\n return { isExpanded, toggleExpanded, expandFolder };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NavList — unstyled list for tree rows\n * -----------------------------------------------------------------------------------------------*/\n\nconst NavList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* Grid rather than block, and load-bearing despite rendering a single column:\n a minmax(0, 1fr) track contributes a minimum of 0, which is what stops each\n row propagating the min-content width of its own label.\n\n Folder names ellipsize, and text-overflow needs white-space: nowrap — so a\n label's min-content width is the entire name, and no box lays out narrower\n than its min-content. In block flow that floor travels up to the SubNav\n ScrollArea, which widens the rail and shows a horizontal scrollbar instead of\n truncating the name. Nesting makes it worse: the indent is spent before the\n label is measured, so shorter names trigger it the deeper you go.\n\n Measured in Chromium — dropping either declaration brings the scrollbar\n back, and neither min-width nor overflow on the row is a substitute. */\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * FolderTreeItem — single tree row (internal)\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDENT_PER_LEVEL_REM = 1.6;\n\n/**\n * A leaf's chevron is present only to keep the folder names aligned, so it\n * should read as absent. The design system's disabled state is built for real\n * controls — a filled, bordered pill — which draws more attention than the\n * enabled chevron next to it. Doubled selector to outrank that rule.\n */\nconst ChevronButton = styled(IconButton)`\n &&[aria-disabled='true'] {\n background: transparent;\n border-color: transparent;\n opacity: 0.3;\n }\n`;\n\nconst RotatingChevron = styled(ChevronDown)<{ $expanded: boolean }>`\n transform: rotate(${({ $expanded }) => ($expanded ? '0deg' : '-90deg')});\n transition: transform 0.2s ease;\n`;\n\ninterface FolderTreeItemProps {\n node: FolderNode;\n level: number;\n currentFolderId: number | null;\n showActiveFolder: boolean;\n isExpanded: (id: number) => boolean;\n onToggle: (id: number) => void;\n onExpand: (id: number) => void;\n onSelect: (folderId: number) => void;\n isMovePending: boolean;\n}\n\ninterface FolderTreeItemInnerProps extends Omit<FolderTreeItemProps, 'node'> {\n id: number;\n name: string;\n folderChildren: FolderNode[];\n}\n\nconst FolderTreeItemInner = ({\n id,\n name,\n folderChildren,\n level,\n currentFolderId,\n showActiveFolder,\n isExpanded,\n onToggle,\n onExpand,\n onSelect,\n isMovePending,\n}: FolderTreeItemInnerProps) => {\n const { formatMessage } = useIntl();\n const hasChildren = folderChildren.length > 0;\n const isFolderExpanded = isExpanded(id);\n const isActive = showActiveFolder && currentFolderId === id;\n\n const {\n droppable: { setNodeRef },\n isOver,\n showValidDropHighlight,\n showInvalidDropCursor,\n } = useFolderTreeDroppable({ id, name });\n\n const handleExpand = useCallback(() => onExpand(id), [id, onExpand]);\n\n useSpringLoadedExpand({\n isOver,\n canExpand: hasChildren && !isFolderExpanded,\n onExpand: handleExpand,\n });\n\n // TODO: full `role=\"tree\"` + arrow-key treeview navigation before revamp GA\n // if an accessibility audit requires it (v1 is button rows only).\n return (\n <li>\n <TreeRow\n ref={setNodeRef}\n alignItems=\"center\"\n paddingLeft={`${level * INDENT_PER_LEVEL_REM}rem`}\n gap={1}\n $isValidDropTarget={showValidDropHighlight}\n $isInvalidDropCursor={showInvalidDropCursor}\n $isMovePending={isMovePending}\n >\n <ChevronButton\n label={\n hasChildren\n ? formatMessage(\n {\n id: getTranslationKey(\n isFolderExpanded ? 'sidebar.tree.collapse' : 'sidebar.tree.expand'\n ),\n defaultMessage: isFolderExpanded ? 'Collapse {name}' : 'Expand {name}',\n },\n { name }\n )\n : formatMessage(\n {\n id: getTranslationKey('sidebar.tree.no-subfolders'),\n defaultMessage: 'The folder {name} has no subfolders',\n },\n { name }\n )\n }\n disabled={!hasChildren}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation();\n onToggle(id);\n }}\n variant=\"ghost\"\n withTooltip={false}\n aria-expanded={hasChildren ? isFolderExpanded : undefined}\n >\n <RotatingChevron $expanded={isFolderExpanded} fill=\"neutral500\" />\n </ChevronButton>\n\n <Box flex=\"1\" minWidth={0}>\n <RowButton\n type=\"button\"\n $isActive={isActive}\n $isValidDropTarget={showValidDropHighlight}\n $isInvalidDropCursor={showInvalidDropCursor}\n $isMovePending={isMovePending}\n aria-current={isActive ? 'page' : undefined}\n onClick={() => onSelect(id)}\n data-testid={`folder-tree-node-${id}`}\n data-folder-id={id}\n >\n <TruncatedText variant=\"omega\" fontWeight={isActive ? 'semiBold' : 'regular'}>\n {name}\n </TruncatedText>\n </RowButton>\n </Box>\n </TreeRow>\n\n {hasChildren && isFolderExpanded && (\n <NavList>\n {folderChildren.map((child) => (\n <FolderTreeItem\n key={child.id ?? child.name}\n node={child}\n level={level + 1}\n currentFolderId={currentFolderId}\n showActiveFolder={showActiveFolder}\n isExpanded={isExpanded}\n onToggle={onToggle}\n onExpand={onExpand}\n onSelect={onSelect}\n isMovePending={isMovePending}\n />\n ))}\n </NavList>\n )}\n </li>\n );\n};\n\nconst FolderTreeItem = ({ node, ...props }: FolderTreeItemProps) => {\n if (node.id == null) {\n return null;\n }\n\n return (\n <FolderTreeItemInner\n {...props}\n id={node.id}\n name={node.name ?? ''}\n folderChildren={node.children ?? []}\n />\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FolderTree — public sidebar component\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FolderTreeProps {\n currentFolderId: number | null;\n /**\n * Set to `false` while a global asset search is active: the results span the\n * whole library, so highlighting one folder would misrepresent them.\n * */\n showActiveFolder?: boolean;\n onSelectFolder: (folderId: number | null) => void;\n}\n\n/**\n * Left-rail navigation for the Media Library. Fetches folder structure internally\n * and renders:\n *\n * 1. A \"Media library\" title\n * 2. A filter input that prunes the tree to matching destinations\n * 3. A \"Home\" entry that clears the folder query param\n * 4. A \"FOLDERS\" section header\n * 5. The folder tree itself\n *\n * The filter is purely local: it never touches the URL and never affects the\n * asset list, which has its own independent search in the content toolbar.\n *\n * Presentational with respect to routing — navigation is delegated to the parent\n * via `onSelectFolder` so the URL stays the single source of truth (see\n * `useFolderNavigation`).\n */\nexport const FolderTree = ({\n currentFolderId,\n showActiveFolder = true,\n onSelectFolder,\n}: FolderTreeProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure = [], isLoading, isError } = useGetFolderStructureQuery();\n const { isExpanded, toggleExpanded, expandFolder } = useExpandedFolders(\n folderStructure,\n currentFolderId\n );\n const { isMovePending } = useAssetsDndOptional() ?? { isMovePending: false };\n\n const isHomeActive = showActiveFolder && currentFolderId == null;\n const homeLabel = formatMessage({\n id: getTranslationKey('sidebar.home'),\n defaultMessage: 'Home',\n });\n\n const {\n droppable: { setNodeRef: setHomeDropRef },\n showValidDropHighlight: showHomeValidDropHighlight,\n showInvalidDropCursor: showHomeInvalidDropCursor,\n } = useFolderTreeDroppable({ id: null, name: homeLabel });\n\n return (\n <SubNav.Main\n aria-label={formatMessage({\n id: getTranslationKey('sidebar.tree.aria-label'),\n defaultMessage: 'Media library folders',\n })}\n >\n <SubNav.Header\n label={formatMessage({\n id: getTranslationKey('sidebar.title'),\n defaultMessage: 'Media library',\n })}\n />\n\n <SubNav.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1} padding={3}>\n <RowButton\n ref={setHomeDropRef}\n type=\"button\"\n $isActive={isHomeActive}\n $isValidDropTarget={showHomeValidDropHighlight}\n $isInvalidDropCursor={showHomeInvalidDropCursor}\n $isMovePending={isMovePending}\n aria-current={isHomeActive ? 'page' : undefined}\n onClick={() => onSelectFolder(null)}\n data-testid=\"folder-tree-home\"\n >\n <House aria-hidden width=\"1.6rem\" height=\"1.6rem\" />\n <Typography variant=\"omega\" fontWeight={isHomeActive ? 'semiBold' : 'regular'}>\n {homeLabel}\n </Typography>\n </RowButton>\n\n <Box marginTop={4}>\n <Flex\n alignItems=\"center\"\n gap={1}\n paddingTop={1}\n paddingBottom={1}\n paddingLeft={2}\n paddingRight={2}\n marginBottom={2}\n >\n <FolderIcon aria-hidden width=\"1.6rem\" height=\"1.6rem\" fill=\"neutral500\" />\n <Typography\n variant=\"sigma\"\n textColor=\"neutral600\"\n style={{ textTransform: 'uppercase' }}\n >\n {formatMessage({\n id: getTranslationKey('sidebar.folders'),\n defaultMessage: 'Folders',\n })}\n </Typography>\n </Flex>\n\n {isLoading ? (\n // TODO: revisit loading state before revamp GA\n <Flex justifyContent=\"center\" padding={1} paddingTop={2}>\n <Loader>\n {formatMessage({\n id: getTranslationKey('sidebar.tree.loading'),\n defaultMessage: 'Loading folders...',\n })}\n </Loader>\n </Flex>\n ) : isError ? (\n // TODO: revisit error state before revamp GA\n <Box padding={1} paddingTop={2}>\n <Typography variant=\"pi\" textColor=\"danger600\">\n {formatMessage({\n id: getTranslationKey('sidebar.tree.error'),\n defaultMessage: 'Could not load folders.',\n })}\n </Typography>\n </Box>\n ) : folderStructure.length === 0 ? (\n // TODO: revisit empty state before revamp GA\n <Box padding={1} paddingTop={2}>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: getTranslationKey('sidebar.tree.empty'),\n defaultMessage: 'No folders yet',\n })}\n </Typography>\n </Box>\n ) : (\n <NavList>\n {folderStructure.map((node) => (\n <FolderTreeItem\n key={node.id ?? node.name}\n node={node}\n level={0}\n currentFolderId={currentFolderId}\n showActiveFolder={showActiveFolder}\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n onExpand={expandFolder}\n onSelect={onSelectFolder}\n isMovePending={isMovePending}\n />\n ))}\n </NavList>\n )}\n </Box>\n </Flex>\n </SubNav.Content>\n </SubNav.Main>\n );\n};\n"],"names":["RowButton","styled","button","theme","spaces","$isActive","$isValidDropTarget","colors","primary100","primary700","neutral800","borderRadius","$isMovePending","$isInvalidDropCursor","css","primary600","neutral100","TreeRow","Flex","findAncestorIds","nodes","targetId","trail","node","id","children","length","nextTrail","found","useExpandedFolders","folderStructure","currentFolderId","expandedIds","setExpandedIds","useState","Set","useEffect","ancestors","prev","next","changed","has","add","toggleExpanded","useCallback","delete","expandFolder","isExpanded","NavList","ul","INDENT_PER_LEVEL_REM","ChevronButton","IconButton","RotatingChevron","ChevronDown","$expanded","FolderTreeItemInner","name","folderChildren","level","showActiveFolder","onToggle","onExpand","onSelect","isMovePending","formatMessage","useIntl","hasChildren","isFolderExpanded","isActive","droppable","setNodeRef","isOver","showValidDropHighlight","showInvalidDropCursor","useFolderTreeDroppable","handleExpand","useSpringLoadedExpand","canExpand","_jsxs","li","ref","alignItems","paddingLeft","gap","_jsx","label","getTranslationKey","defaultMessage","disabled","onClick","event","stopPropagation","variant","withTooltip","aria-expanded","undefined","fill","Box","flex","minWidth","type","aria-current","data-testid","data-folder-id","TruncatedText","fontWeight","map","child","FolderTreeItem","props","FolderTree","onSelectFolder","data","isLoading","isError","useGetFolderStructureQuery","useAssetsDndOptional","isHomeActive","homeLabel","setHomeDropRef","showHomeValidDropHighlight","showHomeInvalidDropCursor","SubNav","Main","aria-label","Header","Content","direction","padding","House","aria-hidden","width","height","Typography","marginTop","paddingTop","paddingBottom","paddingRight","marginBottom","FolderIcon","textColor","style","textTransform","justifyContent","Loader"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FolderTree.mjs","sources":["../../../../../../admin/src/pages/Assets/components/FolderTree/FolderTree.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { SubNav } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, IconButton, Loader, Typography } from '@strapi/design-system';\nimport { ChevronDown, Folder as FolderIcon, House } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { TruncatedText } from '../../../../components/TruncatedText';\nimport { useGetFolderStructureQuery } from '../../../../services/folders';\nimport { getTranslationKey } from '../../../../utils/translations';\nimport { useAssetsDndOptional } from '../Dnd/AssetsDndProvider';\nimport { useFolderTreeDroppable } from '../Dnd/useFolderTreeDroppable';\n\nimport { useSpringLoadedExpand } from './useSpringLoadedExpand';\n\nimport type { FolderNode } from '../../../../../../shared/contracts/folders';\n\n/* -------------------------------------------------------------------------------------------------\n * RowButton — shared row styling aligned with admin SubNav.Link\n * -----------------------------------------------------------------------------------------------*/\n\nconst RowButton = styled.button<{\n $isActive: boolean;\n $isValidDropTarget?: boolean;\n $isInvalidDropCursor?: boolean;\n $isMovePending?: boolean;\n}>`\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[2]};\n width: 100%;\n min-height: 3.2rem;\n padding: ${({ theme }) => `${theme.spaces[1]} ${theme.spaces[2]}`};\n border: 0;\n background: ${({ $isActive, $isValidDropTarget, theme }) => {\n if ($isValidDropTarget) {\n return theme.colors.primary100;\n }\n\n return $isActive ? theme.colors.primary100 : 'transparent';\n }};\n color: ${({ $isActive, theme }) =>\n $isActive ? theme.colors.primary700 : theme.colors.neutral800};\n border-radius: ${({ theme }) => theme.borderRadius};\n cursor: ${({ $isMovePending, $isInvalidDropCursor }) => {\n if ($isMovePending) {\n return 'wait';\n }\n\n return $isInvalidDropCursor ? 'not-allowed' : 'pointer';\n }};\n text-align: left;\n font: inherit;\n pointer-events: ${({ $isMovePending }) => ($isMovePending ? 'none' : 'auto')};\n\n ${({ $isValidDropTarget, theme }) =>\n $isValidDropTarget &&\n css`\n outline: 1px dashed ${theme.colors.primary600};\n outline-offset: -1px;\n `}\n\n &:hover {\n background: ${({ $isActive, $isValidDropTarget, theme }) => {\n if ($isValidDropTarget) {\n return theme.colors.primary100;\n }\n\n return $isActive ? theme.colors.primary100 : theme.colors.neutral100;\n }};\n }\n\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.colors.primary600};\n outline-offset: -2px;\n }\n`;\n\nconst TreeRow = styled(Flex)<{\n $isValidDropTarget?: boolean;\n $isInvalidDropCursor?: boolean;\n $isMovePending?: boolean;\n}>`\n cursor: ${({ $isMovePending, $isInvalidDropCursor }) => {\n if ($isMovePending) {\n return 'wait';\n }\n\n return $isInvalidDropCursor ? 'not-allowed' : 'default';\n }};\n pointer-events: ${({ $isMovePending }) => ($isMovePending ? 'none' : 'auto')};\n border-radius: ${({ theme }) => theme.borderRadius};\n\n ${({ $isValidDropTarget, theme }) =>\n $isValidDropTarget &&\n css`\n background: ${theme.colors.primary100};\n outline: 1px dashed ${theme.colors.primary600};\n outline-offset: -1px;\n `}\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * useExpandedFolders — local expand/collapse state\n * -----------------------------------------------------------------------------------------------*/\n\nconst findAncestorIds = (\n nodes: FolderNode[],\n targetId: number,\n trail: number[] = []\n): number[] | null => {\n for (const node of nodes) {\n if (node.id === targetId) {\n return trail;\n }\n\n if (node.children?.length) {\n const nextTrail = node.id != null ? [...trail, node.id] : trail;\n const found = findAncestorIds(node.children, targetId, nextTrail);\n if (found !== null) {\n return found;\n }\n }\n }\n\n return null;\n};\n\nconst useExpandedFolders = (folderStructure: FolderNode[], currentFolderId: number | null) => {\n const [expandedIds, setExpandedIds] = useState<Set<number>>(() => new Set());\n\n useEffect(() => {\n if (currentFolderId == null) {\n return;\n }\n\n const ancestors = findAncestorIds(folderStructure, currentFolderId);\n if (!ancestors || ancestors.length === 0) {\n return;\n }\n\n setExpandedIds((prev) => {\n const next = new Set(prev);\n let changed = false;\n for (const id of ancestors) {\n if (!next.has(id)) {\n next.add(id);\n changed = true;\n }\n }\n return changed ? next : prev;\n });\n }, [folderStructure, currentFolderId]);\n\n const toggleExpanded = useCallback((id: number) => {\n setExpandedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) {\n next.delete(id);\n } else {\n next.add(id);\n }\n return next;\n });\n }, []);\n\n const expandFolder = useCallback((id: number) => {\n setExpandedIds((prev) => {\n if (prev.has(id)) {\n return prev;\n }\n\n const next = new Set(prev);\n next.add(id);\n return next;\n });\n }, []);\n\n const isExpanded = useCallback((id: number) => expandedIds.has(id), [expandedIds]);\n\n return { isExpanded, toggleExpanded, expandFolder };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NavList — unstyled list for tree rows\n * -----------------------------------------------------------------------------------------------*/\n\nconst NavList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* Grid rather than block, and load-bearing despite rendering a single column:\n a minmax(0, 1fr) track contributes a minimum of 0, which is what stops each\n row propagating the min-content width of its own label.\n\n Folder names ellipsize, and text-overflow needs white-space: nowrap — so a\n label's min-content width is the entire name, and no box lays out narrower\n than its min-content. In block flow that floor travels up to the SubNav\n ScrollArea, which widens the rail and shows a horizontal scrollbar instead of\n truncating the name. Nesting makes it worse: the indent is spent before the\n label is measured, so shorter names trigger it the deeper you go.\n\n Measured in Chromium — dropping either declaration brings the scrollbar\n back, and neither min-width nor overflow on the row is a substitute. */\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * FolderTreeItem — single tree row (internal)\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDENT_PER_LEVEL_REM = 1.6;\n\n/**\n * A leaf's chevron is present only to keep the folder names aligned, so it\n * should read as absent. The design system's disabled state is built for real\n * controls — a filled, bordered pill — which draws more attention than the\n * enabled chevron next to it. Doubled selector to outrank that rule.\n */\nconst ChevronButton = styled(IconButton)`\n &&[aria-disabled='true'] {\n background: transparent;\n border-color: transparent;\n opacity: 0.3;\n }\n`;\n\nconst RotatingChevron = styled(ChevronDown)<{ $expanded: boolean }>`\n transform: rotate(${({ $expanded }) => ($expanded ? '0deg' : '-90deg')});\n transition: transform 0.2s ease;\n`;\n\ninterface FolderTreeItemProps {\n node: FolderNode;\n level: number;\n currentFolderId: number | null;\n showActiveFolder: boolean;\n isExpanded: (id: number) => boolean;\n onToggle: (id: number) => void;\n onExpand: (id: number) => void;\n onSelect: (folderId: number) => void;\n isMovePending: boolean;\n}\n\ninterface FolderTreeItemInnerProps extends Omit<FolderTreeItemProps, 'node'> {\n id: number;\n name: string;\n folderChildren: FolderNode[];\n}\n\nconst FolderTreeItemInner = ({\n id,\n name,\n folderChildren,\n level,\n currentFolderId,\n showActiveFolder,\n isExpanded,\n onToggle,\n onExpand,\n onSelect,\n isMovePending,\n}: FolderTreeItemInnerProps) => {\n const { formatMessage } = useIntl();\n const hasChildren = folderChildren.length > 0;\n const isFolderExpanded = isExpanded(id);\n const isActive = showActiveFolder && currentFolderId === id;\n\n const {\n droppable: { setNodeRef },\n isOver,\n showValidDropHighlight,\n showInvalidDropCursor,\n } = useFolderTreeDroppable({ id, name });\n\n const handleExpand = useCallback(() => onExpand(id), [id, onExpand]);\n\n useSpringLoadedExpand({\n isOver,\n canExpand: hasChildren && !isFolderExpanded,\n onExpand: handleExpand,\n });\n\n // TODO: full `role=\"tree\"` + arrow-key treeview navigation before revamp GA\n // if an accessibility audit requires it (v1 is button rows only).\n return (\n <li>\n <TreeRow\n ref={setNodeRef}\n alignItems=\"center\"\n paddingLeft={`${level * INDENT_PER_LEVEL_REM}rem`}\n gap={1}\n $isValidDropTarget={showValidDropHighlight}\n $isInvalidDropCursor={showInvalidDropCursor}\n $isMovePending={isMovePending}\n >\n <ChevronButton\n label={\n hasChildren\n ? formatMessage(\n {\n id: getTranslationKey(\n isFolderExpanded ? 'sidebar.tree.collapse' : 'sidebar.tree.expand'\n ),\n defaultMessage: isFolderExpanded ? 'Collapse {name}' : 'Expand {name}',\n },\n { name }\n )\n : formatMessage(\n {\n id: getTranslationKey('sidebar.tree.no-subfolders'),\n defaultMessage: 'The folder {name} has no subfolders',\n },\n { name }\n )\n }\n disabled={!hasChildren}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation();\n onToggle(id);\n }}\n variant=\"ghost\"\n withTooltip={false}\n aria-expanded={hasChildren ? isFolderExpanded : undefined}\n >\n <RotatingChevron $expanded={isFolderExpanded} fill=\"neutral500\" />\n </ChevronButton>\n\n <Box flex=\"1\" minWidth={0}>\n <RowButton\n type=\"button\"\n $isActive={isActive}\n $isValidDropTarget={showValidDropHighlight}\n $isInvalidDropCursor={showInvalidDropCursor}\n $isMovePending={isMovePending}\n aria-current={isActive ? 'page' : undefined}\n onClick={() => onSelect(id)}\n data-testid={`folder-tree-node-${id}`}\n data-folder-id={id}\n >\n <TruncatedText variant=\"omega\" fontWeight={isActive ? 'semiBold' : 'regular'}>\n {name}\n </TruncatedText>\n </RowButton>\n </Box>\n </TreeRow>\n\n {hasChildren && isFolderExpanded && (\n <NavList>\n {folderChildren.map((child) => (\n <FolderTreeItem\n key={child.id ?? child.name}\n node={child}\n level={level + 1}\n currentFolderId={currentFolderId}\n showActiveFolder={showActiveFolder}\n isExpanded={isExpanded}\n onToggle={onToggle}\n onExpand={onExpand}\n onSelect={onSelect}\n isMovePending={isMovePending}\n />\n ))}\n </NavList>\n )}\n </li>\n );\n};\n\nconst FolderTreeItem = ({ node, ...props }: FolderTreeItemProps) => {\n if (node.id == null) {\n return null;\n }\n\n return (\n <FolderTreeItemInner\n {...props}\n id={node.id}\n name={node.name ?? ''}\n folderChildren={node.children ?? []}\n />\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FolderTree — public sidebar component\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FolderTreeProps {\n currentFolderId: number | null;\n /**\n * Set to `false` while a global asset search is active: the results span the\n * whole library, so highlighting one folder would misrepresent them.\n * */\n showActiveFolder?: boolean;\n onSelectFolder: (folderId: number | null) => void;\n}\n\n/**\n * Left-rail navigation for the Media Library. Fetches folder structure internally\n * and renders:\n *\n * 1. A \"Media library\" title\n * 2. A filter input that prunes the tree to matching destinations\n * 3. A \"Home\" entry that clears the folder query param\n * 4. A \"FOLDERS\" section header\n * 5. The folder tree itself\n *\n * The filter is purely local: it never touches the URL and never affects the\n * asset list, which has its own independent search in the content toolbar.\n *\n * Presentational with respect to routing — navigation is delegated to the parent\n * via `onSelectFolder` so the URL stays the single source of truth (see\n * `useFolderNavigation`).\n */\nexport const FolderTree = ({\n currentFolderId,\n showActiveFolder = true,\n onSelectFolder,\n}: FolderTreeProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure = [], isLoading, isError } = useGetFolderStructureQuery();\n const { isExpanded, toggleExpanded, expandFolder } = useExpandedFolders(\n folderStructure,\n currentFolderId\n );\n const { isMovePending } = useAssetsDndOptional() ?? { isMovePending: false };\n\n const isHomeActive = showActiveFolder && currentFolderId == null;\n const homeLabel = formatMessage({\n id: getTranslationKey('sidebar.home'),\n defaultMessage: 'Home',\n });\n\n const {\n droppable: { setNodeRef: setHomeDropRef },\n showValidDropHighlight: showHomeValidDropHighlight,\n showInvalidDropCursor: showHomeInvalidDropCursor,\n } = useFolderTreeDroppable({ id: null, name: homeLabel });\n\n return (\n <SubNav.Main\n aria-label={formatMessage({\n id: getTranslationKey('sidebar.tree.aria-label'),\n defaultMessage: 'Media library folders',\n })}\n >\n <SubNav.Header\n label={formatMessage({\n id: getTranslationKey('sidebar.title'),\n defaultMessage: 'Media library',\n })}\n />\n\n <SubNav.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1} padding={3}>\n <RowButton\n ref={setHomeDropRef}\n type=\"button\"\n $isActive={isHomeActive}\n $isValidDropTarget={showHomeValidDropHighlight}\n $isInvalidDropCursor={showHomeInvalidDropCursor}\n $isMovePending={isMovePending}\n aria-current={isHomeActive ? 'page' : undefined}\n onClick={() => onSelectFolder(null)}\n data-testid=\"folder-tree-home\"\n >\n <House aria-hidden width=\"1.6rem\" height=\"1.6rem\" />\n <Typography variant=\"omega\" fontWeight={isHomeActive ? 'semiBold' : 'regular'}>\n {homeLabel}\n </Typography>\n </RowButton>\n\n <Box marginTop={4}>\n <Flex\n alignItems=\"center\"\n gap={1}\n paddingTop={1}\n paddingBottom={1}\n paddingLeft={2}\n paddingRight={2}\n marginBottom={2}\n >\n <FolderIcon aria-hidden width=\"1.6rem\" height=\"1.6rem\" fill=\"neutral500\" />\n <Typography\n variant=\"sigma\"\n textColor=\"neutral600\"\n style={{ textTransform: 'uppercase' }}\n >\n {formatMessage({\n id: getTranslationKey('sidebar.folders'),\n defaultMessage: 'Folders',\n })}\n </Typography>\n </Flex>\n\n {isLoading ? (\n // TODO: revisit loading state before revamp GA\n <Flex justifyContent=\"center\" padding={1} paddingTop={2}>\n <Loader>\n {formatMessage({\n id: getTranslationKey('sidebar.tree.loading'),\n defaultMessage: 'Loading folders...',\n })}\n </Loader>\n </Flex>\n ) : isError ? (\n // TODO: revisit error state before revamp GA\n <Box padding={1} paddingTop={2}>\n <Typography variant=\"pi\" textColor=\"danger600\">\n {formatMessage({\n id: getTranslationKey('sidebar.tree.error'),\n defaultMessage: 'Could not load folders.',\n })}\n </Typography>\n </Box>\n ) : folderStructure.length === 0 ? (\n // TODO: revisit empty state before revamp GA\n <Box padding={1} paddingTop={2}>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: getTranslationKey('sidebar.tree.empty'),\n defaultMessage: 'No folders yet',\n })}\n </Typography>\n </Box>\n ) : (\n <NavList>\n {folderStructure.map((node) => (\n <FolderTreeItem\n key={node.id ?? node.name}\n node={node}\n level={0}\n currentFolderId={currentFolderId}\n showActiveFolder={showActiveFolder}\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n onExpand={expandFolder}\n onSelect={onSelectFolder}\n isMovePending={isMovePending}\n />\n ))}\n </NavList>\n )}\n </Box>\n </Flex>\n </SubNav.Content>\n </SubNav.Main>\n );\n};\n"],"names":["RowButton","styled","button","theme","spaces","$isActive","$isValidDropTarget","colors","primary100","primary700","neutral800","borderRadius","$isMovePending","$isInvalidDropCursor","css","primary600","neutral100","TreeRow","Flex","findAncestorIds","nodes","targetId","trail","node","id","children","length","nextTrail","found","useExpandedFolders","folderStructure","currentFolderId","expandedIds","setExpandedIds","useState","Set","useEffect","ancestors","prev","next","changed","has","add","toggleExpanded","useCallback","delete","expandFolder","isExpanded","NavList","ul","INDENT_PER_LEVEL_REM","ChevronButton","IconButton","RotatingChevron","ChevronDown","$expanded","FolderTreeItemInner","name","folderChildren","level","showActiveFolder","onToggle","onExpand","onSelect","isMovePending","formatMessage","useIntl","hasChildren","isFolderExpanded","isActive","droppable","setNodeRef","isOver","showValidDropHighlight","showInvalidDropCursor","useFolderTreeDroppable","handleExpand","useSpringLoadedExpand","canExpand","_jsxs","li","ref","alignItems","paddingLeft","gap","_jsx","label","getTranslationKey","defaultMessage","disabled","onClick","event","stopPropagation","variant","withTooltip","aria-expanded","undefined","fill","Box","flex","minWidth","type","aria-current","data-testid","data-folder-id","TruncatedText","fontWeight","map","child","FolderTreeItem","props","FolderTree","onSelectFolder","data","isLoading","isError","useGetFolderStructureQuery","useAssetsDndOptional","isHomeActive","homeLabel","setHomeDropRef","showHomeValidDropHighlight","showHomeInvalidDropCursor","SubNav","Main","aria-label","Header","Content","direction","padding","House","aria-hidden","width","height","Typography","marginTop","paddingTop","paddingBottom","paddingRight","marginBottom","FolderIcon","textColor","style","textTransform","justifyContent","Loader"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpringLoadedExpand.js","sources":["../../../../../../admin/src/pages/Assets/components/FolderTree/useSpringLoadedExpand.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nexport const SPRING_LOAD_DELAY_MS = 600;\n\nexport const useSpringLoadedExpand = ({\n isOver,\n canExpand,\n onExpand,\n}: {\n isOver: boolean;\n canExpand: boolean;\n onExpand: () => void;\n}) => {\n useEffect(() => {\n if (!isOver || !canExpand) {\n return;\n }\n\n const timer = setTimeout(onExpand, SPRING_LOAD_DELAY_MS);\n\n return () => clearTimeout(timer);\n }, [isOver, canExpand, onExpand]);\n};\n"],"names":["SPRING_LOAD_DELAY_MS","useSpringLoadedExpand","isOver","canExpand","onExpand","useEffect","timer","setTimeout","clearTimeout"],"mappings":";;;;AAEO,MAAMA,uBAAuB;AAE7B,MAAMC,wBAAwB,CAAC,EACpCC,MAAM,EACNC,SAAS,EACTC,QAAQ,EAKT,GAAA;IACCC,eAAAA,CAAU,IAAA;QACR,IAAI,CAACH,MAAAA,IAAU,CAACC,SAAAA,EAAW;AACzB,YAAA;AACF,QAAA;QAEA,MAAMG,KAAAA,GAAQC,WAAWH,QAAAA,EAAUJ,oBAAAA,CAAAA;AAEnC,QAAA,OAAO,IAAMQ,YAAAA,CAAaF,KAAAA,CAAAA;IAC5B,CAAA,EAAG;AAACJ,QAAAA,MAAAA;AAAQC,QAAAA,SAAAA;AAAWC,QAAAA;AAAS,KAAA,CAAA;AAClC;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpringLoadedExpand.mjs","sources":["../../../../../../admin/src/pages/Assets/components/FolderTree/useSpringLoadedExpand.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nexport const SPRING_LOAD_DELAY_MS = 600;\n\nexport const useSpringLoadedExpand = ({\n isOver,\n canExpand,\n onExpand,\n}: {\n isOver: boolean;\n canExpand: boolean;\n onExpand: () => void;\n}) => {\n useEffect(() => {\n if (!isOver || !canExpand) {\n return;\n }\n\n const timer = setTimeout(onExpand, SPRING_LOAD_DELAY_MS);\n\n return () => clearTimeout(timer);\n }, [isOver, canExpand, onExpand]);\n};\n"],"names":["SPRING_LOAD_DELAY_MS","useSpringLoadedExpand","isOver","canExpand","onExpand","useEffect","timer","setTimeout","clearTimeout"],"mappings":";;AAEO,MAAMA,uBAAuB;AAE7B,MAAMC,wBAAwB,CAAC,EACpCC,MAAM,EACNC,SAAS,EACTC,QAAQ,EAKT,GAAA;IACCC,SAAAA,CAAU,IAAA;QACR,IAAI,CAACH,MAAAA,IAAU,CAACC,SAAAA,EAAW;AACzB,YAAA;AACF,QAAA;QAEA,MAAMG,KAAAA,GAAQC,WAAWH,QAAAA,EAAUJ,oBAAAA,CAAAA;AAEnC,QAAA,OAAO,IAAMQ,YAAAA,CAAaF,KAAAA,CAAAA;IAC5B,CAAA,EAAG;AAACJ,QAAAA,MAAAA;AAAQC,QAAAA,SAAAA;AAAWC,QAAAA;AAAS,KAAA,CAAA;AAClC;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImportFromUrlDialog.js","sources":["../../../../../admin/src/pages/Assets/components/ImportFromUrlDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Field, Modal, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { validateUrls } from '../../../utils/files';\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface ImportFromUrlDialogProps {\n open: boolean;\n onClose: () => void;\n onUpload: (urls: string[]) => Promise<void>;\n}\n\nexport const ImportFromUrlDialog = ({ open, onClose, onUpload }: ImportFromUrlDialogProps) => {\n const { formatMessage } = useIntl();\n const [urls, setUrls] = React.useState('');\n const [error, setError] = React.useState<string | null>(null);\n\n const handleClose = () => {\n setUrls('');\n setError(null);\n onClose();\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n // Validate URLs\n const { urls: validUrls, error: validationError } = validateUrls(urls);\n if (validationError) {\n setError(validationError);\n return;\n }\n\n setError(null);\n\n // Close dialog and let the mutation handle fetching and uploading\n handleClose();\n\n // Pass URLs to mutation which handles fetching and upload progress\n await onUpload(validUrls);\n };\n\n return (\n <Modal.Root open={open} onOpenChange={(isOpen) => !isOpen && handleClose()}>\n <Modal.Content>\n <form onSubmit={handleSubmit}>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTranslationKey('modal.url.title'),\n defaultMessage: 'Import from URL',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Field.Root\n error={error || undefined}\n hint={formatMessage({\n id: getTranslationKey('input.url.description'),\n defaultMessage: 'Separate your URL links by a carriage return.',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTranslationKey('input.url.label'),\n defaultMessage: 'URL(s)',\n })}\n </Field.Label>\n <Textarea\n name=\"urls\"\n minHeight=\"unset\"\n rows={Math.min(urls.split('\\n').length, 7)}\n maxHeight=\"10.5rem\"\n placeholder={formatMessage({\n id: getTranslationKey('input.url.placeholder'),\n defaultMessage: 'Empty',\n })}\n value={urls}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setUrls(e.target.value);\n setError(null);\n }}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Button variant=\"tertiary\" onClick={handleClose}>\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: getTranslationKey('modal.url.upload'),\n defaultMessage: 'Upload',\n })}\n </Button>\n </Modal.Footer>\n </form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["ImportFromUrlDialog","open","onClose","onUpload","formatMessage","useIntl","urls","setUrls","React","useState","error","setError","handleClose","handleSubmit","e","preventDefault","validUrls","validationError","validateUrls","_jsx","Modal","Root","onOpenChange","isOpen","Content","_jsxs","form","onSubmit","Header","Title","id","getTranslationKey","defaultMessage","Body","Field","undefined","hint","Label","Textarea","name","minHeight","rows","Math","min","split","length","maxHeight","placeholder","value","onChange","target","Hint","Error","Footer","Button","variant","onClick","type"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImportFromUrlDialog.mjs","sources":["../../../../../admin/src/pages/Assets/components/ImportFromUrlDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Field, Modal, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { validateUrls } from '../../../utils/files';\nimport { getTranslationKey } from '../../../utils/translations';\n\ninterface ImportFromUrlDialogProps {\n open: boolean;\n onClose: () => void;\n onUpload: (urls: string[]) => Promise<void>;\n}\n\nexport const ImportFromUrlDialog = ({ open, onClose, onUpload }: ImportFromUrlDialogProps) => {\n const { formatMessage } = useIntl();\n const [urls, setUrls] = React.useState('');\n const [error, setError] = React.useState<string | null>(null);\n\n const handleClose = () => {\n setUrls('');\n setError(null);\n onClose();\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n // Validate URLs\n const { urls: validUrls, error: validationError } = validateUrls(urls);\n if (validationError) {\n setError(validationError);\n return;\n }\n\n setError(null);\n\n // Close dialog and let the mutation handle fetching and uploading\n handleClose();\n\n // Pass URLs to mutation which handles fetching and upload progress\n await onUpload(validUrls);\n };\n\n return (\n <Modal.Root open={open} onOpenChange={(isOpen) => !isOpen && handleClose()}>\n <Modal.Content>\n <form onSubmit={handleSubmit}>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTranslationKey('modal.url.title'),\n defaultMessage: 'Import from URL',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Field.Root\n error={error || undefined}\n hint={formatMessage({\n id: getTranslationKey('input.url.description'),\n defaultMessage: 'Separate your URL links by a carriage return.',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTranslationKey('input.url.label'),\n defaultMessage: 'URL(s)',\n })}\n </Field.Label>\n <Textarea\n name=\"urls\"\n minHeight=\"unset\"\n rows={Math.min(urls.split('\\n').length, 7)}\n maxHeight=\"10.5rem\"\n placeholder={formatMessage({\n id: getTranslationKey('input.url.placeholder'),\n defaultMessage: 'Empty',\n })}\n value={urls}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setUrls(e.target.value);\n setError(null);\n }}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Button variant=\"tertiary\" onClick={handleClose}>\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: getTranslationKey('modal.url.upload'),\n defaultMessage: 'Upload',\n })}\n </Button>\n </Modal.Footer>\n </form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["ImportFromUrlDialog","open","onClose","onUpload","formatMessage","useIntl","urls","setUrls","React","useState","error","setError","handleClose","handleSubmit","e","preventDefault","validUrls","validationError","validateUrls","_jsx","Modal","Root","onOpenChange","isOpen","Content","_jsxs","form","onSubmit","Header","Title","id","getTranslationKey","defaultMessage","Body","Field","undefined","hint","Label","Textarea","name","minHeight","rows","Math","min","split","length","maxHeight","placeholder","value","onChange","target","Hint","Error","Footer","Button","variant","onClick","type"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainAreaContextMenu.js","sources":["../../../../../admin/src/pages/Assets/components/MainAreaContextMenu.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, type CSSProperties } from 'react';\n\nimport { Menu } from '@strapi/design-system';\nimport { Files, Folder as FolderIcon, Link } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslationKey } from '../../../utils/translations';\n\nimport { ActionsMenuContent } from './ActionsMenuContent';\n\n/**\n * The admin layout marks the element that scrolls the main column. Listening on\n * it rather than a wrapper of our own is what makes the whole column part of the\n * hit area: it carries a responsive `padding-bottom` (16 / 24 / 40px) that no\n * descendant can cover, and that strip is exactly where a right-click \"below the\n * list\" lands.\n */\nconst SCROLL_ROOT_SELECTOR = '[data-strapi-main-content]';\n\n/**\n * Subtrees that keep the browser's own context menu instead of opening the\n * create menu.\n *\n * `data-native-context-menu` is the explicit opt-out carried by the list items\n * themselves (asset cards, folder cards, table rows) and by the bulk actions\n * bar — right-clicking one of those must behave exactly as it does today. The\n * rest are the generic cases where the native menu is the useful one: links,\n * buttons and anything the user can type into or select text in.\n *\n * `thead` covers the table's header row, which is chrome rather than empty\n * background even though it carries no `data-native-context-menu` item.\n */\nconst NATIVE_CONTEXT_MENU_SELECTOR = [\n '[data-native-context-menu]',\n 'thead',\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n '[contenteditable=\"true\"]',\n].join(', ');\n\n/**\n * The menu is anchored to a zero-sized element parked at the cursor, because\n * the design system's `Menu` is a dropdown: it positions its content against a\n * trigger, and there is no real trigger for a right-click on empty space.\n *\n * Inline styles rather than a `styled` wrapper — the trigger renders a design\n * system `Button`, and losing the specificity race with its own class would put\n * a stray button on the page.\n */\nconst CURSOR_ANCHOR_STYLE: CSSProperties = {\n position: 'fixed',\n width: 0,\n height: 0,\n minWidth: 0,\n minHeight: 0,\n padding: 0,\n border: 0,\n opacity: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n};\n\nconst LOCATOR_STYLE: CSSProperties = { height: 0 };\n\ninterface CursorPosition {\n x: number;\n y: number;\n}\n\ninterface MainAreaContextMenuProps {\n /** Opens the \"new folder\" dialog in the folder currently on screen. */\n onCreateFolder: () => void;\n /** Opens the native file picker — same entry point as the header \"New\" menu. */\n onImportFiles: () => void;\n /** Opens the \"import from URL\" dialog. */\n onImportFromUrl: () => void;\n /**\n * RBAC gate — without `assets.create` there is nothing to offer, so the\n * right-click falls through to the browser. Required (not defaulted) so a\n * permission gate can't silently regress to permissive.\n */\n disabled: boolean;\n}\n\n/**\n * Drive/Dropbox-style right-click on the empty parts of the assets area: the\n * same creation actions the header \"New\" menu offers, acting on the folder\n * currently open.\n *\n * Renders no wrapper — it finds the scrolling column and listens there, so the\n * hit area is the whole column including the padding below the list.\n *\n * Deliberately background-only. Right-clicking an asset, a folder or a table\n * row is left alone — those carry `data-native-context-menu` and keep the\n * browser's menu (which is what you want over a thumbnail or a filename).\n */\nexport const MainAreaContextMenu = ({\n onCreateFolder,\n onImportFiles,\n onImportFromUrl,\n disabled,\n}: MainAreaContextMenuProps) => {\n const { formatMessage } = useIntl();\n const [position, setPosition] = useState<CursorPosition | null>(null);\n const [locator, setLocator] = useState<HTMLElement | null>(null);\n\n const anchorRef = useCallback((node: HTMLElement | null) => setLocator(node), []);\n\n useEffect(() => {\n const container = locator?.closest<HTMLElement>(SCROLL_ROOT_SELECTOR);\n\n if (!container || disabled) {\n return;\n }\n\n const handleContextMenu = (event: MouseEvent) => {\n if (!(event.target instanceof Element)) {\n return;\n }\n\n if (event.target.closest(NATIVE_CONTEXT_MENU_SELECTOR)) {\n return;\n }\n\n event.preventDefault();\n // A right-click while the menu is open reaches Radix's dismiss listener\n // first, which closes it; re-anchoring here reopens it under the new\n // cursor rather than leaving the user with a menu that just vanished.\n setPosition({ x: event.clientX, y: event.clientY });\n };\n\n container.addEventListener('contextmenu', handleContextMenu);\n\n return () => container.removeEventListener('contextmenu', handleContextMenu);\n }, [locator, disabled]);\n\n return (\n <>\n <div ref={anchorRef} style={LOCATOR_STYLE} aria-hidden />\n {/* Non-modal, like the row-level menus: a right-click elsewhere is both\n \"close this\" and \"open that\", which a modal layer would swallow.\n Skipped entirely without the permission — the anchor is a real\n (if invisible) button, and one that can never open is noise in the\n accessibility tree. */}\n {!disabled && (\n <Menu.Root\n modal={false}\n open={position !== null}\n onOpenChange={(open) => {\n if (!open) {\n setPosition(null);\n }\n }}\n >\n <Menu.Trigger\n tabIndex={-1}\n // No visible content, so the name has to come from `aria-label` —\n // the trigger's `label` prop renders as button text, which would\n // defeat the point of an invisible anchor. Radix points the menu's\n // `aria-labelledby` at this element, so it names the menu too.\n endIcon={null}\n aria-label={formatMessage({\n id: getTranslationKey('list.context-menu.label'),\n defaultMessage: 'Media library actions',\n })}\n style={{ ...CURSOR_ANCHOR_STYLE, top: position?.y ?? 0, left: position?.x ?? 0 }}\n />\n <ActionsMenuContent\n popoverPlacement=\"bottom-start\"\n zIndex={2}\n minWidth=\"22rem\"\n // The anchor is invisible and sits wherever the cursor was, so\n // handing focus back to it on close would be a focus ring nobody can\n // see. Let it fall to the body instead.\n onCloseAutoFocus={(event) => event.preventDefault()}\n >\n <Menu.Item onSelect={onCreateFolder} startIcon={<FolderIcon />}>\n {formatMessage({\n id: getTranslationKey('folder.create.title'),\n defaultMessage: 'New folder',\n })}\n </Menu.Item>\n <Menu.Item onSelect={onImportFiles} startIcon={<Files />}>\n {formatMessage({\n id: getTranslationKey('import-files'),\n defaultMessage: 'File upload',\n })}\n </Menu.Item>\n <Menu.Item onSelect={onImportFromUrl} startIcon={<Link />}>\n {formatMessage({\n id: getTranslationKey('import-from-url'),\n defaultMessage: 'File upload from URL',\n })}\n </Menu.Item>\n </ActionsMenuContent>\n </Menu.Root>\n )}\n </>\n );\n};\n"],"names":["SCROLL_ROOT_SELECTOR","NATIVE_CONTEXT_MENU_SELECTOR","join","CURSOR_ANCHOR_STYLE","position","width","height","minWidth","minHeight","padding","border","opacity","overflow","pointerEvents","LOCATOR_STYLE","MainAreaContextMenu","onCreateFolder","onImportFiles","onImportFromUrl","disabled","formatMessage","useIntl","setPosition","useState","locator","setLocator","anchorRef","useCallback","node","useEffect","container","closest","handleContextMenu","event","target","Element","preventDefault","x","clientX","y","clientY","addEventListener","removeEventListener","_jsxs","_Fragment","_jsx","div","ref","style","aria-hidden","Menu","Root","modal","open","onOpenChange","Trigger","tabIndex","endIcon","aria-label","id","getTranslationKey","defaultMessage","top","left","ActionsMenuContent","popoverPlacement","zIndex","onCloseAutoFocus","Item","onSelect","startIcon","FolderIcon","Files","Link"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainAreaContextMenu.mjs","sources":["../../../../../admin/src/pages/Assets/components/MainAreaContextMenu.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, type CSSProperties } from 'react';\n\nimport { Menu } from '@strapi/design-system';\nimport { Files, Folder as FolderIcon, Link } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslationKey } from '../../../utils/translations';\n\nimport { ActionsMenuContent } from './ActionsMenuContent';\n\n/**\n * The admin layout marks the element that scrolls the main column. Listening on\n * it rather than a wrapper of our own is what makes the whole column part of the\n * hit area: it carries a responsive `padding-bottom` (16 / 24 / 40px) that no\n * descendant can cover, and that strip is exactly where a right-click \"below the\n * list\" lands.\n */\nconst SCROLL_ROOT_SELECTOR = '[data-strapi-main-content]';\n\n/**\n * Subtrees that keep the browser's own context menu instead of opening the\n * create menu.\n *\n * `data-native-context-menu` is the explicit opt-out carried by the list items\n * themselves (asset cards, folder cards, table rows) and by the bulk actions\n * bar — right-clicking one of those must behave exactly as it does today. The\n * rest are the generic cases where the native menu is the useful one: links,\n * buttons and anything the user can type into or select text in.\n *\n * `thead` covers the table's header row, which is chrome rather than empty\n * background even though it carries no `data-native-context-menu` item.\n */\nconst NATIVE_CONTEXT_MENU_SELECTOR = [\n '[data-native-context-menu]',\n 'thead',\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n '[contenteditable=\"true\"]',\n].join(', ');\n\n/**\n * The menu is anchored to a zero-sized element parked at the cursor, because\n * the design system's `Menu` is a dropdown: it positions its content against a\n * trigger, and there is no real trigger for a right-click on empty space.\n *\n * Inline styles rather than a `styled` wrapper — the trigger renders a design\n * system `Button`, and losing the specificity race with its own class would put\n * a stray button on the page.\n */\nconst CURSOR_ANCHOR_STYLE: CSSProperties = {\n position: 'fixed',\n width: 0,\n height: 0,\n minWidth: 0,\n minHeight: 0,\n padding: 0,\n border: 0,\n opacity: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n};\n\nconst LOCATOR_STYLE: CSSProperties = { height: 0 };\n\ninterface CursorPosition {\n x: number;\n y: number;\n}\n\ninterface MainAreaContextMenuProps {\n /** Opens the \"new folder\" dialog in the folder currently on screen. */\n onCreateFolder: () => void;\n /** Opens the native file picker — same entry point as the header \"New\" menu. */\n onImportFiles: () => void;\n /** Opens the \"import from URL\" dialog. */\n onImportFromUrl: () => void;\n /**\n * RBAC gate — without `assets.create` there is nothing to offer, so the\n * right-click falls through to the browser. Required (not defaulted) so a\n * permission gate can't silently regress to permissive.\n */\n disabled: boolean;\n}\n\n/**\n * Drive/Dropbox-style right-click on the empty parts of the assets area: the\n * same creation actions the header \"New\" menu offers, acting on the folder\n * currently open.\n *\n * Renders no wrapper — it finds the scrolling column and listens there, so the\n * hit area is the whole column including the padding below the list.\n *\n * Deliberately background-only. Right-clicking an asset, a folder or a table\n * row is left alone — those carry `data-native-context-menu` and keep the\n * browser's menu (which is what you want over a thumbnail or a filename).\n */\nexport const MainAreaContextMenu = ({\n onCreateFolder,\n onImportFiles,\n onImportFromUrl,\n disabled,\n}: MainAreaContextMenuProps) => {\n const { formatMessage } = useIntl();\n const [position, setPosition] = useState<CursorPosition | null>(null);\n const [locator, setLocator] = useState<HTMLElement | null>(null);\n\n const anchorRef = useCallback((node: HTMLElement | null) => setLocator(node), []);\n\n useEffect(() => {\n const container = locator?.closest<HTMLElement>(SCROLL_ROOT_SELECTOR);\n\n if (!container || disabled) {\n return;\n }\n\n const handleContextMenu = (event: MouseEvent) => {\n if (!(event.target instanceof Element)) {\n return;\n }\n\n if (event.target.closest(NATIVE_CONTEXT_MENU_SELECTOR)) {\n return;\n }\n\n event.preventDefault();\n // A right-click while the menu is open reaches Radix's dismiss listener\n // first, which closes it; re-anchoring here reopens it under the new\n // cursor rather than leaving the user with a menu that just vanished.\n setPosition({ x: event.clientX, y: event.clientY });\n };\n\n container.addEventListener('contextmenu', handleContextMenu);\n\n return () => container.removeEventListener('contextmenu', handleContextMenu);\n }, [locator, disabled]);\n\n return (\n <>\n <div ref={anchorRef} style={LOCATOR_STYLE} aria-hidden />\n {/* Non-modal, like the row-level menus: a right-click elsewhere is both\n \"close this\" and \"open that\", which a modal layer would swallow.\n Skipped entirely without the permission — the anchor is a real\n (if invisible) button, and one that can never open is noise in the\n accessibility tree. */}\n {!disabled && (\n <Menu.Root\n modal={false}\n open={position !== null}\n onOpenChange={(open) => {\n if (!open) {\n setPosition(null);\n }\n }}\n >\n <Menu.Trigger\n tabIndex={-1}\n // No visible content, so the name has to come from `aria-label` —\n // the trigger's `label` prop renders as button text, which would\n // defeat the point of an invisible anchor. Radix points the menu's\n // `aria-labelledby` at this element, so it names the menu too.\n endIcon={null}\n aria-label={formatMessage({\n id: getTranslationKey('list.context-menu.label'),\n defaultMessage: 'Media library actions',\n })}\n style={{ ...CURSOR_ANCHOR_STYLE, top: position?.y ?? 0, left: position?.x ?? 0 }}\n />\n <ActionsMenuContent\n popoverPlacement=\"bottom-start\"\n zIndex={2}\n minWidth=\"22rem\"\n // The anchor is invisible and sits wherever the cursor was, so\n // handing focus back to it on close would be a focus ring nobody can\n // see. Let it fall to the body instead.\n onCloseAutoFocus={(event) => event.preventDefault()}\n >\n <Menu.Item onSelect={onCreateFolder} startIcon={<FolderIcon />}>\n {formatMessage({\n id: getTranslationKey('folder.create.title'),\n defaultMessage: 'New folder',\n })}\n </Menu.Item>\n <Menu.Item onSelect={onImportFiles} startIcon={<Files />}>\n {formatMessage({\n id: getTranslationKey('import-files'),\n defaultMessage: 'File upload',\n })}\n </Menu.Item>\n <Menu.Item onSelect={onImportFromUrl} startIcon={<Link />}>\n {formatMessage({\n id: getTranslationKey('import-from-url'),\n defaultMessage: 'File upload from URL',\n })}\n </Menu.Item>\n </ActionsMenuContent>\n </Menu.Root>\n )}\n </>\n );\n};\n"],"names":["SCROLL_ROOT_SELECTOR","NATIVE_CONTEXT_MENU_SELECTOR","join","CURSOR_ANCHOR_STYLE","position","width","height","minWidth","minHeight","padding","border","opacity","overflow","pointerEvents","LOCATOR_STYLE","MainAreaContextMenu","onCreateFolder","onImportFiles","onImportFromUrl","disabled","formatMessage","useIntl","setPosition","useState","locator","setLocator","anchorRef","useCallback","node","useEffect","container","closest","handleContextMenu","event","target","Element","preventDefault","x","clientX","y","clientY","addEventListener","removeEventListener","_jsxs","_Fragment","_jsx","div","ref","style","aria-hidden","Menu","Root","modal","open","onOpenChange","Trigger","tabIndex","endIcon","aria-label","id","getTranslationKey","defaultMessage","top","left","ActionsMenuContent","popoverPlacement","zIndex","onCloseAutoFocus","Item","onSelect","startIcon","FolderIcon","Files","Link"],"mappings":"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"}