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

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 (141) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-DRh2GoZx.js → ComponentConfigurationPage-_EzKh4uq.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-DRh2GoZx.js.map → ComponentConfigurationPage-_EzKh4uq.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-DH3rgf1K.mjs → ComponentConfigurationPage-aeNlfgi9.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-DH3rgf1K.mjs.map → ComponentConfigurationPage-aeNlfgi9.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-C1HHivAz.mjs → EditConfigurationPage-DBVSBjCB.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-C1HHivAz.mjs.map → EditConfigurationPage-DBVSBjCB.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-BOAqRJUV.js → EditConfigurationPage-DaK5-ltL.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-BOAqRJUV.js.map → EditConfigurationPage-DaK5-ltL.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DBV7CZVf.mjs → EditViewPage-BeRi9xCR.mjs} +38 -8
  10. package/dist/_chunks/EditViewPage-BeRi9xCR.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-CgfL33yw.js → EditViewPage-C3qKSunQ.js} +37 -7
  12. package/dist/_chunks/EditViewPage-C3qKSunQ.js.map +1 -0
  13. package/dist/_chunks/{Field-C647fIuP.js → Field-BwLr5b0V.js} +27 -7
  14. package/dist/_chunks/Field-BwLr5b0V.js.map +1 -0
  15. package/dist/_chunks/{Field-BQFK_H87.mjs → Field-CfbMEZLv.mjs} +27 -7
  16. package/dist/_chunks/Field-CfbMEZLv.mjs.map +1 -0
  17. package/dist/_chunks/{Form-CsYUrVEA.js → Form-BSInvgp4.js} +2 -2
  18. package/dist/_chunks/{Form-CsYUrVEA.js.map → Form-BSInvgp4.js.map} +1 -1
  19. package/dist/_chunks/{Form--31reETM.mjs → Form-Br-9I4vG.mjs} +2 -2
  20. package/dist/_chunks/{Form--31reETM.mjs.map → Form-Br-9I4vG.mjs.map} +1 -1
  21. package/dist/_chunks/{History-Dl6wOm0V.js → History-BHH0axCz.js} +18 -90
  22. package/dist/_chunks/History-BHH0axCz.js.map +1 -0
  23. package/dist/_chunks/{History-8tQaor_-.mjs → History-BQ721fHN.mjs} +18 -90
  24. package/dist/_chunks/History-BQ721fHN.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-BedUJnmo.js → ListConfigurationPage-B7VtZkjG.js} +4 -3
  26. package/dist/_chunks/ListConfigurationPage-B7VtZkjG.js.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-_WWIGpVT.mjs → ListConfigurationPage-BVtVADtP.mjs} +5 -4
  28. package/dist/_chunks/ListConfigurationPage-BVtVADtP.mjs.map +1 -0
  29. package/dist/_chunks/{ListViewPage-5QzoAtAo.js → ListViewPage-C4UCZKeD.js} +16 -5
  30. package/dist/_chunks/{ListViewPage-5QzoAtAo.js.map → ListViewPage-C4UCZKeD.js.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-CZfw9OW9.mjs → ListViewPage-Dq7nBEKD.mjs} +16 -5
  32. package/dist/_chunks/{ListViewPage-CZfw9OW9.mjs.map → ListViewPage-Dq7nBEKD.mjs.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-D-RqshUI.mjs → NoContentTypePage-CQlgc_9h.mjs} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-D-RqshUI.mjs.map → NoContentTypePage-CQlgc_9h.mjs.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DBIyA7hd.js → NoContentTypePage-YNlmMHbx.js} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DBIyA7hd.js.map → NoContentTypePage-YNlmMHbx.js.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-CCAreseM.js → NoPermissionsPage-CERDW9_P.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-CCAreseM.js.map → NoPermissionsPage-CERDW9_P.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-m7GAd26r.mjs → NoPermissionsPage-CT2YbxJK.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-m7GAd26r.mjs.map → NoPermissionsPage-CT2YbxJK.mjs.map} +1 -1
  41. package/dist/_chunks/Preview-D9FlX2H8.js +275 -0
  42. package/dist/_chunks/Preview-D9FlX2H8.js.map +1 -0
  43. package/dist/_chunks/Preview-GZFXtAgo.mjs +256 -0
  44. package/dist/_chunks/Preview-GZFXtAgo.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-Dq52hb_u.mjs → Relations-49C4HPsL.mjs} +6 -3
  46. package/dist/_chunks/Relations-49C4HPsL.mjs.map +1 -0
  47. package/dist/_chunks/{Relations-SRwPhmo7.js → Relations-CcJBqH7I.js} +6 -3
  48. package/dist/_chunks/Relations-CcJBqH7I.js.map +1 -0
  49. package/dist/_chunks/{en-DKV44jRb.mjs → en-CfIXaZf9.mjs} +14 -3
  50. package/dist/_chunks/{en-DKV44jRb.mjs.map → en-CfIXaZf9.mjs.map} +1 -1
  51. package/dist/_chunks/{en-Bm0D0IWz.js → en-DTWPCdTS.js} +14 -3
  52. package/dist/_chunks/{en-Bm0D0IWz.js.map → en-DTWPCdTS.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-CP5EOEiH.mjs} +131 -76
  62. package/dist/_chunks/index-CP5EOEiH.mjs.map +1 -0
  63. package/dist/_chunks/{index-CsrCnNa3.js → index-DUjGm1xz.js} +127 -72
  64. package/dist/_chunks/index-DUjGm1xz.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-ByD1cQSW.mjs → layout-B3LdnMTA.mjs} +3 -3
  70. package/dist/_chunks/{layout-ByD1cQSW.mjs.map → layout-B3LdnMTA.mjs.map} +1 -1
  71. package/dist/_chunks/{layout-B33V9Tdu.js → layout-zHc8BsKI.js} +3 -3
  72. package/dist/_chunks/{layout-B33V9Tdu.js.map → layout-zHc8BsKI.js.map} +1 -1
  73. package/dist/_chunks/{relations-DFwbNLZ0.mjs → relations-DnT2jc-S.mjs} +6 -3
  74. package/dist/_chunks/relations-DnT2jc-S.mjs.map +1 -0
  75. package/dist/_chunks/{relations-BBHlo3qQ.js → relations-DrsZXRl-.js} +6 -3
  76. package/dist/_chunks/relations-DrsZXRl-.js.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/ListConfigurationPage-BedUJnmo.js.map +0 -1
  135. package/dist/_chunks/ListConfigurationPage-_WWIGpVT.mjs.map +0 -1
  136. package/dist/_chunks/Relations-Dq52hb_u.mjs.map +0 -1
  137. package/dist/_chunks/Relations-SRwPhmo7.js.map +0 -1
  138. package/dist/_chunks/index-1Bdj-6ls.mjs.map +0 -1
  139. package/dist/_chunks/index-CsrCnNa3.js.map +0 -1
  140. package/dist/_chunks/relations-BBHlo3qQ.js.map +0 -1
  141. package/dist/_chunks/relations-DFwbNLZ0.mjs.map +0 -1
