@strapi/content-manager 0.0.0-experimental.ae69a6ec6a65b1061cd6a00b2608abeeff436042 → 0.0.0-experimental.b0db56479de441dfe8feb37a43c7f6f6fecf75c1

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 (139) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-DRh2GoZx.js → ComponentConfigurationPage-Cjr64OS0.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-DRh2GoZx.js.map → ComponentConfigurationPage-Cjr64OS0.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-DH3rgf1K.mjs → ComponentConfigurationPage-DKuCF_uX.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-DH3rgf1K.mjs.map → ComponentConfigurationPage-DKuCF_uX.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-BOAqRJUV.js → EditConfigurationPage-BeikGxvq.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-BOAqRJUV.js.map → EditConfigurationPage-BeikGxvq.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-C1HHivAz.mjs → EditConfigurationPage-CyqSP6ru.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-C1HHivAz.mjs.map → EditConfigurationPage-CyqSP6ru.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DBV7CZVf.mjs → EditViewPage-PrPHZN_9.mjs} +38 -8
  10. package/dist/_chunks/EditViewPage-PrPHZN_9.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-CgfL33yw.js → EditViewPage-pyqEgLgP.js} +37 -7
  12. package/dist/_chunks/EditViewPage-pyqEgLgP.js.map +1 -0
  13. package/dist/_chunks/{Field-BQFK_H87.mjs → Field-DuAYQka5.mjs} +27 -7
  14. package/dist/_chunks/Field-DuAYQka5.mjs.map +1 -0
  15. package/dist/_chunks/{Field-C647fIuP.js → Field-fKtb7rWK.js} +27 -7
  16. package/dist/_chunks/Field-fKtb7rWK.js.map +1 -0
  17. package/dist/_chunks/{Form-CsYUrVEA.js → Form-BPXw-S-J.js} +2 -2
  18. package/dist/_chunks/{Form-CsYUrVEA.js.map → Form-BPXw-S-J.js.map} +1 -1
  19. package/dist/_chunks/{Form--31reETM.mjs → Form-Dxh71ckp.mjs} +2 -2
  20. package/dist/_chunks/{Form--31reETM.mjs.map → Form-Dxh71ckp.mjs.map} +1 -1
  21. package/dist/_chunks/{History-Dl6wOm0V.js → History-BGGn9JGY.js} +18 -90
  22. package/dist/_chunks/History-BGGn9JGY.js.map +1 -0
  23. package/dist/_chunks/{History-8tQaor_-.mjs → History-CGblSVMc.mjs} +18 -90
  24. package/dist/_chunks/History-CGblSVMc.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-BedUJnmo.js → ListConfigurationPage-D3Avyi4t.js} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-BedUJnmo.js.map → ListConfigurationPage-D3Avyi4t.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-_WWIGpVT.mjs → ListConfigurationPage-TIM0JveM.mjs} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-_WWIGpVT.mjs.map → ListConfigurationPage-TIM0JveM.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-CZfw9OW9.mjs → ListViewPage-C975eW-t.mjs} +16 -5
  30. package/dist/_chunks/{ListViewPage-CZfw9OW9.mjs.map → ListViewPage-C975eW-t.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-5QzoAtAo.js → ListViewPage-DtAHWFMV.js} +16 -5
  32. package/dist/_chunks/{ListViewPage-5QzoAtAo.js.map → ListViewPage-DtAHWFMV.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-DBIyA7hd.js → NoContentTypePage-BFjWZX0i.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-DBIyA7hd.js.map → NoContentTypePage-BFjWZX0i.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-D-RqshUI.mjs → NoContentTypePage-SgNTVGjF.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-D-RqshUI.mjs.map → NoContentTypePage-SgNTVGjF.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-m7GAd26r.mjs → NoPermissionsPage-D4XYRoPf.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-m7GAd26r.mjs.map → NoPermissionsPage-D4XYRoPf.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-CCAreseM.js → NoPermissionsPage-j7oulOpl.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-CCAreseM.js.map → NoPermissionsPage-j7oulOpl.js.map} +1 -1
  41. package/dist/_chunks/Preview-Bx1WfmKJ.js +256 -0
  42. package/dist/_chunks/Preview-Bx1WfmKJ.js.map +1 -0
  43. package/dist/_chunks/Preview-Cy6fuAnd.mjs +237 -0
  44. package/dist/_chunks/Preview-Cy6fuAnd.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-SRwPhmo7.js → Relations-CXQqwRXC.js} +6 -3
  46. package/dist/_chunks/Relations-CXQqwRXC.js.map +1 -0
  47. package/dist/_chunks/{Relations-Dq52hb_u.mjs → Relations-DUrYWw0N.mjs} +6 -3
  48. package/dist/_chunks/Relations-DUrYWw0N.mjs.map +1 -0
  49. package/dist/_chunks/{en-DKV44jRb.mjs → en-69jRDM9j.mjs} +13 -3
  50. package/dist/_chunks/{en-DKV44jRb.mjs.map → en-69jRDM9j.mjs.map} +1 -1
  51. package/dist/_chunks/{en-Bm0D0IWz.js → en-DAgtrRoa.js} +13 -3
  52. package/dist/_chunks/{en-Bm0D0IWz.js.map → en-DAgtrRoa.js.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-1Bdj-6ls.mjs → index-Ta--2bRa.mjs} +124 -75
  62. package/dist/_chunks/index-Ta--2bRa.mjs.map +1 -0
  63. package/dist/_chunks/{index-CsrCnNa3.js → index-_j7lH3CO.js} +120 -71
  64. package/dist/_chunks/index-_j7lH3CO.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-B33V9Tdu.js → layout-BDwU2I_y.js} +3 -3
  70. package/dist/_chunks/{layout-B33V9Tdu.js.map → layout-BDwU2I_y.js.map} +1 -1
  71. package/dist/_chunks/{layout-ByD1cQSW.mjs → layout-C8H4oKDo.mjs} +3 -3
  72. package/dist/_chunks/{layout-ByD1cQSW.mjs.map → layout-C8H4oKDo.mjs.map} +1 -1
  73. package/dist/_chunks/{relations-BBHlo3qQ.js → relations-CPfMNzM6.js} +6 -3
  74. package/dist/_chunks/relations-CPfMNzM6.js.map +1 -0
  75. package/dist/_chunks/{relations-DFwbNLZ0.mjs → relations-Ch70q86O.mjs} +6 -3
  76. package/dist/_chunks/relations-Ch70q86O.mjs.map +1 -0
  77. package/dist/admin/index.js +1 -1
  78. package/dist/admin/index.mjs +4 -4
  79. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  80. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  81. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  82. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  83. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  84. package/dist/admin/src/preview/index.d.ts +1 -1
  85. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  86. package/dist/admin/src/preview/routes.d.ts +3 -0
  87. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  88. package/dist/admin/src/router.d.ts +1 -1
  89. package/dist/server/index.js +290 -129
  90. package/dist/server/index.js.map +1 -1
  91. package/dist/server/index.mjs +290 -129
  92. package/dist/server/index.mjs.map +1 -1
  93. package/dist/server/src/controllers/index.d.ts.map +1 -1
  94. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  95. package/dist/server/src/history/services/utils.d.ts +2 -3
  96. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  97. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  98. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  99. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  100. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  101. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  102. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  103. package/dist/server/src/preview/index.d.ts.map +1 -1
  104. package/dist/server/src/preview/routes/index.d.ts +8 -0
  105. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  106. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  107. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  108. package/dist/server/src/preview/services/index.d.ts +15 -0
  109. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  110. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  111. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  112. package/dist/server/src/preview/services/preview.d.ts +12 -0
  113. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  114. package/dist/server/src/preview/utils.d.ts +18 -0
  115. package/dist/server/src/preview/utils.d.ts.map +1 -0
  116. package/dist/server/src/routes/index.d.ts.map +1 -1
  117. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  118. package/dist/server/src/services/index.d.ts.map +1 -1
  119. package/dist/shared/contracts/index.d.ts +1 -0
  120. package/dist/shared/contracts/index.d.ts.map +1 -1
  121. package/dist/shared/contracts/preview.d.ts +27 -0
  122. package/dist/shared/contracts/preview.d.ts.map +1 -0
  123. package/dist/shared/index.js +4 -0
  124. package/dist/shared/index.js.map +1 -1
  125. package/dist/shared/index.mjs +4 -0
  126. package/dist/shared/index.mjs.map +1 -1
  127. package/package.json +8 -8
  128. package/dist/_chunks/EditViewPage-CgfL33yw.js.map +0 -1
  129. package/dist/_chunks/EditViewPage-DBV7CZVf.mjs.map +0 -1
  130. package/dist/_chunks/Field-BQFK_H87.mjs.map +0 -1
  131. package/dist/_chunks/Field-C647fIuP.js.map +0 -1
  132. package/dist/_chunks/History-8tQaor_-.mjs.map +0 -1
  133. package/dist/_chunks/History-Dl6wOm0V.js.map +0 -1
  134. package/dist/_chunks/Relations-Dq52hb_u.mjs.map +0 -1
  135. package/dist/_chunks/Relations-SRwPhmo7.js.map +0 -1
  136. package/dist/_chunks/index-1Bdj-6ls.mjs.map +0 -1
  137. package/dist/_chunks/index-CsrCnNa3.js.map +0 -1
  138. package/dist/_chunks/relations-BBHlo3qQ.js.map +0 -1
  139. package/dist/_chunks/relations-DFwbNLZ0.mjs.map +0 -1
