@strapi/upload 5.54.0 → 5.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1784) hide show
  1. package/dist/admin/App.js +33 -0
  2. package/dist/admin/App.js.map +1 -0
  3. package/dist/admin/App.mjs +31 -0
  4. package/dist/admin/App.mjs.map +1 -0
  5. package/dist/admin/components/Drawer.js.map +1 -0
  6. package/dist/admin/components/Drawer.mjs.map +1 -0
  7. package/dist/admin/components/TruncatedText.js.map +1 -0
  8. package/dist/admin/components/TruncatedText.mjs.map +1 -0
  9. package/dist/admin/components/UploadProgressDialog.js.map +1 -0
  10. package/dist/admin/components/UploadProgressDialog.mjs.map +1 -0
  11. package/dist/admin/constants.js +7 -12
  12. package/dist/admin/constants.js.map +1 -1
  13. package/dist/admin/constants.mjs +7 -12
  14. package/dist/admin/constants.mjs.map +1 -1
  15. package/dist/admin/hooks/useAIMetadataEnabled.js +39 -0
  16. package/dist/admin/hooks/useAIMetadataEnabled.js.map +1 -0
  17. package/dist/admin/hooks/useAIMetadataEnabled.mjs +37 -0
  18. package/dist/admin/hooks/useAIMetadataEnabled.mjs.map +1 -0
  19. package/dist/admin/hooks/useApiErrorMessage.js.map +1 -0
  20. package/dist/admin/hooks/useApiErrorMessage.mjs.map +1 -0
  21. package/dist/admin/hooks/useMediaLibraryPermissions.js +24 -5
  22. package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
  23. package/dist/admin/hooks/useMediaLibraryPermissions.mjs +24 -5
  24. package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
  25. package/dist/admin/hooks/useTracking.js +39 -7
  26. package/dist/admin/hooks/useTracking.js.map +1 -1
  27. package/dist/admin/hooks/useTracking.mjs +38 -8
  28. package/dist/admin/hooks/useTracking.mjs.map +1 -1
  29. package/dist/admin/index.js +10 -15
  30. package/dist/admin/index.js.map +1 -1
  31. package/dist/admin/index.mjs +10 -15
  32. package/dist/admin/index.mjs.map +1 -1
  33. package/dist/admin/legacy/ai/components/AIAssetCard.js +621 -0
  34. package/dist/admin/legacy/ai/components/AIAssetCard.js.map +1 -0
  35. package/dist/admin/legacy/ai/components/AIAssetCard.mjs +598 -0
  36. package/dist/admin/legacy/ai/components/AIAssetCard.mjs.map +1 -0
  37. package/dist/admin/legacy/ai/components/AIUploadModal.js.map +1 -0
  38. package/dist/admin/legacy/ai/components/AIUploadModal.mjs.map +1 -0
  39. package/dist/admin/legacy/components/AssetCard/AssetCard.js +67 -0
  40. package/dist/admin/legacy/components/AssetCard/AssetCard.js.map +1 -0
  41. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs +65 -0
  42. package/dist/admin/legacy/components/AssetCard/AssetCard.mjs.map +1 -0
  43. package/dist/admin/legacy/components/AssetCard/AssetCardBase.js.map +1 -0
  44. package/dist/admin/legacy/components/AssetCard/AssetCardBase.mjs.map +1 -0
  45. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.js.map +1 -0
  46. package/dist/admin/legacy/components/AssetCard/AudioAssetCard.mjs.map +1 -0
  47. package/dist/admin/legacy/components/AssetCard/AudioPreview.js.map +1 -0
  48. package/dist/admin/legacy/components/AssetCard/AudioPreview.mjs.map +1 -0
  49. package/dist/admin/legacy/components/AssetCard/DocAssetCard.js.map +1 -0
  50. package/dist/admin/legacy/components/AssetCard/DocAssetCard.mjs.map +1 -0
  51. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.js.map +1 -0
  52. package/dist/admin/legacy/components/AssetCard/ImageAssetCard.mjs.map +1 -0
  53. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js +154 -0
  54. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js.map +1 -0
  55. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs +132 -0
  56. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs.map +1 -0
  57. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.js.map +1 -0
  58. package/dist/admin/legacy/components/AssetCard/VideoAssetCard.mjs.map +1 -0
  59. package/dist/admin/legacy/components/AssetCard/VideoPreview.js.map +1 -0
  60. package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs.map +1 -0
  61. package/dist/admin/legacy/components/AssetDialog/AssetDialog.js.map +1 -0
  62. package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs.map +1 -0
  63. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js +320 -0
  64. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -0
  65. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs +318 -0
  66. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -0
  67. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.js.map +1 -0
  68. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -0
  69. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.js.map +1 -0
  70. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -0
  71. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -0
  72. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -0
  73. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -0
  74. package/dist/admin/legacy/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -0
  75. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -0
  76. package/dist/admin/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -0
  77. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -0
  78. package/dist/admin/legacy/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -0
  79. package/dist/admin/legacy/components/AssetDialog/DialogFooter.js.map +1 -0
  80. package/dist/admin/legacy/components/AssetDialog/DialogFooter.mjs.map +1 -0
  81. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -0
  82. package/dist/admin/legacy/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -0
  83. package/dist/admin/legacy/components/AssetGridList/AssetGridList.js.map +1 -0
  84. package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs.map +1 -0
  85. package/dist/admin/legacy/components/AssetGridList/Draggable.js.map +1 -0
  86. package/dist/admin/legacy/components/AssetGridList/Draggable.mjs.map +1 -0
  87. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  88. package/dist/admin/legacy/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
  89. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -0
  90. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -0
  91. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -0
  92. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -0
  93. package/dist/admin/legacy/components/ContextInfo/ContextInfo.js.map +1 -0
  94. package/dist/admin/legacy/components/ContextInfo/ContextInfo.mjs.map +1 -0
  95. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
  96. package/dist/admin/legacy/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -0
  97. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.js.map +1 -0
  98. package/dist/admin/legacy/components/EditAssetDialog/DialogHeader.mjs.map +1 -0
  99. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js.map +1 -0
  100. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs.map +1 -0
  101. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js +114 -0
  102. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -0
  103. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +89 -0
  104. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -0
  105. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -0
  106. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -0
  107. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -0
  108. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -0
  109. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js +362 -0
  110. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -0
  111. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +337 -0
  112. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -0
  113. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -0
  114. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -0
  115. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -0
  116. package/dist/admin/legacy/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -0
  117. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -0
  118. package/dist/admin/legacy/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -0
  119. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.js.map +1 -0
  120. package/dist/admin/legacy/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -0
  121. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -0
  122. package/dist/admin/legacy/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -0
  123. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -0
  124. package/dist/admin/legacy/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -0
  125. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.js.map +1 -0
  126. package/dist/admin/legacy/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -0
  127. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.js.map +1 -0
  128. package/dist/admin/legacy/components/EmptyAssets/EmptyAssets.mjs.map +1 -0
  129. package/dist/admin/legacy/components/FilterList/FilterList.js.map +1 -0
  130. package/dist/admin/legacy/components/FilterList/FilterList.mjs.map +1 -0
  131. package/dist/admin/legacy/components/FilterList/FilterTag.js.map +1 -0
  132. package/dist/admin/legacy/components/FilterList/FilterTag.mjs.map +1 -0
  133. package/dist/admin/legacy/components/FilterPopover/FilterPopover.js.map +1 -0
  134. package/dist/admin/legacy/components/FilterPopover/FilterPopover.mjs.map +1 -0
  135. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js.map +1 -0
  136. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs.map +1 -0
  137. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.js.map +1 -0
  138. package/dist/admin/legacy/components/FilterPopover/utils/getFilterList.mjs.map +1 -0
  139. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.js.map +1 -0
  140. package/dist/admin/legacy/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -0
  141. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -0
  142. package/dist/admin/legacy/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -0
  143. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -0
  144. package/dist/admin/legacy/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -0
  145. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -0
  146. package/dist/admin/legacy/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -0
  147. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.js.map +1 -0
  148. package/dist/admin/legacy/components/FolderCard/contexts/FolderCard.mjs.map +1 -0
  149. package/dist/admin/legacy/components/FolderGridList/FolderGridList.js.map +1 -0
  150. package/dist/admin/legacy/components/FolderGridList/FolderGridList.mjs.map +1 -0
  151. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -0
  152. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -0
  153. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js +89 -0
  154. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -0
  155. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +87 -0
  156. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -0
  157. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -0
  158. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -0
  159. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -0
  160. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -0
  161. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +111 -0
  162. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -0
  163. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +89 -0
  164. package/dist/admin/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -0
  165. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
  166. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
  167. package/dist/admin/legacy/components/SelectTree/Option.js.map +1 -0
  168. package/dist/admin/legacy/components/SelectTree/Option.mjs.map +1 -0
  169. package/dist/admin/legacy/components/SelectTree/SelectTree.js.map +1 -0
  170. package/dist/admin/legacy/components/SelectTree/SelectTree.mjs.map +1 -0
  171. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.js.map +1 -0
  172. package/dist/admin/legacy/components/SelectTree/utils/flattenTree.mjs.map +1 -0
  173. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.js.map +1 -0
  174. package/dist/admin/legacy/components/SelectTree/utils/getOpenValues.mjs.map +1 -0
  175. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.js.map +1 -0
  176. package/dist/admin/legacy/components/SelectTree/utils/getValuesToClose.mjs.map +1 -0
  177. package/dist/admin/legacy/components/SortPicker/SortPicker.js +40 -0
  178. package/dist/admin/legacy/components/SortPicker/SortPicker.js.map +1 -0
  179. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs +38 -0
  180. package/dist/admin/legacy/components/SortPicker/SortPicker.mjs.map +1 -0
  181. package/dist/admin/legacy/components/TableList/CellContent.js.map +1 -0
  182. package/dist/admin/legacy/components/TableList/CellContent.mjs.map +1 -0
  183. package/dist/admin/legacy/components/TableList/PreviewCell.js +116 -0
  184. package/dist/admin/legacy/components/TableList/PreviewCell.js.map +1 -0
  185. package/dist/admin/legacy/components/TableList/PreviewCell.mjs +114 -0
  186. package/dist/admin/legacy/components/TableList/PreviewCell.mjs.map +1 -0
  187. package/dist/admin/legacy/components/TableList/TableList.js +100 -0
  188. package/dist/admin/legacy/components/TableList/TableList.js.map +1 -0
  189. package/dist/admin/legacy/components/TableList/TableList.mjs +98 -0
  190. package/dist/admin/legacy/components/TableList/TableList.mjs.map +1 -0
  191. package/dist/admin/legacy/components/TableList/TableRows.js +105 -0
  192. package/dist/admin/legacy/components/TableList/TableRows.js.map +1 -0
  193. package/dist/admin/legacy/components/TableList/TableRows.mjs +103 -0
  194. package/dist/admin/legacy/components/TableList/TableRows.mjs.map +1 -0
  195. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -0
  196. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -0
  197. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +177 -0
  198. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -0
  199. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +155 -0
  200. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -0
  201. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -0
  202. package/dist/admin/legacy/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -0
  203. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -0
  204. package/dist/admin/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -0
  205. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -0
  206. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -0
  207. package/dist/admin/legacy/components/UploadProgress/UploadProgress.js.map +1 -0
  208. package/dist/admin/legacy/components/UploadProgress/UploadProgress.mjs.map +1 -0
  209. package/dist/admin/legacy/hooks/useAiAvailability.js.map +1 -0
  210. package/dist/admin/legacy/hooks/useAiAvailability.mjs.map +1 -0
  211. package/dist/admin/legacy/hooks/useAssets.js +127 -0
  212. package/dist/admin/legacy/hooks/useAssets.js.map +1 -0
  213. package/dist/admin/legacy/hooks/useAssets.mjs +105 -0
  214. package/dist/admin/legacy/hooks/useAssets.mjs.map +1 -0
  215. package/dist/admin/legacy/hooks/useBulkEdit.js +65 -0
  216. package/dist/admin/legacy/hooks/useBulkEdit.js.map +1 -0
  217. package/dist/admin/legacy/hooks/useBulkEdit.mjs +63 -0
  218. package/dist/admin/legacy/hooks/useBulkEdit.mjs.map +1 -0
  219. package/dist/admin/legacy/hooks/useBulkMove.js +78 -0
  220. package/dist/admin/legacy/hooks/useBulkMove.js.map +1 -0
  221. package/dist/admin/legacy/hooks/useBulkMove.mjs +76 -0
  222. package/dist/admin/legacy/hooks/useBulkMove.mjs.map +1 -0
  223. package/dist/admin/legacy/hooks/useBulkRemove.js +83 -0
  224. package/dist/admin/legacy/hooks/useBulkRemove.js.map +1 -0
  225. package/dist/admin/legacy/hooks/useBulkRemove.mjs +81 -0
  226. package/dist/admin/legacy/hooks/useBulkRemove.mjs.map +1 -0
  227. package/dist/admin/legacy/hooks/useConfig.js +58 -0
  228. package/dist/admin/legacy/hooks/useConfig.js.map +1 -0
  229. package/dist/admin/legacy/hooks/useConfig.mjs +56 -0
  230. package/dist/admin/legacy/hooks/useConfig.mjs.map +1 -0
  231. package/dist/admin/legacy/hooks/useCropImg.js.map +1 -0
  232. package/dist/admin/legacy/hooks/useCropImg.mjs.map +1 -0
  233. package/dist/admin/legacy/hooks/useEditAsset.js +115 -0
  234. package/dist/admin/legacy/hooks/useEditAsset.js.map +1 -0
  235. package/dist/admin/legacy/hooks/useEditAsset.mjs +93 -0
  236. package/dist/admin/legacy/hooks/useEditAsset.mjs.map +1 -0
  237. package/dist/admin/legacy/hooks/useEditFolder.js +45 -0
  238. package/dist/admin/legacy/hooks/useEditFolder.js.map +1 -0
  239. package/dist/admin/legacy/hooks/useEditFolder.mjs +43 -0
  240. package/dist/admin/legacy/hooks/useEditFolder.mjs.map +1 -0
  241. package/dist/admin/legacy/hooks/useFolder.js +57 -0
  242. package/dist/admin/legacy/hooks/useFolder.js.map +1 -0
  243. package/dist/admin/legacy/hooks/useFolder.mjs +55 -0
  244. package/dist/admin/legacy/hooks/useFolder.mjs.map +1 -0
  245. package/dist/admin/legacy/hooks/useFolderStructure.js +52 -0
  246. package/dist/admin/legacy/hooks/useFolderStructure.js.map +1 -0
  247. package/dist/admin/legacy/hooks/useFolderStructure.mjs +50 -0
  248. package/dist/admin/legacy/hooks/useFolderStructure.mjs.map +1 -0
  249. package/dist/admin/legacy/hooks/useFolders.js +108 -0
  250. package/dist/admin/legacy/hooks/useFolders.js.map +1 -0
  251. package/dist/admin/legacy/hooks/useFolders.mjs +86 -0
  252. package/dist/admin/legacy/hooks/useFolders.mjs.map +1 -0
  253. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js +16 -0
  254. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.js.map +1 -0
  255. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs +14 -0
  256. package/dist/admin/legacy/hooks/useMediaLibraryPermissions.mjs.map +1 -0
  257. package/dist/admin/legacy/hooks/useModalQueryParams.js.map +1 -0
  258. package/dist/admin/legacy/hooks/useModalQueryParams.mjs.map +1 -0
  259. package/dist/admin/legacy/hooks/usePersistentState.js.map +1 -0
  260. package/dist/admin/legacy/hooks/usePersistentState.mjs.map +1 -0
  261. package/dist/admin/legacy/hooks/useRemoveAsset.js +58 -0
  262. package/dist/admin/legacy/hooks/useRemoveAsset.js.map +1 -0
  263. package/dist/admin/legacy/hooks/useRemoveAsset.mjs +56 -0
  264. package/dist/admin/legacy/hooks/useRemoveAsset.mjs.map +1 -0
  265. package/dist/admin/legacy/hooks/useSelectionState.js.map +1 -0
  266. package/dist/admin/legacy/hooks/useSelectionState.mjs.map +1 -0
  267. package/dist/admin/legacy/hooks/useSettings.js.map +1 -0
  268. package/dist/admin/legacy/hooks/useSettings.mjs.map +1 -0
  269. package/dist/admin/legacy/hooks/useTracking.js +25 -0
  270. package/dist/admin/legacy/hooks/useTracking.js.map +1 -0
  271. package/dist/admin/legacy/hooks/useTracking.mjs +23 -0
  272. package/dist/admin/legacy/hooks/useTracking.mjs.map +1 -0
  273. package/dist/admin/legacy/hooks/useUpload.js +109 -0
  274. package/dist/admin/legacy/hooks/useUpload.js.map +1 -0
  275. package/dist/admin/legacy/hooks/useUpload.mjs +87 -0
  276. package/dist/admin/legacy/hooks/useUpload.mjs.map +1 -0
  277. package/dist/admin/legacy/hooks/utils/renameKeys.js.map +1 -0
  278. package/dist/admin/legacy/hooks/utils/renameKeys.mjs.map +1 -0
  279. package/dist/admin/legacy/pages/App/App.js.map +1 -0
  280. package/dist/admin/legacy/pages/App/App.mjs.map +1 -0
  281. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js +145 -0
  282. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -0
  283. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs +120 -0
  284. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -0
  285. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js +109 -0
  286. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.js.map +1 -0
  287. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs +107 -0
  288. package/dist/admin/legacy/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -0
  289. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js +10 -0
  290. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -0
  291. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs +7 -0
  292. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -0
  293. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.js.map +1 -0
  294. package/dist/admin/legacy/pages/App/ConfigureTheView/state/actions.mjs.map +1 -0
  295. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.js.map +1 -0
  296. package/dist/admin/legacy/pages/App/ConfigureTheView/state/init.mjs.map +1 -0
  297. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.js.map +1 -0
  298. package/dist/admin/legacy/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -0
  299. package/dist/admin/legacy/pages/App/MediaLibrary.js +469 -0
  300. package/dist/admin/legacy/pages/App/MediaLibrary.js.map +1 -0
  301. package/dist/admin/legacy/pages/App/MediaLibrary.mjs +447 -0
  302. package/dist/admin/legacy/pages/App/MediaLibrary.mjs.map +1 -0
  303. package/dist/admin/legacy/pages/App/components/BulkActions.js.map +1 -0
  304. package/dist/admin/legacy/pages/App/components/BulkActions.mjs.map +1 -0
  305. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.js.map +1 -0
  306. package/dist/admin/legacy/pages/App/components/BulkDeleteButton.mjs.map +1 -0
  307. package/dist/admin/legacy/pages/App/components/BulkMoveButton.js.map +1 -0
  308. package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs.map +1 -0
  309. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.js.map +1 -0
  310. package/dist/admin/legacy/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -0
  311. package/dist/admin/legacy/pages/App/components/Filters.js.map +1 -0
  312. package/dist/admin/legacy/pages/App/components/Filters.mjs.map +1 -0
  313. package/dist/admin/legacy/pages/App/components/Header.js.map +1 -0
  314. package/dist/admin/legacy/pages/App/components/Header.mjs.map +1 -0
  315. package/dist/admin/legacy/utils/appendSearchParamsToUrl.js.map +1 -0
  316. package/dist/admin/legacy/utils/appendSearchParamsToUrl.mjs.map +1 -0
  317. package/dist/admin/legacy/utils/containsAssetFilter.js.map +1 -0
  318. package/dist/admin/legacy/utils/containsAssetFilter.mjs.map +1 -0
  319. package/dist/admin/legacy/utils/createAssetUrl.js.map +1 -0
  320. package/dist/admin/legacy/utils/createAssetUrl.mjs.map +1 -0
  321. package/dist/admin/legacy/utils/displayedFilters.js.map +1 -0
  322. package/dist/admin/legacy/utils/displayedFilters.mjs.map +1 -0
  323. package/dist/admin/legacy/utils/downloadFile.js +13 -0
  324. package/dist/admin/legacy/utils/downloadFile.js.map +1 -0
  325. package/dist/admin/legacy/utils/downloadFile.mjs +11 -0
  326. package/dist/admin/legacy/utils/downloadFile.mjs.map +1 -0
  327. package/dist/admin/legacy/utils/findRecursiveFolderByValue.js.map +1 -0
  328. package/dist/admin/legacy/utils/findRecursiveFolderByValue.mjs.map +1 -0
  329. package/dist/admin/legacy/utils/formatBytes.js.map +1 -0
  330. package/dist/admin/legacy/utils/formatBytes.mjs.map +1 -0
  331. package/dist/admin/legacy/utils/formatDuration.js.map +1 -0
  332. package/dist/admin/legacy/utils/formatDuration.mjs.map +1 -0
  333. package/dist/admin/legacy/utils/getAPIInnerErrors.js.map +1 -0
  334. package/dist/admin/legacy/utils/getAPIInnerErrors.mjs.map +1 -0
  335. package/dist/admin/legacy/utils/getAllowedFiles.js.map +1 -0
  336. package/dist/admin/legacy/utils/getAllowedFiles.mjs.map +1 -0
  337. package/dist/admin/legacy/utils/getBreadcrumbDataCM.js.map +1 -0
  338. package/dist/admin/legacy/utils/getBreadcrumbDataCM.mjs.map +1 -0
  339. package/dist/admin/legacy/utils/getBreadcrumbDataML.js.map +1 -0
  340. package/dist/admin/legacy/utils/getBreadcrumbDataML.mjs.map +1 -0
  341. package/dist/admin/legacy/utils/getFileExtension.js.map +1 -0
  342. package/dist/admin/legacy/utils/getFileExtension.mjs.map +1 -0
  343. package/dist/admin/legacy/utils/getFolderParents.js.map +1 -0
  344. package/dist/admin/legacy/utils/getFolderParents.mjs.map +1 -0
  345. package/dist/admin/legacy/utils/getFolderURL.js.map +1 -0
  346. package/dist/admin/legacy/utils/getFolderURL.mjs.map +1 -0
  347. package/dist/admin/legacy/utils/getTrad.js +8 -0
  348. package/dist/admin/legacy/utils/getTrad.js.map +1 -0
  349. package/dist/admin/legacy/utils/getTrad.mjs +6 -0
  350. package/dist/admin/legacy/utils/getTrad.mjs.map +1 -0
  351. package/dist/admin/legacy/utils/icons.js +23 -0
  352. package/dist/admin/legacy/utils/icons.js.map +1 -0
  353. package/dist/admin/legacy/utils/icons.mjs +19 -0
  354. package/dist/admin/legacy/utils/icons.mjs.map +1 -0
  355. package/dist/admin/legacy/utils/moveElement.js.map +1 -0
  356. package/dist/admin/legacy/utils/moveElement.mjs.map +1 -0
  357. package/dist/admin/legacy/utils/normalizeAPIError.js.map +1 -0
  358. package/dist/admin/legacy/utils/normalizeAPIError.mjs.map +1 -0
  359. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.js.map +1 -0
  360. package/dist/admin/legacy/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -0
  361. package/dist/admin/legacy/utils/prefixPluginTranslations.js.map +1 -0
  362. package/dist/admin/legacy/utils/prefixPluginTranslations.mjs.map +1 -0
  363. package/dist/admin/legacy/utils/rawFileToAsset.js +23 -0
  364. package/dist/admin/legacy/utils/rawFileToAsset.js.map +1 -0
  365. package/dist/admin/legacy/utils/rawFileToAsset.mjs +21 -0
  366. package/dist/admin/legacy/utils/rawFileToAsset.mjs.map +1 -0
  367. package/dist/admin/legacy/utils/resolveFileMime.js.map +1 -0
  368. package/dist/admin/legacy/utils/resolveFileMime.mjs.map +1 -0
  369. package/dist/admin/legacy/utils/toSingularTypes.js.map +1 -0
  370. package/dist/admin/legacy/utils/toSingularTypes.mjs.map +1 -0
  371. package/dist/admin/legacy/utils/urlYupSchema.js.map +1 -0
  372. package/dist/admin/legacy/utils/urlYupSchema.mjs.map +1 -0
  373. package/dist/admin/legacy/utils/urlsToAssets.js +42 -0
  374. package/dist/admin/legacy/utils/urlsToAssets.js.map +1 -0
  375. package/dist/admin/legacy/utils/urlsToAssets.mjs +40 -0
  376. package/dist/admin/legacy/utils/urlsToAssets.mjs.map +1 -0
  377. package/dist/admin/pages/Assets/AssetsPage.js +828 -0
  378. package/dist/admin/pages/Assets/AssetsPage.js.map +1 -0
  379. package/dist/admin/pages/Assets/AssetsPage.mjs +806 -0
  380. package/dist/admin/pages/Assets/AssetsPage.mjs.map +1 -0
  381. package/dist/admin/pages/Assets/components/ActionsMenuContent.js.map +1 -0
  382. package/dist/admin/pages/Assets/components/ActionsMenuContent.mjs.map +1 -0
  383. package/dist/admin/pages/Assets/components/AssetActionsMenu.js.map +1 -0
  384. package/dist/admin/pages/Assets/components/AssetActionsMenu.mjs.map +1 -0
  385. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +1 -0
  386. package/dist/admin/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +1 -0
  387. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +1202 -0
  388. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -0
  389. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +1175 -0
  390. package/dist/admin/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -0
  391. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js +261 -0
  392. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -0
  393. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs +239 -0
  394. package/dist/admin/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -0
  395. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.js.map +1 -0
  396. package/dist/admin/pages/Assets/components/AssetDetails/useCropImg.mjs.map +1 -0
  397. package/dist/admin/pages/Assets/components/AssetsGrid.js +528 -0
  398. package/dist/admin/pages/Assets/components/AssetsGrid.js.map +1 -0
  399. package/dist/admin/pages/Assets/components/AssetsGrid.mjs +526 -0
  400. package/dist/admin/pages/Assets/components/AssetsGrid.mjs.map +1 -0
  401. package/dist/admin/pages/Assets/components/AssetsSearchInput.js.map +1 -0
  402. package/dist/admin/pages/Assets/components/AssetsSearchInput.mjs.map +1 -0
  403. package/dist/admin/pages/Assets/components/AssetsTable.js.map +1 -0
  404. package/dist/admin/pages/Assets/components/AssetsTable.mjs.map +1 -0
  405. package/dist/admin/pages/Assets/components/BulkActionsBar.js +431 -0
  406. package/dist/admin/pages/Assets/components/BulkActionsBar.js.map +1 -0
  407. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs +429 -0
  408. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs.map +1 -0
  409. package/dist/admin/pages/Assets/components/BulkMoveDialog.js.map +1 -0
  410. package/dist/admin/pages/Assets/components/BulkMoveDialog.mjs.map +1 -0
  411. package/dist/admin/pages/Assets/components/BusyOverlay.js.map +1 -0
  412. package/dist/admin/pages/Assets/components/BusyOverlay.mjs.map +1 -0
  413. package/dist/admin/pages/Assets/components/DateRangeCalendar.js.map +1 -0
  414. package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs.map +1 -0
  415. package/dist/admin/pages/Assets/components/DeleteItemsDialog.js.map +1 -0
  416. package/dist/admin/pages/Assets/components/DeleteItemsDialog.mjs.map +1 -0
  417. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -0
  418. package/dist/admin/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -0
  419. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.js.map +1 -0
  420. package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +1 -0
  421. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.js.map +1 -0
  422. package/dist/admin/pages/Assets/components/Dnd/buildDragSet.mjs.map +1 -0
  423. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.js.map +1 -0
  424. package/dist/admin/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +1 -0
  425. package/dist/admin/pages/Assets/components/Dnd/dndIds.js.map +1 -0
  426. package/dist/admin/pages/Assets/components/Dnd/dndIds.mjs.map +1 -0
  427. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.js.map +1 -0
  428. package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.mjs.map +1 -0
  429. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +1 -0
  430. package/dist/admin/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +1 -0
  431. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -0
  432. package/dist/admin/pages/Assets/components/DropZone/UploadDropZone.mjs.map +1 -0
  433. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -0
  434. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -0
  435. package/dist/admin/pages/Assets/components/EmptyState.js.map +1 -0
  436. package/dist/admin/pages/Assets/components/EmptyState.mjs.map +1 -0
  437. package/dist/admin/pages/Assets/components/FilterBadges.js.map +1 -0
  438. package/dist/admin/pages/Assets/components/FilterBadges.mjs.map +1 -0
  439. package/dist/admin/pages/Assets/components/FilterMenu.js.map +1 -0
  440. package/dist/admin/pages/Assets/components/FilterMenu.mjs.map +1 -0
  441. package/dist/admin/pages/Assets/components/FolderActionsMenu.js.map +1 -0
  442. package/dist/admin/pages/Assets/components/FolderActionsMenu.mjs.map +1 -0
  443. package/dist/admin/pages/Assets/components/FolderFormDialog.js.map +1 -0
  444. package/dist/admin/pages/Assets/components/FolderFormDialog.mjs.map +1 -0
  445. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.js.map +1 -0
  446. package/dist/admin/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -0
  447. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +1 -0
  448. package/dist/admin/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +1 -0
  449. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.js.map +1 -0
  450. package/dist/admin/pages/Assets/components/ImportFromUrlDialog.mjs.map +1 -0
  451. package/dist/admin/pages/Assets/components/MainAreaContextMenu.js.map +1 -0
  452. package/dist/admin/pages/Assets/components/MainAreaContextMenu.mjs.map +1 -0
  453. package/dist/admin/pages/Assets/components/SortMenu.js.map +1 -0
  454. package/dist/admin/pages/Assets/components/SortMenu.mjs.map +1 -0
  455. package/dist/admin/pages/Assets/constants.js.map +1 -0
  456. package/dist/admin/pages/Assets/constants.mjs.map +1 -0
  457. package/dist/admin/pages/Assets/hooks/useAssetSearch.js.map +1 -0
  458. package/dist/admin/pages/Assets/hooks/useAssetSearch.mjs.map +1 -0
  459. package/dist/admin/pages/Assets/hooks/useAssetSelection.js.map +1 -0
  460. package/dist/admin/pages/Assets/hooks/useAssetSelection.mjs.map +1 -0
  461. package/dist/admin/pages/Assets/hooks/useBusyAssets.js.map +1 -0
  462. package/dist/admin/pages/Assets/hooks/useBusyAssets.mjs.map +1 -0
  463. package/dist/admin/pages/Assets/hooks/useFolderInfo.js.map +1 -0
  464. package/dist/admin/pages/Assets/hooks/useFolderInfo.mjs.map +1 -0
  465. package/dist/admin/pages/Assets/hooks/useFolderNavigation.js.map +1 -0
  466. package/dist/admin/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -0
  467. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.js.map +1 -0
  468. package/dist/admin/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -0
  469. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +1 -0
  470. package/dist/admin/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +1 -0
  471. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +1 -0
  472. package/dist/admin/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +1 -0
  473. package/dist/admin/pages/Assets/hooks/useListFilters.js.map +1 -0
  474. package/dist/admin/pages/Assets/hooks/useListFilters.mjs.map +1 -0
  475. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.js.map +1 -0
  476. package/dist/admin/pages/Assets/hooks/useListScrollRestoration.mjs.map +1 -0
  477. package/dist/admin/pages/Assets/hooks/useListSort.js.map +1 -0
  478. package/dist/admin/pages/Assets/hooks/useListSort.mjs.map +1 -0
  479. package/dist/admin/pages/Assets/utils/buildAssetFilters.js.map +1 -0
  480. package/dist/admin/pages/Assets/utils/buildAssetFilters.mjs.map +1 -0
  481. package/dist/admin/pages/Assets/utils/listQueryKey.js.map +1 -0
  482. package/dist/admin/pages/Assets/utils/listQueryKey.mjs.map +1 -0
  483. package/dist/admin/pages/Assets/utils/mergeMixedList.js.map +1 -0
  484. package/dist/admin/pages/Assets/utils/mergeMixedList.mjs.map +1 -0
  485. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.js.map +1 -0
  486. package/dist/admin/pages/Assets/utils/mergeUploadedAssets.mjs.map +1 -0
  487. package/dist/admin/pages/Assets/utils/renderedKeys.js.map +1 -0
  488. package/dist/admin/pages/Assets/utils/renderedKeys.mjs.map +1 -0
  489. package/dist/admin/pages/Assets/utils/selection.js.map +1 -0
  490. package/dist/admin/pages/Assets/utils/selection.mjs.map +1 -0
  491. package/dist/admin/pages/SettingsPage/SettingsPage.js +23 -28
  492. package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
  493. package/dist/admin/pages/SettingsPage/SettingsPage.mjs +23 -28
  494. package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
  495. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js +110 -0
  496. package/dist/admin/pages/SettingsPage/useAIMetadataJob.js.map +1 -0
  497. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs +88 -0
  498. package/dist/admin/pages/SettingsPage/useAIMetadataJob.mjs.map +1 -0
  499. package/dist/admin/services/api.js.map +1 -0
  500. package/dist/admin/services/api.mjs.map +1 -0
  501. package/dist/admin/services/assets.js.map +1 -0
  502. package/dist/admin/services/assets.mjs.map +1 -0
  503. package/dist/admin/services/folders.js.map +1 -0
  504. package/dist/admin/services/folders.mjs.map +1 -0
  505. package/dist/admin/services/settings.js.map +1 -0
  506. package/dist/admin/services/settings.mjs.map +1 -0
  507. package/dist/admin/services/uploadFileViaXHR.js.map +1 -0
  508. package/dist/admin/services/uploadFileViaXHR.mjs.map +1 -0
  509. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +19 -2
  510. package/dist/admin/src/hooks/useTracking.d.ts +26 -1
  511. package/dist/admin/src/legacy/ai/components/AIAssetCard.d.ts +13 -0
  512. package/dist/admin/src/legacy/ai/components/AIUploadModal.d.ts +55 -0
  513. package/dist/admin/src/legacy/components/AssetCard/AssetCard.d.ts +19 -0
  514. package/dist/admin/src/legacy/components/AssetCard/UploadingAssetCard.d.ts +17 -0
  515. package/dist/admin/src/legacy/components/AssetDialog/AssetDialog.d.ts +39 -0
  516. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/BrowseStep.d.ts +63 -0
  517. package/dist/admin/src/legacy/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +7 -0
  518. package/dist/admin/src/legacy/components/AssetDialog/SelectedStep/SelectedStep.d.ts +8 -0
  519. package/dist/admin/src/legacy/components/AssetGridList/AssetGridList.d.ts +13 -0
  520. package/dist/admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.d.ts +15 -0
  521. package/dist/admin/src/legacy/components/EditAssetDialog/EditAssetContent.d.ts +31 -0
  522. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +8 -0
  523. package/dist/admin/src/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +26 -0
  524. package/dist/admin/src/legacy/components/EditAssetDialog/RemoveAssetDialog.d.ts +8 -0
  525. package/dist/admin/src/legacy/components/EditFolderDialog/EditFolderDialog.d.ts +12 -0
  526. package/dist/admin/src/legacy/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +10 -0
  527. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +4 -0
  528. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +9 -0
  529. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +23 -0
  530. package/dist/admin/src/legacy/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +10 -0
  531. package/dist/admin/src/legacy/components/SelectTree/Option.d.ts +16 -0
  532. package/dist/admin/src/legacy/components/SortPicker/SortPicker.d.ts +7 -0
  533. package/dist/admin/src/legacy/components/TableList/CellContent.d.ts +8 -0
  534. package/dist/admin/src/legacy/components/TableList/PreviewCell.d.ts +7 -0
  535. package/dist/admin/src/legacy/components/TableList/TableList.d.ts +31 -0
  536. package/dist/admin/src/legacy/components/TableList/TableRows.d.ts +22 -0
  537. package/dist/admin/src/legacy/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +13 -0
  538. package/dist/admin/src/legacy/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +22 -0
  539. package/dist/admin/src/legacy/components/UploadAssetDialog/UploadAssetDialog.d.ts +21 -0
  540. package/dist/admin/src/legacy/components/UploadProgress/UploadProgress.d.ts +7 -0
  541. package/dist/admin/src/legacy/hooks/useAssets.d.ts +14 -0
  542. package/dist/admin/src/legacy/hooks/useBulkEdit.d.ts +91 -0
  543. package/dist/admin/src/legacy/hooks/useBulkMove.d.ts +209 -0
  544. package/dist/admin/src/legacy/hooks/useBulkRemove.d.ts +241 -0
  545. package/dist/admin/src/legacy/hooks/useConfig.d.ts +5 -0
  546. package/dist/admin/src/legacy/hooks/useEditAsset.d.ts +119 -0
  547. package/dist/admin/src/legacy/hooks/useEditFolder.d.ts +72 -0
  548. package/dist/admin/src/legacy/hooks/useFolder.d.ts +7 -0
  549. package/dist/admin/src/legacy/hooks/useFolderStructure.d.ts +18 -0
  550. package/dist/admin/src/legacy/hooks/useFolders.d.ts +11 -0
  551. package/dist/admin/src/legacy/hooks/useMediaLibraryPermissions.d.ts +4 -0
  552. package/dist/admin/src/legacy/hooks/useModalQueryParams.d.ts +20 -0
  553. package/dist/admin/src/legacy/hooks/useRemoveAsset.d.ts +8 -0
  554. package/dist/admin/src/legacy/hooks/useTracking.d.ts +4 -0
  555. package/dist/admin/src/legacy/hooks/useUpload.d.ts +15 -0
  556. package/dist/admin/src/legacy/pages/App/ConfigureTheView/ConfigureTheView.d.ts +6 -0
  557. package/dist/admin/src/legacy/pages/App/ConfigureTheView/components/Settings.d.ts +13 -0
  558. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/actions.d.ts +12 -0
  559. package/dist/admin/src/legacy/pages/App/ConfigureTheView/state/init.d.ts +8 -0
  560. package/dist/admin/src/legacy/pages/App/MediaLibrary.d.ts +1 -0
  561. package/dist/admin/src/legacy/pages/App/components/BulkActions.d.ts +15 -0
  562. package/dist/admin/src/legacy/pages/App/components/BulkDeleteButton.d.ts +7 -0
  563. package/dist/admin/src/legacy/pages/App/components/BulkMoveButton.d.ts +15 -0
  564. package/dist/admin/src/legacy/pages/App/components/Header.d.ts +22 -0
  565. package/dist/admin/src/legacy/utils/containsAssetFilter.d.ts +2 -0
  566. package/dist/admin/src/legacy/utils/createAssetUrl.d.ts +2 -0
  567. package/dist/admin/src/legacy/utils/downloadFile.d.ts +1 -0
  568. package/dist/admin/src/legacy/utils/findRecursiveFolderByValue.d.ts +11 -0
  569. package/dist/admin/src/legacy/utils/getAllowedFiles.d.ts +14 -0
  570. package/dist/admin/src/legacy/utils/getBreadcrumbDataCM.d.ts +19 -0
  571. package/dist/admin/src/legacy/utils/getBreadcrumbDataML.d.ts +18 -0
  572. package/dist/admin/src/legacy/utils/getFolderParents.d.ts +11 -0
  573. package/dist/admin/src/legacy/utils/getFolderURL.d.ts +5 -0
  574. package/dist/admin/src/legacy/utils/icons.d.ts +15 -0
  575. package/dist/admin/src/legacy/utils/index.d.ts +26 -0
  576. package/dist/admin/src/legacy/utils/rawFileToAsset.d.ts +14 -0
  577. package/dist/admin/src/pages/Assets/components/ActionsMenuContent.d.ts +33 -0
  578. package/dist/admin/src/pages/Assets/components/AssetActionsMenu.d.ts +26 -0
  579. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +16 -0
  580. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +46 -0
  581. package/dist/admin/src/pages/Assets/components/AssetDetails/AssetPreview.d.ts +9 -0
  582. package/dist/admin/src/pages/Assets/components/AssetsGrid.d.ts +12 -0
  583. package/dist/admin/src/pages/Assets/components/AssetsTable.d.ts +18 -0
  584. package/dist/admin/src/pages/Assets/components/BulkActionsBar.d.ts +28 -0
  585. package/dist/admin/src/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +7 -0
  586. package/dist/admin/src/pages/Assets/components/FolderActionsMenu.d.ts +21 -0
  587. package/dist/admin/src/pages/Assets/hooks/useFolderNavigation.d.ts +7 -0
  588. package/dist/admin/src/pages/Assets/hooks/useInfiniteAssets.d.ts +45 -0
  589. package/dist/admin/src/pages/Assets/utils/mergeMixedList.d.ts +40 -0
  590. package/dist/admin/src/pages/Assets/utils/mergeUploadedAssets.d.ts +35 -0
  591. package/dist/admin/src/pages/Assets/utils/renderedKeys.d.ts +19 -0
  592. package/dist/admin/src/pages/SettingsPage/useAIMetadataJob.d.ts +9 -0
  593. package/dist/admin/src/services/api.d.ts +99 -0
  594. package/dist/admin/src/services/assets.d.ts +33 -0
  595. package/dist/admin/src/services/folders.d.ts +37 -0
  596. package/dist/admin/src/services/settings.d.ts +2 -0
  597. package/dist/admin/src/services/uploadFileViaXHR.d.ts +23 -0
  598. package/dist/admin/src/store/uploadProgress.d.ts +201 -0
  599. package/dist/admin/src/utils/canDropItemOnFolder.d.ts +9 -0
  600. package/dist/admin/src/utils/downloadFile.d.ts +5 -0
  601. package/dist/admin/src/utils/flattenFolderStructure.d.ts +18 -0
  602. package/dist/admin/src/utils/getFolderLabel.d.ts +11 -0
  603. package/dist/admin/src/utils/itemLocations.d.ts +31 -0
  604. package/dist/admin/store/hooks.js.map +1 -0
  605. package/dist/admin/store/hooks.mjs.map +1 -0
  606. package/dist/admin/store/uploadProgress.js.map +1 -0
  607. package/dist/admin/store/uploadProgress.mjs.map +1 -0
  608. package/dist/admin/utils/buildBulkMovePayload.js.map +1 -0
  609. package/dist/admin/utils/buildBulkMovePayload.mjs.map +1 -0
  610. package/dist/admin/utils/buildDragSetFromSelection.js.map +1 -0
  611. package/dist/admin/utils/buildDragSetFromSelection.mjs.map +1 -0
  612. package/dist/admin/utils/canDropItemOnFolder.js.map +1 -0
  613. package/dist/admin/utils/canDropItemOnFolder.mjs.map +1 -0
  614. package/dist/admin/utils/createRafBatcher.js.map +1 -0
  615. package/dist/admin/utils/createRafBatcher.mjs.map +1 -0
  616. package/dist/admin/utils/downloadFile.js +13 -7
  617. package/dist/admin/utils/downloadFile.js.map +1 -1
  618. package/dist/admin/utils/downloadFile.mjs +13 -7
  619. package/dist/admin/utils/downloadFile.mjs.map +1 -1
  620. package/dist/admin/utils/files.js.map +1 -0
  621. package/dist/admin/utils/files.mjs.map +1 -0
  622. package/dist/admin/utils/flattenFolderStructure.js.map +1 -0
  623. package/dist/admin/utils/flattenFolderStructure.mjs.map +1 -0
  624. package/dist/admin/utils/formatMoveSuccessMessage.js.map +1 -0
  625. package/dist/admin/utils/formatMoveSuccessMessage.mjs.map +1 -0
  626. package/dist/admin/utils/getApiErrorMessage.js.map +1 -0
  627. package/dist/admin/utils/getApiErrorMessage.mjs.map +1 -0
  628. package/dist/admin/utils/getAssetIcon.js +28 -0
  629. package/dist/admin/utils/getAssetIcon.js.map +1 -0
  630. package/dist/admin/utils/getAssetIcon.mjs +26 -0
  631. package/dist/admin/utils/getAssetIcon.mjs.map +1 -0
  632. package/dist/admin/utils/getFolderLabel.js.map +1 -0
  633. package/dist/admin/utils/getFolderLabel.mjs.map +1 -0
  634. package/dist/admin/utils/getRelationId.js.map +1 -0
  635. package/dist/admin/utils/getRelationId.mjs.map +1 -0
  636. package/dist/admin/utils/isEventFromWithin.js.map +1 -0
  637. package/dist/admin/utils/isEventFromWithin.mjs.map +1 -0
  638. package/dist/admin/utils/itemLocations.js.map +1 -0
  639. package/dist/admin/utils/itemLocations.mjs.map +1 -0
  640. package/dist/admin/utils/itemSource.js.map +1 -0
  641. package/dist/admin/utils/itemSource.mjs.map +1 -0
  642. package/dist/admin/utils/searchQueryParam.js.map +1 -0
  643. package/dist/admin/utils/searchQueryParam.mjs.map +1 -0
  644. package/dist/admin/utils/translations.js +8 -0
  645. package/dist/admin/utils/translations.js.map +1 -0
  646. package/dist/admin/utils/translations.mjs +6 -0
  647. package/dist/admin/utils/translations.mjs.map +1 -0
  648. package/dist/server/controllers/admin-settings.js +1 -4
  649. package/dist/server/controllers/admin-settings.js.map +1 -1
  650. package/dist/server/controllers/admin-settings.mjs +1 -4
  651. package/dist/server/controllers/admin-settings.mjs.map +1 -1
  652. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js +147 -0
  653. package/dist/server/migrations/unsign-richtext-and-blocks-urls.js.map +1 -0
  654. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs +145 -0
  655. package/dist/server/migrations/unsign-richtext-and-blocks-urls.mjs.map +1 -0
  656. package/dist/server/register.js +3 -0
  657. package/dist/server/register.js.map +1 -1
  658. package/dist/server/register.mjs +3 -0
  659. package/dist/server/register.mjs.map +1 -1
  660. package/dist/server/routes/admin.js +4 -1
  661. package/dist/server/routes/admin.js.map +1 -1
  662. package/dist/server/routes/admin.mjs +4 -1
  663. package/dist/server/routes/admin.mjs.map +1 -1
  664. package/dist/server/services/ai-metadata.js +1 -1
  665. package/dist/server/services/ai-metadata.js.map +1 -1
  666. package/dist/server/services/ai-metadata.mjs +1 -1
  667. package/dist/server/services/ai-metadata.mjs.map +1 -1
  668. package/dist/server/services/extensions/index.js +17 -5
  669. package/dist/server/services/extensions/index.js.map +1 -1
  670. package/dist/server/services/extensions/index.mjs +16 -4
  671. package/dist/server/services/extensions/index.mjs.map +1 -1
  672. package/dist/server/services/extensions/utils.js +318 -19
  673. package/dist/server/services/extensions/utils.js.map +1 -1
  674. package/dist/server/services/extensions/utils.mjs +309 -20
  675. package/dist/server/services/extensions/utils.mjs.map +1 -1
  676. package/dist/server/services/metrics.js +4 -3
  677. package/dist/server/services/metrics.js.map +1 -1
  678. package/dist/server/services/metrics.mjs +4 -3
  679. package/dist/server/services/metrics.mjs.map +1 -1
  680. package/dist/server/src/controllers/admin-settings.d.ts +1 -1
  681. package/dist/server/src/controllers/admin-settings.d.ts.map +1 -1
  682. package/dist/server/src/controllers/index.d.ts +1 -1
  683. package/dist/server/src/index.d.ts +1 -1
  684. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts +18 -0
  685. package/dist/server/src/migrations/unsign-richtext-and-blocks-urls.d.ts.map +1 -0
  686. package/dist/server/src/register.d.ts.map +1 -1
  687. package/dist/server/src/routes/admin.d.ts.map +1 -1
  688. package/dist/server/src/services/extensions/index.d.ts.map +1 -1
  689. package/dist/server/src/services/extensions/utils.d.ts +52 -2
  690. package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
  691. package/dist/server/src/services/metrics.d.ts.map +1 -1
  692. package/package.json +6 -6
  693. package/dist/admin/ai/components/AIAssetCard.js +0 -621
  694. package/dist/admin/ai/components/AIAssetCard.js.map +0 -1
  695. package/dist/admin/ai/components/AIAssetCard.mjs +0 -598
  696. package/dist/admin/ai/components/AIAssetCard.mjs.map +0 -1
  697. package/dist/admin/ai/components/AIUploadModal.js.map +0 -1
  698. package/dist/admin/ai/components/AIUploadModal.mjs.map +0 -1
  699. package/dist/admin/components/AssetCard/AssetCard.js +0 -67
  700. package/dist/admin/components/AssetCard/AssetCard.js.map +0 -1
  701. package/dist/admin/components/AssetCard/AssetCard.mjs +0 -65
  702. package/dist/admin/components/AssetCard/AssetCard.mjs.map +0 -1
  703. package/dist/admin/components/AssetCard/AssetCardBase.js.map +0 -1
  704. package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +0 -1
  705. package/dist/admin/components/AssetCard/AudioAssetCard.js.map +0 -1
  706. package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +0 -1
  707. package/dist/admin/components/AssetCard/AudioPreview.js.map +0 -1
  708. package/dist/admin/components/AssetCard/AudioPreview.mjs.map +0 -1
  709. package/dist/admin/components/AssetCard/DocAssetCard.js.map +0 -1
  710. package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +0 -1
  711. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +0 -1
  712. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +0 -1
  713. package/dist/admin/components/AssetCard/UploadingAssetCard.js +0 -154
  714. package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +0 -1
  715. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +0 -132
  716. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +0 -1
  717. package/dist/admin/components/AssetCard/VideoAssetCard.js.map +0 -1
  718. package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +0 -1
  719. package/dist/admin/components/AssetCard/VideoPreview.js.map +0 -1
  720. package/dist/admin/components/AssetCard/VideoPreview.mjs.map +0 -1
  721. package/dist/admin/components/AssetDialog/AssetDialog.js.map +0 -1
  722. package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +0 -1
  723. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -320
  724. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +0 -1
  725. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -318
  726. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +0 -1
  727. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +0 -1
  728. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +0 -1
  729. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +0 -1
  730. package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +0 -1
  731. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +0 -1
  732. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +0 -1
  733. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +0 -1
  734. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +0 -1
  735. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +0 -1
  736. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +0 -1
  737. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +0 -1
  738. package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +0 -1
  739. package/dist/admin/components/AssetDialog/DialogFooter.js.map +0 -1
  740. package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +0 -1
  741. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +0 -1
  742. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +0 -1
  743. package/dist/admin/components/AssetGridList/AssetGridList.js.map +0 -1
  744. package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +0 -1
  745. package/dist/admin/components/AssetGridList/Draggable.js.map +0 -1
  746. package/dist/admin/components/AssetGridList/Draggable.mjs.map +0 -1
  747. package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +0 -1
  748. package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +0 -1
  749. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +0 -1
  750. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +0 -1
  751. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +0 -1
  752. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +0 -1
  753. package/dist/admin/components/ContextInfo/ContextInfo.js.map +0 -1
  754. package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +0 -1
  755. package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +0 -1
  756. package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +0 -1
  757. package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +0 -1
  758. package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +0 -1
  759. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +0 -1
  760. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +0 -1
  761. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +0 -114
  762. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +0 -1
  763. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +0 -89
  764. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +0 -1
  765. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +0 -1
  766. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +0 -1
  767. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +0 -1
  768. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +0 -1
  769. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +0 -362
  770. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +0 -1
  771. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +0 -337
  772. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +0 -1
  773. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +0 -1
  774. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +0 -1
  775. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +0 -1
  776. package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +0 -1
  777. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +0 -1
  778. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +0 -1
  779. package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +0 -1
  780. package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +0 -1
  781. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +0 -1
  782. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +0 -1
  783. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +0 -1
  784. package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +0 -1
  785. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +0 -1
  786. package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +0 -1
  787. package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +0 -1
  788. package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +0 -1
  789. package/dist/admin/components/FilterList/FilterList.js.map +0 -1
  790. package/dist/admin/components/FilterList/FilterList.mjs.map +0 -1
  791. package/dist/admin/components/FilterList/FilterTag.js.map +0 -1
  792. package/dist/admin/components/FilterList/FilterTag.mjs.map +0 -1
  793. package/dist/admin/components/FilterPopover/FilterPopover.js.map +0 -1
  794. package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +0 -1
  795. package/dist/admin/components/FilterPopover/FilterValueInput.js.map +0 -1
  796. package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +0 -1
  797. package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +0 -1
  798. package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +0 -1
  799. package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +0 -1
  800. package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +0 -1
  801. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +0 -1
  802. package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +0 -1
  803. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +0 -1
  804. package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +0 -1
  805. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +0 -1
  806. package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +0 -1
  807. package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +0 -1
  808. package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +0 -1
  809. package/dist/admin/components/FolderGridList/FolderGridList.js.map +0 -1
  810. package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +0 -1
  811. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +0 -1
  812. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +0 -1
  813. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +0 -89
  814. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +0 -1
  815. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +0 -87
  816. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +0 -1
  817. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +0 -1
  818. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +0 -1
  819. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +0 -1
  820. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +0 -1
  821. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +0 -111
  822. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +0 -1
  823. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +0 -89
  824. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +0 -1
  825. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +0 -1
  826. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +0 -1
  827. package/dist/admin/components/SelectTree/Option.js.map +0 -1
  828. package/dist/admin/components/SelectTree/Option.mjs.map +0 -1
  829. package/dist/admin/components/SelectTree/SelectTree.js.map +0 -1
  830. package/dist/admin/components/SelectTree/SelectTree.mjs.map +0 -1
  831. package/dist/admin/components/SelectTree/utils/flattenTree.js.map +0 -1
  832. package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +0 -1
  833. package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +0 -1
  834. package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +0 -1
  835. package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +0 -1
  836. package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +0 -1
  837. package/dist/admin/components/SortPicker/SortPicker.js +0 -40
  838. package/dist/admin/components/SortPicker/SortPicker.js.map +0 -1
  839. package/dist/admin/components/SortPicker/SortPicker.mjs +0 -38
  840. package/dist/admin/components/SortPicker/SortPicker.mjs.map +0 -1
  841. package/dist/admin/components/TableList/CellContent.js.map +0 -1
  842. package/dist/admin/components/TableList/CellContent.mjs.map +0 -1
  843. package/dist/admin/components/TableList/PreviewCell.js +0 -116
  844. package/dist/admin/components/TableList/PreviewCell.js.map +0 -1
  845. package/dist/admin/components/TableList/PreviewCell.mjs +0 -114
  846. package/dist/admin/components/TableList/PreviewCell.mjs.map +0 -1
  847. package/dist/admin/components/TableList/TableList.js +0 -100
  848. package/dist/admin/components/TableList/TableList.js.map +0 -1
  849. package/dist/admin/components/TableList/TableList.mjs +0 -98
  850. package/dist/admin/components/TableList/TableList.mjs.map +0 -1
  851. package/dist/admin/components/TableList/TableRows.js +0 -105
  852. package/dist/admin/components/TableList/TableRows.js.map +0 -1
  853. package/dist/admin/components/TableList/TableRows.mjs +0 -103
  854. package/dist/admin/components/TableList/TableRows.mjs.map +0 -1
  855. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +0 -1
  856. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +0 -1
  857. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +0 -177
  858. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +0 -1
  859. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +0 -155
  860. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +0 -1
  861. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +0 -1
  862. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +0 -1
  863. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +0 -1
  864. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +0 -1
  865. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +0 -1
  866. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +0 -1
  867. package/dist/admin/components/UploadProgress/UploadProgress.js.map +0 -1
  868. package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +0 -1
  869. package/dist/admin/future/App.js +0 -33
  870. package/dist/admin/future/App.js.map +0 -1
  871. package/dist/admin/future/App.mjs +0 -31
  872. package/dist/admin/future/App.mjs.map +0 -1
  873. package/dist/admin/future/components/Drawer.js.map +0 -1
  874. package/dist/admin/future/components/Drawer.mjs.map +0 -1
  875. package/dist/admin/future/components/TruncatedText.js.map +0 -1
  876. package/dist/admin/future/components/TruncatedText.mjs.map +0 -1
  877. package/dist/admin/future/components/UploadProgressDialog.js.map +0 -1
  878. package/dist/admin/future/components/UploadProgressDialog.mjs.map +0 -1
  879. package/dist/admin/future/hooks/useAIMetadataEnabled.js +0 -39
  880. package/dist/admin/future/hooks/useAIMetadataEnabled.js.map +0 -1
  881. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs +0 -37
  882. package/dist/admin/future/hooks/useAIMetadataEnabled.mjs.map +0 -1
  883. package/dist/admin/future/hooks/useApiErrorMessage.js.map +0 -1
  884. package/dist/admin/future/hooks/useApiErrorMessage.mjs.map +0 -1
  885. package/dist/admin/future/hooks/useMediaLibraryPermissions.js +0 -35
  886. package/dist/admin/future/hooks/useMediaLibraryPermissions.js.map +0 -1
  887. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs +0 -33
  888. package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs.map +0 -1
  889. package/dist/admin/future/hooks/useTracking.js +0 -57
  890. package/dist/admin/future/hooks/useTracking.js.map +0 -1
  891. package/dist/admin/future/hooks/useTracking.mjs +0 -53
  892. package/dist/admin/future/hooks/useTracking.mjs.map +0 -1
  893. package/dist/admin/future/pages/Assets/AssetsPage.js +0 -828
  894. package/dist/admin/future/pages/Assets/AssetsPage.js.map +0 -1
  895. package/dist/admin/future/pages/Assets/AssetsPage.mjs +0 -806
  896. package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +0 -1
  897. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.js.map +0 -1
  898. package/dist/admin/future/pages/Assets/components/ActionsMenuContent.mjs.map +0 -1
  899. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.js.map +0 -1
  900. package/dist/admin/future/pages/Assets/components/AssetActionsMenu.mjs.map +0 -1
  901. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +0 -1
  902. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +0 -1
  903. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +0 -1202
  904. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +0 -1
  905. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +0 -1175
  906. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +0 -1
  907. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +0 -261
  908. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +0 -1
  909. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +0 -239
  910. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +0 -1
  911. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.js.map +0 -1
  912. package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.mjs.map +0 -1
  913. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +0 -534
  914. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +0 -1
  915. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +0 -532
  916. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +0 -1
  917. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.js.map +0 -1
  918. package/dist/admin/future/pages/Assets/components/AssetsSearchInput.mjs.map +0 -1
  919. package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +0 -1
  920. package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +0 -1
  921. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js +0 -431
  922. package/dist/admin/future/pages/Assets/components/BulkActionsBar.js.map +0 -1
  923. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs +0 -429
  924. package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs.map +0 -1
  925. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.js.map +0 -1
  926. package/dist/admin/future/pages/Assets/components/BulkMoveDialog.mjs.map +0 -1
  927. package/dist/admin/future/pages/Assets/components/BusyOverlay.js.map +0 -1
  928. package/dist/admin/future/pages/Assets/components/BusyOverlay.mjs.map +0 -1
  929. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.js.map +0 -1
  930. package/dist/admin/future/pages/Assets/components/DateRangeCalendar.mjs.map +0 -1
  931. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.js.map +0 -1
  932. package/dist/admin/future/pages/Assets/components/DeleteItemsDialog.mjs.map +0 -1
  933. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +0 -1
  934. package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +0 -1
  935. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js.map +0 -1
  936. package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +0 -1
  937. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.js.map +0 -1
  938. package/dist/admin/future/pages/Assets/components/Dnd/buildDragSet.mjs.map +0 -1
  939. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.js.map +0 -1
  940. package/dist/admin/future/pages/Assets/components/Dnd/computeValidDropTargets.mjs.map +0 -1
  941. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.js.map +0 -1
  942. package/dist/admin/future/pages/Assets/components/Dnd/dndIds.mjs.map +0 -1
  943. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.js.map +0 -1
  944. package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.mjs.map +0 -1
  945. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.js.map +0 -1
  946. package/dist/admin/future/pages/Assets/components/Dnd/useFolderTreeDroppable.mjs.map +0 -1
  947. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +0 -1
  948. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs.map +0 -1
  949. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +0 -1
  950. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +0 -1
  951. package/dist/admin/future/pages/Assets/components/EmptyState.js.map +0 -1
  952. package/dist/admin/future/pages/Assets/components/EmptyState.mjs.map +0 -1
  953. package/dist/admin/future/pages/Assets/components/FilterBadges.js.map +0 -1
  954. package/dist/admin/future/pages/Assets/components/FilterBadges.mjs.map +0 -1
  955. package/dist/admin/future/pages/Assets/components/FilterMenu.js.map +0 -1
  956. package/dist/admin/future/pages/Assets/components/FilterMenu.mjs.map +0 -1
  957. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.js.map +0 -1
  958. package/dist/admin/future/pages/Assets/components/FolderActionsMenu.mjs.map +0 -1
  959. package/dist/admin/future/pages/Assets/components/FolderFormDialog.js.map +0 -1
  960. package/dist/admin/future/pages/Assets/components/FolderFormDialog.mjs.map +0 -1
  961. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +0 -1
  962. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +0 -1
  963. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.js.map +0 -1
  964. package/dist/admin/future/pages/Assets/components/FolderTree/useSpringLoadedExpand.mjs.map +0 -1
  965. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +0 -1
  966. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.mjs.map +0 -1
  967. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.js.map +0 -1
  968. package/dist/admin/future/pages/Assets/components/MainAreaContextMenu.mjs.map +0 -1
  969. package/dist/admin/future/pages/Assets/components/SortMenu.js.map +0 -1
  970. package/dist/admin/future/pages/Assets/components/SortMenu.mjs.map +0 -1
  971. package/dist/admin/future/pages/Assets/constants.js.map +0 -1
  972. package/dist/admin/future/pages/Assets/constants.mjs.map +0 -1
  973. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.js.map +0 -1
  974. package/dist/admin/future/pages/Assets/hooks/useAssetSearch.mjs.map +0 -1
  975. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.js.map +0 -1
  976. package/dist/admin/future/pages/Assets/hooks/useAssetSelection.mjs.map +0 -1
  977. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.js.map +0 -1
  978. package/dist/admin/future/pages/Assets/hooks/useBusyAssets.mjs.map +0 -1
  979. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +0 -1
  980. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +0 -1
  981. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +0 -1
  982. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +0 -1
  983. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +0 -1
  984. package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +0 -1
  985. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.js.map +0 -1
  986. package/dist/admin/future/pages/Assets/hooks/useInfiniteScrollSentinel.mjs.map +0 -1
  987. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.js.map +0 -1
  988. package/dist/admin/future/pages/Assets/hooks/useIsAssetDetailsOpen.mjs.map +0 -1
  989. package/dist/admin/future/pages/Assets/hooks/useListFilters.js.map +0 -1
  990. package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs.map +0 -1
  991. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.js.map +0 -1
  992. package/dist/admin/future/pages/Assets/hooks/useListScrollRestoration.mjs.map +0 -1
  993. package/dist/admin/future/pages/Assets/hooks/useListSort.js.map +0 -1
  994. package/dist/admin/future/pages/Assets/hooks/useListSort.mjs.map +0 -1
  995. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.js.map +0 -1
  996. package/dist/admin/future/pages/Assets/utils/buildAssetFilters.mjs.map +0 -1
  997. package/dist/admin/future/pages/Assets/utils/listQueryKey.js.map +0 -1
  998. package/dist/admin/future/pages/Assets/utils/listQueryKey.mjs.map +0 -1
  999. package/dist/admin/future/pages/Assets/utils/mergeMixedList.js.map +0 -1
  1000. package/dist/admin/future/pages/Assets/utils/mergeMixedList.mjs.map +0 -1
  1001. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.js.map +0 -1
  1002. package/dist/admin/future/pages/Assets/utils/mergeUploadedAssets.mjs.map +0 -1
  1003. package/dist/admin/future/pages/Assets/utils/renderedKeys.js.map +0 -1
  1004. package/dist/admin/future/pages/Assets/utils/renderedKeys.mjs.map +0 -1
  1005. package/dist/admin/future/pages/Assets/utils/selection.js.map +0 -1
  1006. package/dist/admin/future/pages/Assets/utils/selection.mjs.map +0 -1
  1007. package/dist/admin/future/services/api.js.map +0 -1
  1008. package/dist/admin/future/services/api.mjs.map +0 -1
  1009. package/dist/admin/future/services/assets.js.map +0 -1
  1010. package/dist/admin/future/services/assets.mjs.map +0 -1
  1011. package/dist/admin/future/services/folders.js.map +0 -1
  1012. package/dist/admin/future/services/folders.mjs.map +0 -1
  1013. package/dist/admin/future/services/settings.js.map +0 -1
  1014. package/dist/admin/future/services/settings.mjs.map +0 -1
  1015. package/dist/admin/future/services/uploadFileViaXHR.js.map +0 -1
  1016. package/dist/admin/future/services/uploadFileViaXHR.mjs.map +0 -1
  1017. package/dist/admin/future/store/hooks.js.map +0 -1
  1018. package/dist/admin/future/store/hooks.mjs.map +0 -1
  1019. package/dist/admin/future/store/uploadProgress.js.map +0 -1
  1020. package/dist/admin/future/store/uploadProgress.mjs.map +0 -1
  1021. package/dist/admin/future/utils/buildBulkMovePayload.js.map +0 -1
  1022. package/dist/admin/future/utils/buildBulkMovePayload.mjs.map +0 -1
  1023. package/dist/admin/future/utils/buildDragSetFromSelection.js.map +0 -1
  1024. package/dist/admin/future/utils/buildDragSetFromSelection.mjs.map +0 -1
  1025. package/dist/admin/future/utils/canDropItemOnFolder.js.map +0 -1
  1026. package/dist/admin/future/utils/canDropItemOnFolder.mjs.map +0 -1
  1027. package/dist/admin/future/utils/createRafBatcher.js.map +0 -1
  1028. package/dist/admin/future/utils/createRafBatcher.mjs.map +0 -1
  1029. package/dist/admin/future/utils/downloadFile.js +0 -19
  1030. package/dist/admin/future/utils/downloadFile.js.map +0 -1
  1031. package/dist/admin/future/utils/downloadFile.mjs +0 -17
  1032. package/dist/admin/future/utils/downloadFile.mjs.map +0 -1
  1033. package/dist/admin/future/utils/files.js.map +0 -1
  1034. package/dist/admin/future/utils/files.mjs.map +0 -1
  1035. package/dist/admin/future/utils/flattenFolderStructure.js.map +0 -1
  1036. package/dist/admin/future/utils/flattenFolderStructure.mjs.map +0 -1
  1037. package/dist/admin/future/utils/formatMoveSuccessMessage.js.map +0 -1
  1038. package/dist/admin/future/utils/formatMoveSuccessMessage.mjs.map +0 -1
  1039. package/dist/admin/future/utils/getApiErrorMessage.js.map +0 -1
  1040. package/dist/admin/future/utils/getApiErrorMessage.mjs.map +0 -1
  1041. package/dist/admin/future/utils/getAssetIcon.js +0 -28
  1042. package/dist/admin/future/utils/getAssetIcon.js.map +0 -1
  1043. package/dist/admin/future/utils/getAssetIcon.mjs +0 -26
  1044. package/dist/admin/future/utils/getAssetIcon.mjs.map +0 -1
  1045. package/dist/admin/future/utils/getFolderLabel.js.map +0 -1
  1046. package/dist/admin/future/utils/getFolderLabel.mjs.map +0 -1
  1047. package/dist/admin/future/utils/getRelationId.js.map +0 -1
  1048. package/dist/admin/future/utils/getRelationId.mjs.map +0 -1
  1049. package/dist/admin/future/utils/isEventFromWithin.js.map +0 -1
  1050. package/dist/admin/future/utils/isEventFromWithin.mjs.map +0 -1
  1051. package/dist/admin/future/utils/itemLocations.js.map +0 -1
  1052. package/dist/admin/future/utils/itemLocations.mjs.map +0 -1
  1053. package/dist/admin/future/utils/itemSource.js.map +0 -1
  1054. package/dist/admin/future/utils/itemSource.mjs.map +0 -1
  1055. package/dist/admin/future/utils/searchQueryParam.js.map +0 -1
  1056. package/dist/admin/future/utils/searchQueryParam.mjs.map +0 -1
  1057. package/dist/admin/future/utils/translations.js +0 -8
  1058. package/dist/admin/future/utils/translations.js.map +0 -1
  1059. package/dist/admin/future/utils/translations.mjs +0 -6
  1060. package/dist/admin/future/utils/translations.mjs.map +0 -1
  1061. package/dist/admin/hooks/useAIMetadataJob.js +0 -114
  1062. package/dist/admin/hooks/useAIMetadataJob.js.map +0 -1
  1063. package/dist/admin/hooks/useAIMetadataJob.mjs +0 -92
  1064. package/dist/admin/hooks/useAIMetadataJob.mjs.map +0 -1
  1065. package/dist/admin/hooks/useAiAvailability.js.map +0 -1
  1066. package/dist/admin/hooks/useAiAvailability.mjs.map +0 -1
  1067. package/dist/admin/hooks/useAssets.js +0 -127
  1068. package/dist/admin/hooks/useAssets.js.map +0 -1
  1069. package/dist/admin/hooks/useAssets.mjs +0 -105
  1070. package/dist/admin/hooks/useAssets.mjs.map +0 -1
  1071. package/dist/admin/hooks/useBulkEdit.js +0 -65
  1072. package/dist/admin/hooks/useBulkEdit.js.map +0 -1
  1073. package/dist/admin/hooks/useBulkEdit.mjs +0 -63
  1074. package/dist/admin/hooks/useBulkEdit.mjs.map +0 -1
  1075. package/dist/admin/hooks/useBulkMove.js +0 -78
  1076. package/dist/admin/hooks/useBulkMove.js.map +0 -1
  1077. package/dist/admin/hooks/useBulkMove.mjs +0 -76
  1078. package/dist/admin/hooks/useBulkMove.mjs.map +0 -1
  1079. package/dist/admin/hooks/useBulkRemove.js +0 -83
  1080. package/dist/admin/hooks/useBulkRemove.js.map +0 -1
  1081. package/dist/admin/hooks/useBulkRemove.mjs +0 -81
  1082. package/dist/admin/hooks/useBulkRemove.mjs.map +0 -1
  1083. package/dist/admin/hooks/useConfig.js +0 -58
  1084. package/dist/admin/hooks/useConfig.js.map +0 -1
  1085. package/dist/admin/hooks/useConfig.mjs +0 -56
  1086. package/dist/admin/hooks/useConfig.mjs.map +0 -1
  1087. package/dist/admin/hooks/useCropImg.js.map +0 -1
  1088. package/dist/admin/hooks/useCropImg.mjs.map +0 -1
  1089. package/dist/admin/hooks/useEditAsset.js +0 -115
  1090. package/dist/admin/hooks/useEditAsset.js.map +0 -1
  1091. package/dist/admin/hooks/useEditAsset.mjs +0 -93
  1092. package/dist/admin/hooks/useEditAsset.mjs.map +0 -1
  1093. package/dist/admin/hooks/useEditFolder.js +0 -45
  1094. package/dist/admin/hooks/useEditFolder.js.map +0 -1
  1095. package/dist/admin/hooks/useEditFolder.mjs +0 -43
  1096. package/dist/admin/hooks/useEditFolder.mjs.map +0 -1
  1097. package/dist/admin/hooks/useFolder.js +0 -57
  1098. package/dist/admin/hooks/useFolder.js.map +0 -1
  1099. package/dist/admin/hooks/useFolder.mjs +0 -55
  1100. package/dist/admin/hooks/useFolder.mjs.map +0 -1
  1101. package/dist/admin/hooks/useFolderStructure.js +0 -52
  1102. package/dist/admin/hooks/useFolderStructure.js.map +0 -1
  1103. package/dist/admin/hooks/useFolderStructure.mjs +0 -50
  1104. package/dist/admin/hooks/useFolderStructure.mjs.map +0 -1
  1105. package/dist/admin/hooks/useFolders.js +0 -108
  1106. package/dist/admin/hooks/useFolders.js.map +0 -1
  1107. package/dist/admin/hooks/useFolders.mjs +0 -86
  1108. package/dist/admin/hooks/useFolders.mjs.map +0 -1
  1109. package/dist/admin/hooks/useModalQueryParams.js.map +0 -1
  1110. package/dist/admin/hooks/useModalQueryParams.mjs.map +0 -1
  1111. package/dist/admin/hooks/usePersistentState.js.map +0 -1
  1112. package/dist/admin/hooks/usePersistentState.mjs.map +0 -1
  1113. package/dist/admin/hooks/useRemoveAsset.js +0 -58
  1114. package/dist/admin/hooks/useRemoveAsset.js.map +0 -1
  1115. package/dist/admin/hooks/useRemoveAsset.mjs +0 -56
  1116. package/dist/admin/hooks/useRemoveAsset.mjs.map +0 -1
  1117. package/dist/admin/hooks/useSelectionState.js.map +0 -1
  1118. package/dist/admin/hooks/useSelectionState.mjs.map +0 -1
  1119. package/dist/admin/hooks/useSettings.js.map +0 -1
  1120. package/dist/admin/hooks/useSettings.mjs.map +0 -1
  1121. package/dist/admin/hooks/useUpload.js +0 -109
  1122. package/dist/admin/hooks/useUpload.js.map +0 -1
  1123. package/dist/admin/hooks/useUpload.mjs +0 -87
  1124. package/dist/admin/hooks/useUpload.mjs.map +0 -1
  1125. package/dist/admin/hooks/utils/renameKeys.js.map +0 -1
  1126. package/dist/admin/hooks/utils/renameKeys.mjs.map +0 -1
  1127. package/dist/admin/pages/App/App.js.map +0 -1
  1128. package/dist/admin/pages/App/App.mjs.map +0 -1
  1129. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +0 -145
  1130. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +0 -1
  1131. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -120
  1132. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +0 -1
  1133. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -109
  1134. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +0 -1
  1135. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -107
  1136. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +0 -1
  1137. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js +0 -10
  1138. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +0 -1
  1139. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs +0 -7
  1140. package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +0 -1
  1141. package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +0 -1
  1142. package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +0 -1
  1143. package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +0 -1
  1144. package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +0 -1
  1145. package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +0 -1
  1146. package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +0 -1
  1147. package/dist/admin/pages/App/MediaLibrary.js +0 -469
  1148. package/dist/admin/pages/App/MediaLibrary.js.map +0 -1
  1149. package/dist/admin/pages/App/MediaLibrary.mjs +0 -447
  1150. package/dist/admin/pages/App/MediaLibrary.mjs.map +0 -1
  1151. package/dist/admin/pages/App/components/BulkActions.js.map +0 -1
  1152. package/dist/admin/pages/App/components/BulkActions.mjs.map +0 -1
  1153. package/dist/admin/pages/App/components/BulkDeleteButton.js.map +0 -1
  1154. package/dist/admin/pages/App/components/BulkDeleteButton.mjs.map +0 -1
  1155. package/dist/admin/pages/App/components/BulkMoveButton.js.map +0 -1
  1156. package/dist/admin/pages/App/components/BulkMoveButton.mjs.map +0 -1
  1157. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +0 -1
  1158. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +0 -1
  1159. package/dist/admin/pages/App/components/Filters.js.map +0 -1
  1160. package/dist/admin/pages/App/components/Filters.mjs.map +0 -1
  1161. package/dist/admin/pages/App/components/Header.js.map +0 -1
  1162. package/dist/admin/pages/App/components/Header.mjs.map +0 -1
  1163. package/dist/admin/src/ai/components/AIAssetCard.d.ts +0 -13
  1164. package/dist/admin/src/ai/components/AIUploadModal.d.ts +0 -55
  1165. package/dist/admin/src/components/AssetCard/AssetCard.d.ts +0 -19
  1166. package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +0 -17
  1167. package/dist/admin/src/components/AssetDialog/AssetDialog.d.ts +0 -39
  1168. package/dist/admin/src/components/AssetDialog/BrowseStep/BrowseStep.d.ts +0 -63
  1169. package/dist/admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +0 -7
  1170. package/dist/admin/src/components/AssetDialog/SelectedStep/SelectedStep.d.ts +0 -8
  1171. package/dist/admin/src/components/AssetGridList/AssetGridList.d.ts +0 -13
  1172. package/dist/admin/src/components/BulkMoveDialog/BulkMoveDialog.d.ts +0 -15
  1173. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +0 -31
  1174. package/dist/admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +0 -8
  1175. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +0 -26
  1176. package/dist/admin/src/components/EditAssetDialog/RemoveAssetDialog.d.ts +0 -8
  1177. package/dist/admin/src/components/EditFolderDialog/EditFolderDialog.d.ts +0 -12
  1178. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +0 -10
  1179. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +0 -4
  1180. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +0 -9
  1181. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +0 -23
  1182. package/dist/admin/src/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +0 -10
  1183. package/dist/admin/src/components/SelectTree/Option.d.ts +0 -16
  1184. package/dist/admin/src/components/SortPicker/SortPicker.d.ts +0 -7
  1185. package/dist/admin/src/components/TableList/CellContent.d.ts +0 -8
  1186. package/dist/admin/src/components/TableList/PreviewCell.d.ts +0 -7
  1187. package/dist/admin/src/components/TableList/TableList.d.ts +0 -31
  1188. package/dist/admin/src/components/TableList/TableRows.d.ts +0 -22
  1189. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +0 -13
  1190. package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +0 -22
  1191. package/dist/admin/src/components/UploadAssetDialog/UploadAssetDialog.d.ts +0 -21
  1192. package/dist/admin/src/components/UploadProgress/UploadProgress.d.ts +0 -7
  1193. package/dist/admin/src/future/App.d.ts +0 -1
  1194. package/dist/admin/src/future/hooks/useMediaLibraryPermissions.d.ts +0 -21
  1195. package/dist/admin/src/future/hooks/useTracking.d.ts +0 -29
  1196. package/dist/admin/src/future/pages/Assets/components/ActionsMenuContent.d.ts +0 -33
  1197. package/dist/admin/src/future/pages/Assets/components/AssetActionsMenu.d.ts +0 -26
  1198. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +0 -16
  1199. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +0 -46
  1200. package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetPreview.d.ts +0 -9
  1201. package/dist/admin/src/future/pages/Assets/components/AssetsGrid.d.ts +0 -12
  1202. package/dist/admin/src/future/pages/Assets/components/AssetsTable.d.ts +0 -18
  1203. package/dist/admin/src/future/pages/Assets/components/BulkActionsBar.d.ts +0 -28
  1204. package/dist/admin/src/future/pages/Assets/components/Dnd/computeValidDropTargets.d.ts +0 -7
  1205. package/dist/admin/src/future/pages/Assets/components/FolderActionsMenu.d.ts +0 -21
  1206. package/dist/admin/src/future/pages/Assets/hooks/useFolderNavigation.d.ts +0 -7
  1207. package/dist/admin/src/future/pages/Assets/hooks/useInfiniteAssets.d.ts +0 -45
  1208. package/dist/admin/src/future/pages/Assets/utils/mergeMixedList.d.ts +0 -40
  1209. package/dist/admin/src/future/pages/Assets/utils/mergeUploadedAssets.d.ts +0 -35
  1210. package/dist/admin/src/future/pages/Assets/utils/renderedKeys.d.ts +0 -19
  1211. package/dist/admin/src/future/services/api.d.ts +0 -99
  1212. package/dist/admin/src/future/services/assets.d.ts +0 -33
  1213. package/dist/admin/src/future/services/folders.d.ts +0 -37
  1214. package/dist/admin/src/future/services/settings.d.ts +0 -2
  1215. package/dist/admin/src/future/services/uploadFileViaXHR.d.ts +0 -23
  1216. package/dist/admin/src/future/store/uploadProgress.d.ts +0 -201
  1217. package/dist/admin/src/future/utils/canDropItemOnFolder.d.ts +0 -9
  1218. package/dist/admin/src/future/utils/downloadFile.d.ts +0 -6
  1219. package/dist/admin/src/future/utils/flattenFolderStructure.d.ts +0 -18
  1220. package/dist/admin/src/future/utils/getFolderLabel.d.ts +0 -11
  1221. package/dist/admin/src/future/utils/itemLocations.d.ts +0 -31
  1222. package/dist/admin/src/hooks/useAIMetadataJob.d.ts +0 -9
  1223. package/dist/admin/src/hooks/useAssets.d.ts +0 -14
  1224. package/dist/admin/src/hooks/useBulkEdit.d.ts +0 -91
  1225. package/dist/admin/src/hooks/useBulkMove.d.ts +0 -209
  1226. package/dist/admin/src/hooks/useBulkRemove.d.ts +0 -241
  1227. package/dist/admin/src/hooks/useConfig.d.ts +0 -5
  1228. package/dist/admin/src/hooks/useEditAsset.d.ts +0 -119
  1229. package/dist/admin/src/hooks/useEditFolder.d.ts +0 -72
  1230. package/dist/admin/src/hooks/useFolder.d.ts +0 -7
  1231. package/dist/admin/src/hooks/useFolderStructure.d.ts +0 -18
  1232. package/dist/admin/src/hooks/useFolders.d.ts +0 -11
  1233. package/dist/admin/src/hooks/useModalQueryParams.d.ts +0 -20
  1234. package/dist/admin/src/hooks/useRemoveAsset.d.ts +0 -8
  1235. package/dist/admin/src/hooks/useUpload.d.ts +0 -15
  1236. package/dist/admin/src/pages/App/ConfigureTheView/ConfigureTheView.d.ts +0 -6
  1237. package/dist/admin/src/pages/App/ConfigureTheView/components/Settings.d.ts +0 -13
  1238. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +0 -12
  1239. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +0 -8
  1240. package/dist/admin/src/pages/App/components/BulkActions.d.ts +0 -15
  1241. package/dist/admin/src/pages/App/components/BulkDeleteButton.d.ts +0 -7
  1242. package/dist/admin/src/pages/App/components/BulkMoveButton.d.ts +0 -15
  1243. package/dist/admin/src/pages/App/components/Header.d.ts +0 -22
  1244. package/dist/admin/src/utils/containsAssetFilter.d.ts +0 -2
  1245. package/dist/admin/src/utils/createAssetUrl.d.ts +0 -2
  1246. package/dist/admin/src/utils/findRecursiveFolderByValue.d.ts +0 -11
  1247. package/dist/admin/src/utils/getAllowedFiles.d.ts +0 -14
  1248. package/dist/admin/src/utils/getBreadcrumbDataCM.d.ts +0 -19
  1249. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +0 -18
  1250. package/dist/admin/src/utils/getFolderParents.d.ts +0 -11
  1251. package/dist/admin/src/utils/getFolderURL.d.ts +0 -5
  1252. package/dist/admin/src/utils/icons.d.ts +0 -15
  1253. package/dist/admin/src/utils/index.d.ts +0 -26
  1254. package/dist/admin/src/utils/rawFileToAsset.d.ts +0 -14
  1255. package/dist/admin/utils/appendSearchParamsToUrl.js.map +0 -1
  1256. package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +0 -1
  1257. package/dist/admin/utils/containsAssetFilter.js.map +0 -1
  1258. package/dist/admin/utils/containsAssetFilter.mjs.map +0 -1
  1259. package/dist/admin/utils/createAssetUrl.js.map +0 -1
  1260. package/dist/admin/utils/createAssetUrl.mjs.map +0 -1
  1261. package/dist/admin/utils/displayedFilters.js.map +0 -1
  1262. package/dist/admin/utils/displayedFilters.mjs.map +0 -1
  1263. package/dist/admin/utils/findRecursiveFolderByValue.js.map +0 -1
  1264. package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +0 -1
  1265. package/dist/admin/utils/formatBytes.js.map +0 -1
  1266. package/dist/admin/utils/formatBytes.mjs.map +0 -1
  1267. package/dist/admin/utils/formatDuration.js.map +0 -1
  1268. package/dist/admin/utils/formatDuration.mjs.map +0 -1
  1269. package/dist/admin/utils/getAPIInnerErrors.js.map +0 -1
  1270. package/dist/admin/utils/getAPIInnerErrors.mjs.map +0 -1
  1271. package/dist/admin/utils/getAllowedFiles.js.map +0 -1
  1272. package/dist/admin/utils/getAllowedFiles.mjs.map +0 -1
  1273. package/dist/admin/utils/getBreadcrumbDataCM.js.map +0 -1
  1274. package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +0 -1
  1275. package/dist/admin/utils/getBreadcrumbDataML.js.map +0 -1
  1276. package/dist/admin/utils/getBreadcrumbDataML.mjs.map +0 -1
  1277. package/dist/admin/utils/getFileExtension.js.map +0 -1
  1278. package/dist/admin/utils/getFileExtension.mjs.map +0 -1
  1279. package/dist/admin/utils/getFolderParents.js.map +0 -1
  1280. package/dist/admin/utils/getFolderParents.mjs.map +0 -1
  1281. package/dist/admin/utils/getFolderURL.js.map +0 -1
  1282. package/dist/admin/utils/getFolderURL.mjs.map +0 -1
  1283. package/dist/admin/utils/getTrad.js +0 -8
  1284. package/dist/admin/utils/getTrad.js.map +0 -1
  1285. package/dist/admin/utils/getTrad.mjs +0 -6
  1286. package/dist/admin/utils/getTrad.mjs.map +0 -1
  1287. package/dist/admin/utils/icons.js +0 -23
  1288. package/dist/admin/utils/icons.js.map +0 -1
  1289. package/dist/admin/utils/icons.mjs +0 -19
  1290. package/dist/admin/utils/icons.mjs.map +0 -1
  1291. package/dist/admin/utils/moveElement.js.map +0 -1
  1292. package/dist/admin/utils/moveElement.mjs.map +0 -1
  1293. package/dist/admin/utils/normalizeAPIError.js.map +0 -1
  1294. package/dist/admin/utils/normalizeAPIError.mjs.map +0 -1
  1295. package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +0 -1
  1296. package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +0 -1
  1297. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  1298. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  1299. package/dist/admin/utils/rawFileToAsset.js +0 -23
  1300. package/dist/admin/utils/rawFileToAsset.js.map +0 -1
  1301. package/dist/admin/utils/rawFileToAsset.mjs +0 -21
  1302. package/dist/admin/utils/rawFileToAsset.mjs.map +0 -1
  1303. package/dist/admin/utils/resolveFileMime.js.map +0 -1
  1304. package/dist/admin/utils/resolveFileMime.mjs.map +0 -1
  1305. package/dist/admin/utils/toSingularTypes.js.map +0 -1
  1306. package/dist/admin/utils/toSingularTypes.mjs.map +0 -1
  1307. package/dist/admin/utils/urlYupSchema.js.map +0 -1
  1308. package/dist/admin/utils/urlYupSchema.mjs.map +0 -1
  1309. package/dist/admin/utils/urlsToAssets.js +0 -42
  1310. package/dist/admin/utils/urlsToAssets.js.map +0 -1
  1311. package/dist/admin/utils/urlsToAssets.mjs +0 -40
  1312. package/dist/admin/utils/urlsToAssets.mjs.map +0 -1
  1313. /package/dist/admin/{future/components → components}/Drawer.js +0 -0
  1314. /package/dist/admin/{future/components → components}/Drawer.mjs +0 -0
  1315. /package/dist/admin/{future/components → components}/TruncatedText.js +0 -0
  1316. /package/dist/admin/{future/components → components}/TruncatedText.mjs +0 -0
  1317. /package/dist/admin/{future/components → components}/UploadProgressDialog.js +0 -0
  1318. /package/dist/admin/{future/components → components}/UploadProgressDialog.mjs +0 -0
  1319. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.js +0 -0
  1320. /package/dist/admin/{future/hooks → hooks}/useApiErrorMessage.mjs +0 -0
  1321. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.js +0 -0
  1322. /package/dist/admin/{ai → legacy/ai}/components/AIUploadModal.mjs +0 -0
  1323. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.js +0 -0
  1324. /package/dist/admin/{components → legacy/components}/AssetCard/AssetCardBase.mjs +0 -0
  1325. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.js +0 -0
  1326. /package/dist/admin/{components → legacy/components}/AssetCard/AudioAssetCard.mjs +0 -0
  1327. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.js +0 -0
  1328. /package/dist/admin/{components → legacy/components}/AssetCard/AudioPreview.mjs +0 -0
  1329. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.js +0 -0
  1330. /package/dist/admin/{components → legacy/components}/AssetCard/DocAssetCard.mjs +0 -0
  1331. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.js +0 -0
  1332. /package/dist/admin/{components → legacy/components}/AssetCard/ImageAssetCard.mjs +0 -0
  1333. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.js +0 -0
  1334. /package/dist/admin/{components → legacy/components}/AssetCard/VideoAssetCard.mjs +0 -0
  1335. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.js +0 -0
  1336. /package/dist/admin/{components → legacy/components}/AssetCard/VideoPreview.mjs +0 -0
  1337. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.js +0 -0
  1338. /package/dist/admin/{components → legacy/components}/AssetDialog/AssetDialog.mjs +0 -0
  1339. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.js +0 -0
  1340. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/Filters.mjs +0 -0
  1341. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.js +0 -0
  1342. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.mjs +0 -0
  1343. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +0 -0
  1344. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs +0 -0
  1345. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js +0 -0
  1346. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs +0 -0
  1347. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +0 -0
  1348. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -0
  1349. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.js +0 -0
  1350. /package/dist/admin/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.mjs +0 -0
  1351. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.js +0 -0
  1352. /package/dist/admin/{components → legacy/components}/AssetDialog/DialogFooter.mjs +0 -0
  1353. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.js +0 -0
  1354. /package/dist/admin/{components → legacy/components}/AssetDialog/SelectedStep/SelectedStep.mjs +0 -0
  1355. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.js +0 -0
  1356. /package/dist/admin/{components → legacy/components}/AssetGridList/AssetGridList.mjs +0 -0
  1357. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.js +0 -0
  1358. /package/dist/admin/{components → legacy/components}/AssetGridList/Draggable.mjs +0 -0
  1359. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.js +0 -0
  1360. /package/dist/admin/{components → legacy/components}/Breadcrumbs/Breadcrumbs.mjs +0 -0
  1361. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.js +0 -0
  1362. /package/dist/admin/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -0
  1363. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.js +0 -0
  1364. /package/dist/admin/{components → legacy/components}/BulkMoveDialog/BulkMoveDialog.mjs +0 -0
  1365. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.js +0 -0
  1366. /package/dist/admin/{components → legacy/components}/ContextInfo/ContextInfo.mjs +0 -0
  1367. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.js +0 -0
  1368. /package/dist/admin/{components → legacy/components}/CopyLinkButton/CopyLinkButton.mjs +0 -0
  1369. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.js +0 -0
  1370. /package/dist/admin/{components → legacy/components}/EditAssetDialog/DialogHeader.mjs +0 -0
  1371. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.js +0 -0
  1372. /package/dist/admin/{components → legacy/components}/EditAssetDialog/EditAssetContent.mjs +0 -0
  1373. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.js +0 -0
  1374. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -0
  1375. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -0
  1376. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -0
  1377. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.js +0 -0
  1378. /package/dist/admin/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.mjs +0 -0
  1379. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.js +0 -0
  1380. /package/dist/admin/{components → legacy/components}/EditAssetDialog/RemoveAssetDialog.mjs +0 -0
  1381. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.js +0 -0
  1382. /package/dist/admin/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.mjs +0 -0
  1383. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.js +0 -0
  1384. /package/dist/admin/{components → legacy/components}/EditFolderDialog/EditFolderDialog.mjs +0 -0
  1385. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.js +0 -0
  1386. /package/dist/admin/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -0
  1387. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.js +0 -0
  1388. /package/dist/admin/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.mjs +0 -0
  1389. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.js +0 -0
  1390. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.mjs +0 -0
  1391. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.js +0 -0
  1392. /package/dist/admin/{components → legacy/components}/EmptyAssets/EmptyAssets.mjs +0 -0
  1393. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.js +0 -0
  1394. /package/dist/admin/{components → legacy/components}/FilterList/FilterList.mjs +0 -0
  1395. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.js +0 -0
  1396. /package/dist/admin/{components → legacy/components}/FilterList/FilterTag.mjs +0 -0
  1397. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.js +0 -0
  1398. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterPopover.mjs +0 -0
  1399. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.js +0 -0
  1400. /package/dist/admin/{components → legacy/components}/FilterPopover/FilterValueInput.mjs +0 -0
  1401. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.js +0 -0
  1402. /package/dist/admin/{components → legacy/components}/FilterPopover/utils/getFilterList.mjs +0 -0
  1403. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.js +0 -0
  1404. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCard/FolderCard.mjs +0 -0
  1405. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.js +0 -0
  1406. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.mjs +0 -0
  1407. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js +0 -0
  1408. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs +0 -0
  1409. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js +0 -0
  1410. /package/dist/admin/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs +0 -0
  1411. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.js +0 -0
  1412. /package/dist/admin/{components → legacy/components}/FolderCard/contexts/FolderCard.mjs +0 -0
  1413. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.js +0 -0
  1414. /package/dist/admin/{components → legacy/components}/FolderGridList/FolderGridList.mjs +0 -0
  1415. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.js +0 -0
  1416. /package/dist/admin/{components → legacy/components}/MediaLibraryDialog/MediaLibraryDialog.mjs +0 -0
  1417. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -0
  1418. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -0
  1419. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.js +0 -0
  1420. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/Carousel/CarouselAssets.mjs +0 -0
  1421. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.js +0 -0
  1422. /package/dist/admin/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.mjs +0 -0
  1423. /package/dist/admin/{components → legacy/components}/SelectTree/Option.js +0 -0
  1424. /package/dist/admin/{components → legacy/components}/SelectTree/Option.mjs +0 -0
  1425. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.js +0 -0
  1426. /package/dist/admin/{components → legacy/components}/SelectTree/SelectTree.mjs +0 -0
  1427. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.js +0 -0
  1428. /package/dist/admin/{components → legacy/components}/SelectTree/utils/flattenTree.mjs +0 -0
  1429. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.js +0 -0
  1430. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getOpenValues.mjs +0 -0
  1431. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.js +0 -0
  1432. /package/dist/admin/{components → legacy/components}/SelectTree/utils/getValuesToClose.mjs +0 -0
  1433. /package/dist/admin/{components → legacy/components}/TableList/CellContent.js +0 -0
  1434. /package/dist/admin/{components → legacy/components}/TableList/CellContent.mjs +0 -0
  1435. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -0
  1436. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -0
  1437. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.js +0 -0
  1438. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -0
  1439. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +0 -0
  1440. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -0
  1441. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.js +0 -0
  1442. /package/dist/admin/{components → legacy/components}/UploadAssetDialog/UploadAssetDialog.mjs +0 -0
  1443. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.js +0 -0
  1444. /package/dist/admin/{components → legacy/components}/UploadProgress/UploadProgress.mjs +0 -0
  1445. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.js +0 -0
  1446. /package/dist/admin/{hooks → legacy/hooks}/useAiAvailability.mjs +0 -0
  1447. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.js +0 -0
  1448. /package/dist/admin/{hooks → legacy/hooks}/useCropImg.mjs +0 -0
  1449. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.js +0 -0
  1450. /package/dist/admin/{hooks → legacy/hooks}/useModalQueryParams.mjs +0 -0
  1451. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.js +0 -0
  1452. /package/dist/admin/{hooks → legacy/hooks}/usePersistentState.mjs +0 -0
  1453. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.js +0 -0
  1454. /package/dist/admin/{hooks → legacy/hooks}/useSelectionState.mjs +0 -0
  1455. /package/dist/admin/{hooks → legacy/hooks}/useSettings.js +0 -0
  1456. /package/dist/admin/{hooks → legacy/hooks}/useSettings.mjs +0 -0
  1457. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.js +0 -0
  1458. /package/dist/admin/{hooks → legacy/hooks}/utils/renameKeys.mjs +0 -0
  1459. /package/dist/admin/{pages → legacy/pages}/App/App.js +0 -0
  1460. /package/dist/admin/{pages → legacy/pages}/App/App.mjs +0 -0
  1461. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.js +0 -0
  1462. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/actions.mjs +0 -0
  1463. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.js +0 -0
  1464. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/init.mjs +0 -0
  1465. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.js +0 -0
  1466. /package/dist/admin/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.mjs +0 -0
  1467. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.js +0 -0
  1468. /package/dist/admin/{pages → legacy/pages}/App/components/BulkActions.mjs +0 -0
  1469. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.js +0 -0
  1470. /package/dist/admin/{pages → legacy/pages}/App/components/BulkDeleteButton.mjs +0 -0
  1471. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.js +0 -0
  1472. /package/dist/admin/{pages → legacy/pages}/App/components/BulkMoveButton.mjs +0 -0
  1473. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.js +0 -0
  1474. /package/dist/admin/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.mjs +0 -0
  1475. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.js +0 -0
  1476. /package/dist/admin/{pages → legacy/pages}/App/components/Filters.mjs +0 -0
  1477. /package/dist/admin/{pages → legacy/pages}/App/components/Header.js +0 -0
  1478. /package/dist/admin/{pages → legacy/pages}/App/components/Header.mjs +0 -0
  1479. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.js +0 -0
  1480. /package/dist/admin/{utils → legacy/utils}/appendSearchParamsToUrl.mjs +0 -0
  1481. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.js +0 -0
  1482. /package/dist/admin/{utils → legacy/utils}/containsAssetFilter.mjs +0 -0
  1483. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.js +0 -0
  1484. /package/dist/admin/{utils → legacy/utils}/createAssetUrl.mjs +0 -0
  1485. /package/dist/admin/{utils → legacy/utils}/displayedFilters.js +0 -0
  1486. /package/dist/admin/{utils → legacy/utils}/displayedFilters.mjs +0 -0
  1487. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.js +0 -0
  1488. /package/dist/admin/{utils → legacy/utils}/findRecursiveFolderByValue.mjs +0 -0
  1489. /package/dist/admin/{utils → legacy/utils}/formatBytes.js +0 -0
  1490. /package/dist/admin/{utils → legacy/utils}/formatBytes.mjs +0 -0
  1491. /package/dist/admin/{utils → legacy/utils}/formatDuration.js +0 -0
  1492. /package/dist/admin/{utils → legacy/utils}/formatDuration.mjs +0 -0
  1493. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.js +0 -0
  1494. /package/dist/admin/{utils → legacy/utils}/getAPIInnerErrors.mjs +0 -0
  1495. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.js +0 -0
  1496. /package/dist/admin/{utils → legacy/utils}/getAllowedFiles.mjs +0 -0
  1497. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.js +0 -0
  1498. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataCM.mjs +0 -0
  1499. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.js +0 -0
  1500. /package/dist/admin/{utils → legacy/utils}/getBreadcrumbDataML.mjs +0 -0
  1501. /package/dist/admin/{utils → legacy/utils}/getFileExtension.js +0 -0
  1502. /package/dist/admin/{utils → legacy/utils}/getFileExtension.mjs +0 -0
  1503. /package/dist/admin/{utils → legacy/utils}/getFolderParents.js +0 -0
  1504. /package/dist/admin/{utils → legacy/utils}/getFolderParents.mjs +0 -0
  1505. /package/dist/admin/{utils → legacy/utils}/getFolderURL.js +0 -0
  1506. /package/dist/admin/{utils → legacy/utils}/getFolderURL.mjs +0 -0
  1507. /package/dist/admin/{utils → legacy/utils}/moveElement.js +0 -0
  1508. /package/dist/admin/{utils → legacy/utils}/moveElement.mjs +0 -0
  1509. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.js +0 -0
  1510. /package/dist/admin/{utils → legacy/utils}/normalizeAPIError.mjs +0 -0
  1511. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.js +0 -0
  1512. /package/dist/admin/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.mjs +0 -0
  1513. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.js +0 -0
  1514. /package/dist/admin/{utils → legacy/utils}/prefixPluginTranslations.mjs +0 -0
  1515. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.js +0 -0
  1516. /package/dist/admin/{utils → legacy/utils}/resolveFileMime.mjs +0 -0
  1517. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.js +0 -0
  1518. /package/dist/admin/{utils → legacy/utils}/toSingularTypes.mjs +0 -0
  1519. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.js +0 -0
  1520. /package/dist/admin/{utils → legacy/utils}/urlYupSchema.mjs +0 -0
  1521. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.js +0 -0
  1522. /package/dist/admin/{future/pages → pages}/Assets/components/ActionsMenuContent.mjs +0 -0
  1523. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.js +0 -0
  1524. /package/dist/admin/{future/pages → pages}/Assets/components/AssetActionsMenu.mjs +0 -0
  1525. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.js +0 -0
  1526. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/AssetCropEditor.mjs +0 -0
  1527. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.js +0 -0
  1528. /package/dist/admin/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.mjs +0 -0
  1529. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.js +0 -0
  1530. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsSearchInput.mjs +0 -0
  1531. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.js +0 -0
  1532. /package/dist/admin/{future/pages → pages}/Assets/components/AssetsTable.mjs +0 -0
  1533. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.js +0 -0
  1534. /package/dist/admin/{future/pages → pages}/Assets/components/BulkMoveDialog.mjs +0 -0
  1535. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.js +0 -0
  1536. /package/dist/admin/{future/pages → pages}/Assets/components/BusyOverlay.mjs +0 -0
  1537. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.js +0 -0
  1538. /package/dist/admin/{future/pages → pages}/Assets/components/DateRangeCalendar.mjs +0 -0
  1539. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.js +0 -0
  1540. /package/dist/admin/{future/pages → pages}/Assets/components/DeleteItemsDialog.mjs +0 -0
  1541. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.js +0 -0
  1542. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.mjs +0 -0
  1543. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.js +0 -0
  1544. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.mjs +0 -0
  1545. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.js +0 -0
  1546. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/buildDragSet.mjs +0 -0
  1547. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.js +0 -0
  1548. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/computeValidDropTargets.mjs +0 -0
  1549. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.js +0 -0
  1550. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/dndIds.mjs +0 -0
  1551. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.js +0 -0
  1552. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.mjs +0 -0
  1553. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.js +0 -0
  1554. /package/dist/admin/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.mjs +0 -0
  1555. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.js +0 -0
  1556. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.mjs +0 -0
  1557. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.js +0 -0
  1558. /package/dist/admin/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.mjs +0 -0
  1559. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.js +0 -0
  1560. /package/dist/admin/{future/pages → pages}/Assets/components/EmptyState.mjs +0 -0
  1561. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.js +0 -0
  1562. /package/dist/admin/{future/pages → pages}/Assets/components/FilterBadges.mjs +0 -0
  1563. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.js +0 -0
  1564. /package/dist/admin/{future/pages → pages}/Assets/components/FilterMenu.mjs +0 -0
  1565. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.js +0 -0
  1566. /package/dist/admin/{future/pages → pages}/Assets/components/FolderActionsMenu.mjs +0 -0
  1567. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.js +0 -0
  1568. /package/dist/admin/{future/pages → pages}/Assets/components/FolderFormDialog.mjs +0 -0
  1569. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.js +0 -0
  1570. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/FolderTree.mjs +0 -0
  1571. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.js +0 -0
  1572. /package/dist/admin/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.mjs +0 -0
  1573. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.js +0 -0
  1574. /package/dist/admin/{future/pages → pages}/Assets/components/ImportFromUrlDialog.mjs +0 -0
  1575. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.js +0 -0
  1576. /package/dist/admin/{future/pages → pages}/Assets/components/MainAreaContextMenu.mjs +0 -0
  1577. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.js +0 -0
  1578. /package/dist/admin/{future/pages → pages}/Assets/components/SortMenu.mjs +0 -0
  1579. /package/dist/admin/{future/pages → pages}/Assets/constants.js +0 -0
  1580. /package/dist/admin/{future/pages → pages}/Assets/constants.mjs +0 -0
  1581. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.js +0 -0
  1582. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSearch.mjs +0 -0
  1583. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.js +0 -0
  1584. /package/dist/admin/{future/pages → pages}/Assets/hooks/useAssetSelection.mjs +0 -0
  1585. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.js +0 -0
  1586. /package/dist/admin/{future/pages → pages}/Assets/hooks/useBusyAssets.mjs +0 -0
  1587. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.js +0 -0
  1588. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderInfo.mjs +0 -0
  1589. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.js +0 -0
  1590. /package/dist/admin/{future/pages → pages}/Assets/hooks/useFolderNavigation.mjs +0 -0
  1591. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.js +0 -0
  1592. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteAssets.mjs +0 -0
  1593. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.js +0 -0
  1594. /package/dist/admin/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.mjs +0 -0
  1595. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.js +0 -0
  1596. /package/dist/admin/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.mjs +0 -0
  1597. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.js +0 -0
  1598. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListFilters.mjs +0 -0
  1599. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.js +0 -0
  1600. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListScrollRestoration.mjs +0 -0
  1601. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.js +0 -0
  1602. /package/dist/admin/{future/pages → pages}/Assets/hooks/useListSort.mjs +0 -0
  1603. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.js +0 -0
  1604. /package/dist/admin/{future/pages → pages}/Assets/utils/buildAssetFilters.mjs +0 -0
  1605. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.js +0 -0
  1606. /package/dist/admin/{future/pages → pages}/Assets/utils/listQueryKey.mjs +0 -0
  1607. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.js +0 -0
  1608. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeMixedList.mjs +0 -0
  1609. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.js +0 -0
  1610. /package/dist/admin/{future/pages → pages}/Assets/utils/mergeUploadedAssets.mjs +0 -0
  1611. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.js +0 -0
  1612. /package/dist/admin/{future/pages → pages}/Assets/utils/renderedKeys.mjs +0 -0
  1613. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.js +0 -0
  1614. /package/dist/admin/{future/pages → pages}/Assets/utils/selection.mjs +0 -0
  1615. /package/dist/admin/{future/services → services}/api.js +0 -0
  1616. /package/dist/admin/{future/services → services}/api.mjs +0 -0
  1617. /package/dist/admin/{future/services → services}/assets.js +0 -0
  1618. /package/dist/admin/{future/services → services}/assets.mjs +0 -0
  1619. /package/dist/admin/{future/services → services}/folders.js +0 -0
  1620. /package/dist/admin/{future/services → services}/folders.mjs +0 -0
  1621. /package/dist/admin/{future/services → services}/settings.js +0 -0
  1622. /package/dist/admin/{future/services → services}/settings.mjs +0 -0
  1623. /package/dist/admin/{future/services → services}/uploadFileViaXHR.js +0 -0
  1624. /package/dist/admin/{future/services → services}/uploadFileViaXHR.mjs +0 -0
  1625. /package/dist/admin/src/{pages/App/MediaLibrary.d.ts → App.d.ts} +0 -0
  1626. /package/dist/admin/src/{future/components → components}/Drawer.d.ts +0 -0
  1627. /package/dist/admin/src/{future/components → components}/TruncatedText.d.ts +0 -0
  1628. /package/dist/admin/src/{future/components → components}/UploadProgressDialog.d.ts +0 -0
  1629. /package/dist/admin/src/{future/hooks → hooks}/useAIMetadataEnabled.d.ts +0 -0
  1630. /package/dist/admin/src/{future/hooks → hooks}/useApiErrorMessage.d.ts +0 -0
  1631. /package/dist/admin/src/{components → legacy/components}/AssetCard/AssetCardBase.d.ts +0 -0
  1632. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioAssetCard.d.ts +0 -0
  1633. /package/dist/admin/src/{components → legacy/components}/AssetCard/AudioPreview.d.ts +0 -0
  1634. /package/dist/admin/src/{components → legacy/components}/AssetCard/DocAssetCard.d.ts +0 -0
  1635. /package/dist/admin/src/{components → legacy/components}/AssetCard/ImageAssetCard.d.ts +0 -0
  1636. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoAssetCard.d.ts +0 -0
  1637. /package/dist/admin/src/{components → legacy/components}/AssetCard/VideoPreview.d.ts +0 -0
  1638. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/Filters.d.ts +0 -0
  1639. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PageSize.d.ts +0 -0
  1640. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/Pagination.d.ts +0 -0
  1641. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.d.ts +0 -0
  1642. /package/dist/admin/src/{components → legacy/components}/AssetDialog/BrowseStep/utils/isSelectable.d.ts +0 -0
  1643. /package/dist/admin/src/{components → legacy/components}/AssetDialog/DialogFooter.d.ts +0 -0
  1644. /package/dist/admin/src/{components → legacy/components}/AssetGridList/Draggable.d.ts +0 -0
  1645. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  1646. /package/dist/admin/src/{components → legacy/components}/Breadcrumbs/CrumbSimpleMenuAsync.d.ts +0 -0
  1647. /package/dist/admin/src/{components → legacy/components}/ContextInfo/ContextInfo.d.ts +0 -0
  1648. /package/dist/admin/src/{components → legacy/components}/CopyLinkButton/CopyLinkButton.d.ts +0 -0
  1649. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/DialogHeader.d.ts +0 -0
  1650. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/CroppingActions.d.ts +0 -0
  1651. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/FocalPointActions.d.ts +0 -0
  1652. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +0 -0
  1653. /package/dist/admin/src/{components → legacy/components}/EditAssetDialog/ReplaceMediaButton.d.ts +0 -0
  1654. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/ModalHeader/ModalHeader.d.ts +0 -0
  1655. /package/dist/admin/src/{components → legacy/components}/EditFolderDialog/RemoveFolderDialog.d.ts +0 -0
  1656. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssetGrid.d.ts +0 -0
  1657. /package/dist/admin/src/{components → legacy/components}/EmptyAssets/EmptyAssets.d.ts +0 -0
  1658. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterList.d.ts +0 -0
  1659. /package/dist/admin/src/{components → legacy/components}/FilterList/FilterTag.d.ts +0 -0
  1660. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterPopover.d.ts +0 -0
  1661. /package/dist/admin/src/{components → legacy/components}/FilterPopover/FilterValueInput.d.ts +0 -0
  1662. /package/dist/admin/src/{components → legacy/components}/FilterPopover/utils/getFilterList.d.ts +0 -0
  1663. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCard/FolderCard.d.ts +0 -0
  1664. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBody/FolderCardBody.d.ts +0 -0
  1665. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardBodyAction/FolderCardBodyAction.d.ts +0 -0
  1666. /package/dist/admin/src/{components → legacy/components}/FolderCard/FolderCardCheckbox/FolderCardCheckbox.d.ts +0 -0
  1667. /package/dist/admin/src/{components → legacy/components}/FolderCard/contexts/FolderCard.d.ts +0 -0
  1668. /package/dist/admin/src/{components → legacy/components}/FolderGridList/FolderGridList.d.ts +0 -0
  1669. /package/dist/admin/src/{components → legacy/components}/MediaLibraryInput/MediaLibraryInput.d.ts +0 -0
  1670. /package/dist/admin/src/{components → legacy/components}/SelectTree/SelectTree.d.ts +0 -0
  1671. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/flattenTree.d.ts +0 -0
  1672. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getOpenValues.d.ts +0 -0
  1673. /package/dist/admin/src/{components → legacy/components}/SelectTree/utils/getValuesToClose.d.ts +0 -0
  1674. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromComputerForm.d.ts +0 -0
  1675. /package/dist/admin/src/{components → legacy/components}/UploadAssetDialog/AddAssetStep/FromUrlForm.d.ts +0 -0
  1676. /package/dist/admin/src/{hooks → legacy/hooks}/useAiAvailability.d.ts +0 -0
  1677. /package/dist/admin/src/{hooks → legacy/hooks}/useCropImg.d.ts +0 -0
  1678. /package/dist/admin/src/{hooks → legacy/hooks}/usePersistentState.d.ts +0 -0
  1679. /package/dist/admin/src/{hooks → legacy/hooks}/useSelectionState.d.ts +0 -0
  1680. /package/dist/admin/src/{hooks → legacy/hooks}/useSettings.d.ts +0 -0
  1681. /package/dist/admin/src/{hooks → legacy/hooks}/utils/renameKeys.d.ts +0 -0
  1682. /package/dist/admin/src/{pages → legacy/pages}/App/App.d.ts +0 -0
  1683. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/actionTypes.d.ts +0 -0
  1684. /package/dist/admin/src/{pages → legacy/pages}/App/ConfigureTheView/state/reducer.d.ts +0 -0
  1685. /package/dist/admin/src/{pages → legacy/pages}/App/components/EmptyOrNoPermissions.d.ts +0 -0
  1686. /package/dist/admin/src/{pages → legacy/pages}/App/components/Filters.d.ts +0 -0
  1687. /package/dist/admin/src/{utils → legacy/utils}/appendSearchParamsToUrl.d.ts +0 -0
  1688. /package/dist/admin/src/{utils → legacy/utils}/displayedFilters.d.ts +0 -0
  1689. /package/dist/admin/src/{utils → legacy/utils}/formatBytes.d.ts +0 -0
  1690. /package/dist/admin/src/{utils → legacy/utils}/formatDuration.d.ts +0 -0
  1691. /package/dist/admin/src/{utils → legacy/utils}/getAPIInnerErrors.d.ts +0 -0
  1692. /package/dist/admin/src/{utils → legacy/utils}/getFileExtension.d.ts +0 -0
  1693. /package/dist/admin/src/{utils → legacy/utils}/getTrad.d.ts +0 -0
  1694. /package/dist/admin/src/{utils → legacy/utils}/moveElement.d.ts +0 -0
  1695. /package/dist/admin/src/{utils → legacy/utils}/normalizeAPIError.d.ts +0 -0
  1696. /package/dist/admin/src/{utils → legacy/utils}/prefixFileUrlWithBackendUrl.d.ts +0 -0
  1697. /package/dist/admin/src/{utils → legacy/utils}/prefixPluginTranslations.d.ts +0 -0
  1698. /package/dist/admin/src/{utils → legacy/utils}/resolveFileMime.d.ts +0 -0
  1699. /package/dist/admin/src/{utils → legacy/utils}/toSingularTypes.d.ts +0 -0
  1700. /package/dist/admin/src/{utils → legacy/utils}/urlYupSchema.d.ts +0 -0
  1701. /package/dist/admin/src/{utils → legacy/utils}/urlsToAssets.d.ts +0 -0
  1702. /package/dist/admin/src/{future/pages → pages}/Assets/AssetsPage.d.ts +0 -0
  1703. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetDetails/useCropImg.d.ts +0 -0
  1704. /package/dist/admin/src/{future/pages → pages}/Assets/components/AssetsSearchInput.d.ts +0 -0
  1705. /package/dist/admin/src/{future/pages → pages}/Assets/components/BulkMoveDialog.d.ts +0 -0
  1706. /package/dist/admin/src/{future/pages → pages}/Assets/components/BusyOverlay.d.ts +0 -0
  1707. /package/dist/admin/src/{future/pages → pages}/Assets/components/DateRangeCalendar.d.ts +0 -0
  1708. /package/dist/admin/src/{future/pages → pages}/Assets/components/DeleteItemsDialog.d.ts +0 -0
  1709. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/AssetsDndProvider.d.ts +0 -0
  1710. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/DragOverlayChip.d.ts +0 -0
  1711. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/buildDragSet.d.ts +0 -0
  1712. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/dndIds.d.ts +0 -0
  1713. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useAssetDnd.d.ts +0 -0
  1714. /package/dist/admin/src/{future/pages → pages}/Assets/components/Dnd/useFolderTreeDroppable.d.ts +0 -0
  1715. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZone.d.ts +0 -0
  1716. /package/dist/admin/src/{future/pages → pages}/Assets/components/DropZone/UploadDropZoneContext.d.ts +0 -0
  1717. /package/dist/admin/src/{future/pages → pages}/Assets/components/EmptyState.d.ts +0 -0
  1718. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterBadges.d.ts +0 -0
  1719. /package/dist/admin/src/{future/pages → pages}/Assets/components/FilterMenu.d.ts +0 -0
  1720. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderFormDialog.d.ts +0 -0
  1721. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/FolderTree.d.ts +0 -0
  1722. /package/dist/admin/src/{future/pages → pages}/Assets/components/FolderTree/useSpringLoadedExpand.d.ts +0 -0
  1723. /package/dist/admin/src/{future/pages → pages}/Assets/components/ImportFromUrlDialog.d.ts +0 -0
  1724. /package/dist/admin/src/{future/pages → pages}/Assets/components/MainAreaContextMenu.d.ts +0 -0
  1725. /package/dist/admin/src/{future/pages → pages}/Assets/components/SortMenu.d.ts +0 -0
  1726. /package/dist/admin/src/{future/pages → pages}/Assets/constants.d.ts +0 -0
  1727. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSearch.d.ts +0 -0
  1728. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useAssetSelection.d.ts +0 -0
  1729. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useBusyAssets.d.ts +0 -0
  1730. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useFolderInfo.d.ts +0 -0
  1731. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useInfiniteScrollSentinel.d.ts +0 -0
  1732. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useIsAssetDetailsOpen.d.ts +0 -0
  1733. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListFilters.d.ts +0 -0
  1734. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListScrollRestoration.d.ts +0 -0
  1735. /package/dist/admin/src/{future/pages → pages}/Assets/hooks/useListSort.d.ts +0 -0
  1736. /package/dist/admin/src/{future/pages → pages}/Assets/utils/buildAssetFilters.d.ts +0 -0
  1737. /package/dist/admin/src/{future/pages → pages}/Assets/utils/listQueryKey.d.ts +0 -0
  1738. /package/dist/admin/src/{future/pages → pages}/Assets/utils/selection.d.ts +0 -0
  1739. /package/dist/admin/src/{future/store → store}/hooks.d.ts +0 -0
  1740. /package/dist/admin/src/{future/types → types}/dnd.d.ts +0 -0
  1741. /package/dist/admin/src/{future/utils → utils}/buildBulkMovePayload.d.ts +0 -0
  1742. /package/dist/admin/src/{future/utils → utils}/buildDragSetFromSelection.d.ts +0 -0
  1743. /package/dist/admin/src/{future/utils → utils}/createRafBatcher.d.ts +0 -0
  1744. /package/dist/admin/src/{future/utils → utils}/files.d.ts +0 -0
  1745. /package/dist/admin/src/{future/utils → utils}/formatMoveSuccessMessage.d.ts +0 -0
  1746. /package/dist/admin/src/{future/utils → utils}/getApiErrorMessage.d.ts +0 -0
  1747. /package/dist/admin/src/{future/utils → utils}/getAssetIcon.d.ts +0 -0
  1748. /package/dist/admin/src/{future/utils → utils}/getRelationId.d.ts +0 -0
  1749. /package/dist/admin/src/{future/utils → utils}/isEventFromWithin.d.ts +0 -0
  1750. /package/dist/admin/src/{future/utils → utils}/itemSource.d.ts +0 -0
  1751. /package/dist/admin/src/{future/utils → utils}/searchQueryParam.d.ts +0 -0
  1752. /package/dist/admin/src/{future/utils → utils}/translations.d.ts +0 -0
  1753. /package/dist/admin/{future/store → store}/hooks.js +0 -0
  1754. /package/dist/admin/{future/store → store}/hooks.mjs +0 -0
  1755. /package/dist/admin/{future/store → store}/uploadProgress.js +0 -0
  1756. /package/dist/admin/{future/store → store}/uploadProgress.mjs +0 -0
  1757. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.js +0 -0
  1758. /package/dist/admin/{future/utils → utils}/buildBulkMovePayload.mjs +0 -0
  1759. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.js +0 -0
  1760. /package/dist/admin/{future/utils → utils}/buildDragSetFromSelection.mjs +0 -0
  1761. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.js +0 -0
  1762. /package/dist/admin/{future/utils → utils}/canDropItemOnFolder.mjs +0 -0
  1763. /package/dist/admin/{future/utils → utils}/createRafBatcher.js +0 -0
  1764. /package/dist/admin/{future/utils → utils}/createRafBatcher.mjs +0 -0
  1765. /package/dist/admin/{future/utils → utils}/files.js +0 -0
  1766. /package/dist/admin/{future/utils → utils}/files.mjs +0 -0
  1767. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.js +0 -0
  1768. /package/dist/admin/{future/utils → utils}/flattenFolderStructure.mjs +0 -0
  1769. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.js +0 -0
  1770. /package/dist/admin/{future/utils → utils}/formatMoveSuccessMessage.mjs +0 -0
  1771. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.js +0 -0
  1772. /package/dist/admin/{future/utils → utils}/getApiErrorMessage.mjs +0 -0
  1773. /package/dist/admin/{future/utils → utils}/getFolderLabel.js +0 -0
  1774. /package/dist/admin/{future/utils → utils}/getFolderLabel.mjs +0 -0
  1775. /package/dist/admin/{future/utils → utils}/getRelationId.js +0 -0
  1776. /package/dist/admin/{future/utils → utils}/getRelationId.mjs +0 -0
  1777. /package/dist/admin/{future/utils → utils}/isEventFromWithin.js +0 -0
  1778. /package/dist/admin/{future/utils → utils}/isEventFromWithin.mjs +0 -0
  1779. /package/dist/admin/{future/utils → utils}/itemLocations.js +0 -0
  1780. /package/dist/admin/{future/utils → utils}/itemLocations.mjs +0 -0
  1781. /package/dist/admin/{future/utils → utils}/itemSource.js +0 -0
  1782. /package/dist/admin/{future/utils → utils}/itemSource.mjs +0 -0
  1783. /package/dist/admin/{future/utils → utils}/searchQueryParam.js +0 -0
  1784. /package/dist/admin/{future/utils → utils}/searchQueryParam.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInfiniteScrollSentinel.js","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useInfiniteScrollSentinel.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\ninterface UseInfiniteScrollSentinelArgs {\n /** Whether there is a further page to request. */\n hasNextPage: boolean;\n /** Whether a subsequent page is already in flight. */\n isFetchingMore: boolean;\n /** Called to request the next page. Held in a ref, so it need not be stable. */\n onLoadMore: () => void;\n /**\n * Passed to the `IntersectionObserver`. Read once, when the sentinel node\n * attaches — changing it afterwards does NOT rebuild the observer, so a\n * later `threshold`/`rootMargin` is silently ignored. Pass a stable, ideally\n * module-level, object.\n */\n options?: IntersectionObserverInit;\n}\n\n/**\n * Infinite-scroll trigger for the media library list.\n *\n * Returns a callback ref to place on a sentinel element rendered after the last\n * row. Three deliberate choices:\n *\n * 1. **Loading is driven only by fresh observer readings.** A fetch fires from\n * the `IntersectionObserver` callback — never from a state/prop change — so\n * it can't react to a stale `isIntersecting` from before newly loaded rows\n * rendered (which fetched an extra page on every trigger).\n *\n * 2. **Each settled page re-observes the sentinel.** An `IntersectionObserver`\n * only fires on a *transition*. When the sentinel stays on screen (a page\n * that doesn't fill the viewport — tall viewport, short page, grid fitting\n * the whole page) it would never fire again and loading would stall. So when\n * `isFetchingMore` settles back to false we re-observe, forcing a fresh\n * reading against the new layout: still on screen → load the next page;\n * viewport now filled → stop.\n *\n * 3. **A callback ref, not a stable object ref.** The sentinel only mounts once\n * the first page has rendered (the list shows a loader before that). A\n * callback ref (re)binds the observer exactly when the node mounts/unmounts,\n * so the observer can't miss a sentinel that appears after the hook first ran.\n */\nexport const useInfiniteScrollSentinel = ({\n hasNextPage,\n isFetchingMore,\n onLoadMore,\n options,\n}: UseInfiniteScrollSentinelArgs) => {\n const observerRef = useRef<IntersectionObserver | null>(null);\n const nodeRef = useRef<HTMLElement | null>(null);\n\n // Read through refs so the callback ref stays stable and the observer callback\n // always sees the latest values. `options` is read once at attach time (see\n // its JSDoc); `onLoadMore` need not be stable.\n const optionsRef = useRef(options);\n optionsRef.current = options;\n const onLoadMoreRef = useRef(onLoadMore);\n onLoadMoreRef.current = onLoadMore;\n const hasNextPageRef = useRef(hasNextPage);\n hasNextPageRef.current = hasNextPage;\n const isFetchingMoreRef = useRef(isFetchingMore);\n isFetchingMoreRef.current = isFetchingMore;\n\n const sentinelRef = useCallback((node: HTMLElement | null) => {\n observerRef.current?.disconnect();\n nodeRef.current = node;\n\n if (!node) {\n return;\n }\n\n const observer = new IntersectionObserver(([entry]) => {\n if (entry.isIntersecting && hasNextPageRef.current && !isFetchingMoreRef.current) {\n onLoadMoreRef.current();\n }\n }, optionsRef.current);\n\n observer.observe(node);\n observerRef.current = observer;\n }, []);\n\n useEffect(() => () => observerRef.current?.disconnect(), []);\n\n // Once a page settles, re-observe so a *fresh* reading against the new layout\n // decides whether to keep loading — rather than a stale `isIntersecting` from\n // before the rows rendered. Re-observing re-emits the current intersection\n // even without a transition, which is what keeps loading a viewport that a\n // single page didn't fill.\n useEffect(() => {\n if (isFetchingMore || !observerRef.current || !nodeRef.current) {\n return;\n }\n\n observerRef.current.unobserve(nodeRef.current);\n observerRef.current.observe(nodeRef.current);\n }, [isFetchingMore]);\n\n return sentinelRef;\n};\n"],"names":["useInfiniteScrollSentinel","hasNextPage","isFetchingMore","onLoadMore","options","observerRef","useRef","nodeRef","optionsRef","current","onLoadMoreRef","hasNextPageRef","isFetchingMoreRef","sentinelRef","useCallback","node","disconnect","observer","IntersectionObserver","entry","isIntersecting","observe","useEffect","unobserve"],"mappings":";;;;AAkBA;;;;;;;;;;;;;;;;;;;;;;;AAuBC,IACM,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,WAAW,EACXC,cAAc,EACdC,UAAU,EACVC,OAAO,EACuB,GAAA;AAC9B,IAAA,MAAMC,cAAcC,YAAAA,CAAoC,IAAA,CAAA;AACxD,IAAA,MAAMC,UAAUD,YAAAA,CAA2B,IAAA,CAAA;;;;AAK3C,IAAA,MAAME,aAAaF,YAAAA,CAAOF,OAAAA,CAAAA;AAC1BI,IAAAA,UAAAA,CAAWC,OAAO,GAAGL,OAAAA;AACrB,IAAA,MAAMM,gBAAgBJ,YAAAA,CAAOH,UAAAA,CAAAA;AAC7BO,IAAAA,aAAAA,CAAcD,OAAO,GAAGN,UAAAA;AACxB,IAAA,MAAMQ,iBAAiBL,YAAAA,CAAOL,WAAAA,CAAAA;AAC9BU,IAAAA,cAAAA,CAAeF,OAAO,GAAGR,WAAAA;AACzB,IAAA,MAAMW,oBAAoBN,YAAAA,CAAOJ,cAAAA,CAAAA;AACjCU,IAAAA,iBAAAA,CAAkBH,OAAO,GAAGP,cAAAA;IAE5B,MAAMW,WAAAA,GAAcC,kBAAY,CAACC,IAAAA,GAAAA;AAC/BV,QAAAA,WAAAA,CAAYI,OAAO,EAAEO,UAAAA,EAAAA;AACrBT,QAAAA,OAAAA,CAAQE,OAAO,GAAGM,IAAAA;AAElB,QAAA,IAAI,CAACA,IAAAA,EAAM;AACT,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,QAAAA,GAAW,IAAIC,oBAAAA,CAAqB,CAAC,CAACC,KAAAA,CAAM,GAAA;YAChD,IAAIA,KAAAA,CAAMC,cAAc,IAAIT,cAAAA,CAAeF,OAAO,IAAI,CAACG,iBAAAA,CAAkBH,OAAO,EAAE;AAChFC,gBAAAA,aAAAA,CAAcD,OAAO,EAAA;AACvB,YAAA;AACF,QAAA,CAAA,EAAGD,WAAWC,OAAO,CAAA;AAErBQ,QAAAA,QAAAA,CAASI,OAAO,CAACN,IAAAA,CAAAA;AACjBV,QAAAA,WAAAA,CAAYI,OAAO,GAAGQ,QAAAA;AACxB,IAAA,CAAA,EAAG,EAAE,CAAA;AAELK,IAAAA,eAAAA,CAAU,IAAM,IAAMjB,WAAAA,CAAYI,OAAO,EAAEO,cAAc,EAAE,CAAA;;;;;;IAO3DM,eAAAA,CAAU,IAAA;QACR,IAAIpB,cAAAA,IAAkB,CAACG,WAAAA,CAAYI,OAAO,IAAI,CAACF,OAAAA,CAAQE,OAAO,EAAE;AAC9D,YAAA;AACF,QAAA;AAEAJ,QAAAA,WAAAA,CAAYI,OAAO,CAACc,SAAS,CAAChB,QAAQE,OAAO,CAAA;AAC7CJ,QAAAA,WAAAA,CAAYI,OAAO,CAACY,OAAO,CAACd,QAAQE,OAAO,CAAA;IAC7C,CAAA,EAAG;AAACP,QAAAA;AAAe,KAAA,CAAA;IAEnB,OAAOW,WAAAA;AACT;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInfiniteScrollSentinel.mjs","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useInfiniteScrollSentinel.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\ninterface UseInfiniteScrollSentinelArgs {\n /** Whether there is a further page to request. */\n hasNextPage: boolean;\n /** Whether a subsequent page is already in flight. */\n isFetchingMore: boolean;\n /** Called to request the next page. Held in a ref, so it need not be stable. */\n onLoadMore: () => void;\n /**\n * Passed to the `IntersectionObserver`. Read once, when the sentinel node\n * attaches — changing it afterwards does NOT rebuild the observer, so a\n * later `threshold`/`rootMargin` is silently ignored. Pass a stable, ideally\n * module-level, object.\n */\n options?: IntersectionObserverInit;\n}\n\n/**\n * Infinite-scroll trigger for the media library list.\n *\n * Returns a callback ref to place on a sentinel element rendered after the last\n * row. Three deliberate choices:\n *\n * 1. **Loading is driven only by fresh observer readings.** A fetch fires from\n * the `IntersectionObserver` callback — never from a state/prop change — so\n * it can't react to a stale `isIntersecting` from before newly loaded rows\n * rendered (which fetched an extra page on every trigger).\n *\n * 2. **Each settled page re-observes the sentinel.** An `IntersectionObserver`\n * only fires on a *transition*. When the sentinel stays on screen (a page\n * that doesn't fill the viewport — tall viewport, short page, grid fitting\n * the whole page) it would never fire again and loading would stall. So when\n * `isFetchingMore` settles back to false we re-observe, forcing a fresh\n * reading against the new layout: still on screen → load the next page;\n * viewport now filled → stop.\n *\n * 3. **A callback ref, not a stable object ref.** The sentinel only mounts once\n * the first page has rendered (the list shows a loader before that). A\n * callback ref (re)binds the observer exactly when the node mounts/unmounts,\n * so the observer can't miss a sentinel that appears after the hook first ran.\n */\nexport const useInfiniteScrollSentinel = ({\n hasNextPage,\n isFetchingMore,\n onLoadMore,\n options,\n}: UseInfiniteScrollSentinelArgs) => {\n const observerRef = useRef<IntersectionObserver | null>(null);\n const nodeRef = useRef<HTMLElement | null>(null);\n\n // Read through refs so the callback ref stays stable and the observer callback\n // always sees the latest values. `options` is read once at attach time (see\n // its JSDoc); `onLoadMore` need not be stable.\n const optionsRef = useRef(options);\n optionsRef.current = options;\n const onLoadMoreRef = useRef(onLoadMore);\n onLoadMoreRef.current = onLoadMore;\n const hasNextPageRef = useRef(hasNextPage);\n hasNextPageRef.current = hasNextPage;\n const isFetchingMoreRef = useRef(isFetchingMore);\n isFetchingMoreRef.current = isFetchingMore;\n\n const sentinelRef = useCallback((node: HTMLElement | null) => {\n observerRef.current?.disconnect();\n nodeRef.current = node;\n\n if (!node) {\n return;\n }\n\n const observer = new IntersectionObserver(([entry]) => {\n if (entry.isIntersecting && hasNextPageRef.current && !isFetchingMoreRef.current) {\n onLoadMoreRef.current();\n }\n }, optionsRef.current);\n\n observer.observe(node);\n observerRef.current = observer;\n }, []);\n\n useEffect(() => () => observerRef.current?.disconnect(), []);\n\n // Once a page settles, re-observe so a *fresh* reading against the new layout\n // decides whether to keep loading — rather than a stale `isIntersecting` from\n // before the rows rendered. Re-observing re-emits the current intersection\n // even without a transition, which is what keeps loading a viewport that a\n // single page didn't fill.\n useEffect(() => {\n if (isFetchingMore || !observerRef.current || !nodeRef.current) {\n return;\n }\n\n observerRef.current.unobserve(nodeRef.current);\n observerRef.current.observe(nodeRef.current);\n }, [isFetchingMore]);\n\n return sentinelRef;\n};\n"],"names":["useInfiniteScrollSentinel","hasNextPage","isFetchingMore","onLoadMore","options","observerRef","useRef","nodeRef","optionsRef","current","onLoadMoreRef","hasNextPageRef","isFetchingMoreRef","sentinelRef","useCallback","node","disconnect","observer","IntersectionObserver","entry","isIntersecting","observe","useEffect","unobserve"],"mappings":";;AAkBA;;;;;;;;;;;;;;;;;;;;;;;AAuBC,IACM,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,WAAW,EACXC,cAAc,EACdC,UAAU,EACVC,OAAO,EACuB,GAAA;AAC9B,IAAA,MAAMC,cAAcC,MAAAA,CAAoC,IAAA,CAAA;AACxD,IAAA,MAAMC,UAAUD,MAAAA,CAA2B,IAAA,CAAA;;;;AAK3C,IAAA,MAAME,aAAaF,MAAAA,CAAOF,OAAAA,CAAAA;AAC1BI,IAAAA,UAAAA,CAAWC,OAAO,GAAGL,OAAAA;AACrB,IAAA,MAAMM,gBAAgBJ,MAAAA,CAAOH,UAAAA,CAAAA;AAC7BO,IAAAA,aAAAA,CAAcD,OAAO,GAAGN,UAAAA;AACxB,IAAA,MAAMQ,iBAAiBL,MAAAA,CAAOL,WAAAA,CAAAA;AAC9BU,IAAAA,cAAAA,CAAeF,OAAO,GAAGR,WAAAA;AACzB,IAAA,MAAMW,oBAAoBN,MAAAA,CAAOJ,cAAAA,CAAAA;AACjCU,IAAAA,iBAAAA,CAAkBH,OAAO,GAAGP,cAAAA;IAE5B,MAAMW,WAAAA,GAAcC,YAAY,CAACC,IAAAA,GAAAA;AAC/BV,QAAAA,WAAAA,CAAYI,OAAO,EAAEO,UAAAA,EAAAA;AACrBT,QAAAA,OAAAA,CAAQE,OAAO,GAAGM,IAAAA;AAElB,QAAA,IAAI,CAACA,IAAAA,EAAM;AACT,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,QAAAA,GAAW,IAAIC,oBAAAA,CAAqB,CAAC,CAACC,KAAAA,CAAM,GAAA;YAChD,IAAIA,KAAAA,CAAMC,cAAc,IAAIT,cAAAA,CAAeF,OAAO,IAAI,CAACG,iBAAAA,CAAkBH,OAAO,EAAE;AAChFC,gBAAAA,aAAAA,CAAcD,OAAO,EAAA;AACvB,YAAA;AACF,QAAA,CAAA,EAAGD,WAAWC,OAAO,CAAA;AAErBQ,QAAAA,QAAAA,CAASI,OAAO,CAACN,IAAAA,CAAAA;AACjBV,QAAAA,WAAAA,CAAYI,OAAO,GAAGQ,QAAAA;AACxB,IAAA,CAAA,EAAG,EAAE,CAAA;AAELK,IAAAA,SAAAA,CAAU,IAAM,IAAMjB,WAAAA,CAAYI,OAAO,EAAEO,cAAc,EAAE,CAAA;;;;;;IAO3DM,SAAAA,CAAU,IAAA;QACR,IAAIpB,cAAAA,IAAkB,CAACG,WAAAA,CAAYI,OAAO,IAAI,CAACF,OAAAA,CAAQE,OAAO,EAAE;AAC9D,YAAA;AACF,QAAA;AAEAJ,QAAAA,WAAAA,CAAYI,OAAO,CAACc,SAAS,CAAChB,QAAQE,OAAO,CAAA;AAC7CJ,QAAAA,WAAAA,CAAYI,OAAO,CAACY,OAAO,CAACd,QAAQE,OAAO,CAAA;IAC7C,CAAA,EAAG;AAACP,QAAAA;AAAe,KAAA,CAAA;IAEnB,OAAOW,WAAAA;AACT;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsAssetDetailsOpen.js","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useIsAssetDetailsOpen.ts"],"sourcesContent":["import { useQueryParams } from '@strapi/admin/strapi-admin';\n\n/** Name of the parameter to look for in the URL to open the asset details drawer. */\nexport const ASSET_DETAILS_URL_PARAM = 'assetId';\n\n/**\n * The asset id in the URL, or `null` when the param is absent or unparseable.\n *\n * One definition shared by the drawer (which needs the id) and the \"is it open?\"\n * hook below, so the two can never disagree about what counts as open.\n */\nexport const parseAssetDetailsId = (raw: string | undefined): number | null => {\n const parsed = raw ? parseInt(raw, 10) : NaN;\n\n return Number.isNaN(parsed) ? null : parsed;\n};\n\n/**\n * Whether the asset details drawer is open, derived purely from the URL.\n *\n * Deliberately separate from `useAssetDetailsParam`, which additionally owns the\n * drawer's mount lifecycle: its `shouldRenderDrawer` only stays correct in the\n * component wired to the close animation, so a second caller would strand it at\n * `true`. Anything that just needs the answer reads this instead.\n */\nexport const useIsAssetDetailsOpen = (): boolean => {\n const [{ query }] = useQueryParams<{ [ASSET_DETAILS_URL_PARAM]?: string }>();\n\n return parseAssetDetailsId(query?.[ASSET_DETAILS_URL_PARAM]) !== null;\n};\n"],"names":["ASSET_DETAILS_URL_PARAM","parseAssetDetailsId","raw","parsed","parseInt","NaN","Number","isNaN","useIsAssetDetailsOpen","query","useQueryParams"],"mappings":";;;;AAEA,sFACO,MAAMA,uBAAAA,GAA0B;AAEvC;;;;;IAMO,MAAMC,mBAAAA,GAAsB,CAACC,GAAAA,GAAAA;AAClC,IAAA,MAAMC,MAAAA,GAASD,GAAAA,GAAME,QAAAA,CAASF,GAAAA,EAAK,EAAA,CAAA,GAAMG,GAAAA;AAEzC,IAAA,OAAOC,MAAAA,CAAOC,KAAK,CAACJ,MAAAA,CAAAA,GAAU,IAAA,GAAOA,MAAAA;AACvC;AAEA;;;;;;;UAQaK,qBAAAA,GAAwB,IAAA;AACnC,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;AAEpB,IAAA,OAAOT,mBAAAA,CAAoBQ,KAAAA,GAAQT,uBAAAA,CAAwB,CAAA,KAAM,IAAA;AACnE;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsAssetDetailsOpen.mjs","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useIsAssetDetailsOpen.ts"],"sourcesContent":["import { useQueryParams } from '@strapi/admin/strapi-admin';\n\n/** Name of the parameter to look for in the URL to open the asset details drawer. */\nexport const ASSET_DETAILS_URL_PARAM = 'assetId';\n\n/**\n * The asset id in the URL, or `null` when the param is absent or unparseable.\n *\n * One definition shared by the drawer (which needs the id) and the \"is it open?\"\n * hook below, so the two can never disagree about what counts as open.\n */\nexport const parseAssetDetailsId = (raw: string | undefined): number | null => {\n const parsed = raw ? parseInt(raw, 10) : NaN;\n\n return Number.isNaN(parsed) ? null : parsed;\n};\n\n/**\n * Whether the asset details drawer is open, derived purely from the URL.\n *\n * Deliberately separate from `useAssetDetailsParam`, which additionally owns the\n * drawer's mount lifecycle: its `shouldRenderDrawer` only stays correct in the\n * component wired to the close animation, so a second caller would strand it at\n * `true`. Anything that just needs the answer reads this instead.\n */\nexport const useIsAssetDetailsOpen = (): boolean => {\n const [{ query }] = useQueryParams<{ [ASSET_DETAILS_URL_PARAM]?: string }>();\n\n return parseAssetDetailsId(query?.[ASSET_DETAILS_URL_PARAM]) !== null;\n};\n"],"names":["ASSET_DETAILS_URL_PARAM","parseAssetDetailsId","raw","parsed","parseInt","NaN","Number","isNaN","useIsAssetDetailsOpen","query","useQueryParams"],"mappings":";;AAEA,sFACO,MAAMA,uBAAAA,GAA0B;AAEvC;;;;;IAMO,MAAMC,mBAAAA,GAAsB,CAACC,GAAAA,GAAAA;AAClC,IAAA,MAAMC,MAAAA,GAASD,GAAAA,GAAME,QAAAA,CAASF,GAAAA,EAAK,EAAA,CAAA,GAAMG,GAAAA;AAEzC,IAAA,OAAOC,MAAAA,CAAOC,KAAK,CAACJ,MAAAA,CAAAA,GAAU,IAAA,GAAOA,MAAAA;AACvC;AAEA;;;;;;;UAQaK,qBAAAA,GAAwB,IAAA;AACnC,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AAEpB,IAAA,OAAOT,mBAAAA,CAAoBQ,KAAAA,GAAQT,uBAAAA,CAAwB,CAAA,KAAM,IAAA;AACnE;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListFilters.js","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useListFilters.ts"],"sourcesContent":["import { useQueryParams, withEncodedUserParams } from '@strapi/admin/strapi-admin';\n\n/**\n * Filter state for the assets list, backed by a single `?filters=` query param\n * so the applied filters are shareable and survive Back/refresh.\n *\n * Serialized grammar — badges separated by `;`, one badge is\n * `<field>:<condition>:<value>`:\n *\n * - `type:is:picture,audio` / `type:not:folder`\n * - `created:within:1week` / `updated:notwithin:3months` / `created:exact:1day`\n * - `created:rangeis:2024-01-01..2024-04-07` / `created:rangenot:...`\n *\n * Relative presets stay relative in the URL on purpose: the badge label\n * (\"1 week ago\") remains truthful forever and a shared link means \"within the\n * last week from whenever it is opened\". Resolution to absolute timestamps\n * happens at query-build time (see utils/buildAssetFilters.ts).\n *\n * Several badges for the same field are allowed, even contradictory ones —\n * everything is combined with AND; contradictions simply produce the filtered\n * empty state.\n */\n\nexport const TYPE_VALUES = ['folder', 'picture', 'audio', 'video', 'document'] as const;\nexport type TypeValue = (typeof TYPE_VALUES)[number];\n\nexport const DATE_PRESETS = [\n '1day',\n '3days',\n '1week',\n '1month',\n '3months',\n '6months',\n '1year',\n] as const;\nexport type DatePreset = (typeof DATE_PRESETS)[number];\n\nexport type TypeCondition = 'is' | 'isNot';\nexport type PresetCondition = 'isExactly' | 'withinLast' | 'notWithinLast';\nexport type RangeCondition = 'is' | 'isNot';\n\nexport type DateField = 'createdAt' | 'updatedAt';\n\nexport interface TypeFilter {\n kind: 'type';\n condition: TypeCondition;\n values: TypeValue[];\n}\n\nexport interface DatePresetFilter {\n kind: 'date';\n field: DateField;\n mode: 'preset';\n condition: PresetCondition;\n preset: DatePreset;\n}\n\nexport interface DateRangeFilter {\n kind: 'date';\n field: DateField;\n mode: 'range';\n condition: RangeCondition;\n /** Calendar dates, `YYYY-MM-DD`, inclusive on both ends. */\n from: string;\n to: string;\n}\n\nexport type DateFilter = DatePresetFilter | DateRangeFilter;\nexport type ListFilter = TypeFilter | DateFilter;\n\nconst FIELD_TOKENS: Record<string, DateField> = {\n created: 'createdAt',\n updated: 'updatedAt',\n};\nconst FIELD_TOKEN_BY_FIELD: Record<DateField, string> = {\n createdAt: 'created',\n updatedAt: 'updated',\n};\n\nconst PRESET_CONDITION_TOKENS: Record<string, PresetCondition> = {\n exact: 'isExactly',\n within: 'withinLast',\n notwithin: 'notWithinLast',\n};\nconst PRESET_TOKEN_BY_CONDITION: Record<PresetCondition, string> = {\n isExactly: 'exact',\n withinLast: 'within',\n notWithinLast: 'notwithin',\n};\n\nconst RANGE_CONDITION_TOKENS: Record<string, RangeCondition> = {\n rangeis: 'is',\n rangenot: 'isNot',\n};\nconst RANGE_TOKEN_BY_CONDITION: Record<RangeCondition, string> = {\n is: 'rangeis',\n isNot: 'rangenot',\n};\n\nconst DATE_RE = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nconst isTypeValue = (value: string): value is TypeValue =>\n (TYPE_VALUES as readonly string[]).includes(value);\n\nconst isDatePreset = (value: string): value is DatePreset =>\n (DATE_PRESETS as readonly string[]).includes(value);\n\nconst parseBadge = (raw: string): ListFilter | null => {\n const [field, condition, value] = raw.split(':');\n\n if (!field || !condition || !value) {\n return null;\n }\n\n if (field === 'type') {\n if (condition !== 'is' && condition !== 'not') {\n return null;\n }\n const values = value.split(',').filter(isTypeValue);\n\n return values.length > 0\n ? { kind: 'type', condition: condition === 'is' ? 'is' : 'isNot', values }\n : null;\n }\n\n const dateField = FIELD_TOKENS[field];\n if (!dateField) {\n return null;\n }\n\n if (condition in PRESET_CONDITION_TOKENS) {\n return isDatePreset(value)\n ? {\n kind: 'date',\n field: dateField,\n mode: 'preset',\n condition: PRESET_CONDITION_TOKENS[condition],\n preset: value,\n }\n : null;\n }\n\n if (condition in RANGE_CONDITION_TOKENS) {\n const [from, to] = value.split('..');\n\n return DATE_RE.test(from ?? '') && DATE_RE.test(to ?? '')\n ? {\n kind: 'date',\n field: dateField,\n mode: 'range',\n condition: RANGE_CONDITION_TOKENS[condition],\n from,\n to,\n }\n : null;\n }\n\n return null;\n};\n\n/**\n * `unknown` on purpose: the query string is user-editable, and qs parses\n * shapes like `?filters[]=a&filters[]=b` into arrays — the guard is what\n * makes the caller's `?filters=` type an assertion rather than a crash.\n */\nexport const parseFiltersParam = (raw: unknown): ListFilter[] => {\n if (typeof raw !== 'string' || raw === '') {\n return [];\n }\n\n return raw\n .split(';')\n .map(parseBadge)\n .filter((filter): filter is ListFilter => filter !== null);\n};\n\nconst serializeBadge = (filter: ListFilter): string => {\n if (filter.kind === 'type') {\n return `type:${filter.condition === 'is' ? 'is' : 'not'}:${filter.values.join(',')}`;\n }\n\n const field = FIELD_TOKEN_BY_FIELD[filter.field];\n\n if (filter.mode === 'preset') {\n return `${field}:${PRESET_TOKEN_BY_CONDITION[filter.condition]}:${filter.preset}`;\n }\n\n return `${field}:${RANGE_TOKEN_BY_CONDITION[filter.condition]}:${filter.from}..${filter.to}`;\n};\n\nexport const serializeFilters = (filters: ListFilter[]): string =>\n filters.map(serializeBadge).join(';');\n\nexport interface ListFilters {\n filters: ListFilter[];\n /** Serialized form — stable fingerprint for list-identity (selection reset). */\n serialized: string;\n addFilter: (filter: ListFilter) => void;\n /** Replaces the badge at `index` (condition or value edited in place). */\n updateFilter: (index: number, filter: ListFilter) => void;\n removeFilter: (index: number) => void;\n clearFilters: () => void;\n}\n\nexport const useListFilters = (): ListFilters => {\n const [{ query }, setQuery] = useQueryParams<{ filters?: string; _q?: string }>();\n\n const filters = parseFiltersParam(query?.filters);\n\n // `replace: true` on every write: filters are edited in rapid micro-steps\n // (each checkbox of the keep-open Type submenu, each badge segment edit), so\n // pushing would turn one logical change into a stack of Back entries. The\n // URL stays shareable and refresh-safe either way.\n const writeFilters = (next: ListFilter[]) => {\n if (next.length === 0) {\n setQuery(withEncodedUserParams(query, { filters: undefined }), 'push', true);\n } else {\n setQuery(withEncodedUserParams(query, { filters: serializeFilters(next) }), 'push', true);\n }\n };\n\n return {\n filters,\n serialized: serializeFilters(filters),\n addFilter: (filter) => writeFilters([...filters, filter]),\n updateFilter: (index, filter) =>\n writeFilters(filters.map((f, i) => (i === index ? filter : f))),\n removeFilter: (index) => writeFilters(filters.filter((_, i) => i !== index)),\n clearFilters: () => writeFilters([]),\n };\n};\n"],"names":["TYPE_VALUES","DATE_PRESETS","FIELD_TOKENS","created","updated","FIELD_TOKEN_BY_FIELD","createdAt","updatedAt","PRESET_CONDITION_TOKENS","exact","within","notwithin","PRESET_TOKEN_BY_CONDITION","isExactly","withinLast","notWithinLast","RANGE_CONDITION_TOKENS","rangeis","rangenot","RANGE_TOKEN_BY_CONDITION","is","isNot","DATE_RE","isTypeValue","value","includes","isDatePreset","parseBadge","raw","field","condition","split","values","filter","length","kind","dateField","mode","preset","from","to","test","parseFiltersParam","map","serializeBadge","join","serializeFilters","filters","useListFilters","query","setQuery","useQueryParams","writeFilters","next","withEncodedUserParams","undefined","serialized","addFilter","updateFilter","index","f","i","removeFilter","_","clearFilters"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListFilters.mjs","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useListFilters.ts"],"sourcesContent":["import { useQueryParams, withEncodedUserParams } from '@strapi/admin/strapi-admin';\n\n/**\n * Filter state for the assets list, backed by a single `?filters=` query param\n * so the applied filters are shareable and survive Back/refresh.\n *\n * Serialized grammar — badges separated by `;`, one badge is\n * `<field>:<condition>:<value>`:\n *\n * - `type:is:picture,audio` / `type:not:folder`\n * - `created:within:1week` / `updated:notwithin:3months` / `created:exact:1day`\n * - `created:rangeis:2024-01-01..2024-04-07` / `created:rangenot:...`\n *\n * Relative presets stay relative in the URL on purpose: the badge label\n * (\"1 week ago\") remains truthful forever and a shared link means \"within the\n * last week from whenever it is opened\". Resolution to absolute timestamps\n * happens at query-build time (see utils/buildAssetFilters.ts).\n *\n * Several badges for the same field are allowed, even contradictory ones —\n * everything is combined with AND; contradictions simply produce the filtered\n * empty state.\n */\n\nexport const TYPE_VALUES = ['folder', 'picture', 'audio', 'video', 'document'] as const;\nexport type TypeValue = (typeof TYPE_VALUES)[number];\n\nexport const DATE_PRESETS = [\n '1day',\n '3days',\n '1week',\n '1month',\n '3months',\n '6months',\n '1year',\n] as const;\nexport type DatePreset = (typeof DATE_PRESETS)[number];\n\nexport type TypeCondition = 'is' | 'isNot';\nexport type PresetCondition = 'isExactly' | 'withinLast' | 'notWithinLast';\nexport type RangeCondition = 'is' | 'isNot';\n\nexport type DateField = 'createdAt' | 'updatedAt';\n\nexport interface TypeFilter {\n kind: 'type';\n condition: TypeCondition;\n values: TypeValue[];\n}\n\nexport interface DatePresetFilter {\n kind: 'date';\n field: DateField;\n mode: 'preset';\n condition: PresetCondition;\n preset: DatePreset;\n}\n\nexport interface DateRangeFilter {\n kind: 'date';\n field: DateField;\n mode: 'range';\n condition: RangeCondition;\n /** Calendar dates, `YYYY-MM-DD`, inclusive on both ends. */\n from: string;\n to: string;\n}\n\nexport type DateFilter = DatePresetFilter | DateRangeFilter;\nexport type ListFilter = TypeFilter | DateFilter;\n\nconst FIELD_TOKENS: Record<string, DateField> = {\n created: 'createdAt',\n updated: 'updatedAt',\n};\nconst FIELD_TOKEN_BY_FIELD: Record<DateField, string> = {\n createdAt: 'created',\n updatedAt: 'updated',\n};\n\nconst PRESET_CONDITION_TOKENS: Record<string, PresetCondition> = {\n exact: 'isExactly',\n within: 'withinLast',\n notwithin: 'notWithinLast',\n};\nconst PRESET_TOKEN_BY_CONDITION: Record<PresetCondition, string> = {\n isExactly: 'exact',\n withinLast: 'within',\n notWithinLast: 'notwithin',\n};\n\nconst RANGE_CONDITION_TOKENS: Record<string, RangeCondition> = {\n rangeis: 'is',\n rangenot: 'isNot',\n};\nconst RANGE_TOKEN_BY_CONDITION: Record<RangeCondition, string> = {\n is: 'rangeis',\n isNot: 'rangenot',\n};\n\nconst DATE_RE = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nconst isTypeValue = (value: string): value is TypeValue =>\n (TYPE_VALUES as readonly string[]).includes(value);\n\nconst isDatePreset = (value: string): value is DatePreset =>\n (DATE_PRESETS as readonly string[]).includes(value);\n\nconst parseBadge = (raw: string): ListFilter | null => {\n const [field, condition, value] = raw.split(':');\n\n if (!field || !condition || !value) {\n return null;\n }\n\n if (field === 'type') {\n if (condition !== 'is' && condition !== 'not') {\n return null;\n }\n const values = value.split(',').filter(isTypeValue);\n\n return values.length > 0\n ? { kind: 'type', condition: condition === 'is' ? 'is' : 'isNot', values }\n : null;\n }\n\n const dateField = FIELD_TOKENS[field];\n if (!dateField) {\n return null;\n }\n\n if (condition in PRESET_CONDITION_TOKENS) {\n return isDatePreset(value)\n ? {\n kind: 'date',\n field: dateField,\n mode: 'preset',\n condition: PRESET_CONDITION_TOKENS[condition],\n preset: value,\n }\n : null;\n }\n\n if (condition in RANGE_CONDITION_TOKENS) {\n const [from, to] = value.split('..');\n\n return DATE_RE.test(from ?? '') && DATE_RE.test(to ?? '')\n ? {\n kind: 'date',\n field: dateField,\n mode: 'range',\n condition: RANGE_CONDITION_TOKENS[condition],\n from,\n to,\n }\n : null;\n }\n\n return null;\n};\n\n/**\n * `unknown` on purpose: the query string is user-editable, and qs parses\n * shapes like `?filters[]=a&filters[]=b` into arrays — the guard is what\n * makes the caller's `?filters=` type an assertion rather than a crash.\n */\nexport const parseFiltersParam = (raw: unknown): ListFilter[] => {\n if (typeof raw !== 'string' || raw === '') {\n return [];\n }\n\n return raw\n .split(';')\n .map(parseBadge)\n .filter((filter): filter is ListFilter => filter !== null);\n};\n\nconst serializeBadge = (filter: ListFilter): string => {\n if (filter.kind === 'type') {\n return `type:${filter.condition === 'is' ? 'is' : 'not'}:${filter.values.join(',')}`;\n }\n\n const field = FIELD_TOKEN_BY_FIELD[filter.field];\n\n if (filter.mode === 'preset') {\n return `${field}:${PRESET_TOKEN_BY_CONDITION[filter.condition]}:${filter.preset}`;\n }\n\n return `${field}:${RANGE_TOKEN_BY_CONDITION[filter.condition]}:${filter.from}..${filter.to}`;\n};\n\nexport const serializeFilters = (filters: ListFilter[]): string =>\n filters.map(serializeBadge).join(';');\n\nexport interface ListFilters {\n filters: ListFilter[];\n /** Serialized form — stable fingerprint for list-identity (selection reset). */\n serialized: string;\n addFilter: (filter: ListFilter) => void;\n /** Replaces the badge at `index` (condition or value edited in place). */\n updateFilter: (index: number, filter: ListFilter) => void;\n removeFilter: (index: number) => void;\n clearFilters: () => void;\n}\n\nexport const useListFilters = (): ListFilters => {\n const [{ query }, setQuery] = useQueryParams<{ filters?: string; _q?: string }>();\n\n const filters = parseFiltersParam(query?.filters);\n\n // `replace: true` on every write: filters are edited in rapid micro-steps\n // (each checkbox of the keep-open Type submenu, each badge segment edit), so\n // pushing would turn one logical change into a stack of Back entries. The\n // URL stays shareable and refresh-safe either way.\n const writeFilters = (next: ListFilter[]) => {\n if (next.length === 0) {\n setQuery(withEncodedUserParams(query, { filters: undefined }), 'push', true);\n } else {\n setQuery(withEncodedUserParams(query, { filters: serializeFilters(next) }), 'push', true);\n }\n };\n\n return {\n filters,\n serialized: serializeFilters(filters),\n addFilter: (filter) => writeFilters([...filters, filter]),\n updateFilter: (index, filter) =>\n writeFilters(filters.map((f, i) => (i === index ? filter : f))),\n removeFilter: (index) => writeFilters(filters.filter((_, i) => i !== index)),\n clearFilters: () => writeFilters([]),\n };\n};\n"],"names":["TYPE_VALUES","DATE_PRESETS","FIELD_TOKENS","created","updated","FIELD_TOKEN_BY_FIELD","createdAt","updatedAt","PRESET_CONDITION_TOKENS","exact","within","notwithin","PRESET_TOKEN_BY_CONDITION","isExactly","withinLast","notWithinLast","RANGE_CONDITION_TOKENS","rangeis","rangenot","RANGE_TOKEN_BY_CONDITION","is","isNot","DATE_RE","isTypeValue","value","includes","isDatePreset","parseBadge","raw","field","condition","split","values","filter","length","kind","dateField","mode","preset","from","to","test","parseFiltersParam","map","serializeBadge","join","serializeFilters","filters","useListFilters","query","setQuery","useQueryParams","writeFilters","next","withEncodedUserParams","undefined","serialized","addFilter","updateFilter","index","f","i","removeFilter","_","clearFilters"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListScrollRestoration.js","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useListScrollRestoration.ts"],"sourcesContent":["import { useCallback, useEffect, useLayoutEffect, useRef } from 'react';\n\n/**\n * The admin layout marks the element that scrolls the main column (see\n * `Layouts.Root`). The media library has no scroll container of its own, so the\n * offset to save and restore belongs to that ancestor.\n */\nconst SCROLL_ROOT_SELECTOR = '[data-strapi-main-content]';\n\n/**\n * How long a restore keeps retrying after the list key changes.\n *\n * A returning list usually comes back from memory in one commit, so the first\n * attempt lands. When it doesn't — pages still loading, so the content isn't yet\n * tall enough to scroll that far — later commits retry. Past this window the\n * offset is dropped rather than yanked out from under someone already reading.\n */\nconst RESTORE_WINDOW_MS = 2000;\n\n/**\n * How many list offsets to keep. Matches `MAX_REMEMBERED_LISTS` in\n * `useInfiniteAssets`: the two are keyed identically, so they should forget on\n * the same terms.\n */\nconst MAX_REMEMBERED_OFFSETS = 10;\n\ninterface PendingRestore {\n top: number;\n deadline: number;\n}\n\n/**\n * Remembers where each list was scrolled to and puts it back on return.\n *\n * `key` fingerprints the list on screen (folder, search, sort, filters). While\n * it holds steady the current offset is recorded; when it changes the incoming\n * key's saved offset is restored, or the list is sent to the top if it has none\n * — a first visit, or one whose entry has been dropped.\n *\n * Returns a callback ref to place on any element inside the scrolling column;\n * it only locates that column, it is never scrolled itself.\n *\n * Restoring a *position* only helps if the rows that filled it come back too —\n * that is `useInfiniteAssets`' job.\n */\nexport const useListScrollRestoration = (key: string) => {\n const offsetsRef = useRef(new Map<string, number>());\n const containerRef = useRef<HTMLElement | null>(null);\n const detachRef = useRef<(() => void) | null>(null);\n // The key offsets are currently filed under. In a ref because the scroll\n // listener is attached once and must read the current value.\n const keyRef = useRef(key);\n const pendingRef = useRef<PendingRestore | null>(null);\n\n const anchorRef = useCallback((node: HTMLElement | null) => {\n detachRef.current?.();\n detachRef.current = null;\n containerRef.current = null;\n\n const container = node?.closest<HTMLElement>(SCROLL_ROOT_SELECTOR);\n\n if (!container) {\n return;\n }\n\n const handleScroll = () => {\n const offsets = offsetsRef.current;\n\n // Delete before set so the entry moves to the end. Map iterates in\n // insertion order, so the first key is the least recently scrolled.\n offsets.delete(keyRef.current);\n offsets.set(keyRef.current, container.scrollTop);\n\n while (offsets.size > MAX_REMEMBERED_OFFSETS) {\n const oldest = offsets.keys().next().value;\n\n if (oldest === undefined) {\n break;\n }\n\n offsets.delete(oldest);\n }\n };\n\n container.addEventListener('scroll', handleScroll, { passive: true });\n containerRef.current = container;\n detachRef.current = () => container.removeEventListener('scroll', handleScroll);\n }, []);\n\n useEffect(() => () => detachRef.current?.(), []);\n\n // Runs on every commit, not just when `key` changes: a restore the first\n // commit was too short to satisfy must be retried as the rows arrive, and\n // there is no state to key that off. Layout phase so the list is never\n // painted at the wrong offset.\n useLayoutEffect(() => {\n const container = containerRef.current;\n\n if (!container) {\n return;\n }\n\n if (keyRef.current !== key) {\n keyRef.current = key;\n pendingRef.current = {\n top: offsetsRef.current.get(key) ?? 0,\n deadline: Date.now() + RESTORE_WINDOW_MS,\n };\n }\n\n const pending = pendingRef.current;\n\n if (!pending) {\n return;\n }\n\n // Before the assignment, not alongside it: past the window the offset has to\n // be dropped rather than applied one final time to a list the user has since\n // scrolled themselves.\n if (Date.now() > pending.deadline) {\n pendingRef.current = null;\n return;\n }\n\n container.scrollTop = pending.top;\n\n // The browser clamps to the content that exists now, so a target the list\n // isn't tall enough for yet stays pending for the next commit.\n if (container.scrollTop >= pending.top) {\n pendingRef.current = null;\n }\n });\n\n return anchorRef;\n};\n"],"names":["SCROLL_ROOT_SELECTOR","RESTORE_WINDOW_MS","MAX_REMEMBERED_OFFSETS","useListScrollRestoration","key","offsetsRef","useRef","Map","containerRef","detachRef","keyRef","pendingRef","anchorRef","useCallback","node","current","container","closest","handleScroll","offsets","delete","set","scrollTop","size","oldest","keys","next","value","undefined","addEventListener","passive","removeEventListener","useEffect","useLayoutEffect","top","get","deadline","Date","now","pending"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListScrollRestoration.mjs","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useListScrollRestoration.ts"],"sourcesContent":["import { useCallback, useEffect, useLayoutEffect, useRef } from 'react';\n\n/**\n * The admin layout marks the element that scrolls the main column (see\n * `Layouts.Root`). The media library has no scroll container of its own, so the\n * offset to save and restore belongs to that ancestor.\n */\nconst SCROLL_ROOT_SELECTOR = '[data-strapi-main-content]';\n\n/**\n * How long a restore keeps retrying after the list key changes.\n *\n * A returning list usually comes back from memory in one commit, so the first\n * attempt lands. When it doesn't — pages still loading, so the content isn't yet\n * tall enough to scroll that far — later commits retry. Past this window the\n * offset is dropped rather than yanked out from under someone already reading.\n */\nconst RESTORE_WINDOW_MS = 2000;\n\n/**\n * How many list offsets to keep. Matches `MAX_REMEMBERED_LISTS` in\n * `useInfiniteAssets`: the two are keyed identically, so they should forget on\n * the same terms.\n */\nconst MAX_REMEMBERED_OFFSETS = 10;\n\ninterface PendingRestore {\n top: number;\n deadline: number;\n}\n\n/**\n * Remembers where each list was scrolled to and puts it back on return.\n *\n * `key` fingerprints the list on screen (folder, search, sort, filters). While\n * it holds steady the current offset is recorded; when it changes the incoming\n * key's saved offset is restored, or the list is sent to the top if it has none\n * — a first visit, or one whose entry has been dropped.\n *\n * Returns a callback ref to place on any element inside the scrolling column;\n * it only locates that column, it is never scrolled itself.\n *\n * Restoring a *position* only helps if the rows that filled it come back too —\n * that is `useInfiniteAssets`' job.\n */\nexport const useListScrollRestoration = (key: string) => {\n const offsetsRef = useRef(new Map<string, number>());\n const containerRef = useRef<HTMLElement | null>(null);\n const detachRef = useRef<(() => void) | null>(null);\n // The key offsets are currently filed under. In a ref because the scroll\n // listener is attached once and must read the current value.\n const keyRef = useRef(key);\n const pendingRef = useRef<PendingRestore | null>(null);\n\n const anchorRef = useCallback((node: HTMLElement | null) => {\n detachRef.current?.();\n detachRef.current = null;\n containerRef.current = null;\n\n const container = node?.closest<HTMLElement>(SCROLL_ROOT_SELECTOR);\n\n if (!container) {\n return;\n }\n\n const handleScroll = () => {\n const offsets = offsetsRef.current;\n\n // Delete before set so the entry moves to the end. Map iterates in\n // insertion order, so the first key is the least recently scrolled.\n offsets.delete(keyRef.current);\n offsets.set(keyRef.current, container.scrollTop);\n\n while (offsets.size > MAX_REMEMBERED_OFFSETS) {\n const oldest = offsets.keys().next().value;\n\n if (oldest === undefined) {\n break;\n }\n\n offsets.delete(oldest);\n }\n };\n\n container.addEventListener('scroll', handleScroll, { passive: true });\n containerRef.current = container;\n detachRef.current = () => container.removeEventListener('scroll', handleScroll);\n }, []);\n\n useEffect(() => () => detachRef.current?.(), []);\n\n // Runs on every commit, not just when `key` changes: a restore the first\n // commit was too short to satisfy must be retried as the rows arrive, and\n // there is no state to key that off. Layout phase so the list is never\n // painted at the wrong offset.\n useLayoutEffect(() => {\n const container = containerRef.current;\n\n if (!container) {\n return;\n }\n\n if (keyRef.current !== key) {\n keyRef.current = key;\n pendingRef.current = {\n top: offsetsRef.current.get(key) ?? 0,\n deadline: Date.now() + RESTORE_WINDOW_MS,\n };\n }\n\n const pending = pendingRef.current;\n\n if (!pending) {\n return;\n }\n\n // Before the assignment, not alongside it: past the window the offset has to\n // be dropped rather than applied one final time to a list the user has since\n // scrolled themselves.\n if (Date.now() > pending.deadline) {\n pendingRef.current = null;\n return;\n }\n\n container.scrollTop = pending.top;\n\n // The browser clamps to the content that exists now, so a target the list\n // isn't tall enough for yet stays pending for the next commit.\n if (container.scrollTop >= pending.top) {\n pendingRef.current = null;\n }\n });\n\n return anchorRef;\n};\n"],"names":["SCROLL_ROOT_SELECTOR","RESTORE_WINDOW_MS","MAX_REMEMBERED_OFFSETS","useListScrollRestoration","key","offsetsRef","useRef","Map","containerRef","detachRef","keyRef","pendingRef","anchorRef","useCallback","node","current","container","closest","handleScroll","offsets","delete","set","scrollTop","size","oldest","keys","next","value","undefined","addEventListener","passive","removeEventListener","useEffect","useLayoutEffect","top","get","deadline","Date","now","pending"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListSort.js","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useListSort.ts"],"sourcesContent":["import { useQueryParams, withEncodedUserParams } from '@strapi/admin/strapi-admin';\n\n/**\n * Sort state for the assets list, backed by URL query params so the current\n * ordering is shareable and survives Back/refresh:\n *\n * - `?sort=<rule>` — a single whitelisted rule. Omitted → default (most\n * recent updates).\n * - `?folders=mixed` — folders interleaved with files. Omitted → folders on top.\n *\n * The date rules and the direction rules are mutually exclusive: exactly one\n * rule is active at a time (one checkmark total, like the design mock). Picking\n * an option in one group clears the other; clearing the active option falls\n * back to the default — an unsorted list is not a state the UI offers.\n */\n\nexport const SORT_BY_RULES = {\n oldestUploads: 'createdAt:ASC',\n mostRecentUpdates: 'updatedAt:DESC',\n} as const;\n\nexport const SORT_DIRECTION_RULES = {\n nameAsc: 'name:ASC',\n nameDesc: 'name:DESC',\n sizeAsc: 'size:ASC',\n sizeDesc: 'size:DESC',\n} as const;\n\nexport type SortByKey = keyof typeof SORT_BY_RULES;\nexport type SortDirectionKey = keyof typeof SORT_DIRECTION_RULES;\nexport type FoldersPosition = 'top' | 'mixed';\n\nconst DEFAULT_SORT_BY: SortByKey = 'mostRecentUpdates';\n\nconst SORT_BY_BY_RULE = Object.fromEntries(\n Object.entries(SORT_BY_RULES).map(([key, rule]) => [rule, key])\n) as Record<string, SortByKey>;\n\nconst SORT_DIRECTION_BY_RULE = Object.fromEntries(\n Object.entries(SORT_DIRECTION_RULES).map(([key, rule]) => [rule, key])\n) as Record<string, SortDirectionKey>;\n\ninterface ParsedSort {\n sortBy: SortByKey | null;\n direction: SortDirectionKey | null;\n /** False when the state is the fallback default (no recognized rule in the URL). */\n isExplicit: boolean;\n}\n\n/** Parses `?sort=` — the first recognized rule wins, unknown rules are dropped. */\nconst parseSortParam = (raw: string | undefined): ParsedSort => {\n for (const rule of (raw ?? '').split(',')) {\n if (rule in SORT_BY_BY_RULE) {\n return { sortBy: SORT_BY_BY_RULE[rule], direction: null, isExplicit: true };\n }\n if (rule in SORT_DIRECTION_BY_RULE) {\n return { sortBy: null, direction: SORT_DIRECTION_BY_RULE[rule], isExplicit: true };\n }\n }\n\n return { sortBy: DEFAULT_SORT_BY, direction: null, isExplicit: false };\n};\n\nconst serializeSort = (sortBy: SortByKey | null, direction: SortDirectionKey | null): string => {\n const rules: (string | null)[] = [\n sortBy && SORT_BY_RULES[sortBy],\n direction && SORT_DIRECTION_RULES[direction],\n ];\n\n return rules.filter((rule): rule is string => Boolean(rule)).join(',');\n};\n\nexport interface ListSort {\n sortBy: SortByKey | null;\n direction: SortDirectionKey | null;\n foldersPosition: FoldersPosition;\n /**\n * The active rule for the files query, e.g. `updatedAt:DESC` — always a\n * single rule since the sort groups are mutually exclusive.\n */\n assetsSort: string;\n /**\n * Rule applicable to the folders query. In the default state (no sort in the\n * URL) folders keep their alphabetical order so the band matches the sidebar\n * tree; an explicit user sort applies, except size rules (folders have no\n * `size` column), which fall back to alphabetical.\n */\n foldersSort: string;\n setSortBy: (key: SortByKey | null) => void;\n setDirection: (key: SortDirectionKey | null) => void;\n setFoldersPosition: (position: FoldersPosition) => void;\n}\n\nexport const useListSort = (): ListSort => {\n const [{ query }, setQuery] = useQueryParams<{\n sort?: string;\n folders?: string;\n _q?: string;\n }>();\n\n const { sortBy, direction, isExplicit } = parseSortParam(query?.sort);\n const foldersPosition: FoldersPosition = query?.folders === 'mixed' ? 'mixed' : 'top';\n\n const writeSort = (nextSortBy: SortByKey | null, nextDirection: SortDirectionKey | null) => {\n // Exactly one active rule: clearing the active one falls back to default.\n if (nextSortBy === null && nextDirection === null) {\n nextSortBy = DEFAULT_SORT_BY;\n }\n\n const serialized = serializeSort(nextSortBy, nextDirection);\n\n if (nextSortBy === DEFAULT_SORT_BY && nextDirection === null) {\n setQuery(withEncodedUserParams(query, { sort: undefined }));\n } else {\n setQuery(withEncodedUserParams(query, { sort: serialized }));\n }\n };\n\n // Groups are mutually exclusive — picking in one clears the other.\n const setSortBy = (key: SortByKey | null) => writeSort(key, null);\n const setDirection = (key: SortDirectionKey | null) => writeSort(null, key);\n\n const setFoldersPosition = (position: FoldersPosition) => {\n if (position === 'mixed') {\n setQuery(withEncodedUserParams(query, { folders: 'mixed' }));\n } else {\n setQuery(withEncodedUserParams(query, { folders: undefined }));\n }\n };\n\n const assetsSort = serializeSort(sortBy, direction);\n const folderRuleCandidates: (string | null)[] = [\n sortBy && SORT_BY_RULES[sortBy],\n direction && !direction.startsWith('size') ? SORT_DIRECTION_RULES[direction] : null,\n ];\n const folderRules = folderRuleCandidates.filter((rule): rule is string => Boolean(rule));\n // Default state keeps folders alphabetical (matches the sidebar tree) — only\n // an explicit user sort reorders the folders band.\n const foldersSort = isExplicit && folderRules.length > 0 ? folderRules.join(',') : 'name:ASC';\n\n return {\n sortBy,\n direction,\n foldersPosition,\n assetsSort,\n foldersSort,\n setSortBy,\n setDirection,\n setFoldersPosition,\n };\n};\n"],"names":["SORT_BY_RULES","oldestUploads","mostRecentUpdates","SORT_DIRECTION_RULES","nameAsc","nameDesc","sizeAsc","sizeDesc","DEFAULT_SORT_BY","SORT_BY_BY_RULE","Object","fromEntries","entries","map","key","rule","SORT_DIRECTION_BY_RULE","parseSortParam","raw","split","sortBy","direction","isExplicit","serializeSort","rules","filter","Boolean","join","useListSort","query","setQuery","useQueryParams","sort","foldersPosition","folders","writeSort","nextSortBy","nextDirection","serialized","withEncodedUserParams","undefined","setSortBy","setDirection","setFoldersPosition","position","assetsSort","folderRuleCandidates","startsWith","folderRules","foldersSort","length"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useListSort.mjs","sources":["../../../../../../admin/src/future/pages/Assets/hooks/useListSort.ts"],"sourcesContent":["import { useQueryParams, withEncodedUserParams } from '@strapi/admin/strapi-admin';\n\n/**\n * Sort state for the assets list, backed by URL query params so the current\n * ordering is shareable and survives Back/refresh:\n *\n * - `?sort=<rule>` — a single whitelisted rule. Omitted → default (most\n * recent updates).\n * - `?folders=mixed` — folders interleaved with files. Omitted → folders on top.\n *\n * The date rules and the direction rules are mutually exclusive: exactly one\n * rule is active at a time (one checkmark total, like the design mock). Picking\n * an option in one group clears the other; clearing the active option falls\n * back to the default — an unsorted list is not a state the UI offers.\n */\n\nexport const SORT_BY_RULES = {\n oldestUploads: 'createdAt:ASC',\n mostRecentUpdates: 'updatedAt:DESC',\n} as const;\n\nexport const SORT_DIRECTION_RULES = {\n nameAsc: 'name:ASC',\n nameDesc: 'name:DESC',\n sizeAsc: 'size:ASC',\n sizeDesc: 'size:DESC',\n} as const;\n\nexport type SortByKey = keyof typeof SORT_BY_RULES;\nexport type SortDirectionKey = keyof typeof SORT_DIRECTION_RULES;\nexport type FoldersPosition = 'top' | 'mixed';\n\nconst DEFAULT_SORT_BY: SortByKey = 'mostRecentUpdates';\n\nconst SORT_BY_BY_RULE = Object.fromEntries(\n Object.entries(SORT_BY_RULES).map(([key, rule]) => [rule, key])\n) as Record<string, SortByKey>;\n\nconst SORT_DIRECTION_BY_RULE = Object.fromEntries(\n Object.entries(SORT_DIRECTION_RULES).map(([key, rule]) => [rule, key])\n) as Record<string, SortDirectionKey>;\n\ninterface ParsedSort {\n sortBy: SortByKey | null;\n direction: SortDirectionKey | null;\n /** False when the state is the fallback default (no recognized rule in the URL). */\n isExplicit: boolean;\n}\n\n/** Parses `?sort=` — the first recognized rule wins, unknown rules are dropped. */\nconst parseSortParam = (raw: string | undefined): ParsedSort => {\n for (const rule of (raw ?? '').split(',')) {\n if (rule in SORT_BY_BY_RULE) {\n return { sortBy: SORT_BY_BY_RULE[rule], direction: null, isExplicit: true };\n }\n if (rule in SORT_DIRECTION_BY_RULE) {\n return { sortBy: null, direction: SORT_DIRECTION_BY_RULE[rule], isExplicit: true };\n }\n }\n\n return { sortBy: DEFAULT_SORT_BY, direction: null, isExplicit: false };\n};\n\nconst serializeSort = (sortBy: SortByKey | null, direction: SortDirectionKey | null): string => {\n const rules: (string | null)[] = [\n sortBy && SORT_BY_RULES[sortBy],\n direction && SORT_DIRECTION_RULES[direction],\n ];\n\n return rules.filter((rule): rule is string => Boolean(rule)).join(',');\n};\n\nexport interface ListSort {\n sortBy: SortByKey | null;\n direction: SortDirectionKey | null;\n foldersPosition: FoldersPosition;\n /**\n * The active rule for the files query, e.g. `updatedAt:DESC` — always a\n * single rule since the sort groups are mutually exclusive.\n */\n assetsSort: string;\n /**\n * Rule applicable to the folders query. In the default state (no sort in the\n * URL) folders keep their alphabetical order so the band matches the sidebar\n * tree; an explicit user sort applies, except size rules (folders have no\n * `size` column), which fall back to alphabetical.\n */\n foldersSort: string;\n setSortBy: (key: SortByKey | null) => void;\n setDirection: (key: SortDirectionKey | null) => void;\n setFoldersPosition: (position: FoldersPosition) => void;\n}\n\nexport const useListSort = (): ListSort => {\n const [{ query }, setQuery] = useQueryParams<{\n sort?: string;\n folders?: string;\n _q?: string;\n }>();\n\n const { sortBy, direction, isExplicit } = parseSortParam(query?.sort);\n const foldersPosition: FoldersPosition = query?.folders === 'mixed' ? 'mixed' : 'top';\n\n const writeSort = (nextSortBy: SortByKey | null, nextDirection: SortDirectionKey | null) => {\n // Exactly one active rule: clearing the active one falls back to default.\n if (nextSortBy === null && nextDirection === null) {\n nextSortBy = DEFAULT_SORT_BY;\n }\n\n const serialized = serializeSort(nextSortBy, nextDirection);\n\n if (nextSortBy === DEFAULT_SORT_BY && nextDirection === null) {\n setQuery(withEncodedUserParams(query, { sort: undefined }));\n } else {\n setQuery(withEncodedUserParams(query, { sort: serialized }));\n }\n };\n\n // Groups are mutually exclusive — picking in one clears the other.\n const setSortBy = (key: SortByKey | null) => writeSort(key, null);\n const setDirection = (key: SortDirectionKey | null) => writeSort(null, key);\n\n const setFoldersPosition = (position: FoldersPosition) => {\n if (position === 'mixed') {\n setQuery(withEncodedUserParams(query, { folders: 'mixed' }));\n } else {\n setQuery(withEncodedUserParams(query, { folders: undefined }));\n }\n };\n\n const assetsSort = serializeSort(sortBy, direction);\n const folderRuleCandidates: (string | null)[] = [\n sortBy && SORT_BY_RULES[sortBy],\n direction && !direction.startsWith('size') ? SORT_DIRECTION_RULES[direction] : null,\n ];\n const folderRules = folderRuleCandidates.filter((rule): rule is string => Boolean(rule));\n // Default state keeps folders alphabetical (matches the sidebar tree) — only\n // an explicit user sort reorders the folders band.\n const foldersSort = isExplicit && folderRules.length > 0 ? folderRules.join(',') : 'name:ASC';\n\n return {\n sortBy,\n direction,\n foldersPosition,\n assetsSort,\n foldersSort,\n setSortBy,\n setDirection,\n setFoldersPosition,\n };\n};\n"],"names":["SORT_BY_RULES","oldestUploads","mostRecentUpdates","SORT_DIRECTION_RULES","nameAsc","nameDesc","sizeAsc","sizeDesc","DEFAULT_SORT_BY","SORT_BY_BY_RULE","Object","fromEntries","entries","map","key","rule","SORT_DIRECTION_BY_RULE","parseSortParam","raw","split","sortBy","direction","isExplicit","serializeSort","rules","filter","Boolean","join","useListSort","query","setQuery","useQueryParams","sort","foldersPosition","folders","writeSort","nextSortBy","nextDirection","serialized","withEncodedUserParams","undefined","setSortBy","setDirection","setFoldersPosition","position","assetsSort","folderRuleCandidates","startsWith","folderRules","foldersSort","length"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildAssetFilters.js","sources":["../../../../../../admin/src/future/pages/Assets/utils/buildAssetFilters.ts"],"sourcesContent":["import {\n type DateFilter,\n type DatePreset,\n type ListFilter,\n type TypeFilter,\n type TypeValue,\n} from '../hooks/useListFilters';\n\n/**\n * Translates the URL filter model into Strapi `filters[$and]` entries for the\n * files and folders queries, and decides the structural visibility of both\n * sections.\n *\n * Relative presets resolve against `now` at build time — the URL stays\n * relative (\"within the last week\"), only the outgoing query is absolute.\n *\n * Semantics:\n * - Every badge is one `$and` entry (badges combine with AND, per ticket).\n * - Type: `folder` is not a mime — it acts structurally on the folders\n * section. The remaining values map to mime clauses; `document` is the\n * legacy catch-all (mime contains none of image/audio/video — audio\n * included in the exclusion, fixing the legacy quirk).\n * - Dates apply to files and folders alike (folders have both timestamps).\n * - \"is exactly <preset>\" means the calendar day of `now - delta`.\n * - Ranges are inclusive on both ends (start-of-day .. end-of-day).\n */\n\ntype QueryClause = Record<string, unknown>;\n\nconst MIME_BY_VALUE: Record<Exclude<TypeValue, 'folder' | 'document'>, string> = {\n picture: 'image',\n audio: 'audio',\n video: 'video',\n};\n\nconst ALL_MIMES = Object.values(MIME_BY_VALUE);\n\nconst PRESET_DELTAS: Record<DatePreset, { days?: number; months?: number; years?: number }> = {\n '1day': { days: 1 },\n '3days': { days: 3 },\n '1week': { days: 7 },\n '1month': { months: 1 },\n '3months': { months: 3 },\n '6months': { months: 6 },\n '1year': { years: 1 },\n};\n\nconst subtractPreset = (now: Date, preset: DatePreset): Date => {\n const { days = 0, months = 0, years = 0 } = PRESET_DELTAS[preset];\n const result = new Date(now.getTime());\n\n if (years || months) {\n // JS date setters overflow at month ends (Mar 31 − 1 month → Feb 31 → Mar 3),\n // so move to the 1st first and clamp the day to the target month's length.\n const dayOfMonth = result.getDate();\n result.setDate(1);\n result.setFullYear(result.getFullYear() - years);\n result.setMonth(result.getMonth() - months);\n\n const daysInTargetMonth = new Date(result.getFullYear(), result.getMonth() + 1, 0).getDate();\n result.setDate(Math.min(dayOfMonth, daysInTargetMonth));\n }\n\n result.setDate(result.getDate() - days);\n\n return result;\n};\n\nconst startOfDay = (date: Date): Date => {\n const result = new Date(date.getTime());\n result.setHours(0, 0, 0, 0);\n return result;\n};\n\nconst endOfDay = (date: Date): Date => {\n const result = new Date(date.getTime());\n result.setHours(23, 59, 59, 999);\n return result;\n};\n\n/**\n * Parses `YYYY-MM-DD` as a local calendar date — NOT `new Date(value)`, which\n * treats date-only strings as UTC midnight and shifts the day in every\n * timezone west of UTC. Shared by the query builder, the badge labels and the\n * range calendar so all three agree on which day a range endpoint means.\n */\nexport const parseCalendarDate = (value: string): Date => {\n const [year, month, day] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\nconst buildDateClause = (filter: DateFilter, now: Date): QueryClause => {\n const { field } = filter;\n\n if (filter.mode === 'preset') {\n const pivot = subtractPreset(now, filter.preset);\n\n switch (filter.condition) {\n case 'withinLast':\n return { [field]: { $gte: pivot.toISOString() } };\n case 'notWithinLast':\n return { [field]: { $lt: pivot.toISOString() } };\n case 'isExactly':\n return {\n [field]: {\n $gte: startOfDay(pivot).toISOString(),\n $lte: endOfDay(pivot).toISOString(),\n },\n };\n }\n }\n\n const from = startOfDay(parseCalendarDate(filter.from)).toISOString();\n const to = endOfDay(parseCalendarDate(filter.to)).toISOString();\n\n if (filter.condition === 'is') {\n return { [field]: { $gte: from, $lte: to } };\n }\n\n return { $or: [{ [field]: { $lt: from } }, { [field]: { $gt: to } }] };\n};\n\nconst buildMimeClause = (filter: TypeFilter): QueryClause | null => {\n const fileValues = filter.values.filter((value): value is TypeValue => value !== 'folder');\n\n if (fileValues.length === 0) {\n return null;\n }\n\n const branches: QueryClause[] = fileValues.map((value) => {\n if (value === 'document') {\n // Catch-all: none of the known mime families.\n return { $and: ALL_MIMES.map((mime) => ({ mime: { $notContains: mime } })) };\n }\n return { mime: { $contains: MIME_BY_VALUE[value as keyof typeof MIME_BY_VALUE] } };\n });\n\n if (filter.condition === 'is') {\n return branches.length === 1 ? branches[0] : { $or: branches };\n }\n\n // \"is not\" = matches none of the selected values: negate each branch, AND them.\n const negated: QueryClause[] = fileValues.map((value) => {\n if (value === 'document') {\n // Not a document = is one of the known families.\n return { $or: ALL_MIMES.map((mime) => ({ mime: { $contains: mime } })) };\n }\n return { mime: { $notContains: MIME_BY_VALUE[value as keyof typeof MIME_BY_VALUE] } };\n });\n\n return negated.length === 1 ? negated[0] : { $and: negated };\n};\n\nexport interface BuiltFilters {\n /** Extra `$and` entries for the files query. */\n fileClauses: QueryClause[];\n /** Extra `$and` entries for the folders query (dates only). */\n folderClauses: QueryClause[];\n /**\n * Whether the folders section can show at all. A type badge decides it by\n * evaluating \"folder\" like any other value: `is` shows folders only when\n * folder is selected; `is not` hides them only when folder is selected.\n */\n showFolders: boolean;\n /**\n * Whether the files list can show at all — false when an `is` type badge\n * selects only \"folder\" (no file can match).\n */\n showFiles: boolean;\n}\n\nexport const buildAssetFilters = (filters: ListFilter[], now: Date): BuiltFilters => {\n const fileClauses: QueryClause[] = [];\n const folderClauses: QueryClause[] = [];\n let showFolders = true;\n let showFiles = true;\n\n for (const filter of filters) {\n if (filter.kind === 'date') {\n const clause = buildDateClause(filter, now);\n fileClauses.push(clause);\n folderClauses.push(clause);\n continue;\n }\n\n const includesFolder = filter.values.includes('folder');\n if (filter.condition === 'is' ? !includesFolder : includesFolder) {\n showFolders = false;\n }\n\n const mimeClause = buildMimeClause(filter);\n if (mimeClause) {\n fileClauses.push(mimeClause);\n } else if (filter.condition === 'is') {\n // `is [folder]` only — no file can match the badge.\n showFiles = false;\n }\n }\n\n return { fileClauses, folderClauses, showFolders, showFiles };\n};\n"],"names":["MIME_BY_VALUE","picture","audio","video","ALL_MIMES","Object","values","PRESET_DELTAS","days","months","years","subtractPreset","now","preset","result","Date","getTime","dayOfMonth","getDate","setDate","setFullYear","getFullYear","setMonth","getMonth","daysInTargetMonth","Math","min","startOfDay","date","setHours","endOfDay","parseCalendarDate","value","year","month","day","split","map","Number","buildDateClause","filter","field","mode","pivot","condition","$gte","toISOString","$lt","$lte","from","to","$or","$gt","buildMimeClause","fileValues","length","branches","$and","mime","$notContains","$contains","negated","buildAssetFilters","filters","fileClauses","folderClauses","showFolders","showFiles","kind","clause","push","includesFolder","includes","mimeClause"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildAssetFilters.mjs","sources":["../../../../../../admin/src/future/pages/Assets/utils/buildAssetFilters.ts"],"sourcesContent":["import {\n type DateFilter,\n type DatePreset,\n type ListFilter,\n type TypeFilter,\n type TypeValue,\n} from '../hooks/useListFilters';\n\n/**\n * Translates the URL filter model into Strapi `filters[$and]` entries for the\n * files and folders queries, and decides the structural visibility of both\n * sections.\n *\n * Relative presets resolve against `now` at build time — the URL stays\n * relative (\"within the last week\"), only the outgoing query is absolute.\n *\n * Semantics:\n * - Every badge is one `$and` entry (badges combine with AND, per ticket).\n * - Type: `folder` is not a mime — it acts structurally on the folders\n * section. The remaining values map to mime clauses; `document` is the\n * legacy catch-all (mime contains none of image/audio/video — audio\n * included in the exclusion, fixing the legacy quirk).\n * - Dates apply to files and folders alike (folders have both timestamps).\n * - \"is exactly <preset>\" means the calendar day of `now - delta`.\n * - Ranges are inclusive on both ends (start-of-day .. end-of-day).\n */\n\ntype QueryClause = Record<string, unknown>;\n\nconst MIME_BY_VALUE: Record<Exclude<TypeValue, 'folder' | 'document'>, string> = {\n picture: 'image',\n audio: 'audio',\n video: 'video',\n};\n\nconst ALL_MIMES = Object.values(MIME_BY_VALUE);\n\nconst PRESET_DELTAS: Record<DatePreset, { days?: number; months?: number; years?: number }> = {\n '1day': { days: 1 },\n '3days': { days: 3 },\n '1week': { days: 7 },\n '1month': { months: 1 },\n '3months': { months: 3 },\n '6months': { months: 6 },\n '1year': { years: 1 },\n};\n\nconst subtractPreset = (now: Date, preset: DatePreset): Date => {\n const { days = 0, months = 0, years = 0 } = PRESET_DELTAS[preset];\n const result = new Date(now.getTime());\n\n if (years || months) {\n // JS date setters overflow at month ends (Mar 31 − 1 month → Feb 31 → Mar 3),\n // so move to the 1st first and clamp the day to the target month's length.\n const dayOfMonth = result.getDate();\n result.setDate(1);\n result.setFullYear(result.getFullYear() - years);\n result.setMonth(result.getMonth() - months);\n\n const daysInTargetMonth = new Date(result.getFullYear(), result.getMonth() + 1, 0).getDate();\n result.setDate(Math.min(dayOfMonth, daysInTargetMonth));\n }\n\n result.setDate(result.getDate() - days);\n\n return result;\n};\n\nconst startOfDay = (date: Date): Date => {\n const result = new Date(date.getTime());\n result.setHours(0, 0, 0, 0);\n return result;\n};\n\nconst endOfDay = (date: Date): Date => {\n const result = new Date(date.getTime());\n result.setHours(23, 59, 59, 999);\n return result;\n};\n\n/**\n * Parses `YYYY-MM-DD` as a local calendar date — NOT `new Date(value)`, which\n * treats date-only strings as UTC midnight and shifts the day in every\n * timezone west of UTC. Shared by the query builder, the badge labels and the\n * range calendar so all three agree on which day a range endpoint means.\n */\nexport const parseCalendarDate = (value: string): Date => {\n const [year, month, day] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\nconst buildDateClause = (filter: DateFilter, now: Date): QueryClause => {\n const { field } = filter;\n\n if (filter.mode === 'preset') {\n const pivot = subtractPreset(now, filter.preset);\n\n switch (filter.condition) {\n case 'withinLast':\n return { [field]: { $gte: pivot.toISOString() } };\n case 'notWithinLast':\n return { [field]: { $lt: pivot.toISOString() } };\n case 'isExactly':\n return {\n [field]: {\n $gte: startOfDay(pivot).toISOString(),\n $lte: endOfDay(pivot).toISOString(),\n },\n };\n }\n }\n\n const from = startOfDay(parseCalendarDate(filter.from)).toISOString();\n const to = endOfDay(parseCalendarDate(filter.to)).toISOString();\n\n if (filter.condition === 'is') {\n return { [field]: { $gte: from, $lte: to } };\n }\n\n return { $or: [{ [field]: { $lt: from } }, { [field]: { $gt: to } }] };\n};\n\nconst buildMimeClause = (filter: TypeFilter): QueryClause | null => {\n const fileValues = filter.values.filter((value): value is TypeValue => value !== 'folder');\n\n if (fileValues.length === 0) {\n return null;\n }\n\n const branches: QueryClause[] = fileValues.map((value) => {\n if (value === 'document') {\n // Catch-all: none of the known mime families.\n return { $and: ALL_MIMES.map((mime) => ({ mime: { $notContains: mime } })) };\n }\n return { mime: { $contains: MIME_BY_VALUE[value as keyof typeof MIME_BY_VALUE] } };\n });\n\n if (filter.condition === 'is') {\n return branches.length === 1 ? branches[0] : { $or: branches };\n }\n\n // \"is not\" = matches none of the selected values: negate each branch, AND them.\n const negated: QueryClause[] = fileValues.map((value) => {\n if (value === 'document') {\n // Not a document = is one of the known families.\n return { $or: ALL_MIMES.map((mime) => ({ mime: { $contains: mime } })) };\n }\n return { mime: { $notContains: MIME_BY_VALUE[value as keyof typeof MIME_BY_VALUE] } };\n });\n\n return negated.length === 1 ? negated[0] : { $and: negated };\n};\n\nexport interface BuiltFilters {\n /** Extra `$and` entries for the files query. */\n fileClauses: QueryClause[];\n /** Extra `$and` entries for the folders query (dates only). */\n folderClauses: QueryClause[];\n /**\n * Whether the folders section can show at all. A type badge decides it by\n * evaluating \"folder\" like any other value: `is` shows folders only when\n * folder is selected; `is not` hides them only when folder is selected.\n */\n showFolders: boolean;\n /**\n * Whether the files list can show at all — false when an `is` type badge\n * selects only \"folder\" (no file can match).\n */\n showFiles: boolean;\n}\n\nexport const buildAssetFilters = (filters: ListFilter[], now: Date): BuiltFilters => {\n const fileClauses: QueryClause[] = [];\n const folderClauses: QueryClause[] = [];\n let showFolders = true;\n let showFiles = true;\n\n for (const filter of filters) {\n if (filter.kind === 'date') {\n const clause = buildDateClause(filter, now);\n fileClauses.push(clause);\n folderClauses.push(clause);\n continue;\n }\n\n const includesFolder = filter.values.includes('folder');\n if (filter.condition === 'is' ? !includesFolder : includesFolder) {\n showFolders = false;\n }\n\n const mimeClause = buildMimeClause(filter);\n if (mimeClause) {\n fileClauses.push(mimeClause);\n } else if (filter.condition === 'is') {\n // `is [folder]` only — no file can match the badge.\n showFiles = false;\n }\n }\n\n return { fileClauses, folderClauses, showFolders, showFiles };\n};\n"],"names":["MIME_BY_VALUE","picture","audio","video","ALL_MIMES","Object","values","PRESET_DELTAS","days","months","years","subtractPreset","now","preset","result","Date","getTime","dayOfMonth","getDate","setDate","setFullYear","getFullYear","setMonth","getMonth","daysInTargetMonth","Math","min","startOfDay","date","setHours","endOfDay","parseCalendarDate","value","year","month","day","split","map","Number","buildDateClause","filter","field","mode","pivot","condition","$gte","toISOString","$lt","$lte","from","to","$or","$gt","buildMimeClause","fileValues","length","branches","$and","mime","$notContains","$contains","negated","buildAssetFilters","filters","fileClauses","folderClauses","showFolders","showFiles","kind","clause","push","includesFolder","includes","mimeClause"],"mappings":"AA6BA,MAAMA,aAAAA,GAA2E;IAC/EC,OAAAA,EAAS,OAAA;IACTC,KAAAA,EAAO,OAAA;IACPC,KAAAA,EAAO;AACT,CAAA;AAEA,MAAMC,SAAAA,GAAYC,MAAAA,CAAOC,MAAM,CAACN,aAAAA,CAAAA;AAEhC,MAAMO,aAAAA,GAAwF;IAC5F,MAAA,EAAQ;QAAEC,IAAAA,EAAM;AAAE,KAAA;IAClB,OAAA,EAAS;QAAEA,IAAAA,EAAM;AAAE,KAAA;IACnB,OAAA,EAAS;QAAEA,IAAAA,EAAM;AAAE,KAAA;IACnB,QAAA,EAAU;QAAEC,MAAAA,EAAQ;AAAE,KAAA;IACtB,SAAA,EAAW;QAAEA,MAAAA,EAAQ;AAAE,KAAA;IACvB,SAAA,EAAW;QAAEA,MAAAA,EAAQ;AAAE,KAAA;IACvB,OAAA,EAAS;QAAEC,KAAAA,EAAO;AAAE;AACtB,CAAA;AAEA,MAAMC,cAAAA,GAAiB,CAACC,GAAAA,EAAWC,MAAAA,GAAAA;AACjC,IAAA,MAAM,EAAEL,IAAAA,GAAO,CAAC,EAAEC,MAAAA,GAAS,CAAC,EAAEC,KAAAA,GAAQ,CAAC,EAAE,GAAGH,aAAa,CAACM,MAAAA,CAAO;AACjE,IAAA,MAAMC,MAAAA,GAAS,IAAIC,IAAAA,CAAKH,GAAAA,CAAII,OAAO,EAAA,CAAA;AAEnC,IAAA,IAAIN,SAASD,MAAAA,EAAQ;;;QAGnB,MAAMQ,UAAAA,GAAaH,OAAOI,OAAO,EAAA;AACjCJ,QAAAA,MAAAA,CAAOK,OAAO,CAAC,CAAA,CAAA;AACfL,QAAAA,MAAAA,CAAOM,WAAW,CAACN,MAAAA,CAAOO,WAAW,EAAA,GAAKX,KAAAA,CAAAA;AAC1CI,QAAAA,MAAAA,CAAOQ,QAAQ,CAACR,MAAAA,CAAOS,QAAQ,EAAA,GAAKd,MAAAA,CAAAA;QAEpC,MAAMe,iBAAAA,GAAoB,IAAIT,IAAAA,CAAKD,MAAAA,CAAOO,WAAW,EAAA,EAAIP,MAAAA,CAAOS,QAAQ,EAAA,GAAK,CAAA,EAAG,CAAA,CAAA,CAAGL,OAAO,EAAA;AAC1FJ,QAAAA,MAAAA,CAAOK,OAAO,CAACM,IAAAA,CAAKC,GAAG,CAACT,UAAAA,EAAYO,iBAAAA,CAAAA,CAAAA;AACtC,IAAA;AAEAV,IAAAA,MAAAA,CAAOK,OAAO,CAACL,MAAAA,CAAOI,OAAO,EAAA,GAAKV,IAAAA,CAAAA;IAElC,OAAOM,MAAAA;AACT,CAAA;AAEA,MAAMa,aAAa,CAACC,IAAAA,GAAAA;AAClB,IAAA,MAAMd,MAAAA,GAAS,IAAIC,IAAAA,CAAKa,IAAAA,CAAKZ,OAAO,EAAA,CAAA;AACpCF,IAAAA,MAAAA,CAAOe,QAAQ,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,CAAA;IACzB,OAAOf,MAAAA;AACT,CAAA;AAEA,MAAMgB,WAAW,CAACF,IAAAA,GAAAA;AAChB,IAAA,MAAMd,MAAAA,GAAS,IAAIC,IAAAA,CAAKa,IAAAA,CAAKZ,OAAO,EAAA,CAAA;AACpCF,IAAAA,MAAAA,CAAOe,QAAQ,CAAC,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,CAAA;IAC5B,OAAOf,MAAAA;AACT,CAAA;AAEA;;;;;IAMO,MAAMiB,iBAAAA,GAAoB,CAACC,KAAAA,GAAAA;IAChC,MAAM,CAACC,IAAAA,EAAMC,KAAAA,EAAOC,GAAAA,CAAI,GAAGH,MAAMI,KAAK,CAAC,GAAA,CAAA,CAAKC,GAAG,CAACC,MAAAA,CAAAA;AAChD,IAAA,OAAO,IAAIvB,IAAAA,CAAKkB,IAAAA,EAAMC,KAAAA,GAAQ,CAAA,EAAGC,GAAAA,CAAAA;AACnC;AAEA,MAAMI,eAAAA,GAAkB,CAACC,MAAAA,EAAoB5B,GAAAA,GAAAA;IAC3C,MAAM,EAAE6B,KAAK,EAAE,GAAGD,MAAAA;IAElB,IAAIA,MAAAA,CAAOE,IAAI,KAAK,QAAA,EAAU;AAC5B,QAAA,MAAMC,KAAAA,GAAQhC,cAAAA,CAAeC,GAAAA,EAAK4B,MAAAA,CAAO3B,MAAM,CAAA;AAE/C,QAAA,OAAQ2B,OAAOI,SAAS;YACtB,KAAK,YAAA;gBACH,OAAO;AAAE,oBAAA,CAACH,QAAQ;AAAEI,wBAAAA,IAAAA,EAAMF,MAAMG,WAAW;AAAG;AAAE,iBAAA;YAClD,KAAK,eAAA;gBACH,OAAO;AAAE,oBAAA,CAACL,QAAQ;AAAEM,wBAAAA,GAAAA,EAAKJ,MAAMG,WAAW;AAAG;AAAE,iBAAA;YACjD,KAAK,WAAA;gBACH,OAAO;AACL,oBAAA,CAACL,QAAQ;wBACPI,IAAAA,EAAMlB,UAAAA,CAAWgB,OAAOG,WAAW,EAAA;wBACnCE,IAAAA,EAAMlB,QAAAA,CAASa,OAAOG,WAAW;AACnC;AACF,iBAAA;AACJ;AACF,IAAA;AAEA,IAAA,MAAMG,OAAOtB,UAAAA,CAAWI,iBAAAA,CAAkBS,MAAAA,CAAOS,IAAI,GAAGH,WAAW,EAAA;AACnE,IAAA,MAAMI,KAAKpB,QAAAA,CAASC,iBAAAA,CAAkBS,MAAAA,CAAOU,EAAE,GAAGJ,WAAW,EAAA;IAE7D,IAAIN,MAAAA,CAAOI,SAAS,KAAK,IAAA,EAAM;QAC7B,OAAO;AAAE,YAAA,CAACH,QAAQ;gBAAEI,IAAAA,EAAMI,IAAAA;gBAAMD,IAAAA,EAAME;AAAG;AAAE,SAAA;AAC7C,IAAA;IAEA,OAAO;QAAEC,GAAAA,EAAK;AAAC,YAAA;AAAE,gBAAA,CAACV,QAAQ;oBAAEM,GAAAA,EAAKE;AAAK;AAAE,aAAA;AAAG,YAAA;AAAE,gBAAA,CAACR,QAAQ;oBAAEW,GAAAA,EAAKF;AAAG;AAAE;AAAE;AAAC,KAAA;AACvE,CAAA;AAEA,MAAMG,kBAAkB,CAACb,MAAAA,GAAAA;IACvB,MAAMc,UAAAA,GAAad,OAAOlC,MAAM,CAACkC,MAAM,CAAC,CAACR,QAA8BA,KAAAA,KAAU,QAAA,CAAA;IAEjF,IAAIsB,UAAAA,CAAWC,MAAM,KAAK,CAAA,EAAG;QAC3B,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,MAAMC,QAAAA,GAA0BF,UAAAA,CAAWjB,GAAG,CAAC,CAACL,KAAAA,GAAAA;AAC9C,QAAA,IAAIA,UAAU,UAAA,EAAY;;YAExB,OAAO;AAAEyB,gBAAAA,IAAAA,EAAMrD,SAAAA,CAAUiC,GAAG,CAAC,CAACqB,QAAU;wBAAEA,IAAAA,EAAM;4BAAEC,YAAAA,EAAcD;AAAK;qBAAE,CAAA;AAAI,aAAA;AAC7E,QAAA;QACA,OAAO;YAAEA,IAAAA,EAAM;gBAAEE,SAAAA,EAAW5D,aAAa,CAACgC,KAAAA;AAAqC;AAAE,SAAA;AACnF,IAAA,CAAA,CAAA;IAEA,IAAIQ,MAAAA,CAAOI,SAAS,KAAK,IAAA,EAAM;AAC7B,QAAA,OAAOY,SAASD,MAAM,KAAK,IAAIC,QAAQ,CAAC,EAAE,GAAG;YAAEL,GAAAA,EAAKK;AAAS,SAAA;AAC/D,IAAA;;AAGA,IAAA,MAAMK,OAAAA,GAAyBP,UAAAA,CAAWjB,GAAG,CAAC,CAACL,KAAAA,GAAAA;AAC7C,QAAA,IAAIA,UAAU,UAAA,EAAY;;YAExB,OAAO;AAAEmB,gBAAAA,GAAAA,EAAK/C,SAAAA,CAAUiC,GAAG,CAAC,CAACqB,QAAU;wBAAEA,IAAAA,EAAM;4BAAEE,SAAAA,EAAWF;AAAK;qBAAE,CAAA;AAAI,aAAA;AACzE,QAAA;QACA,OAAO;YAAEA,IAAAA,EAAM;gBAAEC,YAAAA,EAAc3D,aAAa,CAACgC,KAAAA;AAAqC;AAAE,SAAA;AACtF,IAAA,CAAA,CAAA;AAEA,IAAA,OAAO6B,QAAQN,MAAM,KAAK,IAAIM,OAAO,CAAC,EAAE,GAAG;QAAEJ,IAAAA,EAAMI;AAAQ,KAAA;AAC7D,CAAA;AAoBO,MAAMC,iBAAAA,GAAoB,CAACC,OAAAA,EAAuBnD,GAAAA,GAAAA;AACvD,IAAA,MAAMoD,cAA6B,EAAE;AACrC,IAAA,MAAMC,gBAA+B,EAAE;AACvC,IAAA,IAAIC,WAAAA,GAAc,IAAA;AAClB,IAAA,IAAIC,SAAAA,GAAY,IAAA;IAEhB,KAAK,MAAM3B,UAAUuB,OAAAA,CAAS;QAC5B,IAAIvB,MAAAA,CAAO4B,IAAI,KAAK,MAAA,EAAQ;YAC1B,MAAMC,MAAAA,GAAS9B,gBAAgBC,MAAAA,EAAQ5B,GAAAA,CAAAA;AACvCoD,YAAAA,WAAAA,CAAYM,IAAI,CAACD,MAAAA,CAAAA;AACjBJ,YAAAA,aAAAA,CAAcK,IAAI,CAACD,MAAAA,CAAAA;AACnB,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,cAAAA,GAAiB/B,MAAAA,CAAOlC,MAAM,CAACkE,QAAQ,CAAC,QAAA,CAAA;AAC9C,QAAA,IAAIhC,OAAOI,SAAS,KAAK,IAAA,GAAO,CAAC2B,iBAAiBA,cAAAA,EAAgB;YAChEL,WAAAA,GAAc,KAAA;AAChB,QAAA;AAEA,QAAA,MAAMO,aAAapB,eAAAA,CAAgBb,MAAAA,CAAAA;AACnC,QAAA,IAAIiC,UAAAA,EAAY;AACdT,YAAAA,WAAAA,CAAYM,IAAI,CAACG,UAAAA,CAAAA;AACnB,QAAA,CAAA,MAAO,IAAIjC,MAAAA,CAAOI,SAAS,KAAK,IAAA,EAAM;;YAEpCuB,SAAAA,GAAY,KAAA;AACd,QAAA;AACF,IAAA;IAEA,OAAO;AAAEH,QAAAA,WAAAA;AAAaC,QAAAA,aAAAA;AAAeC,QAAAA,WAAAA;AAAaC,QAAAA;AAAU,KAAA;AAC9D;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"listQueryKey.js","sources":["../../../../../../admin/src/future/pages/Assets/utils/listQueryKey.ts"],"sourcesContent":["/**\n * Fingerprint for \"which asset list the user is looking at\".\n *\n * Selection clears when this key changes (see ClearSelectionOnChange in AssetsPage).\n *\n * Hybrid rule\n * - Folder, search, sort, filter changes → new key → selection clears.\n * - Switching table/grid view does NOT change the key — both views render the\n * same list, so the selection survives the toggle.\n * - Infinite scroll (load more) does NOT change any segment → selection persists.\n *\n * Filter uses a stable default until its header control is wired; that follow-up\n * only passes a real value — no selection logic changes needed.\n */\nexport interface ListQueryKeyInput {\n folderId: number | null;\n search: string;\n /** Composite of asset sort and folder position — both change the render order. */\n sort: string | null;\n /** Null until filter UI ships. */\n filter: string | null;\n}\n\n/**\n * Builds a stable fingerprint for the current asset list query.\n *\n * Selection clears when this key changes. Infinite scroll does not change any\n * segment, so selection persists across load-more.\n */\nexport const getListQueryKey = ({ folderId, search, sort, filter }: ListQueryKeyInput): string =>\n JSON.stringify({ folderId, search, sort, filter });\n"],"names":["getListQueryKey","folderId","search","sort","filter","JSON","stringify"],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;AA4BC,IACM,MAAMA,eAAAA,GAAkB,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAqB,GACnFC,IAAAA,CAAKC,SAAS,CAAC;AAAEL,QAAAA,QAAAA;AAAUC,QAAAA,MAAAA;AAAQC,QAAAA,IAAAA;AAAMC,QAAAA;KAAO;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"listQueryKey.mjs","sources":["../../../../../../admin/src/future/pages/Assets/utils/listQueryKey.ts"],"sourcesContent":["/**\n * Fingerprint for \"which asset list the user is looking at\".\n *\n * Selection clears when this key changes (see ClearSelectionOnChange in AssetsPage).\n *\n * Hybrid rule\n * - Folder, search, sort, filter changes → new key → selection clears.\n * - Switching table/grid view does NOT change the key — both views render the\n * same list, so the selection survives the toggle.\n * - Infinite scroll (load more) does NOT change any segment → selection persists.\n *\n * Filter uses a stable default until its header control is wired; that follow-up\n * only passes a real value — no selection logic changes needed.\n */\nexport interface ListQueryKeyInput {\n folderId: number | null;\n search: string;\n /** Composite of asset sort and folder position — both change the render order. */\n sort: string | null;\n /** Null until filter UI ships. */\n filter: string | null;\n}\n\n/**\n * Builds a stable fingerprint for the current asset list query.\n *\n * Selection clears when this key changes. Infinite scroll does not change any\n * segment, so selection persists across load-more.\n */\nexport const getListQueryKey = ({ folderId, search, sort, filter }: ListQueryKeyInput): string =>\n JSON.stringify({ folderId, search, sort, filter });\n"],"names":["getListQueryKey","folderId","search","sort","filter","JSON","stringify"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;AA4BC,IACM,MAAMA,eAAAA,GAAkB,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAqB,GACnFC,IAAAA,CAAKC,SAAS,CAAC;AAAEL,QAAAA,QAAAA;AAAUC,QAAAA,MAAAA;AAAQC,QAAAA,IAAAA;AAAMC,QAAAA;KAAO;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeMixedList.js","sources":["../../../../../../admin/src/future/pages/Assets/utils/mergeMixedList.ts"],"sourcesContent":["import type { File } from '../../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../../shared/contracts/folders';\n\nexport type MixedItem = { kind: 'folder'; folder: Folder } | { kind: 'asset'; asset: File };\n\ntype SortableRecord = {\n name?: string | null;\n createdAt?: string | null;\n updatedAt?: string | null;\n size?: number | null;\n};\n\nconst getComparableValue = (record: SortableRecord, field: string): number | string => {\n switch (field) {\n case 'createdAt':\n case 'updatedAt':\n return record[field] ? new Date(record[field]!).getTime() : 0;\n case 'size':\n // Folders have no size — they compare as 0 (start of ascending, end of descending).\n return record.size ?? 0;\n case 'name':\n default:\n return (record.name ?? '').toLowerCase();\n }\n};\n\n/**\n * Builds a comparator from comma-separated sort rules (`updatedAt:DESC,name:ASC`).\n * Rules apply in order; the first non-equal field decides. Client-side\n * approximation of the server ordering — good enough to slot folders between\n * files that were sorted server-side by the same rules.\n */\nexport const buildComparator = (sort: string) => {\n const rules = sort\n .split(',')\n .map((rule) => rule.trim())\n .filter(Boolean)\n .map((rule) => {\n const [field, direction] = rule.split(':');\n return { field, desc: direction?.toUpperCase() === 'DESC' };\n });\n\n return (a: SortableRecord, b: SortableRecord): number => {\n for (const { field, desc } of rules) {\n const va = getComparableValue(a, field);\n const vb = getComparableValue(b, field);\n\n let cmp: number;\n if (typeof va === 'string' || typeof vb === 'string') {\n cmp = String(va) < String(vb) ? -1 : String(va) > String(vb) ? 1 : 0;\n } else {\n cmp = va - vb;\n }\n\n if (cmp !== 0) {\n return desc ? -cmp : cmp;\n }\n }\n\n return 0;\n };\n};\n\ninterface MergeMixedListParams {\n folders: Folder[];\n assets: File[];\n /** Combined sort rules used for the assets query. */\n sort: string;\n /**\n * More asset pages exist. A folder may only be placed once we know no\n * not-yet-loaded asset sorts before it — i.e. it compares ≤ the last loaded\n * asset. Later pages release the remaining folders progressively.\n */\n hasNextPage: boolean;\n}\n\n/**\n * Interleaves the complete folder list into the (possibly partially loaded)\n * asset stream according to the active sort. Ties order folders first.\n */\nexport const mergeMixedList = ({\n folders,\n assets,\n sort,\n hasNextPage,\n}: MergeMixedListParams): MixedItem[] => {\n const compare = buildComparator(sort);\n\n const sortedFolders = [...folders].sort(compare);\n\n const lastAsset = assets[assets.length - 1];\n const placeableFolders =\n !hasNextPage || !lastAsset\n ? hasNextPage\n ? [] // nothing loaded yet — wait for the first page\n : sortedFolders\n : sortedFolders.filter((folder) => compare(folder, lastAsset) <= 0);\n\n const items: MixedItem[] = [];\n let folderIndex = 0;\n\n for (const asset of assets) {\n while (\n folderIndex < placeableFolders.length &&\n compare(placeableFolders[folderIndex], asset) <= 0\n ) {\n items.push({ kind: 'folder', folder: placeableFolders[folderIndex] });\n folderIndex += 1;\n }\n items.push({ kind: 'asset', asset });\n }\n\n while (folderIndex < placeableFolders.length) {\n items.push({ kind: 'folder', folder: placeableFolders[folderIndex] });\n folderIndex += 1;\n }\n\n return items;\n};\n"],"names":["getComparableValue","record","field","Date","getTime","size","name","toLowerCase","buildComparator","sort","rules","split","map","rule","trim","filter","Boolean","direction","desc","toUpperCase","a","b","va","vb","cmp","String","mergeMixedList","folders","assets","hasNextPage","compare","sortedFolders","lastAsset","length","placeableFolders","folder","items","folderIndex","asset","push","kind"],"mappings":";;AAYA,MAAMA,kBAAAA,GAAqB,CAACC,MAAAA,EAAwBC,KAAAA,GAAAA;IAClD,OAAQA,KAAAA;QACN,KAAK,WAAA;QACL,KAAK,WAAA;YACH,OAAOD,MAAM,CAACC,KAAAA,CAAM,GAAG,IAAIC,IAAAA,CAAKF,MAAM,CAACC,KAAAA,CAAM,CAAA,CAAGE,OAAO,EAAA,GAAK,CAAA;QAC9D,KAAK,MAAA;;YAEH,OAAOH,MAAAA,CAAOI,IAAI,IAAI,CAAA;QACxB,KAAK,MAAA;AACL,QAAA;AACE,YAAA,OAAO,CAACJ,MAAAA,CAAOK,IAAI,IAAI,EAAC,EAAGC,WAAW,EAAA;AAC1C;AACF,CAAA;AAEA;;;;;IAMO,MAAMC,eAAAA,GAAkB,CAACC,IAAAA,GAAAA;AAC9B,IAAA,MAAMC,QAAQD,IAAAA,CACXE,KAAK,CAAC,GAAA,CAAA,CACNC,GAAG,CAAC,CAACC,IAAAA,GAASA,IAAAA,CAAKC,IAAI,EAAA,CAAA,CACvBC,MAAM,CAACC,OAAAA,CAAAA,CACPJ,GAAG,CAAC,CAACC,IAAAA,GAAAA;AACJ,QAAA,MAAM,CAACX,KAAAA,EAAOe,SAAAA,CAAU,GAAGJ,IAAAA,CAAKF,KAAK,CAAC,GAAA,CAAA;QACtC,OAAO;AAAET,YAAAA,KAAAA;AAAOgB,YAAAA,IAAAA,EAAMD,WAAWE,WAAAA,EAAAA,KAAkB;AAAO,SAAA;AAC5D,IAAA,CAAA,CAAA;AAEF,IAAA,OAAO,CAACC,CAAAA,EAAmBC,CAAAA,GAAAA;AACzB,QAAA,KAAK,MAAM,EAAEnB,KAAK,EAAEgB,IAAI,EAAE,IAAIR,KAAAA,CAAO;YACnC,MAAMY,EAAAA,GAAKtB,mBAAmBoB,CAAAA,EAAGlB,KAAAA,CAAAA;YACjC,MAAMqB,EAAAA,GAAKvB,mBAAmBqB,CAAAA,EAAGnB,KAAAA,CAAAA;YAEjC,IAAIsB,GAAAA;AACJ,YAAA,IAAI,OAAOF,EAAAA,KAAO,QAAA,IAAY,OAAOC,OAAO,QAAA,EAAU;gBACpDC,GAAAA,GAAMC,MAAAA,CAAOH,EAAAA,CAAAA,GAAMG,MAAAA,CAAOF,EAAAA,CAAAA,GAAM,KAAKE,MAAAA,CAAOH,EAAAA,CAAAA,GAAMG,MAAAA,CAAOF,EAAAA,CAAAA,GAAM,CAAA,GAAI,CAAA;YACrE,CAAA,MAAO;AACLC,gBAAAA,GAAAA,GAAMF,EAAAA,GAAKC,EAAAA;AACb,YAAA;AAEA,YAAA,IAAIC,QAAQ,CAAA,EAAG;gBACb,OAAON,IAAAA,GAAO,CAACM,GAAAA,GAAMA,GAAAA;AACvB,YAAA;AACF,QAAA;QAEA,OAAO,CAAA;AACT,IAAA,CAAA;AACF;AAeA;;;AAGC,IACM,MAAME,cAAAA,GAAiB,CAAC,EAC7BC,OAAO,EACPC,MAAM,EACNnB,IAAI,EACJoB,WAAW,EACU,GAAA;AACrB,IAAA,MAAMC,UAAUtB,eAAAA,CAAgBC,IAAAA,CAAAA;AAEhC,IAAA,MAAMsB,aAAAA,GAAgB;AAAIJ,QAAAA,GAAAA;AAAQ,KAAA,CAAClB,IAAI,CAACqB,OAAAA,CAAAA;AAExC,IAAA,MAAME,YAAYJ,MAAM,CAACA,MAAAA,CAAOK,MAAM,GAAG,CAAA,CAAE;IAC3C,MAAMC,gBAAAA,GACJ,CAACL,WAAAA,IAAe,CAACG,YACbH,WAAAA,GACE,EAAE;AACFE,OAAAA,aAAAA,GACFA,cAAchB,MAAM,CAAC,CAACoB,MAAAA,GAAWL,OAAAA,CAAQK,QAAQH,SAAAA,CAAAA,IAAc,CAAA,CAAA;AAErE,IAAA,MAAMI,QAAqB,EAAE;AAC7B,IAAA,IAAIC,WAAAA,GAAc,CAAA;IAElB,KAAK,MAAMC,SAASV,MAAAA,CAAQ;QAC1B,MACES,WAAAA,GAAcH,gBAAAA,CAAiBD,MAAM,IACrCH,OAAAA,CAAQI,gBAAgB,CAACG,WAAAA,CAAY,EAAEC,KAAAA,CAAAA,IAAU,CAAA,CACjD;AACAF,YAAAA,KAAAA,CAAMG,IAAI,CAAC;gBAAEC,IAAAA,EAAM,QAAA;gBAAUL,MAAAA,EAAQD,gBAAgB,CAACG,WAAAA;AAAa,aAAA,CAAA;YACnEA,WAAAA,IAAe,CAAA;AACjB,QAAA;AACAD,QAAAA,KAAAA,CAAMG,IAAI,CAAC;YAAEC,IAAAA,EAAM,OAAA;AAASF,YAAAA;AAAM,SAAA,CAAA;AACpC,IAAA;IAEA,MAAOD,WAAAA,GAAcH,gBAAAA,CAAiBD,MAAM,CAAE;AAC5CG,QAAAA,KAAAA,CAAMG,IAAI,CAAC;YAAEC,IAAAA,EAAM,QAAA;YAAUL,MAAAA,EAAQD,gBAAgB,CAACG,WAAAA;AAAa,SAAA,CAAA;QACnEA,WAAAA,IAAe,CAAA;AACjB,IAAA;IAEA,OAAOD,KAAAA;AACT;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeMixedList.mjs","sources":["../../../../../../admin/src/future/pages/Assets/utils/mergeMixedList.ts"],"sourcesContent":["import type { File } from '../../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../../shared/contracts/folders';\n\nexport type MixedItem = { kind: 'folder'; folder: Folder } | { kind: 'asset'; asset: File };\n\ntype SortableRecord = {\n name?: string | null;\n createdAt?: string | null;\n updatedAt?: string | null;\n size?: number | null;\n};\n\nconst getComparableValue = (record: SortableRecord, field: string): number | string => {\n switch (field) {\n case 'createdAt':\n case 'updatedAt':\n return record[field] ? new Date(record[field]!).getTime() : 0;\n case 'size':\n // Folders have no size — they compare as 0 (start of ascending, end of descending).\n return record.size ?? 0;\n case 'name':\n default:\n return (record.name ?? '').toLowerCase();\n }\n};\n\n/**\n * Builds a comparator from comma-separated sort rules (`updatedAt:DESC,name:ASC`).\n * Rules apply in order; the first non-equal field decides. Client-side\n * approximation of the server ordering — good enough to slot folders between\n * files that were sorted server-side by the same rules.\n */\nexport const buildComparator = (sort: string) => {\n const rules = sort\n .split(',')\n .map((rule) => rule.trim())\n .filter(Boolean)\n .map((rule) => {\n const [field, direction] = rule.split(':');\n return { field, desc: direction?.toUpperCase() === 'DESC' };\n });\n\n return (a: SortableRecord, b: SortableRecord): number => {\n for (const { field, desc } of rules) {\n const va = getComparableValue(a, field);\n const vb = getComparableValue(b, field);\n\n let cmp: number;\n if (typeof va === 'string' || typeof vb === 'string') {\n cmp = String(va) < String(vb) ? -1 : String(va) > String(vb) ? 1 : 0;\n } else {\n cmp = va - vb;\n }\n\n if (cmp !== 0) {\n return desc ? -cmp : cmp;\n }\n }\n\n return 0;\n };\n};\n\ninterface MergeMixedListParams {\n folders: Folder[];\n assets: File[];\n /** Combined sort rules used for the assets query. */\n sort: string;\n /**\n * More asset pages exist. A folder may only be placed once we know no\n * not-yet-loaded asset sorts before it — i.e. it compares ≤ the last loaded\n * asset. Later pages release the remaining folders progressively.\n */\n hasNextPage: boolean;\n}\n\n/**\n * Interleaves the complete folder list into the (possibly partially loaded)\n * asset stream according to the active sort. Ties order folders first.\n */\nexport const mergeMixedList = ({\n folders,\n assets,\n sort,\n hasNextPage,\n}: MergeMixedListParams): MixedItem[] => {\n const compare = buildComparator(sort);\n\n const sortedFolders = [...folders].sort(compare);\n\n const lastAsset = assets[assets.length - 1];\n const placeableFolders =\n !hasNextPage || !lastAsset\n ? hasNextPage\n ? [] // nothing loaded yet — wait for the first page\n : sortedFolders\n : sortedFolders.filter((folder) => compare(folder, lastAsset) <= 0);\n\n const items: MixedItem[] = [];\n let folderIndex = 0;\n\n for (const asset of assets) {\n while (\n folderIndex < placeableFolders.length &&\n compare(placeableFolders[folderIndex], asset) <= 0\n ) {\n items.push({ kind: 'folder', folder: placeableFolders[folderIndex] });\n folderIndex += 1;\n }\n items.push({ kind: 'asset', asset });\n }\n\n while (folderIndex < placeableFolders.length) {\n items.push({ kind: 'folder', folder: placeableFolders[folderIndex] });\n folderIndex += 1;\n }\n\n return items;\n};\n"],"names":["getComparableValue","record","field","Date","getTime","size","name","toLowerCase","buildComparator","sort","rules","split","map","rule","trim","filter","Boolean","direction","desc","toUpperCase","a","b","va","vb","cmp","String","mergeMixedList","folders","assets","hasNextPage","compare","sortedFolders","lastAsset","length","placeableFolders","folder","items","folderIndex","asset","push","kind"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeUploadedAssets.js","sources":["../../../../../../admin/src/future/pages/Assets/utils/mergeUploadedAssets.ts"],"sourcesContent":["/**\n * Merges just-uploaded assets into the loaded asset list so each one appears as\n * soon as its own upload finishes, rather than when the whole batch settles.\n *\n * The upload is one mutation per batch, so its cache invalidation fires once at\n * the end. These helpers bridge that gap purely client-side: the completed\n * uploads already sit in the progress store as full `File` objects, so they can\n * be placed into the list at their sort position with no extra request.\n *\n * The server list stays authoritative — merging never reorders it, and an id it\n * already contains wins over the local copy, so the end-of-batch refetch\n * silently takes over.\n */\n\nimport type { File } from '../../../../../../shared/contracts/files';\n\ntype SortField = 'createdAt' | 'updatedAt' | 'name' | 'size';\n\nconst SORT_FIELDS: SortField[] = ['createdAt', 'updatedAt', 'name', 'size'];\n\nconst isSortField = (value: string): value is SortField =>\n (SORT_FIELDS as string[]).includes(value);\n\nconst DEFAULT_RULE = 'updatedAt:DESC';\n\nconst compareByField = (field: SortField, a: File, b: File): number => {\n if (field === 'size') {\n return (a.size ?? 0) - (b.size ?? 0);\n }\n\n if (field === 'name') {\n return a.name.localeCompare(b.name);\n }\n\n // `createdAt` / `updatedAt` are ISO-8601, which sorts correctly as text.\n return (a[field] ?? '').localeCompare(b[field] ?? '');\n};\n\n/**\n * Comparator matching a `<field>:<ASC|DESC>` sort rule, as sent to the API.\n *\n * Ties break on id so the order is total: without it, two files sharing a\n * timestamp could swap places between renders.\n */\nexport const getAssetComparator = (rule: string = DEFAULT_RULE) => {\n const [field, requestedDirection] = rule.split(':');\n // An unrecognised field discards the direction too: half-applying a rule we\n // cannot read would order the list differently from the default it stands in for.\n const isKnownField = isSortField(field);\n const sortField: SortField = isKnownField ? field : 'updatedAt';\n const direction = isKnownField ? requestedDirection : 'DESC';\n const sign = direction === 'ASC' ? 1 : -1;\n\n return (a: File, b: File): number => {\n const byField = compareByField(sortField, a, b);\n\n return byField !== 0 ? sign * byField : sign * (a.id - b.id);\n };\n};\n\n/**\n * Places `uploaded` into `assets` at their sort position.\n *\n * An upload that sorts past everything loaded is dropped unless the list is\n * fully loaded: it belongs on a page the user has not reached, and appending it\n * would show it adjacent to the last loaded item instead of at its real place.\n */\nexport const mergeUploadedAssets = ({\n assets,\n uploaded,\n sort,\n hasNextPage,\n}: {\n assets: File[];\n uploaded: File[];\n sort?: string;\n /** Whether more pages remain, i.e. the tail of the list is not loaded. */\n hasNextPage: boolean;\n}): File[] => {\n if (uploaded.length === 0) {\n return assets;\n }\n\n const loadedIds = new Set(assets.map((asset) => asset.id));\n const compare = getAssetComparator(sort);\n const fresh = uploaded.filter((asset) => !loadedIds.has(asset.id)).sort(compare);\n\n if (fresh.length === 0) {\n return assets;\n }\n\n const merged = [...assets];\n\n for (const asset of fresh) {\n const at = merged.findIndex((loaded) => compare(asset, loaded) < 0);\n\n if (at === -1) {\n if (hasNextPage) {\n continue;\n }\n merged.push(asset);\n } else {\n merged.splice(at, 0, asset);\n }\n }\n\n return merged;\n};\n"],"names":["SORT_FIELDS","isSortField","value","includes","DEFAULT_RULE","compareByField","field","a","b","size","name","localeCompare","getAssetComparator","rule","requestedDirection","split","isKnownField","sortField","direction","sign","byField","id","mergeUploadedAssets","assets","uploaded","sort","hasNextPage","length","loadedIds","Set","map","asset","compare","fresh","filter","has","merged","at","findIndex","loaded","push","splice"],"mappings":";;AAAA;;;;;;;;;;;;AAYC,IAMD,MAAMA,WAAAA,GAA2B;AAAC,IAAA,WAAA;AAAa,IAAA,WAAA;AAAa,IAAA,MAAA;AAAQ,IAAA;AAAO,CAAA;AAE3E,MAAMC,cAAc,CAACC,KAAAA,GACnB,WAACF,CAAyBG,QAAQ,CAACD,KAAAA,CAAAA;AAErC,MAAME,YAAAA,GAAe,gBAAA;AAErB,MAAMC,cAAAA,GAAiB,CAACC,KAAAA,EAAkBC,CAAAA,EAASC,CAAAA,GAAAA;AACjD,IAAA,IAAIF,UAAU,MAAA,EAAQ;QACpB,OAAQC,CAAAA,CAAAA,CAAEE,IAAI,IAAI,CAAA,KAAMD,CAAAA,CAAEC,IAAI,IAAI,CAAA,CAAA;AACpC,IAAA;AAEA,IAAA,IAAIH,UAAU,MAAA,EAAQ;AACpB,QAAA,OAAOC,EAAEG,IAAI,CAACC,aAAa,CAACH,EAAEE,IAAI,CAAA;AACpC,IAAA;;AAGA,IAAA,OAAO,CAACH,CAAC,CAACD,KAAAA,CAAM,IAAI,EAAC,EAAGK,aAAa,CAACH,CAAC,CAACF,MAAM,IAAI,EAAA,CAAA;AACpD,CAAA;AAEA;;;;;AAKC,IACM,MAAMM,kBAAAA,GAAqB,CAACC,OAAeT,YAAY,GAAA;AAC5D,IAAA,MAAM,CAACE,KAAAA,EAAOQ,kBAAAA,CAAmB,GAAGD,IAAAA,CAAKE,KAAK,CAAC,GAAA,CAAA;;;AAG/C,IAAA,MAAMC,eAAef,WAAAA,CAAYK,KAAAA,CAAAA;IACjC,MAAMW,SAAAA,GAAuBD,eAAeV,KAAAA,GAAQ,WAAA;IACpD,MAAMY,SAAAA,GAAYF,eAAeF,kBAAAA,GAAqB,MAAA;AACtD,IAAA,MAAMK,IAAAA,GAAOD,SAAAA,KAAc,KAAA,GAAQ,CAAA,GAAI,EAAC;AAExC,IAAA,OAAO,CAACX,CAAAA,EAASC,CAAAA,GAAAA;QACf,MAAMY,OAAAA,GAAUf,cAAAA,CAAeY,SAAAA,EAAWV,CAAAA,EAAGC,CAAAA,CAAAA;QAE7C,OAAOY,OAAAA,KAAY,CAAA,GAAID,IAAAA,GAAOC,OAAAA,GAAUD,IAAAA,IAAQZ,CAAAA,CAAEc,EAAE,GAAGb,CAAAA,CAAEa,EAAE,CAAD;AAC5D,IAAA,CAAA;AACF;AAEA;;;;;;AAMC,IACM,MAAMC,mBAAAA,GAAsB,CAAC,EAClCC,MAAM,EACNC,QAAQ,EACRC,IAAI,EACJC,WAAW,EAOZ,GAAA;IACC,IAAIF,QAAAA,CAASG,MAAM,KAAK,CAAA,EAAG;QACzB,OAAOJ,MAAAA;AACT,IAAA;IAEA,MAAMK,SAAAA,GAAY,IAAIC,GAAAA,CAAIN,MAAAA,CAAOO,GAAG,CAAC,CAACC,KAAAA,GAAUA,KAAAA,CAAMV,EAAE,CAAA,CAAA;AACxD,IAAA,MAAMW,UAAUpB,kBAAAA,CAAmBa,IAAAA,CAAAA;AACnC,IAAA,MAAMQ,KAAAA,GAAQT,QAAAA,CAASU,MAAM,CAAC,CAACH,KAAAA,GAAU,CAACH,SAAAA,CAAUO,GAAG,CAACJ,KAAAA,CAAMV,EAAE,CAAA,CAAA,CAAGI,IAAI,CAACO,OAAAA,CAAAA;IAExE,IAAIC,KAAAA,CAAMN,MAAM,KAAK,CAAA,EAAG;QACtB,OAAOJ,MAAAA;AACT,IAAA;AAEA,IAAA,MAAMa,MAAAA,GAAS;AAAIb,QAAAA,GAAAA;AAAO,KAAA;IAE1B,KAAK,MAAMQ,SAASE,KAAAA,CAAO;QACzB,MAAMI,EAAAA,GAAKD,OAAOE,SAAS,CAAC,CAACC,MAAAA,GAAWP,OAAAA,CAAQD,OAAOQ,MAAAA,CAAAA,GAAU,CAAA,CAAA;QAEjE,IAAIF,EAAAA,KAAO,EAAC,EAAG;AACb,YAAA,IAAIX,WAAAA,EAAa;AACf,gBAAA;AACF,YAAA;AACAU,YAAAA,MAAAA,CAAOI,IAAI,CAACT,KAAAA,CAAAA;QACd,CAAA,MAAO;YACLK,MAAAA,CAAOK,MAAM,CAACJ,EAAAA,EAAI,CAAA,EAAGN,KAAAA,CAAAA;AACvB,QAAA;AACF,IAAA;IAEA,OAAOK,MAAAA;AACT;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeUploadedAssets.mjs","sources":["../../../../../../admin/src/future/pages/Assets/utils/mergeUploadedAssets.ts"],"sourcesContent":["/**\n * Merges just-uploaded assets into the loaded asset list so each one appears as\n * soon as its own upload finishes, rather than when the whole batch settles.\n *\n * The upload is one mutation per batch, so its cache invalidation fires once at\n * the end. These helpers bridge that gap purely client-side: the completed\n * uploads already sit in the progress store as full `File` objects, so they can\n * be placed into the list at their sort position with no extra request.\n *\n * The server list stays authoritative — merging never reorders it, and an id it\n * already contains wins over the local copy, so the end-of-batch refetch\n * silently takes over.\n */\n\nimport type { File } from '../../../../../../shared/contracts/files';\n\ntype SortField = 'createdAt' | 'updatedAt' | 'name' | 'size';\n\nconst SORT_FIELDS: SortField[] = ['createdAt', 'updatedAt', 'name', 'size'];\n\nconst isSortField = (value: string): value is SortField =>\n (SORT_FIELDS as string[]).includes(value);\n\nconst DEFAULT_RULE = 'updatedAt:DESC';\n\nconst compareByField = (field: SortField, a: File, b: File): number => {\n if (field === 'size') {\n return (a.size ?? 0) - (b.size ?? 0);\n }\n\n if (field === 'name') {\n return a.name.localeCompare(b.name);\n }\n\n // `createdAt` / `updatedAt` are ISO-8601, which sorts correctly as text.\n return (a[field] ?? '').localeCompare(b[field] ?? '');\n};\n\n/**\n * Comparator matching a `<field>:<ASC|DESC>` sort rule, as sent to the API.\n *\n * Ties break on id so the order is total: without it, two files sharing a\n * timestamp could swap places between renders.\n */\nexport const getAssetComparator = (rule: string = DEFAULT_RULE) => {\n const [field, requestedDirection] = rule.split(':');\n // An unrecognised field discards the direction too: half-applying a rule we\n // cannot read would order the list differently from the default it stands in for.\n const isKnownField = isSortField(field);\n const sortField: SortField = isKnownField ? field : 'updatedAt';\n const direction = isKnownField ? requestedDirection : 'DESC';\n const sign = direction === 'ASC' ? 1 : -1;\n\n return (a: File, b: File): number => {\n const byField = compareByField(sortField, a, b);\n\n return byField !== 0 ? sign * byField : sign * (a.id - b.id);\n };\n};\n\n/**\n * Places `uploaded` into `assets` at their sort position.\n *\n * An upload that sorts past everything loaded is dropped unless the list is\n * fully loaded: it belongs on a page the user has not reached, and appending it\n * would show it adjacent to the last loaded item instead of at its real place.\n */\nexport const mergeUploadedAssets = ({\n assets,\n uploaded,\n sort,\n hasNextPage,\n}: {\n assets: File[];\n uploaded: File[];\n sort?: string;\n /** Whether more pages remain, i.e. the tail of the list is not loaded. */\n hasNextPage: boolean;\n}): File[] => {\n if (uploaded.length === 0) {\n return assets;\n }\n\n const loadedIds = new Set(assets.map((asset) => asset.id));\n const compare = getAssetComparator(sort);\n const fresh = uploaded.filter((asset) => !loadedIds.has(asset.id)).sort(compare);\n\n if (fresh.length === 0) {\n return assets;\n }\n\n const merged = [...assets];\n\n for (const asset of fresh) {\n const at = merged.findIndex((loaded) => compare(asset, loaded) < 0);\n\n if (at === -1) {\n if (hasNextPage) {\n continue;\n }\n merged.push(asset);\n } else {\n merged.splice(at, 0, asset);\n }\n }\n\n return merged;\n};\n"],"names":["SORT_FIELDS","isSortField","value","includes","DEFAULT_RULE","compareByField","field","a","b","size","name","localeCompare","getAssetComparator","rule","requestedDirection","split","isKnownField","sortField","direction","sign","byField","id","mergeUploadedAssets","assets","uploaded","sort","hasNextPage","length","loadedIds","Set","map","asset","compare","fresh","filter","has","merged","at","findIndex","loaded","push","splice"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderedKeys.js","sources":["../../../../../../admin/src/future/pages/Assets/utils/renderedKeys.ts"],"sourcesContent":["import { assetKey, folderKey, type ItemKey } from './selection';\n\nimport type { MixedItem } from './mergeMixedList';\nimport type { File } from '../../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../../shared/contracts/folders';\n\n/**\n * The keys of the items actually on screen, in render order.\n *\n * Single source for every consumer of the rendered set — range selection,\n * select-all and the bulk action bar. Derived once so they cannot disagree:\n * in \"Folders: Mixed with files\" the rows come from `mergeMixedList`, which\n * withholds folders sorting after the last loaded asset, so `folders` is not\n * the rendered folder set.\n */\nexport const buildRenderedKeys = ({\n folders,\n assets,\n mixedItems,\n}: {\n folders: Folder[];\n assets: File[];\n /** The interleaved rows, when the table is in mixed mode. */\n mixedItems?: MixedItem[] | null;\n}): ItemKey[] =>\n mixedItems\n ? mixedItems.map((item) =>\n item.kind === 'folder' ? folderKey(item.folder.id) : assetKey(item.asset.id)\n )\n : [\n ...folders.map((folder) => folderKey(folder.id)),\n ...assets.map((asset) => assetKey(asset.id)),\n ];\n"],"names":["buildRenderedKeys","folders","assets","mixedItems","map","item","kind","folderKey","folder","id","assetKey","asset"],"mappings":";;;;AAMA;;;;;;;;AAQC,IACM,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,OAAO,EACPC,MAAM,EACNC,UAAU,EAMX,GACCA,UAAAA,GACIA,WAAWC,GAAG,CAAC,CAACC,IAAAA,GACdA,IAAAA,CAAKC,IAAI,KAAK,QAAA,GAAWC,oBAAUF,IAAAA,CAAKG,MAAM,CAACC,EAAE,IAAIC,kBAAAA,CAASL,IAAAA,CAAKM,KAAK,CAACF,EAAE,CAAA,CAAA,GAE7E;AACKR,QAAAA,GAAAA,OAAAA,CAAQG,GAAG,CAAC,CAACI,MAAAA,GAAWD,mBAAAA,CAAUC,OAAOC,EAAE,CAAA,CAAA;AAC3CP,QAAAA,GAAAA,MAAAA,CAAOE,GAAG,CAAC,CAACO,KAAAA,GAAUD,kBAAAA,CAASC,MAAMF,EAAE,CAAA;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderedKeys.mjs","sources":["../../../../../../admin/src/future/pages/Assets/utils/renderedKeys.ts"],"sourcesContent":["import { assetKey, folderKey, type ItemKey } from './selection';\n\nimport type { MixedItem } from './mergeMixedList';\nimport type { File } from '../../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../../shared/contracts/folders';\n\n/**\n * The keys of the items actually on screen, in render order.\n *\n * Single source for every consumer of the rendered set — range selection,\n * select-all and the bulk action bar. Derived once so they cannot disagree:\n * in \"Folders: Mixed with files\" the rows come from `mergeMixedList`, which\n * withholds folders sorting after the last loaded asset, so `folders` is not\n * the rendered folder set.\n */\nexport const buildRenderedKeys = ({\n folders,\n assets,\n mixedItems,\n}: {\n folders: Folder[];\n assets: File[];\n /** The interleaved rows, when the table is in mixed mode. */\n mixedItems?: MixedItem[] | null;\n}): ItemKey[] =>\n mixedItems\n ? mixedItems.map((item) =>\n item.kind === 'folder' ? folderKey(item.folder.id) : assetKey(item.asset.id)\n )\n : [\n ...folders.map((folder) => folderKey(folder.id)),\n ...assets.map((asset) => assetKey(asset.id)),\n ];\n"],"names":["buildRenderedKeys","folders","assets","mixedItems","map","item","kind","folderKey","folder","id","assetKey","asset"],"mappings":";;AAMA;;;;;;;;AAQC,IACM,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,OAAO,EACPC,MAAM,EACNC,UAAU,EAMX,GACCA,UAAAA,GACIA,WAAWC,GAAG,CAAC,CAACC,IAAAA,GACdA,IAAAA,CAAKC,IAAI,KAAK,QAAA,GAAWC,UAAUF,IAAAA,CAAKG,MAAM,CAACC,EAAE,IAAIC,QAAAA,CAASL,IAAAA,CAAKM,KAAK,CAACF,EAAE,CAAA,CAAA,GAE7E;AACKR,QAAAA,GAAAA,OAAAA,CAAQG,GAAG,CAAC,CAACI,MAAAA,GAAWD,SAAAA,CAAUC,OAAOC,EAAE,CAAA,CAAA;AAC3CP,QAAAA,GAAAA,MAAAA,CAAOE,GAAG,CAAC,CAACO,KAAAA,GAAUD,QAAAA,CAASC,MAAMF,EAAE,CAAA;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selection.js","sources":["../../../../../../admin/src/future/pages/Assets/utils/selection.ts"],"sourcesContent":["/**\n * Pure, view-agnostic selection logic for the future Media Library multi-select.\n *\n * Selection covers both assets and folders. Since their numeric ids live in\n * different tables (and can collide), items are tracked as namespaced keys\n * (`asset:1` / `folder:1`). Views build their rendered order as a key array so\n * range / select-all work across the folder and asset sections seamlessly.\n */\n\nexport type SelectableKind = 'asset' | 'folder';\n\nexport type ItemKey = `${SelectableKind}:${number}`;\n\nexport const assetKey = (id: number): ItemKey => `asset:${id}`;\n\nexport const folderKey = (id: number): ItemKey => `folder:${id}`;\n\n/** Extracts the numeric ids of one kind from a set of item keys. */\nexport const getIdsOfKind = (keys: Set<ItemKey>, kind: SelectableKind): Set<number> => {\n const ids = new Set<number>();\n\n keys.forEach((key) => {\n const [keyKind, id] = key.split(':');\n if (keyKind === kind) {\n ids.add(Number(id));\n }\n });\n\n return ids;\n};\n\nexport interface SelectionState {\n /** Currently selected item keys (assets and folders). */\n selectedKeys: Set<ItemKey>;\n /** Anchor used as the start of a Shift+click range. */\n anchorKey: ItemKey | null;\n}\n\nexport const createEmptySelection = (): SelectionState => ({\n selectedKeys: new Set<ItemKey>(),\n anchorKey: null,\n});\n\n/**\n * Additive toggle — adds the key if absent, removes it otherwise, without\n * touching the rest of the selection. Used by the item checkbox and Cmd/Ctrl+click.\n * The toggled key becomes the new anchor.\n */\nexport const toggleSelection = (state: SelectionState, key: ItemKey): SelectionState => {\n const selectedKeys = new Set(state.selectedKeys);\n\n if (selectedKeys.has(key)) {\n selectedKeys.delete(key);\n } else {\n selectedKeys.add(key);\n }\n\n return { selectedKeys, anchorKey: key };\n};\n\n/**\n * Subtractive counterpart to {@link toggleSelection} — removes a key without the\n * add-if-absent ambiguity, leaving the rest of the selection alone. Used when a\n * single-item affordance (a row's \"...\" menu) makes exactly one key stale.\n *\n * Idempotent: removing a key that was never selected is a no-op. The anchor is\n * dropped only when it is the removed key, so a Shift+click range built around\n * other rows survives.\n */\nexport const deselect = (state: SelectionState, key: ItemKey): SelectionState => {\n const selectedKeys = new Set(state.selectedKeys);\n selectedKeys.delete(key);\n\n return {\n selectedKeys,\n anchorKey: state.anchorKey === key ? null : state.anchorKey,\n };\n};\n\n/**\n * Shift+click — selects the contiguous range between the current anchor and the\n * target in render order, replacing the current selection. The anchor stays put.\n *\n * Falls back to a single selection when there is no usable anchor (e.g. first\n * click was a Shift+click, or the anchor is no longer in the list).\n */\nexport const selectRange = (\n state: SelectionState,\n orderedKeys: ItemKey[],\n targetKey: ItemKey\n): SelectionState => {\n const targetIndex = orderedKeys.indexOf(targetKey);\n\n if (targetIndex === -1) {\n return state;\n }\n\n const anchorIndex = state.anchorKey === null ? -1 : orderedKeys.indexOf(state.anchorKey);\n\n if (anchorIndex === -1) {\n return { selectedKeys: new Set<ItemKey>([targetKey]), anchorKey: targetKey };\n }\n\n const start = Math.min(anchorIndex, targetIndex);\n const end = Math.max(anchorIndex, targetIndex);\n\n return {\n selectedKeys: new Set(orderedKeys.slice(start, end + 1)),\n anchorKey: state.anchorKey,\n };\n};\n\n/**\n * Select-all — selects every key in the provided ordered array. Used by the header\n * checkbox when not everything is already selected.\n */\nexport const selectAll = (orderedKeys: ItemKey[]): SelectionState => ({\n selectedKeys: new Set(orderedKeys),\n anchorKey: orderedKeys.length > 0 ? orderedKeys[orderedKeys.length - 1] : null,\n});\n\nexport const clearSelection = (): SelectionState => createEmptySelection();\n\nexport interface SelectAllState {\n allSelected: boolean;\n isIndeterminate: boolean;\n}\n\n/**\n * Derives the header checkbox state: everything selected, some (indeterminate),\n * or none. Only considers the currently-rendered items (orderedKeys).\n */\nexport const getSelectAllState = (\n selectedKeys: Set<ItemKey>,\n orderedKeys: ItemKey[]\n): SelectAllState => {\n if (orderedKeys.length === 0) {\n return { allSelected: false, isIndeterminate: false };\n }\n\n const selectedCount = orderedKeys.reduce(\n (count, key) => (selectedKeys.has(key) ? count + 1 : count),\n 0\n );\n const allSelected = selectedCount === orderedKeys.length;\n\n return {\n allSelected,\n isIndeterminate: selectedCount > 0 && !allSelected,\n };\n};\n"],"names":["assetKey","id","folderKey","getIdsOfKind","keys","kind","ids","Set","forEach","key","keyKind","split","add","Number","createEmptySelection","selectedKeys","anchorKey","toggleSelection","state","has","delete","deselect","selectRange","orderedKeys","targetKey","targetIndex","indexOf","anchorIndex","start","Math","min","end","max","slice","selectAll","length","clearSelection","getSelectAllState","allSelected","isIndeterminate","selectedCount","reduce","count"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selection.mjs","sources":["../../../../../../admin/src/future/pages/Assets/utils/selection.ts"],"sourcesContent":["/**\n * Pure, view-agnostic selection logic for the future Media Library multi-select.\n *\n * Selection covers both assets and folders. Since their numeric ids live in\n * different tables (and can collide), items are tracked as namespaced keys\n * (`asset:1` / `folder:1`). Views build their rendered order as a key array so\n * range / select-all work across the folder and asset sections seamlessly.\n */\n\nexport type SelectableKind = 'asset' | 'folder';\n\nexport type ItemKey = `${SelectableKind}:${number}`;\n\nexport const assetKey = (id: number): ItemKey => `asset:${id}`;\n\nexport const folderKey = (id: number): ItemKey => `folder:${id}`;\n\n/** Extracts the numeric ids of one kind from a set of item keys. */\nexport const getIdsOfKind = (keys: Set<ItemKey>, kind: SelectableKind): Set<number> => {\n const ids = new Set<number>();\n\n keys.forEach((key) => {\n const [keyKind, id] = key.split(':');\n if (keyKind === kind) {\n ids.add(Number(id));\n }\n });\n\n return ids;\n};\n\nexport interface SelectionState {\n /** Currently selected item keys (assets and folders). */\n selectedKeys: Set<ItemKey>;\n /** Anchor used as the start of a Shift+click range. */\n anchorKey: ItemKey | null;\n}\n\nexport const createEmptySelection = (): SelectionState => ({\n selectedKeys: new Set<ItemKey>(),\n anchorKey: null,\n});\n\n/**\n * Additive toggle — adds the key if absent, removes it otherwise, without\n * touching the rest of the selection. Used by the item checkbox and Cmd/Ctrl+click.\n * The toggled key becomes the new anchor.\n */\nexport const toggleSelection = (state: SelectionState, key: ItemKey): SelectionState => {\n const selectedKeys = new Set(state.selectedKeys);\n\n if (selectedKeys.has(key)) {\n selectedKeys.delete(key);\n } else {\n selectedKeys.add(key);\n }\n\n return { selectedKeys, anchorKey: key };\n};\n\n/**\n * Subtractive counterpart to {@link toggleSelection} — removes a key without the\n * add-if-absent ambiguity, leaving the rest of the selection alone. Used when a\n * single-item affordance (a row's \"...\" menu) makes exactly one key stale.\n *\n * Idempotent: removing a key that was never selected is a no-op. The anchor is\n * dropped only when it is the removed key, so a Shift+click range built around\n * other rows survives.\n */\nexport const deselect = (state: SelectionState, key: ItemKey): SelectionState => {\n const selectedKeys = new Set(state.selectedKeys);\n selectedKeys.delete(key);\n\n return {\n selectedKeys,\n anchorKey: state.anchorKey === key ? null : state.anchorKey,\n };\n};\n\n/**\n * Shift+click — selects the contiguous range between the current anchor and the\n * target in render order, replacing the current selection. The anchor stays put.\n *\n * Falls back to a single selection when there is no usable anchor (e.g. first\n * click was a Shift+click, or the anchor is no longer in the list).\n */\nexport const selectRange = (\n state: SelectionState,\n orderedKeys: ItemKey[],\n targetKey: ItemKey\n): SelectionState => {\n const targetIndex = orderedKeys.indexOf(targetKey);\n\n if (targetIndex === -1) {\n return state;\n }\n\n const anchorIndex = state.anchorKey === null ? -1 : orderedKeys.indexOf(state.anchorKey);\n\n if (anchorIndex === -1) {\n return { selectedKeys: new Set<ItemKey>([targetKey]), anchorKey: targetKey };\n }\n\n const start = Math.min(anchorIndex, targetIndex);\n const end = Math.max(anchorIndex, targetIndex);\n\n return {\n selectedKeys: new Set(orderedKeys.slice(start, end + 1)),\n anchorKey: state.anchorKey,\n };\n};\n\n/**\n * Select-all — selects every key in the provided ordered array. Used by the header\n * checkbox when not everything is already selected.\n */\nexport const selectAll = (orderedKeys: ItemKey[]): SelectionState => ({\n selectedKeys: new Set(orderedKeys),\n anchorKey: orderedKeys.length > 0 ? orderedKeys[orderedKeys.length - 1] : null,\n});\n\nexport const clearSelection = (): SelectionState => createEmptySelection();\n\nexport interface SelectAllState {\n allSelected: boolean;\n isIndeterminate: boolean;\n}\n\n/**\n * Derives the header checkbox state: everything selected, some (indeterminate),\n * or none. Only considers the currently-rendered items (orderedKeys).\n */\nexport const getSelectAllState = (\n selectedKeys: Set<ItemKey>,\n orderedKeys: ItemKey[]\n): SelectAllState => {\n if (orderedKeys.length === 0) {\n return { allSelected: false, isIndeterminate: false };\n }\n\n const selectedCount = orderedKeys.reduce(\n (count, key) => (selectedKeys.has(key) ? count + 1 : count),\n 0\n );\n const allSelected = selectedCount === orderedKeys.length;\n\n return {\n allSelected,\n isIndeterminate: selectedCount > 0 && !allSelected,\n };\n};\n"],"names":["assetKey","id","folderKey","getIdsOfKind","keys","kind","ids","Set","forEach","key","keyKind","split","add","Number","createEmptySelection","selectedKeys","anchorKey","toggleSelection","state","has","delete","deselect","selectRange","orderedKeys","targetKey","targetIndex","indexOf","anchorIndex","start","Math","min","end","max","slice","selectAll","length","clearSelection","getSelectAllState","allSelected","isIndeterminate","selectedCount","reduce","count"],"mappings":"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"}