@strapi/upload 0.0.0-experimental.abc → 0.0.0-experimental.af7e4e2471a04cc7f17b8ed3474530810efc02bc

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 (189) hide show
  1. package/dist/_chunks/{index-Sh4Ok2WQ.mjs → App-C5068OP3.mjs} +119 -110
  2. package/dist/_chunks/App-C5068OP3.mjs.map +1 -0
  3. package/dist/_chunks/{index-CSluxLTa.js → App-F61LQeeA.js} +119 -110
  4. package/dist/_chunks/App-F61LQeeA.js.map +1 -0
  5. package/dist/_chunks/{index-BGp6u8jt.js → ConfigureTheView-DBHYY3lq.js} +48 -24
  6. package/dist/_chunks/ConfigureTheView-DBHYY3lq.js.map +1 -0
  7. package/dist/_chunks/{index-DesgImRq.mjs → ConfigureTheView-DgN6B288.mjs} +30 -24
  8. package/dist/_chunks/ConfigureTheView-DgN6B288.mjs.map +1 -0
  9. package/dist/_chunks/{index-CzxDuy-_.js → SettingsPage-B0w9f_N8.js} +61 -41
  10. package/dist/_chunks/SettingsPage-B0w9f_N8.js.map +1 -0
  11. package/dist/_chunks/{index-CFUyRUTZ.mjs → SettingsPage-BihYAmLw.mjs} +45 -43
  12. package/dist/_chunks/SettingsPage-BihYAmLw.mjs.map +1 -0
  13. package/dist/_chunks/{graphql-DPMDE47y.mjs → graphql-68BJxih-.mjs} +2 -2
  14. package/dist/_chunks/{graphql-DPMDE47y.mjs.map → graphql-68BJxih-.mjs.map} +1 -1
  15. package/dist/_chunks/{graphql-CtmISqaK.js → graphql-DkkRswQX.js} +2 -2
  16. package/dist/_chunks/{graphql-CtmISqaK.js.map → graphql-DkkRswQX.js.map} +1 -1
  17. package/dist/_chunks/{index-C5KW21l3.js → index-BDq2waDf.js} +10 -5
  18. package/dist/_chunks/index-BDq2waDf.js.map +1 -0
  19. package/dist/_chunks/{index-CWuibX66.mjs → index-BGwOh3pn.mjs} +10 -5
  20. package/dist/_chunks/index-BGwOh3pn.mjs.map +1 -0
  21. package/dist/_chunks/{index-CWKAMMzh.mjs → index-DfCj4ffr.mjs} +1407 -1953
  22. package/dist/_chunks/index-DfCj4ffr.mjs.map +1 -0
  23. package/dist/_chunks/{index-Bx7HNHAW.js → index-TKhJgBUx.js} +1369 -1916
  24. package/dist/_chunks/index-TKhJgBUx.js.map +1 -0
  25. package/dist/admin/index.js +5 -2
  26. package/dist/admin/index.js.map +1 -1
  27. package/dist/admin/index.mjs +5 -2
  28. package/dist/admin/index.mjs.map +1 -1
  29. package/dist/admin/src/components/AssetCard/AssetCard.d.ts +18 -0
  30. package/dist/admin/src/components/AssetCard/AssetCardBase.d.ts +14 -0
  31. package/dist/admin/src/components/AssetCard/AudioAssetCard.d.ts +7 -0
  32. package/dist/admin/src/components/AssetCard/AudioPreview.d.ts +6 -0
  33. package/dist/admin/src/components/AssetCard/DocAssetCard.d.ts +7 -0
  34. package/dist/admin/src/components/AssetCard/ImageAssetCard.d.ts +12 -0
  35. package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +17 -0
  36. package/dist/admin/src/components/AssetCard/VideoAssetCard.d.ts +8 -0
  37. package/dist/admin/src/components/AssetCard/VideoPreview.d.ts +9 -0
  38. package/dist/admin/src/components/AssetDialog/AssetDialog.d.ts +39 -0
  39. package/dist/admin/src/components/AssetDialog/BrowseStep/BrowseStep.d.ts +63 -0
  40. package/dist/admin/src/components/AssetDialog/BrowseStep/Filters.d.ts +23 -0
  41. package/dist/admin/src/components/AssetDialog/BrowseStep/PageSize.d.ts +6 -0
  42. package/dist/admin/src/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.d.ts +13 -0
  43. package/dist/admin/src/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.d.ts +9 -0
  44. package/dist/admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +7 -0
  45. package/dist/admin/src/components/AssetDialog/BrowseStep/utils/isSelectable.d.ts +1 -0
  46. package/dist/admin/src/components/AssetDialog/DialogFooter.d.ts +6 -0
  47. package/dist/admin/src/components/AssetDialog/SelectedStep/SelectedStep.d.ts +8 -0
  48. package/dist/admin/src/components/AssetGridList/AssetGridList.d.ts +13 -0
  49. package/dist/admin/src/components/AssetGridList/Draggable.d.ts +9 -0
  50. package/dist/admin/src/components/Breadcrumbs/Breadcrumbs.d.ts +14 -0
  51. package/dist/admin/src/components/Breadcrumbs/CrumbSimpleMenuAsync.d.ts +7 -0
  52. package/dist/admin/src/components/BulkMoveDialog/BulkMoveDialog.d.ts +15 -0
  53. package/dist/admin/src/components/ContextInfo/ContextInfo.d.ts +8 -0
  54. package/dist/admin/src/components/CopyLinkButton/CopyLinkButton.d.ts +3 -0
  55. package/dist/admin/src/components/EditAssetDialog/DialogHeader.d.ts +1 -0
  56. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +28 -0
  57. package/dist/admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +9 -0
  58. package/dist/admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.d.ts +7 -0
  59. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +23 -0
  60. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +17 -0
  61. package/dist/admin/src/components/EditAssetDialog/RemoveAssetDialog.d.ts +8 -0
  62. package/dist/admin/src/components/EditAssetDialog/ReplaceMediaButton.d.ts +8 -0
  63. package/dist/admin/src/components/EditFolderDialog/EditFolderDialog.d.ts +12 -0
  64. package/dist/admin/src/components/EditFolderDialog/ModalHeader/ModalHeader.d.ts +5 -0
  65. package/dist/admin/src/components/EditFolderDialog/RemoveFolderDialog.d.ts +7 -0
  66. package/dist/admin/src/components/EmptyAssets/EmptyAssetGrid.d.ts +6 -0
  67. package/dist/admin/src/components/EmptyAssets/EmptyAssets.d.ts +10 -0
  68. package/dist/admin/src/components/FilterList/FilterList.d.ts +33 -0
  69. package/dist/admin/src/components/FilterList/FilterTag.d.ts +23 -0
  70. package/dist/admin/src/components/FilterPopover/FilterPopover.d.ts +31 -0
  71. package/dist/admin/src/components/FilterPopover/FilterValueInput.d.ts +12 -0
  72. package/dist/admin/src/components/FilterPopover/utils/getFilterList.d.ts +21 -0
  73. package/dist/admin/src/components/FolderCard/FolderCard/FolderCard.d.ts +13 -0
  74. package/dist/admin/src/components/FolderCard/FolderCardBody/FolderCardBody.d.ts +2 -0
  75. package/dist/admin/src/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.d.ts +7 -0
  76. package/dist/admin/src/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.d.ts +2 -0
  77. package/dist/admin/src/components/FolderCard/contexts/FolderCard.d.ts +7 -0
  78. package/dist/admin/src/components/FolderGridList/FolderGridList.d.ts +6 -0
  79. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +8 -0
  80. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +4 -0
  81. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +9 -0
  82. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +22 -0
  83. package/dist/admin/src/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +10 -0
  84. package/dist/admin/src/components/MediaLibraryInput/MediaLibraryInput.d.ts +17 -0
  85. package/dist/admin/src/components/SelectTree/Option.d.ts +16 -0
  86. package/dist/admin/src/components/SelectTree/SelectTree.d.ts +22 -0
  87. package/dist/admin/src/components/SelectTree/utils/flattenTree.d.ts +14 -0
  88. package/dist/admin/src/components/SelectTree/utils/getOpenValues.d.ts +9 -0
  89. package/dist/admin/src/components/SelectTree/utils/getValuesToClose.d.ts +6 -0
  90. package/dist/admin/src/components/SortPicker/SortPicker.d.ts +7 -0
  91. package/dist/admin/src/components/TableList/CellContent.d.ts +8 -0
  92. package/dist/admin/src/components/TableList/PreviewCell.d.ts +7 -0
  93. package/dist/admin/src/components/TableList/TableList.d.ts +31 -0
  94. package/dist/admin/src/components/TableList/TableRows.d.ts +22 -0
  95. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +13 -0
  96. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.d.ts +8 -0
  97. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/FromUrlForm.d.ts +8 -0
  98. package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +22 -0
  99. package/dist/admin/src/components/UploadAssetDialog/UploadAssetDialog.d.ts +21 -0
  100. package/dist/admin/src/components/UploadProgress/UploadProgress.d.ts +7 -0
  101. package/dist/admin/src/constants.d.ts +70 -0
  102. package/dist/admin/src/hooks/useAssets.d.ts +14 -0
  103. package/dist/admin/src/hooks/useBulkMove.d.ts +78 -0
  104. package/dist/admin/src/hooks/useBulkRemove.d.ts +70 -0
  105. package/dist/admin/src/hooks/useConfig.d.ts +5 -0
  106. package/dist/admin/src/hooks/useCropImg.d.ts +9 -0
  107. package/dist/admin/src/hooks/useEditAsset.d.ts +119 -0
  108. package/dist/admin/src/hooks/useEditFolder.d.ts +71 -0
  109. package/dist/admin/src/hooks/useFolder.d.ts +7 -0
  110. package/dist/admin/src/hooks/useFolderStructure.d.ts +18 -0
  111. package/dist/admin/src/hooks/useFolders.d.ts +11 -0
  112. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +7 -0
  113. package/dist/admin/src/hooks/useModalQueryParams.d.ts +20 -0
  114. package/dist/admin/src/hooks/usePersistentState.d.ts +3 -0
  115. package/dist/admin/src/hooks/useRemoveAsset.d.ts +66 -0
  116. package/dist/admin/src/hooks/useSelectionState.d.ts +9 -0
  117. package/dist/admin/src/hooks/useUpload.d.ts +15 -0
  118. package/dist/admin/src/hooks/utils/renameKeys.d.ts +6 -0
  119. package/dist/admin/src/index.d.ts +3 -0
  120. package/dist/admin/src/pages/App/App.d.ts +1 -0
  121. package/dist/admin/src/pages/App/ConfigureTheView/ConfigureTheView.d.ts +6 -0
  122. package/dist/admin/src/pages/App/ConfigureTheView/components/Settings.d.ts +13 -0
  123. package/dist/admin/src/pages/App/ConfigureTheView/state/actionTypes.d.ts +2 -0
  124. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +12 -0
  125. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +8 -0
  126. package/dist/admin/src/pages/App/ConfigureTheView/state/reducer.d.ts +15 -0
  127. package/dist/admin/src/pages/App/MediaLibrary/MediaLibrary.d.ts +1 -0
  128. package/dist/admin/src/pages/App/MediaLibrary/components/BulkActions.d.ts +15 -0
  129. package/dist/admin/src/pages/App/MediaLibrary/components/BulkDeleteButton.d.ts +7 -0
  130. package/dist/admin/src/pages/App/MediaLibrary/components/BulkMoveButton.d.ts +15 -0
  131. package/dist/admin/src/pages/App/MediaLibrary/components/EmptyOrNoPermissions.d.ts +7 -0
  132. package/dist/admin/src/pages/App/MediaLibrary/components/Filters.d.ts +1 -0
  133. package/dist/admin/src/pages/App/MediaLibrary/components/Header.d.ts +22 -0
  134. package/dist/admin/src/pages/App/components/BulkActions.d.ts +15 -0
  135. package/dist/admin/src/pages/App/components/BulkDeleteButton.d.ts +10 -0
  136. package/dist/admin/src/pages/App/components/BulkMoveButton.d.ts +15 -0
  137. package/dist/admin/src/pages/App/components/EmptyOrNoPermissions.d.ts +8 -0
  138. package/dist/admin/src/pages/App/components/Filters.d.ts +1 -0
  139. package/dist/admin/src/pages/App/components/Header.d.ts +13 -0
  140. package/dist/admin/src/pages/SettingsPage/SettingsPage.d.ts +2 -0
  141. package/dist/admin/src/pages/SettingsPage/init.d.ts +2 -0
  142. package/dist/admin/src/pages/SettingsPage/reducer.d.ts +27 -0
  143. package/dist/admin/src/pluginId.d.ts +1 -0
  144. package/dist/admin/src/utils/appendSearchParamsToUrl.d.ts +6 -0
  145. package/dist/admin/src/utils/containsAssetFilter.d.ts +2 -0
  146. package/dist/admin/src/utils/createAssetUrl.d.ts +2 -0
  147. package/dist/admin/src/utils/displayedFilters.d.ts +22 -0
  148. package/dist/admin/src/utils/downloadFile.d.ts +1 -0
  149. package/dist/admin/src/utils/findRecursiveFolderByValue.d.ts +11 -0
  150. package/dist/admin/src/utils/formatBytes.d.ts +1 -0
  151. package/dist/admin/src/utils/formatDuration.d.ts +1 -0
  152. package/dist/admin/src/utils/getAPIInnerErrors.d.ts +14 -0
  153. package/dist/admin/src/utils/getAllowedFiles.d.ts +14 -0
  154. package/dist/admin/src/utils/getBreadcrumbDataCM.d.ts +19 -0
  155. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +18 -0
  156. package/dist/admin/src/utils/getFileExtension.d.ts +1 -0
  157. package/dist/admin/src/utils/getFolderParents.d.ts +11 -0
  158. package/dist/admin/src/utils/getFolderURL.d.ts +5 -0
  159. package/dist/admin/src/utils/getTrad.d.ts +1 -0
  160. package/dist/admin/src/utils/index.d.ts +25 -0
  161. package/dist/admin/src/utils/moveElement.d.ts +1 -0
  162. package/dist/admin/src/utils/normalizeAPIError.d.ts +22 -0
  163. package/dist/admin/src/utils/prefixFileUrlWithBackendUrl.d.ts +1 -0
  164. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +5 -0
  165. package/dist/admin/src/utils/rawFileToAsset.d.ts +14 -0
  166. package/dist/admin/src/utils/toSingularTypes.d.ts +1 -0
  167. package/dist/admin/src/utils/typeFromMime.d.ts +2 -0
  168. package/dist/admin/src/utils/urlYupSchema.d.ts +8 -0
  169. package/dist/admin/src/utils/urlsToAssets.d.ts +10 -0
  170. package/dist/server/index.js +1 -1
  171. package/dist/server/index.mjs +1 -1
  172. package/dist/server/src/bootstrap.d.ts.map +1 -1
  173. package/dist/server/src/services/weekly-metrics.d.ts.map +1 -1
  174. package/dist/shared/contracts/configuration.d.ts +44 -0
  175. package/dist/shared/contracts/files.d.ts +211 -0
  176. package/dist/shared/contracts/folders.d.ts +161 -0
  177. package/dist/shared/contracts/settings.d.ts +42 -0
  178. package/package.json +22 -10
  179. package/dist/_chunks/index-BGp6u8jt.js.map +0 -1
  180. package/dist/_chunks/index-Bx7HNHAW.js.map +0 -1
  181. package/dist/_chunks/index-C5KW21l3.js.map +0 -1
  182. package/dist/_chunks/index-CFUyRUTZ.mjs.map +0 -1
  183. package/dist/_chunks/index-CSluxLTa.js.map +0 -1
  184. package/dist/_chunks/index-CWKAMMzh.mjs.map +0 -1
  185. package/dist/_chunks/index-CWuibX66.mjs.map +0 -1
  186. package/dist/_chunks/index-CzxDuy-_.js.map +0 -1
  187. package/dist/_chunks/index-DesgImRq.mjs.map +0 -1
  188. package/dist/_chunks/index-Sh4Ok2WQ.mjs.map +0 -1
  189. package/strapi-server.js +0 -3
