@strapi/upload 5.0.0-beta.9 → 5.0.0-rc.1

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 (41) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{graphql-Bj6oo87a.js → graphql-DnH9sdRy.js} +2 -2
  3. package/dist/_chunks/{graphql-Bj6oo87a.js.map → graphql-DnH9sdRy.js.map} +1 -1
  4. package/dist/_chunks/{graphql-edcz_5zt.mjs → graphql-_gnSn8ak.mjs} +2 -2
  5. package/dist/_chunks/{graphql-edcz_5zt.mjs.map → graphql-_gnSn8ak.mjs.map} +1 -1
  6. package/dist/_chunks/{index-DmPsR26u.mjs → index-12OzcF7r.mjs} +415 -360
  7. package/dist/_chunks/index-12OzcF7r.mjs.map +1 -0
  8. package/dist/_chunks/{index-4iUTOybK.mjs → index-Bfk_br9x.mjs} +7 -7
  9. package/dist/_chunks/index-Bfk_br9x.mjs.map +1 -0
  10. package/dist/_chunks/{index-GkNHbl9s.js → index-Bht2H-mc.js} +6 -6
  11. package/dist/_chunks/index-Bht2H-mc.js.map +1 -0
  12. package/dist/_chunks/{index-XL3Mrkqq.js → index-CPLBfQb2.js} +10 -19
  13. package/dist/_chunks/index-CPLBfQb2.js.map +1 -0
  14. package/dist/_chunks/{index-BRMOG3M5.mjs → index-Cc9M3C9k.mjs} +11 -20
  15. package/dist/_chunks/index-Cc9M3C9k.mjs.map +1 -0
  16. package/dist/_chunks/{index-Dhpsbqb0.mjs → index-CofwxhyW.mjs} +57 -87
  17. package/dist/_chunks/index-CofwxhyW.mjs.map +1 -0
  18. package/dist/_chunks/{index-_XL6OkHu.js → index-DNIvA1Nj.js} +11 -5
  19. package/dist/_chunks/index-DNIvA1Nj.js.map +1 -0
  20. package/dist/_chunks/{index-DLpj5yNr.js → index-DxZ4ATkY.js} +414 -359
  21. package/dist/_chunks/index-DxZ4ATkY.js.map +1 -0
  22. package/dist/_chunks/{index-BTrpl94p.mjs → index-aW1eiyyQ.mjs} +11 -5
  23. package/dist/_chunks/index-aW1eiyyQ.mjs.map +1 -0
  24. package/dist/_chunks/{index-C6Zy6JkX.js → index-oE8jnZsX.js} +73 -85
  25. package/dist/_chunks/index-oE8jnZsX.js.map +1 -0
  26. package/dist/admin/index.js +1 -1
  27. package/dist/admin/index.mjs +1 -1
  28. package/dist/server/index.js +1 -1
  29. package/dist/server/index.mjs +1 -1
  30. package/dist/server/src/controllers/admin-file.d.ts.map +1 -1
  31. package/package.json +8 -8
  32. package/dist/_chunks/index-4iUTOybK.mjs.map +0 -1
  33. package/dist/_chunks/index-BRMOG3M5.mjs.map +0 -1
  34. package/dist/_chunks/index-BTrpl94p.mjs.map +0 -1
  35. package/dist/_chunks/index-C6Zy6JkX.js.map +0 -1
  36. package/dist/_chunks/index-DLpj5yNr.js.map +0 -1
  37. package/dist/_chunks/index-Dhpsbqb0.mjs.map +0 -1
  38. package/dist/_chunks/index-DmPsR26u.mjs.map +0 -1
  39. package/dist/_chunks/index-GkNHbl9s.js.map +0 -1
  40. package/dist/_chunks/index-XL3Mrkqq.js.map +0 -1
  41. package/dist/_chunks/index-_XL6OkHu.js.map +0 -1
@@ -60,7 +60,7 @@ const __variableDynamicImportRuntimeHelper = (glob, path) => {
60
60
  });
61
61
  };
62
62
  const name$1 = "@strapi/upload";
63
- const version = "5.0.0-beta.8";
63
+ const version = "5.0.0-rc.0";
64
64
  const description = "Makes it easy to upload images and files to your Strapi Application.";
65
65
  const license = "SEE LICENSE IN LICENSE";
66
66
  const author = {
@@ -105,10 +105,10 @@ const scripts = {
105
105
  watch: "pack-up watch"
106
106
  };
107
107
  const dependencies = {
108
- "@strapi/design-system": "2.0.0-beta.4",
109
- "@strapi/icons": "2.0.0-beta.4",
110
- "@strapi/provider-upload-local": "5.0.0-beta.8",
111
- "@strapi/utils": "5.0.0-beta.8",
108
+ "@strapi/design-system": "2.0.0-beta.6",
109
+ "@strapi/icons": "2.0.0-beta.6",
110
+ "@strapi/provider-upload-local": "5.0.0-rc.0",
111
+ "@strapi/utils": "5.0.0-rc.0",
112
112
  "byte-size": "8.1.1",
113
113
  cropperjs: "1.6.1",
114
114
  "date-fns": "2.30.0",
@@ -130,9 +130,9 @@ const dependencies = {
130
130
  yup: "0.32.9"
131
131
  };
132
132
  const devDependencies = {
133
- "@strapi/admin": "5.0.0-beta.8",
133
+ "@strapi/admin": "5.0.0-rc.0",
134
134
  "@strapi/pack-up": "5.0.0",
135
- "@strapi/types": "5.0.0-beta.8",
135
+ "@strapi/types": "5.0.0-rc.0",
136
136
  "@testing-library/dom": "10.1.0",
137
137
  "@testing-library/react": "15.0.7",
138
138
  "@testing-library/user-event": "14.5.2",
@@ -381,20 +381,20 @@ const ParentFolderShape = {
381
381
  };
382
382
  ParentFolderShape.parent = PropTypes__default.default.shape(ParentFolderShape);
383
383
  const FolderShape = {
384
- id: PropTypes__default.default.number.isRequired,
384
+ id: PropTypes__default.default.number,
385
385
  children: PropTypes__default.default.shape({
386
386
  count: PropTypes__default.default.number.isRequired
387
387
  }),
388
- createdAt: PropTypes__default.default.string.isRequired,
388
+ createdAt: PropTypes__default.default.string,
389
389
  createdBy: PropTypes__default.default.shape(),
390
390
  files: PropTypes__default.default.shape({
391
391
  count: PropTypes__default.default.number.isRequired
392
392
  }),
393
- name: PropTypes__default.default.string.isRequired,
394
- updatedAt: PropTypes__default.default.string.isRequired,
393
+ name: PropTypes__default.default.string,
394
+ updatedAt: PropTypes__default.default.string,
395
395
  updatedBy: PropTypes__default.default.shape(),
396
- pathId: PropTypes__default.default.number.isRequired,
397
- path: PropTypes__default.default.string.isRequired
396
+ pathId: PropTypes__default.default.number,
397
+ path: PropTypes__default.default.string
398
398
  };
399
399
  FolderShape.parent = PropTypes__default.default.shape(ParentFolderShape);
400
400
  const FolderDefinition = PropTypes__default.default.shape(FolderShape);
@@ -999,7 +999,7 @@ const ContextInfo = ({ blocks }) => {
999
999
  paddingTop: 4,
1000
1000
  paddingBottom: 4,
1001
1001
  background: "neutral100",
1002
- children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: blocks.map(({ label, value }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 6, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 1, children: [
1002
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: blocks.map(({ label, value }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 1, children: [
1003
1003
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: label }),
1004
1004
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral700", children: value })
1005
1005
  ] }) }, label)) })
@@ -1242,6 +1242,11 @@ const getSelectStyles = (theme, error) => {
1242
1242
  color: theme.colors.neutral800,
1243
1243
  gridTemplateColumns: "0 100%"
1244
1244
  }),
1245
+ menuPortal: (base) => ({
1246
+ ...base,
1247
+ zIndex: theme.zIndices.dialog,
1248
+ pointerEvents: "auto"
1249
+ }),
1245
1250
  menu(base) {
1246
1251
  return {
1247
1252
  ...base,
@@ -1263,10 +1268,6 @@ const getSelectStyles = (theme, error) => {
1263
1268
  paddingRight: theme.spaces[1],
1264
1269
  paddingBottom: theme.spaces[1]
1265
1270
  }),
1266
- menuPortal: (base) => ({
1267
- ...base,
1268
- zIndex: 100
1269
- }),
1270
1271
  option(base, state) {
1271
1272
  let backgroundColor = base.backgroundColor;
1272
1273
  if (state.isFocused || state.isSelected) {
@@ -1331,7 +1332,7 @@ SelectTree.propTypes = {
1331
1332
  };
1332
1333
  const DialogHeader = () => {
1333
1334
  const { formatMessage } = reactIntl.useIntl();
1334
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id: "title", children: formatMessage({ id: "global.details", defaultMessage: "Details" }) }) });
1335
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({ id: "global.details", defaultMessage: "Details" }) }) });
1335
1336
  };
1336
1337
  const QUALITY = 1;
