@strapi/content-manager 0.0.0-next.973df62640087231761ffaeb1c2b5d0d706346d8 → 0.0.0-next.af5da17207f828ea159182ea6e2d9a07ae6d34bf

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 (112) 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-CsMNJw_0.mjs → ComponentConfigurationPage-CzVt9QCC.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-CsMNJw_0.mjs.map → ComponentConfigurationPage-CzVt9QCC.mjs.map} +1 -1
  5. package/dist/_chunks/{ComponentConfigurationPage-BCCTDNe1.js → ComponentConfigurationPage-DYq8aqos.js} +4 -5
  6. package/dist/_chunks/{ComponentConfigurationPage-BCCTDNe1.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-DC1Bpfr1.js → EditConfigurationPage-C9IATpr0.js} +4 -5
  11. package/dist/_chunks/{EditConfigurationPage-DC1Bpfr1.js.map → EditConfigurationPage-C9IATpr0.js.map} +1 -1
  12. package/dist/_chunks/{EditConfigurationPage-BkEV5bFT.mjs → EditConfigurationPage-CLDwrUv5.mjs} +3 -3
  13. package/dist/_chunks/{EditConfigurationPage-BkEV5bFT.mjs.map → EditConfigurationPage-CLDwrUv5.mjs.map} +1 -1
  14. package/dist/_chunks/{EditViewPage-B_Gr-2r6.js → EditViewPage-Ch-uBvbv.js} +4 -5
  15. package/dist/_chunks/{EditViewPage-B_Gr-2r6.js.map → EditViewPage-Ch-uBvbv.js.map} +1 -1
  16. package/dist/_chunks/{EditViewPage-Bc97GGF4.mjs → EditViewPage-DtKM7Jgw.mjs} +3 -3
  17. package/dist/_chunks/{EditViewPage-Bc97GGF4.mjs.map → EditViewPage-DtKM7Jgw.mjs.map} +1 -1
  18. package/dist/_chunks/{Field-CqmTpeRt.js → Field-B9ADaInZ.js} +43 -64
  19. package/dist/_chunks/Field-B9ADaInZ.js.map +1 -0
  20. package/dist/_chunks/{Field-CIuPhh1m.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-C22QTzNy.mjs → Form-BB5i9Pxl.mjs} +3 -3
  25. package/dist/_chunks/{Form-C22QTzNy.mjs.map → Form-BB5i9Pxl.mjs.map} +1 -1
  26. package/dist/_chunks/{Form-BRlXI9Ey.js → Form-C3kjKrPw.js} +5 -6
  27. package/dist/_chunks/{Form-BRlXI9Ey.js.map → Form-C3kjKrPw.js.map} +1 -1
  28. package/dist/_chunks/{History-mYpwx4Rh.js → History-AwrK0-SA.js} +9 -57
  29. package/dist/_chunks/History-AwrK0-SA.js.map +1 -0
  30. package/dist/_chunks/{History-nFKCaE9Y.mjs → History-Cw2Q7OQL.mjs} +9 -56
  31. package/dist/_chunks/History-Cw2Q7OQL.mjs.map +1 -0
  32. package/dist/_chunks/{ListConfigurationPage-vjQ_UKxh.mjs → ListConfigurationPage-B47JIu1e.mjs} +6 -5
  33. package/dist/_chunks/ListConfigurationPage-B47JIu1e.mjs.map +1 -0
  34. package/dist/_chunks/{ListConfigurationPage-CXwjTP1m.js → ListConfigurationPage-CNTJ0DBm.js} +6 -6
  35. package/dist/_chunks/ListConfigurationPage-CNTJ0DBm.js.map +1 -0
  36. package/dist/_chunks/{ListViewPage-DFq-_rFt.js → ListViewPage-Be_UEBar.js} +51 -51
  37. package/dist/_chunks/ListViewPage-Be_UEBar.js.map +1 -0
  38. package/dist/_chunks/{ListViewPage-Cf1E8F2V.mjs → ListViewPage-DuvjX6ra.mjs} +50 -49
  39. package/dist/_chunks/ListViewPage-DuvjX6ra.mjs.map +1 -0
  40. package/dist/_chunks/{NoContentTypePage-BUnPLdSC.js → NoContentTypePage-B1J0KUCO.js} +2 -2
  41. package/dist/_chunks/{NoContentTypePage-BUnPLdSC.js.map → NoContentTypePage-B1J0KUCO.js.map} +1 -1
  42. package/dist/_chunks/{NoContentTypePage-CpFh_nLX.mjs → NoContentTypePage-C6M-Q0Tv.mjs} +2 -2
  43. package/dist/_chunks/{NoContentTypePage-CpFh_nLX.mjs.map → NoContentTypePage-C6M-Q0Tv.mjs.map} +1 -1
  44. package/dist/_chunks/{NoPermissionsPage-GgY8yEd6.mjs → NoPermissionsPage-CAi3zCAD.mjs} +2 -2
  45. package/dist/_chunks/{NoPermissionsPage-GgY8yEd6.mjs.map → NoPermissionsPage-CAi3zCAD.mjs.map} +1 -1
  46. package/dist/_chunks/{NoPermissionsPage-DlEaSUxx.js → NoPermissionsPage-CN34TlEE.js} +2 -2
  47. package/dist/_chunks/{NoPermissionsPage-DlEaSUxx.js.map → NoPermissionsPage-CN34TlEE.js.map} +1 -1
  48. package/dist/_chunks/{Preview-BbRS-OKT.mjs → Preview-BrBRcL10.mjs} +76 -71
  49. package/dist/_chunks/Preview-BrBRcL10.mjs.map +1 -0
  50. package/dist/_chunks/{Preview-BPBvJI2O.js → Preview-DOqm5jcJ.js} +75 -71
  51. package/dist/_chunks/Preview-DOqm5jcJ.js.map +1 -0
  52. package/dist/_chunks/{Relations-CkIXcHbJ.mjs → Relations-_K-HYOiM.mjs} +6 -8
  53. package/dist/_chunks/{Relations-CkIXcHbJ.mjs.map → Relations-_K-HYOiM.mjs.map} +1 -1
  54. package/dist/_chunks/{Relations-C1HdkZyt.js → Relations-xtKZHtTN.js} +7 -10
  55. package/dist/_chunks/{Relations-C1HdkZyt.js.map → Relations-xtKZHtTN.js.map} +1 -1
  56. package/dist/_chunks/{en-CHOp_xJv.js → en-BK8Xyl5I.js} +6 -3
  57. package/dist/_chunks/{en-CHOp_xJv.js.map → en-BK8Xyl5I.js.map} +1 -1
  58. package/dist/_chunks/{en-D_BMf0hT.mjs → en-Dtk_ot79.mjs} +6 -3
  59. package/dist/_chunks/{en-D_BMf0hT.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
  60. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
  61. package/dist/_chunks/{index-BL9NYW88.js → index-BlX-OdHL.js} +240 -149
  62. package/dist/_chunks/index-BlX-OdHL.js.map +1 -0
  63. package/dist/_chunks/{index-C_KAytfk.mjs → index-tETMKK2G.mjs} +240 -148
  64. package/dist/_chunks/index-tETMKK2G.mjs.map +1 -0
  65. package/dist/_chunks/{layout-D6QIbKn7.mjs → layout-BaQBaz56.mjs} +4 -4
  66. package/dist/_chunks/{layout-D6QIbKn7.mjs.map → layout-BaQBaz56.mjs.map} +1 -1
  67. package/dist/_chunks/{layout-_a2iPFa6.js → layout-D8Sz3KxF.js} +5 -6
  68. package/dist/_chunks/{layout-_a2iPFa6.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-BX-k1SIX.js → relations-CAbbX8Sa.js} +2 -2
  72. package/dist/_chunks/{relations-BX-k1SIX.js.map → relations-CAbbX8Sa.js.map} +1 -1
  73. package/dist/_chunks/{relations-BIejV2xk.mjs → relations-CsfmCqOU.mjs} +2 -2
  74. package/dist/_chunks/{relations-BIejV2xk.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/pages/EditView/components/DocumentStatus.d.ts +2 -2
  86. package/dist/admin/src/services/documents.d.ts +0 -3
  87. package/dist/server/index.js +74 -45
  88. package/dist/server/index.js.map +1 -1
  89. package/dist/server/index.mjs +74 -44
  90. package/dist/server/index.mjs.map +1 -1
  91. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  92. package/dist/server/src/preview/index.d.ts.map +1 -1
  93. package/dist/server/src/preview/services/index.d.ts +1 -0
  94. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  95. package/dist/server/src/preview/services/preview-config.d.ts +2 -0
  96. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  97. package/dist/server/src/preview/utils.d.ts +1 -0
  98. package/dist/server/src/preview/utils.d.ts.map +1 -1
  99. package/dist/server/src/register.d.ts.map +1 -1
  100. package/package.json +10 -10
  101. package/dist/_chunks/Field-CIuPhh1m.mjs.map +0 -1
  102. package/dist/_chunks/Field-CqmTpeRt.js.map +0 -1
  103. package/dist/_chunks/History-mYpwx4Rh.js.map +0 -1
  104. package/dist/_chunks/History-nFKCaE9Y.mjs.map +0 -1
  105. package/dist/_chunks/ListConfigurationPage-CXwjTP1m.js.map +0 -1
  106. package/dist/_chunks/ListConfigurationPage-vjQ_UKxh.mjs.map +0 -1
  107. package/dist/_chunks/ListViewPage-Cf1E8F2V.mjs.map +0 -1
  108. package/dist/_chunks/ListViewPage-DFq-_rFt.js.map +0 -1
  109. package/dist/_chunks/Preview-BPBvJI2O.js.map +0 -1
  110. package/dist/_chunks/Preview-BbRS-OKT.mjs.map +0 -1
  111. package/dist/_chunks/index-BL9NYW88.js.map +0 -1
  112. package/dist/_chunks/index-C_KAytfk.mjs.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-nFKCaE9Y.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1670
+ () => import("./History-Cw2Q7OQL.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-BbRS-OKT.mjs").then((mod) => ({ default: mod.ProtectedPreviewPage }))
1683
+ () => import("./Preview-BrBRcL10.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-Bc97GGF4.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1696
+ () => import("./EditViewPage-DtKM7Jgw.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1694
1697
  );
1695
1698
  const ProtectedListViewPage = lazy(
1696
- () => import("./ListViewPage-Cf1E8F2V.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1699
+ () => import("./ListViewPage-DuvjX6ra.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1697
1700
  );
1698
1701
  const ProtectedListConfiguration = lazy(
1699
- () => import("./ListConfigurationPage-vjQ_UKxh.mjs").then((mod) => ({
1702
+ () => import("./ListConfigurationPage-B47JIu1e.mjs").then((mod) => ({
1700
1703
  default: mod.ProtectedListConfiguration
1701
1704
  }))
1702
1705
  );
1703
1706
  const ProtectedEditConfigurationPage = lazy(
1704
- () => import("./EditConfigurationPage-BkEV5bFT.mjs").then((mod) => ({
1707
+ () => import("./EditConfigurationPage-CLDwrUv5.mjs").then((mod) => ({
1705
1708
  default: mod.ProtectedEditConfigurationPage
1706
1709
  }))
1707
1710
  );
1708
1711
  const ProtectedComponentConfigurationPage = lazy(
1709
- () => import("./ComponentConfigurationPage-CsMNJw_0.mjs").then((mod) => ({
1712
+ () => import("./ComponentConfigurationPage-CzVt9QCC.mjs").then((mod) => ({
1710
1713
  default: mod.ProtectedComponentConfigurationPage
1711
1714
  }))
1712
1715
  );
1713
1716
  const NoPermissions = lazy(
1714
- () => import("./NoPermissionsPage-GgY8yEd6.mjs").then((mod) => ({ default: mod.NoPermissions }))
1717
+ () => import("./NoPermissionsPage-CAi3zCAD.mjs").then((mod) => ({ default: mod.NoPermissions }))
1715
1718
  );
1716
1719
  const NoContentType = lazy(
1717
- () => import("./NoContentTypePage-CpFh_nLX.mjs").then((mod) => ({ default: mod.NoContentType }))
1720
+ () => import("./NoContentTypePage-C6M-Q0Tv.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(
@@ -2565,10 +2619,10 @@ const getDisplayName = ({
2565
2619
  return email ?? "";
2566
2620
  };
2567
2621
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2568
- const DocumentStatus = ({ status = "draft", ...restProps }) => {
2622
+ const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
2569
2623
  const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2570
2624
  const { formatMessage } = useIntl();
2571
- return /* @__PURE__ */ jsx(Status, { ...restProps, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
2625
+ return /* @__PURE__ */ jsx(Status, { ...restProps, size, variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
2572
2626
  id: `content-manager.containers.List.${status}`,
2573
2627
  defaultMessage: capitalise(status)
2574
2628
  }) }) });
@@ -2576,12 +2630,18 @@ const DocumentStatus = ({ status = "draft", ...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
  ),
@@ -3268,18 +3331,10 @@ const SelectedEntriesTableContent = ({
3268
3331
  search: row.locale && `?plugins[i18n][locale]=${row.locale}`
3269
3332
  },
3270
3333
  state: { from: pathname },
3271
- label: formatMessage(
3272
- { id: "app.component.HelperPluginTable.edit", defaultMessage: "Edit {target}" },
3273
- {
3274
- target: formatMessage(
3275
- {
3276
- id: "content-manager.components.ListViewHelperPluginTable.row-line",
3277
- defaultMessage: "item line {number}"
3278
- },
3279
- { number: index2 + 1 }
3280
- )
3281
- }
3282
- ),
3334
+ label: formatMessage({
3335
+ id: "content-manager.bulk-publish.edit",
3336
+ defaultMessage: "Edit"
3337
+ }),
3283
3338
  target: "_blank",
3284
3339
  marginLeft: "auto",
3285
3340
  variant: "ghost",
@@ -3453,8 +3508,7 @@ const PublishAction = ({ documents, model }) => {
3453
3508
  const refetchList = () => {
3454
3509
  contentManagerApi.util.invalidateTags([{ type: "Document", id: `${model}_LIST` }]);
3455
3510
  };
3456
- if (!showPublishButton)
3457
- return null;
3511
+ if (!showPublishButton) return null;
3458
3512
  return {
3459
3513
  actionType: "publish",
3460
3514
  variant: "tertiary",
@@ -3522,8 +3576,7 @@ const DeleteAction = ({ documents, model }) => {
3522
3576
  selectRow([]);
3523
3577
  }
3524
3578
  };
3525
- if (!hasDeletePermission)
3526
- return null;
3579
+ if (!hasDeletePermission) return null;
3527
3580
  return {
3528
3581
  variant: "danger-light",
3529
3582
  label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
@@ -3572,8 +3625,7 @@ const UnpublishAction = ({ documents, model }) => {
3572
3625
  }
3573
3626
  };
3574
3627
  const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published" || entry.status === "modified");
3575
- if (!showUnpublishButton)
3576
- return null;
3628
+ if (!showUnpublishButton) return null;
3577
3629
  return {
3578
3630
  variant: "tertiary",
3579
3631
  label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
@@ -3678,7 +3730,7 @@ const TableActions = ({ document }) => {
3678
3730
  DescriptionComponentRenderer,
3679
3731
  {
3680
3732
  props,
3681
- 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"),
3682
3734
  children: (actions2) => {
3683
3735
  const tableRowActions = actions2.filter((action) => {
3684
3736
  const positions = Array.isArray(action.position) ? action.position : [action.position];
@@ -3737,6 +3789,7 @@ const EditAction = ({ documentId }) => {
3737
3789
  };
3738
3790
  };
3739
3791
  EditAction.type = "edit";
3792
+ EditAction.position = "table-row";
3740
3793
  const StyledPencil = styled(Pencil)`
3741
3794
  path {
3742
3795
  fill: currentColor;
@@ -3813,6 +3866,7 @@ const CloneAction = ({ model, documentId }) => {
3813
3866
  };
3814
3867
  };
3815
3868
  CloneAction.type = "clone";
3869
+ CloneAction.position = "table-row";
3816
3870
  const StyledDuplicate = styled(Duplicate)`
3817
3871
  path {
3818
3872
  fill: currentColor;
@@ -3899,7 +3953,14 @@ class ContentManagerPlugin {
3899
3953
  addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
3900
3954
  addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
3901
3955
  getBulkActions: () => this.bulkActions,
3902
- 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
+ },
3903
3964
  getEditViewSidePanels: () => this.editViewSidePanels,
3904
3965
  getHeaderActions: () => this.headerActions
3905
3966
  }
@@ -3909,10 +3970,8 @@ class ContentManagerPlugin {
3909
3970
  const getPrintableType = (value) => {
3910
3971
  const nativeType = typeof value;
3911
3972
  if (nativeType === "object") {
3912
- if (value === null)
3913
- return "null";
3914
- if (Array.isArray(value))
3915
- return "array";
3973
+ if (value === null) return "null";
3974
+ if (Array.isArray(value)) return "array";
3916
3975
  if (value instanceof Object && value.constructor.name !== "Object") {
3917
3976
  return value.constructor.name;
3918
3977
  }
@@ -3923,17 +3982,27 @@ const HistoryAction = ({ model, document }) => {
3923
3982
  const { formatMessage } = useIntl();
3924
3983
  const [{ query }] = useQueryParams();
3925
3984
  const navigate = useNavigate();
3985
+ const { trackUsage } = useTracking();
3986
+ const { pathname } = useLocation();
3926
3987
  const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
3927
3988
  if (!window.strapi.features.isEnabled("cms-content-history")) {
3928
3989
  return null;
3929
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
+ };
3930
3999
  return {
3931
4000
  icon: /* @__PURE__ */ jsx(ClockCounterClockwise, {}),
3932
4001
  label: formatMessage({
3933
4002
  id: "content-manager.history.document-action",
3934
4003
  defaultMessage: "Content History"
3935
4004
  }),
3936
- onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
4005
+ onClick: handleOnClick,
3937
4006
  disabled: (
3938
4007
  /**
3939
4008
  * The user is creating a new document.
@@ -3955,6 +4024,7 @@ const HistoryAction = ({ model, document }) => {
3955
4024
  };
3956
4025
  };
3957
4026
  HistoryAction.type = "history";
4027
+ HistoryAction.position = "header";
3958
4028
  const historyAdmin = {
3959
4029
  bootstrap(app) {
3960
4030
  const { addDocumentAction } = app.getPlugin("content-manager").apis;
@@ -4017,10 +4087,18 @@ const previewApi = contentManagerApi.injectEndpoints({
4017
4087
  })
4018
4088
  });
4019
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
+ };
4020
4096
  const PreviewSidePanel = ({ model, documentId, document }) => {
4021
4097
  const { formatMessage } = useIntl();
4022
4098
  const { trackUsage } = useTracking();
4099
+ const { pathname } = useLocation();
4023
4100
  const [{ query }] = useQueryParams();
4101
+ const isModified = useForm("PreviewSidePanel", (state) => state.modified);
4024
4102
  const { data, error } = useGetPreviewUrlQuery({
4025
4103
  params: {
4026
4104
  contentType: model
@@ -4034,25 +4112,39 @@ const PreviewSidePanel = ({ model, documentId, document }) => {
4034
4112
  if (!data?.data?.url || error) {
4035
4113
  return null;
4036
4114
  }
4037
- const handleClick = () => {
4038
- trackUsage("willOpenPreview");
4115
+ const trackNavigation = () => {
4116
+ const destinationPathname = pathname.replace(/\/$/, "") + "/preview";
4117
+ trackUsage("willNavigate", { from: pathname, to: destinationPathname });
4039
4118
  };
4040
4119
  return {
4041
4120
  title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4042
- content: /* @__PURE__ */ jsx(Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsx(
4043
- Button,
4121
+ content: /* @__PURE__ */ jsx(
4122
+ ConditionalTooltip,
4044
4123
  {
4045
- variant: "tertiary",
4046
- tag: Link,
4047
- to: { pathname: "preview", search: stringify(query, { encode: false }) },
4048
- onClick: handleClick,
4049
- flex: "auto",
4050
- children: formatMessage({
4051
- id: "content-manager.preview.panel.button",
4052
- defaultMessage: "Open preview"
4053
- })
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
+ ) })
4054
4146
  }
4055
- ) })
4147
+ )
4056
4148
  };
4057
4149
  };
4058
4150
  const FEATURE_ID = "preview";
@@ -4084,7 +4176,7 @@ const index = {
4084
4176
  app.router.addRoute({
4085
4177
  path: "content-manager/*",
4086
4178
  lazy: async () => {
4087
- const { Layout } = await import("./layout-D6QIbKn7.mjs");
4179
+ const { Layout } = await import("./layout-BaQBaz56.mjs");
4088
4180
  return {
4089
4181
  Component: Layout
4090
4182
  };
@@ -4104,7 +4196,7 @@ const index = {
4104
4196
  async registerTrads({ locales }) {
4105
4197
  const importedTrads = await Promise.all(
4106
4198
  locales.map((locale) => {
4107
- 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-D_BMf0hT.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 }) => {
4199
+ 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 }) => {
4108
4200
  return {
4109
4201
  data: prefixPluginTranslations(data, PLUGIN_ID),
4110
4202
  locale
@@ -4166,4 +4258,4 @@ export {
4166
4258
  capitalise as y,
4167
4259
  useUpdateContentTypeConfigurationMutation as z
4168
4260
  };
4169
- //# sourceMappingURL=index-C_KAytfk.mjs.map
4261
+ //# sourceMappingURL=index-tETMKK2G.mjs.map