@strapi/content-manager 0.0.0-next.4119cc523a8fec549bb2f1869c6e789650f7f4de → 0.0.0-next.4afb25b82502b04f05bbc122b43e1e3a806e7600

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 (109) hide show
  1. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -1
  2. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-aeNlfgi9.mjs → ComponentConfigurationPage-CzVt9QCC.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-aeNlfgi9.mjs.map → ComponentConfigurationPage-CzVt9QCC.mjs.map} +1 -1
  5. package/dist/_chunks/{ComponentConfigurationPage-_EzKh4uq.js → ComponentConfigurationPage-DYq8aqos.js} +4 -5
  6. package/dist/_chunks/{ComponentConfigurationPage-_EzKh4uq.js.map → ComponentConfigurationPage-DYq8aqos.js.map} +1 -1
  7. package/dist/_chunks/{ComponentIcon-BXdiCGQp.js → ComponentIcon-CRbtQEUV.js} +2 -3
  8. package/dist/_chunks/{ComponentIcon-BXdiCGQp.js.map → ComponentIcon-CRbtQEUV.js.map} +1 -1
  9. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -1
  10. package/dist/_chunks/{EditConfigurationPage-DaK5-ltL.js → EditConfigurationPage-C9IATpr0.js} +4 -5
  11. package/dist/_chunks/{EditConfigurationPage-DaK5-ltL.js.map → EditConfigurationPage-C9IATpr0.js.map} +1 -1
  12. package/dist/_chunks/{EditConfigurationPage-DBVSBjCB.mjs → EditConfigurationPage-CLDwrUv5.mjs} +3 -3
  13. package/dist/_chunks/{EditConfigurationPage-DBVSBjCB.mjs.map → EditConfigurationPage-CLDwrUv5.mjs.map} +1 -1
  14. package/dist/_chunks/{EditViewPage-C3qKSunQ.js → EditViewPage-Ch-uBvbv.js} +4 -5
  15. package/dist/_chunks/{EditViewPage-C3qKSunQ.js.map → EditViewPage-Ch-uBvbv.js.map} +1 -1
  16. package/dist/_chunks/{EditViewPage-BeRi9xCR.mjs → EditViewPage-DtKM7Jgw.mjs} +3 -3
  17. package/dist/_chunks/{EditViewPage-BeRi9xCR.mjs.map → EditViewPage-DtKM7Jgw.mjs.map} +1 -1
  18. package/dist/_chunks/{Field-BwLr5b0V.js → Field-B9ADaInZ.js} +43 -64
  19. package/dist/_chunks/Field-B9ADaInZ.js.map +1 -0
  20. package/dist/_chunks/{Field-CfbMEZLv.mjs → Field-Bn1jgMeF.mjs} +42 -62
  21. package/dist/_chunks/Field-Bn1jgMeF.mjs.map +1 -0
  22. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -1
  23. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -1
  24. package/dist/_chunks/{Form-Br-9I4vG.mjs → Form-BB5i9Pxl.mjs} +3 -3
  25. package/dist/_chunks/{Form-Br-9I4vG.mjs.map → Form-BB5i9Pxl.mjs.map} +1 -1
  26. package/dist/_chunks/{Form-BSInvgp4.js → Form-C3kjKrPw.js} +5 -6
  27. package/dist/_chunks/{Form-BSInvgp4.js.map → Form-C3kjKrPw.js.map} +1 -1
  28. package/dist/_chunks/{History-BHH0axCz.js → History-AwrK0-SA.js} +8 -7
  29. package/dist/_chunks/History-AwrK0-SA.js.map +1 -0
  30. package/dist/_chunks/{History-BQ721fHN.mjs → History-Cw2Q7OQL.mjs} +8 -6
  31. package/dist/_chunks/History-Cw2Q7OQL.mjs.map +1 -0
  32. package/dist/_chunks/{ListConfigurationPage-BVtVADtP.mjs → ListConfigurationPage-B47JIu1e.mjs} +3 -3
  33. package/dist/_chunks/{ListConfigurationPage-BVtVADtP.mjs.map → ListConfigurationPage-B47JIu1e.mjs.map} +1 -1
  34. package/dist/_chunks/{ListConfigurationPage-B7VtZkjG.js → ListConfigurationPage-CNTJ0DBm.js} +4 -5
  35. package/dist/_chunks/{ListConfigurationPage-B7VtZkjG.js.map → ListConfigurationPage-CNTJ0DBm.js.map} +1 -1
  36. package/dist/_chunks/{ListViewPage-C4UCZKeD.js → ListViewPage-Be_UEBar.js} +51 -51
  37. package/dist/_chunks/ListViewPage-Be_UEBar.js.map +1 -0
  38. package/dist/_chunks/{ListViewPage-Dq7nBEKD.mjs → ListViewPage-DuvjX6ra.mjs} +50 -49
  39. package/dist/_chunks/ListViewPage-DuvjX6ra.mjs.map +1 -0
  40. package/dist/_chunks/{NoContentTypePage-YNlmMHbx.js → NoContentTypePage-B1J0KUCO.js} +2 -2
  41. package/dist/_chunks/{NoContentTypePage-YNlmMHbx.js.map → NoContentTypePage-B1J0KUCO.js.map} +1 -1
  42. package/dist/_chunks/{NoContentTypePage-CQlgc_9h.mjs → NoContentTypePage-C6M-Q0Tv.mjs} +2 -2
  43. package/dist/_chunks/{NoContentTypePage-CQlgc_9h.mjs.map → NoContentTypePage-C6M-Q0Tv.mjs.map} +1 -1
  44. package/dist/_chunks/{NoPermissionsPage-CT2YbxJK.mjs → NoPermissionsPage-CAi3zCAD.mjs} +2 -2
  45. package/dist/_chunks/{NoPermissionsPage-CT2YbxJK.mjs.map → NoPermissionsPage-CAi3zCAD.mjs.map} +1 -1
  46. package/dist/_chunks/{NoPermissionsPage-CERDW9_P.js → NoPermissionsPage-CN34TlEE.js} +2 -2
  47. package/dist/_chunks/{NoPermissionsPage-CERDW9_P.js.map → NoPermissionsPage-CN34TlEE.js.map} +1 -1
  48. package/dist/_chunks/{Preview-GZFXtAgo.mjs → Preview-BrBRcL10.mjs} +49 -12
  49. package/dist/_chunks/Preview-BrBRcL10.mjs.map +1 -0
  50. package/dist/_chunks/{Preview-D9FlX2H8.js → Preview-DOqm5jcJ.js} +48 -12
  51. package/dist/_chunks/Preview-DOqm5jcJ.js.map +1 -0
  52. package/dist/_chunks/{Relations-49C4HPsL.mjs → Relations-_K-HYOiM.mjs} +6 -8
  53. package/dist/_chunks/{Relations-49C4HPsL.mjs.map → Relations-_K-HYOiM.mjs.map} +1 -1
  54. package/dist/_chunks/{Relations-CcJBqH7I.js → Relations-xtKZHtTN.js} +7 -10
  55. package/dist/_chunks/{Relations-CcJBqH7I.js.map → Relations-xtKZHtTN.js.map} +1 -1
  56. package/dist/_chunks/{en-DTWPCdTS.js → en-BK8Xyl5I.js} +3 -2
  57. package/dist/_chunks/{en-DTWPCdTS.js.map → en-BK8Xyl5I.js.map} +1 -1
  58. package/dist/_chunks/{en-CfIXaZf9.mjs → en-Dtk_ot79.mjs} +3 -2
  59. package/dist/_chunks/{en-CfIXaZf9.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
  60. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
  61. package/dist/_chunks/{index-DUjGm1xz.js → index-BlX-OdHL.js} +227 -134
  62. package/dist/_chunks/index-BlX-OdHL.js.map +1 -0
  63. package/dist/_chunks/{index-CP5EOEiH.mjs → index-tETMKK2G.mjs} +227 -133
  64. package/dist/_chunks/index-tETMKK2G.mjs.map +1 -0
  65. package/dist/_chunks/{layout-B3LdnMTA.mjs → layout-BaQBaz56.mjs} +4 -4
  66. package/dist/_chunks/{layout-B3LdnMTA.mjs.map → layout-BaQBaz56.mjs.map} +1 -1
  67. package/dist/_chunks/{layout-zHc8BsKI.js → layout-D8Sz3KxF.js} +5 -6
  68. package/dist/_chunks/{layout-zHc8BsKI.js.map → layout-D8Sz3KxF.js.map} +1 -1
  69. package/dist/_chunks/objects-BcXOv6_9.js.map +1 -1
  70. package/dist/_chunks/objects-D6yBsdmx.mjs.map +1 -1
  71. package/dist/_chunks/{relations-DrsZXRl-.js → relations-CAbbX8Sa.js} +2 -2
  72. package/dist/_chunks/{relations-DrsZXRl-.js.map → relations-CAbbX8Sa.js.map} +1 -1
  73. package/dist/_chunks/{relations-DnT2jc-S.mjs → relations-CsfmCqOU.mjs} +2 -2
  74. package/dist/_chunks/{relations-DnT2jc-S.mjs.map → relations-CsfmCqOU.mjs.map} +1 -1
  75. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -1
  76. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -1
  77. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js → useDragAndDrop-BMtgCYzL.js} +5 -9
  78. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js.map → useDragAndDrop-BMtgCYzL.js.map} +1 -1
  79. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs → useDragAndDrop-DJ6jqvZN.mjs} +4 -7
  80. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs.map → useDragAndDrop-DJ6jqvZN.mjs.map} +1 -1
  81. package/dist/admin/index.js +1 -1
  82. package/dist/admin/index.mjs +1 -1
  83. package/dist/admin/src/content-manager.d.ts +3 -2
  84. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
  85. package/dist/admin/src/services/documents.d.ts +0 -3
  86. package/dist/server/index.js +74 -45
  87. package/dist/server/index.js.map +1 -1
  88. package/dist/server/index.mjs +74 -44
  89. package/dist/server/index.mjs.map +1 -1
  90. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  91. package/dist/server/src/preview/index.d.ts.map +1 -1
  92. package/dist/server/src/preview/services/index.d.ts +1 -0
  93. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  94. package/dist/server/src/preview/services/preview-config.d.ts +2 -0
  95. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  96. package/dist/server/src/preview/utils.d.ts +1 -0
  97. package/dist/server/src/preview/utils.d.ts.map +1 -1
  98. package/dist/server/src/register.d.ts.map +1 -1
  99. package/package.json +10 -10
  100. package/dist/_chunks/Field-BwLr5b0V.js.map +0 -1
  101. package/dist/_chunks/Field-CfbMEZLv.mjs.map +0 -1
  102. package/dist/_chunks/History-BHH0axCz.js.map +0 -1
  103. package/dist/_chunks/History-BQ721fHN.mjs.map +0 -1
  104. package/dist/_chunks/ListViewPage-C4UCZKeD.js.map +0 -1
  105. package/dist/_chunks/ListViewPage-Dq7nBEKD.mjs.map +0 -1
  106. package/dist/_chunks/Preview-D9FlX2H8.js.map +0 -1
  107. package/dist/_chunks/Preview-GZFXtAgo.mjs.map +0 -1
  108. package/dist/_chunks/index-CP5EOEiH.mjs.map +0 -1
  109. package/dist/_chunks/index-DUjGm1xz.js.map +0 -1
