@strapi/content-manager 0.0.0-next.3c5bc3f35387771b185349533729e99e6e59c525 → 0.0.0-next.3fdd03038d558a8190aa7e17574020c5f65395e6

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 (152) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-3feZ0gyp.js → ComponentConfigurationPage-Cmm0LJof.js} +4 -4
  2. package/dist/_chunks/{ComponentConfigurationPage-3feZ0gyp.js.map → ComponentConfigurationPage-Cmm0LJof.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-DkUdgHD9.mjs → ComponentConfigurationPage-FQd019My.mjs} +4 -4
  4. package/dist/_chunks/{ComponentConfigurationPage-DkUdgHD9.mjs.map → ComponentConfigurationPage-FQd019My.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-Ox5wFgpq.mjs → EditConfigurationPage-BUJqRuRq.mjs} +4 -4
  6. package/dist/_chunks/{EditConfigurationPage-Ox5wFgpq.mjs.map → EditConfigurationPage-BUJqRuRq.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-B0KA-x9U.js → EditConfigurationPage-CseHna9y.js} +4 -4
  8. package/dist/_chunks/{EditConfigurationPage-B0KA-x9U.js.map → EditConfigurationPage-CseHna9y.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-foKE8Al3.mjs → EditViewPage-BB9VeS-u.mjs} +30 -8
  10. package/dist/_chunks/EditViewPage-BB9VeS-u.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-OMv9CogC.js → EditViewPage-BhjvFXZr.js} +29 -7
  12. package/dist/_chunks/EditViewPage-BhjvFXZr.js.map +1 -0
  13. package/dist/_chunks/{Field-u09MCk3G.js → Field-B03STsf9.js} +28 -8
  14. package/dist/_chunks/Field-B03STsf9.js.map +1 -0
  15. package/dist/_chunks/{Field-CLqZcnnc.mjs → Field-CWi7XMCa.mjs} +28 -8
  16. package/dist/_chunks/Field-CWi7XMCa.mjs.map +1 -0
  17. package/dist/_chunks/{Form-CU4hRyJf.mjs → Form-B5b7zgoL.mjs} +2 -2
  18. package/dist/_chunks/{Form-CU4hRyJf.mjs.map → Form-B5b7zgoL.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-B9c_Ti0q.js → Form-DH5m7r5s.js} +2 -2
  20. package/dist/_chunks/{Form-B9c_Ti0q.js.map → Form-DH5m7r5s.js.map} +1 -1
  21. package/dist/_chunks/{History-OlickLyX.js → History-CNO4Db6U.js} +17 -40
  22. package/dist/_chunks/History-CNO4Db6U.js.map +1 -0
  23. package/dist/_chunks/{History-BFyFzpSS.mjs → History-Dhy0xF0L.mjs} +17 -40
  24. package/dist/_chunks/History-Dhy0xF0L.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-Bu5Z_39o.mjs → ListConfigurationPage-C_FCilGf.mjs} +3 -3
  26. package/dist/_chunks/{ListConfigurationPage-Bu5Z_39o.mjs.map → ListConfigurationPage-C_FCilGf.mjs.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-D0AAi_cW.js → ListConfigurationPage-DE7NESsr.js} +3 -3
  28. package/dist/_chunks/{ListConfigurationPage-D0AAi_cW.js.map → ListConfigurationPage-DE7NESsr.js.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-BAHxSPux.mjs → ListViewPage-B6Ut2BH0.mjs} +28 -6
  30. package/dist/_chunks/{ListViewPage-BAHxSPux.mjs.map → ListViewPage-B6Ut2BH0.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage--lV5p8Qi.js → ListViewPage-C7p0PteR.js} +28 -6
  32. package/dist/_chunks/ListViewPage-C7p0PteR.js.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-Dxl9oZqL.js → NoContentTypePage-BN-8niig.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-Dxl9oZqL.js.map → NoContentTypePage-BN-8niig.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-C6SMXW77.mjs → NoContentTypePage-rR7QwWP5.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-C6SMXW77.mjs.map → NoContentTypePage-rR7QwWP5.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-BY1-rMng.js → NoPermissionsPage-Bw3b0OQm.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-BY1-rMng.js.map → NoPermissionsPage-Bw3b0OQm.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-o9BXzQeI.mjs → NoPermissionsPage-CGUgxmce.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-o9BXzQeI.mjs.map → NoPermissionsPage-CGUgxmce.mjs.map} +1 -1
  41. package/dist/_chunks/Preview-CICG4cRf.js +307 -0
  42. package/dist/_chunks/Preview-CICG4cRf.js.map +1 -0
  43. package/dist/_chunks/Preview-_gomrUna.mjs +288 -0
  44. package/dist/_chunks/Preview-_gomrUna.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-BAK95JHc.mjs → Relations-BEvinUkU.mjs} +44 -17
  46. package/dist/_chunks/Relations-BEvinUkU.mjs.map +1 -0
  47. package/dist/_chunks/{Relations-CHfwGkBG.js → Relations-uyLoal2t.js} +43 -16
  48. package/dist/_chunks/Relations-uyLoal2t.js.map +1 -0
  49. package/dist/_chunks/{en-Bm0D0IWz.js → en-CHOp_xJv.js} +11 -2
  50. package/dist/_chunks/{en-Bm0D0IWz.js.map → en-CHOp_xJv.js.map} +1 -1
  51. package/dist/_chunks/{en-DKV44jRb.mjs → en-D_BMf0hT.mjs} +11 -2
  52. package/dist/_chunks/{en-DKV44jRb.mjs.map → en-D_BMf0hT.mjs.map} +1 -1
  53. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  54. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  55. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  56. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  57. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  58. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  59. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  60. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  61. package/dist/_chunks/{index-CxlpxzA5.mjs → index-BagcPV6I.mjs} +113 -28
  62. package/dist/_chunks/index-BagcPV6I.mjs.map +1 -0
  63. package/dist/_chunks/{index-_Mlmsefd.js → index-D_AvCmmG.js} +111 -25
  64. package/dist/_chunks/index-D_AvCmmG.js.map +1 -0
  65. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  66. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  67. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  68. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  69. package/dist/_chunks/{layout-Cr0H40au.mjs → layout-DKEX3X49.mjs} +3 -3
  70. package/dist/_chunks/{layout-Cr0H40au.mjs.map → layout-DKEX3X49.mjs.map} +1 -1
  71. package/dist/_chunks/{layout-vcHVgSr1.js → layout-Dk0odfYR.js} +3 -3
  72. package/dist/_chunks/{layout-vcHVgSr1.js.map → layout-Dk0odfYR.js.map} +1 -1
  73. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  74. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  75. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  76. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  77. package/dist/_chunks/{relations-hXUB80SH.js → relations-C312DwGU.js} +6 -7
  78. package/dist/_chunks/relations-C312DwGU.js.map +1 -0
  79. package/dist/_chunks/{relations-Dq60voyX.mjs → relations-DDoMdwk6.mjs} +6 -7
  80. package/dist/_chunks/relations-DDoMdwk6.mjs.map +1 -0
  81. package/dist/admin/index.js +1 -1
  82. package/dist/admin/index.mjs +4 -4
  83. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  84. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  85. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  86. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  87. package/dist/admin/src/preview/index.d.ts +1 -1
  88. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  89. package/dist/admin/src/preview/routes.d.ts +3 -0
  90. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  91. package/dist/server/index.js +330 -143
  92. package/dist/server/index.js.map +1 -1
  93. package/dist/server/index.mjs +330 -143
  94. package/dist/server/index.mjs.map +1 -1
  95. package/dist/server/src/controllers/index.d.ts.map +1 -1
  96. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  97. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  98. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  99. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  100. package/dist/server/src/history/services/utils.d.ts +2 -3
  101. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  102. package/dist/server/src/index.d.ts +4 -4
  103. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  104. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  105. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  106. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  107. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  108. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  109. package/dist/server/src/preview/index.d.ts.map +1 -1
  110. package/dist/server/src/preview/routes/index.d.ts +8 -0
  111. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  112. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  113. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  114. package/dist/server/src/preview/services/index.d.ts +15 -0
  115. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  116. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  117. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  118. package/dist/server/src/preview/services/preview.d.ts +12 -0
  119. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  120. package/dist/server/src/preview/utils.d.ts +18 -0
  121. package/dist/server/src/preview/utils.d.ts.map +1 -0
  122. package/dist/server/src/routes/index.d.ts.map +1 -1
  123. package/dist/server/src/services/document-metadata.d.ts +8 -8
  124. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  125. package/dist/server/src/services/index.d.ts +4 -4
  126. package/dist/server/src/services/index.d.ts.map +1 -1
  127. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  128. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  129. package/dist/server/src/utils/index.d.ts +2 -0
  130. package/dist/server/src/utils/index.d.ts.map +1 -1
  131. package/dist/shared/contracts/index.d.ts +1 -0
  132. package/dist/shared/contracts/index.d.ts.map +1 -1
  133. package/dist/shared/contracts/preview.d.ts +27 -0
  134. package/dist/shared/contracts/preview.d.ts.map +1 -0
  135. package/dist/shared/index.js +4 -0
  136. package/dist/shared/index.js.map +1 -1
  137. package/dist/shared/index.mjs +4 -0
  138. package/dist/shared/index.mjs.map +1 -1
  139. package/package.json +7 -7
  140. package/dist/_chunks/EditViewPage-OMv9CogC.js.map +0 -1
  141. package/dist/_chunks/EditViewPage-foKE8Al3.mjs.map +0 -1
  142. package/dist/_chunks/Field-CLqZcnnc.mjs.map +0 -1
  143. package/dist/_chunks/Field-u09MCk3G.js.map +0 -1
  144. package/dist/_chunks/History-BFyFzpSS.mjs.map +0 -1
  145. package/dist/_chunks/History-OlickLyX.js.map +0 -1
  146. package/dist/_chunks/ListViewPage--lV5p8Qi.js.map +0 -1
  147. package/dist/_chunks/Relations-BAK95JHc.mjs.map +0 -1
  148. package/dist/_chunks/Relations-CHfwGkBG.js.map +0 -1
  149. package/dist/_chunks/index-CxlpxzA5.mjs.map +0 -1
  150. package/dist/_chunks/index-_Mlmsefd.js.map +0 -1
  151. package/dist/_chunks/relations-Dq60voyX.mjs.map +0 -1
  152. package/dist/_chunks/relations-hXUB80SH.js.map +0 -1
