@strapi/content-manager 5.0.6 → 5.1.0

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 (148) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs → ComponentConfigurationPage-BpM_Hc7r.mjs} +4 -4
  2. package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs.map → ComponentConfigurationPage-BpM_Hc7r.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js → ComponentConfigurationPage-CL9CAMaL.js} +4 -4
  4. package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js.map → ComponentConfigurationPage-CL9CAMaL.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js → EditConfigurationPage-ILWo0h1e.js} +4 -4
  6. package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js.map → EditConfigurationPage-ILWo0h1e.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs → EditConfigurationPage-_prbqpTM.mjs} +4 -4
  8. package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs.map → EditConfigurationPage-_prbqpTM.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DlxEHhUt.js → EditViewPage-BqZvBN4s.js} +3 -3
  10. package/dist/_chunks/EditViewPage-BqZvBN4s.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-B82x_x1b.mjs → EditViewPage-DAtscabN.mjs} +3 -3
  12. package/dist/_chunks/EditViewPage-DAtscabN.mjs.map +1 -0
  13. package/dist/_chunks/{Field-COL25JiC.js → Field-CcoQiiz1.js} +5 -5
  14. package/dist/_chunks/Field-CcoQiiz1.js.map +1 -0
  15. package/dist/_chunks/{Field-DufHXW17.mjs → Field-D-mgn1tH.mjs} +5 -5
  16. package/dist/_chunks/Field-D-mgn1tH.mjs.map +1 -0
  17. package/dist/_chunks/{Form-u_kAOhwB.mjs → Form-BxyeWiXW.mjs} +2 -2
  18. package/dist/_chunks/{Form-u_kAOhwB.mjs.map → Form-BxyeWiXW.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-BssUwrTO.js → Form-CmLbZDfi.js} +2 -2
  20. package/dist/_chunks/{Form-BssUwrTO.js.map → Form-CmLbZDfi.js.map} +1 -1
  21. package/dist/_chunks/{History-DRwA3oMM.mjs → History-BOhLaq_g.mjs} +18 -34
  22. package/dist/_chunks/History-BOhLaq_g.mjs.map +1 -0
  23. package/dist/_chunks/{History-C9t9UqpO.js → History-uECUbCZB.js} +18 -34
  24. package/dist/_chunks/History-uECUbCZB.js.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs → ListConfigurationPage-D0vQez6F.mjs} +3 -3
  26. package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs.map → ListConfigurationPage-D0vQez6F.mjs.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js → ListConfigurationPage-D_bBSFNW.js} +3 -3
  28. package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js.map → ListConfigurationPage-D_bBSFNW.js.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-D2VD8Szg.js → ListViewPage-BkZ83b1A.js} +15 -4
  30. package/dist/_chunks/ListViewPage-BkZ83b1A.js.map +1 -0
  31. package/dist/_chunks/{ListViewPage-CELx2ysp.mjs → ListViewPage-ns-bmy5C.mjs} +15 -4
  32. package/dist/_chunks/{ListViewPage-CELx2ysp.mjs.map → ListViewPage-ns-bmy5C.mjs.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs → NoContentTypePage-BA5ZKMDR.mjs} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs.map → NoContentTypePage-BA5ZKMDR.mjs.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js → NoContentTypePage-C1439s4s.js} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js.map → NoContentTypePage-C1439s4s.js.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs → NoPermissionsPage-B0GdMw1Q.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs.map → NoPermissionsPage-B0GdMw1Q.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js → NoPermissionsPage-CPGwsVfb.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js.map → NoPermissionsPage-CPGwsVfb.js.map} +1 -1
  41. package/dist/_chunks/{Relations-BTcf5xaw.mjs → Relations-BIGPMSW4.mjs} +44 -17
  42. package/dist/_chunks/Relations-BIGPMSW4.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-DR7EUgyC.js → Relations-d-8Uef_-.js} +43 -16
  44. package/dist/_chunks/Relations-d-8Uef_-.js.map +1 -0
  45. package/dist/_chunks/{en-Bm0D0IWz.js → en-Bdpa50w3.js} +6 -2
  46. package/dist/_chunks/{en-Bm0D0IWz.js.map → en-Bdpa50w3.js.map} +1 -1
  47. package/dist/_chunks/{en-DKV44jRb.mjs → en-CZw4xdPY.mjs} +6 -2
  48. package/dist/_chunks/{en-DKV44jRb.mjs.map → en-CZw4xdPY.mjs.map} +1 -1
  49. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  50. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  51. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  52. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  53. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  54. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  55. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  56. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  57. package/dist/_chunks/{index-wnqzm4Q8.mjs → index-3_WeHXYp.mjs} +113 -23
  58. package/dist/_chunks/index-3_WeHXYp.mjs.map +1 -0
  59. package/dist/_chunks/{index-BdMf2lfT.js → index-BgaeYWIy.js} +112 -21
  60. package/dist/_chunks/index-BgaeYWIy.js.map +1 -0
  61. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  62. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  63. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  64. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  65. package/dist/_chunks/{layout-B2MyZU-_.js → layout-ByFyQRDH.js} +3 -3
  66. package/dist/_chunks/{layout-B2MyZU-_.js.map → layout-ByFyQRDH.js.map} +1 -1
  67. package/dist/_chunks/{layout-2CfjL0T9.mjs → layout-CrTxOnCy.mjs} +3 -3
  68. package/dist/_chunks/{layout-2CfjL0T9.mjs.map → layout-CrTxOnCy.mjs.map} +1 -1
  69. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  70. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  71. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  72. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  73. package/dist/_chunks/{relations-C0w0GcXi.mjs → relations-BlpLgngh.mjs} +3 -7
  74. package/dist/_chunks/relations-BlpLgngh.mjs.map +1 -0
  75. package/dist/_chunks/{relations-BH7JJGGe.js → relations-C5RSW926.js} +3 -7
  76. package/dist/_chunks/relations-C5RSW926.js.map +1 -0
  77. package/dist/admin/index.js +1 -1
  78. package/dist/admin/index.mjs +1 -1
  79. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  80. package/dist/admin/src/preview/constants.d.ts +1 -0
  81. package/dist/admin/src/preview/index.d.ts +4 -0
  82. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  83. package/dist/server/index.js +344 -144
  84. package/dist/server/index.js.map +1 -1
  85. package/dist/server/index.mjs +344 -144
  86. package/dist/server/index.mjs.map +1 -1
  87. package/dist/server/src/bootstrap.d.ts.map +1 -1
  88. package/dist/server/src/controllers/index.d.ts.map +1 -1
  89. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  90. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  91. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  92. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  93. package/dist/server/src/history/services/utils.d.ts +2 -3
  94. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  95. package/dist/server/src/index.d.ts +4 -4
  96. package/dist/server/src/preview/constants.d.ts +2 -0
  97. package/dist/server/src/preview/constants.d.ts.map +1 -0
  98. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  99. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  100. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  101. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  102. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  103. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  104. package/dist/server/src/preview/index.d.ts +4 -0
  105. package/dist/server/src/preview/index.d.ts.map +1 -0
  106. package/dist/server/src/preview/routes/index.d.ts +8 -0
  107. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  108. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  109. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  110. package/dist/server/src/preview/services/index.d.ts +15 -0
  111. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  112. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  113. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  114. package/dist/server/src/preview/services/preview.d.ts +12 -0
  115. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  116. package/dist/server/src/preview/utils.d.ts +18 -0
  117. package/dist/server/src/preview/utils.d.ts.map +1 -0
  118. package/dist/server/src/routes/index.d.ts.map +1 -1
  119. package/dist/server/src/services/document-metadata.d.ts +8 -8
  120. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  121. package/dist/server/src/services/index.d.ts +4 -4
  122. package/dist/server/src/services/index.d.ts.map +1 -1
  123. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  124. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  125. package/dist/server/src/utils/index.d.ts +2 -0
  126. package/dist/server/src/utils/index.d.ts.map +1 -1
  127. package/dist/shared/contracts/index.d.ts +1 -0
  128. package/dist/shared/contracts/index.d.ts.map +1 -1
  129. package/dist/shared/contracts/preview.d.ts +27 -0
  130. package/dist/shared/contracts/preview.d.ts.map +1 -0
  131. package/dist/shared/index.js +4 -0
  132. package/dist/shared/index.js.map +1 -1
  133. package/dist/shared/index.mjs +4 -0
  134. package/dist/shared/index.mjs.map +1 -1
  135. package/package.json +6 -6
  136. package/dist/_chunks/EditViewPage-B82x_x1b.mjs.map +0 -1
  137. package/dist/_chunks/EditViewPage-DlxEHhUt.js.map +0 -1
  138. package/dist/_chunks/Field-COL25JiC.js.map +0 -1
  139. package/dist/_chunks/Field-DufHXW17.mjs.map +0 -1
  140. package/dist/_chunks/History-C9t9UqpO.js.map +0 -1
  141. package/dist/_chunks/History-DRwA3oMM.mjs.map +0 -1
  142. package/dist/_chunks/ListViewPage-D2VD8Szg.js.map +0 -1
  143. package/dist/_chunks/Relations-BTcf5xaw.mjs.map +0 -1
  144. package/dist/_chunks/Relations-DR7EUgyC.js.map +0 -1
  145. package/dist/_chunks/index-BdMf2lfT.js.map +0 -1
  146. package/dist/_chunks/index-wnqzm4Q8.mjs.map +0 -1
  147. package/dist/_chunks/relations-BH7JJGGe.js.map +0 -1
  148. package/dist/_chunks/relations-C0w0GcXi.mjs.map +0 -1
