@strapi/upload 5.48.1 → 5.50.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 (419) hide show
  1. package/dist/admin/ai/components/AIAssetCard.js +13 -12
  2. package/dist/admin/ai/components/AIAssetCard.js.map +1 -1
  3. package/dist/admin/ai/components/AIAssetCard.mjs +11 -11
  4. package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -1
  5. package/dist/admin/ai/components/AIUploadModal.js +3 -3
  6. package/dist/admin/ai/components/AIUploadModal.mjs +0 -1
  7. package/dist/admin/ai/components/AIUploadModal.mjs.map +1 -1
  8. package/dist/admin/components/AssetCard/AssetCard.js +3 -4
  9. package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
  10. package/dist/admin/components/AssetCard/AssetCard.mjs +4 -5
  11. package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
  12. package/dist/admin/components/AssetCard/AssetCardBase.js +0 -1
  13. package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -1
  14. package/dist/admin/components/AssetCard/AssetCardBase.mjs +0 -1
  15. package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -1
  16. package/dist/admin/components/AssetCard/ImageAssetCard.js +0 -1
  17. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
  18. package/dist/admin/components/AssetCard/ImageAssetCard.mjs +0 -1
  19. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
  20. package/dist/admin/components/AssetCard/UploadingAssetCard.js +6 -6
  21. package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -1
  22. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +4 -5
  23. package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
  24. package/dist/admin/components/AssetCard/VideoAssetCard.js +3 -3
  25. package/dist/admin/components/AssetCard/VideoAssetCard.mjs +0 -1
  26. package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -1
  27. package/dist/admin/components/AssetDialog/AssetDialog.js +3 -3
  28. package/dist/admin/components/AssetDialog/AssetDialog.mjs +0 -1
  29. package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -1
  30. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -1
  31. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
  32. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -1
  33. package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
  34. package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +3 -3
  35. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +0 -1
  36. package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
  37. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +3 -2
  38. package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -1
  39. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +3 -3
  40. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -1
  41. package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -1
  42. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +0 -1
  43. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -1
  44. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +0 -1
  45. package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -1
  46. package/dist/admin/components/AssetGridList/Draggable.js +3 -2
  47. package/dist/admin/components/AssetGridList/Draggable.js.map +1 -1
  48. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js +3 -3
  49. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -1
  50. package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -1
  51. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +5 -2
  52. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
  53. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +0 -1
  54. package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
  55. package/dist/admin/components/CopyLinkButton/CopyLinkButton.js +0 -1
  56. package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +1 -1
  57. package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs +0 -1
  58. package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -1
  59. package/dist/admin/components/EditAssetDialog/EditAssetContent.js +8 -5
  60. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
  61. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +0 -1
  62. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
  63. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +10 -6
  64. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -1
  65. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +4 -4
  66. package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -1
  67. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +0 -1
  68. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -1
  69. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -1
  70. package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -1
  71. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -1
  72. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -1
  73. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -1
  74. package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -1
  75. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +9 -6
  76. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
  77. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +3 -4
  78. package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
  79. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +3 -3
  80. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +0 -1
  81. package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -1
  82. package/dist/admin/components/EditFolderDialog/EditFolderDialog.js +8 -5
  83. package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +1 -1
  84. package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs +0 -1
  85. package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -1
  86. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +0 -1
  87. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -1
  88. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -1
  89. package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -1
  90. package/dist/admin/components/FilterPopover/FilterPopover.js +3 -2
  91. package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -1
  92. package/dist/admin/components/FolderCard/FolderCard/FolderCard.js +3 -2
  93. package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +1 -1
  94. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js +5 -3
  95. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -1
  96. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs +2 -1
  97. package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -1
  98. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +3 -4
  99. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
  100. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +4 -5
  101. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
  102. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -1
  103. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -1
  104. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -1
  105. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -1
  106. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js +5 -3
  107. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -1
  108. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs +2 -1
  109. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -1
  110. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +4 -4
  111. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -1
  112. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +2 -3
  113. package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -1
  114. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +4 -3
  115. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
  116. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +1 -1
  117. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
  118. package/dist/admin/components/SelectTree/SelectTree.js +7 -3
  119. package/dist/admin/components/SelectTree/SelectTree.js.map +1 -1
  120. package/dist/admin/components/SortPicker/SortPicker.js +0 -1
  121. package/dist/admin/components/SortPicker/SortPicker.js.map +1 -1
  122. package/dist/admin/components/SortPicker/SortPicker.mjs +0 -1
  123. package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -1
  124. package/dist/admin/components/TableList/CellContent.js +5 -2
  125. package/dist/admin/components/TableList/CellContent.js.map +1 -1
  126. package/dist/admin/components/TableList/CellContent.mjs +0 -1
  127. package/dist/admin/components/TableList/CellContent.mjs.map +1 -1
  128. package/dist/admin/components/TableList/PreviewCell.js +3 -4
  129. package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
  130. package/dist/admin/components/TableList/PreviewCell.mjs +4 -5
  131. package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
  132. package/dist/admin/components/TableList/TableList.js +0 -1
  133. package/dist/admin/components/TableList/TableList.js.map +1 -1
  134. package/dist/admin/components/TableList/TableList.mjs +0 -1
  135. package/dist/admin/components/TableList/TableList.mjs.map +1 -1
  136. package/dist/admin/components/TableList/TableRows.js +0 -1
  137. package/dist/admin/components/TableList/TableRows.js.map +1 -1
  138. package/dist/admin/components/TableList/TableRows.mjs +0 -1
  139. package/dist/admin/components/TableList/TableRows.mjs.map +1 -1
  140. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -1
  141. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -1
  142. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -1
  143. package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -1
  144. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +5 -5
  145. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
  146. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +3 -4
  147. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
  148. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +3 -3
  149. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -1
  150. package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -1
  151. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +3 -3
  152. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -1
  153. package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -1
  154. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js +3 -2
  155. package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -1
  156. package/dist/admin/constants.js +4 -7
  157. package/dist/admin/constants.js.map +1 -1
  158. package/dist/admin/constants.mjs +4 -7
  159. package/dist/admin/constants.mjs.map +1 -1
  160. package/dist/admin/enums.js +14 -16
  161. package/dist/admin/enums.js.map +1 -1
  162. package/dist/admin/enums.mjs +13 -15
  163. package/dist/admin/enums.mjs.map +1 -1
  164. package/dist/admin/future/components/Drawer.js +4 -3
  165. package/dist/admin/future/components/Drawer.js.map +1 -1
  166. package/dist/admin/future/pages/Assets/AssetsPage.js +29 -4
  167. package/dist/admin/future/pages/Assets/AssetsPage.js.map +1 -1
  168. package/dist/admin/future/pages/Assets/AssetsPage.mjs +28 -4
  169. package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +1 -1
  170. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +5 -4
  171. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -1
  172. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +2 -2
  173. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -1
  174. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +7 -6
  175. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -1
  176. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +4 -4
  177. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -1
  178. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +2 -2
  179. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
  180. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +2 -2
  181. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
  182. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js +3 -2
  183. package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -1
  184. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js +389 -0
  185. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +1 -0
  186. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs +387 -0
  187. package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -0
  188. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js +3 -2
  189. package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +1 -1
  190. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js +4 -4
  191. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +1 -1
  192. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs +4 -4
  193. package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +1 -1
  194. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js +48 -2
  195. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +1 -1
  196. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs +48 -2
  197. package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -1
  198. package/dist/admin/future/services/folders.js +28 -1
  199. package/dist/admin/future/services/folders.js.map +1 -1
  200. package/dist/admin/future/services/folders.mjs +28 -2
  201. package/dist/admin/future/services/folders.mjs.map +1 -1
  202. package/dist/admin/future/utils/files.js +5 -1
  203. package/dist/admin/future/utils/files.js.map +1 -1
  204. package/dist/admin/future/utils/getAssetIcon.js +4 -4
  205. package/dist/admin/future/utils/getAssetIcon.js.map +1 -1
  206. package/dist/admin/future/utils/getAssetIcon.mjs +4 -4
  207. package/dist/admin/future/utils/getAssetIcon.mjs.map +1 -1
  208. package/dist/admin/hooks/useAIMetadataJob.js +3 -3
  209. package/dist/admin/hooks/useAIMetadataJob.mjs +0 -1
  210. package/dist/admin/hooks/useAIMetadataJob.mjs.map +1 -1
  211. package/dist/admin/hooks/useAssets.js +3 -2
  212. package/dist/admin/hooks/useAssets.js.map +1 -1
  213. package/dist/admin/hooks/useBulkEdit.js +0 -1
  214. package/dist/admin/hooks/useBulkEdit.js.map +1 -1
  215. package/dist/admin/hooks/useBulkEdit.mjs +0 -1
  216. package/dist/admin/hooks/useBulkEdit.mjs.map +1 -1
  217. package/dist/admin/hooks/useBulkMove.js +0 -1
  218. package/dist/admin/hooks/useBulkMove.js.map +1 -1
  219. package/dist/admin/hooks/useBulkMove.mjs +0 -1
  220. package/dist/admin/hooks/useBulkMove.mjs.map +1 -1
  221. package/dist/admin/hooks/useBulkRemove.js +0 -1
  222. package/dist/admin/hooks/useBulkRemove.js.map +1 -1
  223. package/dist/admin/hooks/useBulkRemove.mjs +0 -1
  224. package/dist/admin/hooks/useBulkRemove.mjs.map +1 -1
  225. package/dist/admin/hooks/useCropImg.js +7 -3
  226. package/dist/admin/hooks/useCropImg.js.map +1 -1
  227. package/dist/admin/hooks/useEditAsset.js +3 -3
  228. package/dist/admin/hooks/useEditAsset.mjs +0 -1
  229. package/dist/admin/hooks/useEditAsset.mjs.map +1 -1
  230. package/dist/admin/hooks/useFolder.js +0 -1
  231. package/dist/admin/hooks/useFolder.js.map +1 -1
  232. package/dist/admin/hooks/useFolder.mjs +0 -1
  233. package/dist/admin/hooks/useFolder.mjs.map +1 -1
  234. package/dist/admin/hooks/useFolderStructure.js +0 -1
  235. package/dist/admin/hooks/useFolderStructure.js.map +1 -1
  236. package/dist/admin/hooks/useFolderStructure.mjs +0 -1
  237. package/dist/admin/hooks/useFolderStructure.mjs.map +1 -1
  238. package/dist/admin/hooks/useFolders.js +3 -2
  239. package/dist/admin/hooks/useFolders.js.map +1 -1
  240. package/dist/admin/hooks/useModalQueryParams.js +3 -2
  241. package/dist/admin/hooks/useModalQueryParams.js.map +1 -1
  242. package/dist/admin/hooks/useSelectionState.js +3 -2
  243. package/dist/admin/hooks/useSelectionState.js.map +1 -1
  244. package/dist/admin/hooks/useUpload.js +3 -2
  245. package/dist/admin/hooks/useUpload.js.map +1 -1
  246. package/dist/admin/index.js +0 -1
  247. package/dist/admin/index.js.map +1 -1
  248. package/dist/admin/index.mjs +0 -1
  249. package/dist/admin/index.mjs.map +1 -1
  250. package/dist/admin/pages/App/App.js +3 -3
  251. package/dist/admin/pages/App/App.mjs +0 -1
  252. package/dist/admin/pages/App/App.mjs.map +1 -1
  253. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +7 -4
  254. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
  255. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -1
  256. package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
  257. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -1
  258. package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -1
  259. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -1
  260. package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -1
  261. package/dist/admin/pages/App/ConfigureTheView/state/reducer.js +7 -2
  262. package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +1 -1
  263. package/dist/admin/pages/App/MediaLibrary.js +3 -3
  264. package/dist/admin/pages/App/MediaLibrary.mjs +0 -1
  265. package/dist/admin/pages/App/MediaLibrary.mjs.map +1 -1
  266. package/dist/admin/pages/App/components/BulkActions.js +0 -1
  267. package/dist/admin/pages/App/components/BulkActions.js.map +1 -1
  268. package/dist/admin/pages/App/components/BulkActions.mjs +0 -1
  269. package/dist/admin/pages/App/components/BulkActions.mjs.map +1 -1
  270. package/dist/admin/pages/App/components/BulkMoveButton.js +3 -2
  271. package/dist/admin/pages/App/components/BulkMoveButton.js.map +1 -1
  272. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js +0 -1
  273. package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +1 -1
  274. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs +0 -1
  275. package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -1
  276. package/dist/admin/pages/App/components/Filters.js +3 -3
  277. package/dist/admin/pages/App/components/Filters.mjs +0 -1
  278. package/dist/admin/pages/App/components/Filters.mjs.map +1 -1
  279. package/dist/admin/pages/App/components/Header.js +0 -1
  280. package/dist/admin/pages/App/components/Header.js.map +1 -1
  281. package/dist/admin/pages/App/components/Header.mjs +0 -1
  282. package/dist/admin/pages/App/components/Header.mjs.map +1 -1
  283. package/dist/admin/pages/SettingsPage/SettingsPage.js +7 -4
  284. package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
  285. package/dist/admin/pages/SettingsPage/SettingsPage.mjs +0 -1
  286. package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
  287. package/dist/admin/pages/SettingsPage/reducer.js +5 -1
  288. package/dist/admin/pages/SettingsPage/reducer.js.map +1 -1
  289. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +11 -12
  290. package/dist/admin/src/components/EmptyAssets/EmptyAssets.d.ts +0 -1
  291. package/dist/admin/src/components/FolderCard/contexts/FolderCard.d.ts +2 -3
  292. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +2 -1
  293. package/dist/admin/src/constants.d.ts +5 -4
  294. package/dist/admin/src/enums.d.ts +14 -12
  295. package/dist/admin/src/future/pages/Assets/components/FolderTree/FolderTree.d.ts +19 -0
  296. package/dist/admin/src/future/pages/Assets/hooks/useFolderNavigation.d.ts +2 -0
  297. package/dist/admin/src/future/services/folders.d.ts +2 -2
  298. package/dist/admin/src/future/store/uploadProgress.d.ts +1 -1
  299. package/dist/admin/src/hooks/useCropImg.d.ts +2 -2
  300. package/dist/admin/src/hooks/useEditFolder.d.ts +4 -4
  301. package/dist/admin/src/hooks/useModalQueryParams.d.ts +5 -5
  302. package/dist/admin/src/hooks/usePersistentState.d.ts +0 -1
  303. package/dist/admin/src/hooks/useSettings.d.ts +5 -5
  304. package/dist/admin/src/hooks/useTracking.d.ts +1 -1
  305. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +1 -1
  306. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +1 -1
  307. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +1 -1
  308. package/dist/admin/src/utils/getFolderParents.d.ts +3 -3
  309. package/dist/admin/src/utils/icons.d.ts +2 -1
  310. package/dist/admin/src/utils/rawFileToAsset.d.ts +1 -1
  311. package/dist/admin/src/utils/urlsToAssets.d.ts +2 -10
  312. package/dist/admin/translations/en.json.js +10 -1
  313. package/dist/admin/translations/en.json.js.map +1 -1
  314. package/dist/admin/translations/en.json.mjs +10 -1
  315. package/dist/admin/translations/en.json.mjs.map +1 -1
  316. package/dist/admin/translations/ja.json.js +175 -0
  317. package/dist/admin/translations/ja.json.js.map +1 -1
  318. package/dist/admin/translations/ja.json.mjs +175 -0
  319. package/dist/admin/translations/ja.json.mjs.map +1 -1
  320. package/dist/admin/utils/formatBytes.js +5 -1
  321. package/dist/admin/utils/formatBytes.js.map +1 -1
  322. package/dist/admin/utils/icons.js +5 -5
  323. package/dist/admin/utils/icons.js.map +1 -1
  324. package/dist/admin/utils/icons.mjs +6 -6
  325. package/dist/admin/utils/icons.mjs.map +1 -1
  326. package/dist/admin/utils/typeFromMime.js +9 -9
  327. package/dist/admin/utils/typeFromMime.js.map +1 -1
  328. package/dist/admin/utils/typeFromMime.mjs +10 -10
  329. package/dist/admin/utils/typeFromMime.mjs.map +1 -1
  330. package/dist/admin/utils/urlYupSchema.js +3 -2
  331. package/dist/admin/utils/urlYupSchema.js.map +1 -1
  332. package/dist/admin/utils/urlsToAssets.js +1 -2
  333. package/dist/admin/utils/urlsToAssets.js.map +1 -1
  334. package/dist/admin/utils/urlsToAssets.mjs +1 -2
  335. package/dist/admin/utils/urlsToAssets.mjs.map +1 -1
  336. package/dist/server/controllers/admin-upload.js +11 -4
  337. package/dist/server/controllers/admin-upload.js.map +1 -1
  338. package/dist/server/controllers/content-api.js +7 -2
  339. package/dist/server/controllers/content-api.js.map +1 -1
  340. package/dist/server/controllers/utils/find-entity-and-check-permissions.js +7 -3
  341. package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -1
  342. package/dist/server/middlewares/upload.js +7 -2
  343. package/dist/server/middlewares/upload.js.map +1 -1
  344. package/dist/server/register.js +9 -4
  345. package/dist/server/register.js.map +1 -1
  346. package/dist/server/routes/content-api.js +3 -2
  347. package/dist/server/routes/content-api.js.map +1 -1
  348. package/dist/server/routes/validation/upload.js +3 -2
  349. package/dist/server/routes/validation/upload.js.map +1 -1
  350. package/dist/server/services/file.js +13 -6
  351. package/dist/server/services/file.js.map +1 -1
  352. package/dist/server/services/image-manipulation.js +18 -12
  353. package/dist/server/services/image-manipulation.js.map +1 -1
  354. package/dist/server/services/provider.js +24 -0
  355. package/dist/server/services/provider.js.map +1 -1
  356. package/dist/server/services/provider.mjs +24 -0
  357. package/dist/server/services/provider.mjs.map +1 -1
  358. package/dist/server/services/upload.js +99 -32
  359. package/dist/server/services/upload.js.map +1 -1
  360. package/dist/server/services/upload.mjs +69 -10
  361. package/dist/server/services/upload.mjs.map +1 -1
  362. package/dist/server/src/controllers/admin-file.d.ts +4 -12
  363. package/dist/server/src/controllers/admin-file.d.ts.map +1 -1
  364. package/dist/server/src/controllers/admin-folder.d.ts +2 -2
  365. package/dist/server/src/controllers/admin-settings.d.ts +2 -2
  366. package/dist/server/src/controllers/admin-upload.d.ts +3 -3
  367. package/dist/server/src/controllers/content-api.d.ts +2 -2
  368. package/dist/server/src/controllers/content-api.d.ts.map +1 -1
  369. package/dist/server/src/controllers/index.d.ts +14 -23
  370. package/dist/server/src/controllers/index.d.ts.map +1 -1
  371. package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts.map +1 -1
  372. package/dist/server/src/controllers/utils/folders.d.ts.map +1 -1
  373. package/dist/server/src/controllers/validation/admin/configureView.d.ts +1 -1
  374. package/dist/server/src/controllers/validation/admin/folder-file.d.ts +1 -1
  375. package/dist/server/src/controllers/validation/admin/folder-file.d.ts.map +1 -1
  376. package/dist/server/src/controllers/validation/admin/folder.d.ts +2 -2
  377. package/dist/server/src/controllers/validation/admin/folder.d.ts.map +1 -1
  378. package/dist/server/src/controllers/validation/admin/settings.d.ts +1 -1
  379. package/dist/server/src/controllers/validation/admin/upload.d.ts +1 -1
  380. package/dist/server/src/controllers/validation/admin/upload.d.ts.map +1 -1
  381. package/dist/server/src/controllers/validation/admin/utils.d.ts.map +1 -1
  382. package/dist/server/src/controllers/validation/content-api/upload.d.ts.map +1 -1
  383. package/dist/server/src/controllers/view-configuration.d.ts +1 -1
  384. package/dist/server/src/graphql.d.ts.map +1 -1
  385. package/dist/server/src/index.d.ts +37 -53
  386. package/dist/server/src/index.d.ts.map +1 -1
  387. package/dist/server/src/middlewares/upload.d.ts.map +1 -1
  388. package/dist/server/src/services/ai-metadata-jobs.d.ts +1 -1
  389. package/dist/server/src/services/ai-metadata-jobs.d.ts.map +1 -1
  390. package/dist/server/src/services/ai-metadata.d.ts.map +1 -1
  391. package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
  392. package/dist/server/src/services/file.d.ts +2 -2
  393. package/dist/server/src/services/file.d.ts.map +1 -1
  394. package/dist/server/src/services/folder.d.ts +1 -1
  395. package/dist/server/src/services/folder.d.ts.map +1 -1
  396. package/dist/server/src/services/image-manipulation.d.ts.map +1 -1
  397. package/dist/server/src/services/index.d.ts +23 -30
  398. package/dist/server/src/services/index.d.ts.map +1 -1
  399. package/dist/server/src/services/metrics.d.ts.map +1 -1
  400. package/dist/server/src/services/provider.d.ts +2 -1
  401. package/dist/server/src/services/provider.d.ts.map +1 -1
  402. package/dist/server/src/services/upload.d.ts +1 -1
  403. package/dist/server/src/services/upload.d.ts.map +1 -1
  404. package/dist/server/src/services/weekly-metrics.d.ts.map +1 -1
  405. package/dist/server/src/types.d.ts +4 -3
  406. package/dist/server/src/types.d.ts.map +1 -1
  407. package/dist/server/src/utils/cron.d.ts.map +1 -1
  408. package/dist/server/src/utils/index.d.ts.map +1 -1
  409. package/dist/server/src/utils/mime-validation.d.ts.map +1 -1
  410. package/dist/server/utils/mime-validation.js +11 -3
  411. package/dist/server/utils/mime-validation.js.map +1 -1
  412. package/dist/server/utils/mime-validation.mjs +12 -4
  413. package/dist/server/utils/mime-validation.mjs.map +1 -1
  414. package/package.json +9 -9
  415. package/dist/admin/future/enums.js +0 -12
  416. package/dist/admin/future/enums.js.map +0 -1
  417. package/dist/admin/future/enums.mjs +0 -10
  418. package/dist/admin/future/enums.mjs.map +0 -1
  419. package/dist/admin/src/future/enums.d.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"TableRows.mjs","sources":["../../../../admin/src/components/TableList/TableRows.tsx"],"sourcesContent":["import { Checkbox, Flex, IconButton, Tbody, Td, Tr } from '@strapi/design-system';\nimport { Eye, Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { tableHeaders as cells } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport { CellContent } from './CellContent';\n\nimport type { File } from '../../../../shared/contracts/files';\nimport type { Folder } from '../../../../shared/contracts/folders';\n\ninterface FileRow extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\ninterface FolderRow extends Folder {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface TableRowsProps {\n onChangeFolder?: ((folderId: number, folderPath?: string) => void) | null;\n onEditAsset: (asset: FileRow) => void;\n onEditFolder: (folder: FolderRow) => void;\n onSelectOne: (element: FileRow | FolderRow) => void;\n rows: FileRow[] | FolderRow[];\n selected: FileRow[] | FolderRow[];\n}\n\nexport const TableRows = ({\n onChangeFolder = null,\n onEditAsset,\n onEditFolder,\n onSelectOne,\n rows = [],\n selected = [],\n}: TableRowsProps) => {\n const { formatMessage } = useIntl();\n\n const handleRowClickFn = (\n element: FileRow | FolderRow,\n id: number,\n path: FolderRow['path'],\n elementType?: string\n ) => {\n if (elementType === 'asset') {\n onEditAsset(element as FileRow);\n } else {\n if (onChangeFolder) {\n onChangeFolder(id, path);\n }\n }\n };\n\n return (\n <Tbody>\n {rows.map((element) => {\n const { path, id, isSelectable, name, folderURL, type: contentType } = element;\n\n const isSelected = !!selected.find(\n (currentRow) => currentRow.id === id && currentRow.type === contentType\n );\n\n return (\n <Tr\n key={`${contentType}-${id}`}\n onClick={() => handleRowClickFn(element, id, path || undefined, contentType)}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <Checkbox\n aria-label={formatMessage(\n {\n id: contentType === 'asset' ? 'list-assets-select' : 'list.folder.select',\n defaultMessage:\n contentType === 'asset' ? 'Select {name} asset' : 'Select {name} folder',\n },\n { name }\n )}\n disabled={!isSelectable}\n onCheckedChange={() => onSelectOne(element)}\n onPointerDown={(e) => {\n e.preventDefault();\n }}\n checked={isSelected}\n />\n </Td>\n {cells.map(({ name, type: cellType }) => {\n return (\n <Td key={name}>\n <CellContent\n content={element as FileRow}\n cellType={cellType}\n contentType={contentType}\n name={name}\n />\n </Td>\n );\n })}\n\n <Td onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"flex-end\">\n {contentType === 'folder' &&\n (folderURL ? (\n <IconButton\n tag={Link}\n label={formatMessage({\n id: getTrad('list.folders.link-label'),\n defaultMessage: 'Access folder',\n })}\n to={folderURL}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n ) : (\n <IconButton\n tag=\"button\"\n label={formatMessage({\n id: getTrad('list.folders.link-label'),\n defaultMessage: 'Access folder',\n })}\n onClick={() => onChangeFolder && onChangeFolder(id)}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n ))}\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.edit'),\n defaultMessage: 'Edit',\n })}\n onClick={() =>\n contentType === 'asset'\n ? onEditAsset(element as FileRow)\n : onEditFolder(element as FolderRow)\n }\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Flex>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n"],"names":["TableRows","onChangeFolder","onEditAsset","onEditFolder","onSelectOne","rows","selected","formatMessage","useIntl","handleRowClickFn","element","id","path","elementType","_jsx","Tbody","map","isSelectable","name","folderURL","type","contentType","isSelected","find","currentRow","_jsxs","Tr","onClick","undefined","Td","e","stopPropagation","Checkbox","aria-label","defaultMessage","disabled","onCheckedChange","onPointerDown","preventDefault","checked","cells","cellType","CellContent","content","Flex","justifyContent","IconButton","tag","Link","label","getTrad","to","variant","Eye","Pencil"],"mappings":"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"}