1337
1338
  const useCropImg = () => {
@@ -1589,15 +1590,19 @@ const useRemoveAsset = (onSuccess) => {
1589
1590
  };
1590
1591
  return { ...mutation, removeAsset };
1591
1592
  };
1592
- const RemoveAssetDialog = ({ onClose, asset }) => {
1593
- const { removeAsset } = useRemoveAsset(() => onClose(null));
1594
- const handleConfirm = async () => {
1593
+ const RemoveAssetDialog = ({ open, onClose, asset }) => {
1594
+ const { removeAsset } = useRemoveAsset(() => {
1595
+ onClose(null);
1596
+ });
1597
+ const handleConfirm = async (event) => {
1598
+ event.preventDefault();
1595
1599
  await removeAsset(asset.id);
1596
1600
  };
1597
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { isOpen: true, onClose, onConfirm: handleConfirm });
1601
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirm }) });
1598
1602
  };
1599
1603
  RemoveAssetDialog.propTypes = {
1600
1604
  onClose: PropTypes__default.default.func.isRequired,
1605
+ open: PropTypes__default.default.bool.isRequired,
1601
1606
  asset: PropTypes__default.default.shape({
1602
1607
  id: PropTypes__default.default.number,
1603
1608
  height: PropTypes__default.default.number,
@@ -1657,7 +1662,8 @@ const RelativeBox = styledComponents.styled(designSystem.Box)`
1657
1662
  `;
1658
1663
  const Wrapper$1 = styledComponents.styled.div`
1659
1664
  position: relative;
1660
- text-align: center;
1665
+ display: flex;
1666
+ justify-content: center;
1661
1667
  background: repeating-conic-gradient(
1662
1668
  ${({ theme }) => theme.colors.neutral100} 0% 25%,
1663
1669
  transparent 0% 50%
@@ -1702,6 +1708,7 @@ const UploadProgressWrapper$1 = styledComponents.styled.div`
1702
1708
  `;
1703
1709
  const CroppingActions = ({ onCancel, onValidate, onDuplicate }) => {
1704
1710
  const { formatMessage } = reactIntl.useIntl();
1711
+ const theme = styledComponents.useTheme();
1705
1712
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.FocusTrap, { onEscape: onCancel, children: /* @__PURE__ */ jsxRuntime.jsx(CroppingActionRow, { justifyContent: "flex-end", paddingLeft: 3, paddingRight: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, children: [
1706
1713
  /* @__PURE__ */ jsxRuntime.jsx(
1707
1714
  designSystem.IconButton,
@@ -1737,7 +1744,7 @@ const CroppingActions = ({ onCancel, onValidate, onDuplicate }) => {
1737
1744
  )
1738
1745
  }
1739
1746
  ),
1740
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Content, { zIndex: 5, children: [
1747
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Content, { zIndex: theme.zIndices.dialog, children: [
1741
1748
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Menu.Item, { onSelect: onValidate, children: formatMessage({
1742
1749
  id: getTrad("checkControl.crop-original"),
1743
1750
  defaultMessage: "Crop the original asset"
@@ -1950,9 +1957,10 @@ const PreviewBox = ({
1950
1957
  }
1951
1958
  )
1952
1959
  ] }),
1953
- showConfirmDialog && /* @__PURE__ */ jsxRuntime.jsx(
1960
+ /* @__PURE__ */ jsxRuntime.jsx(
1954
1961
  RemoveAssetDialog,
1955
1962
  {
1963
+ open: showConfirmDialog,
1956
1964
  onClose: () => {
1957
1965
  setShowConfirmDialog(false);
1958
1966
  onDelete(null);
@@ -2030,7 +2038,7 @@ const fileInfoSchema = yup__namespace.object({
2030
2038
  caption: yup__namespace.string(),
2031
2039
  folder: yup__namespace.number()
2032
2040
  });
2033
- const EditAssetDialog = ({
2041
+ const EditAssetContent = ({
2034
2042
  onClose,
2035
2043
  asset,
2036
2044
  canUpdate,
@@ -2103,18 +2111,13 @@ const EditAssetDialog = ({
2103
2111
  }
2104
2112
  };
2105
2113
  if (folderStructureIsLoading) {
2106
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose: () => handleClose(), labelledBy: "title", children: [
2114
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2107
2115
  /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, {}),
2108
2116
  /* @__PURE__ */ jsxRuntime.jsx(LoadingBody$1, { minHeight: "60vh", justifyContent: "center", paddingTop: 4, paddingBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { children: formatMessage({
2109
2117
  id: getTrad("content.isLoading"),
2110
2118
  defaultMessage: "Content is loading."
2111
2119
  }) }) }),
2112
- /* @__PURE__ */ jsxRuntime.jsx(
2113
- designSystem.ModalFooter,
2114
- {
2115
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => handleClose(), variant: "tertiary", children: formatMessage({ id: "cancel", defaultMessage: "Cancel" }) })
2116
- }
2117
- )
2120
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => handleClose(), variant: "tertiary", children: formatMessage({ id: "cancel", defaultMessage: "Cancel" }) }) })
2118
2121
  ] });
2119
2122
  }
2120
2123
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2124,10 +2127,10 @@ const EditAssetDialog = ({
2124
2127
  validateOnChange: false,
2125
2128
  onSubmit: handleSubmit,
2126
2129
  initialValues: initialFormData,
2127
- children: ({ values, errors, handleChange, setFieldValue }) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose: () => handleClose(values), labelledBy: "title", children: [
2130
+ children: ({ values, errors, handleChange, setFieldValue }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2128
2131
  /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, {}),
2129
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 4, children: [
2130
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
2132
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { gap: 4, children: [
2133
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
2131
2134
  PreviewBox,
2132
2135
  {
2133
2136
  asset,
@@ -2142,7 +2145,7 @@ const EditAssetDialog = ({
2142
2145
  trackedLocation
2143
2146
  }
2144
2147
  ) }),
2145
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(formik.Form, { noValidate: true, children: [
2148
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(formik.Form, { noValidate: true, children: [
2146
2149
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 3, children: [
2147
2150
  /* @__PURE__ */ jsxRuntime.jsx(
2148
2151
  ContextInfo,
@@ -2277,44 +2280,64 @@ const EditAssetDialog = ({
2277
2280
  ) })
2278
2281
  ] }) })
2279
2282
  ] }) }),
2280
- /* @__PURE__ */ jsxRuntime.jsx(
2281
- designSystem.ModalFooter,
2282
- {
2283
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => handleClose(values), variant: "tertiary", children: formatMessage({ id: "global.cancel", defaultMessage: "Cancel" }) }),
2284
- endActions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2285
- /* @__PURE__ */ jsxRuntime.jsx(
2286
- ReplaceMediaButton,
2287
- {
2288
- onSelectMedia: setReplacementFile,
2289
- acceptedMime: asset.mime,
2290
- disabled: formDisabled,
2291
- trackedLocation
2292
- }
2293
- ),
2294
- /* @__PURE__ */ jsxRuntime.jsx(
2295
- designSystem.Button,
2296
- {
2297
- onClick: () => submitButtonRef.current.click(),
2298
- loading: isLoading,
2299
- disabled: formDisabled,
2300
- children: formatMessage({ id: "global.finish", defaultMessage: "Finish" })
2301
- }
2302
- )
2303
- ] })
2304
- }
2305
- )
2283
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
2284
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => handleClose(values), variant: "tertiary", children: formatMessage({ id: "global.cancel", defaultMessage: "Cancel" }) }),
2285
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
2286
+ /* @__PURE__ */ jsxRuntime.jsx(
2287
+ ReplaceMediaButton,
2288
+ {
2289
+ onSelectMedia: setReplacementFile,
2290
+ acceptedMime: asset.mime,
2291
+ disabled: formDisabled,
2292
+ trackedLocation
2293
+ }
2294
+ ),
2295
+ /* @__PURE__ */ jsxRuntime.jsx(
2296
+ designSystem.Button,
2297
+ {
2298
+ onClick: () => submitButtonRef.current.click(),
2299
+ loading: isLoading,
2300
+ disabled: formDisabled,
2301
+ children: formatMessage({ id: "global.finish", defaultMessage: "Finish" })
2302
+ }
2303
+ )
2304
+ ] })
2305
+ ] })
2306
2306
  ] })
2307
2307
  }
2308
2308
  );
2309
2309
  };
2310
+ EditAssetContent.defaultProps = {
2311
+ asset: {},
2312
+ trackedLocation: void 0,
2313
+ canUpdate: false,
2314
+ canCopyLink: false,
2315
+ canDownload: false
2316
+ };
2317
+ EditAssetContent.propTypes = {
2318
+ asset: AssetDefinition,
2319
+ canUpdate: PropTypes__default.default.bool,
2320
+ canCopyLink: PropTypes__default.default.bool,
2321
+ canDownload: PropTypes__default.default.bool,
2322
+ onClose: PropTypes__default.default.func.isRequired,
2323
+ trackedLocation: PropTypes__default.default.string
2324
+ };
2325
+ const EditAssetDialog = ({ open, onClose, ...restProps }) => {
2326
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(EditAssetContent, { onClose, ...restProps }) }) });
2327
+ };
2310
2328
  EditAssetDialog.defaultProps = {
2311
- trackedLocation: void 0
2329
+ asset: {},
2330
+ trackedLocation: void 0,
2331
+ canUpdate: false,
2332
+ canCopyLink: false,
2333
+ canDownload: false
2312
2334
  };
2313
2335
  EditAssetDialog.propTypes = {
2314
- asset: AssetDefinition.isRequired,
2315
- canUpdate: PropTypes__default.default.bool.isRequired,
2316
- canCopyLink: PropTypes__default.default.bool.isRequired,
2317
- canDownload: PropTypes__default.default.bool.isRequired,
2336
+ asset: AssetDefinition,
2337
+ canUpdate: PropTypes__default.default.bool,
2338
+ canCopyLink: PropTypes__default.default.bool,
2339
+ canDownload: PropTypes__default.default.bool,
2340
+ open: PropTypes__default.default.bool.isRequired,
2318
2341
  onClose: PropTypes__default.default.func.isRequired,
2319
2342
  trackedLocation: PropTypes__default.default.string
2320
2343
  };
@@ -2381,7 +2404,7 @@ const useEditFolder = () => {
2381
2404
  };
2382
2405
  const EditFolderModalHeader = ({ isEditing }) => {
2383
2406
  const { formatMessage } = reactIntl.useIntl();
2384
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id: "title", children: formatMessage(
2407
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage(
2385
2408
  isEditing ? {
2386
2409
  id: getTrad("modal.folder.edit.title"),
2387
2410
  defaultMessage: "Edit folder"
@@ -2397,11 +2420,12 @@ EditFolderModalHeader.defaultProps = {
2397
2420
  EditFolderModalHeader.propTypes = {
2398
2421
  isEditing: PropTypes__default.default.bool
2399
2422
  };
2400
- const RemoveFolderDialog = ({ onClose, onConfirm }) => {
2401
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { isOpen: true, onClose, onConfirm });
2423
+ const RemoveFolderDialog = ({ onClose, onConfirm, open }) => {
2424
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm }) });
2402
2425
  };
2403
2426
  RemoveFolderDialog.propTypes = {
2404
2427
  onClose: PropTypes__default.default.func.isRequired,
2428
+ open: PropTypes__default.default.bool.isRequired,
2405
2429
  onConfirm: PropTypes__default.default.func.isRequired
2406
2430
  };
2407
2431
  const folderSchema = yup__namespace.object({
@@ -2411,7 +2435,7 @@ const folderSchema = yup__namespace.object({
2411
2435
  value: yup__namespace.number().nullable(true)
2412
2436
  }).nullable(true)
2413
2437
  });
2414
- const EditFolderDialog = ({ onClose, folder, location, parentFolderId }) => {
2438
+ const EditFolderContent = ({ onClose, folder, location, parentFolderId }) => {
2415
2439
  const { data: folderStructure, isLoading: folderStructureIsLoading } = useFolderStructure({
2416
2440
  enabled: true
2417
2441
  });
@@ -2481,15 +2505,15 @@ const EditFolderDialog = ({ onClose, folder, location, parentFolderId }) => {
2481
2505
  onClose();
2482
2506
  };
2483
2507
  if (isLoading) {
2484
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose: () => onClose(), labelledBy: "title", children: [
2508
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2485
2509
  /* @__PURE__ */ jsxRuntime.jsx(EditFolderModalHeader, { isEditing }),
2486
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", paddingTop: 4, paddingBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { children: formatMessage({
2510
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", paddingTop: 4, paddingBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { children: formatMessage({
2487
2511
  id: getTrad("content.isLoading"),
2488
2512
  defaultMessage: "Content is loading."
2489
2513
  }) }) }) })
2490
2514
  ] });
2491
2515
  }
2492
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose: () => onClose(), labelledBy: "title", children: [
2516
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2493
2517
  /* @__PURE__ */ jsxRuntime.jsx(
2494
2518
  formik.Formik,
2495
2519
  {
@@ -2499,8 +2523,8 @@ const EditFolderDialog = ({ onClose, folder, location, parentFolderId }) => {
2499
2523
  initialValues: initialFormData,
2500
2524
  children: ({ values, errors, handleChange, setFieldValue }) => /* @__PURE__ */ jsxRuntime.jsxs(formik.Form, { noValidate: true, children: [
2501
2525
  /* @__PURE__ */ jsxRuntime.jsx(EditFolderModalHeader, { isEditing }),
2502
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 4, children: [
2503
- isEditing && /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { xs: 12, col: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
2526
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { gap: 4, children: [
2527
+ isEditing && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { xs: 12, col: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
2504
2528
  ContextInfo,
2505
2529
  {
2506
2530
  blocks: [
@@ -2530,7 +2554,7 @@ const EditFolderDialog = ({ onClose, folder, location, parentFolderId }) => {
2530
2554
  ]
2531
2555
  }
2532
2556
  ) }),
2533
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { name: "name", error: errors.name, children: [
2557
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { name: "name", error: errors.name, children: [
2534
2558
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
2535
2559
  id: getTrad("form.input.label.folder-name"),
2536
2560
  defaultMessage: "Name"
@@ -2545,7 +2569,7 @@ const EditFolderDialog = ({ onClose, folder, location, parentFolderId }) => {
2545
2569
  ),
2546
2570
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
2547
2571
  ] }) }),
2548
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { id: "folder-parent", children: [
2572
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { xs: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { id: "folder-parent", children: [
2549
2573
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
2550
2574
  id: getTrad("form.input.label.folder-location"),
2551
2575
  defaultMessage: "Location"
@@ -2579,46 +2603,64 @@ const EditFolderDialog = ({ onClose, folder, location, parentFolderId }) => {
2579
2603
  )
2580
2604
  ] }) })
2581
2605
  ] }) }),
2582
- /* @__PURE__ */ jsxRuntime.jsx(
2583
- designSystem.ModalFooter,
2584
- {
2585
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => onClose(), variant: "tertiary", name: "cancel", children: formatMessage({ id: "cancel", defaultMessage: "Cancel" }) }),
2586
- endActions: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
2587
- isEditing && canUpdate && /* @__PURE__ */ jsxRuntime.jsx(
2588
- designSystem.Button,
2589
- {
2590
- type: "button",
2591
- variant: "danger-light",
2592
- onClick: () => setShowConfirmDialog(true),
2593
- name: "delete",
2594
- disabled: !canUpdate || isEditFolderLoading,
2595
- children: formatMessage({
2596
- id: getTrad("modal.folder.create.delete"),
2597
- defaultMessage: "Delete folder"
2598
- })
2599
- }
2600
- ),
2601
- /* @__PURE__ */ jsxRuntime.jsx(
2602
- designSystem.Button,
2603
- {
2604
- name: "submit",
2605
- loading: isEditFolderLoading,
2606
- disabled: formDisabled,
2607
- type: "submit",
2608
- children: formatMessage(
2609
- isEditing ? { id: getTrad("modal.folder.edit.submit"), defaultMessage: "Save" } : { id: getTrad("modal.folder.create.submit"), defaultMessage: "Create" }
2610
- )
2611
- }
2612
- )
2613
- ] })
2614
- }
2615
- )
2606
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
2607
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => onClose(), variant: "tertiary", name: "cancel", children: formatMessage({ id: "cancel", defaultMessage: "Cancel" }) }),
2608
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
2609
+ isEditing && canUpdate && /* @__PURE__ */ jsxRuntime.jsx(
2610
+ designSystem.Button,
2611
+ {
2612
+ type: "button",
2613
+ variant: "danger-light",
2614
+ onClick: () => setShowConfirmDialog(true),
2615
+ name: "delete",
2616
+ disabled: !canUpdate || isEditFolderLoading,
2617
+ children: formatMessage({
2618
+ id: getTrad("modal.folder.create.delete"),
2619
+ defaultMessage: "Delete folder"
2620
+ })
2621
+ }
2622
+ ),
2623
+ /* @__PURE__ */ jsxRuntime.jsx(
2624
+ designSystem.Button,
2625
+ {
2626
+ name: "submit",
2627
+ loading: isEditFolderLoading,
2628
+ disabled: formDisabled,
2629
+ type: "submit",
2630
+ children: formatMessage(
2631
+ isEditing ? { id: getTrad("modal.folder.edit.submit"), defaultMessage: "Save" } : { id: getTrad("modal.folder.create.submit"), defaultMessage: "Create" }
2632
+ )
2633
+ }
2634
+ )
2635
+ ] })
2636
+ ] })
2616
2637
  ] })
2617
2638
  }
2618
2639
  ),
2619
- showConfirmDialog && /* @__PURE__ */ jsxRuntime.jsx(RemoveFolderDialog, { onClose: () => setShowConfirmDialog(false), onConfirm: handleDelete })
2640
+ /* @__PURE__ */ jsxRuntime.jsx(
2641
+ RemoveFolderDialog,
2642
+ {
2643
+ open: showConfirmDialog,
2644
+ onClose: () => setShowConfirmDialog(false),
2645
+ onConfirm: handleDelete
2646
+ }
2647
+ )
2620
2648
  ] });
2621
2649
  };
2650
+ EditFolderContent.defaultProps = {
2651
+ folder: void 0,
2652
+ location: void 0,
2653
+ parentFolderId: null
2654
+ };
2655
+ EditFolderContent.propTypes = {
2656
+ folder: FolderDefinition,
2657
+ location: PropTypes__default.default.string,
2658
+ onClose: PropTypes__default.default.func.isRequired,
2659
+ parentFolderId: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.number])
2660
+ };
2661
+ const EditFolderDialog = ({ open, onClose, ...restProps }) => {
2662
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(EditFolderContent, { ...restProps, onClose }) }) });
2663
+ };
2622
2664
  EditFolderDialog.defaultProps = {
2623
2665
  folder: void 0,
2624
2666
  location: void 0,
@@ -2627,6 +2669,7 @@ EditFolderDialog.defaultProps = {
2627
2669
  EditFolderDialog.propTypes = {
2628
2670
  folder: FolderDefinition,
2629
2671
  location: PropTypes__default.default.string,
2672
+ open: PropTypes__default.default.bool.isRequired,
2630
2673
  onClose: PropTypes__default.default.func.isRequired,
2631
2674
  parentFolderId: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.number])
2632
2675
  };
@@ -2713,7 +2756,7 @@ const AssetCardBase = ({
2713
2756
  return /* @__PURE__ */ jsxRuntime.jsxs(CardContainer, { role: "button", height: "100%", tabIndex: -1, onClick: handleClick, children: [
2714
2757
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.CardHeader, { children: [
2715
2758
  isSelectable2 && // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
2716
- /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: handlePropagationClick, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.CardCheckbox, { value: selected, onValueChange: onSelect }) }),
2759
+ /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: handlePropagationClick, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.CardCheckbox, { checked: selected, onCheckedChange: onSelect }) }),
2717
2760
  (onRemove || onEdit) && /* @__PURE__ */ jsxRuntime.jsxs(CardActionsContainer, { onClick: handlePropagationClick, position: "end", children: [
2718
2761
  onRemove && /* @__PURE__ */ jsxRuntime.jsx(
2719
2762
  designSystem.IconButton,
@@ -3049,10 +3092,10 @@ const AssetGridList = ({
3049
3092
  }) => {
3050
3093
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.KeyboardNavigable, { tagName: "article", children: [
3051
3094
  title && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 2, paddingBottom: 2, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "delta", fontWeight: "semiBold", children: title }) }),
3052
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: assets.map((asset, index2) => {
3095
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: assets.map((asset, index2) => {
3053
3096
  const isSelected = !!selectedAssets.find((currentAsset) => currentAsset.id === asset.id);
3054
3097
  if (onReorderAsset) {
3055
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 3, height: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(Draggable, { index: index2, moveItem: onReorderAsset, id: asset.id, children: /* @__PURE__ */ jsxRuntime.jsx(
3098
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 3, height: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(Draggable, { index: index2, moveItem: onReorderAsset, id: asset.id, children: /* @__PURE__ */ jsxRuntime.jsx(
3056
3099
  AssetCard,
3057
3100
  {
3058
3101
  allowedTypes,
@@ -3064,7 +3107,7 @@ const AssetGridList = ({
3064
3107
  }
3065
3108
  ) }) }, asset.id);
3066
3109
  }
3067
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 3, height: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
3110
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 3, height: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
3068
3111
  AssetCard,
3069
3112
  {
3070
3113
  allowedTypes,
@@ -3287,7 +3330,7 @@ const Card = styledComponents.styled(designSystem.Box)`
3287
3330
  &:hover,
3288
3331
  &:focus-within {
3289
3332
  ${CardActionDisplay} {
3290
- display: ${({ isCardActions }) => isCardActions ? "block" : ""};
3333
+ display: ${({ $isCardActions }) => $isCardActions ? "block" : ""};
3291
3334
  }
3292
3335
  }
3293
3336
  `;
@@ -3295,7 +3338,7 @@ const FolderCard = React.forwardRef(
3295
3338
  ({ children, id: id2, startAction, cardActions, ariaLabel, onClick, to, ...props }, ref) => {
3296
3339
  const generatedId = useId(id2);
3297
3340
  const fodlerCtxValue = React.useMemo(() => ({ id: generatedId }), [generatedId]);
3298
- return /* @__PURE__ */ jsxRuntime.jsx(FolderCardContext.Provider, { value: fodlerCtxValue, children: /* @__PURE__ */ jsxRuntime.jsxs(Card, { position: "relative", tabIndex: 0, isCardActions: !!cardActions, ref, ...props, children: [
3341
+ return /* @__PURE__ */ jsxRuntime.jsx(FolderCardContext.Provider, { value: fodlerCtxValue, children: /* @__PURE__ */ jsxRuntime.jsxs(Card, { position: "relative", tabIndex: 0, $isCardActions: !!cardActions, ref, ...props, children: [
3299
3342
  /* @__PURE__ */ jsxRuntime.jsx(
3300
3343
  FauxClickWrapper,
3301
3344
  {
@@ -3410,7 +3453,7 @@ FolderCardBodyAction.propTypes = {
3410
3453
  const FolderGridList = ({ title, children }) => {
3411
3454
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.KeyboardNavigable, { tagName: "article", children: [
3412
3455
  title && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 2, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "delta", fontWeight: "semiBold", children: title }) }),
3413
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children })
3456
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children })
3414
3457
  ] });
3415
3458
  };
3416
3459
  FolderGridList.defaultProps = {
@@ -3463,12 +3506,22 @@ const VideoPreviewWrapper$1 = styledComponents.styled(designSystem.Box)`
3463
3506
  `;
3464
3507
  const PreviewCell = ({ type, content }) => {
3465
3508
  if (type === "folder") {
3466
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Initials, { background: "secondary100", textColor: "secondary600", children: /* @__PURE__ */ jsxRuntime.jsx(icons.Folder, { fill: "secondary500", width: "1.6rem", height: "1.6rem" }) });
3509
+ return /* @__PURE__ */ jsxRuntime.jsx(
3510
+ designSystem.Flex,
3511
+ {
3512
+ justifyContent: "center",
3513
+ background: "secondary100",
3514
+ width: "3.2rem",
3515
+ height: "3.2rem",
3516
+ borderRadius: "50%",
3517
+ children: /* @__PURE__ */ jsxRuntime.jsx(icons.Folder, { fill: "secondary500", width: "1.6rem", height: "1.6rem" })
3518
+ }
3519
+ );
3467
3520
  }
3468
3521
  const { alternativeText, ext, formats, mime, name: name2, url } = content;
3469
3522
  if (mime.includes(AssetType.Image)) {
3470
3523
  const mediaURL = prefixFileUrlWithBackendUrl(formats?.thumbnail?.url) ?? prefixFileUrlWithBackendUrl(url);
3471
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Avatar, { src: mediaURL, alt: alternativeText, preview: true });
3524
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Avatar.Item, { src: mediaURL, alt: alternativeText, preview: true });
3472
3525
  }
3473
3526
  if (mime.includes(AssetType.Video)) {
3474
3527
  return /* @__PURE__ */ jsxRuntime.jsx(VideoPreviewWrapper$1, { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -3480,7 +3533,7 @@ const PreviewCell = ({ type, content }) => {
3480
3533
  }
3481
3534
  ) });
3482
3535
  }
3483
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Initials, { background: "secondary100", textColor: "secondary600", children: getFileExtension(ext) });
3536
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { background: "secondary100", color: "secondary600", width: "3.2rem", height: "3.2rem", children: getFileExtension(ext) });
3484
3537
  };
3485
3538
  PreviewCell.propTypes = {
3486
3539
  content: PropTypes__default.default.shape({
@@ -3584,7 +3637,7 @@ const TableRows = ({
3584
3637
  );
3585
3638
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { onClick: () => handleRowClickFn(element, contentType, id2, path), children: [
3586
3639
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
3587
- designSystem.BaseCheckbox,
3640
+ designSystem.Checkbox,
3588
3641
  {
3589
3642
  "aria-label": formatMessage(
3590
3643
  {
@@ -3594,7 +3647,7 @@ const TableRows = ({
3594
3647
  { name: name2 }
3595
3648
  ),
3596
3649
  disabled: !isSelectable2,
3597
- onValueChange: () => onSelectOne(element),
3650
+ onCheckedChange: () => onSelectOne(element),
3598
3651
  checked: isSelected
3599
3652
  }
3600
3653
  ) }),
@@ -3678,16 +3731,15 @@ const TableList = ({
3678
3731
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Table, { colCount: tableHeaders.length + 2, rowCount: assetCount + folderCount + 1, children: [
3679
3732
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Thead, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
3680
3733
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(
3681
- designSystem.BaseCheckbox,
3734
+ designSystem.Checkbox,
3682
3735
  {
3683
3736
  "aria-label": formatMessage({
3684
3737
  id: getTrad("bulk.select.label"),
3685
3738
  defaultMessage: "Select all folders & assets"
3686
3739
  }),
3687
3740
  disabled: shouldDisableBulkSelect,
3688
- indeterminate: indeterminate && !shouldDisableBulkSelect,
3689
- onChange: (e) => onSelectAll(e, rows),
3690
- value: (assetCount > 0 || folderCount > 0) && selected.length === assetCount + folderCount
3741
+ onCheckedChange: (checked) => onSelectAll(checked, rows),
3742
+ checked: indeterminate && !shouldDisableBulkSelect ? "indeterminate" : (assetCount > 0 || folderCount > 0) && selected.length === assetCount + folderCount
3691
3743
  }
3692
3744
  ) }),
3693
3745
  tableHeaders.map(({ metadatas: { label, isSortable }, name: name2, key }) => {
@@ -3828,7 +3880,7 @@ const FilterTag = ({ attribute, filter, onClick, operator, value }) => {
3828
3880
  id: `components.FilterOptions.FILTER_TYPES.${operator}`,
3829
3881
  defaultMessage: operator
3830
3882
  })} ${formattedValue}`;
3831
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { padding: 1, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tag, { onClick: handleClick, icon: /* @__PURE__ */ jsxRuntime.jsx(icons.Cross, {}), children: content }) });
3883
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tag, { onClick: handleClick, icon: /* @__PURE__ */ jsxRuntime.jsx(icons.Cross, {}), padding: 1, children: content });
3832
3884
  };
