@strapi/content-manager 0.0.0-next.ee56af7ae29770097422de95c0d5500908dce15c → 0.0.0-next.f4ec69568d980c6fee91ce2ee0f41c138347aa81

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 (89) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-BpM_Hc7r.mjs → ComponentConfigurationPage-WXfrBq-Q.mjs} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-BpM_Hc7r.mjs.map → ComponentConfigurationPage-WXfrBq-Q.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-CL9CAMaL.js → ComponentConfigurationPage-_g_oKvB0.js} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-CL9CAMaL.js.map → ComponentConfigurationPage-_g_oKvB0.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-_prbqpTM.mjs → EditConfigurationPage-CRbOzCGy.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-_prbqpTM.mjs.map → EditConfigurationPage-CRbOzCGy.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-ILWo0h1e.js → EditConfigurationPage-PD0wJ9L3.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-ILWo0h1e.js.map → EditConfigurationPage-PD0wJ9L3.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DAtscabN.mjs → EditViewPage-5Vpyf6AO.mjs} +38 -8
  10. package/dist/_chunks/EditViewPage-5Vpyf6AO.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-BqZvBN4s.js → EditViewPage-B_tonadE.js} +37 -7
  12. package/dist/_chunks/EditViewPage-B_tonadE.js.map +1 -0
  13. package/dist/_chunks/{Field-CcoQiiz1.js → Field-CbqsLSaw.js} +26 -6
  14. package/dist/_chunks/Field-CbqsLSaw.js.map +1 -0
  15. package/dist/_chunks/{Field-D-mgn1tH.mjs → Field-CvMC_y_i.mjs} +26 -6
  16. package/dist/_chunks/Field-CvMC_y_i.mjs.map +1 -0
  17. package/dist/_chunks/{Form-CmLbZDfi.js → Form-BB0z-JxK.js} +2 -2
  18. package/dist/_chunks/{Form-CmLbZDfi.js.map → Form-BB0z-JxK.js.map} +1 -1
  19. package/dist/_chunks/{Form-BxyeWiXW.mjs → Form-DcK34IgP.mjs} +2 -2
  20. package/dist/_chunks/{Form-BxyeWiXW.mjs.map → Form-DcK34IgP.mjs.map} +1 -1
  21. package/dist/_chunks/{History-uECUbCZB.js → History-BD4ZcdUO.js} +7 -61
  22. package/dist/_chunks/History-BD4ZcdUO.js.map +1 -0
  23. package/dist/_chunks/{History-BOhLaq_g.mjs → History-Bcj_FGwn.mjs} +8 -62
  24. package/dist/_chunks/History-Bcj_FGwn.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-D_bBSFNW.js → ListConfigurationPage-BLxjX7Pw.js} +4 -3
  26. package/dist/_chunks/ListConfigurationPage-BLxjX7Pw.js.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-D0vQez6F.mjs → ListConfigurationPage-D6cBGWEz.mjs} +5 -4
  28. package/dist/_chunks/ListConfigurationPage-D6cBGWEz.mjs.map +1 -0
  29. package/dist/_chunks/{ListViewPage-ns-bmy5C.mjs → ListViewPage-_2xuTV87.mjs} +16 -5
  30. package/dist/_chunks/{ListViewPage-ns-bmy5C.mjs.map → ListViewPage-_2xuTV87.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-BkZ83b1A.js → ListViewPage-nUnSzeLc.js} +16 -5
  32. package/dist/_chunks/{ListViewPage-BkZ83b1A.js.map → ListViewPage-nUnSzeLc.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-BA5ZKMDR.mjs → NoContentTypePage-D07aE8fc.mjs} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BA5ZKMDR.mjs.map → NoContentTypePage-D07aE8fc.mjs.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-C1439s4s.js → NoContentTypePage-DerCWb61.js} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-C1439s4s.js.map → NoContentTypePage-DerCWb61.js.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-B0GdMw1Q.mjs → NoPermissionsPage-Bft8fI7p.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-B0GdMw1Q.mjs.map → NoPermissionsPage-Bft8fI7p.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-CPGwsVfb.js → NoPermissionsPage-BrcLxQs2.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-CPGwsVfb.js.map → NoPermissionsPage-BrcLxQs2.js.map} +1 -1
  41. package/dist/_chunks/Preview-_n0hyyGd.mjs +256 -0
  42. package/dist/_chunks/Preview-_n0hyyGd.mjs.map +1 -0
  43. package/dist/_chunks/Preview-d3J-Ku7A.js +275 -0
  44. package/dist/_chunks/Preview-d3J-Ku7A.js.map +1 -0
  45. package/dist/_chunks/{Relations-d-8Uef_-.js → Relations-BIX7Mm2F.js} +3 -3
  46. package/dist/_chunks/{Relations-d-8Uef_-.js.map → Relations-BIX7Mm2F.js.map} +1 -1
  47. package/dist/_chunks/{Relations-BIGPMSW4.mjs → Relations-C_1bopDf.mjs} +3 -3
  48. package/dist/_chunks/{Relations-BIGPMSW4.mjs.map → Relations-C_1bopDf.mjs.map} +1 -1
  49. package/dist/_chunks/{en-CZw4xdPY.mjs → en-CfIXaZf9.mjs} +9 -2
  50. package/dist/_chunks/{en-CZw4xdPY.mjs.map → en-CfIXaZf9.mjs.map} +1 -1
  51. package/dist/_chunks/{en-Bdpa50w3.js → en-DTWPCdTS.js} +9 -2
  52. package/dist/_chunks/{en-Bdpa50w3.js.map → en-DTWPCdTS.js.map} +1 -1
  53. package/dist/_chunks/{index-3_WeHXYp.mjs → index-NgJzBbDY.mjs} +110 -106
  54. package/dist/_chunks/index-NgJzBbDY.mjs.map +1 -0
  55. package/dist/_chunks/{index-BgaeYWIy.js → index-PscLJrm0.js} +104 -100
  56. package/dist/_chunks/index-PscLJrm0.js.map +1 -0
  57. package/dist/_chunks/{layout-ByFyQRDH.js → layout-BFjOzyo2.js} +3 -3
  58. package/dist/_chunks/{layout-ByFyQRDH.js.map → layout-BFjOzyo2.js.map} +1 -1
  59. package/dist/_chunks/{layout-CrTxOnCy.mjs → layout-D5HneXd1.mjs} +3 -3
  60. package/dist/_chunks/{layout-CrTxOnCy.mjs.map → layout-D5HneXd1.mjs.map} +1 -1
  61. package/dist/_chunks/{relations-BlpLgngh.mjs → relations-BIjRMG_U.mjs} +6 -3
  62. package/dist/_chunks/relations-BIjRMG_U.mjs.map +1 -0
  63. package/dist/_chunks/{relations-C5RSW926.js → relations-BPyA_0mB.js} +6 -3
  64. package/dist/_chunks/relations-BPyA_0mB.js.map +1 -0
  65. package/dist/admin/index.js +1 -1
  66. package/dist/admin/index.mjs +4 -4
  67. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  68. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  69. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  70. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  71. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  72. package/dist/admin/src/preview/routes.d.ts +3 -0
  73. package/dist/admin/src/router.d.ts +1 -1
  74. package/dist/server/index.js.map +1 -1
  75. package/dist/server/index.mjs.map +1 -1
  76. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  77. package/package.json +8 -8
  78. package/dist/_chunks/EditViewPage-BqZvBN4s.js.map +0 -1
  79. package/dist/_chunks/EditViewPage-DAtscabN.mjs.map +0 -1
  80. package/dist/_chunks/Field-CcoQiiz1.js.map +0 -1
  81. package/dist/_chunks/Field-D-mgn1tH.mjs.map +0 -1
  82. package/dist/_chunks/History-BOhLaq_g.mjs.map +0 -1
  83. package/dist/_chunks/History-uECUbCZB.js.map +0 -1
  84. package/dist/_chunks/ListConfigurationPage-D0vQez6F.mjs.map +0 -1
  85. package/dist/_chunks/ListConfigurationPage-D_bBSFNW.js.map +0 -1
  86. package/dist/_chunks/index-3_WeHXYp.mjs.map +0 -1
  87. package/dist/_chunks/index-BgaeYWIy.js.map +0 -1
  88. package/dist/_chunks/relations-BlpLgngh.mjs.map +0 -1
  89. package/dist/_chunks/relations-C5RSW926.js.map +0 -1