1
+ {"version":3,"file":"TableRows.mjs","sources":["../../../../admin/src/components/TableList/TableRows.tsx"],"sourcesContent":["import { Checkbox, Flex, IconButton, Tbody, Td, Tr } from '@strapi/design-system';\nimport { Eye, Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { tableHeaders as cells } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport { CellContent } from './CellContent';\n\nimport type { File } from '../../../../shared/contracts/files';\nimport type { Folder } from '../../../../shared/contracts/folders';\n\ninterface FileRow extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\ninterface FolderRow extends Folder {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface TableRowsProps {\n onChangeFolder?: ((folderId: number, folderPath?: string) => void) | null;\n onEditAsset: (asset: FileRow) => void;\n onEditFolder: (folder: FolderRow) => void;\n onSelectOne: (element: FileRow | FolderRow) => void;\n rows: FileRow[] | FolderRow[];\n selected: FileRow[] | FolderRow[];\n}\n\nexport const TableRows = ({\n onChangeFolder = null,\n onEditAsset,\n onEditFolder,\n onSelectOne,\n rows = [],\n selected = [],\n}: TableRowsProps) => {\n const { formatMessage } = useIntl();\n\n const handleRowClickFn = (\n element: FileRow | FolderRow,\n id: number,\n path: FolderRow['path'],\n elementType?: string\n ) => {\n if (elementType === 'asset') {\n onEditAsset(element as FileRow);\n } else {\n if (onChangeFolder) {\n onChangeFolder(id, path);\n }\n }\n };\n\n return (\n <Tbody>\n {rows.map((element) => {\n const { path, id, isSelectable, name, folderURL, type: contentType } = element;\n\n const isSelected = !!selected.find(\n (currentRow) => currentRow.id === id && currentRow.type === contentType\n );\n\n return (\n <Tr\n key={`${contentType}-${id}`}\n onClick={() => handleRowClickFn(element, id, path || undefined, contentType)}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <Checkbox\n aria-label={formatMessage(\n {\n id: contentType === 'asset' ? 'list-assets-select' : 'list.folder.select',\n defaultMessage:\n contentType === 'asset' ? 'Select {name} asset' : 'Select {name} folder',\n },\n { name }\n )}\n disabled={!isSelectable}\n onCheckedChange={() => onSelectOne(element)}\n onPointerDown={(e) => {\n e.preventDefault();\n }}\n checked={isSelected}\n />\n </Td>\n {cells.map(({ name, type: cellType }) => {\n return (\n <Td key={name}>\n <CellContent\n content={element as FileRow}\n cellType={cellType}\n contentType={contentType}\n name={name}\n />\n </Td>\n );\n })}\n\n <Td onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"flex-end\">\n {contentType === 'folder' &&\n (folderURL ? (\n <IconButton\n tag={Link}\n label={formatMessage({\n id: getTrad('list.folders.link-label'),\n defaultMessage: 'Access folder',\n })}\n to={folderURL}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n ) : (\n <IconButton\n tag=\"button\"\n label={formatMessage({\n id: getTrad('list.folders.link-label'),\n defaultMessage: 'Access folder',\n })}\n onClick={() => onChangeFolder && onChangeFolder(id)}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n ))}\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.edit'),\n defaultMessage: 'Edit',\n })}\n onClick={() =>\n contentType === 'asset'\n ? onEditAsset(element as FileRow)\n : onEditFolder(element as FolderRow)\n }\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Flex>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n"],"names":["TableRows","onChangeFolder","onEditAsset","onEditFolder","onSelectOne","rows","selected","formatMessage","useIntl","handleRowClickFn","element","id","path","elementType","_jsx","Tbody","map","isSelectable","name","folderURL","type","contentType","isSelected","find","currentRow","_jsxs","Tr","onClick","undefined","Td","e","stopPropagation","Checkbox","aria-label","defaultMessage","disabled","onCheckedChange","onPointerDown","preventDefault","checked","cells","cellType","CellContent","content","Flex","justifyContent","IconButton","tag","Link","label","getTrad","to","variant","Eye","Pencil"],"mappings":"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"}
@@ -7,7 +7,6 @@ require('byte-size');
7
7
  require('date-fns');