3833
3885
  FilterTag.propTypes = {
3834
3886
  attribute: PropTypes__default.default.shape({
@@ -4035,7 +4087,7 @@ const getFilterList = ({ fieldSchema: { type: fieldType, mainField } }) => {
4035
4087
  ];
4036
4088
  }
4037
4089
  };
4038
- const FilterPopover = ({ displayedFilters: displayedFilters2, filters, onSubmit, onToggle, source }) => {
4090
+ const FilterPopover = ({ displayedFilters: displayedFilters2, filters, onSubmit, onToggle }) => {
4039
4091
  const { formatMessage } = reactIntl.useIntl();
4040
4092
  const [modifiedData, setModifiedData] = React.useState({
4041
4093
  name: "createdAt",
@@ -4157,7 +4209,7 @@ const FilterPopover = ({ displayedFilters: displayedFilters2, filters, onSubmit,
4157
4209
  onToggle();
4158
4210
  };
4159
4211
  const appliedFilter = displayedFilters2.find((filter) => filter.name === modifiedData.name);
4160
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover, { onDismiss: onToggle, source, padding: 3, spacing: 4, children: /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 1, style: { minWidth: 184 }, children: [
4212
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 3, direction: "column", alignItems: "stretch", gap: 1, style: { minWidth: 184 }, children: [
4161
4213
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { children: /* @__PURE__ */ jsxRuntime.jsx(
4162
4214
  designSystem.SingleSelect,
4163
4215
  {
@@ -4212,34 +4264,20 @@ FilterPopover.propTypes = {
4212
4264
  ).isRequired,
4213
4265
  filters: PropTypes__default.default.array.isRequired,
4214
4266
  onSubmit: PropTypes__default.default.func.isRequired,
4215
- onToggle: PropTypes__default.default.func.isRequired,
4216
- source: PropTypes__default.default.shape({ current: PropTypes__default.default.instanceOf(Element) }).isRequired
4267
+ onToggle: PropTypes__default.default.func.isRequired
4217
4268
  };
4218
4269
  const Filters = ({ appliedFilters, onChangeFilters }) => {
4219
- const buttonRef = React.useRef(null);
4220
- const [isVisible, setVisible] = React.useState(false);
4270
+ const [open, setOpen] = React__namespace.useState(false);
4221
4271
  const { formatMessage } = reactIntl.useIntl();
4222
- const toggleFilter = () => setVisible((prev) => !prev);
4223
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4272
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { open, onOpenChange: setOpen, children: [
4273
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Filter, {}), size: "S", children: formatMessage({ id: "app.utils.filters", defaultMessage: "Filters" }) }) }),
4224
4274
  /* @__PURE__ */ jsxRuntime.jsx(
4225
- designSystem.Button,
4226
- {
4227
- variant: "tertiary",
4228
- ref: buttonRef,
4229
- startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Filter, {}),
4230
- onClick: toggleFilter,
4231
- size: "S",
4232
- children: formatMessage({ id: "app.utils.filters", defaultMessage: "Filters" })
4233
- }
4234
- ),
4235
- isVisible && /* @__PURE__ */ jsxRuntime.jsx(
4236
4275
  FilterPopover,
4237
4276
  {
4277
+ onToggle: setOpen,
4238
4278
  displayedFilters,
4239
4279
  filters: appliedFilters,
4240
- onSubmit: onChangeFilters,
4241
- onToggle: toggleFilter,
4242
- source: buttonRef
4280
+ onSubmit: onChangeFilters
4243
4281
  }
4244
4282
  ),
4245
4283
  appliedFilters && /* @__PURE__ */ jsxRuntime.jsx(
@@ -4695,15 +4733,14 @@ const BrowseStep = ({
4695
4733
  borderColor: "neutral200",
4696
4734
  height: "3.2rem",
4697
4735
  children: /* @__PURE__ */ jsxRuntime.jsx(
4698
- designSystem.BaseCheckbox,
4736
+ designSystem.Checkbox,
4699
4737
  {
4700
4738
  "aria-label": formatMessage({
4701
4739
  id: getTrad("bulk.select.label"),
4702
4740
  defaultMessage: "Select all assets"
4703
4741
  }),
4704
- indeterminate: !areAllAssetSelected && hasSomeAssetSelected,
4705
- value: areAllAssetSelected,
4706
- onChange: onSelectAllAsset
4742
+ checked: !areAllAssetSelected && hasSomeAssetSelected ? "indeterminate" : areAllAssetSelected,
4743
+ onCheckedChange: onSelectAllAsset
4707
4744
  }
4708
4745
  )
4709
4746
  }
@@ -4804,7 +4841,7 @@ const BrowseStep = ({
4804
4841
  { count: folderCount }
4805
4842
  ) || "",
4806
4843
  children: folders.map((folder) => {
4807
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 3, children: /* @__PURE__ */ jsxRuntime.jsx(
4844
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 3, children: /* @__PURE__ */ jsxRuntime.jsx(
4808
4845
  FolderCard,
4809
4846
  {
4810
4847
  ariaLabel: folder.name,
@@ -4827,10 +4864,18 @@ const BrowseStep = ({
4827
4864
  {
4828
4865
  onClick: () => handleClickFolderCard(folder.id, folder.path),
4829
4866
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { tag: "h2", direction: "column", alignItems: "start", maxWidth: "100%", children: [
4830
- /* @__PURE__ */ jsxRuntime.jsxs(TypographyMaxWidth, { fontWeight: "semiBold", ellipsis: true, children: [
4831
- folder.name,
4832
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: "-" })
4833
- ] }),
4867
+ /* @__PURE__ */ jsxRuntime.jsxs(
4868
+ TypographyMaxWidth,
4869
+ {
4870
+ fontWeight: "semiBold",
4871
+ ellipsis: true,
4872
+ textColor: "neutral800",
4873
+ children: [
4874
+ folder.name,
4875
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: "-" })
4876
+ ]
4877
+ }
4878
+ ),
4834
4879
  /* @__PURE__ */ jsxRuntime.jsx(
4835
4880
  TypographyMaxWidth,
4836
4881
  {
@@ -4928,13 +4973,10 @@ BrowseStep.propTypes = {
4928
4973
  };
4929
4974
  const DialogFooter = ({ onClose, onValidate }) => {
4930
4975
  const { formatMessage } = reactIntl.useIntl();
4931
- return /* @__PURE__ */ jsxRuntime.jsx(
4932
- designSystem.ModalFooter,
4933
- {
4934
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
4935
- endActions: onValidate && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onValidate, children: formatMessage({ id: "global.finish", defaultMessage: "Finish" }) })
4936
- }
4937
- );
4976
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
4977
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
4978
+ onValidate && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onValidate, children: formatMessage({ id: "global.finish", defaultMessage: "Finish" }) })
4979
+ ] });
4938
4980
  };
4939
4981
  DialogFooter.defaultProps = {
4940
4982
  onValidate: void 0
@@ -4983,7 +5025,7 @@ const LoadingBody = styledComponents.styled(designSystem.Flex)`
4983
5025
  /* 80px are coming from the Tabs component that is not included in the ModalBody */
4984
5026
  min-height: ${() => `calc(60vh + 8rem)`};
4985
5027
  `;
4986
- const AssetDialog = ({
5028
+ const AssetContent = ({
4987
5029
  allowedTypes,
4988
5030
  folderId,
4989
5031
  onClose,
@@ -5034,9 +5076,6 @@ const AssetDialog = ({
5034
5076
  selectedAssets,
5035
5077
  { selectOne, selectOnly, setSelections, selectMultiple, deselectMultiple }
5036
5078
  ] = useSelectionState(["id"], initiallySelectedAssets);
5037
- const [initialSelectedTabIndex, setInitialSelectedTabIndex] = React.useState(
5038
- selectedAssets.length > 0 ? 1 : 0
5039
- );
5040
5079
  const handleSelectAllAssets = () => {
5041
5080
  const allowedAssets = getAllowedFiles(allowedTypes, assets);
5042
5081
  if (!multiple) {
@@ -5057,8 +5096,8 @@ const AssetDialog = ({
5057
5096
  const isLoading = isLoadingPermissions || isLoadingAssets || isLoadingFolders;
5058
5097
  const hasError = errorAssets || errorFolders;
5059
5098
  if (isLoading) {
5060
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose, labelledBy: "asset-dialog-title", "aria-busy": true, children: [
5061
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: formatMessage({
5099
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5100
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
5062
5101
  id: getTrad("header.actions.add-assets"),
5063
5102
  defaultMessage: "Add new assets"
5064
5103
  }) }) }),
@@ -5070,8 +5109,8 @@ const AssetDialog = ({
5070
5109
  ] });
5071
5110
  }
5072
5111
  if (hasError) {
5073
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose, labelledBy: "asset-dialog-title", children: [
5074
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: formatMessage({
5112
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5113
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
5075
5114
  id: getTrad("header.actions.add-assets"),
5076
5115
  defaultMessage: "Add new assets"
5077
5116
  }) }) }),
@@ -5080,8 +5119,8 @@ const AssetDialog = ({
5080
5119
  ] });
5081
5120
  }
5082
5121
  if (!canRead) {
5083
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose, labelledBy: "asset-dialog-title", children: [
5084
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { fontWeight: "bold", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
5122
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5123
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
5085
5124
  id: getTrad("header.actions.add-assets"),
5086
5125
  defaultMessage: "Add new assets"
5087
5126
  }) }) }),
@@ -5091,7 +5130,7 @@ const AssetDialog = ({
5091
5130
  }
5092
5131
  if (assetToEdit) {
5093
5132
  return /* @__PURE__ */ jsxRuntime.jsx(
5094
- EditAssetDialog,
5133
+ EditAssetContent,
5095
5134
  {
5096
5135
  onClose: () => setAssetToEdit(void 0),
5097
5136
  asset: assetToEdit,
@@ -5104,7 +5143,7 @@ const AssetDialog = ({
5104
5143
  }
5105
5144
  if (folderToEdit) {
5106
5145
  return /* @__PURE__ */ jsxRuntime.jsx(
5107
- EditFolderDialog,
5146
+ EditFolderContent,
5108
5147
  {
5109
5148
  folder: folderToEdit,
5110
5149
  onClose: () => setFolderToEdit(void 0),
@@ -5123,101 +5162,112 @@ const AssetDialog = ({
5123
5162
  onChangeFolder(folderId2);
5124
5163
  onChangeFolderParam(folderId2, folderPath);
5125
5164
  };
5126
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose, labelledBy: "asset-dialog-title", "aria-busy": isLoading, children: [
5127
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: formatMessage({
5165
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5166
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
5128
5167
  id: getTrad("header.actions.add-assets"),
5129
5168
  defaultMessage: "Add new assets"
5130
5169
  }) }) }),
5131
- /* @__PURE__ */ jsxRuntime.jsxs(
5132
- designSystem.TabGroup,
5133
- {
5134
- label: formatMessage({
5135
- id: getTrad("tabs.title"),
5136
- defaultMessage: "How do you want to upload your assets?"
5137
- }),
5138
- variant: "simple",
5139
- initialSelectedTabIndex,
5140
- onTabChange: () => setInitialSelectedTabIndex(0),
5141
- children: [
5142
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, justifyContent: "space-between", children: [
5143
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs, { children: [
5144
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
5145
- id: getTrad("modal.nav.browse"),
5146
- defaultMessage: "Browse"
5147
- }) }),
5148
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tab, { children: [
5149
- formatMessage({
5150
- id: getTrad("modal.header.select-files"),
5151
- defaultMessage: "Selected files"
5152
- }),
5153
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { marginLeft: 2, children: selectedAssets.length })
5154
- ] })
5155
- ] }),
5156
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
5157
- /* @__PURE__ */ jsxRuntime.jsx(
5158
- designSystem.Button,
5159
- {
5160
- variant: "secondary",
5161
- onClick: () => onAddFolder({ folderId: queryObject?.folder }),
5162
- children: formatMessage({
5163
- id: getTrad("modal.upload-list.sub-header.add-folder"),
5164
- defaultMessage: "Add folder"
5165
- })
5166
- }
5167
- ),
5168
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => onAddAsset({ folderId: queryObject?.folder }), children: formatMessage({
5169
- id: getTrad("modal.upload-list.sub-header.button"),
5170
- defaultMessage: "Add more assets"
5171
- }) })
5172
- ] })
5173
- ] }),
5174
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
5175
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.TabPanels, { children: [
5176
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
5177
- BrowseStep,
5178
- {
5179
- allowedTypes,
5180
- assets,
5181
- canCreate,
5182
- canRead,
5183
- folders,
5184
- onSelectAsset: handleSelectAsset,
5185
- selectedAssets,
5186
- multiple,
5187
- onSelectAllAsset: handleSelectAllAssets,
5188
- onEditAsset: setAssetToEdit,
5189
- onEditFolder: setFolderToEdit,
5190
- pagination,
5191
- queryObject,
5192
- onAddAsset,
5193
- onChangeFilters,
5194
- onChangeFolder: handleFolderChange,
5195
- onChangePage,
5196
- onChangePageSize,
5197
- onChangeSort,
5198
- onChangeSearch
5199
- }
5200
- ) }) }),
5201
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
5202
- SelectedStep,
5203
- {
5204
- selectedAssets,
5205
- onSelectAsset: handleSelectAsset,
5206
- onReorderAsset: handleMoveItem
5207
- }
5208
- ) }) })
5170
+ /* @__PURE__ */ jsxRuntime.jsxs(TabsRoot, { variant: "simple", defaultValue: selectedAssets.length > 0 ? "selected" : "browse", children: [
5171
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, justifyContent: "space-between", children: [
5172
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.List, { children: [
5173
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "browse", children: formatMessage({
5174
+ id: getTrad("modal.nav.browse"),
5175
+ defaultMessage: "Browse"
5176
+ }) }),
5177
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Trigger, { value: "selected", children: [
5178
+ formatMessage({
5179
+ id: getTrad("modal.header.select-files"),
5180
+ defaultMessage: "Selected files"
5181
+ }),
5182
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { marginLeft: 2, children: selectedAssets.length })
5209
5183
  ] })
5210
- ]
5211
- }
5212
- ),
5184
+ ] }),
5185
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
5186
+ /* @__PURE__ */ jsxRuntime.jsx(
5187
+ designSystem.Button,
5188
+ {
5189
+ variant: "secondary",
5190
+ onClick: () => onAddFolder({ folderId: queryObject?.folder }),
5191
+ children: formatMessage({
5192
+ id: getTrad("modal.upload-list.sub-header.add-folder"),
5193
+ defaultMessage: "Add folder"
5194
+ })
5195
+ }
5196
+ ),
5197
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: () => onAddAsset({ folderId: queryObject?.folder }), children: formatMessage({
5198
+ id: getTrad("modal.upload-list.sub-header.button"),
5199
+ defaultMessage: "Add more assets"
5200
+ }) })
5201
+ ] })
5202
+ ] }),
5203
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
5204
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Body, { children: [
5205
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "browse", children: /* @__PURE__ */ jsxRuntime.jsx(
5206
+ BrowseStep,
5207
+ {
5208
+ allowedTypes,
5209
+ assets,
5210
+ canCreate,
5211
+ canRead,
5212
+ folders,
5213
+ onSelectAsset: handleSelectAsset,
5214
+ selectedAssets,
5215
+ multiple,
5216
+ onSelectAllAsset: handleSelectAllAssets,
5217
+ onEditAsset: setAssetToEdit,
5218
+ onEditFolder: setFolderToEdit,
5219
+ pagination,
5220
+ queryObject,
5221
+ onAddAsset,
5222
+ onChangeFilters,
5223
+ onChangeFolder: handleFolderChange,
5224
+ onChangePage,
5225
+ onChangePageSize,
5226
+ onChangeSort,
5227
+ onChangeSearch
5228
+ }
5229
+ ) }),
5230
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "selected", children: /* @__PURE__ */ jsxRuntime.jsx(
5231
+ SelectedStep,
5232
+ {
5233
+ selectedAssets,
5234
+ onSelectAsset: handleSelectAsset,
5235
+ onReorderAsset: handleMoveItem
5236
+ }
5237
+ ) })
5238
+ ] })
5239
+ ] }),
5213
5240
  /* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { onClose, onValidate: () => onValidate(selectedAssets) })
5214
5241
  ] });
5215
5242
  };
5243
+ AssetContent.defaultProps = {
5244
+ allowedTypes: [],
5245
+ folderId: null,
5246
+ initiallySelectedAssets: [],
5247
+ multiple: false,
5248
+ trackedLocation: void 0
5249
+ };
5250
+ AssetContent.propTypes = {
5251
+ allowedTypes: PropTypes__default.default.arrayOf(PropTypes__default.default.string),
5252
+ folderId: PropTypes__default.default.number,
5253
+ initiallySelectedAssets: PropTypes__default.default.arrayOf(AssetDefinition),
5254
+ multiple: PropTypes__default.default.bool,
5255
+ onAddAsset: PropTypes__default.default.func.isRequired,
5256
+ onAddFolder: PropTypes__default.default.func.isRequired,
5257
+ onChangeFolder: PropTypes__default.default.func.isRequired,
5258
+ onClose: PropTypes__default.default.func.isRequired,
5259
+ onValidate: PropTypes__default.default.func.isRequired,
5260
+ trackedLocation: PropTypes__default.default.string
5261
+ };
5262
+ const AssetDialog = ({ open, onClose, ...restProps }) => {
5263
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AssetContent, { onClose, ...restProps }) }) });
5264
+ };
5216
5265
  AssetDialog.defaultProps = {
5217
5266
  allowedTypes: [],
5218
5267
  folderId: null,
5219
5268
  initiallySelectedAssets: [],
5220
5269
  multiple: false,
5270
+ open: false,
5221
5271
  trackedLocation: void 0
5222
5272
  };
5223
5273
  AssetDialog.propTypes = {
@@ -5228,10 +5278,16 @@ AssetDialog.propTypes = {
5228
5278
  onAddAsset: PropTypes__default.default.func.isRequired,
5229
5279
  onAddFolder: PropTypes__default.default.func.isRequired,
5230
5280
  onChangeFolder: PropTypes__default.default.func.isRequired,
5281
+ open: PropTypes__default.default.bool,
5231
5282
  onClose: PropTypes__default.default.func.isRequired,
5232
5283
  onValidate: PropTypes__default.default.func.isRequired,
5233
5284
  trackedLocation: PropTypes__default.default.string
5234
5285
  };
5286
+ const TabsRoot = styledComponents.styled(designSystem.Tabs.Root)`
5287
+ display: flex;
5288
+ flex-direction: column;
5289
+ overflow: hidden;
5290
+ `;
5235
5291
  const typeFromMime = (mime) => {
5236
5292
  if (mime.includes(AssetType.Image)) {
5237
5293
  return AssetType.Image;
@@ -5366,15 +5422,10 @@ const FromComputerForm = ({ onClose, onAddAssets, trackedLocation }) => {
5366
5422
  ] }) })
5367
5423
  }
5368
5424
  ) }) }),
5369
- /* @__PURE__ */ jsxRuntime.jsx(
5370
- designSystem.ModalFooter,
5371
- {
5372
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
5373
- id: "app.components.Button.cancel",
5374
- defaultMessage: "cancel"
5375
- }) })
5376
- }
5377
- )
5425
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
5426
+ id: "app.components.Button.cancel",
5427
+ defaultMessage: "cancel"
5428
+ }) }) })
5378
5429
  ] });