@@ -1,38 +1,36 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { useState, useRef, lazy, useEffect, Suspense } from "react";
4
3
  import { ConfirmDialog, useNotification, useFetchClient, useTracking, useQueryParams, Layouts, Page, SearchInput, Pagination } from "@strapi/admin/strapi-admin";
5
4
  import { useIntl } from "react-intl";
6
5
  import { useLocation, NavLink, useNavigate, Link as Link$1, Routes, Route } from "react-router-dom";
7
- import { g as getTrad, a as getFolderURL, u as useFolderCard, A as AssetDefinition, F as FolderDefinition, b as useBulkRemove, p as pluginId, c as useFolderStructure, S as SelectTree, n as normalizeAPIError, E as EmptyAssets, d as FilterPopover, e as displayedFilters, f as FilterList, B as BreadcrumbsDefinition, h as Breadcrumbs, i as useMediaLibraryPermissions, j as usePersistentState, v as viewOptions, l as localStorageKeys, k as useAssets, m as useFolders, o as containsAssetFilter, q as useFolder, r as useSelectionState, s as SortPicker, T as TableList, t as FolderGridList, w as FolderCard, x as FolderCardBody, y as FolderCardBodyAction, z as AssetGridList, U as UploadAssetDialog, C as EditFolderDialog, D as EditAssetDialog, G as useConfig } from "./index-CWKAMMzh.mjs";
6
+ import { g as getTrad, a as getFolderURL, u as useFolderCard, b as useBulkRemove, p as pluginId, c as useFolderStructure, S as SelectTree, n as normalizeAPIError, E as EmptyAssets, F as FilterPopover, d as displayedFilters, e as FilterList, B as Breadcrumbs, f as useMediaLibraryPermissions, h as usePersistentState, v as viewOptions, l as localStorageKeys, i as useAssets, j as useFolders, k as containsAssetFilter, m as useFolder, o as useSelectionState, q as SortPicker, T as TableList, r as FolderGridList, s as FolderCard, t as FolderCardBody, w as FolderCardBodyAction, A as AssetGridList, U as UploadAssetDialog, x as EditFolderDialog, y as EditAssetDialog, z as useConfig } from "./index-DfCj4ffr.mjs";
8
7
  import "byte-size";