8
8
  var getTrad = require('../../../utils/getTrad.js');
9
9
  require('qs');
10
- require('../../../utils/typeFromMime.js');
11
10
  require('../../../utils/urlYupSchema.js');
12
11
  var FromComputerForm = require('./FromComputerForm.js');
13
12
  var FromUrlForm = require('./FromUrlForm.js');
@@ -1 +1 @@
1
- {"version":3,"file":"AddAssetStep.js","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.tsx"],"sourcesContent":["import { Box, Divider, Modal, Tabs } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { FromComputerForm } from './FromComputerForm';\nimport { FromUrlForm } from './FromUrlForm';\n\nimport type { RawFile, File } from '../../../../../shared/contracts/files';\n\nexport interface FileWithRawFile extends Omit<File, 'id' | 'hash'> {\n id?: string;\n hash?: string;\n rawFile: RawFile;\n}\n\ninterface AddAssetStepProps {\n onClose: () => void;\n onAddAsset: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const AddAssetStep = ({ onClose, onAddAsset, trackedLocation }: AddAssetStepProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8} paddingTop={6}>\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('tabs.title'),\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: getTrad('modal.nav.computer'),\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: getTrad('modal.nav.url'),\n defaultMessage: 'From URL',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n\n <Divider />\n </Box>\n <Tabs.Content value=\"computer\">\n <FromComputerForm\n onClose={onClose}\n onAddAssets={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <FromUrlForm\n onClose={onClose}\n onAddAsset={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n </Tabs.Root>\n </>\n );\n};\n"],"names":["AddAssetStep","onClose","onAddAsset","trackedLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Tabs","Root","variant","defaultValue","Box","paddingLeft","paddingRight","paddingTop","List","aria-label","Trigger","value","Divider","Content","FromComputerForm","onAddAssets","FromUrlForm"],"mappings":";;;;;;;;;;;;;;AAsBO,MAAMA,eAAe,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,eAAe,EAAqB,GAAA;IACtF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAC,cAAA,CAACC,mBAAMC,MAAM,EAAA;wCACXF,cAAA,CAACC,mBAAME,KAAK,EAAA;8BACTP,aAAAA,CAAc;AACbQ,wBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,2BAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;AAGJ,0BAAAR,eAAA,CAACS,kBAAKC,IAAI,EAAA;gBAACC,OAAAA,EAAQ,QAAA;gBAASC,YAAAA,EAAa,UAAA;;kCACvCZ,eAAA,CAACa,gBAAAA,EAAAA;wBAAIC,WAAAA,EAAa,CAAA;wBAAGC,YAAAA,EAAc,CAAA;wBAAGC,UAAAA,EAAY,CAAA;;AAChD,0CAAAhB,eAAA,CAACS,kBAAKQ,IAAI,EAAA;AACRC,gCAAAA,YAAAA,EAAYpB,aAAAA,CAAc;AACxBQ,oCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,YAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;;AAEA,kDAAAN,cAAA,CAACO,kBAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,UAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,oBAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;AAEF,kDAAAN,cAAA,CAACO,kBAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,KAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,eAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;0CAIJN,cAAA,CAACmB,oBAAAA,EAAAA,EAAAA;;;AAEH,kCAAAnB,cAAA,CAACO,kBAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,UAAA;AAClB,wBAAA,QAAA,gBAAAlB,cAAA,CAACqB,iCAAAA,EAAAA;4BACC5B,OAAAA,EAASA,OAAAA;4BACT6B,WAAAA,EAAa5B,UAAAA;4BACbC,eAAAA,EAAiBA;;;AAGrB,kCAAAK,cAAA,CAACO,kBAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,KAAA;AAClB,wBAAA,QAAA,gBAAAlB,cAAA,CAACuB,uBAAAA,EAAAA;4BACC9B,OAAAA,EAASA,OAAAA;4BACTC,UAAAA,EAAYA,UAAAA;4BACZC,eAAAA,EAAiBA;;;;;;;AAM7B;;;;"}
1
+ {"version":3,"file":"AddAssetStep.js","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.tsx"],"sourcesContent":["import { Box, Divider, Modal, Tabs } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { FromComputerForm } from './FromComputerForm';\nimport { FromUrlForm } from './FromUrlForm';\n\nimport type { RawFile, File } from '../../../../../shared/contracts/files';\n\nexport interface FileWithRawFile extends Omit<File, 'id' | 'hash'> {\n id?: string;\n hash?: string;\n rawFile: RawFile;\n}\n\ninterface AddAssetStepProps {\n onClose: () => void;\n onAddAsset: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const AddAssetStep = ({ onClose, onAddAsset, trackedLocation }: AddAssetStepProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8} paddingTop={6}>\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('tabs.title'),\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: getTrad('modal.nav.computer'),\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: getTrad('modal.nav.url'),\n defaultMessage: 'From URL',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n\n <Divider />\n </Box>\n <Tabs.Content value=\"computer\">\n <FromComputerForm\n onClose={onClose}\n onAddAssets={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <FromUrlForm\n onClose={onClose}\n onAddAsset={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n </Tabs.Root>\n </>\n );\n};\n"],"names":["AddAssetStep","onClose","onAddAsset","trackedLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Tabs","Root","variant","defaultValue","Box","paddingLeft","paddingRight","paddingTop","List","aria-label","Trigger","value","Divider","Content","FromComputerForm","onAddAssets","FromUrlForm"],"mappings":";;;;;;;;;;;;;AAsBO,MAAMA,eAAe,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,eAAe,EAAqB,GAAA;IACtF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAC,cAAA,CAACC,mBAAMC,MAAM,EAAA;wCACXF,cAAA,CAACC,mBAAME,KAAK,EAAA;8BACTP,aAAAA,CAAc;AACbQ,wBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,2BAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;AAGJ,0BAAAR,eAAA,CAACS,kBAAKC,IAAI,EAAA;gBAACC,OAAAA,EAAQ,QAAA;gBAASC,YAAAA,EAAa,UAAA;;kCACvCZ,eAAA,CAACa,gBAAAA,EAAAA;wBAAIC,WAAAA,EAAa,CAAA;wBAAGC,YAAAA,EAAc,CAAA;wBAAGC,UAAAA,EAAY,CAAA;;AAChD,0CAAAhB,eAAA,CAACS,kBAAKQ,IAAI,EAAA;AACRC,gCAAAA,YAAAA,EAAYpB,aAAAA,CAAc;AACxBQ,oCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,YAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;;AAEA,kDAAAN,cAAA,CAACO,kBAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,UAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,oBAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;AAEF,kDAAAN,cAAA,CAACO,kBAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,KAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,eAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;0CAIJN,cAAA,CAACmB,oBAAAA,EAAAA,EAAAA;;;AAEH,kCAAAnB,cAAA,CAACO,kBAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,UAAA;AAClB,wBAAA,QAAA,gBAAAlB,cAAA,CAACqB,iCAAAA,EAAAA;4BACC5B,OAAAA,EAASA,OAAAA;4BACT6B,WAAAA,EAAa5B,UAAAA;4BACbC,eAAAA,EAAiBA;;;AAGrB,kCAAAK,cAAA,CAACO,kBAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,KAAA;AAClB,wBAAA,QAAA,gBAAAlB,cAAA,CAACuB,uBAAAA,EAAAA;4BACC9B,OAAAA,EAASA,OAAAA;4BACTC,UAAAA,EAAYA,UAAAA;4BACZC,eAAAA,EAAiBA;;;;;;;AAM7B;;;;"}
@@ -5,7 +5,6 @@ import 'byte-size';
5
5
  import 'date-fns';
6
6
  import { getTrad } from '../../../utils/getTrad.mjs';
7
7
  import 'qs';
8
- import '../../../utils/typeFromMime.mjs';
9
8
  import '../../../utils/urlYupSchema.mjs';
10
9
  import { FromComputerForm } from './FromComputerForm.mjs';
11
10
  import { FromUrlForm } from './FromUrlForm.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"AddAssetStep.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.tsx"],"sourcesContent":["import { Box, Divider, Modal, Tabs } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { FromComputerForm } from './FromComputerForm';\nimport { FromUrlForm } from './FromUrlForm';\n\nimport type { RawFile, File } from '../../../../../shared/contracts/files';\n\nexport interface FileWithRawFile extends Omit<File, 'id' | 'hash'> {\n id?: string;\n hash?: string;\n rawFile: RawFile;\n}\n\ninterface AddAssetStepProps {\n onClose: () => void;\n onAddAsset: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const AddAssetStep = ({ onClose, onAddAsset, trackedLocation }: AddAssetStepProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8} paddingTop={6}>\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('tabs.title'),\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: getTrad('modal.nav.computer'),\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: getTrad('modal.nav.url'),\n defaultMessage: 'From URL',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n\n <Divider />\n </Box>\n <Tabs.Content value=\"computer\">\n <FromComputerForm\n onClose={onClose}\n onAddAssets={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <FromUrlForm\n onClose={onClose}\n onAddAsset={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n </Tabs.Root>\n </>\n );\n};\n"],"names":["AddAssetStep","onClose","onAddAsset","trackedLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Tabs","Root","variant","defaultValue","Box","paddingLeft","paddingRight","paddingTop","List","aria-label","Trigger","value","Divider","Content","FromComputerForm","onAddAssets","FromUrlForm"],"mappings":";;;;;;;;;;;;AAsBO,MAAMA,eAAe,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,eAAe,EAAqB,GAAA;IACtF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAC,GAAA,CAACC,MAAMC,MAAM,EAAA;wCACXF,GAAA,CAACC,MAAME,KAAK,EAAA;8BACTP,aAAAA,CAAc;AACbQ,wBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,2BAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;AAGJ,0BAAAR,IAAA,CAACS,KAAKC,IAAI,EAAA;gBAACC,OAAAA,EAAQ,QAAA;gBAASC,YAAAA,EAAa,UAAA;;kCACvCZ,IAAA,CAACa,GAAAA,EAAAA;wBAAIC,WAAAA,EAAa,CAAA;wBAAGC,YAAAA,EAAc,CAAA;wBAAGC,UAAAA,EAAY,CAAA;;AAChD,0CAAAhB,IAAA,CAACS,KAAKQ,IAAI,EAAA;AACRC,gCAAAA,YAAAA,EAAYpB,aAAAA,CAAc;AACxBQ,oCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,YAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;;AAEA,kDAAAN,GAAA,CAACO,KAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,UAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,oBAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;AAEF,kDAAAN,GAAA,CAACO,KAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,KAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,eAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;0CAIJN,GAAA,CAACmB,OAAAA,EAAAA,EAAAA;;;AAEH,kCAAAnB,GAAA,CAACO,KAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,UAAA;AAClB,wBAAA,QAAA,gBAAAlB,GAAA,CAACqB,gBAAAA,EAAAA;4BACC5B,OAAAA,EAASA,OAAAA;4BACT6B,WAAAA,EAAa5B,UAAAA;4BACbC,eAAAA,EAAiBA;;;AAGrB,kCAAAK,GAAA,CAACO,KAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,KAAA;AAClB,wBAAA,QAAA,gBAAAlB,GAAA,CAACuB,WAAAA,EAAAA;4BACC9B,OAAAA,EAASA,OAAAA;4BACTC,UAAAA,EAAYA,UAAAA;4BACZC,eAAAA,EAAiBA;;;;;;;AAM7B;;;;"}