@@ -293,7 +293,7 @@ const documentApi = contentManagerApi.injectEndpoints({
293
293
  */
294
294
  getAllDocuments: builder.query({
295
295
  query: ({ model, params }) => ({
296
- url: `/content-manager/collection-types/${model}${params ? `?${params}` : ""}`,
296
+ url: `/content-manager/collection-types/${model}`,
297
297
  method: "GET",
298
298
  config: {
299
299
  params
@@ -991,9 +991,10 @@ const formatEditLayout = (data, {
991
991
  currentPanelIndex += 2;
992
992
  } else {
993
993
  if (!panels[currentPanelIndex]) {
994
- panels.push([]);
994
+ panels.push([row]);
995
+ } else {
996
+ panels[currentPanelIndex].push(row);
995
997
  }
996
- panels[currentPanelIndex].push(row);
997
998
  }
998
999
  return panels;
999
1000
  }, []);
@@ -1684,10 +1685,10 @@ const useDocumentActions = () => {
1684
1685
  update
1685
1686
  };
1686
1687
  };
1687
- const ProtectedHistoryPage = React.lazy(
1688
- () => Promise.resolve().then(() => require("./History-Dl6wOm0V.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1688
+ const ProtectedHistoryPage = React__namespace.lazy(
1689
+ () => Promise.resolve().then(() => require("./History-BGGn9JGY.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1689
1690
  );
1690
- const routes$1 = [
1691
+ const routes$2 = [
1691
1692
  {
1692
1693
  path: ":collectionType/:slug/:id/history",
1693
1694
  Component: ProtectedHistoryPage
@@ -1697,32 +1698,45 @@ const routes$1 = [
1697
1698
  Component: ProtectedHistoryPage
1698
1699
  }
1699
1700
  ];
1701
+ const ProtectedPreviewPage = React__namespace.lazy(
1702
+ () => Promise.resolve().then(() => require("./Preview-Bx1WfmKJ.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
1703
+ );
1704
+ const routes$1 = [
1705
+ {
1706
+ path: ":collectionType/:slug/:id/preview",
1707
+ Component: ProtectedPreviewPage
1708
+ },
1709
+ {
1710
+ path: ":collectionType/:slug/preview",
1711
+ Component: ProtectedPreviewPage
1712
+ }
1713
+ ];
1700
1714
  const ProtectedEditViewPage = React.lazy(
1701
- () => Promise.resolve().then(() => require("./EditViewPage-CgfL33yw.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1715
+ () => Promise.resolve().then(() => require("./EditViewPage-pyqEgLgP.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1702
1716
  );
1703
1717
  const ProtectedListViewPage = React.lazy(
1704
- () => Promise.resolve().then(() => require("./ListViewPage-5QzoAtAo.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1718
+ () => Promise.resolve().then(() => require("./ListViewPage-DtAHWFMV.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1705
1719
  );
1706
1720
  const ProtectedListConfiguration = React.lazy(
1707
- () => Promise.resolve().then(() => require("./ListConfigurationPage-BedUJnmo.js")).then((mod) => ({
1721
+ () => Promise.resolve().then(() => require("./ListConfigurationPage-D3Avyi4t.js")).then((mod) => ({
1708
1722
  default: mod.ProtectedListConfiguration
1709
1723
  }))
1710
1724
  );
1711
1725
  const ProtectedEditConfigurationPage = React.lazy(
1712
- () => Promise.resolve().then(() => require("./EditConfigurationPage-BOAqRJUV.js")).then((mod) => ({
1726
+ () => Promise.resolve().then(() => require("./EditConfigurationPage-BeikGxvq.js")).then((mod) => ({
1713
1727
  default: mod.ProtectedEditConfigurationPage
1714
1728
  }))
1715
1729
  );
1716
1730
  const ProtectedComponentConfigurationPage = React.lazy(
1717
- () => Promise.resolve().then(() => require("./ComponentConfigurationPage-DRh2GoZx.js")).then((mod) => ({
1731
+ () => Promise.resolve().then(() => require("./ComponentConfigurationPage-Cjr64OS0.js")).then((mod) => ({
1718
1732
  default: mod.ProtectedComponentConfigurationPage
1719
1733
  }))
1720
1734
  );
1721
1735
  const NoPermissions = React.lazy(
1722
- () => Promise.resolve().then(() => require("./NoPermissionsPage-CCAreseM.js")).then((mod) => ({ default: mod.NoPermissions }))
1736
+ () => Promise.resolve().then(() => require("./NoPermissionsPage-j7oulOpl.js")).then((mod) => ({ default: mod.NoPermissions }))
1723
1737
  );
1724
1738
  const NoContentType = React.lazy(
1725
- () => Promise.resolve().then(() => require("./NoContentTypePage-DBIyA7hd.js")).then((mod) => ({ default: mod.NoContentType }))
1739
+ () => Promise.resolve().then(() => require("./NoContentTypePage-BFjWZX0i.js")).then((mod) => ({ default: mod.NoContentType }))
1726
1740
  );
1727
1741
  const CollectionTypePages = () => {
1728
1742
  const { collectionType } = reactRouterDom.useParams();
@@ -1734,7 +1748,7 @@ const CollectionTypePages = () => {
1734
1748
  const CLONE_RELATIVE_PATH = ":collectionType/:slug/clone/:origin";
1735
1749
  const CLONE_PATH = `/content-manager/${CLONE_RELATIVE_PATH}`;
1736
1750
  const LIST_RELATIVE_PATH = ":collectionType/:slug";
1737
- const LIST_PATH = `/content-manager/${LIST_RELATIVE_PATH}`;
1751
+ const LIST_PATH = `/content-manager/collection-types/:slug`;
1738
1752
  const routes = [
1739
1753
  {
1740
1754
  path: LIST_RELATIVE_PATH,
@@ -1768,6 +1782,7 @@ const routes = [
1768
1782
  path: "no-content-types",
1769
1783
  Component: NoContentType
1770
1784
  },
1785
+ ...routes$2,
1771
1786
  ...routes$1
1772
1787
  ];
1773
1788
  const DocumentActions = ({ actions: actions2 }) => {
@@ -1929,43 +1944,25 @@ const DocumentActionsMenu = ({
1929
1944
  disabled: action.disabled,
1930
1945
  onSelect: handleClick(action),
1931
1946
  display: "block",
1932
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: [
1933
- /* @__PURE__ */ jsxRuntime.jsxs(
1934
- designSystem.Flex,
1935
- {
1936
- color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1937
- gap: 2,
1938
- tag: "span",
1939
- children: [
1940
- /* @__PURE__ */ jsxRuntime.jsx(
1941
- designSystem.Flex,
1942
- {
1943
- tag: "span",
1944
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1945
- children: action.icon
1946
- }
1947
- ),
1948
- action.label
1949
- ]
1950
- }
1951
- ),
1952
- action.id.startsWith("HistoryAction") && /* @__PURE__ */ jsxRuntime.jsx(
1953
- designSystem.Flex,
1954
- {
1955
- alignItems: "center",
1956
- background: "alternative100",
1957
- borderStyle: "solid",
1958
- borderColor: "alternative200",
1959
- borderWidth: "1px",
1960
- height: 5,
1961
- paddingLeft: 2,
1962
- paddingRight: 2,
1963
- hasRadius: true,
1964
- color: "alternative600",
1965
- children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", fontWeight: "bold", lineHeight: 1, children: formatMessage({ id: "global.new", defaultMessage: "New" }) })
1966
- }
1967
- )
1968
- ] })
1947
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(
1948
+ designSystem.Flex,
1949
+ {
1950
+ color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1951
+ gap: 2,
1952
+ tag: "span",
1953
+ children: [
1954
+ /* @__PURE__ */ jsxRuntime.jsx(
1955
+ designSystem.Flex,
1956
+ {
1957
+ tag: "span",
1958
+ color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1959
+ children: action.icon
1960
+ }
1961
+ ),
1962
+ action.label
1963
+ ]
1964
+ }
1965
+ ) })
1969
1966
  },
1970
1967
  action.id
1971
1968
  );
@@ -2556,7 +2553,7 @@ const RelativeTime = React__namespace.forwardRef(
2556
2553
  });
2557
2554
  const unit = intervals.find((intervalUnit) => {
2558
2555
  return interval[intervalUnit] > 0 && Object.keys(interval).includes(intervalUnit);
2559
- });
2556
+ }) ?? "seconds";
2560
2557
  const relativeTime = dateFns.isPast(timestamp) ? -interval[unit] : interval[unit];
2561
2558
  const customInterval = customIntervals.find(
2562
2559
  (custom) => interval[custom.unit] < custom.threshold
@@ -2590,9 +2587,13 @@ const getDisplayName = ({
2590
2587
  return email ?? "";
2591
2588
  };
2592
2589
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2593
- const DocumentStatus = ({ status = "draft", ...restProps }) => {
2590
+ const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
2594
2591
  const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2595
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
2592
+ const { formatMessage } = reactIntl.useIntl();
2593
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Status, { ...restProps, size, variant: statusVariant, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
2594
+ id: `content-manager.containers.List.${status}`,
2595
+ defaultMessage: capitalise(status)
2596
+ }) }) });
2596
2597
  };
2597
2598
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2598
2599
  const { formatMessage } = reactIntl.useIntl();
@@ -3289,18 +3290,10 @@ const SelectedEntriesTableContent = ({
3289
3290
  search: row.locale && `?plugins[i18n][locale]=${row.locale}`
3290
3291
  },
3291
3292
  state: { from: pathname },
3292
- label: formatMessage(
3293
- { id: "app.component.HelperPluginTable.edit", defaultMessage: "Edit {target}" },
3294
- {
3295
- target: formatMessage(
3296
- {
3297
- id: "content-manager.components.ListViewHelperPluginTable.row-line",
3298
- defaultMessage: "item line {number}"
3299
- },
3300
- { number: index2 + 1 }
3301
- )
3302
- }
3303
- ),
3293
+ label: formatMessage({
3294
+ id: "content-manager.bulk-publish.edit",
3295
+ defaultMessage: "Edit"
3296
+ }),
3304
3297
  target: "_blank",
3305
3298
  marginLeft: "auto",
3306
3299
  variant: "ghost",
@@ -4022,13 +4015,68 @@ const { setInitialData } = actions;
4022
4015
  const reducer = toolkit.combineReducers({
4023
4016
  app: reducer$1
4024
4017
  });
4018
+ const previewApi = contentManagerApi.injectEndpoints({
4019
+ endpoints: (builder) => ({
4020
+ getPreviewUrl: builder.query({
4021
+ query({ query, params }) {
4022
+ return {
4023
+ url: `/content-manager/preview/url/${params.contentType}`,
4024
+ method: "GET",
4025
+ config: {
4026
+ params: query
4027
+ }
4028
+ };
4029
+ }
4030
+ })
4031
+ })
4032
+ });
4033
+ const { useGetPreviewUrlQuery } = previewApi;
4034
+ const PreviewSidePanel = ({ model, documentId, document }) => {
4035
+ const { formatMessage } = reactIntl.useIntl();
4036
+ const { trackUsage } = strapiAdmin.useTracking();
4037
+ const [{ query }] = strapiAdmin.useQueryParams();
4038
+ const { data, error } = useGetPreviewUrlQuery({
4039
+ params: {
4040
+ contentType: model
4041
+ },
4042
+ query: {
4043
+ documentId,
4044
+ locale: document?.locale,
4045
+ status: document?.status
4046
+ }
4047
+ });
4048
+ if (!data?.data?.url || error) {
4049
+ return null;
4050
+ }
4051
+ const handleClick = () => {
4052
+ trackUsage("willOpenPreview");
4053
+ };
4054
+ return {
4055
+ title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4056
+ content: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
4057
+ designSystem.Button,
4058
+ {
4059
+ variant: "tertiary",
4060
+ tag: reactRouterDom.Link,
4061
+ to: { pathname: "preview", search: qs.stringify(query, { encode: false }) },
4062
+ onClick: handleClick,
4063
+ flex: "auto",
4064
+ children: formatMessage({
4065
+ id: "content-manager.preview.panel.button",
4066
+ defaultMessage: "Open preview"
4067
+ })
4068
+ }
4069
+ ) })
4070
+ };
4071
+ };
4025
4072
  const FEATURE_ID = "preview";
4026
4073
  const previewAdmin = {
4027
4074
  bootstrap(app) {
4028
4075
  if (!window.strapi.future.isEnabled(FEATURE_ID)) {
4029
- return {};
4076
+ return;
4030
4077
  }
4031
- console.log("Bootstrapping preview admin");
4078
+ const contentManagerPluginApis = app.getPlugin("content-manager").apis;
4079
+ contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
4032
4080
  }
4033
4081
  };
4034
4082
  const index = {
@@ -4050,7 +4098,7 @@ const index = {
4050
4098
  app.router.addRoute({
4051
4099
  path: "content-manager/*",
4052
4100
  lazy: async () => {
4053
- const { Layout } = await Promise.resolve().then(() => require("./layout-B33V9Tdu.js"));
4101
+ const { Layout } = await Promise.resolve().then(() => require("./layout-BDwU2I_y.js"));
4054
4102
  return {
4055
4103
  Component: Layout
4056
4104
  };
@@ -4070,7 +4118,7 @@ const index = {
4070
4118
  async registerTrads({ locales }) {
4071
4119
  const importedTrads = await Promise.all(
4072
4120
  locales.map((locale) => {
4073
- 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 }) => {
4121
+ 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-DAgtrRoa.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 }) => {
4074
4122
  return {
4075
4123
  data: prefixPluginTranslations(data, PLUGIN_ID),
4076
4124
  locale
@@ -4128,5 +4176,6 @@ exports.useGetAllContentTypeSettingsQuery = useGetAllContentTypeSettingsQuery;
4128
4176
  exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
4129
4177
  exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
4130
4178
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
4179
+ exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
4131
4180
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
4132
- //# sourceMappingURL=index-CsrCnNa3.js.map
4181
+ //# sourceMappingURL=index-_j7lH3CO.js.map