5379
5430
  };
5380
5431
  FromComputerForm.defaultProps = {
@@ -5500,16 +5551,13 @@ const FromUrlForm = ({ onClose, onAddAsset, trackedLocation }) => {
5500
5551
  ]
5501
5552
  }
5502
5553
  ) }),
5503
- /* @__PURE__ */ jsxRuntime.jsx(
5504
- designSystem.ModalFooter,
5505
- {
5506
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "cancel" }) }),
5507
- endActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", loading, children: formatMessage({
5508
- id: getTrad("button.next"),
5509
- defaultMessage: "Next"
5510
- }) })
5511
- }
5512
- )
5554
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
5555
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "cancel" }) }),
5556
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", loading, children: formatMessage({
5557
+ id: getTrad("button.next"),
5558
+ defaultMessage: "Next"
5559
+ }) })
5560
+ ] })
5513
5561
  ] })
5514
5562
  }
5515
5563
  );
@@ -5525,53 +5573,50 @@ FromUrlForm.propTypes = {
5525
5573
  const AddAssetStep = ({ onClose, onAddAsset, trackedLocation }) => {
5526
5574
  const { formatMessage } = reactIntl.useIntl();
5527
5575
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5528
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id: "title", children: formatMessage({
5576
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
5529
5577
  id: getTrad("header.actions.add-assets"),
5530
5578
  defaultMessage: "Add new assets"
5531
5579
  }) }) }),