1
+ {"version":3,"file":"AddAssetStep.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.tsx"],"sourcesContent":["import { Box, Divider, Modal, Tabs } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { FromComputerForm } from './FromComputerForm';\nimport { FromUrlForm } from './FromUrlForm';\n\nimport type { RawFile, File } from '../../../../../shared/contracts/files';\n\nexport interface FileWithRawFile extends Omit<File, 'id' | 'hash'> {\n id?: string;\n hash?: string;\n rawFile: RawFile;\n}\n\ninterface AddAssetStepProps {\n onClose: () => void;\n onAddAsset: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const AddAssetStep = ({ onClose, onAddAsset, trackedLocation }: AddAssetStepProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8} paddingTop={6}>\n <Tabs.List\n aria-label={formatMessage({\n id: getTrad('tabs.title'),\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: getTrad('modal.nav.computer'),\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: getTrad('modal.nav.url'),\n defaultMessage: 'From URL',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n\n <Divider />\n </Box>\n <Tabs.Content value=\"computer\">\n <FromComputerForm\n onClose={onClose}\n onAddAssets={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <FromUrlForm\n onClose={onClose}\n onAddAsset={onAddAsset}\n trackedLocation={trackedLocation}\n />\n </Tabs.Content>\n </Tabs.Root>\n </>\n );\n};\n"],"names":["AddAssetStep","onClose","onAddAsset","trackedLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Tabs","Root","variant","defaultValue","Box","paddingLeft","paddingRight","paddingTop","List","aria-label","Trigger","value","Divider","Content","FromComputerForm","onAddAssets","FromUrlForm"],"mappings":";;;;;;;;;;;AAsBO,MAAMA,eAAe,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,eAAe,EAAqB,GAAA;IACtF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAC,GAAA,CAACC,MAAMC,MAAM,EAAA;wCACXF,GAAA,CAACC,MAAME,KAAK,EAAA;8BACTP,aAAAA,CAAc;AACbQ,wBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,2BAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;AAGJ,0BAAAR,IAAA,CAACS,KAAKC,IAAI,EAAA;gBAACC,OAAAA,EAAQ,QAAA;gBAASC,YAAAA,EAAa,UAAA;;kCACvCZ,IAAA,CAACa,GAAAA,EAAAA;wBAAIC,WAAAA,EAAa,CAAA;wBAAGC,YAAAA,EAAc,CAAA;wBAAGC,UAAAA,EAAY,CAAA;;AAChD,0CAAAhB,IAAA,CAACS,KAAKQ,IAAI,EAAA;AACRC,gCAAAA,YAAAA,EAAYpB,aAAAA,CAAc;AACxBQ,oCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,YAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;;AAEA,kDAAAN,GAAA,CAACO,KAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,UAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,oBAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;AAEF,kDAAAN,GAAA,CAACO,KAAKU,OAAO,EAAA;wCAACC,KAAAA,EAAM,KAAA;kDACjBtB,aAAAA,CAAc;AACbQ,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,eAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;0CAIJN,GAAA,CAACmB,OAAAA,EAAAA,EAAAA;;;AAEH,kCAAAnB,GAAA,CAACO,KAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,UAAA;AAClB,wBAAA,QAAA,gBAAAlB,GAAA,CAACqB,gBAAAA,EAAAA;4BACC5B,OAAAA,EAASA,OAAAA;4BACT6B,WAAAA,EAAa5B,UAAAA;4BACbC,eAAAA,EAAiBA;;;AAGrB,kCAAAK,GAAA,CAACO,KAAKa,OAAO,EAAA;wBAACF,KAAAA,EAAM,KAAA;AAClB,wBAAA,QAAA,gBAAAlB,GAAA,CAACuB,WAAAA,EAAAA;4BACC9B,OAAAA,EAASA,OAAAA;4BACTC,UAAAA,EAAYA,UAAAA;4BACZC,eAAAA,EAAiBA;;;;;;;AAM7B;;;;"}
@@ -13,10 +13,10 @@ require('date-fns');
13
13
  var getTrad = require('../../../utils/getTrad.js');
14
14
  require('qs');
15
15
  var rawFileToAsset = require('../../../utils/rawFileToAsset.js');
16
- require('../../../utils/typeFromMime.js');
17
16
  require('../../../utils/urlYupSchema.js');
18
17
 