@@ -4,6 +4,7 @@ import { useStrapiApp, createContext, useQueryParams, useAuth, useRBAC, Page, ad
4
4
  import * as React from "react";
5
5
  import { lazy } from "react";
6
6
  import { Button, Menu, VisuallyHidden, Flex, Typography, Dialog, Modal, Radio, Status, Box, SingleSelect, SingleSelectOption, IconButton, Loader, Tooltip, LinkButton } from "@strapi/design-system";
7
+ import mapValues from "lodash/fp/mapValues";
7
8
  import { useIntl } from "react-intl";
8
9
  import { useParams, useNavigate, Navigate, useMatch, useLocation, Link, NavLink } from "react-router-dom";
9
10
  import * as yup from "yup";
@@ -968,9 +969,10 @@ const formatEditLayout = (data, {
968
969
  currentPanelIndex += 2;
969
970
  } else {
970
971
  if (!panels[currentPanelIndex]) {
971
- panels.push([]);
972
+ panels.push([row]);
973
+ } else {
974
+ panels[currentPanelIndex].push(row);
972
975
  }
973
- panels[currentPanelIndex].push(row);
974
976
  }
975
977
  return panels;
976
978
  }, []);
@@ -1228,9 +1230,6 @@ const useContentManagerContext = () => {
1228
1230
  };