@@ -4,6 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const strapiAdmin = require("@strapi/admin/strapi-admin");
5
5
  const React = require("react");
6
6
  const designSystem = require("@strapi/design-system");
7
+ const mapValues = require("lodash/fp/mapValues");
7
8
  const reactIntl = require("react-intl");
8
9
  const reactRouterDom = require("react-router-dom");
9
10
  const yup = require("yup");
@@ -32,6 +33,7 @@ function _interopNamespace(e) {
32
33
  return Object.freeze(n);
33
34
  }
34
35
  const React__namespace = /* @__PURE__ */ _interopNamespace(React);
36
+ const mapValues__default = /* @__PURE__ */ _interopDefault(mapValues);
35
37
  const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
36
38
  const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
37
39
  const __variableDynamicImportRuntimeHelper = (glob, path) => {
@@ -989,9 +991,10 @@ const formatEditLayout = (data, {
989
991
  currentPanelIndex += 2;
990
992
  } else {
991
993
  if (!panels[currentPanelIndex]) {
992
- panels.push([]);
994
+ panels.push([row]);
995
+ } else {
996
+ panels[currentPanelIndex].push(row);
993
997
  }
994
- panels[currentPanelIndex].push(row);
995
998
  }
996
999
  return panels;
997
1000
  }, []);