19
- function _interopNamespaceDefault(e) {
18
+ function _interopNamespace(e) {
19
+ if (e && e.__esModule) return e;
20
20
  var n = Object.create(null);
21
21
  if (e) {
22
22
  Object.keys(e).forEach(function (k) {
@@ -33,7 +33,7 @@ function _interopNamespaceDefault(e) {
33
33
  return Object.freeze(n);
34
34
  }
35
35
 
36
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
36
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
37
37
 
38
38
  const Wrapper = styledComponents.styled(designSystem.Flex)`
39
39
  flex-direction: column;
@@ -72,7 +72,7 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
72
72
  for(let i = 0; i < files.length; i++){
73
73
  const file = files.item(i);
74
74
  if (file) {
75
- const asset = rawFileToAsset.rawFileToAsset(file, constants.AssetSource.Computer);
75
+ const asset = rawFileToAsset.rawFileToAsset(file, constants.ASSET_SOURCES.Computer);
76
76
  assets.push(asset);
77
77
  }
78
78
  }
@@ -93,7 +93,7 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
93
93
  for(let i = 0; i < files.length; i++){
94
94
  const file = files.item(i);
95
95
  if (file) {
96
- const asset = rawFileToAsset.rawFileToAsset(file, constants.AssetSource.Computer);
96
+ const asset = rawFileToAsset.rawFileToAsset(file, constants.ASSET_SOURCES.Computer);
97
97
  assets.push(asset);
98
98
  }
99
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromComputerForm.js","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n // inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"FromComputerForm.js","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ASSET_SOURCES } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, ASSET_SOURCES.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, ASSET_SOURCES.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","ASSET_SOURCES","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,OAAAA,GAAUC,uBAAAA,CAAOC,iBAAAA,CAAK;;AAE5B,CAAC;AAED,MAAMC,WAAAA,GAAcF,uBAAAA,CAAOG,GAAG;;;;UAIpB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;AAEnD,CAAC;AAED,MAAMC,QAAAA,GAAWP,uBAAAA,CAAOQ,gBAAAA,CAAI;;AAE5B,CAAC;AAED,MAAMC,SAAAA,GAAYT,uBAAAA,CAAOQ,gBAAAA,CAAI;;;AAG7B,CAAC;AAQM,MAAME,mBAAmB,CAAC,EAC/BC,OAAO,EACPC,WAAW,EACXC,eAAe,EACO,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAC/C,MAAMC,QAAAA,GAAWF,gBAAAA,CAAMG,MAAM,CAAmB,IAAA,CAAA;IAChD,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;AAEvB,IAAA,MAAMC,iBAAiB,CAACC,KAAAA,GAAAA;AACtBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;AACtB,IAAA,CAAA;AAEA,IAAA,MAAMC,kBAAkB,CAACF,KAAAA,GAAAA;AACvBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;QACpBT,WAAAA,CAAY,IAAA,CAAA;AACd,IAAA,CAAA;IAEA,MAAMW,eAAAA,GAAkB,IAAMX,WAAAA,CAAY,KAAA,CAAA;AAE1C,IAAA,MAAMY,YAAAA,GAAe,IAAA;QACnB,MAAMC,KAAAA,GAAQV,QAAAA,CAASW,OAAO,EAAED,KAAAA;AAChC,QAAA,MAAME,SAA4B,EAAE;AAEpC,QAAA,IAAIF,KAAAA,EAAO;AACT,YAAA,IAAK,IAAIG,CAAAA,GAAI,CAAA,EAAGA,IAAIH,KAAAA,CAAMI,MAAM,EAAED,CAAAA,EAAAA,CAAK;gBACrC,MAAME,IAAAA,GAAOL,KAAAA,CAAMM,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAAA,EAAM;AACR,oBAAA,MAAME,KAAAA,GAAQC,6BAAAA,CAAeH,IAAAA,EAAMI,uBAAAA,CAAcC,QAAQ,CAAA;AACzDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd,gBAAA;AACF,YAAA;AACF,QAAA;AAEA,QAAA,IAAIxB,eAAAA,EAAiB;AACnBS,YAAAA,UAAAA,CAAW,eAAA,EAAiB;gBAAEoB,MAAAA,EAAQ,UAAA;gBAAYC,QAAAA,EAAU9B;AAAgB,aAAA,CAAA;AAC9E,QAAA;QAEAD,WAAAA,CAAYoB,MAAAA,CAAAA;AACd,IAAA,CAAA;AAEA,IAAA,MAAMY,aAAa,CAACC,CAAAA,GAAAA;AAClBA,QAAAA,CAAAA,CAAEnB,cAAc,EAAA;QAEhB,IAAImB,CAAAA,EAAGC,cAAchB,KAAAA,EAAO;AAC1B,YAAA,MAAMA,KAAAA,GAAQe,CAAAA,CAAEC,YAAY,CAAChB,KAAK;AAClC,YAAA,MAAME,SAAS,EAAE;AAEjB,YAAA,IAAK,IAAIC,CAAAA,GAAI,CAAA,EAAGA,IAAIH,KAAAA,CAAMI,MAAM,EAAED,CAAAA,EAAAA,CAAK;gBACrC,MAAME,IAAAA,GAAOL,KAAAA,CAAMM,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAAA,EAAM;AACR,oBAAA,MAAME,KAAAA,GAAQC,6BAAAA,CAAeH,IAAAA,EAAMI,uBAAAA,CAAcC,QAAQ,CAAA;AACzDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd,gBAAA;AACF,YAAA;YAEAzB,WAAAA,CAAYoB,MAAAA,CAAAA;AACd,QAAA;QAEAf,WAAAA,CAAY,KAAA,CAAA;AACd,IAAA,CAAA;AAEA,IAAA,qBACE8B,eAAA,CAACC,MAAAA,EAAAA;;0BACCC,cAAA,CAACzC,gBAAAA,EAAAA;gBAAI0C,WAAAA,EAAa,CAAA;gBAAGC,YAAAA,EAAc,CAAA;gBAAGC,UAAAA,EAAY,CAAA;gBAAGC,aAAAA,EAAe,CAAA;AAClE,gBAAA,QAAA,gBAAAJ,cAAA,CAACK,OAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAL,cAAA,CAAC1C,QAAAA,EAAAA;wBACC6C,UAAAA,EAAY,EAAA;wBACZC,aAAAA,EAAe,EAAA;wBACfE,SAAS,EAAA,IAAA;wBACTC,cAAAA,EAAe,QAAA;AACfC,wBAAAA,WAAAA,EAAazC,WAAW,YAAA,GAAe,YAAA;AACvC0C,wBAAAA,UAAAA,EAAY1C,WAAW,YAAA,GAAe,YAAA;wBACtC2C,QAAAA,EAAS,UAAA;wBACTC,WAAAA,EAAajC,eAAAA;wBACbkC,WAAAA,EAAajC,eAAAA;wBACbkC,UAAAA,EAAYtC,cAAAA;wBACZuC,MAAAA,EAAQnB,UAAAA;AAER,wBAAA,QAAA,gBAAAK,cAAA,CAAChD,iBAAAA,EAAAA;4BAAKuD,cAAAA,EAAe,QAAA;AACnB,4BAAA,QAAA,gBAAAT,eAAA,CAAChD,OAAAA,EAAAA;;kDACCkD,cAAA,CAAC/C,WAAAA,EAAAA;AACC,wCAAA,QAAA,gBAAA+C,cAAA,CAACe,gBAAAA,EAAAA;4CAAYC,aAAW,EAAA,IAAA;4CAACC,KAAAA,EAAM,QAAA;4CAASC,MAAAA,EAAO;;;kDAGjDlB,cAAA,CAACzC,gBAAAA,EAAAA;wCAAI4C,UAAAA,EAAY,CAAA;wCAAGC,aAAAA,EAAe,CAAA;AACjC,wCAAA,QAAA,gBAAAJ,cAAA,CAACmB,uBAAAA,EAAAA;4CAAWC,OAAAA,EAAQ,OAAA;4CAAQC,SAAAA,EAAU,YAAA;4CAAaC,GAAAA,EAAI,MAAA;sDACpDzD,aAAAA,CAAc;AACb0D,gDAAAA,EAAAA,EAAIC,eAAAA,CAAQ,aAAA,CAAA;gDACZC,cAAAA,EAAgB;AAClB,6CAAA;;;kDAIJzB,cAAA,CAACxC,SAAAA,EAAAA;wCACC8D,GAAAA,EAAI,OAAA;wCACJZ,QAAAA,EAAS,UAAA;wCACTgB,IAAAA,EAAM,CAAA;wCACNC,KAAAA,EAAO,CAAA;wCACPC,MAAAA,EAAQ,CAAA;wCACRC,GAAAA,EAAK,CAAA;wCACLZ,KAAAA,EAAM,MAAA;wCACNa,IAAAA,EAAK,MAAA;wCACLC,QAAQ,EAAA,IAAA;wCACRC,IAAAA,EAAK,OAAA;AACLC,wCAAAA,YAAAA,EAAYpE,aAAAA,CAAc;AACxB0D,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,aAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA,CAAA;AACAS,wCAAAA,QAAAA,EAAU,EAAC;wCACXC,GAAAA,EAAKhE,QAAAA;wCACLiE,MAAAA,EAAQ,CAAA;wCACRC,QAAAA,EAAUzD;;;;;;;;AAiBtB,0BAAAoB,cAAA,CAACsC,mBAAMC,MAAM,EAAA;AACX,gBAAA,QAAA,gBAAAvC,cAAA,CAACwC,mBAAAA,EAAAA;oBAAOC,OAAAA,EAAS/E,OAAAA;oBAAS0D,OAAAA,EAAQ,UAAA;8BAC/BvD,aAAAA,CAAc;wBACb0D,EAAAA,EAAI,8BAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
@@ -4,14 +4,13 @@ import { Flex, Box, Typography, Modal, Button } from '@strapi/design-system';
4
4
  import { PlusCircle } from '@strapi/icons';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { styled } from 'styled-components';
7
- import { AssetSource } from '../../../constants.mjs';
7
+ import { ASSET_SOURCES } from '../../../constants.mjs';
8
8
  import { useTracking } from '../../../hooks/useTracking.mjs';
9
9
  import 'byte-size';
10
10
  import 'date-fns';
11
11
  import { getTrad } from '../../../utils/getTrad.mjs';
12
12
  import 'qs';
13
13
  import { rawFileToAsset } from '../../../utils/rawFileToAsset.mjs';
14
- import '../../../utils/typeFromMime.mjs';
15
14
  import '../../../utils/urlYupSchema.mjs';
16
15
 
17
16
  const Wrapper = styled(Flex)`
@@ -51,7 +50,7 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
51
50
  for(let i = 0; i < files.length; i++){
52
51
  const file = files.item(i);
53
52
  if (file) {
54
- const asset = rawFileToAsset(file, AssetSource.Computer);
53
+ const asset = rawFileToAsset(file, ASSET_SOURCES.Computer);
55
54
  assets.push(asset);
56
55
  }
57
56
  }
@@ -72,7 +71,7 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation })=>{
72
71
  for(let i = 0; i < files.length; i++){
73
72
  const file = files.item(i);
74
73
  if (file) {
75
- const asset = rawFileToAsset(file, AssetSource.Computer);
74
+ const asset = rawFileToAsset(file, ASSET_SOURCES.Computer);
76
75
  assets.push(asset);
77
76
  }
78
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromComputerForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n // inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":";;;;;;;;;;;;;;;;AAaA,MAAMA,OAAAA,GAAUC,MAAAA,CAAOC,IAAAA,CAAK;;AAE5B,CAAC;AAED,MAAMC,WAAAA,GAAcF,MAAAA,CAAOG,GAAG;;;;UAIpB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;AAEnD,CAAC;AAED,MAAMC,QAAAA,GAAWP,MAAAA,CAAOQ,GAAAA,CAAI;;AAE5B,CAAC;AAED,MAAMC,SAAAA,GAAYT,MAAAA,CAAOQ,GAAAA,CAAI;;;AAG7B,CAAC;AAQM,MAAME,mBAAmB,CAAC,EAC/BC,OAAO,EACPC,WAAW,EACXC,eAAe,EACO,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAC/C,MAAMC,QAAAA,GAAWF,KAAAA,CAAMG,MAAM,CAAmB,IAAA,CAAA;IAChD,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;AAEvB,IAAA,MAAMC,iBAAiB,CAACC,KAAAA,GAAAA;AACtBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;AACtB,IAAA,CAAA;AAEA,IAAA,MAAMC,kBAAkB,CAACF,KAAAA,GAAAA;AACvBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;QACpBT,WAAAA,CAAY,IAAA,CAAA;AACd,IAAA,CAAA;IAEA,MAAMW,eAAAA,GAAkB,IAAMX,WAAAA,CAAY,KAAA,CAAA;AAO1C,IAAA,MAAMY,YAAAA,GAAe,IAAA;QACnB,MAAMC,KAAAA,GAAQV,QAAAA,CAASW,OAAO,EAAED,KAAAA;AAChC,QAAA,MAAME,SAA4B,EAAE;AAEpC,QAAA,IAAIF,KAAAA,EAAO;AACT,YAAA,IAAK,IAAIG,CAAAA,GAAI,CAAA,EAAGA,IAAIH,KAAAA,CAAMI,MAAM,EAAED,CAAAA,EAAAA,CAAK;gBACrC,MAAME,IAAAA,GAAOL,KAAAA,CAAMM,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAAA,EAAM;AACR,oBAAA,MAAME,KAAAA,GAAQC,cAAAA,CAAeH,IAAAA,EAAMI,WAAAA,CAAYC,QAAQ,CAAA;AACvDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd,gBAAA;AACF,YAAA;AACF,QAAA;AAEA,QAAA,IAAIxB,eAAAA,EAAiB;AACnBS,YAAAA,UAAAA,CAAW,eAAA,EAAiB;gBAAEoB,MAAAA,EAAQ,UAAA;gBAAYC,QAAAA,EAAU9B;AAAgB,aAAA,CAAA;AAC9E,QAAA;QAEAD,WAAAA,CAAYoB,MAAAA,CAAAA;AACd,IAAA,CAAA;AAEA,IAAA,MAAMY,aAAa,CAACC,CAAAA,GAAAA;AAClBA,QAAAA,CAAAA,CAAEnB,cAAc,EAAA;QAEhB,IAAImB,CAAAA,EAAGC,cAAchB,KAAAA,EAAO;AAC1B,YAAA,MAAMA,KAAAA,GAAQe,CAAAA,CAAEC,YAAY,CAAChB,KAAK;AAClC,YAAA,MAAME,SAAS,EAAE;AAEjB,YAAA,IAAK,IAAIC,CAAAA,GAAI,CAAA,EAAGA,IAAIH,KAAAA,CAAMI,MAAM,EAAED,CAAAA,EAAAA,CAAK;gBACrC,MAAME,IAAAA,GAAOL,KAAAA,CAAMM,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAAA,EAAM;AACR,oBAAA,MAAME,KAAAA,GAAQC,cAAAA,CAAeH,IAAAA,EAAMI,WAAAA,CAAYC,QAAQ,CAAA;AACvDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd,gBAAA;AACF,YAAA;YAEAzB,WAAAA,CAAYoB,MAAAA,CAAAA;AACd,QAAA;QAEAf,WAAAA,CAAY,KAAA,CAAA;AACd,IAAA,CAAA;AAEA,IAAA,qBACE8B,IAAA,CAACC,MAAAA,EAAAA;;0BACCC,GAAA,CAACzC,GAAAA,EAAAA;gBAAI0C,WAAAA,EAAa,CAAA;gBAAGC,YAAAA,EAAc,CAAA;gBAAGC,UAAAA,EAAY,CAAA;gBAAGC,aAAAA,EAAe,CAAA;AAClE,gBAAA,QAAA,gBAAAJ,GAAA,CAACK,OAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAL,GAAA,CAAC1C,QAAAA,EAAAA;wBACC6C,UAAAA,EAAY,EAAA;wBACZC,aAAAA,EAAe,EAAA;wBACfE,SAAS,EAAA,IAAA;wBACTC,cAAAA,EAAe,QAAA;AACfC,wBAAAA,WAAAA,EAAazC,WAAW,YAAA,GAAe,YAAA;AACvC0C,wBAAAA,UAAAA,EAAY1C,WAAW,YAAA,GAAe,YAAA;wBACtC2C,QAAAA,EAAS,UAAA;wBACTC,WAAAA,EAAajC,eAAAA;wBACbkC,WAAAA,EAAajC,eAAAA;wBACbkC,UAAAA,EAAYtC,cAAAA;wBACZuC,MAAAA,EAAQnB,UAAAA;AAER,wBAAA,QAAA,gBAAAK,GAAA,CAAChD,IAAAA,EAAAA;4BAAKuD,cAAAA,EAAe,QAAA;AACnB,4BAAA,QAAA,gBAAAT,IAAA,CAAChD,OAAAA,EAAAA;;kDACCkD,GAAA,CAAC/C,WAAAA,EAAAA;AACC,wCAAA,QAAA,gBAAA+C,GAAA,CAACe,UAAAA,EAAAA;4CAAYC,aAAW,EAAA,IAAA;4CAACC,KAAAA,EAAM,QAAA;4CAASC,MAAAA,EAAO;;;kDAGjDlB,GAAA,CAACzC,GAAAA,EAAAA;wCAAI4C,UAAAA,EAAY,CAAA;wCAAGC,aAAAA,EAAe,CAAA;AACjC,wCAAA,QAAA,gBAAAJ,GAAA,CAACmB,UAAAA,EAAAA;4CAAWC,OAAAA,EAAQ,OAAA;4CAAQC,SAAAA,EAAU,YAAA;4CAAaC,GAAAA,EAAI,MAAA;sDACpDzD,aAAAA,CAAc;AACb0D,gDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,aAAA,CAAA;gDACZC,cAAAA,EAAgB;AAClB,6CAAA;;;kDAIJzB,GAAA,CAACxC,SAAAA,EAAAA;wCACC8D,GAAAA,EAAI,OAAA;wCACJZ,QAAAA,EAAS,UAAA;wCACTgB,IAAAA,EAAM,CAAA;wCACNC,KAAAA,EAAO,CAAA;wCACPC,MAAAA,EAAQ,CAAA;wCACRC,GAAAA,EAAK,CAAA;wCACLZ,KAAAA,EAAM,MAAA;wCACNa,IAAAA,EAAK,MAAA;wCACLC,QAAQ,EAAA,IAAA;wCACRC,IAAAA,EAAK,OAAA;AACLC,wCAAAA,YAAAA,EAAYpE,aAAAA,CAAc;AACxB0D,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,aAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA,CAAA;AACAS,wCAAAA,QAAAA,EAAU,EAAC;wCACXC,GAAAA,EAAKhE,QAAAA;wCACLiE,MAAAA,EAAQ,CAAA;wCACRC,QAAAA,EAAUzD;;;;;;;;AAiBtB,0BAAAoB,GAAA,CAACsC,MAAMC,MAAM,EAAA;AACX,gBAAA,QAAA,gBAAAvC,GAAA,CAACwC,MAAAA,EAAAA;oBAAOC,OAAAA,EAAS/E,OAAAA;oBAAS0D,OAAAA,EAAQ,UAAA;8BAC/BvD,aAAAA,CAAc;wBACb0D,EAAAA,EAAI,8BAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
1
+ {"version":3,"file":"FromComputerForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ASSET_SOURCES } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, ASSET_SOURCES.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, ASSET_SOURCES.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","ASSET_SOURCES","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":";;;;;;;;;;;;;;;AAaA,MAAMA,OAAAA,GAAUC,MAAAA,CAAOC,IAAAA,CAAK;;AAE5B,CAAC;AAED,MAAMC,WAAAA,GAAcF,MAAAA,CAAOG,GAAG;;;;UAIpB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;AAEnD,CAAC;AAED,MAAMC,QAAAA,GAAWP,MAAAA,CAAOQ,GAAAA,CAAI;;AAE5B,CAAC;AAED,MAAMC,SAAAA,GAAYT,MAAAA,CAAOQ,GAAAA,CAAI;;;AAG7B,CAAC;AAQM,MAAME,mBAAmB,CAAC,EAC/BC,OAAO,EACPC,WAAW,EACXC,eAAe,EACO,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAC/C,MAAMC,QAAAA,GAAWF,KAAAA,CAAMG,MAAM,CAAmB,IAAA,CAAA;IAChD,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;AAEvB,IAAA,MAAMC,iBAAiB,CAACC,KAAAA,GAAAA;AACtBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;AACtB,IAAA,CAAA;AAEA,IAAA,MAAMC,kBAAkB,CAACF,KAAAA,GAAAA;AACvBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;QACpBT,WAAAA,CAAY,IAAA,CAAA;AACd,IAAA,CAAA;IAEA,MAAMW,eAAAA,GAAkB,IAAMX,WAAAA,CAAY,KAAA,CAAA;AAE1C,IAAA,MAAMY,YAAAA,GAAe,IAAA;QACnB,MAAMC,KAAAA,GAAQV,QAAAA,CAASW,OAAO,EAAED,KAAAA;AAChC,QAAA,MAAME,SAA4B,EAAE;AAEpC,QAAA,IAAIF,KAAAA,EAAO;AACT,YAAA,IAAK,IAAIG,CAAAA,GAAI,CAAA,EAAGA,IAAIH,KAAAA,CAAMI,MAAM,EAAED,CAAAA,EAAAA,CAAK;gBACrC,MAAME,IAAAA,GAAOL,KAAAA,CAAMM,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAAA,EAAM;AACR,oBAAA,MAAME,KAAAA,GAAQC,cAAAA,CAAeH,IAAAA,EAAMI,aAAAA,CAAcC,QAAQ,CAAA;AACzDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd,gBAAA;AACF,YAAA;AACF,QAAA;AAEA,QAAA,IAAIxB,eAAAA,EAAiB;AACnBS,YAAAA,UAAAA,CAAW,eAAA,EAAiB;gBAAEoB,MAAAA,EAAQ,UAAA;gBAAYC,QAAAA,EAAU9B;AAAgB,aAAA,CAAA;AAC9E,QAAA;QAEAD,WAAAA,CAAYoB,MAAAA,CAAAA;AACd,IAAA,CAAA;AAEA,IAAA,MAAMY,aAAa,CAACC,CAAAA,GAAAA;AAClBA,QAAAA,CAAAA,CAAEnB,cAAc,EAAA;QAEhB,IAAImB,CAAAA,EAAGC,cAAchB,KAAAA,EAAO;AAC1B,YAAA,MAAMA,KAAAA,GAAQe,CAAAA,CAAEC,YAAY,CAAChB,KAAK;AAClC,YAAA,MAAME,SAAS,EAAE;AAEjB,YAAA,IAAK,IAAIC,CAAAA,GAAI,CAAA,EAAGA,IAAIH,KAAAA,CAAMI,MAAM,EAAED,CAAAA,EAAAA,CAAK;gBACrC,MAAME,IAAAA,GAAOL,KAAAA,CAAMM,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAAA,EAAM;AACR,oBAAA,MAAME,KAAAA,GAAQC,cAAAA,CAAeH,IAAAA,EAAMI,aAAAA,CAAcC,QAAQ,CAAA;AACzDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd,gBAAA;AACF,YAAA;YAEAzB,WAAAA,CAAYoB,MAAAA,CAAAA;AACd,QAAA;QAEAf,WAAAA,CAAY,KAAA,CAAA;AACd,IAAA,CAAA;AAEA,IAAA,qBACE8B,IAAA,CAACC,MAAAA,EAAAA;;0BACCC,GAAA,CAACzC,GAAAA,EAAAA;gBAAI0C,WAAAA,EAAa,CAAA;gBAAGC,YAAAA,EAAc,CAAA;gBAAGC,UAAAA,EAAY,CAAA;gBAAGC,aAAAA,EAAe,CAAA;AAClE,gBAAA,QAAA,gBAAAJ,GAAA,CAACK,OAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAL,GAAA,CAAC1C,QAAAA,EAAAA;wBACC6C,UAAAA,EAAY,EAAA;wBACZC,aAAAA,EAAe,EAAA;wBACfE,SAAS,EAAA,IAAA;wBACTC,cAAAA,EAAe,QAAA;AACfC,wBAAAA,WAAAA,EAAazC,WAAW,YAAA,GAAe,YAAA;AACvC0C,wBAAAA,UAAAA,EAAY1C,WAAW,YAAA,GAAe,YAAA;wBACtC2C,QAAAA,EAAS,UAAA;wBACTC,WAAAA,EAAajC,eAAAA;wBACbkC,WAAAA,EAAajC,eAAAA;wBACbkC,UAAAA,EAAYtC,cAAAA;wBACZuC,MAAAA,EAAQnB,UAAAA;AAER,wBAAA,QAAA,gBAAAK,GAAA,CAAChD,IAAAA,EAAAA;4BAAKuD,cAAAA,EAAe,QAAA;AACnB,4BAAA,QAAA,gBAAAT,IAAA,CAAChD,OAAAA,EAAAA;;kDACCkD,GAAA,CAAC/C,WAAAA,EAAAA;AACC,wCAAA,QAAA,gBAAA+C,GAAA,CAACe,UAAAA,EAAAA;4CAAYC,aAAW,EAAA,IAAA;4CAACC,KAAAA,EAAM,QAAA;4CAASC,MAAAA,EAAO;;;kDAGjDlB,GAAA,CAACzC,GAAAA,EAAAA;wCAAI4C,UAAAA,EAAY,CAAA;wCAAGC,aAAAA,EAAe,CAAA;AACjC,wCAAA,QAAA,gBAAAJ,GAAA,CAACmB,UAAAA,EAAAA;4CAAWC,OAAAA,EAAQ,OAAA;4CAAQC,SAAAA,EAAU,YAAA;4CAAaC,GAAAA,EAAI,MAAA;sDACpDzD,aAAAA,CAAc;AACb0D,gDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,aAAA,CAAA;gDACZC,cAAAA,EAAgB;AAClB,6CAAA;;;kDAIJzB,GAAA,CAACxC,SAAAA,EAAAA;wCACC8D,GAAAA,EAAI,OAAA;wCACJZ,QAAAA,EAAS,UAAA;wCACTgB,IAAAA,EAAM,CAAA;wCACNC,KAAAA,EAAO,CAAA;wCACPC,MAAAA,EAAQ,CAAA;wCACRC,GAAAA,EAAK,CAAA;wCACLZ,KAAAA,EAAM,MAAA;wCACNa,IAAAA,EAAK,MAAA;wCACLC,QAAQ,EAAA,IAAA;wCACRC,IAAAA,EAAK,OAAA;AACLC,wCAAAA,YAAAA,EAAYpE,aAAAA,CAAc;AACxB0D,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,aAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA,CAAA;AACAS,wCAAAA,QAAAA,EAAU,EAAC;wCACXC,GAAAA,EAAKhE,QAAAA;wCACLiE,MAAAA,EAAQ,CAAA;wCACRC,QAAAA,EAAUzD;;;;;;;;AAiBtB,0BAAAoB,GAAA,CAACsC,MAAMC,MAAM,EAAA;AACX,gBAAA,QAAA,gBAAAvC,GAAA,CAACwC,MAAAA,EAAAA;oBAAOC,OAAAA,EAAS/E,OAAAA;oBAAS0D,OAAAA,EAAQ,UAAA;8BAC/BvD,aAAAA,CAAc;wBACb0D,EAAAA,EAAI,8BAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
@@ -10,11 +10,11 @@ require('byte-size');
10
10
  require('date-fns');
11
11
  var getTrad = require('../../../utils/getTrad.js');
12
12
  require('qs');
13
- require('../../../utils/typeFromMime.js');
14
13
  var urlsToAssets = require('../../../utils/urlsToAssets.js');
15
14
  var urlYupSchema = require('../../../utils/urlYupSchema.js');
16
15
 
17
- function _interopNamespaceDefault(e) {
16
+ function _interopNamespace(e) {
17
+ if (e && e.__esModule) return e;
18
18
  var n = Object.create(null);
19
19
  if (e) {
20
20
  Object.keys(e).forEach(function (k) {
@@ -31,7 +31,7 @@ function _interopNamespaceDefault(e) {
31
31
  return Object.freeze(n);
32
32
  }
33
33
 
34
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
34
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
35
35
 
36
36
  const FromUrlForm = ({ onClose, onAddAsset, trackedLocation })=>{
37
37
  const [loading, setLoading] = React__namespace.useState(false);
@@ -8,7 +8,6 @@ import 'byte-size';
8
8
  import 'date-fns';
9
9
  import { getTrad } from '../../../utils/getTrad.mjs';
10
10
  import 'qs';
11
- import '../../../utils/typeFromMime.mjs';
12
11
  import { urlsToAssets } from '../../../utils/urlsToAssets.mjs';
13
12
  import { urlSchema } from '../../../utils/urlYupSchema.mjs';
14
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"FromUrlForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromUrlForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Field, Modal, Textarea } from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, urlsToAssets, urlSchema } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\ninterface FromUrlFormProps {\n onClose: () => void;\n onAddAsset: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromUrlForm = ({ onClose, onAddAsset, trackedLocation }: FromUrlFormProps) => {\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | undefined>(undefined);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const handleSubmit = async ({ urls }: { urls: string }) => {\n setLoading(true);\n const urlArray = urls.split(/\\r?\\n/);\n try {\n const assets: FileWithRawFile[] = await urlsToAssets(urlArray);\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'url', location: trackedLocation });\n }\n\n // no need to set the loading to false since the component unmounts\n onAddAsset(assets);\n } catch (e: unknown) {\n setError(e as Error);\n setLoading(false);\n }\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={{\n urls: '',\n }}\n onSubmit={handleSubmit}\n validationSchema={urlSchema}\n validateOnChange={false}\n >\n {({ values, errors, handleChange }) => (\n <Form noValidate>\n <Box paddingLeft={8} paddingRight={8} paddingBottom={6} paddingTop={6}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('input.url.description'),\n defaultMessage: 'Separate your URL links by a carriage return.',\n })}\n error={\n error?.message ||\n (errors.urls\n ? formatMessage({ id: errors.urls, defaultMessage: 'An error occurred' })\n : undefined)\n }\n >\n <Field.Label>\n {formatMessage({ id: getTrad('input.url.label'), defaultMessage: 'URL' })}\n </Field.Label>\n <Textarea name=\"urls\" onChange={handleChange} value={values.urls} />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button type=\"submit\" loading={loading}>\n {formatMessage({\n id: getTrad('button.next'),\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n );\n};\n"],"names":["FromUrlForm","onClose","onAddAsset","trackedLocation","loading","setLoading","React","useState","error","setError","undefined","formatMessage","useIntl","trackUsage","useTracking","handleSubmit","urls","urlArray","split","assets","urlsToAssets","source","location","e","_jsx","Formik","enableReinitialize","initialValues","onSubmit","validationSchema","urlSchema","validateOnChange","values","errors","handleChange","_jsxs","Form","noValidate","Box","paddingLeft","paddingRight","paddingBottom","paddingTop","Field","Root","hint","id","getTrad","defaultMessage","message","Label","Textarea","name","onChange","value","Hint","Error","Modal","Footer","Button","onClick","variant","type"],"mappings":";;;;;;;;;;;;;;AAiBO,MAAMA,cAAc,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,eAAe,EAAoB,GAAA;AACpF,IAAA,MAAM,CAACC,OAAAA,EAASC,UAAAA,CAAW,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;AAC7C,IAAA,MAAM,CAACC,KAAAA,EAAOC,QAAAA,CAAS,GAAGH,KAAAA,CAAMC,QAAQ,CAAoBG,SAAAA,CAAAA;IAC5D,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;AAEvB,IAAA,MAAMC,YAAAA,GAAe,OAAO,EAAEC,IAAI,EAAoB,GAAA;QACpDX,UAAAA,CAAW,IAAA,CAAA;QACX,MAAMY,QAAAA,GAAWD,IAAAA,CAAKE,KAAK,CAAC,OAAA,CAAA;QAC5B,IAAI;YACF,MAAMC,MAAAA,GAA4B,MAAMC,YAAAA,CAAaH,QAAAA,CAAAA;AAErD,YAAA,IAAId,eAAAA,EAAiB;AACnBU,gBAAAA,UAAAA,CAAW,eAAA,EAAiB;oBAAEQ,MAAAA,EAAQ,KAAA;oBAAOC,QAAAA,EAAUnB;AAAgB,iBAAA,CAAA;AACzE,YAAA;;YAGAD,UAAAA,CAAWiB,MAAAA,CAAAA;AACb,QAAA,CAAA,CAAE,OAAOI,CAAAA,EAAY;YACnBd,QAAAA,CAASc,CAAAA,CAAAA;YACTlB,UAAAA,CAAW,KAAA,CAAA;AACb,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,qBACEmB,GAAA,CAACC,MAAAA,EAAAA;QACCC,kBAAkB,EAAA,IAAA;QAClBC,aAAAA,EAAe;YACbX,IAAAA,EAAM;AACR,SAAA;QACAY,QAAAA,EAAUb,YAAAA;QACVc,gBAAAA,EAAkBC,SAAAA;QAClBC,gBAAAA,EAAkB,KAAA;kBAEjB,CAAC,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAE,iBAChCC,IAAA,CAACC,IAAAA,EAAAA;gBAAKC,UAAU,EAAA,IAAA;;kCACdb,GAAA,CAACc,GAAAA,EAAAA;wBAAIC,WAAAA,EAAa,CAAA;wBAAGC,YAAAA,EAAc,CAAA;wBAAGC,aAAAA,EAAe,CAAA;wBAAGC,UAAAA,EAAY,CAAA;gDAClEP,IAAA,CAACQ,MAAMC,IAAI,EAAA;AACTC,4BAAAA,IAAAA,EAAMlC,aAAAA,CAAc;AAClBmC,gCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,uBAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA,CAAA;AACAxC,4BAAAA,KAAAA,EACEA,OAAOyC,OAAAA,KACNhB,MAAAA,CAAOjB,IAAI,GACRL,aAAAA,CAAc;AAAEmC,gCAAAA,EAAAA,EAAIb,OAAOjB,IAAI;gCAAEgC,cAAAA,EAAgB;AAAoB,6BAAA,CAAA,GACrEtC,SAAQ,CAAA;;AAGd,8CAAAc,GAAA,CAACmB,MAAMO,KAAK,EAAA;8CACTvC,aAAAA,CAAc;AAAEmC,wCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,iBAAA,CAAA;wCAAoBC,cAAAA,EAAgB;AAAM,qCAAA;;8CAEzExB,GAAA,CAAC2B,QAAAA,EAAAA;oCAASC,IAAAA,EAAK,MAAA;oCAAOC,QAAAA,EAAUnB,YAAAA;AAAcoB,oCAAAA,KAAAA,EAAOtB,OAAOhB;;AAC5D,8CAAAQ,GAAA,CAACmB,MAAMY,IAAI,EAAA,EAAA,CAAA;AACX,8CAAA/B,GAAA,CAACmB,MAAMa,KAAK,EAAA,EAAA;;;;AAIhB,kCAAArB,IAAA,CAACsB,MAAMC,MAAM,EAAA;;0CACXlC,GAAA,CAACmC,MAAAA,EAAAA;gCAAOC,OAAAA,EAAS3D,OAAAA;gCAAS4D,OAAAA,EAAQ,UAAA;0CAC/BlD,aAAAA,CAAc;oCAAEmC,EAAAA,EAAI,8BAAA;oCAAgCE,cAAAA,EAAgB;AAAS,iCAAA;;0CAEhFxB,GAAA,CAACmC,MAAAA,EAAAA;gCAAOG,IAAAA,EAAK,QAAA;gCAAS1D,OAAAA,EAASA,OAAAA;0CAC5BO,aAAAA,CAAc;AACbmC,oCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,aAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA;;;;;;;AAOd;;;;"}
1
+ {"version":3,"file":"FromUrlForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromUrlForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Field, Modal, Textarea } from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, urlsToAssets, urlSchema } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\ninterface FromUrlFormProps {\n onClose: () => void;\n onAddAsset: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromUrlForm = ({ onClose, onAddAsset, trackedLocation }: FromUrlFormProps) => {\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | undefined>(undefined);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const handleSubmit = async ({ urls }: { urls: string }) => {\n setLoading(true);\n const urlArray = urls.split(/\\r?\\n/);\n try {\n const assets: FileWithRawFile[] = await urlsToAssets(urlArray);\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'url', location: trackedLocation });\n }\n\n // no need to set the loading to false since the component unmounts\n onAddAsset(assets);\n } catch (e: unknown) {\n setError(e as Error);\n setLoading(false);\n }\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={{\n urls: '',\n }}\n onSubmit={handleSubmit}\n validationSchema={urlSchema}\n validateOnChange={false}\n >\n {({ values, errors, handleChange }) => (\n <Form noValidate>\n <Box paddingLeft={8} paddingRight={8} paddingBottom={6} paddingTop={6}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('input.url.description'),\n defaultMessage: 'Separate your URL links by a carriage return.',\n })}\n error={\n error?.message ||\n (errors.urls\n ? formatMessage({ id: errors.urls, defaultMessage: 'An error occurred' })\n : undefined)\n }\n >\n <Field.Label>\n {formatMessage({ id: getTrad('input.url.label'), defaultMessage: 'URL' })}\n </Field.Label>\n <Textarea name=\"urls\" onChange={handleChange} value={values.urls} />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button type=\"submit\" loading={loading}>\n {formatMessage({\n id: getTrad('button.next'),\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n );\n};\n"],"names":["FromUrlForm","onClose","onAddAsset","trackedLocation","loading","setLoading","React","useState","error","setError","undefined","formatMessage","useIntl","trackUsage","useTracking","handleSubmit","urls","urlArray","split","assets","urlsToAssets","source","location","e","_jsx","Formik","enableReinitialize","initialValues","onSubmit","validationSchema","urlSchema","validateOnChange","values","errors","handleChange","_jsxs","Form","noValidate","Box","paddingLeft","paddingRight","paddingBottom","paddingTop","Field","Root","hint","id","getTrad","defaultMessage","message","Label","Textarea","name","onChange","value","Hint","Error","Modal","Footer","Button","onClick","variant","type"],"mappings":"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"}
@@ -9,12 +9,12 @@ require('byte-size');
9
9
  require('date-fns');
10
10
  var getTrad = require('../../../utils/getTrad.js');
11
11
  require('qs');
12
- require('../../../utils/typeFromMime.js');
13
12
  require('../../../utils/urlYupSchema.js');
14
13
  var AssetCard = require('../../AssetCard/AssetCard.js');
15
14
  var UploadingAssetCard = require('../../AssetCard/UploadingAssetCard.js');
16
15
 
17
- function _interopNamespaceDefault(e) {
16
+ function _interopNamespace(e) {
17
+ if (e && e.__esModule) return e;
18
18
  var n = Object.create(null);
19
19
  if (e) {
20
20
  Object.keys(e).forEach(function (k) {
@@ -31,7 +31,7 @@ function _interopNamespaceDefault(e) {
31
31
  return Object.freeze(n);
32
32
  }
33
33
 
34
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
34
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
35
35
 
36
36
  const Status = {
37
37
  Idle: 'IDLE',
@@ -7,7 +7,6 @@ import 'byte-size';
7
7
  import 'date-fns';
8
8
  import { getTrad } from '../../../utils/getTrad.mjs';
9
9
  import 'qs';
10
- import '../../../utils/typeFromMime.mjs';
11
10
  import '../../../utils/urlYupSchema.mjs';
12
11
  import { AssetCard } from '../../AssetCard/AssetCard.mjs';
13
12
  import { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"PendingAssetStep.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, KeyboardNavigable, Modal, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { AssetType } from '../../../enums';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad } from '../../../utils';\nimport { AssetCard } from '../../AssetCard/AssetCard';\nimport { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard';\n\nimport type { File, RawFile } from '../../../../../shared/contracts/files';\n\nconst Status = {\n Idle: 'IDLE',\n Uploading: 'UPLOADING',\n Intermediate: 'INTERMEDIATE',\n};\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\ninterface PendingAssetStepProps {\n addUploadedFiles?: (files: File[]) => void;\n folderId?: string | number | null;\n onClose: () => void;\n onEditAsset: (asset: File) => void;\n onRemoveAsset: (asset: File) => void;\n onAddAsset?: (asset: File) => void;\n assets: Asset[];\n onClickAddAsset: () => void;\n onCancelUpload: (rawFile: RawFile) => void;\n onUploadSucceed: (file: RawFile) => void;\n trackedLocation?: string;\n initialAssetsToAdd?: File[];\n}\n\nexport const PendingAssetStep = ({\n addUploadedFiles,\n folderId,\n onClose,\n onEditAsset,\n onRemoveAsset,\n assets,\n onClickAddAsset,\n onCancelUpload,\n onUploadSucceed,\n trackedLocation,\n}: PendingAssetStepProps) => {\n const assetCountRef = React.useRef(0);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [uploadStatus, setUploadStatus] = React.useState(Status.Idle);\n\n const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n const assetsCountByType = assets.reduce(\n (acc: Record<AssetType, string | number>, asset) => {\n const { type } = asset;\n\n if (type !== undefined && !acc[type]) {\n acc[type] = 0;\n }\n\n if (type !== undefined) {\n const accType = acc[type];\n const currentCount = typeof accType === 'string' ? accType : accType.toString();\n acc[type] = `${parseInt(currentCount, 10) + 1}`;\n }\n\n return acc;\n },\n {} as Record<AssetType, string | number>\n );\n\n trackUsage('willAddMediaLibraryAssets', {\n location: trackedLocation!,\n ...assetsCountByType,\n });\n\n setUploadStatus(Status.Uploading);\n };\n\n const handleStatusChange = (status: string, file: RawFile) => {\n if (status === 'success' || status === 'error') {\n assetCountRef.current++;\n\n // There's no \"terminated\" status. When all the files have called their\n // onUploadSucceed callback, the parent component filters the asset list\n // and closes the modal when the asset list is empty\n if (assetCountRef.current === assets.length) {\n assetCountRef.current = 0;\n setUploadStatus(Status.Intermediate);\n }\n }\n\n if (status === 'success') {\n onUploadSucceed(file);\n }\n };\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex justifyContent=\"space-between\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={0}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage(\n {\n id: getTrad('list.assets.to-upload'),\n defaultMessage:\n '{number, plural, =0 {No asset} one {1 asset} other {# assets}} ready to upload',\n },\n { number: assets.length }\n )}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('modal.upload-list.sub-header-subtitle'),\n defaultMessage: 'Manage the assets before adding them to the Media Library',\n })}\n </Typography>\n </Flex>\n <Button size=\"S\" onClick={onClickAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n <KeyboardNavigable tagName=\"article\">\n <Grid.Root gap={4}>\n {assets.map((asset) => {\n const assetKey = asset.url;\n\n if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {\n return (\n <Grid.Item\n m={4}\n s={6}\n xs={12}\n key={assetKey}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <UploadingAssetCard\n // Props used to store the newly uploaded files\n addUploadedFiles={addUploadedFiles!}\n asset={asset}\n id={assetKey}\n onCancel={onCancelUpload}\n onStatusChange={(status) => handleStatusChange(status, asset.rawFile!)}\n size=\"S\"\n folderId={folderId}\n />\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <AssetCard\n asset={asset}\n size=\"S\"\n key={assetKey}\n local\n alt={asset.name}\n onEdit={onEditAsset}\n onRemove={onRemoveAsset}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button onClick={handleSubmit} loading={uploadStatus === Status.Uploading}>\n {formatMessage(\n {\n id: getTrad('modal.upload-list.footer.button'),\n defaultMessage:\n 'Upload {number, plural, one {# asset} other {# assets}} to the library',\n },\n { number: assets.length }\n )}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n"],"names":["Status","Idle","Uploading","Intermediate","PendingAssetStep","addUploadedFiles","folderId","onClose","onEditAsset","onRemoveAsset","assets","onClickAddAsset","onCancelUpload","onUploadSucceed","trackedLocation","assetCountRef","React","useRef","formatMessage","useIntl","trackUsage","useTracking","uploadStatus","setUploadStatus","useState","handleSubmit","e","preventDefault","stopPropagation","assetsCountByType","reduce","acc","asset","type","undefined","accType","currentCount","toString","parseInt","location","handleStatusChange","status","file","current","length","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","Typography","variant","fontWeight","textColor","number","Button","size","onClick","KeyboardNavigable","tagName","Grid","Root","map","assetKey","url","Item","m","s","xs","UploadingAssetCard","onCancel","onStatusChange","rawFile","col","AssetCard","local","alt","name","onEdit","onRemove","Footer","loading"],"mappings":"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"}
1
+ {"version":3,"file":"PendingAssetStep.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, KeyboardNavigable, Modal, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { AssetType } from '../../../enums';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad } from '../../../utils';\nimport { AssetCard } from '../../AssetCard/AssetCard';\nimport { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard';\n\nimport type { File, RawFile } from '../../../../../shared/contracts/files';\n\nconst Status = {\n Idle: 'IDLE',\n Uploading: 'UPLOADING',\n Intermediate: 'INTERMEDIATE',\n};\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\ninterface PendingAssetStepProps {\n addUploadedFiles?: (files: File[]) => void;\n folderId?: string | number | null;\n onClose: () => void;\n onEditAsset: (asset: File) => void;\n onRemoveAsset: (asset: File) => void;\n onAddAsset?: (asset: File) => void;\n assets: Asset[];\n onClickAddAsset: () => void;\n onCancelUpload: (rawFile: RawFile) => void;\n onUploadSucceed: (file: RawFile) => void;\n trackedLocation?: string;\n initialAssetsToAdd?: File[];\n}\n\nexport const PendingAssetStep = ({\n addUploadedFiles,\n folderId,\n onClose,\n onEditAsset,\n onRemoveAsset,\n assets,\n onClickAddAsset,\n onCancelUpload,\n onUploadSucceed,\n trackedLocation,\n}: PendingAssetStepProps) => {\n const assetCountRef = React.useRef(0);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [uploadStatus, setUploadStatus] = React.useState(Status.Idle);\n\n const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n const assetsCountByType = assets.reduce(\n (acc: Record<AssetType, string | number>, asset) => {\n const { type } = asset;\n\n if (type !== undefined && !acc[type]) {\n acc[type] = 0;\n }\n\n if (type !== undefined) {\n const accType = acc[type];\n const currentCount = typeof accType === 'string' ? accType : accType.toString();\n acc[type] = `${parseInt(currentCount, 10) + 1}`;\n }\n\n return acc;\n },\n {} as Record<AssetType, string | number>\n );\n\n trackUsage('willAddMediaLibraryAssets', {\n location: trackedLocation!,\n ...assetsCountByType,\n });\n\n setUploadStatus(Status.Uploading);\n };\n\n const handleStatusChange = (status: string, file: RawFile) => {\n if (status === 'success' || status === 'error') {\n assetCountRef.current++;\n\n // There's no \"terminated\" status. When all the files have called their\n // onUploadSucceed callback, the parent component filters the asset list\n // and closes the modal when the asset list is empty\n if (assetCountRef.current === assets.length) {\n assetCountRef.current = 0;\n setUploadStatus(Status.Intermediate);\n }\n }\n\n if (status === 'success') {\n onUploadSucceed(file);\n }\n };\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex justifyContent=\"space-between\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={0}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage(\n {\n id: getTrad('list.assets.to-upload'),\n defaultMessage:\n '{number, plural, =0 {No asset} one {1 asset} other {# assets}} ready to upload',\n },\n { number: assets.length }\n )}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('modal.upload-list.sub-header-subtitle'),\n defaultMessage: 'Manage the assets before adding them to the Media Library',\n })}\n </Typography>\n </Flex>\n <Button size=\"S\" onClick={onClickAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n <KeyboardNavigable tagName=\"article\">\n <Grid.Root gap={4}>\n {assets.map((asset) => {\n const assetKey = asset.url;\n\n if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {\n return (\n <Grid.Item\n m={4}\n s={6}\n xs={12}\n key={assetKey}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <UploadingAssetCard\n // Props used to store the newly uploaded files\n addUploadedFiles={addUploadedFiles!}\n asset={asset}\n id={assetKey}\n onCancel={onCancelUpload}\n onStatusChange={(status) => handleStatusChange(status, asset.rawFile!)}\n size=\"S\"\n folderId={folderId}\n />\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <AssetCard\n asset={asset}\n size=\"S\"\n key={assetKey}\n local\n alt={asset.name}\n onEdit={onEditAsset}\n onRemove={onRemoveAsset}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button onClick={handleSubmit} loading={uploadStatus === Status.Uploading}>\n {formatMessage(\n {\n id: getTrad('modal.upload-list.footer.button'),\n defaultMessage:\n 'Upload {number, plural, one {# asset} other {# assets}} to the library',\n },\n { number: assets.length }\n )}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n"],"names":["Status","Idle","Uploading","Intermediate","PendingAssetStep","addUploadedFiles","folderId","onClose","onEditAsset","onRemoveAsset","assets","onClickAddAsset","onCancelUpload","onUploadSucceed","trackedLocation","assetCountRef","React","useRef","formatMessage","useIntl","trackUsage","useTracking","uploadStatus","setUploadStatus","useState","handleSubmit","e","preventDefault","stopPropagation","assetsCountByType","reduce","acc","asset","type","undefined","accType","currentCount","toString","parseInt","location","handleStatusChange","status","file","current","length","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","Typography","variant","fontWeight","textColor","number","Button","size","onClick","KeyboardNavigable","tagName","Grid","Root","map","assetKey","url","Item","m","s","xs","UploadingAssetCard","onCancel","onStatusChange","rawFile","col","AssetCard","local","alt","name","onEdit","onRemove","Footer","loading"],"mappings":"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"}
@@ -8,7 +8,8 @@ var EditAssetContent = require('../EditAssetDialog/EditAssetContent.js');
8
8
  var AddAssetStep = require('./AddAssetStep/AddAssetStep.js');
9
9
  var PendingAssetStep = require('./PendingAssetStep/PendingAssetStep.js');
10
10
 
11
- function _interopNamespaceDefault(e) {
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
12
13
  var n = Object.create(null);
13
14
  if (e) {
14
15
  Object.keys(e).forEach(function (k) {
@@ -25,7 +26,7 @@ function _interopNamespaceDefault(e) {
25
26
  return Object.freeze(n);
26
27
  }
27
28
 
28
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
29
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
30
 
30
31
  const Steps = {
31
32
  AddAsset: 'AddAsset',
@@ -1 +1 @@
1
- {"version":3,"file":"UploadAssetDialog.js","sources":["../../../../admin/src/components/UploadAssetDialog/UploadAssetDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { EditAssetContent } from '../EditAssetDialog/EditAssetContent';\n\nimport { AddAssetStep } from './AddAssetStep/AddAssetStep';\nimport { PendingAssetStep } from './PendingAssetStep/PendingAssetStep';\n\nimport type { File, RawFile } from '../../../../shared/contracts/files';\nimport type { AllowedFiles } from '../../utils';\n\nconst Steps = {\n AddAsset: 'AddAsset',\n PendingAsset: 'PendingAsset',\n};\n\ninterface FileWithRawFile extends Omit<File, 'id' | 'hash'> {\n id?: string;\n hash?: string;\n rawFile: RawFile;\n}\n\ntype FileWithoutIdHash = Omit<File, 'id' | 'hash'>;\n\nexport interface Asset extends Omit<File, 'folder'> {\n isLocal?: boolean;\n rawFile?: RawFile;\n folder?: File['folder'] & { id: number };\n}\n\nexport interface UploadAssetDialogProps {\n addUploadedFiles?: (files: Asset[] | File[]) => void;\n folderId?: string | number | null;\n initialAssetsToAdd?: Asset[];\n onClose: () => void;\n open: boolean;\n trackedLocation?: string;\n validateAssetsTypes?: (\n assets: FileWithoutIdHash[] | Asset[],\n cb: (assets?: AllowedFiles[], error?: string) => void\n ) => void;\n}\n\nexport const UploadAssetDialog = ({\n initialAssetsToAdd,\n folderId = null,\n onClose = () => {},\n addUploadedFiles,\n trackedLocation,\n open,\n validateAssetsTypes = (_, cb) => cb(),\n}: UploadAssetDialogProps) => {\n const { formatMessage } = useIntl();\n const [step, setStep] = React.useState(initialAssetsToAdd ? Steps.PendingAsset : Steps.AddAsset);\n const [assets, setAssets] = React.useState(initialAssetsToAdd || []);\n const [assetToEdit, setAssetToEdit] = React.useState<File | Asset | undefined>(undefined);\n\n const handleAddToPendingAssets = (nextAssets: Asset[]) => {\n validateAssetsTypes(nextAssets, () => {\n setAssets((prevAssets) => prevAssets.concat(nextAssets));\n setStep(Steps.PendingAsset);\n });\n };\n\n const moveToAddAsset = () => {\n setStep(Steps.AddAsset);\n };\n\n const handleCancelUpload = (file: RawFile) => {\n const nextAssets = assets.filter((asset) => asset.rawFile !== file);\n setAssets(nextAssets);\n\n // When there's no asset, transition to the AddAsset step\n if (nextAssets.length === 0) {\n moveToAddAsset();\n }\n };\n\n const handleUploadSuccess = (file: RawFile) => {\n const nextAssets = assets.filter((asset) => asset.rawFile !== file);\n setAssets(nextAssets);\n\n if (nextAssets.length === 0) {\n onClose();\n }\n };\n\n const handleAssetEditValidation = (nextAsset?: Asset | boolean | null) => {\n if (nextAsset && typeof nextAsset !== 'boolean') {\n const nextAssets = assets.map((asset) => (asset === assetToEdit ? nextAsset : asset));\n setAssets(nextAssets);\n }\n\n setAssetToEdit(undefined);\n };\n\n const handleClose = () => {\n if (step === Steps.PendingAsset && assets.length > 0) {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.files',\n defaultMessage: 'Are you sure? You have some files that have not been uploaded yet.',\n })\n );\n\n if (confirm) {\n onClose();\n }\n } else {\n onClose();\n }\n };\n\n const handleRemoveAsset = (assetToRemove: File) => {\n const nextAssets = assets.filter((asset) => asset !== assetToRemove);\n setAssets(nextAssets);\n };\n\n return (\n <Modal.Root open={open} onOpenChange={handleClose}>\n {step === Steps.AddAsset && (\n <Modal.Content>\n <AddAssetStep\n onClose={onClose}\n onAddAsset={(assets: FileWithRawFile[]) =>\n handleAddToPendingAssets(assets as unknown as Asset[])\n }\n trackedLocation={trackedLocation}\n />\n </Modal.Content>\n )}\n\n {step === Steps.PendingAsset && (\n <Modal.Content>\n <PendingAssetStep\n onClose={handleClose}\n assets={assets}\n onEditAsset={setAssetToEdit}\n onRemoveAsset={handleRemoveAsset}\n onClickAddAsset={moveToAddAsset}\n onCancelUpload={handleCancelUpload}\n onUploadSucceed={handleUploadSuccess}\n initialAssetsToAdd={initialAssetsToAdd}\n addUploadedFiles={addUploadedFiles}\n folderId={folderId}\n trackedLocation={trackedLocation}\n />\n </Modal.Content>\n )}\n\n {assetToEdit && (\n <Modal.Content>\n <EditAssetContent\n onClose={handleAssetEditValidation}\n asset={assetToEdit as Asset}\n initialFolderId={folderId}\n canUpdate\n canCopyLink={false}\n canDownload={false}\n trackedLocation={trackedLocation}\n />\n </Modal.Content>\n )}\n </Modal.Root>\n );\n};\n"],"names":["Steps","AddAsset","PendingAsset","UploadAssetDialog","initialAssetsToAdd","folderId","onClose","addUploadedFiles","trackedLocation","open","validateAssetsTypes","_","cb","formatMessage","useIntl","step","setStep","React","useState","assets","setAssets","assetToEdit","setAssetToEdit","undefined","handleAddToPendingAssets","nextAssets","prevAssets","concat","moveToAddAsset","handleCancelUpload","file","filter","asset","rawFile","length","handleUploadSuccess","handleAssetEditValidation","nextAsset","map","handleClose","confirm","window","id","defaultMessage","handleRemoveAsset","assetToRemove","_jsxs","Modal","Root","onOpenChange","_jsx","Content","AddAssetStep","onAddAsset","PendingAssetStep","onEditAsset","onRemoveAsset","onClickAddAsset","onCancelUpload","onUploadSucceed","EditAssetContent","initialFolderId","canUpdate","canCopyLink","canDownload"],"mappings":"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"}
1
+ {"version":3,"file":"UploadAssetDialog.js","sources":["../../../../admin/src/components/UploadAssetDialog/UploadAssetDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { EditAssetContent } from '../EditAssetDialog/EditAssetContent';\n\nimport { AddAssetStep } from './AddAssetStep/AddAssetStep';\nimport { PendingAssetStep } from './PendingAssetStep/PendingAssetStep';\n\nimport type { File, RawFile } from '../../../../shared/contracts/files';\nimport type { AllowedFiles } from '../../utils';\n\nconst Steps = {\n AddAsset: 'AddAsset',\n PendingAsset: 'PendingAsset',\n};\n\ninterface FileWithRawFile extends Omit<File, 'id' | 'hash'> {\n id?: string;\n hash?: string;\n rawFile: RawFile;\n}\n\ntype FileWithoutIdHash = Omit<File, 'id' | 'hash'>;\n\nexport interface Asset extends Omit<File, 'folder'> {\n isLocal?: boolean;\n rawFile?: RawFile;\n folder?: File['folder'] & { id: number };\n}\n\nexport interface UploadAssetDialogProps {\n addUploadedFiles?: (files: Asset[] | File[]) => void;\n folderId?: string | number | null;\n initialAssetsToAdd?: Asset[];\n onClose: () => void;\n open: boolean;\n trackedLocation?: string;\n validateAssetsTypes?: (\n assets: FileWithoutIdHash[] | Asset[],\n cb: (assets?: AllowedFiles[], error?: string) => void\n ) => void;\n}\n\nexport const UploadAssetDialog = ({\n initialAssetsToAdd,\n folderId = null,\n onClose = () => {},\n addUploadedFiles,\n trackedLocation,\n open,\n validateAssetsTypes = (_, cb) => cb(),\n}: UploadAssetDialogProps) => {\n const { formatMessage } = useIntl();\n const [step, setStep] = React.useState(initialAssetsToAdd ? Steps.PendingAsset : Steps.AddAsset);\n const [assets, setAssets] = React.useState(initialAssetsToAdd || []);\n const [assetToEdit, setAssetToEdit] = React.useState<File | Asset | undefined>(undefined);\n\n const handleAddToPendingAssets = (nextAssets: Asset[]) => {\n validateAssetsTypes(nextAssets, () => {\n setAssets((prevAssets) => prevAssets.concat(nextAssets));\n setStep(Steps.PendingAsset);\n });\n };\n\n const moveToAddAsset = () => {\n setStep(Steps.AddAsset);\n };\n\n const handleCancelUpload = (file: RawFile) => {\n const nextAssets = assets.filter((asset) => asset.rawFile !== file);\n setAssets(nextAssets);\n\n // When there's no asset, transition to the AddAsset step\n if (nextAssets.length === 0) {\n moveToAddAsset();\n }\n };\n\n const handleUploadSuccess = (file: RawFile) => {\n const nextAssets = assets.filter((asset) => asset.rawFile !== file);\n setAssets(nextAssets);\n\n if (nextAssets.length === 0) {\n onClose();\n }\n };\n\n const handleAssetEditValidation = (nextAsset?: Asset | boolean | null) => {\n if (nextAsset && typeof nextAsset !== 'boolean') {\n const nextAssets = assets.map((asset) => (asset === assetToEdit ? nextAsset : asset));\n setAssets(nextAssets);\n }\n\n setAssetToEdit(undefined);\n };\n\n const handleClose = () => {\n if (step === Steps.PendingAsset && assets.length > 0) {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.files',\n defaultMessage: 'Are you sure? You have some files that have not been uploaded yet.',\n })\n );\n\n if (confirm) {\n onClose();\n }\n } else {\n onClose();\n }\n };\n\n const handleRemoveAsset = (assetToRemove: File) => {\n const nextAssets = assets.filter((asset) => asset !== assetToRemove);\n setAssets(nextAssets);\n };\n\n return (\n <Modal.Root open={open} onOpenChange={handleClose}>\n {step === Steps.AddAsset && (\n <Modal.Content>\n <AddAssetStep\n onClose={onClose}\n onAddAsset={(assets: FileWithRawFile[]) =>\n handleAddToPendingAssets(assets as unknown as Asset[])\n }\n trackedLocation={trackedLocation}\n />\n </Modal.Content>\n )}\n\n {step === Steps.PendingAsset && (\n <Modal.Content>\n <PendingAssetStep\n onClose={handleClose}\n assets={assets}\n onEditAsset={setAssetToEdit}\n onRemoveAsset={handleRemoveAsset}\n onClickAddAsset={moveToAddAsset}\n onCancelUpload={handleCancelUpload}\n onUploadSucceed={handleUploadSuccess}\n initialAssetsToAdd={initialAssetsToAdd}\n addUploadedFiles={addUploadedFiles}\n folderId={folderId}\n trackedLocation={trackedLocation}\n />\n </Modal.Content>\n )}\n\n {assetToEdit && (\n <Modal.Content>\n <EditAssetContent\n onClose={handleAssetEditValidation}\n asset={assetToEdit as Asset}\n initialFolderId={folderId}\n canUpdate\n canCopyLink={false}\n canDownload={false}\n trackedLocation={trackedLocation}\n />\n </Modal.Content>\n )}\n </Modal.Root>\n );\n};\n"],"names":["Steps","AddAsset","PendingAsset","UploadAssetDialog","initialAssetsToAdd","folderId","onClose","addUploadedFiles","trackedLocation","open","validateAssetsTypes","_","cb","formatMessage","useIntl","step","setStep","React","useState","assets","setAssets","assetToEdit","setAssetToEdit","undefined","handleAddToPendingAssets","nextAssets","prevAssets","concat","moveToAddAsset","handleCancelUpload","file","filter","asset","rawFile","length","handleUploadSuccess","handleAssetEditValidation","nextAsset","map","handleClose","confirm","window","id","defaultMessage","handleRemoveAsset","assetToRemove","_jsxs","Modal","Root","onOpenChange","_jsx","Content","AddAssetStep","onAddAsset","PendingAssetStep","onEditAsset","onRemoveAsset","onClickAddAsset","onCancelUpload","onUploadSucceed","EditAssetContent","initialFolderId","canUpdate","canCopyLink","canDownload"],"mappings":"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"}
@@ -4,14 +4,11 @@ require('byte-size');
4
4
  require('date-fns');
5
5
  var getTrad = require('./utils/getTrad.js');
6
6
  require('qs');
7
- require('./utils/typeFromMime.js');
8
7
  require('./utils/urlYupSchema.js');
9
8
 
10
- var AssetSource = /*#__PURE__*/ function(AssetSource) {
11
- AssetSource["Url"] = "url";
12
- AssetSource["Computer"] = "computer";
13
- return AssetSource;
14
- }({});
9
+ const ASSET_SOURCES = {
10
+ Computer: 'computer'
11
+ };
15
12
  const PERMISSIONS = {
16
13
  // This permission regards the main component (App) and is used to tell
17
14
  // If the plugin link should be displayed in the menu
@@ -190,7 +187,7 @@ const viewOptions = {
190
187
  LIST: 1
191
188
  };
192
189
 
193
- exports.AssetSource = AssetSource;
190
+ exports.ASSET_SOURCES = ASSET_SOURCES;
194
191
  exports.PERMISSIONS = PERMISSIONS;
195
192
  exports.localStorageKeys = localStorageKeys;
196
193
  exports.pageSizes = pageSizes;