1229
1231
  };
1230
1232
  const prefixPluginTranslations = (trad, pluginId) => {
1231
- if (!pluginId) {
1232
- throw new TypeError("pluginId can't be empty");
1233
- }
1234
1233
  return Object.keys(trad).reduce((acc, current) => {
1235
1234
  acc[`${pluginId}.${current}`] = trad[current];
1236
1235
  return acc;
@@ -1664,10 +1663,10 @@ const useDocumentActions = () => {
1664
1663
  update
1665
1664
  };
1666
1665
  };
1667
- const ProtectedHistoryPage = lazy(
1668
- () => import("./History-BFyFzpSS.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1666
+ const ProtectedHistoryPage = React.lazy(
1667
+ () => import("./History-Dhy0xF0L.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1669
1668
  );
1670
- const routes$1 = [
1669
+ const routes$2 = [
1671
1670
  {
1672
1671
  path: ":collectionType/:slug/:id/history",
1673
1672
  Component: ProtectedHistoryPage
@@ -1677,32 +1676,45 @@ const routes$1 = [
1677
1676
  Component: ProtectedHistoryPage
1678
1677
  }
1679
1678
  ];
1679
+ const ProtectedPreviewPage = React.lazy(
1680
+ () => import("./Preview-_gomrUna.mjs").then((mod) => ({ default: mod.ProtectedPreviewPage }))
1681
+ );
1682
+ const routes$1 = [
1683
+ {
1684
+ path: ":collectionType/:slug/:id/preview",
1685
+ Component: ProtectedPreviewPage
1686
+ },
1687
+ {
1688
+ path: ":collectionType/:slug/preview",
1689
+ Component: ProtectedPreviewPage
1690
+ }
1691
+ ];
1680
1692
  const ProtectedEditViewPage = lazy(
1681
- () => import("./EditViewPage-foKE8Al3.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1693
+ () => import("./EditViewPage-BB9VeS-u.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1682
1694
  );
1683
1695
  const ProtectedListViewPage = lazy(
1684
- () => import("./ListViewPage-BAHxSPux.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1696
+ () => import("./ListViewPage-B6Ut2BH0.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1685
1697
  );
1686
1698
  const ProtectedListConfiguration = lazy(
1687
- () => import("./ListConfigurationPage-Bu5Z_39o.mjs").then((mod) => ({
1699
+ () => import("./ListConfigurationPage-C_FCilGf.mjs").then((mod) => ({
1688
1700
  default: mod.ProtectedListConfiguration
1689
1701
  }))
1690
1702
  );
1691
1703
  const ProtectedEditConfigurationPage = lazy(
1692
- () => import("./EditConfigurationPage-Ox5wFgpq.mjs").then((mod) => ({
1704
+ () => import("./EditConfigurationPage-BUJqRuRq.mjs").then((mod) => ({
1693
1705
  default: mod.ProtectedEditConfigurationPage
1694
1706
  }))
1695
1707
  );
1696
1708
  const ProtectedComponentConfigurationPage = lazy(
1697
- () => import("./ComponentConfigurationPage-DkUdgHD9.mjs").then((mod) => ({
1709
+ () => import("./ComponentConfigurationPage-FQd019My.mjs").then((mod) => ({
1698
1710
  default: mod.ProtectedComponentConfigurationPage
1699
1711
  }))
1700
1712
  );
1701
1713
  const NoPermissions = lazy(
1702
- () => import("./NoPermissionsPage-o9BXzQeI.mjs").then((mod) => ({ default: mod.NoPermissions }))
1714
+ () => import("./NoPermissionsPage-CGUgxmce.mjs").then((mod) => ({ default: mod.NoPermissions }))
1703
1715
  );
1704
1716
  const NoContentType = lazy(
1705
- () => import("./NoContentTypePage-C6SMXW77.mjs").then((mod) => ({ default: mod.NoContentType }))
1717
+ () => import("./NoContentTypePage-rR7QwWP5.mjs").then((mod) => ({ default: mod.NoContentType }))
1706
1718
  );
1707
1719
  const CollectionTypePages = () => {
1708
1720
  const { collectionType } = useParams();
@@ -1748,6 +1760,7 @@ const routes = [
1748
1760
  path: "no-content-types",
1749
1761
  Component: NoContentType
1750
1762
  },
1763
+ ...routes$2,
1751
1764
  ...routes$1
1752
1765
  ];
1753
1766
  const DocumentActions = ({ actions: actions2 }) => {
@@ -2056,6 +2069,18 @@ const DocumentActionModal = ({
2056
2069
  typeof Footer === "function" ? /* @__PURE__ */ jsx(Footer, { onClose: handleClose }) : Footer
2057
2070
  ] }) });
2058
2071
  };
2072
+ const transformData = (data) => {
2073
+ if (Array.isArray(data)) {
2074
+ return data.map(transformData);
2075
+ }
2076
+ if (typeof data === "object" && data !== null) {
2077
+ if ("apiData" in data) {
2078
+ return data.apiData;
2079
+ }
2080
+ return mapValues(transformData)(data);
2081
+ }
2082
+ return data;
2083
+ };
2059
2084
  const PublishAction$1 = ({
2060
2085
  activeTab,
2061
2086
  documentId,
@@ -2169,7 +2194,7 @@ const PublishAction$1 = ({
2169
2194
  documentId,
2170
2195
  params
2171
2196
  },
2172
- formValues
2197
+ transformData(formValues)
2173
2198
  );
2174
2199
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2175
2200
  navigate({
@@ -2285,7 +2310,7 @@ const UpdateAction = ({
2285
2310
  documentId: cloneMatch.params.origin,
2286
2311
  params
2287
2312
  },
2288
- document
2313
+ transformData(document)
2289
2314
  );
2290
2315
  if ("data" in res) {
2291
2316
  navigate(
@@ -2306,7 +2331,7 @@ const UpdateAction = ({
2306
2331
  documentId,
2307
2332
  params
2308
2333
  },
2309
- document
2334
+ transformData(document)
2310
2335
  );
2311
2336
  if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2312
2337
  setErrors(formatValidationErrors(res.error));
@@ -2319,7 +2344,7 @@ const UpdateAction = ({
2319
2344
  model,
2320
2345
  params
2321
2346
  },
2322
- document
2347
+ transformData(document)
2323
2348
  );
2324
2349
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2325
2350
  navigate(
@@ -2560,7 +2585,11 @@ const getDisplayName = ({
2560
2585
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2561
2586
  const DocumentStatus = ({ status = "draft", ...restProps }) => {
2562
2587
  const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2563
- return /* @__PURE__ */ jsx(Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
2588
+ const { formatMessage } = useIntl();
2589
+ return /* @__PURE__ */ jsx(Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
2590
+ id: `content-manager.containers.List.${status}`,
2591
+ defaultMessage: capitalise(status)
2592
+ }) }) });
2564
2593
  };
2565
2594
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2566
2595
  const { formatMessage } = useIntl();
@@ -3990,13 +4019,68 @@ const { setInitialData } = actions;
3990
4019
  const reducer = combineReducers({
3991
4020
  app: reducer$1
3992
4021
  });
4022
+ const previewApi = contentManagerApi.injectEndpoints({
4023
+ endpoints: (builder) => ({
4024
+ getPreviewUrl: builder.query({
4025
+ query({ query, params }) {
4026
+ return {
4027
+ url: `/content-manager/preview/url/${params.contentType}`,
4028
+ method: "GET",
4029
+ config: {
4030
+ params: query
4031
+ }
4032
+ };
4033
+ }
4034
+ })
4035
+ })
4036
+ });
4037
+ const { useGetPreviewUrlQuery } = previewApi;
4038
+ const PreviewSidePanel = ({ model, documentId, document }) => {
4039
+ const { formatMessage } = useIntl();
4040
+ const { trackUsage } = useTracking();
4041
+ const [{ query }] = useQueryParams();
4042
+ const { data, error } = useGetPreviewUrlQuery({
4043
+ params: {
4044
+ contentType: model
4045
+ },
4046
+ query: {
4047
+ documentId,
4048
+ locale: document?.locale,
4049
+ status: document?.status
4050
+ }
4051
+ });
4052
+ if (!data?.data?.url || error) {
4053
+ return null;
4054
+ }
4055
+ const handleClick = () => {
4056
+ trackUsage("willOpenPreview");
4057
+ };
4058
+ return {
4059
+ title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4060
+ content: /* @__PURE__ */ jsx(Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsx(
4061
+ Button,
4062
+ {
4063
+ variant: "tertiary",
4064
+ tag: Link,
4065
+ to: { pathname: "preview", search: stringify(query, { encode: false }) },
4066
+ onClick: handleClick,
4067
+ flex: "auto",
4068
+ children: formatMessage({
4069
+ id: "content-manager.preview.panel.button",
4070
+ defaultMessage: "Open preview"
4071
+ })
4072
+ }
4073
+ ) })
4074
+ };
4075
+ };
3993
4076
  const FEATURE_ID = "preview";
3994
4077
  const previewAdmin = {
3995
4078
  bootstrap(app) {
3996
4079
  if (!window.strapi.future.isEnabled(FEATURE_ID)) {
3997
- return {};
4080
+ return;
3998
4081
  }
3999
- console.log("Bootstrapping preview admin");
4082
+ const contentManagerPluginApis = app.getPlugin("content-manager").apis;
4083
+ contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
4000
4084
  }
4001
4085
  };
4002
4086
  const index = {
@@ -4018,7 +4102,7 @@ const index = {
4018
4102
  app.router.addRoute({
4019
4103
  path: "content-manager/*",
4020
4104
  lazy: async () => {
4021
- const { Layout } = await import("./layout-Cr0H40au.mjs");
4105
+ const { Layout } = await import("./layout-DKEX3X49.mjs");
4022
4106
  return {
4023
4107
  Component: Layout
4024
4108
  };
@@ -4038,7 +4122,7 @@ const index = {
4038
4122
  async registerTrads({ locales }) {
4039
4123
  const importedTrads = await Promise.all(
4040
4124
  locales.map((locale) => {
4041
- 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-DKV44jRb.mjs"), "./translations/es.json": () => import("./es-CeXiYflN.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr-CD9VFbPM.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-CtsUxOvk.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 }) => {
4125
+ 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 }) => {
4042
4126
  return {
4043
4127
  data: prefixPluginTranslations(data, PLUGIN_ID),
4044
4128
  locale
@@ -4065,9 +4149,10 @@ export {
4065
4149
  HOOKS as H,
4066
4150
  InjectionZone as I,
4067
4151
  useDocument as J,
4068
- index as K,
4069
- useContentManagerContext as L,
4070
- useDocumentActions as M,
4152
+ useGetPreviewUrlQuery as K,
4153
+ index as L,
4154
+ useContentManagerContext as M,
4155
+ useDocumentActions as N,
4071
4156
  Panels as P,
4072
4157
  RelativeTime as R,
4073
4158
  SINGLE_TYPES as S,
@@ -4099,4 +4184,4 @@ export {
4099
4184
  capitalise as y,
4100
4185
  useUpdateContentTypeConfigurationMutation as z
4101
4186
  };
4102
- //# sourceMappingURL=index-CxlpxzA5.mjs.map
4187
+ //# sourceMappingURL=index-BagcPV6I.mjs.map