5532
- /* @__PURE__ */ jsxRuntime.jsxs(
5533
- designSystem.TabGroup,
5534
- {
5535
- label: formatMessage({
5536
- id: getTrad("tabs.title"),
5537
- defaultMessage: "How do you want to upload your assets?"
5538
- }),
5539
- variant: "simple",
5540
- children: [
5541
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, children: [
5542
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs, { children: [
5543
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
5580
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Root, { variant: "simple", defaultValue: "computer", children: [
5581
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, children: [
5582
+ /* @__PURE__ */ jsxRuntime.jsxs(
5583
+ designSystem.Tabs.List,
5584
+ {
5585
+ "aria-label": formatMessage({
5586
+ id: getTrad("tabs.title"),
5587
+ defaultMessage: "How do you want to upload your assets?"
5588
+ }),
5589
+ children: [
5590
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "computer", children: formatMessage({
5544
5591
  id: getTrad("modal.nav.computer"),
5545
5592
  defaultMessage: "From computer"
5546
5593
  }) }),
5547
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
5594
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "url", children: formatMessage({
5548
5595
  id: getTrad("modal.nav.url"),
5549
5596
  defaultMessage: "From URL"
5550
5597
  }) })
5551
- ] }),
5552
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {})
5553
- ] }),
5554
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.TabPanels, { children: [
5555
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(
5556
- FromComputerForm,
5557
- {
5558
- onClose,
5559
- onAddAssets: onAddAsset,
5560
- trackedLocation
5561
- }
5562
- ) }),
5563
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(
5564
- FromUrlForm,
5565
- {
5566
- onClose,
5567
- onAddAsset,
5568
- trackedLocation
5569
- }
5570
- ) })
5571
- ] })
5572
- ]
5573
- }
5574
- )
5598
+ ]
5599
+ }
5600
+ ),
5601
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {})
5602
+ ] }),
5603
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "computer", children: /* @__PURE__ */ jsxRuntime.jsx(
5604
+ FromComputerForm,
5605
+ {
5606
+ onClose,
5607
+ onAddAssets: onAddAsset,
5608
+ trackedLocation
5609
+ }
5610
+ ) }),
5611
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "url", children: /* @__PURE__ */ jsxRuntime.jsx(
5612
+ FromUrlForm,
5613
+ {
5614
+ onClose,
5615
+ onAddAsset,
5616
+ trackedLocation
5617
+ }
5618
+ ) })
5619
+ ] })
5575
5620
  ] });
