@strapi/upload 5.57.0 → 5.59.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 (253) hide show
  1. package/dist/admin/components/MediaLibraryInput/AddAssetMenu.js +141 -0
  2. package/dist/admin/components/MediaLibraryInput/AddAssetMenu.js.map +1 -0
  3. package/dist/admin/components/MediaLibraryInput/AddAssetMenu.mjs +139 -0
  4. package/dist/admin/components/MediaLibraryInput/AddAssetMenu.mjs.map +1 -0
  5. package/dist/admin/components/MediaLibraryInput/AssetDropZone.js +129 -0
  6. package/dist/admin/components/MediaLibraryInput/AssetDropZone.js.map +1 -0
  7. package/dist/admin/components/MediaLibraryInput/AssetDropZone.mjs +127 -0
  8. package/dist/admin/components/MediaLibraryInput/AssetDropZone.mjs.map +1 -0
  9. package/dist/admin/components/MediaLibraryInput/AssetRow.js +144 -0
  10. package/dist/admin/components/MediaLibraryInput/AssetRow.js.map +1 -0
  11. package/dist/admin/components/MediaLibraryInput/AssetRow.mjs +142 -0
  12. package/dist/admin/components/MediaLibraryInput/AssetRow.mjs.map +1 -0
  13. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +397 -0
  14. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
  15. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +395 -0
  16. package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
  17. package/dist/admin/components/MediaLibraryInput/NoLibraryAccessDialog.js +45 -0
  18. package/dist/admin/components/MediaLibraryInput/NoLibraryAccessDialog.js.map +1 -0
  19. package/dist/admin/components/MediaLibraryInput/NoLibraryAccessDialog.mjs +43 -0
  20. package/dist/admin/components/MediaLibraryInput/NoLibraryAccessDialog.mjs.map +1 -0
  21. package/dist/admin/hooks/useAIMetadataAvailability.js +5 -1
  22. package/dist/admin/hooks/useAIMetadataAvailability.js.map +1 -1
  23. package/dist/admin/hooks/useAIMetadataAvailability.mjs +5 -1
  24. package/dist/admin/hooks/useAIMetadataAvailability.mjs.map +1 -1
  25. package/dist/admin/hooks/useAIMetadataEnabled.js +7 -1
  26. package/dist/admin/hooks/useAIMetadataEnabled.js.map +1 -1
  27. package/dist/admin/hooks/useAIMetadataEnabled.mjs +7 -1
  28. package/dist/admin/hooks/useAIMetadataEnabled.mjs.map +1 -1
  29. package/dist/admin/hooks/useMediaLibraryPermissions.js +4 -0
  30. package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
  31. package/dist/admin/hooks/useMediaLibraryPermissions.mjs +4 -0
  32. package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
  33. package/dist/admin/hooks/useTracking.js +5 -1
  34. package/dist/admin/hooks/useTracking.js.map +1 -1
  35. package/dist/admin/hooks/useTracking.mjs +5 -1
  36. package/dist/admin/hooks/useTracking.mjs.map +1 -1
  37. package/dist/admin/index.js +7 -2
  38. package/dist/admin/index.js.map +1 -1
  39. package/dist/admin/index.mjs +7 -2
  40. package/dist/admin/index.mjs.map +1 -1
  41. package/dist/admin/legacy/components/AssetCard/AssetCardBase.js.map +1 -1
  42. package/dist/admin/legacy/components/AssetCard/AssetCardBase.mjs.map +1 -1
  43. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js +9 -1
  44. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.js.map +1 -1
  45. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs +9 -1
  46. package/dist/admin/legacy/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
  47. package/dist/admin/legacy/components/AssetCard/VideoPreview.js +2 -1
  48. package/dist/admin/legacy/components/AssetCard/VideoPreview.js.map +1 -1
  49. package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs +2 -1
  50. package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs.map +1 -1
  51. package/dist/admin/legacy/components/AssetDialog/AssetDialog.js +3 -1
  52. package/dist/admin/legacy/components/AssetDialog/AssetDialog.js.map +1 -1
  53. package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs +3 -1
  54. package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs.map +1 -1
  55. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js +3 -1
  56. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
  57. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs +3 -1
  58. package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
  59. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.js.map +1 -1
  60. package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
  61. package/dist/admin/legacy/components/AssetGridList/AssetGridList.js +7 -6
  62. package/dist/admin/legacy/components/AssetGridList/AssetGridList.js.map +1 -1
  63. package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs +7 -6
  64. package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs.map +1 -1
  65. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js +2 -1
  66. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -1
  67. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +2 -1
  68. package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -1
  69. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js +2 -1
  70. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
  71. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs +2 -1
  72. package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
  73. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js +3 -1
  74. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js.map +1 -1
  75. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs +3 -1
  76. package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
  77. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js +20 -6
  78. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
  79. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +20 -6
  80. package/dist/admin/legacy/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
  81. package/dist/admin/legacy/components/FilterList/FilterList.js.map +1 -1
  82. package/dist/admin/legacy/components/FilterList/FilterList.mjs.map +1 -1
  83. package/dist/admin/legacy/components/FilterPopover/FilterPopover.js.map +1 -1
  84. package/dist/admin/legacy/components/FilterPopover/FilterPopover.mjs.map +1 -1
  85. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js +2 -1
  86. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js.map +1 -1
  87. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs +2 -1
  88. package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs.map +1 -1
  89. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js +4 -2
  90. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -1
  91. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs +4 -2
  92. package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -1
  93. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js +2 -1
  94. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
  95. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs +2 -1
  96. package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
  97. package/dist/admin/legacy/components/SelectTree/SelectTree.js +3 -1
  98. package/dist/admin/legacy/components/SelectTree/SelectTree.js.map +1 -1
  99. package/dist/admin/legacy/components/SelectTree/SelectTree.mjs +3 -1
  100. package/dist/admin/legacy/components/SelectTree/SelectTree.mjs.map +1 -1
  101. package/dist/admin/legacy/components/TableList/TableList.js +3 -1
  102. package/dist/admin/legacy/components/TableList/TableList.js.map +1 -1
  103. package/dist/admin/legacy/components/TableList/TableList.mjs +3 -1
  104. package/dist/admin/legacy/components/TableList/TableList.mjs.map +1 -1
  105. package/dist/admin/legacy/components/TableList/TableRows.js +3 -1
  106. package/dist/admin/legacy/components/TableList/TableRows.js.map +1 -1
  107. package/dist/admin/legacy/components/TableList/TableRows.mjs +3 -1
  108. package/dist/admin/legacy/components/TableList/TableRows.mjs.map +1 -1
  109. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js +3 -1
  110. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -1
  111. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs +3 -1
  112. package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -1
  113. package/dist/admin/legacy/hooks/useEditAsset.js +11 -6
  114. package/dist/admin/legacy/hooks/useEditAsset.js.map +1 -1
  115. package/dist/admin/legacy/hooks/useEditAsset.mjs +12 -7
  116. package/dist/admin/legacy/hooks/useEditAsset.mjs.map +1 -1
  117. package/dist/admin/legacy/hooks/useUpload.js +6 -4
  118. package/dist/admin/legacy/hooks/useUpload.js.map +1 -1
  119. package/dist/admin/legacy/hooks/useUpload.mjs +6 -4
  120. package/dist/admin/legacy/hooks/useUpload.mjs.map +1 -1
  121. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
  122. package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
  123. package/dist/admin/legacy/pages/App/components/BulkActions.js +2 -1
  124. package/dist/admin/legacy/pages/App/components/BulkActions.js.map +1 -1
  125. package/dist/admin/legacy/pages/App/components/BulkActions.mjs +2 -1
  126. package/dist/admin/legacy/pages/App/components/BulkActions.mjs.map +1 -1
  127. package/dist/admin/legacy/pages/App/components/BulkMoveButton.js +2 -1
  128. package/dist/admin/legacy/pages/App/components/BulkMoveButton.js.map +1 -1
  129. package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs +2 -1
  130. package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs.map +1 -1
  131. package/dist/admin/pages/Assets/components/AssetsGrid.js +2 -1
  132. package/dist/admin/pages/Assets/components/AssetsGrid.js.map +1 -1
  133. package/dist/admin/pages/Assets/components/AssetsGrid.mjs +2 -1
  134. package/dist/admin/pages/Assets/components/AssetsGrid.mjs.map +1 -1
  135. package/dist/admin/pages/Assets/components/AssetsTable.js +2 -1
  136. package/dist/admin/pages/Assets/components/AssetsTable.js.map +1 -1
  137. package/dist/admin/pages/Assets/components/AssetsTable.mjs +2 -1
  138. package/dist/admin/pages/Assets/components/AssetsTable.mjs.map +1 -1
  139. package/dist/admin/pages/Assets/components/BulkActionsBar.js +3 -1
  140. package/dist/admin/pages/Assets/components/BulkActionsBar.js.map +1 -1
  141. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs +3 -1
  142. package/dist/admin/pages/Assets/components/BulkActionsBar.mjs.map +1 -1
  143. package/dist/admin/pages/Assets/components/DateRangeCalendar.js +10 -7
  144. package/dist/admin/pages/Assets/components/DateRangeCalendar.js.map +1 -1
  145. package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs +10 -7
  146. package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs.map +1 -1
  147. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js +4 -2
  148. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -1
  149. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs +5 -3
  150. package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -1
  151. package/dist/admin/pages/Assets/components/FilterBadges.js +32 -3
  152. package/dist/admin/pages/Assets/components/FilterBadges.js.map +1 -1
  153. package/dist/admin/pages/Assets/components/FilterBadges.mjs +33 -4
  154. package/dist/admin/pages/Assets/components/FilterBadges.mjs.map +1 -1
  155. package/dist/admin/services/api.js +15 -5
  156. package/dist/admin/services/api.js.map +1 -1
  157. package/dist/admin/services/api.mjs +15 -5
  158. package/dist/admin/services/api.mjs.map +1 -1
  159. package/dist/admin/src/components/MediaLibraryInput/AddAssetMenu.d.ts +19 -0
  160. package/dist/admin/src/components/MediaLibraryInput/AssetDropZone.d.ts +13 -0
  161. package/dist/admin/src/components/MediaLibraryInput/AssetRow.d.ts +15 -0
  162. package/dist/admin/src/components/MediaLibraryInput/MediaLibraryInput.d.ts +26 -0
  163. package/dist/admin/src/components/MediaLibraryInput/NoLibraryAccessDialog.d.ts +10 -0
  164. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +1 -0
  165. package/dist/admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.d.ts +1 -1
  166. package/dist/admin/src/legacy/hooks/useEditAsset.d.ts +13 -22
  167. package/dist/admin/src/legacy/hooks/useUpload.d.ts +1 -1
  168. package/dist/admin/src/legacy/pages/App/components/BulkActions.d.ts +1 -1
  169. package/dist/admin/src/services/api.d.ts +6 -0
  170. package/dist/admin/src/utils/allowedMediaTypes.d.ts +16 -0
  171. package/dist/admin/translations/ca.json.js +3 -3
  172. package/dist/admin/translations/ca.json.mjs +3 -3
  173. package/dist/admin/translations/da.json.js +1 -1
  174. package/dist/admin/translations/da.json.mjs +1 -1
  175. package/dist/admin/translations/de.json.js +1 -1
  176. package/dist/admin/translations/de.json.mjs +1 -1
  177. package/dist/admin/translations/en.json.js +9 -0
  178. package/dist/admin/translations/en.json.js.map +1 -1
  179. package/dist/admin/translations/en.json.mjs +9 -0
  180. package/dist/admin/translations/en.json.mjs.map +1 -1
  181. package/dist/admin/translations/es.json.js +1 -1
  182. package/dist/admin/translations/es.json.mjs +1 -1
  183. package/dist/admin/translations/sk.json.js +2 -2
  184. package/dist/admin/translations/sk.json.mjs +2 -2
  185. package/dist/admin/translations/tr.json.js +2 -2
  186. package/dist/admin/translations/tr.json.mjs +2 -2
  187. package/dist/admin/translations/zh-Hans.json.js +1 -1
  188. package/dist/admin/translations/zh-Hans.json.mjs +1 -1
  189. package/dist/admin/translations/zh.json.js +2 -2
  190. package/dist/admin/translations/zh.json.mjs +2 -2
  191. package/dist/admin/utils/allowedMediaTypes.js +42 -0
  192. package/dist/admin/utils/allowedMediaTypes.js.map +1 -0
  193. package/dist/admin/utils/allowedMediaTypes.mjs +39 -0
  194. package/dist/admin/utils/allowedMediaTypes.mjs.map +1 -0
  195. package/dist/server/config.js +6 -0
  196. package/dist/server/config.js.map +1 -1
  197. package/dist/server/config.mjs +6 -0
  198. package/dist/server/config.mjs.map +1 -1
  199. package/dist/server/controllers/validation/admin/upload.js.map +1 -1
  200. package/dist/server/controllers/validation/admin/upload.mjs.map +1 -1
  201. package/dist/server/controllers/validation/content-api/upload.js.map +1 -1
  202. package/dist/server/controllers/validation/content-api/upload.mjs.map +1 -1
  203. package/dist/server/mcp/ambient-instance.js +7 -5
  204. package/dist/server/mcp/ambient-instance.js.map +1 -1
  205. package/dist/server/mcp/ambient-instance.mjs +7 -5
  206. package/dist/server/mcp/ambient-instance.mjs.map +1 -1
  207. package/dist/server/mcp/handlers/folder-handlers.js +4 -16
  208. package/dist/server/mcp/handlers/folder-handlers.js.map +1 -1
  209. package/dist/server/mcp/handlers/folder-handlers.mjs +5 -17
  210. package/dist/server/mcp/handlers/folder-handlers.mjs.map +1 -1
  211. package/dist/server/mcp/handlers/read-handlers.js +6 -14
  212. package/dist/server/mcp/handlers/read-handlers.js.map +1 -1
  213. package/dist/server/mcp/handlers/read-handlers.mjs +7 -15
  214. package/dist/server/mcp/handlers/read-handlers.mjs.map +1 -1
  215. package/dist/server/mcp/handlers/write-handlers.js +3 -13
  216. package/dist/server/mcp/handlers/write-handlers.js.map +1 -1
  217. package/dist/server/mcp/handlers/write-handlers.mjs +3 -13
  218. package/dist/server/mcp/handlers/write-handlers.mjs.map +1 -1
  219. package/dist/server/mcp/register-upload-mcp-tools.js +215 -195
  220. package/dist/server/mcp/register-upload-mcp-tools.js.map +1 -1
  221. package/dist/server/mcp/register-upload-mcp-tools.mjs +215 -195
  222. package/dist/server/mcp/register-upload-mcp-tools.mjs.map +1 -1
  223. package/dist/server/services/extensions/utils.js +1 -1
  224. package/dist/server/services/extensions/utils.js.map +1 -1
  225. package/dist/server/services/extensions/utils.mjs +1 -1
  226. package/dist/server/services/extensions/utils.mjs.map +1 -1
  227. package/dist/server/services/image-manipulation.js +33 -14
  228. package/dist/server/services/image-manipulation.js.map +1 -1
  229. package/dist/server/services/image-manipulation.mjs +33 -14
  230. package/dist/server/services/image-manipulation.mjs.map +1 -1
  231. package/dist/server/src/config.d.ts +3 -0
  232. package/dist/server/src/config.d.ts.map +1 -1
  233. package/dist/server/src/controllers/validation/admin/upload.d.ts.map +1 -1
  234. package/dist/server/src/controllers/validation/content-api/upload.d.ts.map +1 -1
  235. package/dist/server/src/index.d.ts +3 -0
  236. package/dist/server/src/index.d.ts.map +1 -1
  237. package/dist/server/src/mcp/ambient-instance.d.ts +7 -5
  238. package/dist/server/src/mcp/ambient-instance.d.ts.map +1 -1
  239. package/dist/server/src/mcp/handlers/folder-handlers.d.ts.map +1 -1
  240. package/dist/server/src/mcp/handlers/read-handlers.d.ts +3 -2
  241. package/dist/server/src/mcp/handlers/read-handlers.d.ts.map +1 -1
  242. package/dist/server/src/mcp/handlers/write-handlers.d.ts.map +1 -1
  243. package/dist/server/src/mcp/register-upload-mcp-tools.d.ts +9 -14
  244. package/dist/server/src/mcp/register-upload-mcp-tools.d.ts.map +1 -1
  245. package/dist/server/src/services/extensions/utils.d.ts +1 -1
  246. package/dist/server/src/services/image-manipulation.d.ts.map +1 -1
  247. package/dist/server/src/types.d.ts +1 -0
  248. package/dist/server/src/types.d.ts.map +1 -1
  249. package/dist/server/utils/mime-validation.js +1 -1
  250. package/dist/server/utils/mime-validation.js.map +1 -1
  251. package/dist/server/utils/mime-validation.mjs +1 -1
  252. package/dist/server/utils/mime-validation.mjs.map +1 -1
  253. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseStep.mjs","sources":["../../../../../../admin/src/legacy/components/AssetDialog/BrowseStep/BrowseStep.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { GridFour as GridIcon, List, Pencil, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { localStorageKeys, viewOptions } from '../../../../constants';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport {\n getBreadcrumbDataCM,\n toSingularTypes,\n getTrad,\n getAllowedFiles,\n BreadcrumbDataFolder,\n AllowedFiles,\n} from '../../../utils';\nimport { AssetGridList } from '../../AssetGridList/AssetGridList';\nimport { Breadcrumbs } from '../../Breadcrumbs/Breadcrumbs';\nimport { EmptyAssets } from '../../EmptyAssets/EmptyAssets';\nimport { FolderCard } from '../../FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderGridList } from '../../FolderGridList/FolderGridList';\nimport { SortPicker } from '../../SortPicker/SortPicker';\nimport { TableList, FolderRow, FileRow } from '../../TableList/TableList';\n\nimport { Filters, FilterStructure as ImportedFilterStructure } from './Filters';\nimport { PageSize } from './PageSize';\nimport { PaginationFooter } from './PaginationFooter/PaginationFooter';\nimport { SearchAsset } from './SearchAsset/SearchAsset';\nimport { isSelectable } from './utils/isSelectable';\n\nimport type { File, Query, FilterCondition } from '../../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../../AssetCard/AssetCard';\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\nexport interface FolderWithType extends Omit<Folder, 'children' | 'files'> {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n children?: Folder['children'] & {\n count: number;\n };\n files?: Folder['files'] & {\n count: number;\n };\n}\n\nexport interface FileWithType extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface BrowseStepProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n canCreate: boolean;\n canRead: boolean;\n folders?: FolderWithType[];\n multiple?: boolean;\n onAddAsset: () => void;\n onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;\n onChangeFolder: (id: number, path?: string) => void;\n onChangePage: (page: number) => void;\n onChangePageSize: (value: number) => void;\n onChangeSort: (value: Query['sort'] | string) => void;\n onChangeSearch: (_q?: Query['_q'] | null) => void;\n onEditAsset: ((asset: FileWithType) => void) | null;\n onEditFolder: ((folder: FolderRow) => void) | null;\n onSelectAsset: (element: FileRow | FolderRow) => void;\n onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n queryObject: Query;\n pagination: { pageCount: number };\n selectedAssets: FileWithType[] | FolderWithType[];\n}\n\nexport const BrowseStep = ({\n allowedTypes = [],\n assets: rawAssets,\n canCreate,\n canRead,\n folders = [],\n multiple = false,\n onAddAsset,\n onChangeFilters,\n onChangePage,\n onChangePageSize,\n onChangeSearch,\n onChangeSort,\n onChangeFolder,\n onEditAsset,\n onEditFolder,\n onSelectAllAsset,\n onSelectAsset,\n pagination,\n queryObject,\n selectedAssets,\n}: BrowseStepProps) => {\n const { formatMessage } = useIntl();\n const [view, setView] = usePersistentState(localStorageKeys.modalView, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const { data: currentFolder, isLoading: isCurrentFolderLoading } = useFolder(\n queryObject?.folder as number | null | undefined,\n {\n enabled: canRead && !!queryObject?.folder,\n }\n );\n\n const singularTypes = toSingularTypes(allowedTypes);\n const assets = rawAssets.map((asset) => ({\n ...asset,\n isSelectable: isSelectable(singularTypes, asset?.mime),\n type: 'asset',\n }));\n\n const breadcrumbs = !isCurrentFolderLoading\n ? getBreadcrumbDataCM(currentFolder as BreadcrumbDataFolder)\n : undefined;\n\n const allAllowedAsset = getAllowedFiles(allowedTypes, assets as AllowedFiles[]);\n const areAllAssetSelected =\n allAllowedAsset.length > 0 &&\n selectedAssets.length > 0 &&\n allAllowedAsset.every(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const hasSomeAssetSelected = allAllowedAsset.some(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const isSearching = !!queryObject?._q;\n const isFiltering = !!queryObject?.filters?.$and?.length && queryObject.filters.$and.length > 0;\n const isSearchingOrFiltering = isSearching || isFiltering;\n const assetCount = assets.length;\n const folderCount = folders.length;\n const handleClickFolderCard = (...args: Parameters<typeof onChangeFolder>) => {\n // Search query will always fetch the same results\n // we remove it here to allow navigating in a folder and see the result of this navigation\n onChangeSearch('');\n onChangeFolder(...args);\n };\n\n return (\n <Box>\n {onSelectAllAsset && (\n <Box paddingBottom={4}>\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n {(assetCount > 0 || folderCount > 0 || isFiltering) && (\n <Flex gap={2} wrap=\"wrap\">\n {multiple && isGridView && (\n <Flex\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n height=\"3.2rem\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all assets',\n })}\n checked={\n !areAllAssetSelected && hasSomeAssetSelected\n ? 'indeterminate'\n : areAllAssetSelected\n }\n onCheckedChange={onSelectAllAsset}\n />\n </Flex>\n )}\n {isGridView && <SortPicker onChangeSort={onChangeSort} value={queryObject?.sort} />}\n <Filters\n appliedFilters={queryObject?.filters?.$and as ImportedFilterStructure[]}\n onChangeFilters={onChangeFilters}\n />\n </Flex>\n )}\n\n {(assetCount > 0 || folderCount > 0 || isSearching) && (\n <Flex marginLeft=\"auto\" shrink={0} gap={2}>\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: 'view-switch.list',\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: 'view-switch.grid',\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchAsset onChangeSearch={onChangeSearch} queryValue={queryObject._q || ''} />\n </Flex>\n )}\n </Flex>\n </Box>\n )}\n\n {canRead && breadcrumbs?.length && breadcrumbs.length > 0 && currentFolder && (\n <Box paddingTop={3}>\n <Breadcrumbs\n onChangeFolder={onChangeFolder}\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs as BreadcrumbDataFolder[]}\n currentFolderId={queryObject?.folder as number | undefined}\n />\n </Box>\n )}\n\n {assetCount === 0 && folderCount === 0 && (\n <Box paddingBottom={6}>\n <EmptyAssets\n size=\"S\"\n count={6}\n action={\n canCreate &&\n !isFiltering &&\n !isSearching && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={\n // eslint-disable-next-line no-nested-ternary\n isSearchingOrFiltering\n ? formatMessage({\n id: getTrad('list.assets-empty.title-withSearch'),\n defaultMessage: 'There are no assets with the applied filters',\n })\n : canCreate && !isSearching\n ? formatMessage({\n id: getTrad('list.assets.empty'),\n defaultMessage: 'Upload your first assets...',\n })\n : formatMessage({\n id: getTrad('list.assets.empty.no-permissions'),\n defaultMessage: 'The asset list is empty',\n })\n }\n />\n </Box>\n )}\n\n {!isGridView && (folderCount > 0 || assetCount > 0) && (\n <TableList\n allowedTypes={allowedTypes}\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={!areAllAssetSelected && hasSomeAssetSelected}\n isFolderSelectionAllowed={false}\n onChangeSort={onChangeSort}\n onChangeFolder={handleClickFolderCard}\n onEditAsset={onEditAsset}\n onEditFolder={onEditFolder}\n onSelectOne={onSelectAsset}\n onSelectAll={onSelectAllAsset!}\n rows={\n [...folders.map((folder) => ({ ...folder, type: 'folder' })), ...assets] as\n | FolderRow[]\n | FileRow[]\n }\n selected={selectedAssets}\n shouldDisableBulkSelect={!multiple}\n sortQuery={queryObject?.sort ?? ''}\n />\n )}\n\n {isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n (((isSearchingOrFiltering && assetCount > 0) || !isSearchingOrFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n return (\n <Grid.Item\n col={3}\n m={4}\n s={6}\n xs={12}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n cardActions={\n onEditFolder && (\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => onEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n )\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n >\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n ellipsis\n textColor=\"neutral800\"\n >\n {folder.name}\n {/* VisuallyHidden dash here allows to separate folder title and count informations\n for voice reading structure purpose */}\n <VisuallyHidden>-</VisuallyHidden>\n </TypographyMaxWidth>\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, one {# folder} other {# folders}}, {filesCount, plural, one {# asset} other {# assets}}',\n },\n {\n folderCount: folder.children?.count,\n filesCount: folder.files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <Box paddingTop={6}>\n <AssetGridList\n allowedTypes={allowedTypes}\n size=\"S\"\n assets={assets}\n onSelectAsset={onSelectAsset}\n selectedAssets={selectedAssets as FileWithType[]}\n onEditAsset={onEditAsset!}\n title={\n ((!isSearchingOrFiltering || (isSearchingOrFiltering && folderCount > 0)) &&\n queryObject.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: assetCount }\n )) ||\n ''\n }\n />\n </Box>\n )}\n </>\n )}\n\n {pagination.pageCount > 0 && (\n <Flex\n justifyContent=\"space-between\"\n paddingTop={4}\n position=\"relative\"\n zIndex={1}\n overflow=\"hidden\"\n >\n <PageSize\n pageSize={queryObject.pageSize! as number}\n onChangePageSize={onChangePageSize}\n />\n <PaginationFooter\n activePage={queryObject.page as number}\n onChangePage={onChangePage}\n pagination={pagination}\n />\n </Flex>\n )}\n </Box>\n );\n};\n"],"names":["TypographyMaxWidth","styled","Typography","ActionContainer","Box","theme","colors","neutral500","BrowseStep","allowedTypes","assets","rawAssets","canCreate","canRead","folders","multiple","onAddAsset","onChangeFilters","onChangePage","onChangePageSize","onChangeSearch","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAllAsset","onSelectAsset","pagination","queryObject","selectedAssets","formatMessage","useIntl","view","setView","usePersistentState","localStorageKeys","modalView","viewOptions","GRID","isGridView","data","currentFolder","isLoading","isCurrentFolderLoading","useFolder","folder","enabled","singularTypes","toSingularTypes","map","asset","isSelectable","mime","type","breadcrumbs","getBreadcrumbDataCM","undefined","allAllowedAsset","getAllowedFiles","areAllAssetSelected","length","every","findIndex","currAsset","id","hasSomeAssetSelected","some","isSearching","_q","isFiltering","filters","$and","isSearchingOrFiltering","assetCount","folderCount","handleClickFolderCard","args","_jsxs","_jsx","paddingBottom","Flex","justifyContent","alignItems","gap","wrap","paddingLeft","paddingRight","background","hasRadius","borderColor","height","Checkbox","aria-label","getTrad","defaultMessage","checked","onCheckedChange","SortPicker","value","sort","Filters","appliedFilters","marginLeft","shrink","paddingTop","IconButton","label","onClick","LIST","List","GridIcon","SearchAsset","queryValue","Breadcrumbs","currentFolderId","EmptyAssets","size","count","action","Button","variant","startIcon","Plus","content","TableList","indeterminate","isFolderSelectionAllowed","onSelectOne","onSelectAll","rows","selected","shouldDisableBulkSelect","sortQuery","_Fragment","FolderGridList","title","Grid","Item","col","m","s","xs","direction","FolderCard","ariaLabel","name","path","cardActions","withTooltip","Pencil","FolderCardBody","FolderCardBodyAction","tag","maxWidth","fontWeight","ellipsis","textColor","VisuallyHidden","children","filesCount","files","Divider","AssetGridList","page","pageCount","position","zIndex","overflow","PageSize","pageSize","PaginationFooter","activePage"],"mappings":"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"}