@@ -7,16 +7,15 @@ const designSystem = require("@strapi/design-system");
7
7
  const mapValues = require("lodash/fp/mapValues");
8
8
  const reactIntl = require("react-intl");
9
9
  const reactRouterDom = require("react-router-dom");
10
+ const styledComponents = require("styled-components");
10
11
  const yup = require("yup");
12
+ const qs = require("qs");
11
13
  const pipe = require("lodash/fp/pipe");
12
14
  const dateFns = require("date-fns");
13
- const styledComponents = require("styled-components");
14
- const qs = require("qs");
15
15
  const toolkit = require("@reduxjs/toolkit");
16
16
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
17
17
  function _interopNamespace(e) {
18
- if (e && e.__esModule)
19
- return e;
18
+ if (e && e.__esModule) return e;
20
19
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
21
20
  if (e) {
22
21
  for (const k in e) {
@@ -36,13 +35,20 @@ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
36
35
  const mapValues__default = /* @__PURE__ */ _interopDefault(mapValues);
37
36
  const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
38
37
  const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
39
- const __variableDynamicImportRuntimeHelper = (glob, path) => {
38
+ const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
40
39
  const v = glob[path];
41
40
  if (v) {
42
41
  return typeof v === "function" ? v() : Promise.resolve(v);
43
42
  }
44
43
  return new Promise((_, reject) => {
45
- (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
44
+ (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
45
+ reject.bind(
46
+ null,
47
+ new Error(
48
+ "Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
49
+ )
50
+ )
51
+ );
46
52
  });
47
53
  };
48
54
  const PLUGIN_ID = "content-manager";
@@ -296,7 +302,7 @@ const documentApi = contentManagerApi.injectEndpoints({
296
302
  url: `/content-manager/collection-types/${model}`,
297
303
  method: "GET",
298
304
  config: {
299
- params
305
+ params: qs.stringify(params, { encode: true })
300
306
  }
301
307
  }),
302
308
  providesTags: (result, _error, arg) => {
@@ -475,8 +481,7 @@ const {
475
481
  useUnpublishManyDocumentsMutation
476
482
  } = documentApi;
477
483
  const buildValidParams = (query) => {
478
- if (!query)
479
- return query;
484
+ if (!query) return query;
480
485
  const { plugins: _, ...validQueryParams } = {
481
486
  ...query,
482
487
  ...Object.values(query?.plugins ?? {}).reduce(
@@ -484,9 +489,6 @@ const buildValidParams = (query) => {
484
489
  {}
485
490
  )
486
491
  };
487
- if ("_q" in validQueryParams) {
488
- validQueryParams._q = encodeURIComponent(validQueryParams._q);
489
- }
490
492
  return validQueryParams;
491
493
  };
492
494
  const isBaseQueryError = (error) => {
@@ -1686,7 +1688,7 @@ const useDocumentActions = () => {
1686
1688
  };
1687
1689
  };
1688
1690
  const ProtectedHistoryPage = React__namespace.lazy(
1689
- () => Promise.resolve().then(() => require("./History-BHH0axCz.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1691
+ () => Promise.resolve().then(() => require("./History-AwrK0-SA.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1690
1692
  );
1691
1693
  const routes$2 = [
1692
1694
  {
@@ -1699,7 +1701,7 @@ const routes$2 = [
1699
1701
  }
1700
1702
  ];
1701
1703
  const ProtectedPreviewPage = React__namespace.lazy(
1702
- () => Promise.resolve().then(() => require("./Preview-D9FlX2H8.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
1704
+ () => Promise.resolve().then(() => require("./Preview-DOqm5jcJ.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
1703
1705
  );
1704
1706
  const routes$1 = [
1705
1707
  {
@@ -1712,31 +1714,31 @@ const routes$1 = [
1712
1714
  }
1713
1715
  ];
1714
1716
  const ProtectedEditViewPage = React.lazy(
1715
- () => Promise.resolve().then(() => require("./EditViewPage-C3qKSunQ.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1717
+ () => Promise.resolve().then(() => require("./EditViewPage-Ch-uBvbv.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1716
1718
  );
1717
1719
  const ProtectedListViewPage = React.lazy(
1718
- () => Promise.resolve().then(() => require("./ListViewPage-C4UCZKeD.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1720
+ () => Promise.resolve().then(() => require("./ListViewPage-Be_UEBar.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1719
1721
  );
1720
1722
  const ProtectedListConfiguration = React.lazy(
1721
- () => Promise.resolve().then(() => require("./ListConfigurationPage-B7VtZkjG.js")).then((mod) => ({
1723
+ () => Promise.resolve().then(() => require("./ListConfigurationPage-CNTJ0DBm.js")).then((mod) => ({
1722
1724
  default: mod.ProtectedListConfiguration
1723
1725
  }))
1724
1726
  );
1725
1727
  const ProtectedEditConfigurationPage = React.lazy(
1726
- () => Promise.resolve().then(() => require("./EditConfigurationPage-DaK5-ltL.js")).then((mod) => ({
1728
+ () => Promise.resolve().then(() => require("./EditConfigurationPage-C9IATpr0.js")).then((mod) => ({
1727
1729
  default: mod.ProtectedEditConfigurationPage
1728
1730
  }))
1729
1731
  );
1730
1732
  const ProtectedComponentConfigurationPage = React.lazy(
1731
- () => Promise.resolve().then(() => require("./ComponentConfigurationPage-_EzKh4uq.js")).then((mod) => ({
1733
+ () => Promise.resolve().then(() => require("./ComponentConfigurationPage-DYq8aqos.js")).then((mod) => ({
1732
1734
  default: mod.ProtectedComponentConfigurationPage
1733
1735
  }))
1734
1736
  );
1735
1737
  const NoPermissions = React.lazy(
1736
- () => Promise.resolve().then(() => require("./NoPermissionsPage-CERDW9_P.js")).then((mod) => ({ default: mod.NoPermissions }))
1738
+ () => Promise.resolve().then(() => require("./NoPermissionsPage-CN34TlEE.js")).then((mod) => ({ default: mod.NoPermissions }))
1737
1739
  );
1738
1740
  const NoContentType = React.lazy(
1739
- () => Promise.resolve().then(() => require("./NoContentTypePage-YNlmMHbx.js")).then((mod) => ({ default: mod.NoContentType }))
1741
+ () => Promise.resolve().then(() => require("./NoContentTypePage-B1J0KUCO.js")).then((mod) => ({ default: mod.NoContentType }))
1740
1742
  );
1741
1743
  const CollectionTypePages = () => {
1742
1744
  const { collectionType } = reactRouterDom.useParams();
@@ -1881,6 +1883,11 @@ const DocumentActionButton = (action) => {
1881
1883
  ) : null
1882
1884
  ] });
1883
1885
  };
1886
+ const MenuItem = styledComponents.styled(designSystem.Menu.Item)`
1887
+ &:hover {
1888
+ background: ${({ theme, isVariantDanger, isDisabled }) => isVariantDanger && !isDisabled ? theme.colors.danger100 : "neutral"};
1889
+ }
1890
+ `;
1884
1891
  const DocumentActionsMenu = ({
1885
1892
  actions: actions2,
1886
1893
  children,
@@ -1939,11 +1946,13 @@ const DocumentActionsMenu = ({
1939
1946
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Content, { maxHeight: void 0, popoverPlacement: "bottom-end", children: [
1940
1947
  actions2.map((action) => {
1941
1948
  return /* @__PURE__ */ jsxRuntime.jsx(
1942
- designSystem.Menu.Item,
1949
+ MenuItem,
1943
1950
  {
1944
1951
  disabled: action.disabled,
1945
1952
  onSelect: handleClick(action),
1946
1953
  display: "block",
1954
+ isVariantDanger: action.variant === "danger",
1955
+ isDisabled: action.disabled,
1947
1956
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(
1948
1957
  designSystem.Flex,
1949
1958
  {
@@ -2099,6 +2108,7 @@ const PublishAction$1 = ({
2099
2108
  const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
2100
2109
  const isListView = reactRouterDom.useMatch(LIST_PATH) !== null;
2101
2110
  const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
2111
+ const { id } = reactRouterDom.useParams();
2102
2112
  const { formatMessage } = reactIntl.useIntl();
2103
2113
  const canPublish = useDocumentRBAC("PublishAction", ({ canPublish: canPublish2 }) => canPublish2);
2104
2114
  const { publish } = useDocumentActions();
@@ -2201,10 +2211,12 @@ const PublishAction$1 = ({
2201
2211
  transformData(formValues)
2202
2212
  );
2203
2213
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2204
- navigate({
2205
- pathname: `../${collectionType}/${model}/${res.data.documentId}`,
2206
- search: rawQuery
2207
- });
2214
+ if (id === "create") {
2215
+ navigate({
2216
+ pathname: `../${collectionType}/${model}/${res.data.documentId}`,
2217
+ search: rawQuery
2218
+ });
2219
+ }
2208
2220
  } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2209
2221
  setErrors(formatValidationErrors(res.error));
2210
2222
  }
@@ -2257,6 +2269,7 @@ const PublishAction$1 = ({
2257
2269
  };
2258
2270
  };
2259
2271
  PublishAction$1.type = "publish";
2272
+ PublishAction$1.position = "panel";
2260
2273
  const UpdateAction = ({
2261
2274
  activeTab,
2262
2275
  documentId,
@@ -2279,96 +2292,134 @@ const UpdateAction = ({
2279
2292
  const validate = strapiAdmin.useForm("UpdateAction", (state) => state.validate);
2280
2293
  const setErrors = strapiAdmin.useForm("UpdateAction", (state) => state.setErrors);
2281
2294
  const resetForm = strapiAdmin.useForm("PublishAction", ({ resetForm: resetForm2 }) => resetForm2);
2282
- return {
2283
- /**
2284
- * Disabled when:
2285
- * - the form is submitting
2286
- * - the document is not modified & we're not cloning (you can save a clone entity straight away)
2287
- * - the active tab is the published tab
2288
- */
2289
- disabled: isSubmitting || !modified && !isCloning || activeTab === "published",
2290
- label: formatMessage({
2291
- id: "content-manager.containers.Edit.save",
2292
- defaultMessage: "Save"
2293
- }),
2294
- onClick: async () => {
2295
- setSubmitting(true);
2296
- try {
2297
- const { errors } = await validate(true, {
2298
- status: "draft"
2295
+ const handleUpdate = React__namespace.useCallback(async () => {
2296
+ setSubmitting(true);
2297
+ try {
2298
+ if (!modified) {
2299
+ return;
2300
+ }
2301
+ const { errors } = await validate(true, {
2302
+ status: "draft"
2303
+ });
2304
+ if (errors) {
2305
+ toggleNotification({
2306
+ type: "danger",
2307
+ message: formatMessage({
2308
+ id: "content-manager.validation.error",
2309
+ defaultMessage: "There are validation errors in your document. Please fix them before saving."
2310
+ })
2299
2311
  });
2300
- if (errors) {
2301
- toggleNotification({
2302
- type: "danger",
2303
- message: formatMessage({
2304
- id: "content-manager.validation.error",
2305
- defaultMessage: "There are validation errors in your document. Please fix them before saving."
2306
- })
2307
- });
2308
- return;
2309
- }
2310
- if (isCloning) {
2311
- const res = await clone(
2312
- {
2313
- model,
2314
- documentId: cloneMatch.params.origin,
2315
- params
2316
- },
2317
- transformData(document)
2318
- );
2319
- if ("data" in res) {
2320
- navigate(
2321
- {
2322
- pathname: `../${res.data.documentId}`,
2323
- search: rawQuery
2324
- },
2325
- { relative: "path" }
2326
- );
2327
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2328
- setErrors(formatValidationErrors(res.error));
2329
- }
2330
- } else if (documentId || collectionType === SINGLE_TYPES) {
2331
- const res = await update(
2312
+ return;
2313
+ }
2314
+ if (isCloning) {
2315
+ const res = await clone(
2316
+ {
2317
+ model,
2318
+ documentId: cloneMatch.params.origin,
2319
+ params
2320
+ },
2321
+ transformData(document)
2322
+ );
2323
+ if ("data" in res) {
2324
+ navigate(
2332
2325
  {
2333
- collectionType,
2334
- model,
2335
- documentId,
2336
- params
2326
+ pathname: `../${res.data.documentId}`,
2327
+ search: rawQuery
2337
2328
  },
2338
- transformData(document)
2329
+ { relative: "path" }
2339
2330
  );
2340
- if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2341
- setErrors(formatValidationErrors(res.error));
2342
- } else {
2343
- resetForm();
2344
- }
2331
+ } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2332
+ setErrors(formatValidationErrors(res.error));
2333
+ }
2334
+ } else if (documentId || collectionType === SINGLE_TYPES) {
2335
+ const res = await update(
2336
+ {
2337
+ collectionType,
2338
+ model,
2339
+ documentId,
2340
+ params
2341
+ },
2342
+ transformData(document)
2343
+ );
2344
+ if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2345
+ setErrors(formatValidationErrors(res.error));
2345
2346
  } else {
2346
- const res = await create(
2347
+ resetForm();
2348
+ }
2349
+ } else {
2350
+ const res = await create(
2351
+ {
2352
+ model,
2353
+ params
2354
+ },
2355
+ transformData(document)
2356
+ );
2357
+ if ("data" in res && collectionType !== SINGLE_TYPES) {
2358
+ navigate(
2347
2359
  {
2348
- model,
2349
- params
2360
+ pathname: `../${res.data.documentId}`,
2361
+ search: rawQuery
2350
2362
  },
2351
- transformData(document)
2363
+ { replace: true, relative: "path" }
2352
2364
  );
2353
- if ("data" in res && collectionType !== SINGLE_TYPES) {
2354
- navigate(
2355
- {
2356
- pathname: `../${res.data.documentId}`,
2357
- search: rawQuery
2358
- },
2359
- { replace: true, relative: "path" }
2360
- );
2361
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2362
- setErrors(formatValidationErrors(res.error));
2363
- }
2365
+ } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2366
+ setErrors(formatValidationErrors(res.error));
2364
2367
  }
2365
- } finally {
2366
- setSubmitting(false);
2367
2368
  }
2369
+ } finally {
2370
+ setSubmitting(false);
2368
2371
  }
2372
+ }, [
2373
+ clone,
2374
+ cloneMatch?.params.origin,
2375
+ collectionType,
2376
+ create,
2377
+ document,
2378
+ documentId,
2379
+ formatMessage,
2380
+ formatValidationErrors,
2381
+ isCloning,
2382
+ model,
2383
+ modified,
2384
+ navigate,
2385
+ params,
2386
+ rawQuery,
2387
+ resetForm,
2388
+ setErrors,
2389
+ setSubmitting,
2390
+ toggleNotification,
2391
+ update,
2392
+ validate
2393
+ ]);
2394
+ React__namespace.useEffect(() => {
2395
+ const handleKeyDown = (e) => {
2396
+ if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
2397
+ e.preventDefault();
2398
+ handleUpdate();
2399
+ }
2400
+ };
2401
+ window.addEventListener("keydown", handleKeyDown);
2402
+ return () => {
2403
+ window.removeEventListener("keydown", handleKeyDown);
2404
+ };
2405
+ }, [handleUpdate]);
2406
+ return {
2407
+ /**
2408
+ * Disabled when:
2409
+ * - the form is submitting
2410
+ * - the document is not modified & we're not cloning (you can save a clone entity straight away)
2411
+ * - the active tab is the published tab
2412
+ */
2413
+ disabled: isSubmitting || !modified && !isCloning || activeTab === "published",
2414
+ label: formatMessage({
2415
+ id: "global.save",
2416
+ defaultMessage: "Save"
2417
+ }),
2418
+ onClick: handleUpdate
2369
2419
  };
2370
2420
  };
2371
2421
  UpdateAction.type = "update";
2422
+ UpdateAction.position = "panel";
2372
2423
  const UNPUBLISH_DRAFT_OPTIONS = {
2373
2424
  KEEP: "keep",
2374
2425
  DISCARD: "discard"
@@ -2491,6 +2542,7 @@ const UnpublishAction$1 = ({
2491
2542
  };
2492
2543
  };
2493
2544
  UnpublishAction$1.type = "unpublish";
2545
+ UnpublishAction$1.position = "panel";
2494
2546
  const DiscardAction = ({
2495
2547
  activeTab,
2496
2548
  documentId,
@@ -2541,6 +2593,7 @@ const DiscardAction = ({
2541
2593
  };
2542
2594
  };
2543
2595
  DiscardAction.type = "discard";
2596
+ DiscardAction.position = "panel";
2544
2597
  const DEFAULT_ACTIONS = [PublishAction$1, UpdateAction, UnpublishAction$1, DiscardAction];
2545
2598
  const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
2546
2599
  const RelativeTime = React__namespace.forwardRef(
@@ -2660,7 +2713,7 @@ const HeaderToolbar = () => {
2660
2713
  meta: isCloning ? void 0 : meta,
2661
2714
  collectionType
2662
2715
  },
2663
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
2716
+ descriptions: plugins["content-manager"].apis.getDocumentActions("header"),
2664
2717
  children: (actions2) => {
2665
2718
  const headerActions = actions2.filter((action) => {
2666
2719
  const positions = Array.isArray(action.position) ? action.position : [action.position];
@@ -2868,6 +2921,7 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
2868
2921
  };
2869
2922
  };
2870
2923
  ConfigureTheViewAction.type = "configure-the-view";
2924
+ ConfigureTheViewAction.position = "header";
2871
2925
  const EditTheModelAction = ({ model }) => {
2872
2926
  const navigate = reactRouterDom.useNavigate();
2873
2927
  const { formatMessage } = reactIntl.useIntl();
@@ -2884,6 +2938,7 @@ const EditTheModelAction = ({ model }) => {
2884
2938
  };
2885
2939
  };
2886
2940
  EditTheModelAction.type = "edit-the-model";
2941
+ EditTheModelAction.position = "header";
2887
2942
  const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
2888
2943
  const navigate = reactRouterDom.useNavigate();
2889
2944
  const { formatMessage } = reactIntl.useIntl();
@@ -2957,6 +3012,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
2957
3012
  };
2958
3013
  };
2959
3014
  DeleteAction$1.type = "delete";
3015
+ DeleteAction$1.position = ["header", "table-row"];
2960
3016
  const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction$1];
2961
3017
  const Panels = () => {
2962
3018
  const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
@@ -3019,7 +3075,7 @@ const ActionsPanelContent = () => {
3019
3075
  strapiAdmin.DescriptionComponentRenderer,
3020
3076
  {
3021
3077
  props,
3022
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
3078
+ descriptions: plugins["content-manager"].apis.getDocumentActions("panel"),
3023
3079
  children: (actions2) => /* @__PURE__ */ jsxRuntime.jsx(DocumentActions, { actions: actions2 })
3024
3080
  }
3025
3081
  ),
@@ -3473,8 +3529,7 @@ const PublishAction = ({ documents, model }) => {
3473
3529
  const refetchList = () => {
3474
3530
  contentManagerApi.util.invalidateTags([{ type: "Document", id: `${model}_LIST` }]);
3475
3531
  };
3476
- if (!showPublishButton)
3477
- return null;
3532
+ if (!showPublishButton) return null;
3478
3533
  return {
3479
3534
  actionType: "publish",
3480
3535
  variant: "tertiary",
@@ -3542,8 +3597,7 @@ const DeleteAction = ({ documents, model }) => {
3542
3597
  selectRow([]);
3543
3598
  }
3544
3599
  };
3545
- if (!hasDeletePermission)
3546
- return null;
3600
+ if (!hasDeletePermission) return null;
3547
3601
  return {
3548
3602
  variant: "danger-light",
3549
3603
  label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
@@ -3592,8 +3646,7 @@ const UnpublishAction = ({ documents, model }) => {
3592
3646
  }
3593
3647
  };
3594
3648
  const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published" || entry.status === "modified");
3595
- if (!showUnpublishButton)
3596
- return null;
3649
+ if (!showUnpublishButton) return null;
3597
3650
  return {
3598
3651
  variant: "tertiary",
3599
3652
  label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
@@ -3698,7 +3751,7 @@ const TableActions = ({ document }) => {
3698
3751
  strapiAdmin.DescriptionComponentRenderer,
3699
3752
  {
3700
3753
  props,
3701
- descriptions: plugins["content-manager"].apis.getDocumentActions().filter((action) => action.name !== "PublishAction"),
3754
+ descriptions: plugins["content-manager"].apis.getDocumentActions("table-row").filter((action) => action.name !== "PublishAction"),
3702
3755
  children: (actions2) => {
3703
3756
  const tableRowActions = actions2.filter((action) => {
3704
3757
  const positions = Array.isArray(action.position) ? action.position : [action.position];
@@ -3757,6 +3810,7 @@ const EditAction = ({ documentId }) => {
3757
3810
  };
3758
3811
  };
3759
3812
  EditAction.type = "edit";
3813
+ EditAction.position = "table-row";
3760
3814
  const StyledPencil = styledComponents.styled(Icons.Pencil)`
3761
3815
  path {
3762
3816
  fill: currentColor;
@@ -3833,6 +3887,7 @@ const CloneAction = ({ model, documentId }) => {
3833
3887
  };
3834
3888
  };
3835
3889
  CloneAction.type = "clone";
3890
+ CloneAction.position = "table-row";
3836
3891
  const StyledDuplicate = styledComponents.styled(Icons.Duplicate)`
3837
3892
  path {
3838
3893
  fill: currentColor;
@@ -3919,7 +3974,14 @@ class ContentManagerPlugin {
3919
3974
  addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
3920
3975
  addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
3921
3976
  getBulkActions: () => this.bulkActions,
3922
- getDocumentActions: () => this.documentActions,
3977
+ getDocumentActions: (position) => {
3978
+ if (position) {
3979
+ return this.documentActions.filter(
3980
+ (action) => action.position == void 0 || [action.position].flat().includes(position)
3981
+ );
3982
+ }
3983
+ return this.documentActions;
3984
+ },
3923
3985
  getEditViewSidePanels: () => this.editViewSidePanels,
3924
3986
  getHeaderActions: () => this.headerActions
3925
3987
  }
@@ -3929,10 +3991,8 @@ class ContentManagerPlugin {
3929
3991
  const getPrintableType = (value) => {
3930
3992
  const nativeType = typeof value;
3931
3993
  if (nativeType === "object") {
3932
- if (value === null)
3933
- return "null";
3934
- if (Array.isArray(value))
3935
- return "array";
3994
+ if (value === null) return "null";
3995
+ if (Array.isArray(value)) return "array";
3936
3996
  if (value instanceof Object && value.constructor.name !== "Object") {
3937
3997
  return value.constructor.name;
3938
3998
  }
@@ -3943,17 +4003,27 @@ const HistoryAction = ({ model, document }) => {
3943
4003
  const { formatMessage } = reactIntl.useIntl();
3944
4004
  const [{ query }] = strapiAdmin.useQueryParams();
3945
4005
  const navigate = reactRouterDom.useNavigate();
4006
+ const { trackUsage } = strapiAdmin.useTracking();
4007
+ const { pathname } = reactRouterDom.useLocation();
3946
4008
  const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
3947
4009
  if (!window.strapi.features.isEnabled("cms-content-history")) {
3948
4010
  return null;
3949
4011
  }
4012
+ const handleOnClick = () => {
4013
+ const destination = { pathname: "history", search: pluginsQueryParams };
4014
+ trackUsage("willNavigate", {
4015
+ from: pathname,
4016
+ to: `${pathname}/${destination.pathname}`
4017
+ });
4018
+ navigate(destination);
4019
+ };
3950
4020
  return {
3951
4021
  icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ClockCounterClockwise, {}),
3952
4022
  label: formatMessage({
3953
4023
  id: "content-manager.history.document-action",
3954
4024
  defaultMessage: "Content History"
3955
4025
  }),
3956
- onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
4026
+ onClick: handleOnClick,
3957
4027
  disabled: (
3958
4028
  /**
3959
4029
  * The user is creating a new document.
@@ -3975,6 +4045,7 @@ const HistoryAction = ({ model, document }) => {
3975
4045
  };
3976
4046
  };
3977
4047
  HistoryAction.type = "history";
4048
+ HistoryAction.position = "header";
3978
4049
  const historyAdmin = {
3979
4050
  bootstrap(app) {
3980
4051
  const { addDocumentAction } = app.getPlugin("content-manager").apis;
@@ -4037,10 +4108,18 @@ const previewApi = contentManagerApi.injectEndpoints({
4037
4108
  })
4038
4109
  });
4039
4110
  const { useGetPreviewUrlQuery } = previewApi;
4111
+ const ConditionalTooltip = ({ isShown, label, children }) => {
4112
+ if (isShown) {
4113
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { label, children });
4114
+ }
4115
+ return children;
4116
+ };
4040
4117
  const PreviewSidePanel = ({ model, documentId, document }) => {
4041
4118
  const { formatMessage } = reactIntl.useIntl();
4042
4119
  const { trackUsage } = strapiAdmin.useTracking();
4120
+ const { pathname } = reactRouterDom.useLocation();
4043
4121
  const [{ query }] = strapiAdmin.useQueryParams();
4122
+ const isModified = strapiAdmin.useForm("PreviewSidePanel", (state) => state.modified);
4044
4123
  const { data, error } = useGetPreviewUrlQuery({
4045
4124
  params: {
4046
4125
  contentType: model
@@ -4054,25 +4133,39 @@ const PreviewSidePanel = ({ model, documentId, document }) => {
4054
4133
  if (!data?.data?.url || error) {
4055
4134
  return null;
4056
4135
  }
4057
- const handleClick = () => {
4058
- trackUsage("willOpenPreview");
4136
+ const trackNavigation = () => {
4137
+ const destinationPathname = pathname.replace(/\/$/, "") + "/preview";
4138
+ trackUsage("willNavigate", { from: pathname, to: destinationPathname });
4059
4139
  };
4060
4140
  return {
4061
4141
  title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4062
- content: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
4063
- designSystem.Button,
4142
+ content: /* @__PURE__ */ jsxRuntime.jsx(
4143
+ ConditionalTooltip,
4064
4144
  {
4065
- variant: "tertiary",
4066
- tag: reactRouterDom.Link,
4067
- to: { pathname: "preview", search: qs.stringify(query, { encode: false }) },
4068
- onClick: handleClick,
4069
- flex: "auto",
4070
- children: formatMessage({
4071
- id: "content-manager.preview.panel.button",
4072
- defaultMessage: "Open preview"
4073
- })
4145
+ label: formatMessage({
4146
+ id: "content-manager.preview.panel.button-disabled-tooltip",
4147
+ defaultMessage: "Please save to open the preview"
4148
+ }),
4149
+ isShown: isModified,
4150
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { cursor: "not-allowed", width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
4151
+ designSystem.Button,
4152
+ {
4153
+ variant: "tertiary",
4154
+ tag: reactRouterDom.Link,
4155
+ to: { pathname: "preview", search: qs.stringify(query, { encode: false }) },
4156
+ onClick: trackNavigation,
4157
+ width: "100%",
4158
+ disabled: isModified,
4159
+ pointerEvents: isModified ? "none" : void 0,
4160
+ tabIndex: isModified ? -1 : void 0,
4161
+ children: formatMessage({
4162
+ id: "content-manager.preview.panel.button",
4163
+ defaultMessage: "Open preview"
4164
+ })
4165
+ }
4166
+ ) })
4074
4167
  }
4075
- ) })
4168
+ )
4076
4169
  };
4077
4170
  };
4078
4171
  const FEATURE_ID = "preview";
@@ -4104,7 +4197,7 @@ const index = {
4104
4197
  app.router.addRoute({
4105
4198
  path: "content-manager/*",
4106
4199
  lazy: async () => {
4107
- const { Layout } = await Promise.resolve().then(() => require("./layout-zHc8BsKI.js"));
4200
+ const { Layout } = await Promise.resolve().then(() => require("./layout-D8Sz3KxF.js"));
4108
4201
  return {
4109
4202
  Component: Layout
4110
4203
  };
@@ -4124,7 +4217,7 @@ const index = {
4124
4217
  async registerTrads({ locales }) {
4125
4218
  const importedTrads = await Promise.all(
4126
4219
  locales.map((locale) => {
4127
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-DTWPCdTS.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-9K52xZIr.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B2Kyv8Z9.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-7sfIbjxE.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
4220
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-BK8Xyl5I.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-9K52xZIr.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B2Kyv8Z9.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-7sfIbjxE.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
4128
4221
  return {
4129
4222
  data: prefixPluginTranslations(data, PLUGIN_ID),
4130
4223
  locale
@@ -4184,4 +4277,4 @@ exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuer
4184
4277
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
4185
4278
  exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
4186
4279
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
4187
- //# sourceMappingURL=index-DUjGm1xz.js.map
4280
+ //# sourceMappingURL=index-BlX-OdHL.js.map