5576
5621
  };
5577
5622
  AddAssetStep.defaultProps = {
@@ -5726,12 +5771,12 @@ const PendingAssetStep = ({
5726
5771
  onUploadSucceed(file);
5727
5772
  }
5728
5773
  };
5729
- return /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
5730
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id: "title", children: formatMessage({
5774
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5775
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
5731
5776
  id: getTrad("header.actions.add-assets"),
5732
5777
  defaultMessage: "Add new assets"
5733
5778
  }) }) }),
5734
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 7, children: [
5779
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 7, children: [
5735
5780
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
5736
5781
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 0, children: [
5737
5782
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", fontWeight: "bold", textColor: "neutral800", children: formatMessage(
@@ -5751,10 +5796,10 @@ const PendingAssetStep = ({
5751
5796
  defaultMessage: "Add new assets"
5752
5797
  }) })
5753
5798
  ] }),
5754
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.KeyboardNavigable, { tagName: "article", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: assets.map((asset) => {
5799
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.KeyboardNavigable, { tagName: "article", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: assets.map((asset) => {
5755
5800
  const assetKey = asset.url;
5756
5801
  if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {
5757
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
5802
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
5758
5803
  UploadingAssetCard,
5759
5804
  {
5760
5805
  addUploadedFiles,
@@ -5767,7 +5812,7 @@ const PendingAssetStep = ({
5767
5812
  }
5768
5813
  ) }, assetKey);
5769
5814
  }
5770
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
5815
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
5771
5816
  AssetCard,
5772
5817
  {
5773
5818
  asset,
@@ -5781,19 +5826,16 @@ const PendingAssetStep = ({
5781
5826
  ) }, assetKey);
5782
5827
  }) }) })