1
+ {"version":3,"file":"BrowseStep.mjs","sources":["../../../../../../admin/src/legacy/components/AssetDialog/BrowseStep/BrowseStep.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { GridFour as GridIcon, List, Pencil, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { localStorageKeys, viewOptions } from '../../../../constants';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport {\n getBreadcrumbDataCM,\n toSingularTypes,\n getTrad,\n getAllowedFiles,\n BreadcrumbDataFolder,\n AllowedFiles,\n} from '../../../utils';\nimport { AssetGridList } from '../../AssetGridList/AssetGridList';\nimport { Breadcrumbs } from '../../Breadcrumbs/Breadcrumbs';\nimport { EmptyAssets } from '../../EmptyAssets/EmptyAssets';\nimport { FolderCard } from '../../FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderGridList } from '../../FolderGridList/FolderGridList';\nimport { SortPicker } from '../../SortPicker/SortPicker';\nimport { TableList, FolderRow, FileRow } from '../../TableList/TableList';\n\nimport { Filters, FilterStructure as ImportedFilterStructure } from './Filters';\nimport { PageSize } from './PageSize';\nimport { PaginationFooter } from './PaginationFooter/PaginationFooter';\nimport { SearchAsset } from './SearchAsset/SearchAsset';\nimport { isSelectable } from './utils/isSelectable';\n\nimport type { File, Query, FilterCondition } from '../../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../../AssetCard/AssetCard';\n\nconst EMPTY_ALLOWED_TYPES: NonNullable<BrowseStepProps['allowedTypes']> = [];\nconst EMPTY_FOLDERS: NonNullable<BrowseStepProps['folders']> = [];\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n string | NumberKeyedObject | Record<string, string | NumberKeyedObject> | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n string[] | string | { $contains: string[] };\n }\n | undefined;\n};\n\nexport interface FolderWithType extends Omit<Folder, 'children' | 'files'> {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n children?: Folder['children'] & {\n count: number;\n };\n files?: Folder['files'] & {\n count: number;\n };\n}\n\nexport interface FileWithType extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface BrowseStepProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n canCreate: boolean;\n canRead: boolean;\n folders?: FolderWithType[];\n multiple?: boolean;\n onAddAsset: () => void;\n onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;\n onChangeFolder: (id: number, path?: string) => void;\n onChangePage: (page: number) => void;\n onChangePageSize: (value: number) => void;\n onChangeSort: (value: Query['sort'] | string) => void;\n onChangeSearch: (_q?: Query['_q'] | null) => void;\n onEditAsset: ((asset: FileWithType) => void) | null;\n onEditFolder: ((folder: FolderRow) => void) | null;\n onSelectAsset: (element: FileRow | FolderRow) => void;\n onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n queryObject: Query;\n pagination: { pageCount: number };\n selectedAssets: FileWithType[] | FolderWithType[];\n}\n\nexport const BrowseStep = ({\n allowedTypes = EMPTY_ALLOWED_TYPES,\n assets: rawAssets,\n canCreate,\n canRead,\n folders = EMPTY_FOLDERS,\n multiple = false,\n onAddAsset,\n onChangeFilters,\n onChangePage,\n onChangePageSize,\n onChangeSearch,\n onChangeSort,\n onChangeFolder,\n onEditAsset,\n onEditFolder,\n onSelectAllAsset,\n onSelectAsset,\n pagination,\n queryObject,\n selectedAssets,\n}: BrowseStepProps) => {\n const { formatMessage } = useIntl();\n const [view, setView] = usePersistentState(localStorageKeys.modalView, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const { data: currentFolder, isLoading: isCurrentFolderLoading } = useFolder(\n queryObject?.folder as number | null | undefined,\n {\n enabled: canRead && !!queryObject?.folder,\n }\n );\n\n const singularTypes = toSingularTypes(allowedTypes);\n const assets = rawAssets.map((asset) => ({\n ...asset,\n isSelectable: isSelectable(singularTypes, asset?.mime),\n type: 'asset',\n }));\n\n const breadcrumbs = !isCurrentFolderLoading\n ? getBreadcrumbDataCM(currentFolder as BreadcrumbDataFolder)\n : undefined;\n\n const allAllowedAsset = getAllowedFiles(allowedTypes, assets as AllowedFiles[]);\n const areAllAssetSelected =\n allAllowedAsset.length > 0 &&\n selectedAssets.length > 0 &&\n allAllowedAsset.every(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const hasSomeAssetSelected = allAllowedAsset.some(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const isSearching = !!queryObject?._q;\n const isFiltering = !!queryObject?.filters?.$and?.length && queryObject.filters.$and.length > 0;\n const isSearchingOrFiltering = isSearching || isFiltering;\n const assetCount = assets.length;\n const folderCount = folders.length;\n const handleClickFolderCard = (...args: Parameters<typeof onChangeFolder>) => {\n // Search query will always fetch the same results\n // we remove it here to allow navigating in a folder and see the result of this navigation\n onChangeSearch('');\n onChangeFolder(...args);\n };\n\n return (\n <Box>\n {onSelectAllAsset && (\n <Box paddingBottom={4}>\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n {(assetCount > 0 || folderCount > 0 || isFiltering) && (\n <Flex gap={2} wrap=\"wrap\">\n {multiple && isGridView && (\n <Flex\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n height=\"3.2rem\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all assets',\n })}\n checked={\n !areAllAssetSelected && hasSomeAssetSelected\n ? 'indeterminate'\n : areAllAssetSelected\n }\n onCheckedChange={onSelectAllAsset}\n />\n </Flex>\n )}\n {isGridView && <SortPicker onChangeSort={onChangeSort} value={queryObject?.sort} />}\n <Filters\n appliedFilters={queryObject?.filters?.$and as ImportedFilterStructure[]}\n onChangeFilters={onChangeFilters}\n />\n </Flex>\n )}\n\n {(assetCount > 0 || folderCount > 0 || isSearching) && (\n <Flex marginLeft=\"auto\" shrink={0} gap={2}>\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: 'view-switch.list',\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: 'view-switch.grid',\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchAsset onChangeSearch={onChangeSearch} queryValue={queryObject._q || ''} />\n </Flex>\n )}\n </Flex>\n </Box>\n )}\n\n {canRead && breadcrumbs?.length && breadcrumbs.length > 0 && currentFolder && (\n <Box paddingTop={3}>\n <Breadcrumbs\n onChangeFolder={onChangeFolder}\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs as BreadcrumbDataFolder[]}\n currentFolderId={queryObject?.folder as number | undefined}\n />\n </Box>\n )}\n\n {assetCount === 0 && folderCount === 0 && (\n <Box paddingBottom={6}>\n <EmptyAssets\n size=\"S\"\n count={6}\n action={\n canCreate &&\n !isFiltering &&\n !isSearching && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={\n // eslint-disable-next-line no-nested-ternary\n isSearchingOrFiltering\n ? formatMessage({\n id: getTrad('list.assets-empty.title-withSearch'),\n defaultMessage: 'There are no assets with the applied filters',\n })\n : canCreate && !isSearching\n ? formatMessage({\n id: getTrad('list.assets.empty'),\n defaultMessage: 'Upload your first assets...',\n })\n : formatMessage({\n id: getTrad('list.assets.empty.no-permissions'),\n defaultMessage: 'The asset list is empty',\n })\n }\n />\n </Box>\n )}\n\n {!isGridView && (folderCount > 0 || assetCount > 0) && (\n <TableList\n allowedTypes={allowedTypes}\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={!areAllAssetSelected && hasSomeAssetSelected}\n isFolderSelectionAllowed={false}\n onChangeSort={onChangeSort}\n onChangeFolder={handleClickFolderCard}\n onEditAsset={onEditAsset}\n onEditFolder={onEditFolder}\n onSelectOne={onSelectAsset}\n onSelectAll={onSelectAllAsset!}\n rows={\n [...folders.map((folder) => ({ ...folder, type: 'folder' })), ...assets] as\n FolderRow[] | FileRow[]\n }\n selected={selectedAssets}\n shouldDisableBulkSelect={!multiple}\n sortQuery={queryObject?.sort ?? ''}\n />\n )}\n\n {isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n (((isSearchingOrFiltering && assetCount > 0) || !isSearchingOrFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n return (\n <Grid.Item\n col={3}\n m={4}\n s={6}\n xs={12}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n cardActions={\n onEditFolder && (\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => onEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n )\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n >\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n ellipsis\n textColor=\"neutral800\"\n >\n {folder.name}\n {/* VisuallyHidden dash here allows to separate folder title and count informations\n for voice reading structure purpose */}\n <VisuallyHidden>-</VisuallyHidden>\n </TypographyMaxWidth>\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, one {# folder} other {# folders}}, {filesCount, plural, one {# asset} other {# assets}}',\n },\n {\n folderCount: folder.children?.count,\n filesCount: folder.files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <Box paddingTop={6}>\n <AssetGridList\n allowedTypes={allowedTypes}\n size=\"S\"\n assets={assets}\n onSelectAsset={onSelectAsset}\n selectedAssets={selectedAssets as FileWithType[]}\n onEditAsset={onEditAsset!}\n title={\n ((!isSearchingOrFiltering || (isSearchingOrFiltering && folderCount > 0)) &&\n queryObject.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: assetCount }\n )) ||\n ''\n }\n />\n </Box>\n )}\n </>\n )}\n\n {pagination.pageCount > 0 && (\n <Flex\n justifyContent=\"space-between\"\n paddingTop={4}\n position=\"relative\"\n zIndex={1}\n overflow=\"hidden\"\n >\n <PageSize\n pageSize={queryObject.pageSize! as number}\n onChangePageSize={onChangePageSize}\n />\n <PaginationFooter\n activePage={queryObject.page as number}\n onChangePage={onChangePage}\n pagination={pagination}\n />\n </Flex>\n )}\n </Box>\n );\n};\n"],"names":["EMPTY_ALLOWED_TYPES","EMPTY_FOLDERS","TypographyMaxWidth","styled","Typography","ActionContainer","Box","theme","colors","neutral500","BrowseStep","allowedTypes","assets","rawAssets","canCreate","canRead","folders","multiple","onAddAsset","onChangeFilters","onChangePage","onChangePageSize","onChangeSearch","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAllAsset","onSelectAsset","pagination","queryObject","selectedAssets","formatMessage","useIntl","view","setView","usePersistentState","localStorageKeys","modalView","viewOptions","GRID","isGridView","data","currentFolder","isLoading","isCurrentFolderLoading","useFolder","folder","enabled","singularTypes","toSingularTypes","map","asset","isSelectable","mime","type","breadcrumbs","getBreadcrumbDataCM","undefined","allAllowedAsset","getAllowedFiles","areAllAssetSelected","length","every","findIndex","currAsset","id","hasSomeAssetSelected","some","isSearching","_q","isFiltering","filters","$and","isSearchingOrFiltering","assetCount","folderCount","handleClickFolderCard","args","_jsxs","_jsx","paddingBottom","Flex","justifyContent","alignItems","gap","wrap","paddingLeft","paddingRight","background","hasRadius","borderColor","height","Checkbox","aria-label","getTrad","defaultMessage","checked","onCheckedChange","SortPicker","value","sort","Filters","appliedFilters","marginLeft","shrink","paddingTop","IconButton","label","onClick","LIST","List","GridIcon","SearchAsset","queryValue","Breadcrumbs","currentFolderId","EmptyAssets","size","count","action","Button","variant","startIcon","Plus","content","TableList","indeterminate","isFolderSelectionAllowed","onSelectOne","onSelectAll","rows","selected","shouldDisableBulkSelect","sortQuery","_Fragment","FolderGridList","title","Grid","Item","col","m","s","xs","direction","FolderCard","ariaLabel","name","path","cardActions","withTooltip","Pencil","FolderCardBody","FolderCardBodyAction","tag","maxWidth","fontWeight","ellipsis","textColor","VisuallyHidden","children","filesCount","files","Divider","AssetGridList","page","pageCount","position","zIndex","overflow","PageSize","pageSize","PaginationFooter","activePage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../../../../admin/src/legacy/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4CaA,OAAAA,GAAU,CAAC,EAAEC,cAAc,EAAEC,eAAe,EAAgB,GAAA;AACvE,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACvC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,eAAA,CAACC,qBAAQC,IAAI,EAAA;QAACR,IAAAA,EAAMA,IAAAA;QAAMS,YAAAA,EAAcR,OAAAA;;AACtC,0BAAAS,cAAA,CAACH,qBAAQI,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAD,cAAA,CAACE,mBAAAA,EAAAA;oBAAOC,OAAAA,EAAQ,UAAA;AAAWC,oBAAAA,SAAAA,gBAAWJ,cAAA,CAACK,YAAAA,EAAAA,EAAAA,CAAAA;oBAAWC,IAAAA,EAAK,GAAA;8BACpDZ,aAAAA,CAAc;wBAAEa,EAAAA,EAAI,mBAAA;wBAAqBC,cAAAA,EAAgB;AAAU,qBAAA;;;0BAGxER,cAAA,CAACS,2BAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EAAU,IAAMnB,OAAAA,CAAQ,CAACoB,IAAAA,GAAS,CAACA,IAAAA,CAAAA;gBACnCC,gBAAAA,EAAkBA,iCAAAA;gBAClBC,OAAAA,EAASzB,cAAAA;gBACT0B,QAAAA,EAAUzB;;AAGXD,YAAAA,cAAAA,kBACCY,cAAA,CAACe,qBAAAA,EAAAA;gBACC3B,cAAAA,EAAgBA,cAAAA;gBAChB4B,aAAAA,EAAeJ,iCAAAA;gBACfK,cAAAA,EAAgB5B;;;;AAK1B;;;;"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../../../../admin/src/legacy/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n string | NumberKeyedObject | Record<string, string | NumberKeyedObject> | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n string[] | string | { $contains: string[] };\n }\n | undefined;\n};\n\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuCaA,OAAAA,GAAU,CAAC,EAAEC,cAAc,EAAEC,eAAe,EAAgB,GAAA;AACvE,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACvC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,eAAA,CAACC,qBAAQC,IAAI,EAAA;QAACR,IAAAA,EAAMA,IAAAA;QAAMS,YAAAA,EAAcR,OAAAA;;AACtC,0BAAAS,cAAA,CAACH,qBAAQI,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAD,cAAA,CAACE,mBAAAA,EAAAA;oBAAOC,OAAAA,EAAQ,UAAA;AAAWC,oBAAAA,SAAAA,gBAAWJ,cAAA,CAACK,YAAAA,EAAAA,EAAAA,CAAAA;oBAAWC,IAAAA,EAAK,GAAA;8BACpDZ,aAAAA,CAAc;wBAAEa,EAAAA,EAAI,mBAAA;wBAAqBC,cAAAA,EAAgB;AAAU,qBAAA;;;0BAGxER,cAAA,CAACS,2BAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EAAU,IAAMnB,OAAAA,CAAQ,CAACoB,IAAAA,GAAS,CAACA,IAAAA,CAAAA;gBACnCC,gBAAAA,EAAkBA,iCAAAA;gBAClBC,OAAAA,EAASzB,cAAAA;gBACT0B,QAAAA,EAAUzB;;AAGXD,YAAAA,cAAAA,kBACCY,cAAA,CAACe,qBAAAA,EAAAA;gBACC3B,cAAAA,EAAgBA,cAAAA;gBAChB4B,aAAAA,EAAeJ,iCAAAA;gBACfK,cAAAA,EAAgB5B;;;;AAK1B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.mjs","sources":["../../../../../../admin/src/legacy/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;MA4CaA,OAAAA,GAAU,CAAC,EAAEC,cAAc,EAAEC,eAAe,EAAgB,GAAA;AACvE,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACvC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,IAAA,CAACC,QAAQC,IAAI,EAAA;QAACR,IAAAA,EAAMA,IAAAA;QAAMS,YAAAA,EAAcR,OAAAA;;AACtC,0BAAAS,GAAA,CAACH,QAAQI,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAD,GAAA,CAACE,MAAAA,EAAAA;oBAAOC,OAAAA,EAAQ,UAAA;AAAWC,oBAAAA,SAAAA,gBAAWJ,GAAA,CAACK,MAAAA,EAAAA,EAAAA,CAAAA;oBAAWC,IAAAA,EAAK,GAAA;8BACpDZ,aAAAA,CAAc;wBAAEa,EAAAA,EAAI,mBAAA;wBAAqBC,cAAAA,EAAgB;AAAU,qBAAA;;;0BAGxER,GAAA,CAACS,aAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EAAU,IAAMnB,OAAAA,CAAQ,CAACoB,IAAAA,GAAS,CAACA,IAAAA,CAAAA;gBACnCC,gBAAAA,EAAkBA,gBAAAA;gBAClBC,OAAAA,EAASzB,cAAAA;gBACT0B,QAAAA,EAAUzB;;AAGXD,YAAAA,cAAAA,kBACCY,GAAA,CAACe,UAAAA,EAAAA;gBACC3B,cAAAA,EAAgBA,cAAAA;gBAChB4B,aAAAA,EAAeJ,gBAAAA;gBACfK,cAAAA,EAAgB5B;;;;AAK1B;;;;"}
1
+ {"version":3,"file":"Filters.mjs","sources":["../../../../../../admin/src/legacy/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n string | NumberKeyedObject | Record<string, string | NumberKeyedObject> | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n string[] | string | { $contains: string[] };\n }\n | undefined;\n};\n\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;MAuCaA,OAAAA,GAAU,CAAC,EAAEC,cAAc,EAAEC,eAAe,EAAgB,GAAA;AACvE,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACvC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,IAAA,CAACC,QAAQC,IAAI,EAAA;QAACR,IAAAA,EAAMA,IAAAA;QAAMS,YAAAA,EAAcR,OAAAA;;AACtC,0BAAAS,GAAA,CAACH,QAAQI,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAD,GAAA,CAACE,MAAAA,EAAAA;oBAAOC,OAAAA,EAAQ,UAAA;AAAWC,oBAAAA,SAAAA,gBAAWJ,GAAA,CAACK,MAAAA,EAAAA,EAAAA,CAAAA;oBAAWC,IAAAA,EAAK,GAAA;8BACpDZ,aAAAA,CAAc;wBAAEa,EAAAA,EAAI,mBAAA;wBAAqBC,cAAAA,EAAgB;AAAU,qBAAA;;;0BAGxER,GAAA,CAACS,aAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EAAU,IAAMnB,OAAAA,CAAQ,CAACoB,IAAAA,GAAS,CAACA,IAAAA,CAAAA;gBACnCC,gBAAAA,EAAkBA,gBAAAA;gBAClBC,OAAAA,EAASzB,cAAAA;gBACT0B,QAAAA,EAAUzB;;AAGXD,YAAAA,cAAAA,kBACCY,GAAA,CAACe,UAAAA,EAAAA;gBACC3B,cAAAA,EAAgBA,cAAAA;gBAChB4B,aAAAA,EAAeJ,gBAAAA;gBACfK,cAAAA,EAAgB5B;;;;AAK1B;;;;"}
@@ -7,17 +7,18 @@ var AssetCard = require('../AssetCard/AssetCard.js');
7
7
  var Draggable = require('./Draggable.js');
8
8
 
9
9
  // TODO: find a better naming convention for the file that was an index file before
10
+ const DEFAULT_ALLOWED_TYPES = [
11
+ 'files',
12
+ 'images',
13
+ 'videos',
14
+ 'audios'
15
+ ];
10
16
  const DraggableAssetCard = styledComponents.styled(AssetCard.AssetCard)`
11
17
  && {
12
18
  cursor: inherit;
13
19
  }
14
20
  `;
15
- const AssetGridList = ({ allowedTypes = [
16
- 'files',
17
- 'images',
18
- 'videos',
19
- 'audios'
20
- ], assets, onEditAsset, onSelectAsset, selectedAssets, size = 'M', onReorderAsset, title = null })=>{
21
+ const AssetGridList = ({ allowedTypes = DEFAULT_ALLOWED_TYPES, assets, onEditAsset, onSelectAsset, selectedAssets, size = 'M', onReorderAsset, title = null })=>{
21
22
  return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.KeyboardNavigable, {
22
23
  tagName: "article",
23
24
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"AssetGridList.js","sources":["../../../../../admin/src/legacy/components/AssetGridList/AssetGridList.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Box, Grid, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { AssetCard } from '../AssetCard/AssetCard';\n\nimport { Draggable } from './Draggable';\n\nimport type { File } from '../../../../../shared/contracts/files';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\n\nconst DraggableAssetCard = styled(AssetCard)`\n && {\n cursor: inherit;\n }\n`;\n\nexport interface AssetGridListProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n onEditAsset?: (asset: File) => void;\n onSelectAsset: (asset: File) => void;\n selectedAssets: File[];\n size?: 'S' | 'M';\n onReorderAsset?: (fromIndex: number, toIndex: number) => void;\n title?: string | null;\n}\n\nexport const AssetGridList = ({\n allowedTypes = ['files', 'images', 'videos', 'audios'],\n assets,\n onEditAsset,\n onSelectAsset,\n selectedAssets,\n size = 'M',\n onReorderAsset,\n title = null,\n}: AssetGridListProps) => {\n return (\n <KeyboardNavigable tagName=\"article\">\n {title && (\n <Box paddingTop={2} paddingBottom={2}>\n <Typography tag=\"h2\" variant=\"delta\" fontWeight=\"semiBold\">\n {title}\n </Typography>\n </Box>\n )}\n\n <Grid.Root gap={4}>\n {assets.map((asset, index) => {\n const isSelected = !!selectedAssets.find((currentAsset) => currentAsset.id === asset.id);\n\n if (onReorderAsset) {\n return (\n <Grid.Item key={asset.id} col={3} height=\"100%\">\n <Draggable index={index} moveItem={onReorderAsset} id={asset.id}>\n <DraggableAssetCard\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Draggable>\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item\n col={3}\n m={4}\n s={6}\n xs={12}\n key={asset.id}\n height=\"100%\"\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <AssetCard\n key={asset.id}\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n );\n};\n"],"names":["DraggableAssetCard","styled","AssetCard","AssetGridList","allowedTypes","assets","onEditAsset","onSelectAsset","selectedAssets","size","onReorderAsset","title","_jsxs","KeyboardNavigable","tagName","_jsx","Box","paddingTop","paddingBottom","Typography","tag","variant","fontWeight","Grid","Root","gap","map","asset","index","isSelected","find","currentAsset","id","Item","col","height","Draggable","moveItem","onEdit","undefined","onSelect","m","s","xs","direction","alignItems"],"mappings":"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"}
1
+ {"version":3,"file":"AssetGridList.js","sources":["../../../../../admin/src/legacy/components/AssetGridList/AssetGridList.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Box, Grid, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { AssetCard } from '../AssetCard/AssetCard';\n\nimport { Draggable } from './Draggable';\n\nimport type { File } from '../../../../../shared/contracts/files';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\n\nconst DEFAULT_ALLOWED_TYPES: NonNullable<AssetGridListProps['allowedTypes']> = [\n 'files',\n 'images',\n 'videos',\n 'audios',\n];\n\nconst DraggableAssetCard = styled(AssetCard)`\n && {\n cursor: inherit;\n }\n`;\n\nexport interface AssetGridListProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n onEditAsset?: (asset: File) => void;\n onSelectAsset: (asset: File) => void;\n selectedAssets: File[];\n size?: 'S' | 'M';\n onReorderAsset?: (fromIndex: number, toIndex: number) => void;\n title?: string | null;\n}\n\nexport const AssetGridList = ({\n allowedTypes = DEFAULT_ALLOWED_TYPES,\n assets,\n onEditAsset,\n onSelectAsset,\n selectedAssets,\n size = 'M',\n onReorderAsset,\n title = null,\n}: AssetGridListProps) => {\n return (\n <KeyboardNavigable tagName=\"article\">\n {title && (\n <Box paddingTop={2} paddingBottom={2}>\n <Typography tag=\"h2\" variant=\"delta\" fontWeight=\"semiBold\">\n {title}\n </Typography>\n </Box>\n )}\n\n <Grid.Root gap={4}>\n {assets.map((asset, index) => {\n const isSelected = !!selectedAssets.find((currentAsset) => currentAsset.id === asset.id);\n\n if (onReorderAsset) {\n return (\n <Grid.Item key={asset.id} col={3} height=\"100%\">\n <Draggable index={index} moveItem={onReorderAsset} id={asset.id}>\n <DraggableAssetCard\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Draggable>\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item\n col={3}\n m={4}\n s={6}\n xs={12}\n key={asset.id}\n height=\"100%\"\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <AssetCard\n key={asset.id}\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n );\n};\n"],"names":["DEFAULT_ALLOWED_TYPES","DraggableAssetCard","styled","AssetCard","AssetGridList","allowedTypes","assets","onEditAsset","onSelectAsset","selectedAssets","size","onReorderAsset","title","_jsxs","KeyboardNavigable","tagName","_jsx","Box","paddingTop","paddingBottom","Typography","tag","variant","fontWeight","Grid","Root","gap","map","asset","index","isSelected","find","currentAsset","id","Item","col","height","Draggable","moveItem","onEdit","undefined","onSelect","m","s","xs","direction","alignItems"],"mappings":"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"}
@@ -5,17 +5,18 @@ import { AssetCard } from '../AssetCard/AssetCard.mjs';
5
5
  import { Draggable } from './Draggable.mjs';
6
6
 
7
7
  // TODO: find a better naming convention for the file that was an index file before
8
+ const DEFAULT_ALLOWED_TYPES = [
9
+ 'files',
10
+ 'images',
11
+ 'videos',
12
+ 'audios'
13
+ ];
8
14
  const DraggableAssetCard = styled(AssetCard)`
9
15
  && {
10
16
  cursor: inherit;
11
17
  }
12
18
  `;
13
- const AssetGridList = ({ allowedTypes = [
14
- 'files',
15
- 'images',
16
- 'videos',
17
- 'audios'
18
- ], assets, onEditAsset, onSelectAsset, selectedAssets, size = 'M', onReorderAsset, title = null })=>{
19
+ const AssetGridList = ({ allowedTypes = DEFAULT_ALLOWED_TYPES, assets, onEditAsset, onSelectAsset, selectedAssets, size = 'M', onReorderAsset, title = null })=>{
19
20
  return /*#__PURE__*/ jsxs(KeyboardNavigable, {
20
21
  tagName: "article",
21
22
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"AssetGridList.mjs","sources":["../../../../../admin/src/legacy/components/AssetGridList/AssetGridList.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Box, Grid, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { AssetCard } from '../AssetCard/AssetCard';\n\nimport { Draggable } from './Draggable';\n\nimport type { File } from '../../../../../shared/contracts/files';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\n\nconst DraggableAssetCard = styled(AssetCard)`\n && {\n cursor: inherit;\n }\n`;\n\nexport interface AssetGridListProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n onEditAsset?: (asset: File) => void;\n onSelectAsset: (asset: File) => void;\n selectedAssets: File[];\n size?: 'S' | 'M';\n onReorderAsset?: (fromIndex: number, toIndex: number) => void;\n title?: string | null;\n}\n\nexport const AssetGridList = ({\n allowedTypes = ['files', 'images', 'videos', 'audios'],\n assets,\n onEditAsset,\n onSelectAsset,\n selectedAssets,\n size = 'M',\n onReorderAsset,\n title = null,\n}: AssetGridListProps) => {\n return (\n <KeyboardNavigable tagName=\"article\">\n {title && (\n <Box paddingTop={2} paddingBottom={2}>\n <Typography tag=\"h2\" variant=\"delta\" fontWeight=\"semiBold\">\n {title}\n </Typography>\n </Box>\n )}\n\n <Grid.Root gap={4}>\n {assets.map((asset, index) => {\n const isSelected = !!selectedAssets.find((currentAsset) => currentAsset.id === asset.id);\n\n if (onReorderAsset) {\n return (\n <Grid.Item key={asset.id} col={3} height=\"100%\">\n <Draggable index={index} moveItem={onReorderAsset} id={asset.id}>\n <DraggableAssetCard\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Draggable>\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item\n col={3}\n m={4}\n s={6}\n xs={12}\n key={asset.id}\n height=\"100%\"\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <AssetCard\n key={asset.id}\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n );\n};\n"],"names":["DraggableAssetCard","styled","AssetCard","AssetGridList","allowedTypes","assets","onEditAsset","onSelectAsset","selectedAssets","size","onReorderAsset","title","_jsxs","KeyboardNavigable","tagName","_jsx","Box","paddingTop","paddingBottom","Typography","tag","variant","fontWeight","Grid","Root","gap","map","asset","index","isSelected","find","currentAsset","id","Item","col","height","Draggable","moveItem","onEdit","undefined","onSelect","m","s","xs","direction","alignItems"],"mappings":"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"}
1
+ {"version":3,"file":"AssetGridList.mjs","sources":["../../../../../admin/src/legacy/components/AssetGridList/AssetGridList.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Box, Grid, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { AssetCard } from '../AssetCard/AssetCard';\n\nimport { Draggable } from './Draggable';\n\nimport type { File } from '../../../../../shared/contracts/files';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\n\nconst DEFAULT_ALLOWED_TYPES: NonNullable<AssetGridListProps['allowedTypes']> = [\n 'files',\n 'images',\n 'videos',\n 'audios',\n];\n\nconst DraggableAssetCard = styled(AssetCard)`\n && {\n cursor: inherit;\n }\n`;\n\nexport interface AssetGridListProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n onEditAsset?: (asset: File) => void;\n onSelectAsset: (asset: File) => void;\n selectedAssets: File[];\n size?: 'S' | 'M';\n onReorderAsset?: (fromIndex: number, toIndex: number) => void;\n title?: string | null;\n}\n\nexport const AssetGridList = ({\n allowedTypes = DEFAULT_ALLOWED_TYPES,\n assets,\n onEditAsset,\n onSelectAsset,\n selectedAssets,\n size = 'M',\n onReorderAsset,\n title = null,\n}: AssetGridListProps) => {\n return (\n <KeyboardNavigable tagName=\"article\">\n {title && (\n <Box paddingTop={2} paddingBottom={2}>\n <Typography tag=\"h2\" variant=\"delta\" fontWeight=\"semiBold\">\n {title}\n </Typography>\n </Box>\n )}\n\n <Grid.Root gap={4}>\n {assets.map((asset, index) => {\n const isSelected = !!selectedAssets.find((currentAsset) => currentAsset.id === asset.id);\n\n if (onReorderAsset) {\n return (\n <Grid.Item key={asset.id} col={3} height=\"100%\">\n <Draggable index={index} moveItem={onReorderAsset} id={asset.id}>\n <DraggableAssetCard\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Draggable>\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item\n col={3}\n m={4}\n s={6}\n xs={12}\n key={asset.id}\n height=\"100%\"\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <AssetCard\n key={asset.id}\n allowedTypes={allowedTypes}\n asset={asset}\n isSelected={isSelected}\n onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n onSelect={() => onSelectAsset(asset)}\n size={size}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n );\n};\n"],"names":["DEFAULT_ALLOWED_TYPES","DraggableAssetCard","styled","AssetCard","AssetGridList","allowedTypes","assets","onEditAsset","onSelectAsset","selectedAssets","size","onReorderAsset","title","_jsxs","KeyboardNavigable","tagName","_jsx","Box","paddingTop","paddingBottom","Typography","tag","variant","fontWeight","Grid","Root","gap","map","asset","index","isSelected","find","currentAsset","id","Item","col","height","Draggable","moveItem","onEdit","undefined","onSelect","m","s","xs","direction","alignItems"],"mappings":";;;;;;AAAA;AAWA,MAAMA,qBAAAA,GAAyE;AAC7E,IAAA,OAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,kBAAAA,GAAqBC,MAAAA,CAAOC,SAAAA,CAAU;;;;AAI5C,CAAC;AAaM,MAAMC,gBAAgB,CAAC,EAC5BC,eAAeL,qBAAqB,EACpCM,MAAM,EACNC,WAAW,EACXC,aAAa,EACbC,cAAc,EACdC,IAAAA,GAAO,GAAG,EACVC,cAAc,EACdC,KAAAA,GAAQ,IAAI,EACO,GAAA;AACnB,IAAA,qBACEC,IAAA,CAACC,iBAAAA,EAAAA;QAAkBC,OAAAA,EAAQ,SAAA;;AACxBH,YAAAA,KAAAA,kBACCI,GAAA,CAACC,GAAAA,EAAAA;gBAAIC,UAAAA,EAAY,CAAA;gBAAGC,aAAAA,EAAe,CAAA;AACjC,gBAAA,QAAA,gBAAAH,GAAA,CAACI,UAAAA,EAAAA;oBAAWC,GAAAA,EAAI,IAAA;oBAAKC,OAAAA,EAAQ,OAAA;oBAAQC,UAAAA,EAAW,UAAA;AAC7CX,oBAAAA,QAAAA,EAAAA;;;AAKP,0BAAAI,GAAA,CAACQ,KAAKC,IAAI,EAAA;gBAACC,GAAAA,EAAK,CAAA;0BACbpB,MAAAA,CAAOqB,GAAG,CAAC,CAACC,KAAAA,EAAOC,KAAAA,GAAAA;AAClB,oBAAA,MAAMC,UAAAA,GAAa,CAAC,CAACrB,cAAAA,CAAesB,IAAI,CAAC,CAACC,YAAAA,GAAiBA,YAAAA,CAAaC,EAAE,KAAKL,KAAAA,CAAMK,EAAE,CAAA;AAEvF,oBAAA,IAAItB,cAAAA,EAAgB;wBAClB,qBACEK,GAAA,CAACQ,KAAKU,IAAI,EAAA;4BAAgBC,GAAAA,EAAK,CAAA;4BAAGC,MAAAA,EAAO,MAAA;AACvC,4BAAA,QAAA,gBAAApB,GAAA,CAACqB,SAAAA,EAAAA;gCAAUR,KAAAA,EAAOA,KAAAA;gCAAOS,QAAAA,EAAU3B,cAAAA;AAAgBsB,gCAAAA,EAAAA,EAAIL,MAAMK,EAAE;AAC7D,gCAAA,QAAA,gBAAAjB,GAAA,CAACf,kBAAAA,EAAAA;oCACCI,YAAAA,EAAcA,YAAAA;oCACduB,KAAAA,EAAOA,KAAAA;oCACPE,UAAAA,EAAYA,UAAAA;oCACZS,MAAAA,EAAQhC,WAAAA,GAAc,IAAMA,WAAAA,CAAYqB,KAAAA,CAAAA,GAASY,SAAAA;AACjDC,oCAAAA,QAAAA,EAAU,IAAMjC,aAAAA,CAAcoB,KAAAA,CAAAA;oCAC9BlB,IAAAA,EAAMA;;;AARIkB,yBAAAA,EAAAA,KAAAA,CAAMK,EAAE,CAAA;AAa5B,oBAAA;oBAEA,qBACEjB,GAAA,CAACQ,KAAKU,IAAI,EAAA;wBACRC,GAAAA,EAAK,CAAA;wBACLO,CAAAA,EAAG,CAAA;wBACHC,CAAAA,EAAG,CAAA;wBACHC,EAAAA,EAAI,EAAA;wBAEJR,MAAAA,EAAO,MAAA;wBACPS,SAAAA,EAAU,QAAA;wBACVC,UAAAA,EAAW,SAAA;AAEX,wBAAA,QAAA,gBAAA9B,GAAA,CAACb,SAAAA,EAAAA;4BAECE,YAAAA,EAAcA,YAAAA;4BACduB,KAAAA,EAAOA,KAAAA;4BACPE,UAAAA,EAAYA,UAAAA;4BACZS,MAAAA,EAAQhC,WAAAA,GAAc,IAAMA,WAAAA,CAAYqB,KAAAA,CAAAA,GAASY,SAAAA;AACjDC,4BAAAA,QAAAA,EAAU,IAAMjC,aAAAA,CAAcoB,KAAAA,CAAAA;4BAC9BlB,IAAAA,EAAMA;AANDkB,yBAAAA,EAAAA,KAAAA,CAAMK,EAAE;AANVL,qBAAAA,EAAAA,KAAAA,CAAMK,EAAE,CAAA;AAgBnB,gBAAA,CAAA;;;;AAIR;;;;"}
@@ -34,7 +34,8 @@ function _interopNamespace(e) {
34
34
 
35
35
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
36
36
 
37
- const CrumbSimpleMenuAsync = ({ parentsToOmit = [], currentFolderId, onChangeFolder })=>{
37
+ const EMPTY_PARENTS_TO_OMIT = [];
38
+ const CrumbSimpleMenuAsync = ({ parentsToOmit = EMPTY_PARENTS_TO_OMIT, currentFolderId, onChangeFolder })=>{
38
39
  const [shouldFetch, setShouldFetch] = React__namespace.useState(false);
39
40
  const { data, isLoading } = useFolderStructure.useFolderStructure({
40
41
  enabled: shouldFetch
@@ -1 +1 @@
1
- {"version":3,"file":"CrumbSimpleMenuAsync.js","sources":["../../../../../admin/src/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport { CrumbSimpleMenu, Loader, MenuItem } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getFolderParents, getFolderURL, getTrad } from '../../utils';\n\ninterface CrumbSimpleMenuAsyncProps {\n parentsToOmit?: number[];\n currentFolderId?: number;\n onChangeFolder?: (id: number, path?: string) => void;\n}\n\nexport const CrumbSimpleMenuAsync = ({\n parentsToOmit = [],\n currentFolderId,\n onChangeFolder,\n}: CrumbSimpleMenuAsyncProps) => {\n const [shouldFetch, setShouldFetch] = React.useState(false);\n const { data, isLoading } = useFolderStructure({ enabled: shouldFetch });\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const [{ query }] = useQueryParams();\n const { formatMessage } = useIntl();\n\n const allAscendants = data && getFolderParents(data, currentFolderId!);\n const filteredAscendants =\n allAscendants &&\n allAscendants.filter(\n (ascendant) =>\n typeof ascendant.id === 'number' &&\n !parentsToOmit.includes(ascendant.id) &&\n ascendant.id !== null\n );\n\n return (\n <CrumbSimpleMenu\n onOpen={() => setShouldFetch(true)}\n onClose={() => setShouldFetch(false)}\n aria-label={formatMessage({\n id: getTrad('header.breadcrumbs.menu.label'),\n defaultMessage: 'Get more ascendants folders',\n })}\n label=\"...\"\n >\n {isLoading && (\n <MenuItem>\n <Loader small>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </MenuItem>\n )}\n {filteredAscendants &&\n filteredAscendants.map((ascendant) => {\n if (onChangeFolder) {\n return (\n <MenuItem\n tag=\"button\"\n type=\"button\"\n onClick={() => onChangeFolder(Number(ascendant.id), ascendant.path)}\n key={ascendant.id}\n >\n {ascendant.label}\n </MenuItem>\n );\n }\n\n const url = getFolderURL(pathname, query, {\n folder: String(ascendant.id),\n folderPath: ascendant?.path,\n });\n\n return (\n <MenuItem key={ascendant.id} onClick={() => navigate(url)}>\n {ascendant.label}\n </MenuItem>\n );\n })}\n </CrumbSimpleMenu>\n );\n};\n"],"names":["CrumbSimpleMenuAsync","parentsToOmit","currentFolderId","onChangeFolder","shouldFetch","setShouldFetch","React","useState","data","isLoading","useFolderStructure","enabled","pathname","useLocation","navigate","useNavigate","query","useQueryParams","formatMessage","useIntl","allAscendants","getFolderParents","filteredAscendants","filter","ascendant","id","includes","_jsxs","CrumbSimpleMenu","onOpen","onClose","aria-label","getTrad","defaultMessage","label","_jsx","MenuItem","Loader","small","map","tag","type","onClick","Number","path","url","getFolderURL","folder","String","folderPath"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAMA,oBAAAA,GAAuB,CAAC,EACnCC,aAAAA,GAAgB,EAAE,EAClBC,eAAe,EACfC,cAAc,EACY,GAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;AACrD,IAAA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGC,qCAAAA,CAAmB;QAAEC,OAAAA,EAASP;AAAY,KAAA,CAAA;IACtE,MAAM,EAAEQ,QAAQ,EAAE,GAAGC,0BAAAA,EAAAA;AACrB,IAAA,MAAMC,QAAAA,GAAWC,0BAAAA,EAAAA;AACjB,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,MAAMC,aAAAA,GAAgBZ,IAAAA,IAAQa,iCAAAA,CAAiBb,IAAAA,EAAMN,eAAAA,CAAAA;IACrD,MAAMoB,kBAAAA,GACJF,iBACAA,aAAAA,CAAcG,MAAM,CAClB,CAACC,SAAAA,GACC,OAAOA,SAAAA,CAAUC,EAAE,KAAK,QAAA,IACxB,CAACxB,cAAcyB,QAAQ,CAACF,UAAUC,EAAE,CAAA,IACpCD,SAAAA,CAAUC,EAAE,KAAK,IAAA,CAAA;AAGvB,IAAA,qBACEE,eAAA,CAACC,4BAAAA,EAAAA;AACCC,QAAAA,MAAAA,EAAQ,IAAMxB,cAAAA,CAAe,IAAA,CAAA;AAC7ByB,QAAAA,OAAAA,EAAS,IAAMzB,cAAAA,CAAe,KAAA,CAAA;AAC9B0B,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;AACxBO,YAAAA,EAAAA,EAAIO,eAAAA,CAAQ,+BAAA,CAAA;YACZC,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACAC,KAAAA,EAAM,KAAA;;AAELzB,YAAAA,SAAAA,kBACC0B,cAAA,CAACC,qBAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAD,cAAA,CAACE,mBAAAA,EAAAA;oBAAOC,KAAK,EAAA,IAAA;8BACVpB,aAAAA,CAAc;AACbO,wBAAAA,EAAAA,EAAIO,eAAAA,CAAQ,mBAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;YAILX,kBAAAA,IACCA,kBAAAA,CAAmBiB,GAAG,CAAC,CAACf,SAAAA,GAAAA;AACtB,gBAAA,IAAIrB,cAAAA,EAAgB;AAClB,oBAAA,qBACEgC,cAAA,CAACC,qBAAAA,EAAAA;wBACCI,GAAAA,EAAI,QAAA;wBACJC,IAAAA,EAAK,QAAA;AACLC,wBAAAA,OAAAA,EAAS,IAAMvC,cAAAA,CAAewC,MAAAA,CAAOnB,UAAUC,EAAE,CAAA,EAAGD,UAAUoB,IAAI,CAAA;AAGjEpB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUU;AAFNV,qBAAAA,EAAAA,SAAAA,CAAUC,EAAE,CAAA;AAKvB,gBAAA;gBAEA,MAAMoB,GAAAA,GAAMC,yBAAAA,CAAalC,QAAAA,EAAUI,KAAAA,EAAO;oBACxC+B,MAAAA,EAAQC,MAAAA,CAAOxB,UAAUC,EAAE,CAAA;AAC3BwB,oBAAAA,UAAAA,EAAYzB,SAAAA,EAAWoB;AACzB,iBAAA,CAAA;AAEA,gBAAA,qBACET,cAAA,CAACC,qBAAAA,EAAAA;AAA4BM,oBAAAA,OAAAA,EAAS,IAAM5B,QAAAA,CAAS+B,GAAAA,CAAAA;AAClDrB,oBAAAA,QAAAA,EAAAA,SAAAA,CAAUU;AADEV,iBAAAA,EAAAA,SAAAA,CAAUC,EAAE,CAAA;AAI/B,YAAA,CAAA;;;AAGR;;;;"}
1
+ {"version":3,"file":"CrumbSimpleMenuAsync.js","sources":["../../../../../admin/src/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport { CrumbSimpleMenu, Loader, MenuItem } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getFolderParents, getFolderURL, getTrad } from '../../utils';\n\nconst EMPTY_PARENTS_TO_OMIT: NonNullable<CrumbSimpleMenuAsyncProps['parentsToOmit']> = [];\n\ninterface CrumbSimpleMenuAsyncProps {\n parentsToOmit?: number[];\n currentFolderId?: number;\n onChangeFolder?: (id: number, path?: string) => void;\n}\n\nexport const CrumbSimpleMenuAsync = ({\n parentsToOmit = EMPTY_PARENTS_TO_OMIT,\n currentFolderId,\n onChangeFolder,\n}: CrumbSimpleMenuAsyncProps) => {\n const [shouldFetch, setShouldFetch] = React.useState(false);\n const { data, isLoading } = useFolderStructure({ enabled: shouldFetch });\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const [{ query }] = useQueryParams();\n const { formatMessage } = useIntl();\n\n const allAscendants = data && getFolderParents(data, currentFolderId!);\n const filteredAscendants =\n allAscendants &&\n allAscendants.filter(\n (ascendant) =>\n typeof ascendant.id === 'number' &&\n !parentsToOmit.includes(ascendant.id) &&\n ascendant.id !== null\n );\n\n return (\n <CrumbSimpleMenu\n onOpen={() => setShouldFetch(true)}\n onClose={() => setShouldFetch(false)}\n aria-label={formatMessage({\n id: getTrad('header.breadcrumbs.menu.label'),\n defaultMessage: 'Get more ascendants folders',\n })}\n label=\"...\"\n >\n {isLoading && (\n <MenuItem>\n <Loader small>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </MenuItem>\n )}\n {filteredAscendants &&\n filteredAscendants.map((ascendant) => {\n if (onChangeFolder) {\n return (\n <MenuItem\n tag=\"button\"\n type=\"button\"\n onClick={() => onChangeFolder(Number(ascendant.id), ascendant.path)}\n key={ascendant.id}\n >\n {ascendant.label}\n </MenuItem>\n );\n }\n\n const url = getFolderURL(pathname, query, {\n folder: String(ascendant.id),\n folderPath: ascendant?.path,\n });\n\n return (\n <MenuItem key={ascendant.id} onClick={() => navigate(url)}>\n {ascendant.label}\n </MenuItem>\n );\n })}\n </CrumbSimpleMenu>\n );\n};\n"],"names":["EMPTY_PARENTS_TO_OMIT","CrumbSimpleMenuAsync","parentsToOmit","currentFolderId","onChangeFolder","shouldFetch","setShouldFetch","React","useState","data","isLoading","useFolderStructure","enabled","pathname","useLocation","navigate","useNavigate","query","useQueryParams","formatMessage","useIntl","allAscendants","getFolderParents","filteredAscendants","filter","ascendant","id","includes","_jsxs","CrumbSimpleMenu","onOpen","onClose","aria-label","getTrad","defaultMessage","label","_jsx","MenuItem","Loader","small","map","tag","type","onClick","Number","path","url","getFolderURL","folder","String","folderPath"],"mappings":"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"}
@@ -12,7 +12,8 @@ import { getFolderURL } from '../../utils/getFolderURL.mjs';
12
12
  import { getFolderParents } from '../../utils/getFolderParents.mjs';
13
13
  import '../../utils/urlYupSchema.mjs';
14
14
 
15
- const CrumbSimpleMenuAsync = ({ parentsToOmit = [], currentFolderId, onChangeFolder })=>{
15
+ const EMPTY_PARENTS_TO_OMIT = [];
16
+ const CrumbSimpleMenuAsync = ({ parentsToOmit = EMPTY_PARENTS_TO_OMIT, currentFolderId, onChangeFolder })=>{
16
17
  const [shouldFetch, setShouldFetch] = React.useState(false);
17
18
  const { data, isLoading } = useFolderStructure({
18
19
  enabled: shouldFetch
@@ -1 +1 @@
1
- {"version":3,"file":"CrumbSimpleMenuAsync.mjs","sources":["../../../../../admin/src/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport { CrumbSimpleMenu, Loader, MenuItem } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getFolderParents, getFolderURL, getTrad } from '../../utils';\n\ninterface CrumbSimpleMenuAsyncProps {\n parentsToOmit?: number[];\n currentFolderId?: number;\n onChangeFolder?: (id: number, path?: string) => void;\n}\n\nexport const CrumbSimpleMenuAsync = ({\n parentsToOmit = [],\n currentFolderId,\n onChangeFolder,\n}: CrumbSimpleMenuAsyncProps) => {\n const [shouldFetch, setShouldFetch] = React.useState(false);\n const { data, isLoading } = useFolderStructure({ enabled: shouldFetch });\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const [{ query }] = useQueryParams();\n const { formatMessage } = useIntl();\n\n const allAscendants = data && getFolderParents(data, currentFolderId!);\n const filteredAscendants =\n allAscendants &&\n allAscendants.filter(\n (ascendant) =>\n typeof ascendant.id === 'number' &&\n !parentsToOmit.includes(ascendant.id) &&\n ascendant.id !== null\n );\n\n return (\n <CrumbSimpleMenu\n onOpen={() => setShouldFetch(true)}\n onClose={() => setShouldFetch(false)}\n aria-label={formatMessage({\n id: getTrad('header.breadcrumbs.menu.label'),\n defaultMessage: 'Get more ascendants folders',\n })}\n label=\"...\"\n >\n {isLoading && (\n <MenuItem>\n <Loader small>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </MenuItem>\n )}\n {filteredAscendants &&\n filteredAscendants.map((ascendant) => {\n if (onChangeFolder) {\n return (\n <MenuItem\n tag=\"button\"\n type=\"button\"\n onClick={() => onChangeFolder(Number(ascendant.id), ascendant.path)}\n key={ascendant.id}\n >\n {ascendant.label}\n </MenuItem>\n );\n }\n\n const url = getFolderURL(pathname, query, {\n folder: String(ascendant.id),\n folderPath: ascendant?.path,\n });\n\n return (\n <MenuItem key={ascendant.id} onClick={() => navigate(url)}>\n {ascendant.label}\n </MenuItem>\n );\n })}\n </CrumbSimpleMenu>\n );\n};\n"],"names":["CrumbSimpleMenuAsync","parentsToOmit","currentFolderId","onChangeFolder","shouldFetch","setShouldFetch","React","useState","data","isLoading","useFolderStructure","enabled","pathname","useLocation","navigate","useNavigate","query","useQueryParams","formatMessage","useIntl","allAscendants","getFolderParents","filteredAscendants","filter","ascendant","id","includes","_jsxs","CrumbSimpleMenu","onOpen","onClose","aria-label","getTrad","defaultMessage","label","_jsx","MenuItem","Loader","small","map","tag","type","onClick","Number","path","url","getFolderURL","folder","String","folderPath"],"mappings":";;;;;;;;;;;;;;AAgBO,MAAMA,oBAAAA,GAAuB,CAAC,EACnCC,aAAAA,GAAgB,EAAE,EAClBC,eAAe,EACfC,cAAc,EACY,GAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;AACrD,IAAA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGC,kBAAAA,CAAmB;QAAEC,OAAAA,EAASP;AAAY,KAAA,CAAA;IACtE,MAAM,EAAEQ,QAAQ,EAAE,GAAGC,WAAAA,EAAAA;AACrB,IAAA,MAAMC,QAAAA,GAAWC,WAAAA,EAAAA;AACjB,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,MAAMC,aAAAA,GAAgBZ,IAAAA,IAAQa,gBAAAA,CAAiBb,IAAAA,EAAMN,eAAAA,CAAAA;IACrD,MAAMoB,kBAAAA,GACJF,iBACAA,aAAAA,CAAcG,MAAM,CAClB,CAACC,SAAAA,GACC,OAAOA,SAAAA,CAAUC,EAAE,KAAK,QAAA,IACxB,CAACxB,cAAcyB,QAAQ,CAACF,UAAUC,EAAE,CAAA,IACpCD,SAAAA,CAAUC,EAAE,KAAK,IAAA,CAAA;AAGvB,IAAA,qBACEE,IAAA,CAACC,eAAAA,EAAAA;AACCC,QAAAA,MAAAA,EAAQ,IAAMxB,cAAAA,CAAe,IAAA,CAAA;AAC7ByB,QAAAA,OAAAA,EAAS,IAAMzB,cAAAA,CAAe,KAAA,CAAA;AAC9B0B,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;AACxBO,YAAAA,EAAAA,EAAIO,OAAAA,CAAQ,+BAAA,CAAA;YACZC,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACAC,KAAAA,EAAM,KAAA;;AAELzB,YAAAA,SAAAA,kBACC0B,GAAA,CAACC,QAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAD,GAAA,CAACE,MAAAA,EAAAA;oBAAOC,KAAK,EAAA,IAAA;8BACVpB,aAAAA,CAAc;AACbO,wBAAAA,EAAAA,EAAIO,OAAAA,CAAQ,mBAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;YAILX,kBAAAA,IACCA,kBAAAA,CAAmBiB,GAAG,CAAC,CAACf,SAAAA,GAAAA;AACtB,gBAAA,IAAIrB,cAAAA,EAAgB;AAClB,oBAAA,qBACEgC,GAAA,CAACC,QAAAA,EAAAA;wBACCI,GAAAA,EAAI,QAAA;wBACJC,IAAAA,EAAK,QAAA;AACLC,wBAAAA,OAAAA,EAAS,IAAMvC,cAAAA,CAAewC,MAAAA,CAAOnB,UAAUC,EAAE,CAAA,EAAGD,UAAUoB,IAAI,CAAA;AAGjEpB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUU;AAFNV,qBAAAA,EAAAA,SAAAA,CAAUC,EAAE,CAAA;AAKvB,gBAAA;gBAEA,MAAMoB,GAAAA,GAAMC,YAAAA,CAAalC,QAAAA,EAAUI,KAAAA,EAAO;oBACxC+B,MAAAA,EAAQC,MAAAA,CAAOxB,UAAUC,EAAE,CAAA;AAC3BwB,oBAAAA,UAAAA,EAAYzB,SAAAA,EAAWoB;AACzB,iBAAA,CAAA;AAEA,gBAAA,qBACET,GAAA,CAACC,QAAAA,EAAAA;AAA4BM,oBAAAA,OAAAA,EAAS,IAAM5B,QAAAA,CAAS+B,GAAAA,CAAAA;AAClDrB,oBAAAA,QAAAA,EAAAA,SAAAA,CAAUU;AADEV,iBAAAA,EAAAA,SAAAA,CAAUC,EAAE,CAAA;AAI/B,YAAA,CAAA;;;AAGR;;;;"}
1
+ {"version":3,"file":"CrumbSimpleMenuAsync.mjs","sources":["../../../../../admin/src/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport { CrumbSimpleMenu, Loader, MenuItem } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getFolderParents, getFolderURL, getTrad } from '../../utils';\n\nconst EMPTY_PARENTS_TO_OMIT: NonNullable<CrumbSimpleMenuAsyncProps['parentsToOmit']> = [];\n\ninterface CrumbSimpleMenuAsyncProps {\n parentsToOmit?: number[];\n currentFolderId?: number;\n onChangeFolder?: (id: number, path?: string) => void;\n}\n\nexport const CrumbSimpleMenuAsync = ({\n parentsToOmit = EMPTY_PARENTS_TO_OMIT,\n currentFolderId,\n onChangeFolder,\n}: CrumbSimpleMenuAsyncProps) => {\n const [shouldFetch, setShouldFetch] = React.useState(false);\n const { data, isLoading } = useFolderStructure({ enabled: shouldFetch });\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const [{ query }] = useQueryParams();\n const { formatMessage } = useIntl();\n\n const allAscendants = data && getFolderParents(data, currentFolderId!);\n const filteredAscendants =\n allAscendants &&\n allAscendants.filter(\n (ascendant) =>\n typeof ascendant.id === 'number' &&\n !parentsToOmit.includes(ascendant.id) &&\n ascendant.id !== null\n );\n\n return (\n <CrumbSimpleMenu\n onOpen={() => setShouldFetch(true)}\n onClose={() => setShouldFetch(false)}\n aria-label={formatMessage({\n id: getTrad('header.breadcrumbs.menu.label'),\n defaultMessage: 'Get more ascendants folders',\n })}\n label=\"...\"\n >\n {isLoading && (\n <MenuItem>\n <Loader small>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </MenuItem>\n )}\n {filteredAscendants &&\n filteredAscendants.map((ascendant) => {\n if (onChangeFolder) {\n return (\n <MenuItem\n tag=\"button\"\n type=\"button\"\n onClick={() => onChangeFolder(Number(ascendant.id), ascendant.path)}\n key={ascendant.id}\n >\n {ascendant.label}\n </MenuItem>\n );\n }\n\n const url = getFolderURL(pathname, query, {\n folder: String(ascendant.id),\n folderPath: ascendant?.path,\n });\n\n return (\n <MenuItem key={ascendant.id} onClick={() => navigate(url)}>\n {ascendant.label}\n </MenuItem>\n );\n })}\n </CrumbSimpleMenu>\n );\n};\n"],"names":["EMPTY_PARENTS_TO_OMIT","CrumbSimpleMenuAsync","parentsToOmit","currentFolderId","onChangeFolder","shouldFetch","setShouldFetch","React","useState","data","isLoading","useFolderStructure","enabled","pathname","useLocation","navigate","useNavigate","query","useQueryParams","formatMessage","useIntl","allAscendants","getFolderParents","filteredAscendants","filter","ascendant","id","includes","_jsxs","CrumbSimpleMenu","onOpen","onClose","aria-label","getTrad","defaultMessage","label","_jsx","MenuItem","Loader","small","map","tag","type","onClick","Number","path","url","getFolderURL","folder","String","folderPath"],"mappings":";;;;;;;;;;;;;;AAUA,MAAMA,wBAAiF,EAAE;AAQlF,MAAMC,oBAAAA,GAAuB,CAAC,EACnCC,aAAAA,GAAgBF,qBAAqB,EACrCG,eAAe,EACfC,cAAc,EACY,GAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;AACrD,IAAA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGC,kBAAAA,CAAmB;QAAEC,OAAAA,EAASP;AAAY,KAAA,CAAA;IACtE,MAAM,EAAEQ,QAAQ,EAAE,GAAGC,WAAAA,EAAAA;AACrB,IAAA,MAAMC,QAAAA,GAAWC,WAAAA,EAAAA;AACjB,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,MAAMC,aAAAA,GAAgBZ,IAAAA,IAAQa,gBAAAA,CAAiBb,IAAAA,EAAMN,eAAAA,CAAAA;IACrD,MAAMoB,kBAAAA,GACJF,iBACAA,aAAAA,CAAcG,MAAM,CAClB,CAACC,SAAAA,GACC,OAAOA,SAAAA,CAAUC,EAAE,KAAK,QAAA,IACxB,CAACxB,cAAcyB,QAAQ,CAACF,UAAUC,EAAE,CAAA,IACpCD,SAAAA,CAAUC,EAAE,KAAK,IAAA,CAAA;AAGvB,IAAA,qBACEE,IAAA,CAACC,eAAAA,EAAAA;AACCC,QAAAA,MAAAA,EAAQ,IAAMxB,cAAAA,CAAe,IAAA,CAAA;AAC7ByB,QAAAA,OAAAA,EAAS,IAAMzB,cAAAA,CAAe,KAAA,CAAA;AAC9B0B,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;AACxBO,YAAAA,EAAAA,EAAIO,OAAAA,CAAQ,+BAAA,CAAA;YACZC,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACAC,KAAAA,EAAM,KAAA;;AAELzB,YAAAA,SAAAA,kBACC0B,GAAA,CAACC,QAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAD,GAAA,CAACE,MAAAA,EAAAA;oBAAOC,KAAK,EAAA,IAAA;8BACVpB,aAAAA,CAAc;AACbO,wBAAAA,EAAAA,EAAIO,OAAAA,CAAQ,mBAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA;;;YAILX,kBAAAA,IACCA,kBAAAA,CAAmBiB,GAAG,CAAC,CAACf,SAAAA,GAAAA;AACtB,gBAAA,IAAIrB,cAAAA,EAAgB;AAClB,oBAAA,qBACEgC,GAAA,CAACC,QAAAA,EAAAA;wBACCI,GAAAA,EAAI,QAAA;wBACJC,IAAAA,EAAK,QAAA;AACLC,wBAAAA,OAAAA,EAAS,IAAMvC,cAAAA,CAAewC,MAAAA,CAAOnB,UAAUC,EAAE,CAAA,EAAGD,UAAUoB,IAAI,CAAA;AAGjEpB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUU;AAFNV,qBAAAA,EAAAA,SAAAA,CAAUC,EAAE,CAAA;AAKvB,gBAAA;gBAEA,MAAMoB,GAAAA,GAAMC,YAAAA,CAAalC,QAAAA,EAAUI,KAAAA,EAAO;oBACxC+B,MAAAA,EAAQC,MAAAA,CAAOxB,UAAUC,EAAE,CAAA;AAC3BwB,oBAAAA,UAAAA,EAAYzB,SAAAA,EAAWoB;AACzB,iBAAA,CAAA;AAEA,gBAAA,qBACET,GAAA,CAACC,QAAAA,EAAAA;AAA4BM,oBAAAA,OAAAA,EAAS,IAAM5B,QAAAA,CAAS+B,GAAAA,CAAAA;AAClDrB,oBAAAA,QAAAA,EAAAA,SAAAA,CAAUU;AADEV,iBAAAA,EAAAA,SAAAA,CAAUC,EAAE,CAAA;AAI/B,YAAA,CAAA;;;AAGR;;;;"}
@@ -20,7 +20,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
20
 
21
21
  var isEmpty__default = /*#__PURE__*/_interopDefault(isEmpty);
22
22
 
23
- const BulkMoveDialog = ({ onClose, selected = [], currentFolder })=>{
23
+ const EMPTY_SELECTED = [];
24
+ const BulkMoveDialog = ({ onClose, selected = EMPTY_SELECTED, currentFolder })=>{
24
25
  const { formatMessage } = reactIntl.useIntl();
25
26
  const { data: folderStructure, isLoading } = useFolderStructure.useFolderStructure();
26
27
  const { move } = useBulkMove.useBulkMove();
@@ -1 +1 @@
1
- {"version":3,"file":"BulkMoveDialog.js","sources":["../../../../../admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.tsx"],"sourcesContent":["import { Button, Flex, Grid, Field, Loader, Modal, Typography } from '@strapi/design-system';\nimport { Form, Formik, FormikErrors } from 'formik';\nimport isEmpty from 'lodash/isEmpty';\nimport { useIntl } from 'react-intl';\n\nimport { File } from '../../../../../shared/contracts/files';\nimport { useBulkMove } from '../../hooks/useBulkMove';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getTrad, normalizeAPIError } from '../../utils';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { OptionSelectTree } from '../SelectTree/SelectTree';\nimport type { FetchError } from '@strapi/admin/strapi-admin';\n\ntype InitialFormData = {\n destination:\n | {\n value: string | number;\n label: string;\n }\n | string;\n};\n\ninterface FolderWithType extends Folder {\n type: string;\n}\n\ninterface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkMoveDialogProps {\n onClose: () => void;\n selected?: Array<FolderWithType | FileWithType>;\n currentFolder?: FolderWithType;\n}\n\nexport const BulkMoveDialog = ({ onClose, selected = [], currentFolder }: BulkMoveDialogProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure, isLoading } = useFolderStructure();\n const { move } = useBulkMove();\n\n if (!folderStructure) {\n return null;\n }\n\n const handleSubmit = async (\n values: InitialFormData,\n { setErrors }: { setErrors: (errors: FormikErrors<InitialFormData>) => void }\n ) => {\n try {\n if (typeof values.destination !== 'string') {\n const destinationValue = values.destination.value;\n await move(destinationValue, selected);\n onClose();\n }\n } catch (error) {\n const normalizedError = normalizeAPIError(error as FetchError)!;\n\n if (normalizedError && 'errors' in normalizedError) {\n const formikErrors = normalizedError.errors?.reduce<Record<string, string>>(\n (acc, error) => {\n acc[error.values?.path?.length || 'destination'] = error.defaultMessage;\n\n return acc;\n },\n {}\n );\n\n if (!isEmpty(formikErrors)) {\n setErrors(formikErrors);\n }\n }\n }\n };\n\n if (isLoading) {\n return (\n <Modal.Content>\n <Modal.Body>\n <Flex justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n );\n }\n\n const initialFormData: InitialFormData = {\n destination: {\n value: currentFolder?.id || '',\n label: currentFolder?.name || folderStructure[0].label,\n },\n };\n\n return (\n <Modal.Content>\n <Formik validateOnChange={false} onSubmit={handleSubmit} initialValues={initialFormData}>\n {({ values, errors, setFieldValue }) => (\n <Form noValidate>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('modal.folder.move.title'),\n defaultMessage: 'Move elements to',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root id=\"folder-destination\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.folder-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n options={folderStructure as OptionSelectTree[]}\n onChange={(value: Record<string, string | number>) => {\n setFieldValue('destination', value);\n }}\n defaultValue={\n typeof values.destination !== 'string' ? values.destination : undefined\n }\n name=\"destination\"\n menuPortalTarget={document.querySelector('body')}\n inputId=\"folder-destination\"\n error={errors?.destination}\n ariaErrorMessage=\"destination-error\"\n />\n\n {errors.destination && (\n <Typography variant=\"pi\" tag=\"p\" textColor=\"danger600\">\n {errors.destination}\n </Typography>\n )}\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\" name=\"cancel\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\" loading={isLoading}>\n {formatMessage({ id: 'global.move', defaultMessage: 'Move' })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n </Modal.Content>\n );\n};\n"],"names":["BulkMoveDialog","onClose","selected","currentFolder","formatMessage","useIntl","data","folderStructure","isLoading","useFolderStructure","move","useBulkMove","handleSubmit","values","setErrors","destination","destinationValue","value","error","normalizedError","normalizeAPIError","formikErrors","errors","reduce","acc","path","length","defaultMessage","isEmpty","_jsx","Modal","Content","Body","Flex","justifyContent","paddingTop","paddingBottom","Loader","id","getTrad","initialFormData","label","name","Formik","validateOnChange","onSubmit","initialValues","setFieldValue","_jsxs","Form","noValidate","Header","Title","Grid","Root","gap","Item","xs","direction","alignItems","Field","Label","SelectTree","options","onChange","defaultValue","undefined","menuPortalTarget","document","querySelector","inputId","ariaErrorMessage","Typography","variant","tag","textColor","Footer","Close","Button","type","loading"],"mappings":"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"}
1
+ {"version":3,"file":"BulkMoveDialog.js","sources":["../../../../../admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.tsx"],"sourcesContent":["import { Button, Flex, Grid, Field, Loader, Modal, Typography } from '@strapi/design-system';\nimport { Form, Formik, FormikErrors } from 'formik';\nimport isEmpty from 'lodash/isEmpty';\nimport { useIntl } from 'react-intl';\n\nimport { File } from '../../../../../shared/contracts/files';\nimport { useBulkMove } from '../../hooks/useBulkMove';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getTrad, normalizeAPIError } from '../../utils';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { OptionSelectTree } from '../SelectTree/SelectTree';\nimport type { FetchError } from '@strapi/admin/strapi-admin';\n\nconst EMPTY_SELECTED: NonNullable<BulkMoveDialogProps['selected']> = [];\n\ntype InitialFormData = {\n destination:\n | {\n value: string | number;\n label: string;\n }\n | string;\n};\n\ninterface FolderWithType extends Folder {\n type: string;\n}\n\ninterface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkMoveDialogProps {\n onClose: () => void;\n selected?: Array<FolderWithType | FileWithType>;\n currentFolder?: FolderWithType;\n}\n\nexport const BulkMoveDialog = ({\n onClose,\n selected = EMPTY_SELECTED,\n currentFolder,\n}: BulkMoveDialogProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure, isLoading } = useFolderStructure();\n const { move } = useBulkMove();\n\n if (!folderStructure) {\n return null;\n }\n\n const handleSubmit = async (\n values: InitialFormData,\n { setErrors }: { setErrors: (errors: FormikErrors<InitialFormData>) => void }\n ) => {\n try {\n if (typeof values.destination !== 'string') {\n const destinationValue = values.destination.value;\n await move(destinationValue, selected);\n onClose();\n }\n } catch (error) {\n const normalizedError = normalizeAPIError(error as FetchError)!;\n\n if (normalizedError && 'errors' in normalizedError) {\n const formikErrors = normalizedError.errors?.reduce<Record<string, string>>(\n (acc, error) => {\n acc[error.values?.path?.length || 'destination'] = error.defaultMessage;\n\n return acc;\n },\n {}\n );\n\n if (!isEmpty(formikErrors)) {\n setErrors(formikErrors);\n }\n }\n }\n };\n\n if (isLoading) {\n return (\n <Modal.Content>\n <Modal.Body>\n <Flex justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n );\n }\n\n const initialFormData: InitialFormData = {\n destination: {\n value: currentFolder?.id || '',\n label: currentFolder?.name || folderStructure[0].label,\n },\n };\n\n return (\n <Modal.Content>\n <Formik validateOnChange={false} onSubmit={handleSubmit} initialValues={initialFormData}>\n {({ values, errors, setFieldValue }) => (\n <Form noValidate>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('modal.folder.move.title'),\n defaultMessage: 'Move elements to',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root id=\"folder-destination\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.folder-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n options={folderStructure as OptionSelectTree[]}\n onChange={(value: Record<string, string | number>) => {\n setFieldValue('destination', value);\n }}\n defaultValue={\n typeof values.destination !== 'string' ? values.destination : undefined\n }\n name=\"destination\"\n menuPortalTarget={document.querySelector('body')}\n inputId=\"folder-destination\"\n error={errors?.destination}\n ariaErrorMessage=\"destination-error\"\n />\n\n {errors.destination && (\n <Typography variant=\"pi\" tag=\"p\" textColor=\"danger600\">\n {errors.destination}\n </Typography>\n )}\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\" name=\"cancel\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\" loading={isLoading}>\n {formatMessage({ id: 'global.move', defaultMessage: 'Move' })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n </Modal.Content>\n );\n};\n"],"names":["EMPTY_SELECTED","BulkMoveDialog","onClose","selected","currentFolder","formatMessage","useIntl","data","folderStructure","isLoading","useFolderStructure","move","useBulkMove","handleSubmit","values","setErrors","destination","destinationValue","value","error","normalizedError","normalizeAPIError","formikErrors","errors","reduce","acc","path","length","defaultMessage","isEmpty","_jsx","Modal","Content","Body","Flex","justifyContent","paddingTop","paddingBottom","Loader","id","getTrad","initialFormData","label","name","Formik","validateOnChange","onSubmit","initialValues","setFieldValue","_jsxs","Form","noValidate","Header","Title","Grid","Root","gap","Item","xs","direction","alignItems","Field","Label","SelectTree","options","onChange","defaultValue","undefined","menuPortalTarget","document","querySelector","inputId","ariaErrorMessage","Typography","variant","tag","textColor","Footer","Close","Button","type","loading"],"mappings":"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"}
@@ -14,7 +14,8 @@ import 'qs';
14
14
  import '../../utils/urlYupSchema.mjs';
15
15
  import { SelectTree } from '../SelectTree/SelectTree.mjs';
16
16
 
17
- const BulkMoveDialog = ({ onClose, selected = [], currentFolder })=>{
17
+ const EMPTY_SELECTED = [];
18
+ const BulkMoveDialog = ({ onClose, selected = EMPTY_SELECTED, currentFolder })=>{
18
19
  const { formatMessage } = useIntl();
19
20
  const { data: folderStructure, isLoading } = useFolderStructure();
20
21
  const { move } = useBulkMove();
@@ -1 +1 @@
1
- {"version":3,"file":"BulkMoveDialog.mjs","sources":["../../../../../admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.tsx"],"sourcesContent":["import { Button, Flex, Grid, Field, Loader, Modal, Typography } from '@strapi/design-system';\nimport { Form, Formik, FormikErrors } from 'formik';\nimport isEmpty from 'lodash/isEmpty';\nimport { useIntl } from 'react-intl';\n\nimport { File } from '../../../../../shared/contracts/files';\nimport { useBulkMove } from '../../hooks/useBulkMove';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getTrad, normalizeAPIError } from '../../utils';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { OptionSelectTree } from '../SelectTree/SelectTree';\nimport type { FetchError } from '@strapi/admin/strapi-admin';\n\ntype InitialFormData = {\n destination:\n | {\n value: string | number;\n label: string;\n }\n | string;\n};\n\ninterface FolderWithType extends Folder {\n type: string;\n}\n\ninterface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkMoveDialogProps {\n onClose: () => void;\n selected?: Array<FolderWithType | FileWithType>;\n currentFolder?: FolderWithType;\n}\n\nexport const BulkMoveDialog = ({ onClose, selected = [], currentFolder }: BulkMoveDialogProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure, isLoading } = useFolderStructure();\n const { move } = useBulkMove();\n\n if (!folderStructure) {\n return null;\n }\n\n const handleSubmit = async (\n values: InitialFormData,\n { setErrors }: { setErrors: (errors: FormikErrors<InitialFormData>) => void }\n ) => {\n try {\n if (typeof values.destination !== 'string') {\n const destinationValue = values.destination.value;\n await move(destinationValue, selected);\n onClose();\n }\n } catch (error) {\n const normalizedError = normalizeAPIError(error as FetchError)!;\n\n if (normalizedError && 'errors' in normalizedError) {\n const formikErrors = normalizedError.errors?.reduce<Record<string, string>>(\n (acc, error) => {\n acc[error.values?.path?.length || 'destination'] = error.defaultMessage;\n\n return acc;\n },\n {}\n );\n\n if (!isEmpty(formikErrors)) {\n setErrors(formikErrors);\n }\n }\n }\n };\n\n if (isLoading) {\n return (\n <Modal.Content>\n <Modal.Body>\n <Flex justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n );\n }\n\n const initialFormData: InitialFormData = {\n destination: {\n value: currentFolder?.id || '',\n label: currentFolder?.name || folderStructure[0].label,\n },\n };\n\n return (\n <Modal.Content>\n <Formik validateOnChange={false} onSubmit={handleSubmit} initialValues={initialFormData}>\n {({ values, errors, setFieldValue }) => (\n <Form noValidate>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('modal.folder.move.title'),\n defaultMessage: 'Move elements to',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root id=\"folder-destination\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.folder-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n options={folderStructure as OptionSelectTree[]}\n onChange={(value: Record<string, string | number>) => {\n setFieldValue('destination', value);\n }}\n defaultValue={\n typeof values.destination !== 'string' ? values.destination : undefined\n }\n name=\"destination\"\n menuPortalTarget={document.querySelector('body')}\n inputId=\"folder-destination\"\n error={errors?.destination}\n ariaErrorMessage=\"destination-error\"\n />\n\n {errors.destination && (\n <Typography variant=\"pi\" tag=\"p\" textColor=\"danger600\">\n {errors.destination}\n </Typography>\n )}\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\" name=\"cancel\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\" loading={isLoading}>\n {formatMessage({ id: 'global.move', defaultMessage: 'Move' })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n </Modal.Content>\n );\n};\n"],"names":["BulkMoveDialog","onClose","selected","currentFolder","formatMessage","useIntl","data","folderStructure","isLoading","useFolderStructure","move","useBulkMove","handleSubmit","values","setErrors","destination","destinationValue","value","error","normalizedError","normalizeAPIError","formikErrors","errors","reduce","acc","path","length","defaultMessage","isEmpty","_jsx","Modal","Content","Body","Flex","justifyContent","paddingTop","paddingBottom","Loader","id","getTrad","initialFormData","label","name","Formik","validateOnChange","onSubmit","initialValues","setFieldValue","_jsxs","Form","noValidate","Header","Title","Grid","Root","gap","Item","xs","direction","alignItems","Field","Label","SelectTree","options","onChange","defaultValue","undefined","menuPortalTarget","document","querySelector","inputId","ariaErrorMessage","Typography","variant","tag","textColor","Footer","Close","Button","type","loading"],"mappings":"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"}
1
+ {"version":3,"file":"BulkMoveDialog.mjs","sources":["../../../../../admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.tsx"],"sourcesContent":["import { Button, Flex, Grid, Field, Loader, Modal, Typography } from '@strapi/design-system';\nimport { Form, Formik, FormikErrors } from 'formik';\nimport isEmpty from 'lodash/isEmpty';\nimport { useIntl } from 'react-intl';\n\nimport { File } from '../../../../../shared/contracts/files';\nimport { useBulkMove } from '../../hooks/useBulkMove';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getTrad, normalizeAPIError } from '../../utils';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { OptionSelectTree } from '../SelectTree/SelectTree';\nimport type { FetchError } from '@strapi/admin/strapi-admin';\n\nconst EMPTY_SELECTED: NonNullable<BulkMoveDialogProps['selected']> = [];\n\ntype InitialFormData = {\n destination:\n | {\n value: string | number;\n label: string;\n }\n | string;\n};\n\ninterface FolderWithType extends Folder {\n type: string;\n}\n\ninterface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkMoveDialogProps {\n onClose: () => void;\n selected?: Array<FolderWithType | FileWithType>;\n currentFolder?: FolderWithType;\n}\n\nexport const BulkMoveDialog = ({\n onClose,\n selected = EMPTY_SELECTED,\n currentFolder,\n}: BulkMoveDialogProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure, isLoading } = useFolderStructure();\n const { move } = useBulkMove();\n\n if (!folderStructure) {\n return null;\n }\n\n const handleSubmit = async (\n values: InitialFormData,\n { setErrors }: { setErrors: (errors: FormikErrors<InitialFormData>) => void }\n ) => {\n try {\n if (typeof values.destination !== 'string') {\n const destinationValue = values.destination.value;\n await move(destinationValue, selected);\n onClose();\n }\n } catch (error) {\n const normalizedError = normalizeAPIError(error as FetchError)!;\n\n if (normalizedError && 'errors' in normalizedError) {\n const formikErrors = normalizedError.errors?.reduce<Record<string, string>>(\n (acc, error) => {\n acc[error.values?.path?.length || 'destination'] = error.defaultMessage;\n\n return acc;\n },\n {}\n );\n\n if (!isEmpty(formikErrors)) {\n setErrors(formikErrors);\n }\n }\n }\n };\n\n if (isLoading) {\n return (\n <Modal.Content>\n <Modal.Body>\n <Flex justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n );\n }\n\n const initialFormData: InitialFormData = {\n destination: {\n value: currentFolder?.id || '',\n label: currentFolder?.name || folderStructure[0].label,\n },\n };\n\n return (\n <Modal.Content>\n <Formik validateOnChange={false} onSubmit={handleSubmit} initialValues={initialFormData}>\n {({ values, errors, setFieldValue }) => (\n <Form noValidate>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('modal.folder.move.title'),\n defaultMessage: 'Move elements to',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root id=\"folder-destination\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.folder-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n options={folderStructure as OptionSelectTree[]}\n onChange={(value: Record<string, string | number>) => {\n setFieldValue('destination', value);\n }}\n defaultValue={\n typeof values.destination !== 'string' ? values.destination : undefined\n }\n name=\"destination\"\n menuPortalTarget={document.querySelector('body')}\n inputId=\"folder-destination\"\n error={errors?.destination}\n ariaErrorMessage=\"destination-error\"\n />\n\n {errors.destination && (\n <Typography variant=\"pi\" tag=\"p\" textColor=\"danger600\">\n {errors.destination}\n </Typography>\n )}\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\" name=\"cancel\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\" loading={isLoading}>\n {formatMessage({ id: 'global.move', defaultMessage: 'Move' })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n </Modal.Content>\n );\n};\n"],"names":["EMPTY_SELECTED","BulkMoveDialog","onClose","selected","currentFolder","formatMessage","useIntl","data","folderStructure","isLoading","useFolderStructure","move","useBulkMove","handleSubmit","values","setErrors","destination","destinationValue","value","error","normalizedError","normalizeAPIError","formikErrors","errors","reduce","acc","path","length","defaultMessage","isEmpty","_jsx","Modal","Content","Body","Flex","justifyContent","paddingTop","paddingBottom","Loader","id","getTrad","initialFormData","label","name","Formik","validateOnChange","onSubmit","initialValues","setFieldValue","_jsxs","Form","noValidate","Header","Title","Grid","Root","gap","Item","xs","direction","alignItems","Field","Label","SelectTree","options","onChange","defaultValue","undefined","menuPortalTarget","document","querySelector","inputId","ariaErrorMessage","Typography","variant","tag","textColor","Footer","Close","Button","type","loading"],"mappings":"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"}
@@ -49,6 +49,8 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
49
49
  var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
50
50
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
51
51
 
52
+ const EMPTY_OMIT_FIELDS = [];
53
+ const EMPTY_OMIT_ACTIONS = [];
52
54
  const LoadingBody = styledComponents.styled(designSystem.Flex)`
53
55
  /* 80px are coming from the Tabs component that is not included in the ModalBody */
54
56
  min-height: ${()=>`calc(60dvh + 8rem)`};
@@ -74,7 +76,7 @@ const toFolderId = (value)=>{
74
76
  const parsed = Number(value);
75
77
  return Number.isFinite(parsed) ? parsed : undefined;
76
78
  };
77
- const EditAssetContent = ({ onClose, asset, initialFolderId = null, canUpdate = false, canCopyLink = false, canDownload = false, trackedLocation, omitFields = [], omitActions = [] })=>{
79
+ const EditAssetContent = ({ onClose, asset, initialFolderId = null, canUpdate = false, canCopyLink = false, canDownload = false, trackedLocation, omitFields = EMPTY_OMIT_FIELDS, omitActions = EMPTY_OMIT_ACTIONS })=>{
78
80
  const { formatMessage, formatDate } = reactIntl.useIntl();
79
81
  const { trackUsage } = useTracking.useTracking();
80
82
  const submitButtonRef = React__namespace.useRef(null);