@@ -3,7 +3,7 @@ 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, Typography, Dialog, Modal, Radio, Status, Box, SingleSelect, SingleSelectOption, IconButton, Loader, Tooltip, LinkButton } from "@strapi/design-system";
6
+ import { Button, Menu, 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";
@@ -271,7 +271,7 @@ const documentApi = contentManagerApi.injectEndpoints({
271
271
  */
272
272
  getAllDocuments: builder.query({
273
273
  query: ({ model, params }) => ({
274
- url: `/content-manager/collection-types/${model}${params ? `?${params}` : ""}`,
274
+ url: `/content-manager/collection-types/${model}`,
275
275
  method: "GET",
276
276
  config: {
277
277
  params
@@ -969,9 +969,10 @@ const formatEditLayout = (data, {
969
969
  currentPanelIndex += 2;
970
970
  } else {
971
971
  if (!panels[currentPanelIndex]) {
972
- panels.push([]);
972
+ panels.push([row]);
973
+ } else {
974
+ panels[currentPanelIndex].push(row);
973
975
  }
974
- panels[currentPanelIndex].push(row);
975
976
  }
976
977
  return panels;
977
978
  }, []);
@@ -1662,10 +1663,10 @@ const useDocumentActions = () => {
1662
1663
  update
1663
1664
  };
1664
1665
  };
1665
- const ProtectedHistoryPage = lazy(
1666
- () => import("./History-8tQaor_-.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1666
+ const ProtectedHistoryPage = React.lazy(
1667
+ () => import("./History-BQ721fHN.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1667
1668
  );
1668
- const routes$1 = [
1669
+ const routes$2 = [
1669
1670
  {
1670
1671
  path: ":collectionType/:slug/:id/history",
1671
1672
  Component: ProtectedHistoryPage
@@ -1675,32 +1676,45 @@ const routes$1 = [
1675
1676
  Component: ProtectedHistoryPage
1676
1677
  }
1677
1678
  ];
1679
+ const ProtectedPreviewPage = React.lazy(
1680
+ () => import("./Preview-GZFXtAgo.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
+ ];
1678
1692
  const ProtectedEditViewPage = lazy(
1679
- () => import("./EditViewPage-DBV7CZVf.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1693
+ () => import("./EditViewPage-BeRi9xCR.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1680
1694
  );
1681
1695
  const ProtectedListViewPage = lazy(
1682
- () => import("./ListViewPage-CZfw9OW9.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1696
+ () => import("./ListViewPage-Dq7nBEKD.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1683
1697
  );
1684
1698
  const ProtectedListConfiguration = lazy(
1685
- () => import("./ListConfigurationPage-_WWIGpVT.mjs").then((mod) => ({
1699
+ () => import("./ListConfigurationPage-BVtVADtP.mjs").then((mod) => ({
1686
1700
  default: mod.ProtectedListConfiguration
1687
1701
  }))
1688
1702
  );
1689
1703
  const ProtectedEditConfigurationPage = lazy(
1690
- () => import("./EditConfigurationPage-C1HHivAz.mjs").then((mod) => ({
1704
+ () => import("./EditConfigurationPage-DBVSBjCB.mjs").then((mod) => ({
1691
1705
  default: mod.ProtectedEditConfigurationPage
1692
1706
  }))
1693
1707
  );
1694
1708
  const ProtectedComponentConfigurationPage = lazy(
1695
- () => import("./ComponentConfigurationPage-DH3rgf1K.mjs").then((mod) => ({
1709
+ () => import("./ComponentConfigurationPage-aeNlfgi9.mjs").then((mod) => ({
1696
1710
  default: mod.ProtectedComponentConfigurationPage
1697
1711
  }))
1698
1712
  );
1699
1713
  const NoPermissions = lazy(
1700
- () => import("./NoPermissionsPage-m7GAd26r.mjs").then((mod) => ({ default: mod.NoPermissions }))
1714
+ () => import("./NoPermissionsPage-CT2YbxJK.mjs").then((mod) => ({ default: mod.NoPermissions }))
1701
1715
  );
1702
1716
  const NoContentType = lazy(
1703
- () => import("./NoContentTypePage-D-RqshUI.mjs").then((mod) => ({ default: mod.NoContentType }))
1717
+ () => import("./NoContentTypePage-CQlgc_9h.mjs").then((mod) => ({ default: mod.NoContentType }))
1704
1718
  );
1705
1719
  const CollectionTypePages = () => {
1706
1720
  const { collectionType } = useParams();
@@ -1712,7 +1726,7 @@ const CollectionTypePages = () => {
1712
1726
  const CLONE_RELATIVE_PATH = ":collectionType/:slug/clone/:origin";
1713
1727
  const CLONE_PATH = `/content-manager/${CLONE_RELATIVE_PATH}`;
1714
1728
  const LIST_RELATIVE_PATH = ":collectionType/:slug";
1715
- const LIST_PATH = `/content-manager/${LIST_RELATIVE_PATH}`;
1729
+ const LIST_PATH = `/content-manager/collection-types/:slug`;
1716
1730
  const routes = [
1717
1731
  {
1718
1732
  path: LIST_RELATIVE_PATH,
@@ -1746,6 +1760,7 @@ const routes = [
1746
1760
  path: "no-content-types",
1747
1761
  Component: NoContentType
1748
1762
  },
1763
+ ...routes$2,
1749
1764
  ...routes$1
1750
1765
  ];
1751
1766
  const DocumentActions = ({ actions: actions2 }) => {
@@ -1907,43 +1922,25 @@ const DocumentActionsMenu = ({
1907
1922
  disabled: action.disabled,
1908
1923
  onSelect: handleClick(action),
1909
1924
  display: "block",
1910
- children: /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", gap: 4, children: [
1911
- /* @__PURE__ */ jsxs(
1912
- Flex,
1913
- {
1914
- color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1915
- gap: 2,
1916
- tag: "span",
1917
- children: [
1918
- /* @__PURE__ */ jsx(
1919
- Flex,
1920
- {
1921
- tag: "span",
1922
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1923
- children: action.icon
1924
- }
1925
- ),
1926
- action.label
1927
- ]
1928
- }
1929
- ),
1930
- action.id.startsWith("HistoryAction") && /* @__PURE__ */ jsx(
1931
- Flex,
1932
- {
1933
- alignItems: "center",
1934
- background: "alternative100",
1935
- borderStyle: "solid",
1936
- borderColor: "alternative200",
1937
- borderWidth: "1px",
1938
- height: 5,
1939
- paddingLeft: 2,
1940
- paddingRight: 2,
1941
- hasRadius: true,
1942
- color: "alternative600",
1943
- children: /* @__PURE__ */ jsx(Typography, { variant: "sigma", fontWeight: "bold", lineHeight: 1, children: formatMessage({ id: "global.new", defaultMessage: "New" }) })
1944
- }
1945
- )
1946
- ] })
1925
+ children: /* @__PURE__ */ jsx(Flex, { justifyContent: "space-between", gap: 4, children: /* @__PURE__ */ jsxs(
1926
+ Flex,
1927
+ {
1928
+ color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1929
+ gap: 2,
1930
+ tag: "span",
1931
+ children: [
1932
+ /* @__PURE__ */ jsx(
1933
+ Flex,
1934
+ {
1935
+ tag: "span",
1936
+ color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1937
+ children: action.icon
1938
+ }
1939
+ ),
1940
+ action.label
1941
+ ]
1942
+ }
1943
+ ) })
1947
1944
  },
1948
1945
  action.id
1949
1946
  );
@@ -2534,7 +2531,7 @@ const RelativeTime = React.forwardRef(
2534
2531
  });
2535
2532
  const unit = intervals.find((intervalUnit) => {
2536
2533
  return interval[intervalUnit] > 0 && Object.keys(interval).includes(intervalUnit);
2537
- });
2534
+ }) ?? "seconds";
2538
2535
  const relativeTime = isPast(timestamp) ? -interval[unit] : interval[unit];
2539
2536
  const customInterval = customIntervals.find(
2540
2537
  (custom) => interval[custom.unit] < custom.threshold
@@ -2568,19 +2565,29 @@ const getDisplayName = ({
2568
2565
  return email ?? "";
2569
2566
  };
2570
2567
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2571
- const DocumentStatus = ({ status = "draft", ...restProps }) => {
2568
+ const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
2572
2569
  const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2573
- return /* @__PURE__ */ jsx(Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
2570
+ const { formatMessage } = useIntl();
2571
+ return /* @__PURE__ */ jsx(Status, { ...restProps, size, variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
2572
+ id: `content-manager.containers.List.${status}`,
2573
+ defaultMessage: capitalise(status)
2574
+ }) }) });
2574
2575
  };
2575
2576
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2576
2577
  const { formatMessage } = useIntl();
2577
2578
  const isCloning = useMatch(CLONE_PATH) !== null;
2579
+ const params = useParams();
2578
2580
  const title = isCreating ? formatMessage({
2579
2581
  id: "content-manager.containers.edit.title.new",
2580
2582
  defaultMessage: "Create an entry"
2581
2583
  }) : documentTitle;
2582
2584
  return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", paddingTop: 6, paddingBottom: 4, gap: 2, children: [
2583
- /* @__PURE__ */ jsx(BackButton, {}),
2585
+ /* @__PURE__ */ jsx(
2586
+ BackButton,
2587
+ {
2588
+ fallback: params.collectionType === SINGLE_TYPES ? void 0 : `../${COLLECTION_TYPES}/${params.slug}`
2589
+ }
2590
+ ),
2584
2591
  /* @__PURE__ */ jsxs(Flex, { width: "100%", justifyContent: "space-between", gap: "80px", alignItems: "flex-start", children: [
2585
2592
  /* @__PURE__ */ jsx(Typography, { variant: "alpha", tag: "h1", children: title }),
2586
2593
  /* @__PURE__ */ jsx(HeaderToolbar, {})
@@ -3267,18 +3274,10 @@ const SelectedEntriesTableContent = ({
3267
3274
  search: row.locale && `?plugins[i18n][locale]=${row.locale}`
3268
3275
  },
3269
3276
  state: { from: pathname },
3270
- label: formatMessage(
3271
- { id: "app.component.HelperPluginTable.edit", defaultMessage: "Edit {target}" },
3272
- {
3273
- target: formatMessage(
3274
- {
3275
- id: "content-manager.components.ListViewHelperPluginTable.row-line",
3276
- defaultMessage: "item line {number}"
3277
- },
3278
- { number: index2 + 1 }
3279
- )
3280
- }
3281
- ),
3277
+ label: formatMessage({
3278
+ id: "content-manager.bulk-publish.edit",
3279
+ defaultMessage: "Edit"
3280
+ }),
3282
3281
  target: "_blank",
3283
3282
  marginLeft: "auto",
3284
3283
  variant: "ghost",
@@ -4000,13 +3999,68 @@ const { setInitialData } = actions;
4000
3999
  const reducer = combineReducers({
4001
4000
  app: reducer$1
4002
4001
  });
4002
+ const previewApi = contentManagerApi.injectEndpoints({
4003
+ endpoints: (builder) => ({
4004
+ getPreviewUrl: builder.query({
4005
+ query({ query, params }) {
4006
+ return {
4007
+ url: `/content-manager/preview/url/${params.contentType}`,
4008
+ method: "GET",
4009
+ config: {
4010
+ params: query
4011
+ }
4012
+ };
4013
+ }
4014
+ })
4015
+ })
4016
+ });
4017
+ const { useGetPreviewUrlQuery } = previewApi;
4018
+ const PreviewSidePanel = ({ model, documentId, document }) => {
4019
+ const { formatMessage } = useIntl();
4020
+ const { trackUsage } = useTracking();
4021
+ const [{ query }] = useQueryParams();
4022
+ const { data, error } = useGetPreviewUrlQuery({
4023
+ params: {
4024
+ contentType: model
4025
+ },
4026
+ query: {
4027
+ documentId,
4028
+ locale: document?.locale,
4029
+ status: document?.status
4030
+ }
4031
+ });
4032
+ if (!data?.data?.url || error) {
4033
+ return null;
4034
+ }
4035
+ const handleClick = () => {
4036
+ trackUsage("willOpenPreview");
4037
+ };
4038
+ return {
4039
+ title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4040
+ content: /* @__PURE__ */ jsx(Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsx(
4041
+ Button,
4042
+ {
4043
+ variant: "tertiary",
4044
+ tag: Link,
4045
+ to: { pathname: "preview", search: stringify(query, { encode: false }) },
4046
+ onClick: handleClick,
4047
+ flex: "auto",
4048
+ children: formatMessage({
4049
+ id: "content-manager.preview.panel.button",
4050
+ defaultMessage: "Open preview"
4051
+ })
4052
+ }
4053
+ ) })
4054
+ };
4055
+ };
4003
4056
  const FEATURE_ID = "preview";
4004
4057
  const previewAdmin = {
4005
4058
  bootstrap(app) {
4006
4059
  if (!window.strapi.future.isEnabled(FEATURE_ID)) {
4007
- return {};
4060
+ return;
4008
4061
  }
4009
- console.log("Bootstrapping preview admin");
4062
+ const contentManagerPluginApis = app.getPlugin("content-manager").apis;
4063
+ contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
4010
4064
  }
4011
4065
  };
4012
4066
  const index = {
@@ -4028,7 +4082,7 @@ const index = {
4028
4082
  app.router.addRoute({
4029
4083
  path: "content-manager/*",
4030
4084
  lazy: async () => {
4031
- const { Layout } = await import("./layout-ByD1cQSW.mjs");
4085
+ const { Layout } = await import("./layout-B3LdnMTA.mjs");
4032
4086
  return {
4033
4087
  Component: Layout
4034
4088
  };
@@ -4048,7 +4102,7 @@ const index = {
4048
4102
  async registerTrads({ locales }) {
4049
4103
  const importedTrads = await Promise.all(
4050
4104
  locales.map((locale) => {
4051
- 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 }) => {
4105
+ 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-CfIXaZf9.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 }) => {
4052
4106
  return {
4053
4107
  data: prefixPluginTranslations(data, PLUGIN_ID),
4054
4108
  locale
@@ -4075,9 +4129,10 @@ export {
4075
4129
  HOOKS as H,
4076
4130
  InjectionZone as I,
4077
4131
  useDocument as J,
4078
- index as K,
4079
- useContentManagerContext as L,
4080
- useDocumentActions as M,
4132
+ useGetPreviewUrlQuery as K,
4133
+ index as L,
4134
+ useContentManagerContext as M,
4135
+ useDocumentActions as N,
4081
4136
  Panels as P,
4082
4137
  RelativeTime as R,
4083
4138
  SINGLE_TYPES as S,
@@ -4109,4 +4164,4 @@ export {
4109
4164
  capitalise as y,
4110
4165
  useUpdateContentTypeConfigurationMutation as z
4111
4166
  };
4112
- //# sourceMappingURL=index-1Bdj-6ls.mjs.map
4167
+ //# sourceMappingURL=index-CP5EOEiH.mjs.map