9
8
  import "date-fns";
10
9
  import { stringify } from "qs";
11
10
  import { Box, Checkbox, Dialog, Button, Modal, Flex, Loader, Grid, Field, Typography, Popover, Link, IconButton, VisuallyHidden, Divider } from "@strapi/design-system";
12
11
  import { Trash, Folder, Plus, Filter, ArrowLeft, Cog, List, GridFour, Pencil } from "@strapi/icons";
13
12
  import { styled } from "styled-components";
14
- import PropTypes from "prop-types";
15
13
  import { Formik, Form } from "formik";
16
14
  import isEmpty from "lodash/isEmpty";
17
15
  import { useQueryClient, useMutation } from "react-query";
18
16
  import { EmptyPermissions } from "@strapi/icons/symbols";
19
17
  const getBreadcrumbDataML = (folder, { pathname, query }) => {
20
- let data = [
18
+ const data = [
21
19
  {
22
20
  id: null,
23
21
  label: { id: getTrad("plugin.name"), defaultMessage: "Media Library" },
24
- href: folder ? getFolderURL(pathname, query) : void 0
22
+ href: folder ? getFolderURL(pathname, query || {}) : void 0
25
23
  }
26
24
  ];
27
- if (folder?.parent?.parent) {
25
+ if (folder?.parent && typeof folder?.parent !== "number" && folder?.parent?.parent) {
28
26
  data.push([]);
29
27
  }
30
- if (folder?.parent) {
28
+ if (folder?.parent && typeof folder.parent !== "number") {
31
29
  data.push({
32
30
  id: folder.parent.id,
33
31
  label: folder.parent.name,
34
- href: getFolderURL(pathname, query, {
35
- folder: folder.parent.id,
32
+ href: getFolderURL(pathname, query || {}, {
33
+ folder: folder.parent.id?.toString(),
36
34
  folderPath: folder.parent.path
37
35
  })
38
36
  });
@@ -61,10 +59,6 @@ const BulkDeleteButton = ({ selected, onSuccess }) => {
61
59
  /* @__PURE__ */ jsx(ConfirmDialog, { onConfirm: handleConfirmRemove })
62
60
  ] });
63
61
  };
64
- BulkDeleteButton.propTypes = {
65
- selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired,
66
- onSuccess: PropTypes.func.isRequired
67
- };
68
62
  const useBulkMove = () => {
69
63
  const { formatMessage } = useIntl();
70
64
  const { toggleNotification } = useNotification();
@@ -104,7 +98,7 @@ const useBulkMove = () => {
104
98
  const move = (destinationFolderId, filesAndFolders) => mutation.mutateAsync({ destinationFolderId, filesAndFolders });
105
99
  return { ...mutation, move };
106
100
  };
107
- const BulkMoveDialog = ({ onClose, selected, currentFolder }) => {
101
+ const BulkMoveDialog = ({ onClose, selected = [], currentFolder }) => {
108
102
  const { formatMessage } = useIntl();
109
103
  const { data: folderStructure, isLoading } = useFolderStructure();
110
104
  const { move } = useBulkMove();
@@ -113,16 +107,24 @@ const BulkMoveDialog = ({ onClose, selected, currentFolder }) => {
113
107
  }
114
108
  const handleSubmit = async (values, { setErrors }) => {
115
109
  try {
116
- await move(values.destination.value, selected);
117
- onClose();
110
+ if (typeof values.destination !== "string") {
111
+ const destinationValue = values.destination.value;
112
+ await move(destinationValue, selected);
113
+ onClose();
114
+ }
118
115
  } catch (error) {
119
116
  const normalizedError = normalizeAPIError(error);
120
- const formikErrors = normalizedError.errors.reduce((acc, error2) => {
121
- acc[error2.values?.path?.length || "destination"] = error2.defaultMessage;
122
- return acc;
123
- }, {});
124
- if (!isEmpty(formikErrors)) {
125
- setErrors(formikErrors);
117
+ if (normalizedError && "errors" in normalizedError) {
118
+ const formikErrors = normalizedError.errors?.reduce(
119
+ (acc, error2) => {
120
+ acc[error2.values?.path?.length || "destination"] = error2.defaultMessage;
121
+ return acc;
122
+ },
123
+ {}
124
+ );
125
+ if (!isEmpty(formikErrors)) {
126
+ setErrors(formikErrors);
127
+ }
126
128
  }
127
129
  }
128
130
  };
@@ -155,7 +157,7 @@ const BulkMoveDialog = ({ onClose, selected, currentFolder }) => {
155
157
  onChange: (value) => {
156
158
  setFieldValue("destination", value);
157
159
  },
158
- defaultValue: values.destination,
160
+ defaultValue: typeof values.destination !== "string" ? values.destination : void 0,
159
161
  name: "destination",
160
162
  menuPortalTarget: document.querySelector("body"),
161
163
  inputId: "folder-destination",
@@ -171,18 +173,13 @@ const BulkMoveDialog = ({ onClose, selected, currentFolder }) => {
171
173
  ] })
172
174
  ] }) }) });
