@strapi/content-manager 0.0.0-next.b0db56479de441dfe8feb37a43c7f6f6fecf75c1 → 0.0.0-next.b6435ada233136a0d0b14fba67961ff8f16cdac2

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 (129) 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-Cjr64OS0.js → ComponentConfigurationPage-BlzvDpbX.js} +4 -5
  4. package/dist/_chunks/{ComponentConfigurationPage-Cjr64OS0.js.map → ComponentConfigurationPage-BlzvDpbX.js.map} +1 -1
  5. package/dist/_chunks/{ComponentConfigurationPage-DKuCF_uX.mjs → ComponentConfigurationPage-DaPOlQaD.mjs} +3 -3
  6. package/dist/_chunks/{ComponentConfigurationPage-DKuCF_uX.mjs.map → ComponentConfigurationPage-DaPOlQaD.mjs.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-CyqSP6ru.mjs → EditConfigurationPage-BZPXItXo.mjs} +3 -3
  11. package/dist/_chunks/{EditConfigurationPage-CyqSP6ru.mjs.map → EditConfigurationPage-BZPXItXo.mjs.map} +1 -1
  12. package/dist/_chunks/{EditConfigurationPage-BeikGxvq.js → EditConfigurationPage-uy-v43AR.js} +4 -5
  13. package/dist/_chunks/{EditConfigurationPage-BeikGxvq.js.map → EditConfigurationPage-uy-v43AR.js.map} +1 -1
  14. package/dist/_chunks/{EditViewPage-pyqEgLgP.js → EditViewPage-DT6A4ayX.js} +4 -5
  15. package/dist/_chunks/{EditViewPage-pyqEgLgP.js.map → EditViewPage-DT6A4ayX.js.map} +1 -1
  16. package/dist/_chunks/{EditViewPage-PrPHZN_9.mjs → EditViewPage-oOLeTySr.mjs} +3 -3
  17. package/dist/_chunks/{EditViewPage-PrPHZN_9.mjs.map → EditViewPage-oOLeTySr.mjs.map} +1 -1
  18. package/dist/_chunks/{Field-DuAYQka5.mjs → Field-D7dv2aUX.mjs} +146 -114
  19. package/dist/_chunks/Field-D7dv2aUX.mjs.map +1 -0
  20. package/dist/_chunks/{Field-fKtb7rWK.js → Field-kYFVIGiP.js} +148 -116
  21. package/dist/_chunks/Field-kYFVIGiP.js.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-Dxh71ckp.mjs → Form-BxR6sc29.mjs} +3 -3
  25. package/dist/_chunks/{Form-Dxh71ckp.mjs.map → Form-BxR6sc29.mjs.map} +1 -1
  26. package/dist/_chunks/{Form-BPXw-S-J.js → Form-CCijSg3V.js} +5 -6
  27. package/dist/_chunks/{Form-BPXw-S-J.js.map → Form-CCijSg3V.js.map} +1 -1
  28. package/dist/_chunks/{History-BGGn9JGY.js → History-BMndx49M.js} +8 -7
  29. package/dist/_chunks/History-BMndx49M.js.map +1 -0
  30. package/dist/_chunks/{History-CGblSVMc.mjs → History-D8F7aYQU.mjs} +8 -6
  31. package/dist/_chunks/History-D8F7aYQU.mjs.map +1 -0
  32. package/dist/_chunks/{ListConfigurationPage-D3Avyi4t.js → ListConfigurationPage-DouY1EWM.js} +6 -6
  33. package/dist/_chunks/ListConfigurationPage-DouY1EWM.js.map +1 -0
  34. package/dist/_chunks/{ListConfigurationPage-TIM0JveM.mjs → ListConfigurationPage-DqAdSPwC.mjs} +6 -5
  35. package/dist/_chunks/ListConfigurationPage-DqAdSPwC.mjs.map +1 -0
  36. package/dist/_chunks/{ListViewPage-DtAHWFMV.js → ListViewPage-BPVmh9pq.js} +51 -51
  37. package/dist/_chunks/ListViewPage-BPVmh9pq.js.map +1 -0
  38. package/dist/_chunks/{ListViewPage-C975eW-t.mjs → ListViewPage-C73F0jPh.mjs} +50 -49
  39. package/dist/_chunks/ListViewPage-C73F0jPh.mjs.map +1 -0
  40. package/dist/_chunks/{NoContentTypePage-SgNTVGjF.mjs → NoContentTypePage-B5w7iJOF.mjs} +2 -2
  41. package/dist/_chunks/{NoContentTypePage-SgNTVGjF.mjs.map → NoContentTypePage-B5w7iJOF.mjs.map} +1 -1
  42. package/dist/_chunks/{NoContentTypePage-BFjWZX0i.js → NoContentTypePage-BwcL--4H.js} +2 -2
  43. package/dist/_chunks/{NoContentTypePage-BFjWZX0i.js.map → NoContentTypePage-BwcL--4H.js.map} +1 -1
  44. package/dist/_chunks/{NoPermissionsPage-j7oulOpl.js → NoPermissionsPage-BMFKVcwJ.js} +2 -2
  45. package/dist/_chunks/{NoPermissionsPage-j7oulOpl.js.map → NoPermissionsPage-BMFKVcwJ.js.map} +1 -1
  46. package/dist/_chunks/{NoPermissionsPage-D4XYRoPf.mjs → NoPermissionsPage-UnEgMGK4.mjs} +2 -2
  47. package/dist/_chunks/{NoPermissionsPage-D4XYRoPf.mjs.map → NoPermissionsPage-UnEgMGK4.mjs.map} +1 -1
  48. package/dist/_chunks/{Preview-Bx1WfmKJ.js → Preview-B7PR3Ok_.js} +76 -20
  49. package/dist/_chunks/Preview-B7PR3Ok_.js.map +1 -0
  50. package/dist/_chunks/{Preview-Cy6fuAnd.mjs → Preview-DECOhK0D.mjs} +77 -20
  51. package/dist/_chunks/Preview-DECOhK0D.mjs.map +1 -0
  52. package/dist/_chunks/{Relations-DUrYWw0N.mjs → Relations-DinMQJ4B.mjs} +6 -8
  53. package/dist/_chunks/{Relations-DUrYWw0N.mjs.map → Relations-DinMQJ4B.mjs.map} +1 -1
  54. package/dist/_chunks/{Relations-CXQqwRXC.js → Relations-lndx3aQk.js} +7 -10
  55. package/dist/_chunks/{Relations-CXQqwRXC.js.map → Relations-lndx3aQk.js.map} +1 -1
  56. package/dist/_chunks/{en-DAgtrRoa.js → en-BK8Xyl5I.js} +4 -2
  57. package/dist/_chunks/{en-DAgtrRoa.js.map → en-BK8Xyl5I.js.map} +1 -1
  58. package/dist/_chunks/{en-69jRDM9j.mjs → en-Dtk_ot79.mjs} +4 -2
  59. package/dist/_chunks/{en-69jRDM9j.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
  60. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
  61. package/dist/_chunks/{index-Ta--2bRa.mjs → index-C2SagWVW.mjs} +234 -138
  62. package/dist/_chunks/index-C2SagWVW.mjs.map +1 -0
  63. package/dist/_chunks/{index-_j7lH3CO.js → index-Cnw4gqee.js} +234 -139
  64. package/dist/_chunks/index-Cnw4gqee.js.map +1 -0
  65. package/dist/_chunks/{layout-C8H4oKDo.mjs → layout-DY_D9MGA.mjs} +4 -4
  66. package/dist/_chunks/{layout-C8H4oKDo.mjs.map → layout-DY_D9MGA.mjs.map} +1 -1
  67. package/dist/_chunks/{layout-BDwU2I_y.js → layout-ivwIVPnV.js} +5 -6
  68. package/dist/_chunks/{layout-BDwU2I_y.js.map → layout-ivwIVPnV.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-CPfMNzM6.js → relations-B7C7O_Pv.js} +2 -2
  72. package/dist/_chunks/{relations-CPfMNzM6.js.map → relations-B7C7O_Pv.js.map} +1 -1
  73. package/dist/_chunks/{relations-Ch70q86O.mjs → relations-Boc5Y9kX.mjs} +2 -2
  74. package/dist/_chunks/{relations-Ch70q86O.mjs.map → relations-Boc5Y9kX.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/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +7 -0
  86. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
  87. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
  88. package/dist/admin/src/services/documents.d.ts +0 -3
  89. package/dist/server/index.js +148 -111
  90. package/dist/server/index.js.map +1 -1
  91. package/dist/server/index.mjs +149 -111
  92. package/dist/server/index.mjs.map +1 -1
  93. package/dist/server/src/controllers/utils/metadata.d.ts +1 -0
  94. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  95. package/dist/server/src/index.d.ts +3 -2
  96. package/dist/server/src/index.d.ts.map +1 -1
  97. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  98. package/dist/server/src/preview/index.d.ts.map +1 -1
  99. package/dist/server/src/preview/services/index.d.ts +1 -0
  100. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  101. package/dist/server/src/preview/services/preview-config.d.ts +2 -0
  102. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  103. package/dist/server/src/preview/utils.d.ts +1 -0
  104. package/dist/server/src/preview/utils.d.ts.map +1 -1
  105. package/dist/server/src/register.d.ts.map +1 -1
  106. package/dist/server/src/services/document-metadata.d.ts +4 -2
  107. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  108. package/dist/server/src/services/index.d.ts +3 -2
  109. package/dist/server/src/services/index.d.ts.map +1 -1
  110. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  111. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  112. package/dist/server/src/services/utils/populate.d.ts +2 -2
  113. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  114. package/package.json +12 -10
  115. package/dist/_chunks/Field-DuAYQka5.mjs.map +0 -1
  116. package/dist/_chunks/Field-fKtb7rWK.js.map +0 -1
  117. package/dist/_chunks/History-BGGn9JGY.js.map +0 -1
  118. package/dist/_chunks/History-CGblSVMc.mjs.map +0 -1
  119. package/dist/_chunks/ListConfigurationPage-D3Avyi4t.js.map +0 -1
  120. package/dist/_chunks/ListConfigurationPage-TIM0JveM.mjs.map +0 -1
  121. package/dist/_chunks/ListViewPage-C975eW-t.mjs.map +0 -1
  122. package/dist/_chunks/ListViewPage-DtAHWFMV.js.map +0 -1
  123. package/dist/_chunks/Preview-Bx1WfmKJ.js.map +0 -1
  124. package/dist/_chunks/Preview-Cy6fuAnd.mjs.map +0 -1
  125. package/dist/_chunks/index-Ta--2bRa.mjs.map +0 -1
  126. package/dist/_chunks/index-_j7lH3CO.js.map +0 -1
  127. package/dist/admin/src/preview/constants.d.ts +0 -1
  128. package/dist/server/src/preview/constants.d.ts +0 -2
  129. package/dist/server/src/preview/constants.d.ts.map +0 -1
@@ -3,24 +3,31 @@ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
3
3
  import { useStrapiApp, createContext, useQueryParams, useAuth, useRBAC, Page, adminApi, translatedErrors, useNotification, useAPIErrorHandler, getYupValidationErrors, useForm, useTracking, useGuidedTour, BackButton, DescriptionComponentRenderer, useTable, Table } from "@strapi/admin/strapi-admin";
4
4
  import * as React from "react";
5
5
  import { lazy } from "react";
6
- import { Button, Menu, VisuallyHidden, Flex, Dialog, Modal, Typography, Radio, Status, Box, SingleSelect, SingleSelectOption, IconButton, Loader, Tooltip, LinkButton } from "@strapi/design-system";
6
+ import { Menu, Button, VisuallyHidden, Flex, Dialog, Modal, Typography, Radio, Status, Box, SingleSelect, SingleSelectOption, IconButton, Loader, Tooltip, LinkButton } from "@strapi/design-system";
7
7
  import mapValues from "lodash/fp/mapValues";
8
8
  import { useIntl } from "react-intl";
9
9
  import { useParams, useNavigate, Navigate, useMatch, useLocation, Link, NavLink } from "react-router-dom";
10
+ import { styled } from "styled-components";
10
11
  import * as yup from "yup";
11
12
  import { ValidationError } from "yup";
13
+ import { stringify } from "qs";
12
14
  import pipe from "lodash/fp/pipe";
13
15
  import { intervalToDuration, isPast } from "date-fns";
14
- import { styled } from "styled-components";
15
- import { stringify } from "qs";
16
16
  import { createSlice, combineReducers } from "@reduxjs/toolkit";
17
- const __variableDynamicImportRuntimeHelper = (glob, path) => {
17
+ const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
18
18
  const v = glob[path];
19
19
  if (v) {
20
20
  return typeof v === "function" ? v() : Promise.resolve(v);
21
21
  }
22
22
  return new Promise((_, reject) => {
23
- (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
23
+ (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
24
+ reject.bind(
25
+ null,
26
+ new Error(
27
+ "Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
28
+ )
29
+ )
30
+ );
24
31
  });
25
32
  };
26
33
  const PLUGIN_ID = "content-manager";
@@ -274,7 +281,7 @@ const documentApi = contentManagerApi.injectEndpoints({
274
281
  url: `/content-manager/collection-types/${model}`,
275
282
  method: "GET",
276
283
  config: {
277
- params
284
+ params: stringify(params, { encode: true })
278
285
  }
279
286
  }),
280
287
  providesTags: (result, _error, arg) => {
@@ -453,8 +460,7 @@ const {
453
460
  useUnpublishManyDocumentsMutation
454
461
  } = documentApi;
455
462
  const buildValidParams = (query) => {
456
- if (!query)
457
- return query;
463
+ if (!query) return query;
458
464
  const { plugins: _, ...validQueryParams } = {
459
465
  ...query,
460
466
  ...Object.values(query?.plugins ?? {}).reduce(
@@ -462,9 +468,6 @@ const buildValidParams = (query) => {
462
468
  {}
463
469
  )
464
470
  };
465
- if ("_q" in validQueryParams) {
466
- validQueryParams._q = encodeURIComponent(validQueryParams._q);
467
- }
468
471
  return validQueryParams;
469
472
  };
470
473
  const isBaseQueryError = (error) => {
@@ -1664,7 +1667,7 @@ const useDocumentActions = () => {
1664
1667
  };
1665
1668
  };
1666
1669
  const ProtectedHistoryPage = React.lazy(
1667
- () => import("./History-CGblSVMc.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1670
+ () => import("./History-D8F7aYQU.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1668
1671
  );
1669
1672
  const routes$2 = [
1670
1673
  {
@@ -1677,7 +1680,7 @@ const routes$2 = [
1677
1680
  }
1678
1681
  ];
1679
1682
  const ProtectedPreviewPage = React.lazy(
1680
- () => import("./Preview-Cy6fuAnd.mjs").then((mod) => ({ default: mod.ProtectedPreviewPage }))
1683
+ () => import("./Preview-DECOhK0D.mjs").then((mod) => ({ default: mod.ProtectedPreviewPage }))
1681
1684
  );
1682
1685
  const routes$1 = [
1683
1686
  {
@@ -1690,31 +1693,31 @@ const routes$1 = [
1690
1693
  }
1691
1694
  ];
1692
1695
  const ProtectedEditViewPage = lazy(
1693
- () => import("./EditViewPage-PrPHZN_9.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1696
+ () => import("./EditViewPage-oOLeTySr.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1694
1697
  );
1695
1698
  const ProtectedListViewPage = lazy(
1696
- () => import("./ListViewPage-C975eW-t.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1699
+ () => import("./ListViewPage-C73F0jPh.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1697
1700
  );
1698
1701
  const ProtectedListConfiguration = lazy(
1699
- () => import("./ListConfigurationPage-TIM0JveM.mjs").then((mod) => ({
1702
+ () => import("./ListConfigurationPage-DqAdSPwC.mjs").then((mod) => ({
1700
1703
  default: mod.ProtectedListConfiguration
1701
1704
  }))
1702
1705
  );
1703
1706
  const ProtectedEditConfigurationPage = lazy(
1704
- () => import("./EditConfigurationPage-CyqSP6ru.mjs").then((mod) => ({
1707
+ () => import("./EditConfigurationPage-BZPXItXo.mjs").then((mod) => ({
1705
1708
  default: mod.ProtectedEditConfigurationPage
1706
1709
  }))
1707
1710
  );
1708
1711
  const ProtectedComponentConfigurationPage = lazy(
1709
- () => import("./ComponentConfigurationPage-DKuCF_uX.mjs").then((mod) => ({
1712
+ () => import("./ComponentConfigurationPage-DaPOlQaD.mjs").then((mod) => ({
1710
1713
  default: mod.ProtectedComponentConfigurationPage
1711
1714
  }))
1712
1715
  );
1713
1716
  const NoPermissions = lazy(
1714
- () => import("./NoPermissionsPage-D4XYRoPf.mjs").then((mod) => ({ default: mod.NoPermissions }))
1717
+ () => import("./NoPermissionsPage-UnEgMGK4.mjs").then((mod) => ({ default: mod.NoPermissions }))
1715
1718
  );
1716
1719
  const NoContentType = lazy(
1717
- () => import("./NoContentTypePage-SgNTVGjF.mjs").then((mod) => ({ default: mod.NoContentType }))
1720
+ () => import("./NoContentTypePage-B5w7iJOF.mjs").then((mod) => ({ default: mod.NoContentType }))
1718
1721
  );
1719
1722
  const CollectionTypePages = () => {
1720
1723
  const { collectionType } = useParams();
@@ -1859,6 +1862,11 @@ const DocumentActionButton = (action) => {
1859
1862
  ) : null
1860
1863
  ] });
1861
1864
  };
1865
+ const MenuItem = styled(Menu.Item)`
1866
+ &:hover {
1867
+ background: ${({ theme, isVariantDanger, isDisabled }) => isVariantDanger && !isDisabled ? theme.colors.danger100 : "neutral"};
1868
+ }
1869
+ `;
1862
1870
  const DocumentActionsMenu = ({
1863
1871
  actions: actions2,
1864
1872
  children,
@@ -1917,11 +1925,13 @@ const DocumentActionsMenu = ({
1917
1925
  /* @__PURE__ */ jsxs(Menu.Content, { maxHeight: void 0, popoverPlacement: "bottom-end", children: [
1918
1926
  actions2.map((action) => {
1919
1927
  return /* @__PURE__ */ jsx(
1920
- Menu.Item,
1928
+ MenuItem,
1921
1929
  {
1922
1930
  disabled: action.disabled,
1923
1931
  onSelect: handleClick(action),
1924
1932
  display: "block",
1933
+ isVariantDanger: action.variant === "danger",
1934
+ isDisabled: action.disabled,
1925
1935
  children: /* @__PURE__ */ jsx(Flex, { justifyContent: "space-between", gap: 4, children: /* @__PURE__ */ jsxs(
1926
1936
  Flex,
1927
1937
  {
@@ -2077,6 +2087,7 @@ const PublishAction$1 = ({
2077
2087
  const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
2078
2088
  const isListView = useMatch(LIST_PATH) !== null;
2079
2089
  const isCloning = useMatch(CLONE_PATH) !== null;
2090
+ const { id } = useParams();
2080
2091
  const { formatMessage } = useIntl();
2081
2092
  const canPublish = useDocumentRBAC("PublishAction", ({ canPublish: canPublish2 }) => canPublish2);
2082
2093
  const { publish } = useDocumentActions();
@@ -2179,10 +2190,12 @@ const PublishAction$1 = ({
2179
2190
  transformData(formValues)
2180
2191
  );
2181
2192
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2182
- navigate({
2183
- pathname: `../${collectionType}/${model}/${res.data.documentId}`,
2184
- search: rawQuery
2185
- });
2193
+ if (id === "create") {
2194
+ navigate({
2195
+ pathname: `../${collectionType}/${model}/${res.data.documentId}`,
2196
+ search: rawQuery
2197
+ });
2198
+ }
2186
2199
  } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2187
2200
  setErrors(formatValidationErrors(res.error));
2188
2201
  }
@@ -2235,6 +2248,7 @@ const PublishAction$1 = ({
2235
2248
  };
2236
2249
  };
2237
2250
  PublishAction$1.type = "publish";
2251
+ PublishAction$1.position = "panel";
2238
2252
  const UpdateAction = ({
2239
2253
  activeTab,
2240
2254
  documentId,
@@ -2257,96 +2271,134 @@ const UpdateAction = ({
2257
2271
  const validate = useForm("UpdateAction", (state) => state.validate);
2258
2272
  const setErrors = useForm("UpdateAction", (state) => state.setErrors);
2259
2273
  const resetForm = useForm("PublishAction", ({ resetForm: resetForm2 }) => resetForm2);
2260
- return {
2261
- /**
2262
- * Disabled when:
2263
- * - the form is submitting
2264
- * - the document is not modified & we're not cloning (you can save a clone entity straight away)
2265
- * - the active tab is the published tab
2266
- */
2267
- disabled: isSubmitting || !modified && !isCloning || activeTab === "published",
2268
- label: formatMessage({
2269
- id: "content-manager.containers.Edit.save",
2270
- defaultMessage: "Save"
2271
- }),
2272
- onClick: async () => {
2273
- setSubmitting(true);
2274
- try {
2275
- const { errors } = await validate(true, {
2276
- status: "draft"
2274
+ const handleUpdate = React.useCallback(async () => {
2275
+ setSubmitting(true);
2276
+ try {
2277
+ if (!modified) {
2278
+ return;
2279
+ }
2280
+ const { errors } = await validate(true, {
2281
+ status: "draft"
2282
+ });
2283
+ if (errors) {
2284
+ toggleNotification({
2285
+ type: "danger",
2286
+ message: formatMessage({
2287
+ id: "content-manager.validation.error",
2288
+ defaultMessage: "There are validation errors in your document. Please fix them before saving."
2289
+ })
2277
2290
  });
2278
- if (errors) {
2279
- toggleNotification({
2280
- type: "danger",
2281
- message: formatMessage({
2282
- id: "content-manager.validation.error",
2283
- defaultMessage: "There are validation errors in your document. Please fix them before saving."
2284
- })
2285
- });
2286
- return;
2287
- }
2288
- if (isCloning) {
2289
- const res = await clone(
2290
- {
2291
- model,
2292
- documentId: cloneMatch.params.origin,
2293
- params
2294
- },
2295
- transformData(document)
2296
- );
2297
- if ("data" in res) {
2298
- navigate(
2299
- {
2300
- pathname: `../${res.data.documentId}`,
2301
- search: rawQuery
2302
- },
2303
- { relative: "path" }
2304
- );
2305
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2306
- setErrors(formatValidationErrors(res.error));
2307
- }
2308
- } else if (documentId || collectionType === SINGLE_TYPES) {
2309
- const res = await update(
2291
+ return;
2292
+ }
2293
+ if (isCloning) {
2294
+ const res = await clone(
2295
+ {
2296
+ model,
2297
+ documentId: cloneMatch.params.origin,
2298
+ params
2299
+ },
2300
+ transformData(document)
2301
+ );
2302
+ if ("data" in res) {
2303
+ navigate(
2310
2304
  {
2311
- collectionType,
2312
- model,
2313
- documentId,
2314
- params
2305
+ pathname: `../${res.data.documentId}`,
2306
+ search: rawQuery
2315
2307
  },
2316
- transformData(document)
2308
+ { relative: "path" }
2317
2309
  );
2318
- if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2319
- setErrors(formatValidationErrors(res.error));
2320
- } else {
2321
- resetForm();
2322
- }
2310
+ } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2311
+ setErrors(formatValidationErrors(res.error));
2312
+ }
2313
+ } else if (documentId || collectionType === SINGLE_TYPES) {
2314
+ const res = await update(
2315
+ {
2316
+ collectionType,
2317
+ model,
2318
+ documentId,
2319
+ params
2320
+ },
2321
+ transformData(document)
2322
+ );
2323
+ if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2324
+ setErrors(formatValidationErrors(res.error));
2323
2325
  } else {
2324
- const res = await create(
2326
+ resetForm();
2327
+ }
2328
+ } else {
2329
+ const res = await create(
2330
+ {
2331
+ model,
2332
+ params
2333
+ },
2334
+ transformData(document)
2335
+ );
2336
+ if ("data" in res && collectionType !== SINGLE_TYPES) {
2337
+ navigate(
2325
2338
  {
2326
- model,
2327
- params
2339
+ pathname: `../${res.data.documentId}`,
2340
+ search: rawQuery
2328
2341
  },
2329
- transformData(document)
2342
+ { replace: true, relative: "path" }
2330
2343
  );
2331
- if ("data" in res && collectionType !== SINGLE_TYPES) {
2332
- navigate(
2333
- {
2334
- pathname: `../${res.data.documentId}`,
2335
- search: rawQuery
2336
- },
2337
- { replace: true, relative: "path" }
2338
- );
2339
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2340
- setErrors(formatValidationErrors(res.error));
2341
- }
2344
+ } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2345
+ setErrors(formatValidationErrors(res.error));
2342
2346
  }
2343
- } finally {
2344
- setSubmitting(false);
2345
2347
  }
2348
+ } finally {
2349
+ setSubmitting(false);
2346
2350
  }
2351
+ }, [
2352
+ clone,
2353
+ cloneMatch?.params.origin,
2354
+ collectionType,
2355
+ create,
2356
+ document,
2357
+ documentId,
2358
+ formatMessage,
2359
+ formatValidationErrors,
2360
+ isCloning,
2361
+ model,
2362
+ modified,
2363
+ navigate,
2364
+ params,
2365
+ rawQuery,
2366
+ resetForm,
2367
+ setErrors,
2368
+ setSubmitting,
2369
+ toggleNotification,
2370
+ update,
2371
+ validate
2372
+ ]);
2373
+ React.useEffect(() => {
2374
+ const handleKeyDown = (e) => {
2375
+ if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
2376
+ e.preventDefault();
2377
+ handleUpdate();
2378
+ }
2379
+ };
2380
+ window.addEventListener("keydown", handleKeyDown);
2381
+ return () => {
2382
+ window.removeEventListener("keydown", handleKeyDown);
2383
+ };
2384
+ }, [handleUpdate]);
2385
+ return {
2386
+ /**
2387
+ * Disabled when:
2388
+ * - the form is submitting
2389
+ * - the document is not modified & we're not cloning (you can save a clone entity straight away)
2390
+ * - the active tab is the published tab
2391
+ */
2392
+ disabled: isSubmitting || !modified && !isCloning || activeTab === "published",
2393
+ label: formatMessage({
2394
+ id: "global.save",
2395
+ defaultMessage: "Save"
2396
+ }),
2397
+ onClick: handleUpdate
2347
2398
  };
2348
2399
  };
2349
2400
  UpdateAction.type = "update";
2401
+ UpdateAction.position = "panel";
2350
2402
  const UNPUBLISH_DRAFT_OPTIONS = {
2351
2403
  KEEP: "keep",
2352
2404
  DISCARD: "discard"
@@ -2469,6 +2521,7 @@ const UnpublishAction$1 = ({
2469
2521
  };
2470
2522
  };
2471
2523
  UnpublishAction$1.type = "unpublish";
2524
+ UnpublishAction$1.position = "panel";
2472
2525
  const DiscardAction = ({
2473
2526
  activeTab,
2474
2527
  documentId,
@@ -2519,6 +2572,7 @@ const DiscardAction = ({
2519
2572
  };
2520
2573
  };
2521
2574
  DiscardAction.type = "discard";
2575
+ DiscardAction.position = "panel";
2522
2576
  const DEFAULT_ACTIONS = [PublishAction$1, UpdateAction, UnpublishAction$1, DiscardAction];
2523
2577
  const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
2524
2578
  const RelativeTime = React.forwardRef(
@@ -2576,12 +2630,18 @@ const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
2576
2630
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2577
2631
  const { formatMessage } = useIntl();
2578
2632
  const isCloning = useMatch(CLONE_PATH) !== null;
2633
+ const params = useParams();
2579
2634
  const title = isCreating ? formatMessage({
2580
2635
  id: "content-manager.containers.edit.title.new",
2581
2636
  defaultMessage: "Create an entry"
2582
2637
  }) : documentTitle;
2583
2638
  return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", paddingTop: 6, paddingBottom: 4, gap: 2, children: [
2584
- /* @__PURE__ */ jsx(BackButton, {}),
2639
+ /* @__PURE__ */ jsx(
2640
+ BackButton,
2641
+ {
2642
+ fallback: params.collectionType === SINGLE_TYPES ? void 0 : `../${COLLECTION_TYPES}/${params.slug}`
2643
+ }
2644
+ ),
2585
2645
  /* @__PURE__ */ jsxs(Flex, { width: "100%", justifyContent: "space-between", gap: "80px", alignItems: "flex-start", children: [
2586
2646
  /* @__PURE__ */ jsx(Typography, { variant: "alpha", tag: "h1", children: title }),
2587
2647
  /* @__PURE__ */ jsx(HeaderToolbar, {})
@@ -2632,7 +2692,7 @@ const HeaderToolbar = () => {
2632
2692
  meta: isCloning ? void 0 : meta,
2633
2693
  collectionType
2634
2694
  },
2635
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
2695
+ descriptions: plugins["content-manager"].apis.getDocumentActions("header"),
2636
2696
  children: (actions2) => {
2637
2697
  const headerActions = actions2.filter((action) => {
2638
2698
  const positions = Array.isArray(action.position) ? action.position : [action.position];
@@ -2840,6 +2900,7 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
2840
2900
  };
2841
2901
  };
2842
2902
  ConfigureTheViewAction.type = "configure-the-view";
2903
+ ConfigureTheViewAction.position = "header";
2843
2904
  const EditTheModelAction = ({ model }) => {
2844
2905
  const navigate = useNavigate();
2845
2906
  const { formatMessage } = useIntl();
@@ -2856,6 +2917,7 @@ const EditTheModelAction = ({ model }) => {
2856
2917
  };
2857
2918
  };
2858
2919
  EditTheModelAction.type = "edit-the-model";
2920
+ EditTheModelAction.position = "header";
2859
2921
  const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
2860
2922
  const navigate = useNavigate();
2861
2923
  const { formatMessage } = useIntl();
@@ -2929,6 +2991,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
2929
2991
  };
2930
2992
  };
2931
2993
  DeleteAction$1.type = "delete";
2994
+ DeleteAction$1.position = ["header", "table-row"];
2932
2995
  const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction$1];
2933
2996
  const Panels = () => {
2934
2997
  const isCloning = useMatch(CLONE_PATH) !== null;
@@ -2991,7 +3054,7 @@ const ActionsPanelContent = () => {
2991
3054
  DescriptionComponentRenderer,
2992
3055
  {
2993
3056
  props,
2994
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
3057
+ descriptions: plugins["content-manager"].apis.getDocumentActions("panel"),
2995
3058
  children: (actions2) => /* @__PURE__ */ jsx(DocumentActions, { actions: actions2 })
2996
3059
  }
2997
3060
  ),
@@ -3445,8 +3508,7 @@ const PublishAction = ({ documents, model }) => {
3445
3508
  const refetchList = () => {
3446
3509
  contentManagerApi.util.invalidateTags([{ type: "Document", id: `${model}_LIST` }]);
3447
3510
  };
3448
- if (!showPublishButton)
3449
- return null;
3511
+ if (!showPublishButton) return null;
3450
3512
  return {
3451
3513
  actionType: "publish",
3452
3514
  variant: "tertiary",
@@ -3514,8 +3576,7 @@ const DeleteAction = ({ documents, model }) => {
3514
3576
  selectRow([]);
3515
3577
  }
3516
3578
  };
3517
- if (!hasDeletePermission)
3518
- return null;
3579
+ if (!hasDeletePermission) return null;
3519
3580
  return {
3520
3581
  variant: "danger-light",
3521
3582
  label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
@@ -3564,8 +3625,7 @@ const UnpublishAction = ({ documents, model }) => {
3564
3625
  }
3565
3626
  };
3566
3627
  const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published" || entry.status === "modified");
3567
- if (!showUnpublishButton)
3568
- return null;
3628
+ if (!showUnpublishButton) return null;
3569
3629
  return {
3570
3630
  variant: "tertiary",
3571
3631
  label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
@@ -3670,7 +3730,7 @@ const TableActions = ({ document }) => {
3670
3730
  DescriptionComponentRenderer,
3671
3731
  {
3672
3732
  props,
3673
- descriptions: plugins["content-manager"].apis.getDocumentActions().filter((action) => action.name !== "PublishAction"),
3733
+ descriptions: plugins["content-manager"].apis.getDocumentActions("table-row").filter((action) => action.name !== "PublishAction"),
3674
3734
  children: (actions2) => {
3675
3735
  const tableRowActions = actions2.filter((action) => {
3676
3736
  const positions = Array.isArray(action.position) ? action.position : [action.position];
@@ -3729,6 +3789,7 @@ const EditAction = ({ documentId }) => {
3729
3789
  };
3730
3790
  };
3731
3791
  EditAction.type = "edit";
3792
+ EditAction.position = "table-row";
3732
3793
  const StyledPencil = styled(Pencil)`
3733
3794
  path {
3734
3795
  fill: currentColor;
@@ -3805,6 +3866,7 @@ const CloneAction = ({ model, documentId }) => {
3805
3866
  };
3806
3867
  };
3807
3868
  CloneAction.type = "clone";
3869
+ CloneAction.position = "table-row";
3808
3870
  const StyledDuplicate = styled(Duplicate)`
3809
3871
  path {
3810
3872
  fill: currentColor;
@@ -3891,7 +3953,14 @@ class ContentManagerPlugin {
3891
3953
  addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
3892
3954
  addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
3893
3955
  getBulkActions: () => this.bulkActions,
3894
- getDocumentActions: () => this.documentActions,
3956
+ getDocumentActions: (position) => {
3957
+ if (position) {
3958
+ return this.documentActions.filter(
3959
+ (action) => action.position == void 0 || [action.position].flat().includes(position)
3960
+ );
3961
+ }
3962
+ return this.documentActions;
3963
+ },
3895
3964
  getEditViewSidePanels: () => this.editViewSidePanels,
3896
3965
  getHeaderActions: () => this.headerActions
3897
3966
  }
@@ -3901,10 +3970,8 @@ class ContentManagerPlugin {
3901
3970
  const getPrintableType = (value) => {
3902
3971
  const nativeType = typeof value;
3903
3972
  if (nativeType === "object") {
3904
- if (value === null)
3905
- return "null";
3906
- if (Array.isArray(value))
3907
- return "array";
3973
+ if (value === null) return "null";
3974
+ if (Array.isArray(value)) return "array";
3908
3975
  if (value instanceof Object && value.constructor.name !== "Object") {
3909
3976
  return value.constructor.name;
3910
3977
  }
@@ -3915,17 +3982,27 @@ const HistoryAction = ({ model, document }) => {
3915
3982
  const { formatMessage } = useIntl();
3916
3983
  const [{ query }] = useQueryParams();
3917
3984
  const navigate = useNavigate();
3985
+ const { trackUsage } = useTracking();
3986
+ const { pathname } = useLocation();
3918
3987
  const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
3919
3988
  if (!window.strapi.features.isEnabled("cms-content-history")) {
3920
3989
  return null;
3921
3990
  }
3991
+ const handleOnClick = () => {
3992
+ const destination = { pathname: "history", search: pluginsQueryParams };
3993
+ trackUsage("willNavigate", {
3994
+ from: pathname,
3995
+ to: `${pathname}/${destination.pathname}`
3996
+ });
3997
+ navigate(destination);
3998
+ };
3922
3999
  return {
3923
4000
  icon: /* @__PURE__ */ jsx(ClockCounterClockwise, {}),
3924
4001
  label: formatMessage({
3925
4002
  id: "content-manager.history.document-action",
3926
4003
  defaultMessage: "Content History"
3927
4004
  }),
3928
- onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
4005
+ onClick: handleOnClick,
3929
4006
  disabled: (
3930
4007
  /**
3931
4008
  * The user is creating a new document.
@@ -3947,6 +4024,7 @@ const HistoryAction = ({ model, document }) => {
3947
4024
  };
3948
4025
  };
3949
4026
  HistoryAction.type = "history";
4027
+ HistoryAction.position = "header";
3950
4028
  const historyAdmin = {
3951
4029
  bootstrap(app) {
3952
4030
  const { addDocumentAction } = app.getPlugin("content-manager").apis;
@@ -4009,10 +4087,18 @@ const previewApi = contentManagerApi.injectEndpoints({
4009
4087
  })
4010
4088
  });
4011
4089
  const { useGetPreviewUrlQuery } = previewApi;
4090
+ const ConditionalTooltip = ({ isShown, label, children }) => {
4091
+ if (isShown) {
4092
+ return /* @__PURE__ */ jsx(Tooltip, { label, children });
4093
+ }
4094
+ return children;
4095
+ };
4012
4096
  const PreviewSidePanel = ({ model, documentId, document }) => {
4013
4097
  const { formatMessage } = useIntl();
4014
4098
  const { trackUsage } = useTracking();
4099
+ const { pathname } = useLocation();
4015
4100
  const [{ query }] = useQueryParams();
4101
+ const isModified = useForm("PreviewSidePanel", (state) => state.modified);
4016
4102
  const { data, error } = useGetPreviewUrlQuery({
4017
4103
  params: {
4018
4104
  contentType: model
@@ -4026,33 +4112,43 @@ const PreviewSidePanel = ({ model, documentId, document }) => {
4026
4112
  if (!data?.data?.url || error) {
4027
4113
  return null;
4028
4114
  }
4029
- const handleClick = () => {
4030
- trackUsage("willOpenPreview");
4115
+ const trackNavigation = () => {
4116
+ const destinationPathname = pathname.replace(/\/$/, "") + "/preview";
4117
+ trackUsage("willNavigate", { from: pathname, to: destinationPathname });
4031
4118
  };
4032
4119
  return {
4033
4120
  title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4034
- content: /* @__PURE__ */ jsx(Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsx(
4035
- Button,
4121
+ content: /* @__PURE__ */ jsx(
4122
+ ConditionalTooltip,
4036
4123
  {
4037
- variant: "tertiary",
4038
- tag: Link,
4039
- to: { pathname: "preview", search: stringify(query, { encode: false }) },
4040
- onClick: handleClick,
4041
- flex: "auto",
4042
- children: formatMessage({
4043
- id: "content-manager.preview.panel.button",
4044
- defaultMessage: "Open preview"
4045
- })
4124
+ label: formatMessage({
4125
+ id: "content-manager.preview.panel.button-disabled-tooltip",
4126
+ defaultMessage: "Please save to open the preview"
4127
+ }),
4128
+ isShown: isModified,
4129
+ children: /* @__PURE__ */ jsx(Box, { cursor: "not-allowed", width: "100%", children: /* @__PURE__ */ jsx(
4130
+ Button,
4131
+ {
4132
+ variant: "tertiary",
4133
+ tag: Link,
4134
+ to: { pathname: "preview", search: stringify(query, { encode: false }) },
4135
+ onClick: trackNavigation,
4136
+ width: "100%",
4137
+ disabled: isModified,
4138
+ pointerEvents: isModified ? "none" : void 0,
4139
+ tabIndex: isModified ? -1 : void 0,
4140
+ children: formatMessage({
4141
+ id: "content-manager.preview.panel.button",
4142
+ defaultMessage: "Open preview"
4143
+ })
4144
+ }
4145
+ ) })
4046
4146
  }
4047
- ) })
4147
+ )
4048
4148
  };
4049
4149
  };
4050
- const FEATURE_ID = "preview";
4051
4150
  const previewAdmin = {
4052
4151
  bootstrap(app) {
4053
- if (!window.strapi.future.isEnabled(FEATURE_ID)) {
4054
- return;
4055
- }
4056
4152
  const contentManagerPluginApis = app.getPlugin("content-manager").apis;
4057
4153
  contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
4058
4154
  }
@@ -4076,7 +4172,7 @@ const index = {
4076
4172
  app.router.addRoute({
4077
4173
  path: "content-manager/*",
4078
4174
  lazy: async () => {
4079
- const { Layout } = await import("./layout-C8H4oKDo.mjs");
4175
+ const { Layout } = await import("./layout-DY_D9MGA.mjs");
4080
4176
  return {
4081
4177
  Component: Layout
4082
4178
  };
@@ -4096,7 +4192,7 @@ const index = {
4096
4192
  async registerTrads({ locales }) {
4097
4193
  const importedTrads = await Promise.all(
4098
4194
  locales.map((locale) => {
4099
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-69jRDM9j.mjs"), "./translations/es.json": () => import("./es-D34tqjMw.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr--pg5jUbt.mjs"), "./translations/gu.json": () => import("./gu-CNpaMDpH.mjs"), "./translations/hi.json": () => import("./hi-Dwvd04m3.mjs"), "./translations/hu.json": () => import("./hu-CeYvaaO0.mjs"), "./translations/id.json": () => import("./id-BtwA9WJT.mjs"), "./translations/it.json": () => import("./it-BrVPqaf1.mjs"), "./translations/ja.json": () => import("./ja-BHqhDq4V.mjs"), "./translations/ko.json": () => import("./ko-HVQRlfUI.mjs"), "./translations/ml.json": () => import("./ml-BihZwQit.mjs"), "./translations/ms.json": () => import("./ms-m_WjyWx7.mjs"), "./translations/nl.json": () => import("./nl-D4R9gHx5.mjs"), "./translations/pl.json": () => import("./pl-sbx9mSt_.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-C71iDxnh.mjs"), "./translations/pt.json": () => import("./pt-BsaFvS8-.mjs"), "./translations/ru.json": () => import("./ru-BE6A4Exp.mjs"), "./translations/sa.json": () => import("./sa-Dag0k-Z8.mjs"), "./translations/sk.json": () => import("./sk-BFg-R8qJ.mjs"), "./translations/sv.json": () => import("./sv-CUnfWGsh.mjs"), "./translations/th.json": () => import("./th-BqbI8lIT.mjs"), "./translations/tr.json": () => import("./tr-CgeK3wJM.mjs"), "./translations/uk.json": () => import("./uk-CR-zDhAY.mjs"), "./translations/vi.json": () => import("./vi-DUXIk_fw.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BPQcRIyH.mjs"), "./translations/zh.json": () => import("./zh-BWZspA60.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
4195
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-Dtk_ot79.mjs"), "./translations/es.json": () => import("./es-D34tqjMw.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr--pg5jUbt.mjs"), "./translations/gu.json": () => import("./gu-CNpaMDpH.mjs"), "./translations/hi.json": () => import("./hi-Dwvd04m3.mjs"), "./translations/hu.json": () => import("./hu-CeYvaaO0.mjs"), "./translations/id.json": () => import("./id-BtwA9WJT.mjs"), "./translations/it.json": () => import("./it-BrVPqaf1.mjs"), "./translations/ja.json": () => import("./ja-BHqhDq4V.mjs"), "./translations/ko.json": () => import("./ko-HVQRlfUI.mjs"), "./translations/ml.json": () => import("./ml-BihZwQit.mjs"), "./translations/ms.json": () => import("./ms-m_WjyWx7.mjs"), "./translations/nl.json": () => import("./nl-D4R9gHx5.mjs"), "./translations/pl.json": () => import("./pl-sbx9mSt_.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-C71iDxnh.mjs"), "./translations/pt.json": () => import("./pt-BsaFvS8-.mjs"), "./translations/ru.json": () => import("./ru-BE6A4Exp.mjs"), "./translations/sa.json": () => import("./sa-Dag0k-Z8.mjs"), "./translations/sk.json": () => import("./sk-BFg-R8qJ.mjs"), "./translations/sv.json": () => import("./sv-CUnfWGsh.mjs"), "./translations/th.json": () => import("./th-BqbI8lIT.mjs"), "./translations/tr.json": () => import("./tr-CgeK3wJM.mjs"), "./translations/uk.json": () => import("./uk-CR-zDhAY.mjs"), "./translations/vi.json": () => import("./vi-DUXIk_fw.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BPQcRIyH.mjs"), "./translations/zh.json": () => import("./zh-BWZspA60.mjs") }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
4100
4196
  return {
4101
4197
  data: prefixPluginTranslations(data, PLUGIN_ID),
4102
4198
  locale
@@ -4158,4 +4254,4 @@ export {
4158
4254
  capitalise as y,
4159
4255
  useUpdateContentTypeConfigurationMutation as z
4160
4256
  };
4161
- //# sourceMappingURL=index-Ta--2bRa.mjs.map
4257
+ //# sourceMappingURL=index-C2SagWVW.mjs.map