@strapi/content-manager 0.0.0-next.d2d15ef227d67cce89c2673764c0555c841cd29c → 0.0.0-next.ea6e3b80ab37f554da4f8bde08dbfe9b57400d31

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 (160) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js → ComponentConfigurationPage-Bmwd-G2q.js} +4 -4
  2. package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js.map → ComponentConfigurationPage-Bmwd-G2q.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs → ComponentConfigurationPage-DqB7veg_.mjs} +4 -4
  4. package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs.map → ComponentConfigurationPage-DqB7veg_.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs → EditConfigurationPage-CDLVqqay.mjs} +4 -4
  6. package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs.map → EditConfigurationPage-CDLVqqay.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js → EditConfigurationPage-DmruXqgR.js} +4 -4
  8. package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js.map → EditConfigurationPage-DmruXqgR.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DlxEHhUt.js → EditViewPage-0zrWXtMz.js} +37 -7
  10. package/dist/_chunks/EditViewPage-0zrWXtMz.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-B82x_x1b.mjs → EditViewPage-BgcbLW7w.mjs} +38 -8
  12. package/dist/_chunks/EditViewPage-BgcbLW7w.mjs.map +1 -0
  13. package/dist/_chunks/{Field-COL25JiC.js → Field-BV7ZYdqe.js} +28 -8
  14. package/dist/_chunks/Field-BV7ZYdqe.js.map +1 -0
  15. package/dist/_chunks/{Field-DufHXW17.mjs → Field-fTjqtEem.mjs} +28 -8
  16. package/dist/_chunks/Field-fTjqtEem.mjs.map +1 -0
  17. package/dist/_chunks/{Form-BssUwrTO.js → Form-CIDoAFoD.js} +2 -2
  18. package/dist/_chunks/{Form-BssUwrTO.js.map → Form-CIDoAFoD.js.map} +1 -1
  19. package/dist/_chunks/{Form-u_kAOhwB.mjs → Form-WNWgTBtb.mjs} +2 -2
  20. package/dist/_chunks/{Form-u_kAOhwB.mjs.map → Form-WNWgTBtb.mjs.map} +1 -1
  21. package/dist/_chunks/{History-C9t9UqpO.js → History-BNvm2TK2.js} +19 -91
  22. package/dist/_chunks/History-BNvm2TK2.js.map +1 -0
  23. package/dist/_chunks/{History-DRwA3oMM.mjs → History-DEZDHwP0.mjs} +19 -91
  24. package/dist/_chunks/History-DEZDHwP0.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js → ListConfigurationPage-B3FZwPHp.js} +3 -3
  26. package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js.map → ListConfigurationPage-B3FZwPHp.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs → ListConfigurationPage-Ddz3G-It.mjs} +3 -3
  28. package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs.map → ListConfigurationPage-Ddz3G-It.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-D2VD8Szg.js → ListViewPage-BEilNylQ.js} +28 -6
  30. package/dist/_chunks/ListViewPage-BEilNylQ.js.map +1 -0
  31. package/dist/_chunks/{ListViewPage-CELx2ysp.mjs → ListViewPage-BsLdw25U.mjs} +28 -6
  32. package/dist/_chunks/{ListViewPage-CELx2ysp.mjs.map → ListViewPage-BsLdw25U.mjs.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js → NoContentTypePage-BD2C-IMr.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js.map → NoContentTypePage-BD2C-IMr.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs → NoContentTypePage-D0jXEWKM.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs.map → NoContentTypePage-D0jXEWKM.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs → NoPermissionsPage-CIPqlrQq.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs.map → NoPermissionsPage-CIPqlrQq.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js → NoPermissionsPage-yNOvz9XO.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js.map → NoPermissionsPage-yNOvz9XO.js.map} +1 -1
  41. package/dist/_chunks/Preview-1cqLecKr.js +256 -0
  42. package/dist/_chunks/Preview-1cqLecKr.js.map +1 -0
  43. package/dist/_chunks/Preview-ot2fh0yZ.mjs +237 -0
  44. package/dist/_chunks/Preview-ot2fh0yZ.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-DR7EUgyC.js → Relations-C3U9SKEb.js} +43 -16
  46. package/dist/_chunks/Relations-C3U9SKEb.js.map +1 -0
  47. package/dist/_chunks/{Relations-BTcf5xaw.mjs → Relations-CfdwHP-0.mjs} +44 -17
  48. package/dist/_chunks/Relations-CfdwHP-0.mjs.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-wnqzm4Q8.mjs → index-BzUT1l9A.mjs} +147 -68
  62. package/dist/_chunks/index-BzUT1l9A.mjs.map +1 -0
  63. package/dist/_chunks/{index-BdMf2lfT.js → index-Cg4RLIAw.js} +144 -64
  64. package/dist/_chunks/index-Cg4RLIAw.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-2CfjL0T9.mjs → layout-C0QEDBAh.mjs} +3 -3
  70. package/dist/_chunks/{layout-2CfjL0T9.mjs.map → layout-C0QEDBAh.mjs.map} +1 -1
  71. package/dist/_chunks/{layout-B2MyZU-_.js → layout-Cj_1EKbm.js} +3 -3
  72. package/dist/_chunks/{layout-B2MyZU-_.js.map → layout-Cj_1EKbm.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-C0w0GcXi.mjs → relations-CgPG3AwU.mjs} +6 -7
  78. package/dist/_chunks/relations-CgPG3AwU.mjs.map +1 -0
  79. package/dist/_chunks/{relations-BH7JJGGe.js → relations-hDOgJy2R.js} +6 -7
  80. package/dist/_chunks/relations-hDOgJy2R.js.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/pages/EditView/components/DocumentStatus.d.ts +2 -2
  85. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  86. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  87. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  88. package/dist/admin/src/preview/constants.d.ts +1 -0
  89. package/dist/admin/src/preview/index.d.ts +4 -0
  90. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  91. package/dist/admin/src/preview/routes.d.ts +3 -0
  92. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  93. package/dist/admin/src/router.d.ts +1 -1
  94. package/dist/server/index.js +344 -144
  95. package/dist/server/index.js.map +1 -1
  96. package/dist/server/index.mjs +344 -144
  97. package/dist/server/index.mjs.map +1 -1
  98. package/dist/server/src/bootstrap.d.ts.map +1 -1
  99. package/dist/server/src/controllers/index.d.ts.map +1 -1
  100. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  101. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  102. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  103. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  104. package/dist/server/src/history/services/utils.d.ts +2 -3
  105. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  106. package/dist/server/src/index.d.ts +4 -4
  107. package/dist/server/src/preview/constants.d.ts +2 -0
  108. package/dist/server/src/preview/constants.d.ts.map +1 -0
  109. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  110. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  111. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  112. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  113. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  114. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  115. package/dist/server/src/preview/index.d.ts +4 -0
  116. package/dist/server/src/preview/index.d.ts.map +1 -0
  117. package/dist/server/src/preview/routes/index.d.ts +8 -0
  118. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  119. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  120. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  121. package/dist/server/src/preview/services/index.d.ts +15 -0
  122. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  123. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  124. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  125. package/dist/server/src/preview/services/preview.d.ts +12 -0
  126. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  127. package/dist/server/src/preview/utils.d.ts +18 -0
  128. package/dist/server/src/preview/utils.d.ts.map +1 -0
  129. package/dist/server/src/routes/index.d.ts.map +1 -1
  130. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  131. package/dist/server/src/services/document-metadata.d.ts +8 -8
  132. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  133. package/dist/server/src/services/index.d.ts +4 -4
  134. package/dist/server/src/services/index.d.ts.map +1 -1
  135. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  136. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  137. package/dist/server/src/utils/index.d.ts +2 -0
  138. package/dist/server/src/utils/index.d.ts.map +1 -1
  139. package/dist/shared/contracts/index.d.ts +1 -0
  140. package/dist/shared/contracts/index.d.ts.map +1 -1
  141. package/dist/shared/contracts/preview.d.ts +27 -0
  142. package/dist/shared/contracts/preview.d.ts.map +1 -0
  143. package/dist/shared/index.js +4 -0
  144. package/dist/shared/index.js.map +1 -1
  145. package/dist/shared/index.mjs +4 -0
  146. package/dist/shared/index.mjs.map +1 -1
  147. package/package.json +9 -9
  148. package/dist/_chunks/EditViewPage-B82x_x1b.mjs.map +0 -1
  149. package/dist/_chunks/EditViewPage-DlxEHhUt.js.map +0 -1
  150. package/dist/_chunks/Field-COL25JiC.js.map +0 -1
  151. package/dist/_chunks/Field-DufHXW17.mjs.map +0 -1
  152. package/dist/_chunks/History-C9t9UqpO.js.map +0 -1
  153. package/dist/_chunks/History-DRwA3oMM.mjs.map +0 -1
  154. package/dist/_chunks/ListViewPage-D2VD8Szg.js.map +0 -1
  155. package/dist/_chunks/Relations-BTcf5xaw.mjs.map +0 -1
  156. package/dist/_chunks/Relations-DR7EUgyC.js.map +0 -1
  157. package/dist/_chunks/index-BdMf2lfT.js.map +0 -1
  158. package/dist/_chunks/index-wnqzm4Q8.mjs.map +0 -1
  159. package/dist/_chunks/relations-BH7JJGGe.js.map +0 -1
  160. 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;