173
175
  };
174
- BulkMoveDialog.defaultProps = {
175
- currentFolder: void 0,
176
- selected: []
177
- };
178
- BulkMoveDialog.propTypes = {
179
- onClose: PropTypes.func.isRequired,
180
- currentFolder: FolderDefinition,
181
- selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition)
182
- };
183
- const BulkMoveButton = ({ selected, onSuccess, currentFolder }) => {
176
+ const BulkMoveButton = ({
177
+ selected = [],
178
+ onSuccess,
179
+ currentFolder
180
+ }) => {
184
181
  const { formatMessage } = useIntl();
185
- const [showConfirmDialog, setShowConfirmDialog] = useState(false);
182
+ const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);
186
183
  const handleConfirmMove = () => {
187
184
  setShowConfirmDialog(false);
188
185
  onSuccess();
@@ -199,17 +196,11 @@ const BulkMoveButton = ({ selected, onSuccess, currentFolder }) => {
199
196
  )
200
197
  ] });
201
198
  };
202
- BulkMoveButton.defaultProps = {
203
- currentFolder: void 0,
204
- selected: []
205
- };
206
- BulkMoveButton.propTypes = {
207
- onSuccess: PropTypes.func.isRequired,
208
- currentFolder: FolderDefinition,
209
- selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition)
210
- };
211
- const BulkActions = ({ selected, onSuccess, currentFolder }) => {
199
+ const BulkActions = ({ selected = [], onSuccess, currentFolder }) => {
212
200
  const { formatMessage } = useIntl();
201
+ const numberAssets = selected?.reduce(function(_this, val) {
202
+ return val?.type === "folder" && "files" in val && val?.files && "count" in val.files ? _this + val?.files?.count : _this + 1;
203
+ }, 0);
213
204
  return /* @__PURE__ */ jsxs(Flex, { gap: 2, paddingBottom: 5, children: [
214
205
  /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage(
215
206
  {
@@ -217,24 +208,32 @@ const BulkActions = ({ selected, onSuccess, currentFolder }) => {
217
208
  defaultMessage: "{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected"
218
209
  },
219
210
  {
220
- numberFolders: selected.filter(({ type }) => type === "folder").length,
221
- numberAssets: selected.filter(({ type }) => type === "asset").length
211
+ numberFolders: selected?.filter(({ type }) => type === "folder").length,
212
+ numberAssets
222
213
  }
223
214
  ) }),
224
- /* @__PURE__ */ jsx(BulkDeleteButton, { selected, onSuccess }),
225
- /* @__PURE__ */ jsx(BulkMoveButton, { currentFolder, selected, onSuccess })
215
+ /* @__PURE__ */ jsx(
216
+ BulkDeleteButton,
217
+ {
218
+ selected,
219
+ onSuccess
220
+ }
221
+ ),
222
+ /* @__PURE__ */ jsx(
223
+ BulkMoveButton,
224
+ {
225
+ currentFolder,
226
+ selected,
227
+ onSuccess
228
+ }
229
+ )
226
230
  ] });
227
231
  };