@@ -106,6 +106,9 @@ const en = {
106
106
  "containers.Home.introduction": "To edit your entries go to the specific link in the left menu. This plugin doesn't have a proper way to edit settings and it's still under active development.",
107
107
  "containers.Home.pluginHeaderDescription": "Manage your entries through a powerful and beautiful interface.",
108
108
  "containers.Home.pluginHeaderTitle": "Content Manager",
109
+ "containers.List.draft": "Draft",
110
+ "containers.List.published": "Published",
111
+ "containers.List.modified": "Modified",
109
112
  "containers.list.displayedFields": "Displayed Fields",
110
113
  "containers.list.items": "{number} {number, plural, =0 {items} one {item} other {items}}",
111
114
  "containers.list.table.row-actions": "Row actions",
@@ -238,8 +241,11 @@ const en = {
238
241
  "popover.display-relations.label": "Display relations",
239
242
  "preview.panel.title": "Preview",
240
243
  "preview.panel.button": "Open preview",
244
+ "preview.page-title": "{contentType} preview",
245
+ "preview.header.close": "Close preview",
241
246
  "preview.copy.label": "Copy preview link",
242
247
  "preview.copy.success": "Copied preview link",
248
+ "preview.tabs.label": "Preview status",
243
249
  "relation.add": "Add relation",
244
250
  "relation.disconnect": "Remove",
245
251
  "relation.error-adding-relation": "An error occurred while trying to add the relation.",
@@ -288,10 +294,11 @@ const en = {
288
294
  "history.restore.success.title": "Version restored.",
289
295
  "history.restore.success.message": "The content of the restored version is not published yet.",
290
296
  "history.restore.error.message": "Could not restore version.",
291
- "validation.error": "There are validation errors in your document. Please fix them before saving."
297
+ "validation.error": "There are validation errors in your document. Please fix them before saving.",
298
+ "bulk-publish.edit": "Edit"
292
299
  };
293
300
  exports.default = en;
294
301
  exports.groups = groups;
295
302
  exports.models = models;
296
303
  exports.pageNotFound = pageNotFound;
297
- //# sourceMappingURL=en-Bdpa50w3.js.map
304
+ //# sourceMappingURL=en-DTWPCdTS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-Bdpa50w3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en-DTWPCdTS.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,17 @@
1
- import { More, Cross, WarningCircle, ListPlus, Pencil, Trash, Check, CrossCircle, CheckCircle, ArrowsCounterClockwise, ChevronRight, Duplicate, ClockCounterClockwise, Link as Link$1, Feather } from "@strapi/icons";
1
+ import { More, Cross, WarningCircle, ListPlus, Pencil, Trash, Check, CrossCircle, CheckCircle, ArrowsCounterClockwise, ChevronRight, Duplicate, ClockCounterClockwise, Feather } from "@strapi/icons";
2
2
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
3
- import { useStrapiApp, createContext, useQueryParams, useAuth, useRBAC, Page, adminApi, translatedErrors, useNotification, useAPIErrorHandler, getYupValidationErrors, useForm, useTracking, useGuidedTour, BackButton, DescriptionComponentRenderer, useTable, Table, useClipboard } from "@strapi/admin/strapi-admin";
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 { Menu, Button, 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";
10
+ import { styled } from "styled-components";
10
11
  import * as yup from "yup";
11
12
  import { ValidationError } from "yup";
12
13
  import pipe from "lodash/fp/pipe";
13
14
  import { intervalToDuration, isPast } from "date-fns";
14
- import { styled } from "styled-components";
15
15
  import { stringify } from "qs";
16
16
  import { createSlice, combineReducers } from "@reduxjs/toolkit";
17
17
  const __variableDynamicImportRuntimeHelper = (glob, path) => {
@@ -1663,10 +1663,10 @@ const useDocumentActions = () => {
1663
1663
  update
1664
1664
  };
1665
1665
  };
1666
- const ProtectedHistoryPage = lazy(
1667
- () => import("./History-BOhLaq_g.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1666
+ const ProtectedHistoryPage = React.lazy(
1667
+ () => import("./History-Bcj_FGwn.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
1668
1668
  );
1669
- const routes$1 = [
1669
+ const routes$2 = [
1670
1670
  {
1671
1671
  path: ":collectionType/:slug/:id/history",
1672
1672
  Component: ProtectedHistoryPage
@@ -1676,32 +1676,45 @@ const routes$1 = [
1676
1676
  Component: ProtectedHistoryPage
1677
1677
  }
1678
1678
  ];
1679
+ const ProtectedPreviewPage = React.lazy(
1680
+ () => import("./Preview-_n0hyyGd.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
+ ];
1679
1692
  const ProtectedEditViewPage = lazy(
1680
- () => import("./EditViewPage-DAtscabN.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1693
+ () => import("./EditViewPage-5Vpyf6AO.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
1681
1694
  );
1682
1695
  const ProtectedListViewPage = lazy(
1683
- () => import("./ListViewPage-ns-bmy5C.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1696
+ () => import("./ListViewPage-_2xuTV87.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
1684
1697
  );
1685
1698
  const ProtectedListConfiguration = lazy(
1686
- () => import("./ListConfigurationPage-D0vQez6F.mjs").then((mod) => ({
1699
+ () => import("./ListConfigurationPage-D6cBGWEz.mjs").then((mod) => ({
1687
1700
  default: mod.ProtectedListConfiguration
1688
1701
  }))
1689
1702
  );
1690
1703
  const ProtectedEditConfigurationPage = lazy(
1691
- () => import("./EditConfigurationPage-_prbqpTM.mjs").then((mod) => ({
1704
+ () => import("./EditConfigurationPage-CRbOzCGy.mjs").then((mod) => ({
1692
1705
  default: mod.ProtectedEditConfigurationPage
1693
1706
  }))
1694
1707
  );
1695
1708
  const ProtectedComponentConfigurationPage = lazy(
1696
- () => import("./ComponentConfigurationPage-BpM_Hc7r.mjs").then((mod) => ({
1709
+ () => import("./ComponentConfigurationPage-WXfrBq-Q.mjs").then((mod) => ({
1697
1710
  default: mod.ProtectedComponentConfigurationPage
1698
1711
  }))
1699
1712
  );
1700
1713
  const NoPermissions = lazy(
1701
- () => import("./NoPermissionsPage-B0GdMw1Q.mjs").then((mod) => ({ default: mod.NoPermissions }))
1714
+ () => import("./NoPermissionsPage-Bft8fI7p.mjs").then((mod) => ({ default: mod.NoPermissions }))
1702
1715
  );
1703
1716
  const NoContentType = lazy(
1704
- () => import("./NoContentTypePage-BA5ZKMDR.mjs").then((mod) => ({ default: mod.NoContentType }))
1717
+ () => import("./NoContentTypePage-D07aE8fc.mjs").then((mod) => ({ default: mod.NoContentType }))
1705
1718
  );
1706
1719
  const CollectionTypePages = () => {
1707
1720
  const { collectionType } = useParams();
@@ -1713,7 +1726,7 @@ const CollectionTypePages = () => {
1713
1726
  const CLONE_RELATIVE_PATH = ":collectionType/:slug/clone/:origin";
1714
1727
  const CLONE_PATH = `/content-manager/${CLONE_RELATIVE_PATH}`;
1715
1728
  const LIST_RELATIVE_PATH = ":collectionType/:slug";
1716
- const LIST_PATH = `/content-manager/${LIST_RELATIVE_PATH}`;
1729
+ const LIST_PATH = `/content-manager/collection-types/:slug`;
1717
1730
  const routes = [
1718
1731
  {
1719
1732
  path: LIST_RELATIVE_PATH,
@@ -1747,6 +1760,7 @@ const routes = [
1747
1760
  path: "no-content-types",
1748
1761
  Component: NoContentType
1749
1762
  },
1763
+ ...routes$2,
1750
1764
  ...routes$1
1751
1765
  ];
1752
1766
  const DocumentActions = ({ actions: actions2 }) => {
@@ -1845,6 +1859,11 @@ const DocumentActionButton = (action) => {
1845
1859
  ) : null
1846
1860
  ] });
1847
1861
  };
1862
+ const MenuItem = styled(Menu.Item)`
1863
+ &:hover {
1864
+ background: ${({ theme, isVariantDanger, isDisabled }) => isVariantDanger && !isDisabled ? theme.colors.danger100 : "neutral"};
1865
+ }
1866
+ `;
1848
1867
  const DocumentActionsMenu = ({
1849
1868
  actions: actions2,
1850
1869
  children,
@@ -1903,48 +1922,32 @@ const DocumentActionsMenu = ({
1903
1922
  /* @__PURE__ */ jsxs(Menu.Content, { maxHeight: void 0, popoverPlacement: "bottom-end", children: [
1904
1923
  actions2.map((action) => {
1905
1924
  return /* @__PURE__ */ jsx(
1906
- Menu.Item,
1925
+ MenuItem,
1907
1926
  {
1908
1927
  disabled: action.disabled,
1909
1928
  onSelect: handleClick(action),
1910
1929
  display: "block",
1911
- children: /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", gap: 4, children: [
1912
- /* @__PURE__ */ jsxs(
1913
- Flex,
1914
- {
1915
- color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1916
- gap: 2,
1917
- tag: "span",
1918
- children: [
1919
- /* @__PURE__ */ jsx(
1920
- Flex,
1921
- {
1922
- tag: "span",
1923
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1924
- children: action.icon
1925
- }
1926
- ),
1927
- action.label
1928
- ]
1929
- }
1930
- ),
1931
- action.id.startsWith("HistoryAction") && /* @__PURE__ */ jsx(
1932
- Flex,
1933
- {
1934
- alignItems: "center",
1935
- background: "alternative100",
1936
- borderStyle: "solid",
1937
- borderColor: "alternative200",
1938
- borderWidth: "1px",
1939
- height: 5,
1940
- paddingLeft: 2,
1941
- paddingRight: 2,
1942
- hasRadius: true,
1943
- color: "alternative600",
1944
- children: /* @__PURE__ */ jsx(Typography, { variant: "sigma", fontWeight: "bold", lineHeight: 1, children: formatMessage({ id: "global.new", defaultMessage: "New" }) })
1945
- }
1946
- )
1947
- ] })
1930
+ isVariantDanger: action.variant === "danger",
1931
+ isDisabled: action.disabled,
1932
+ children: /* @__PURE__ */ jsx(Flex, { justifyContent: "space-between", gap: 4, children: /* @__PURE__ */ jsxs(
1933
+ Flex,
1934
+ {
1935
+ color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
1936
+ gap: 2,
1937
+ tag: "span",
1938
+ children: [
1939
+ /* @__PURE__ */ jsx(
1940
+ Flex,
1941
+ {
1942
+ tag: "span",
1943
+ color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
1944
+ children: action.icon
1945
+ }
1946
+ ),
1947
+ action.label
1948
+ ]
1949
+ }
1950
+ ) })
1948
1951
  },
1949
1952
  action.id
1950
1953
  );
@@ -2535,7 +2538,7 @@ const RelativeTime = React.forwardRef(
2535
2538
  });
2536
2539
  const unit = intervals.find((intervalUnit) => {
2537
2540
  return interval[intervalUnit] > 0 && Object.keys(interval).includes(intervalUnit);
2538
- });
2541
+ }) ?? "seconds";
2539
2542
  const relativeTime = isPast(timestamp) ? -interval[unit] : interval[unit];
2540
2543
  const customInterval = customIntervals.find(
2541
2544
  (custom) => interval[custom.unit] < custom.threshold
@@ -2569,19 +2572,29 @@ const getDisplayName = ({
2569
2572
  return email ?? "";
2570
2573
  };
2571
2574
  const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2572
- const DocumentStatus = ({ status = "draft", ...restProps }) => {
2575
+ const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
2573
2576
  const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
2574
- return /* @__PURE__ */ jsx(Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
2577
+ const { formatMessage } = useIntl();
2578
+ return /* @__PURE__ */ jsx(Status, { ...restProps, size, variant: statusVariant, children: /* @__PURE__ */ jsx(Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
2579
+ id: `content-manager.containers.List.${status}`,
2580
+ defaultMessage: capitalise(status)
2581
+ }) }) });
2575
2582
  };
2576
2583
  const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2577
2584
  const { formatMessage } = useIntl();
2578
2585
  const isCloning = useMatch(CLONE_PATH) !== null;
2586
+ const params = useParams();
2579
2587
  const title = isCreating ? formatMessage({
2580
2588
  id: "content-manager.containers.edit.title.new",
2581
2589
  defaultMessage: "Create an entry"
2582
2590
  }) : documentTitle;
2583
2591
  return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", paddingTop: 6, paddingBottom: 4, gap: 2, children: [
2584
- /* @__PURE__ */ jsx(BackButton, {}),
2592
+ /* @__PURE__ */ jsx(
2593
+ BackButton,
2594
+ {
2595
+ fallback: params.collectionType === SINGLE_TYPES ? void 0 : `../${COLLECTION_TYPES}/${params.slug}`
2596
+ }
2597
+ ),
2585
2598
  /* @__PURE__ */ jsxs(Flex, { width: "100%", justifyContent: "space-between", gap: "80px", alignItems: "flex-start", children: [
2586
2599
  /* @__PURE__ */ jsx(Typography, { variant: "alpha", tag: "h1", children: title }),
2587
2600
  /* @__PURE__ */ jsx(HeaderToolbar, {})
@@ -3268,18 +3281,10 @@ const SelectedEntriesTableContent = ({
3268
3281
  search: row.locale && `?plugins[i18n][locale]=${row.locale}`
3269
3282
  },
3270
3283
  state: { from: pathname },
3271
- label: formatMessage(
3272
- { id: "app.component.HelperPluginTable.edit", defaultMessage: "Edit {target}" },
3273
- {
3274
- target: formatMessage(
3275
- {
3276
- id: "content-manager.components.ListViewHelperPluginTable.row-line",
3277
- defaultMessage: "item line {number}"
3278
- },
3279
- { number: index2 + 1 }
3280
- )
3281
- }
3282
- ),
3284
+ label: formatMessage({
3285
+ id: "content-manager.bulk-publish.edit",
3286
+ defaultMessage: "Edit"
3287
+ }),
3283
3288
  target: "_blank",
3284
3289
  marginLeft: "auto",
3285
3290
  variant: "ghost",
@@ -3923,17 +3928,27 @@ const HistoryAction = ({ model, document }) => {
3923
3928
  const { formatMessage } = useIntl();
3924
3929
  const [{ query }] = useQueryParams();
3925
3930
  const navigate = useNavigate();
3931
+ const { trackUsage } = useTracking();
3932
+ const { pathname } = useLocation();
3926
3933
  const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
3927
3934
  if (!window.strapi.features.isEnabled("cms-content-history")) {
3928
3935
  return null;
3929
3936
  }
3937
+ const handleOnClick = () => {
3938
+ const destination = { pathname: "history", search: pluginsQueryParams };
3939
+ trackUsage("willNavigate", {
3940
+ from: pathname,
3941
+ to: `${pathname}/${destination.pathname}`
3942
+ });
3943
+ navigate(destination);
3944
+ };
3930
3945
  return {
3931
3946
  icon: /* @__PURE__ */ jsx(ClockCounterClockwise, {}),
3932
3947
  label: formatMessage({
3933
3948
  id: "content-manager.history.document-action",
3934
3949
  defaultMessage: "Content History"
3935
3950
  }),
3936
- onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
3951
+ onClick: handleOnClick,
3937
3952
  disabled: (
3938
3953
  /**
3939
3954
  * The user is creating a new document.
@@ -4019,8 +4034,8 @@ const previewApi = contentManagerApi.injectEndpoints({
4019
4034
  const { useGetPreviewUrlQuery } = previewApi;
4020
4035
  const PreviewSidePanel = ({ model, documentId, document }) => {
4021
4036
  const { formatMessage } = useIntl();
4022
- const { toggleNotification } = useNotification();
4023
- const { copy } = useClipboard();
4037
+ const { trackUsage } = useTracking();
4038
+ const [{ query }] = useQueryParams();
4024
4039
  const { data, error } = useGetPreviewUrlQuery({
4025
4040
  params: {
4026
4041
  contentType: model
@@ -4034,37 +4049,25 @@ const PreviewSidePanel = ({ model, documentId, document }) => {
4034
4049
  if (!data?.data?.url || error) {
4035
4050
  return null;
4036
4051
  }
4037
- const { url } = data.data;
4038
- const handleCopyLink = () => {
4039
- copy(url);
4040
- toggleNotification({
4041
- message: formatMessage({
4042
- id: "content-manager.preview.copy.success",
4043
- defaultMessage: "Copied preview link"
4044
- }),
4045
- type: "success"
4046
- });
4052
+ const handleClick = () => {
4053
+ trackUsage("willOpenPreview");
4047
4054
  };
4048
4055
  return {
4049
4056
  title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
4050
- content: /* @__PURE__ */ jsxs(Flex, { gap: 2, width: "100%", children: [
4051
- /* @__PURE__ */ jsx(Button, { variant: "tertiary", tag: Link, to: url, target: "_blank", flex: "auto", children: formatMessage({
4052
- id: "content-manager.preview.panel.button",
4053
- defaultMessage: "Open preview"
4054
- }) }),
4055
- /* @__PURE__ */ jsx(
4056
- IconButton,
4057
- {
4058
- type: "button",
4059
- label: formatMessage({
4060
- id: "preview.copy.label",
4061
- defaultMessage: "Copy preview link"
4062
- }),
4063
- onClick: handleCopyLink,
4064
- children: /* @__PURE__ */ jsx(Link$1, {})
4065
- }
4066
- )
4067
- ] })
4057
+ content: /* @__PURE__ */ jsx(Flex, { gap: 2, width: "100%", children: /* @__PURE__ */ jsx(
4058
+ Button,
4059
+ {
4060
+ variant: "tertiary",
4061
+ tag: Link,
4062
+ to: { pathname: "preview", search: stringify(query, { encode: false }) },
4063
+ onClick: handleClick,
4064
+ flex: "auto",
4065
+ children: formatMessage({
4066
+ id: "content-manager.preview.panel.button",
4067
+ defaultMessage: "Open preview"
4068
+ })
4069
+ }
4070
+ ) })
4068
4071
  };
4069
4072
  };
4070
4073
  const FEATURE_ID = "preview";
@@ -4096,7 +4099,7 @@ const index = {
4096
4099
  app.router.addRoute({
4097
4100
  path: "content-manager/*",
4098
4101
  lazy: async () => {
4099
- const { Layout } = await import("./layout-CrTxOnCy.mjs");
4102
+ const { Layout } = await import("./layout-D5HneXd1.mjs");
4100
4103
  return {
4101
4104
  Component: Layout
4102
4105
  };
@@ -4116,7 +4119,7 @@ const index = {
4116
4119
  async registerTrads({ locales }) {
4117
4120
  const importedTrads = await Promise.all(
4118
4121
  locales.map((locale) => {
4119
- 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-CZw4xdPY.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 }) => {
4122
+ 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 }) => {
4120
4123
  return {
4121
4124
  data: prefixPluginTranslations(data, PLUGIN_ID),
4122
4125
  locale
@@ -4143,9 +4146,10 @@ export {
4143
4146
  HOOKS as H,
4144
4147
  InjectionZone as I,
4145
4148
  useDocument as J,
4146
- index as K,
4147
- useContentManagerContext as L,
4148
- useDocumentActions as M,
4149
+ useGetPreviewUrlQuery as K,
4150
+ index as L,
4151
+ useContentManagerContext as M,
4152
+ useDocumentActions as N,
4149
4153
  Panels as P,
4150
4154
  RelativeTime as R,
4151
4155
  SINGLE_TYPES as S,
@@ -4177,4 +4181,4 @@ export {
4177
4181
  capitalise as y,
4178
4182
  useUpdateContentTypeConfigurationMutation as z
4179
4183
  };
4180
- //# sourceMappingURL=index-3_WeHXYp.mjs.map
4184
+ //# sourceMappingURL=index-NgJzBbDY.mjs.map