@@ -1685,10 +1685,10 @@ const useDocumentActions = () => {
1685
1685
  update
1686
1686
  };
1687
1687
  };
1688
- const ProtectedHistoryPage = React.lazy(
1689
- () => Promise.resolve().then(() => require("./History-C9t9UqpO.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1688
+ const ProtectedHistoryPage = React__namespace.lazy(
1689
+ () => Promise.resolve().then(() => require("./History-BNvm2TK2.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1690
1690
  );
1691
- const routes$1 = [
1691
+ const routes$2 = [
1692
1692
  {
1693
1693
  path: ":collectionType/:slug/:id/history",
1694
1694
  Component: ProtectedHistoryPage
@@ -1698,32 +1698,45 @@ const routes$1 = [
1698
1698
  Component: ProtectedHistoryPage
1699
1699
  }
1700
1700
  ];
1701
+ const ProtectedPreviewPage = React__namespace.lazy(
1702
+ () => Promise.resolve().then(() => require("./Preview-1cqLecKr.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
+ ];
1701
1714
  const ProtectedEditViewPage = React.lazy(
1702
- () => Promise.resolve().then(() => require("./EditViewPage-DlxEHhUt.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1715
+ () => Promise.resolve().then(() => require("./EditViewPage-0zrWXtMz.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1703
1716
  );
1704
1717
  const ProtectedListViewPage = React.lazy(
1705
- () => Promise.resolve().then(() => require("./ListViewPage-D2VD8Szg.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1718
+ () => Promise.resolve().then(() => require("./ListViewPage-BEilNylQ.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1706
1719
  );
1707
1720
  const ProtectedListConfiguration = React.lazy(
1708
- () => Promise.resolve().then(() => require("./ListConfigurationPage-BXYPohh-.js")).then((mod) => ({
1721
+ () => Promise.resolve().then(() => require("./ListConfigurationPage-B3FZwPHp.js")).then((mod) => ({
1709
1722
  default: mod.ProtectedListConfiguration
1710
1723
  }))
1711
1724
  );
1712
1725
  const ProtectedEditConfigurationPage = React.lazy(
1713
- () => Promise.resolve().then(() => require("./EditConfigurationPage-Cn0e8t3I.js")).then((mod) => ({
1726
+ () => Promise.resolve().then(() => require("./EditConfigurationPage-DmruXqgR.js")).then((mod) => ({
1714
1727
  default: mod.ProtectedEditConfigurationPage
1715
1728
  }))
1716
1729
  );
1717
1730
  const ProtectedComponentConfigurationPage = React.lazy(
1718
- () => Promise.resolve().then(() => require("./ComponentConfigurationPage-FqfsxQ1j.js")).then((mod) => ({
1731
+ () => Promise.resolve().then(() => require("./ComponentConfigurationPage-Bmwd-G2q.js")).then((mod) => ({
1719
1732
  default: mod.ProtectedComponentConfigurationPage
1720
1733
  }))
1721
1734
  );
1722
1735
  const NoPermissions = React.lazy(
1723
- () => Promise.resolve().then(() => require("./NoPermissionsPage-Dp8NpF9I.js")).then((mod) => ({ default: mod.NoPermissions }))
1736
+ () => Promise.resolve().then(() => require("./NoPermissionsPage-yNOvz9XO.js")).then((mod) => ({ default: mod.NoPermissions }))
1724
1737
  );
1725
1738
  const NoContentType = React.lazy(
1726
- () => Promise.resolve().then(() => require("./NoContentTypePage-BV9IjJSM.js")).then((mod) => ({ default: mod.NoContentType }))
1739
+ () => Promise.resolve().then(() => require("./NoContentTypePage-BD2C-IMr.js")).then((mod) => ({ default: mod.NoContentType }))
1727
1740
  );
1728
1741
  const CollectionTypePages = () => {
1729
1742
  const { collectionType } = reactRouterDom.useParams();
@@ -1735,7 +1748,7 @@ const CollectionTypePages = () => {
1735
1748
  const CLONE_RELATIVE_PATH = ":collectionType/:slug/clone/:origin";
1736
1749
  const CLONE_PATH = `/content-manager/${CLONE_RELATIVE_PATH}`;
1737
1750
  const LIST_RELATIVE_PATH = ":collectionType/:slug";
1738
- const LIST_PATH = `/content-manager/${LIST_RELATIVE_PATH}`;
1751
+ const LIST_PATH = `/content-manager/collection-types/:slug`;
1739
1752
  const routes = [
1740
1753
  {
1741
1754
  path: LIST_RELATIVE_PATH,
@@ -1769,6 +1782,7 @@ const routes = [
1769
1782
  path: "no-content-types",
1770
1783
  Component: NoContentType
1771
1784
  },
1785
+ ...routes$2,
1772
1786
  ...routes$1
1773
1787
  ];
1774
1788
  const DocumentActions = ({ actions: actions2 }) => {
@@ -1930,43 +1944,25 @@ const DocumentActionsMenu = ({
1930
1944
  disabled: action.disabled,
1931
1945
  onSelect: handleClick(action),
1932
1946
  display: "block",
1933
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: [
1934
- /* @__PURE__ */ jsxRuntime.jsxs(
1935
- designSystem.Flex,
1936
- {
1937
- color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1938
- gap: 2,
1939
- tag: "span",
1940
- children: [
1941
- /* @__PURE__ */ jsxRuntime.jsx(
1942
- designSystem.Flex,
1943
- {
1944
- tag: "span",
1945
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1946
- children: action.icon
1947
- }
1948
- ),
1949
- action.label
1950
- ]
1951
- }
1952
- ),
1953
- action.id.startsWith("HistoryAction") && /* @__PURE__ */ jsxRuntime.jsx(
1954
- designSystem.Flex,
1955
- {
1956
- alignItems: "center",
1957
- background: "alternative100",
1958
- borderStyle: "solid",
1959
- borderColor: "alternative200",
1960
- borderWidth: "1px",
1961
- height: 5,
1962
- paddingLeft: 2,
1963
- paddingRight: 2,
1964
- hasRadius: true,
1965
- color: "alternative600",
1966
- children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", fontWeight: "bold", lineHeight: 1, children: formatMessage({ id: "global.new", defaultMessage: "New" }) })
1967
- }
1968
- )
1969
- ] })
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
+ ) })
1970
1966
  },
1971
1967
  action.id
1972
1968
  );
@@ -2077,6 +2073,18 @@ const DocumentActionModal = ({
2077
2073
  typeof Footer === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Footer, { onClose: handleClose }) : Footer
2078
2074
  ] }) });
2079
2075
  };
2076
+ const transformData = (data) => {
2077
+ if (Array.isArray(data)) {
2078
+ return data.map(transformData);
2079
+ }
2080
+ if (typeof data === "object" && data !== null) {
2081
+ if ("apiData" in data) {
2082
+ return data.apiData;
2083
+ }
2084
+ return mapValues__default.default(transformData)(data);
2085
+ }
2086
+ return data;
2087
+ };
2080
2088
  const PublishAction$1 = ({
2081
2089
  activeTab,
2082
2090
  documentId,
@@ -2190,7 +2198,7 @@ const PublishAction$1 = ({
2190
2198
  documentId,
2191
2199
  params
2192
2200
  },
2193
- formValues
2201
+ transformData(formValues)
2194
2202
  );
2195
2203
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2196
2204
  navigate({
@@ -2306,7 +2314,7 @@ const UpdateAction = ({
2306
2314
  documentId: cloneMatch.params.origin,
2307
2315
  params
2308
2316
  },
2309
- document
2317
+ transformData(document)
2310
2318
  );
2311
2319
  if ("data" in res) {
2312
2320
  navigate(
@@ -2327,7 +2335,7 @@ const UpdateAction = ({
2327
2335
  documentId,
2328
2336
  params
2329
2337
  },
2330
- document
2338
+ transformData(document)
2331
2339
  );
2332
2340
  if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
2333
2341
  setErrors(formatValidationErrors(res.error));
@@ -2340,7 +2348,7 @@ const UpdateAction = ({
2340
2348
  model,
2341
2349
  params
2342
2350
  },
2343
- document
2351
+ transformData(document)
2344
2352
  );
2345
2353
  if ("data" in res && collectionType !== SINGLE_TYPES) {
2346
2354
  navigate(
@@ -2545,7 +2553,7 @@ const RelativeTime = React__namespace.forwardRef(
2545
2553
  });
2546
2554
  const unit = intervals.find((intervalUnit) => {
2547
2555
  return interval[intervalUnit] > 0 && Object.keys(interval).includes(intervalUnit);
2548
- });
2556
+ }) ?? "seconds";
2549
2557
  const relativeTime = dateFns.isPast(timestamp) ? -interval[unit] : interval[unit];
2550
2558
  const customInterval = customIntervals.find(
2551
2559
  (custom) => interval[custom.unit] < custom.threshold
@@ -2579,9 +2587,13 @@ const getDisplayName = ({
2579
2587
  return email ?? "";
2580
2588
  };
2581
2589
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2582
- const DocumentStatus = ({ status = "draft", ...restProps }) => {
2590
+ const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
2583
2591
  const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2584
- 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
+ }) }) });
2585
2597
  };
2586
2598
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2587
2599
  const { formatMessage } = reactIntl.useIntl();
@@ -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,70 @@ 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 { trackUsage } = strapiAdmin.useTracking();
4045
+ const [{ query }] = strapiAdmin.useQueryParams();
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 handleClick = () => {
4060
+ trackUsage("willOpenPreview");
4061
+ };
4062
+ return {
4063
+ title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4064
+ content: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
4065
+ designSystem.Button,
4066
+ {
4067
+ variant: "tertiary",
4068
+ tag: reactRouterDom.Link,
4069
+ to: { pathname: "preview", search: qs.stringify(query, { encode: false }) },
4070
+ onClick: handleClick,
4071
+ flex: "auto",
4072
+ children: formatMessage({
4073
+ id: "content-manager.preview.panel.button",
4074
+ defaultMessage: "Open preview"
4075
+ })
4076
+ }
4077
+ ) })
4078
+ };
4079
+ };
4080
+ const FEATURE_ID = "preview";
4081
+ const previewAdmin = {
4082
+ bootstrap(app) {
4083
+ if (!window.strapi.future.isEnabled(FEATURE_ID)) {
4084
+ return;
4085
+ }
4086
+ const contentManagerPluginApis = app.getPlugin("content-manager").apis;
4087
+ contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
4088
+ }
4089
+ };
4014
4090
  const index = {
4015
4091
  register(app) {
4016
4092
  const cm = new ContentManagerPlugin();
@@ -4030,7 +4106,7 @@ const index = {
4030
4106
  app.router.addRoute({
4031
4107
  path: "content-manager/*",
4032
4108
  lazy: async () => {
4033
- const { Layout } = await Promise.resolve().then(() => require("./layout-B2MyZU-_.js"));
4109
+ const { Layout } = await Promise.resolve().then(() => require("./layout-Cj_1EKbm.js"));
4034
4110
  return {
4035
4111
  Component: Layout
4036
4112
  };
@@ -4043,11 +4119,14 @@ const index = {
4043
4119
  if (typeof historyAdmin.bootstrap === "function") {
4044
4120
  historyAdmin.bootstrap(app);
4045
4121
  }
4122
+ if (typeof previewAdmin.bootstrap === "function") {
4123
+ previewAdmin.bootstrap(app);
4124
+ }
4046
4125
  },
4047
4126
  async registerTrads({ locales }) {
4048
4127
  const importedTrads = await Promise.all(
4049
4128
  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 }) => {
4129
+ 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-CHOp_xJv.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
4130
  return {
4052
4131
  data: prefixPluginTranslations(data, PLUGIN_ID),
4053
4132
  locale
@@ -4105,5 +4184,6 @@ exports.useGetAllContentTypeSettingsQuery = useGetAllContentTypeSettingsQuery;
4105
4184
  exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
4106
4185
  exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
4107
4186
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
4187
+ exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
4108
4188
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
4109
- //# sourceMappingURL=index-BdMf2lfT.js.map
4189
+ //# sourceMappingURL=index-Cg4RLIAw.js.map