@@ -1249,9 +1252,6 @@ const useContentManagerContext = () => {
1249
1252
  };
1250
1253
  };
1251
1254
  const prefixPluginTranslations = (trad, pluginId) => {
1252
- if (!pluginId) {
1253
- throw new TypeError("pluginId can't be empty");
1254
- }
1255
1255
  return Object.keys(trad).reduce((acc, current) => {
1256
1256
  acc[`${pluginId}.${current}`] = trad[current];
1257
1257
  return acc;
@@ -1686,7 +1686,7 @@ const useDocumentActions = () => {
1686
1686
  };
1687
1687
  };
1688
1688
  const ProtectedHistoryPage = React.lazy(
1689
- () => Promise.resolve().then(() => require("./History-C9t9UqpO.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1689
+ () => Promise.resolve().then(() => require("./History-uECUbCZB.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1690
1690
  );
1691
1691
  const routes$1 = [
1692
1692
  {
@@ -1699,31 +1699,31 @@ const routes$1 = [
1699
1699
  }
1700
1700
  ];
1701
1701
  const ProtectedEditViewPage = React.lazy(
1702
- () => Promise.resolve().then(() => require("./EditViewPage-DlxEHhUt.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1702
+ () => Promise.resolve().then(() => require("./EditViewPage-BqZvBN4s.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1703
1703
  );
1704
1704
  const ProtectedListViewPage = React.lazy(
1705
- () => Promise.resolve().then(() => require("./ListViewPage-D2VD8Szg.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1705
+ () => Promise.resolve().then(() => require("./ListViewPage-BkZ83b1A.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1706
1706
  );
1707
1707
  const ProtectedListConfiguration = React.lazy(
1708
- () => Promise.resolve().then(() => require("./ListConfigurationPage-BXYPohh-.js")).then((mod) => ({
1708
+ () => Promise.resolve().then(() => require("./ListConfigurationPage-D_bBSFNW.js")).then((mod) => ({
1709
1709
  default: mod.ProtectedListConfiguration
1710
1710
  }))
1711
1711
  );
1712
1712
  const ProtectedEditConfigurationPage = React.lazy(
1713
- () => Promise.resolve().then(() => require("./EditConfigurationPage-Cn0e8t3I.js")).then((mod) => ({
1713
+ () => Promise.resolve().then(() => require("./EditConfigurationPage-ILWo0h1e.js")).then((mod) => ({
1714
1714
  default: mod.ProtectedEditConfigurationPage
1715
1715
  }))
1716
1716
  );
1717
1717
  const ProtectedComponentConfigurationPage = React.lazy(
1718
- () => Promise.resolve().then(() => require("./ComponentConfigurationPage-FqfsxQ1j.js")).then((mod) => ({
1718
+ () => Promise.resolve().then(() => require("./ComponentConfigurationPage-CL9CAMaL.js")).then((mod) => ({
1719
1719
  default: mod.ProtectedComponentConfigurationPage
1720
1720
  }))
1721
1721
  );
1722
1722
  const NoPermissions = React.lazy(
1723
- () => Promise.resolve().then(() => require("./NoPermissionsPage-Dp8NpF9I.js")).then((mod) => ({ default: mod.NoPermissions }))
1723
+ () => Promise.resolve().then(() => require("./NoPermissionsPage-CPGwsVfb.js")).then((mod) => ({ default: mod.NoPermissions }))
1724
1724
  );
1725
1725
  const NoContentType = React.lazy(
1726
- () => Promise.resolve().then(() => require("./NoContentTypePage-BV9IjJSM.js")).then((mod) => ({ default: mod.NoContentType }))
1726
+ () => Promise.resolve().then(() => require("./NoContentTypePage-C1439s4s.js")).then((mod) => ({ default: mod.NoContentType }))
1727
1727
  );
1728
1728
  const CollectionTypePages = () => {
1729
1729
  const { collectionType } = reactRouterDom.useParams();
@@ -2077,6 +2077,18 @@ const DocumentActionModal = ({
2077
2077
  typeof Footer === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Footer, { onClose: handleClose }) : Footer
2078
2078
  ] }) });
2079
2079
  };
2080
+ const transformData = (data) => {
2081
+ if (Array.isArray(data)) {
2082
+ return data.map(transformData);
2083
+ }
2084
+ if (typeof data === "object" && data !== null) {
2085
+ if ("apiData" in data) {
2086
+ return data.apiData;
2087
+ }
2088
+ return mapValues__default.default(transformData)(data);
2089
+ }
2090
+ return data;
2091
+ };
2080
2092
  const PublishAction$1 = ({
2081
2093
  activeTab,
2082
2094
  documentId,
@@ -2190,7 +2202,7 @@ const PublishAction$1 = ({
2190
2202
  documentId,
2191
2203
  params
2192
2204
  },
2193
- formValues
2205
+ transformData(formValues)
2194
2206
  );
2195
2207
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2196
2208
  navigate({
@@ -2306,7 +2318,7 @@ const UpdateAction = ({
2306
2318
  documentId: cloneMatch.params.origin,
2307
2319
  params
2308
2320
  },
2309
- document
2321
+ transformData(document)
2310
2322
  );
2311
2323
  if ("data" in res) {
2312
2324
  navigate(
@@ -2327,7 +2339,7 @@ const UpdateAction = ({
2327
2339
  documentId,
2328
2340
  params
2329
2341
  },
2330
- document
2342
+ transformData(document)
2331
2343
  );
2332
2344
  if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2333
2345
  setErrors(formatValidationErrors(res.error));
@@ -2340,7 +2352,7 @@ const UpdateAction = ({
2340
2352
  model,
2341
2353
  params
2342
2354
  },
2343
- document
2355
+ transformData(document)
2344
2356
  );
2345
2357
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2346
2358
  navigate(
@@ -3028,7 +3040,7 @@ const Panel = React__namespace.forwardRef(({ children, title }, ref) => {
3028
3040
  justifyContent: "stretch",
3029
3041
  alignItems: "flex-start",
3030
3042
  children: [
3031
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "sigma", textTransform: "uppercase", children: title }),
3043
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "sigma", textTransform: "uppercase", textColor: "neutral600", children: title }),
3032
3044
  children
3033
3045
  ]
3034
3046
  }
@@ -4011,6 +4023,82 @@ const { setInitialData } = actions;
4011
4023
  const reducer = toolkit.combineReducers({
4012
4024
  app: reducer$1
4013
4025
  });
4026
+ const previewApi = contentManagerApi.injectEndpoints({
4027
+ endpoints: (builder) => ({
4028
+ getPreviewUrl: builder.query({
4029
+ query({ query, params }) {
4030
+ return {
4031
+ url: `/content-manager/preview/url/${params.contentType}`,
4032
+ method: "GET",
4033
+ config: {
4034
+ params: query
4035
+ }
4036
+ };
4037
+ }
4038
+ })
4039
+ })
4040
+ });
4041
+ const { useGetPreviewUrlQuery } = previewApi;
4042
+ const PreviewSidePanel = ({ model, documentId, document }) => {
4043
+ const { formatMessage } = reactIntl.useIntl();
4044
+ const { toggleNotification } = strapiAdmin.useNotification();
4045
+ const { copy } = strapiAdmin.useClipboard();
4046
+ const { data, error } = useGetPreviewUrlQuery({
4047
+ params: {
4048
+ contentType: model
4049
+ },
4050
+ query: {
4051
+ documentId,
4052
+ locale: document?.locale,
4053
+ status: document?.status
4054
+ }
4055
+ });
4056
+ if (!data?.data?.url || error) {
4057
+ return null;
4058
+ }
4059
+ const { url } = data.data;
4060
+ const handleCopyLink = () => {
4061
+ copy(url);
4062
+ toggleNotification({
4063
+ message: formatMessage({
4064
+ id: "content-manager.preview.copy.success",
4065
+ defaultMessage: "Copied preview link"
4066
+ }),
4067
+ type: "success"
4068
+ });
4069
+ };
4070
+ return {
4071
+ title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4072
+ content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, width: "100%", children: [
4073
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", tag: reactRouterDom.Link, to: url, target: "_blank", flex: "auto", children: formatMessage({
4074
+ id: "content-manager.preview.panel.button",
4075
+ defaultMessage: "Open preview"
4076
+ }) }),
4077
+ /* @__PURE__ */ jsxRuntime.jsx(
4078
+ designSystem.IconButton,
4079
+ {
4080
+ type: "button",
4081
+ label: formatMessage({
4082
+ id: "preview.copy.label",
4083
+ defaultMessage: "Copy preview link"
4084
+ }),
4085
+ onClick: handleCopyLink,
4086
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Link, {})
4087
+ }
4088
+ )
4089
+ ] })
4090
+ };
4091
+ };
4092
+ const FEATURE_ID = "preview";
4093
+ const previewAdmin = {
4094
+ bootstrap(app) {
4095
+ if (!window.strapi.future.isEnabled(FEATURE_ID)) {
4096
+ return;
4097
+ }
4098
+ const contentManagerPluginApis = app.getPlugin("content-manager").apis;
4099
+ contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
4100
+ }
4101
+ };
4014
4102
  const index = {
4015
4103
  register(app) {
4016
4104
  const cm = new ContentManagerPlugin();
@@ -4030,7 +4118,7 @@ const index = {
4030
4118
  app.router.addRoute({
4031
4119
  path: "content-manager/*",
4032
4120
  lazy: async () => {
4033
- const { Layout } = await Promise.resolve().then(() => require("./layout-B2MyZU-_.js"));
4121
+ const { Layout } = await Promise.resolve().then(() => require("./layout-ByFyQRDH.js"));
4034
4122
  return {
4035
4123
  Component: Layout
4036
4124
  };
@@ -4043,11 +4131,14 @@ const index = {
4043
4131
  if (typeof historyAdmin.bootstrap === "function") {
4044
4132
  historyAdmin.bootstrap(app);
4045
4133
  }
4134
+ if (typeof previewAdmin.bootstrap === "function") {
4135
+ previewAdmin.bootstrap(app);
4136
+ }
4046
4137
  },
4047
4138
  async registerTrads({ locales }) {
4048
4139
  const importedTrads = await Promise.all(
4049
4140
  locales.map((locale) => {
4050
- 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-Bm0D0IWz.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-EUonQTon.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B7kGGg3E.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-CcFe8diO.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 }) => {
4141
+ 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-Bdpa50w3.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 }) => {
4051
4142
  return {
4052
4143
  data: prefixPluginTranslations(data, PLUGIN_ID),
4053
4144
  locale
@@ -4106,4 +4197,4 @@ exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
4106
4197
  exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
4107
4198
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
4108
4199
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
4109
- //# sourceMappingURL=index-BdMf2lfT.js.map
4200
+ //# sourceMappingURL=index-BgaeYWIy.js.map