5783
5828
  ] }) }),
5784
- /* @__PURE__ */ jsxRuntime.jsx(
5785
- designSystem.ModalFooter,
5786
- {
5787
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "cancel" }) }),
5788
- endActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", loading: uploadStatus === Status.Uploading, children: formatMessage(
5789
- {
5790
- id: getTrad("modal.upload-list.footer.button"),
5791
- defaultMessage: "Upload {number, plural, one {# asset} other {# assets}} to the library"
5792
- },
5793
- { number: assets.length }
5794
- ) })
5795
- }
5796
- )
5829
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
5830
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "cancel" }) }),
5831
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: handleSubmit, loading: uploadStatus === Status.Uploading, children: formatMessage(
5832
+ {
5833
+ id: getTrad("modal.upload-list.footer.button"),
5834
+ defaultMessage: "Upload {number, plural, one {# asset} other {# assets}} to the library"
5835
+ },
5836
+ { number: assets.length }
5837
+ ) })
5838
+ ] })
5797
5839
  ] });
5798
5840
  };
5799
5841
  PendingAssetStep.defaultProps = {
@@ -5823,6 +5865,7 @@ const UploadAssetDialog = ({
5823
5865
  onClose,
5824
5866
  addUploadedFiles,
5825
5867
  trackedLocation,
5868
+ open,
5826
5869
  validateAssetsTypes = (_, cb) => cb()
5827
5870
  }) => {
5828
5871
  const { formatMessage } = reactIntl.useIntl();
@@ -5878,16 +5921,16 @@ const UploadAssetDialog = ({
5878
5921
  const nextAssets = assets.filter((asset) => asset !== assetToRemove);
5879
5922
  setAssets(nextAssets);
5880
5923
  };
5881
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose: handleClose, labelledBy: "title", children: [
5882
- step === Steps.AddAsset && /* @__PURE__ */ jsxRuntime.jsx(
5924
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Root, { open, onOpenChange: handleClose, children: [
5925
+ step === Steps.AddAsset && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
5883
5926
  AddAssetStep,
5884
5927
  {
5885
5928
  onClose,
5886
5929
  onAddAsset: handleAddToPendingAssets,
5887
5930
  trackedLocation
5888
5931
  }
5889
- ),
5890
- step === Steps.PendingAsset && /* @__PURE__ */ jsxRuntime.jsx(
5932
+ ) }),
5933
+ step === Steps.PendingAsset && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
5891
5934
  PendingAssetStep,
5892
5935
  {
5893
5936
  onClose: handleClose,
@@ -5902,9 +5945,9 @@ const UploadAssetDialog = ({
5902
5945
  folderId,
5903
5946
  trackedLocation
5904
5947
  }
5905
- ),
5906
- assetToEdit && /* @__PURE__ */ jsxRuntime.jsx(
5907
- EditAssetDialog,
5948
+ ) }),
5949
+ assetToEdit && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
5950
+ EditAssetContent,
5908
5951
  {
5909
5952
  onClose: handleAssetEditValidation,
5910
5953
  asset: assetToEdit,
@@ -5913,7 +5956,7 @@ const UploadAssetDialog = ({
5913
5956
  canDownload: false,
5914
5957
  trackedLocation
5915
5958
  }
5916
- )
5959
+ ) })
5917
5960
  ] });