228
- BulkActions.defaultProps = {
229
- currentFolder: void 0,
230
- selected: []
231
- };
232
- BulkActions.propTypes = {
233
- onSuccess: PropTypes.func.isRequired,
234
- currentFolder: FolderDefinition,
235
- selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition)
236
- };
237
- const getContentIntlMessage = ({ isFiltering, canCreate, canRead }) => {
232
+ const getContentIntlMessage = ({
233
+ isFiltering,
234
+ canCreate,
235
+ canRead
236
+ }) => {
238
237
  if (isFiltering) {
239
238
  return {
240
239
  id: "list.assets-empty.title-withSearch",
@@ -258,7 +257,12 @@ const getContentIntlMessage = ({ isFiltering, canCreate, canRead }) => {
258
257
  defaultMessage: "No permissions to view"
259
258
  };
260
259
  };
261
- const EmptyOrNoPermissions = ({ canCreate, isFiltering, canRead, onActionClick }) => {
260
+ const EmptyOrNoPermissions = ({
261
+ canCreate,
262
+ isFiltering,
263
+ canRead,
264
+ onActionClick
265
+ }) => {
262
266
  const { formatMessage } = useIntl();
263
267
  const content = getContentIntlMessage({ isFiltering, canCreate, canRead });
264
268
  return /* @__PURE__ */ jsx(
@@ -276,12 +280,6 @@ const EmptyOrNoPermissions = ({ canCreate, isFiltering, canRead, onActionClick }
276
280
  }
277
281
  );
278
282
  };
279
- EmptyOrNoPermissions.propTypes = {
280
- canCreate: PropTypes.bool.isRequired,
281
- canRead: PropTypes.bool.isRequired,
282
- isFiltering: PropTypes.bool.isRequired,
283
- onActionClick: PropTypes.func.isRequired
284
- };
285
283
  const Filters = () => {
286
284
  const [open, setOpen] = React.useState(false);
287
285
  const { formatMessage } = useIntl();
@@ -320,9 +318,9 @@ const Filters = () => {
320
318
  ] });
321
319
  };
322
320
  const Header = ({
323
- breadcrumbs,
321
+ breadcrumbs = null,
324
322
  canCreate,
325
- folder,
323
+ folder = null,
326
324
  onToggleEditFolderDialog,
327
325
  onToggleUploadAssetDialog
328
326
  }) => {
@@ -331,8 +329,8 @@ const Header = ({
331
329
  const [{ query }] = useQueryParams();
332
330
  const backQuery = {
333
331
  ...query,
334
- folder: folder?.parent?.id ?? void 0,
335
- folderPath: folder?.parent?.path ?? void 0
332
+ folder: folder?.parent && typeof folder.parent !== "number" && folder.parent.id ? folder.parent.id : void 0,
333
+ folderPath: folder?.parent && typeof folder.parent !== "number" && folder.parent.path ? folder.parent.path : void 0
336
334
  };
337
335
  return /* @__PURE__ */ jsx(
338
336
  Layouts.Header,
@@ -341,10 +339,9 @@ const Header = ({
341
339
  id: getTrad("plugin.name"),
342
340
  defaultMessage: `Media Library`
343
341
  }),
344
- subtitle: breadcrumbs && folder && /* @__PURE__ */ jsx(
342
+ subtitle: breadcrumbs && typeof breadcrumbs !== "boolean" && folder && /* @__PURE__ */ jsx(
345
343
  Breadcrumbs,
346
344
  {
347
- tag: "nav",
348
345
  label: formatMessage({
349
346
  id: getTrad("header.breadcrumbs.nav.label"),
350
347
  defaultMessage: "Folders navigation"
@@ -378,17 +375,6 @@ const Header = ({
378
375
  }
379
376
  );
380
377
  };
381
- Header.defaultProps = {
382
- breadcrumbs: false,
383
- folder: null
384
- };
385
- Header.propTypes = {
386
- breadcrumbs: PropTypes.oneOfType([BreadcrumbsDefinition, PropTypes.bool]),
387
- canCreate: PropTypes.bool.isRequired,
388
- folder: FolderDefinition,
389
- onToggleEditFolderDialog: PropTypes.func.isRequired,
390
- onToggleUploadAssetDialog: PropTypes.func.isRequired
391
- };
392
378
  const BoxWithHeight = styled(Box)`
393
379
  height: 3.2rem;
394
380
  display: flex;
@@ -415,7 +401,7 @@ const MediaLibrary = () => {
415
401
  canConfigureView,
416
402
  isLoading: permissionsLoading
417
403
  } = useMediaLibraryPermissions();
418
- const currentFolderToEditRef = useRef();
404
+ const currentFolderToEditRef = React.useRef();
419
405
  const { formatMessage } = useIntl();
420
406
  const { pathname } = useLocation();
421
407
  const { trackUsage } = useTracking();
@@ -426,7 +412,7 @@ const MediaLibrary = () => {
426
412
  const {
427
413
  data: assetsData,
428
414
  isLoading: assetsLoading,
429
- errors: assetsError
415
+ error: assetsError
430
416
  } = useAssets({
431
417
  skipWhen: !canRead,
432
418
  query
@@ -434,7 +420,7 @@ const MediaLibrary = () => {
434
420
  const {
435
421
  data: foldersData,
436
422
  isLoading: foldersLoading,
437
- errors: foldersError
423
+ error: foldersError
438
424
  } = useFolders({
439
425
  enabled: canRead && assetsData?.pagination?.page === 1 && !containsAssetFilter(query),
440
426
  query
@@ -446,13 +432,16 @@ const MediaLibrary = () => {
446
432
  } = useFolder(query?.folder, {
447
433
  enabled: canRead && !!query?.folder
448
434
  });
449
- if (currentFolderError?.response?.status === 404) {
435
+ if (currentFolderError?.name === "NotFoundError") {
450
436
  navigate(pathname);
451
437
  }
452
438
  const folders = foldersData?.map((folder) => ({
453
439
  ...folder,
454
440
  type: "folder",
455
- folderURL: getFolderURL(pathname, query, folder.id),
441
+ folderURL: getFolderURL(pathname, query, {
442
+ folder: folder.id.toString(),
443
+ folderPath: folder.path
444
+ }),
456
445
  isSelectable: canUpdate
457
446
  })) ?? [];
458
447
  const folderCount = folders?.length || 0;
@@ -460,11 +449,14 @@ const MediaLibrary = () => {
460
449
  const assetCount = assets?.length ?? 0;
461
450
  const totalAssetCount = assetsData?.pagination?.total;
462
451
  const isLoading = isCurrentFolderLoading || foldersLoading || permissionsLoading || assetsLoading;
463
- const [showUploadAssetDialog, setShowUploadAssetDialog] = useState(false);
464
- const [showEditFolderDialog, setShowEditFolderDialog] = useState(false);
465
- const [assetToEdit, setAssetToEdit] = useState(void 0);
466
- const [folderToEdit, setFolderToEdit] = useState(void 0);
467
- const [selected, { selectOne, selectAll }] = useSelectionState(["type", "id"], []);
452
+ const [showUploadAssetDialog, setShowUploadAssetDialog] = React.useState(false);
453
+ const [showEditFolderDialog, setShowEditFolderDialog] = React.useState(false);
454
+ const [assetToEdit, setAssetToEdit] = React.useState(void 0);
455
+ const [folderToEdit, setFolderToEdit] = React.useState(void 0);
456
+ const [selected, { selectOne, selectAll }] = useSelectionState(
457
+ ["type", "id"],
458
+ []
459
+ );
468
460
  const indeterminateBulkSelect = selected?.length > 0 && selected?.length !== assetCount + folderCount;
469
461
  const toggleUploadAssetDialog = () => setShowUploadAssetDialog((prev) => !prev);
470
462
  const toggleEditFolderDialog = ({ created = false } = {}) => {
@@ -501,7 +493,7 @@ const MediaLibrary = () => {
501
493
  }
502
494
  };
503
495
  const handleAssetDeleted = (numberOfAssets) => {
504
- if (numberOfAssets === assetCount && assetsData.pagination.page === assetsData.pagination.pageCount && assetsData.pagination.page > 1) {
496
+ if (numberOfAssets === assetCount && assetsData?.pagination?.page === assetsData?.pagination?.pageCount && assetsData?.pagination?.page && assetsData.pagination.page > 1) {
505
497
  setQuery({
506
498
  ...query,
507
499
  page: assetsData.pagination.page - 1
@@ -523,7 +515,10 @@ const MediaLibrary = () => {
523
515
  /* @__PURE__ */ jsx(
524
516
  Header,
525
517
  {
526
- breadcrumbs: !isCurrentFolderLoading && getBreadcrumbDataML(currentFolder, { pathname, query }),
518
+ breadcrumbs: !isCurrentFolderLoading ? getBreadcrumbDataML(currentFolder, {
519
+ pathname,
520
+ query
521
+ }) : null,
527
522
  canCreate,
528
523
  onToggleEditFolderDialog: toggleEditFolderDialog,
529
524
  onToggleUploadAssetDialog: toggleUploadAssetDialog,
@@ -627,7 +622,7 @@ const MediaLibrary = () => {
627
622
  folderCount,
628
623
  indeterminate: indeterminateBulkSelect,
629
624
  onChangeSort: handleChangeSort,
630
- onChangeFolder: (folderID, folderPath) => navigate(getFolderURL(pathname, query, { folder: folderID, folderPath })),
625
+ onChangeFolder: (folderID, folderPath) => navigate(getFolderURL(pathname, query, { folder: folderID.toString(), folderPath })),
631
626
  onEditAsset: setAssetToEdit,
632
627
  onEditFolder: handleEditFolder,
633
628
  onSelectOne: selectOne,
@@ -660,7 +655,7 @@ const MediaLibrary = () => {
660
655
  (currentFolder2) => currentFolder2.id === folder.id
661
656
  );
662
657
  const url = getFolderURL(pathname, query, {
663
- folder: folder?.id,
658
+ folder: folder?.id.toString(),
664
659
  folderPath: folder?.path
665
660
  });
666
661
  return /* @__PURE__ */ jsx(
@@ -676,7 +671,7 @@ const MediaLibrary = () => {
676
671
  ariaLabel: folder.name,
677
672
  id: `folder-${folder.id}`,
678
673
  to: url,
679
- startAction: selectOne && folder.isSelectable ? /* @__PURE__ */ jsx(
674
+ startAction: folder.isSelectable ? /* @__PURE__ */ jsx(
680
675
  FolderCardCheckbox,
681
676
  {
682
677
  "data-testid": `folder-checkbox-${folder.id}`,
@@ -687,7 +682,7 @@ const MediaLibrary = () => {
687
682
  cardActions: /* @__PURE__ */ jsx(
688
683
  IconButton,
689
684
  {
690
- "aria-label": formatMessage({
685
+ label: formatMessage({
691
686
  id: getTrad("list.folder.edit"),
692
687
  defaultMessage: "Edit folder"
693
688
  }),
@@ -721,8 +716,8 @@ const MediaLibrary = () => {
721
716
  defaultMessage: "{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}"
722
717
  },
723
718
  {
724
- folderCount: folder.children.count,
725
- filesCount: folder.files.count
719
+ folderCount: folder.children?.count,
720
+ filesCount: folder.files?.count
726
721
  }
727
722
  )
728
723
  }
@@ -743,7 +738,9 @@ const MediaLibrary = () => {
743
738
  assets,
744
739
  onEditAsset: setAssetToEdit,
745
740
  onSelectAsset: selectOne,
746
- selectedAssets: selected.filter(({ type }) => type === "asset"),
741
+ selectedAssets: selected.filter(
742
+ ({ type }) => type === "asset"
743
+ ),
747
744
  title: (
748
745
  // Assets title should only appear if:
749
746
  // - user is not filtering
@@ -760,7 +757,7 @@ const MediaLibrary = () => {
760
757
  }
761
758
  )
762
759
  ] }),
763
- /* @__PURE__ */ jsxs(Pagination.Root, { ...assetsData.pagination, children: [
760
+ /* @__PURE__ */ jsxs(Pagination.Root, { ...assetsData?.pagination, children: [
764
761
  /* @__PURE__ */ jsx(Pagination.PageSize, {}),
765
762
  /* @__PURE__ */ jsx(Pagination.Links, {})
766
763
  ] })
@@ -779,7 +776,7 @@ const MediaLibrary = () => {
779
776
  EditFolderDialog,
780
777
  {
781
778
  open: showEditFolderDialog,
782
- onClose: handleEditFolderClose,
779
+ onClose: () => handleEditFolderClose(),
783
780
  folder: folderToEdit,
784
781
  parentFolderId: query?.folder,
785
782
  location: "upload"
@@ -804,7 +801,9 @@ const MediaLibrary = () => {
804
801
  )
805
802
  ] });
806
803
  };
807
- const ConfigureTheView = lazy(() => import("./index-DesgImRq.mjs"));
804
+ const ConfigureTheView = React.lazy(
805
+ async () => import("./ConfigureTheView-DgN6B288.mjs").then((mod) => ({ default: mod.ConfigureTheView }))
806
+ );
808
807
  const Upload = () => {
809
808
  const {
810
809
  config: { isLoading, isError, data: config }
@@ -812,11 +811,15 @@ const Upload = () => {
812
811
  const [{ rawQuery }, setQuery] = useQueryParams();
813
812
  const { formatMessage } = useIntl();
814
813
  const title = formatMessage({ id: getTrad("plugin.name"), defaultMessage: "Media Library" });
815
- useEffect(() => {
814
+ React.useEffect(() => {
816
815
  if (isLoading || isError || rawQuery) {
817
816
  return;
818
817
  }
819
- setQuery({ sort: config.sort, page: 1, pageSize: config.pageSize });
818
+ setQuery({
819
+ sort: config.sort,
820
+ page: 1,
821
+ pageSize: config.pageSize
822
+ });
820
823
  }, [isLoading, isError, config, rawQuery, setQuery]);
821
824
  if (isLoading) {
822
825
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -824,12 +827,18 @@ const Upload = () => {
824
827
  /* @__PURE__ */ jsx(Page.Loading, {})
825
828
  ] });
826
829
  }
827
- return /* @__PURE__ */ jsx(Page.Main, { children: rawQuery ? /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Page.Loading, {}), children: /* @__PURE__ */ jsxs(Routes, { children: [
830
+ return /* @__PURE__ */ jsx(Page.Main, { children: rawQuery ? /* @__PURE__ */ jsx(React.Suspense, { fallback: /* @__PURE__ */ jsx(Page.Loading, {}), children: /* @__PURE__ */ jsxs(Routes, { children: [
828
831
  /* @__PURE__ */ jsx(Route, { index: true, element: /* @__PURE__ */ jsx(MediaLibrary, {}) }),
829
- /* @__PURE__ */ jsx(Route, { path: "configuration", element: /* @__PURE__ */ jsx(ConfigureTheView, { config }) })
832
+ /* @__PURE__ */ jsx(
833
+ Route,
834
+ {
835
+ path: "configuration",
836
+ element: /* @__PURE__ */ jsx(ConfigureTheView, { config })
837
+ }
838
+ )
830
839
  ] }) }) : null });
831
840
  };
832
841
  export {
833
- Upload as default
842
+ Upload
834
843
  };
835
- //# sourceMappingURL=index-Sh4Ok2WQ.mjs.map
844
+ //# sourceMappingURL=App-C5068OP3.mjs.map