5918
5961
  };
5919
5962
  UploadAssetDialog.defaultProps = {
@@ -5929,6 +5972,7 @@ UploadAssetDialog.propTypes = {
5929
5972
  addUploadedFiles: PropTypes__default.default.func,
5930
5973
  folderId: PropTypes__default.default.oneOfType([PropTypes__default.default.number, PropTypes__default.default.string]),
5931
5974
  initialAssetsToAdd: PropTypes__default.default.arrayOf(AssetDefinition),
5975
+ open: PropTypes__default.default.bool.isRequired,
5932
5976
  onClose: PropTypes__default.default.func,
5933
5977
  trackedLocation: PropTypes__default.default.string,
5934
5978
  validateAssetsTypes: PropTypes__default.default.func
@@ -6242,9 +6286,10 @@ const CarouselAssets = React.forwardRef(
6242
6286
  ))
6243
6287
  }
6244
6288
  ),
6245
- isEditingAsset && /* @__PURE__ */ jsxRuntime.jsx(
6289
+ /* @__PURE__ */ jsxRuntime.jsx(
6246
6290
  EditAssetDialog,
6247
6291
  {
6292
+ open: isEditingAsset,
6248
6293
  onClose: (editedAsset) => {
6249
6294
  setIsEditingAsset(false);
6250
6295
  if (editedAsset === null) {
@@ -6297,7 +6342,7 @@ const STEPS = {
6297
6342
  FolderCreate: "FolderCreate"
6298
6343
  };
6299
6344
  const MediaLibraryInput = React.forwardRef(
6300
- ({ attribute: { allowedTypes }, label, hint, disabled, labelAction, multiple, name: name2, required }, forwardedRef) => {
6345
+ ({ attribute: { allowedTypes, multiple }, label, hint, disabled, labelAction, name: name2, required }, forwardedRef) => {
6301
6346
  const { formatMessage } = reactIntl.useIntl();
6302
6347
  const { onChange, value, error } = strapiAdmin.useField(name2);
6303
6348
  const fieldAllowedTypes = allowedTypes || ["files", "images", "videos", "audios"];
@@ -6436,6 +6481,7 @@ const MediaLibraryInput = React.forwardRef(
6436
6481
  setStep(void 0);
6437
6482
  setFolderId(null);
6438
6483
  },
6484
+ open: step === STEPS.AssetSelect,
6439
6485
  onValidate: handleValidation,
6440
6486
  multiple,
6441
6487
  onAddAsset: () => setStep(STEPS.AssetUpload),
@@ -6447,6 +6493,7 @@ const MediaLibraryInput = React.forwardRef(
6447
6493
  step === STEPS.AssetUpload && /* @__PURE__ */ jsxRuntime.jsx(
6448
6494
  UploadAssetDialog,
6449
6495
  {
6496
+ open: step === STEPS.AssetUpload,
6450
6497
  onClose: () => setStep(STEPS.AssetSelect),
6451
6498
  initialAssetsToAdd: droppedAssets,
6452
6499
  addUploadedFiles: handleFilesUploadSucceeded,
@@ -6455,26 +6502,34 @@ const MediaLibraryInput = React.forwardRef(
6455
6502
  validateAssetsTypes
6456
6503
  }
6457
6504
  ),
6458
- step === STEPS.FolderCreate && /* @__PURE__ */ jsxRuntime.jsx(EditFolderDialog, { onClose: () => setStep(STEPS.AssetSelect), parentFolderId: folderId })
6505
+ step === STEPS.FolderCreate && /* @__PURE__ */ jsxRuntime.jsx(
6506
+ EditFolderDialog,
6507
+ {
6508
+ open: step === STEPS.FolderCreate,
6509
+ onClose: () => setStep(STEPS.AssetSelect),
6510
+ parentFolderId: folderId
6511
+ }
6512
+ )
6459
6513
  ] });
6460
6514
  }
6461
6515
  );
6462
6516
  MediaLibraryInput.defaultProps = {
6463
- attribute: { allowedTypes: ["videos", "files", "images", "audios"] },
6517
+ attribute: { allowedTypes: ["videos", "files", "images", "audios"], multiple: false },
6464
6518
  disabled: false,
6465
6519
  hint: void 0,
6466
6520
  label: void 0,
6467
6521
  labelAction: void 0,
6468
- multiple: false,
6469
6522
  required: false
6470
6523
  };
6471
6524
  MediaLibraryInput.propTypes = {
6472
- attribute: PropTypes__default.default.shape({ allowedTypes: PropTypes__default.default.arrayOf(PropTypes__default.default.string) }),
6525
+ attribute: PropTypes__default.default.shape({
6526
+ allowedTypes: PropTypes__default.default.arrayOf(PropTypes__default.default.string),
6527
+ multiple: PropTypes__default.default.bool
6528
+ }),
6473
6529
  disabled: PropTypes__default.default.bool,
6474
6530
  hint: PropTypes__default.default.string,
6475
6531
  label: PropTypes__default.default.string,
6476
6532
  labelAction: PropTypes__default.default.node,
6477
- multiple: PropTypes__default.default.bool,
6478
6533
  name: PropTypes__default.default.string.isRequired,
6479
6534
  required: PropTypes__default.default.bool
6480
6535
  };
@@ -6498,7 +6553,7 @@ const index = {
6498
6553
  defaultMessage: "Media Library"
6499
6554
  },
6500
6555
  permissions: PERMISSIONS.main,
6501
- Component: () => Promise.resolve().then(() => require("./index-C6Zy6JkX.js")),
6556
+ Component: () => Promise.resolve().then(() => require("./index-oE8jnZsX.js")),
6502
6557
  position: 4
6503
6558
  });
6504
6559
  app.addSettingsLink("global", {
@@ -6508,7 +6563,7 @@ const index = {
6508
6563
  defaultMessage: "Media Library"
6509
6564
  },
6510
6565
  to: "media-library",
6511
- Component: () => Promise.resolve().then(() => require("./index-GkNHbl9s.js")),
6566
+ Component: () => Promise.resolve().then(() => require("./index-Bht2H-mc.js")),
6512
6567
  permissions: PERMISSIONS.settings
6513
6568
  });
6514
6569
  app.addFields({ type: "media", Component: MediaLibraryInput });
@@ -6577,4 +6632,4 @@ exports.useMediaLibraryPermissions = useMediaLibraryPermissions;
6577
6632
  exports.usePersistentState = usePersistentState;
6578
6633
  exports.useSelectionState = useSelectionState;
6579
6634
  exports.viewOptions = viewOptions;
6580
- //# sourceMappingURL=index-DLpj5yNr.js.map
6635
+ //# sourceMappingURL=index-DxZ4ATkY.js.map