@strapi/content-manager 0.0.0-experimental.3c73a4c6f6073abdf1608121a200c3d4d87b1aa8 → 0.0.0-experimental.3d5794391d4c2d9eddf7bd162c02f4bb836eb7a6

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 (210) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-BZIaEffq.js → ComponentConfigurationPage-Cjr64OS0.js} +4 -4
  3. package/dist/_chunks/{ComponentConfigurationPage-BZIaEffq.js.map → ComponentConfigurationPage-Cjr64OS0.js.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-Cxz51Sve.mjs → ComponentConfigurationPage-DKuCF_uX.mjs} +4 -4
  5. package/dist/_chunks/{ComponentConfigurationPage-Cxz51Sve.mjs.map → ComponentConfigurationPage-DKuCF_uX.mjs.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-CM62NN0L.js → EditConfigurationPage-BeikGxvq.js} +4 -4
  7. package/dist/_chunks/{EditConfigurationPage-CM62NN0L.js.map → EditConfigurationPage-BeikGxvq.js.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-CZLbgfIp.mjs → EditConfigurationPage-CyqSP6ru.mjs} +4 -4
  9. package/dist/_chunks/{EditConfigurationPage-CZLbgfIp.mjs.map → EditConfigurationPage-CyqSP6ru.mjs.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-CzuJgWWp.mjs → EditViewPage-PrPHZN_9.mjs} +102 -51
  11. package/dist/_chunks/EditViewPage-PrPHZN_9.mjs.map +1 -0
  12. package/dist/_chunks/{EditViewPage-CU7724gt.js → EditViewPage-pyqEgLgP.js} +100 -49
  13. package/dist/_chunks/EditViewPage-pyqEgLgP.js.map +1 -0
  14. package/dist/_chunks/{Field-QtUSh5mU.mjs → Field-DuAYQka5.mjs} +600 -228
  15. package/dist/_chunks/Field-DuAYQka5.mjs.map +1 -0
  16. package/dist/_chunks/{Field-Dh1yZyqy.js → Field-fKtb7rWK.js} +602 -230
  17. package/dist/_chunks/Field-fKtb7rWK.js.map +1 -0
  18. package/dist/_chunks/{Form-BOR8NOe1.js → Form-BPXw-S-J.js} +52 -34
  19. package/dist/_chunks/Form-BPXw-S-J.js.map +1 -0
  20. package/dist/_chunks/{Form-COLpvlnv.mjs → Form-Dxh71ckp.mjs} +54 -36
  21. package/dist/_chunks/Form-Dxh71ckp.mjs.map +1 -0
  22. package/dist/_chunks/{History-CW2akQ6h.js → History-BGGn9JGY.js} +171 -126
  23. package/dist/_chunks/History-BGGn9JGY.js.map +1 -0
  24. package/dist/_chunks/{History-Bu53Yfw-.mjs → History-CGblSVMc.mjs} +172 -127
  25. package/dist/_chunks/History-CGblSVMc.mjs.map +1 -0
  26. package/dist/_chunks/{ListConfigurationPage-jzdhEk_u.js → ListConfigurationPage-D3Avyi4t.js} +58 -47
  27. package/dist/_chunks/ListConfigurationPage-D3Avyi4t.js.map +1 -0
  28. package/dist/_chunks/{ListConfigurationPage-TqrmwjPN.mjs → ListConfigurationPage-TIM0JveM.mjs} +59 -49
  29. package/dist/_chunks/ListConfigurationPage-TIM0JveM.mjs.map +1 -0
  30. package/dist/_chunks/{ListViewPage-BO_mOXIl.mjs → ListViewPage-C975eW-t.mjs} +128 -105
  31. package/dist/_chunks/ListViewPage-C975eW-t.mjs.map +1 -0
  32. package/dist/_chunks/{ListViewPage-B3bMOrMv.js → ListViewPage-DtAHWFMV.js} +130 -107
  33. package/dist/_chunks/ListViewPage-DtAHWFMV.js.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-D77xsNHj.js → NoContentTypePage-BFjWZX0i.js} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-D77xsNHj.js.map → NoContentTypePage-BFjWZX0i.js.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-DqB0QV0k.mjs → NoContentTypePage-SgNTVGjF.mjs} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-DqB0QV0k.mjs.map → NoContentTypePage-SgNTVGjF.mjs.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-DTXi042N.mjs → NoPermissionsPage-D4XYRoPf.mjs} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-DTXi042N.mjs.map → NoPermissionsPage-D4XYRoPf.mjs.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-C6qTGogm.js → NoPermissionsPage-j7oulOpl.js} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-C6qTGogm.js.map → NoPermissionsPage-j7oulOpl.js.map} +1 -1
  42. package/dist/_chunks/Preview-Bx1WfmKJ.js +256 -0
  43. package/dist/_chunks/Preview-Bx1WfmKJ.js.map +1 -0
  44. package/dist/_chunks/Preview-Cy6fuAnd.mjs +237 -0
  45. package/dist/_chunks/Preview-Cy6fuAnd.mjs.map +1 -0
  46. package/dist/_chunks/{Relations-B6fb2POW.js → Relations-CXQqwRXC.js} +72 -36
  47. package/dist/_chunks/Relations-CXQqwRXC.js.map +1 -0
  48. package/dist/_chunks/{Relations-CJ4qdkRo.mjs → Relations-DUrYWw0N.mjs} +73 -37
  49. package/dist/_chunks/Relations-DUrYWw0N.mjs.map +1 -0
  50. package/dist/_chunks/{en-9GwRW_ku.mjs → en-69jRDM9j.mjs} +31 -17
  51. package/dist/_chunks/{en-9GwRW_ku.mjs.map → en-69jRDM9j.mjs.map} +1 -1
  52. package/dist/_chunks/{en-DZXjRiWA.js → en-DAgtrRoa.js} +31 -17
  53. package/dist/_chunks/{en-DZXjRiWA.js.map → en-DAgtrRoa.js.map} +1 -1
  54. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  55. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  56. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  57. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  58. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  59. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  60. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  61. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  62. package/dist/_chunks/{index-Dahjdw4h.mjs → index-Ta--2bRa.mjs} +1107 -883
  63. package/dist/_chunks/index-Ta--2bRa.mjs.map +1 -0
  64. package/dist/_chunks/{index-DcUu-_72.js → index-_j7lH3CO.js} +1099 -874
  65. package/dist/_chunks/index-_j7lH3CO.js.map +1 -0
  66. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  67. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  68. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  69. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  70. package/dist/_chunks/{layout-jcY4dyUG.js → layout-BDwU2I_y.js} +25 -12
  71. package/dist/_chunks/layout-BDwU2I_y.js.map +1 -0
  72. package/dist/_chunks/{layout-omucV6TV.mjs → layout-C8H4oKDo.mjs} +27 -14
  73. package/dist/_chunks/layout-C8H4oKDo.mjs.map +1 -0
  74. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  75. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  76. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  77. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  78. package/dist/_chunks/{relations-DGzD7ORa.js → relations-CPfMNzM6.js} +6 -7
  79. package/dist/_chunks/relations-CPfMNzM6.js.map +1 -0
  80. package/dist/_chunks/{relations-CN0-aw6p.mjs → relations-Ch70q86O.mjs} +6 -7
  81. package/dist/_chunks/relations-Ch70q86O.mjs.map +1 -0
  82. package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
  83. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
  84. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
  85. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
  86. package/dist/admin/index.js +2 -1
  87. package/dist/admin/index.js.map +1 -1
  88. package/dist/admin/index.mjs +4 -3
  89. package/dist/admin/src/exports.d.ts +1 -1
  90. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  91. package/dist/admin/src/history/index.d.ts +3 -0
  92. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  93. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  94. package/dist/admin/src/index.d.ts +1 -0
  95. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  96. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
  97. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  98. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  99. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  100. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
  101. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
  102. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +6 -58
  103. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  104. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  105. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  106. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  107. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  108. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  109. package/dist/admin/src/preview/constants.d.ts +1 -0
  110. package/dist/admin/src/preview/index.d.ts +4 -0
  111. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  112. package/dist/admin/src/preview/routes.d.ts +3 -0
  113. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  114. package/dist/admin/src/router.d.ts +1 -1
  115. package/dist/admin/src/services/api.d.ts +1 -1
  116. package/dist/admin/src/services/components.d.ts +2 -2
  117. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  118. package/dist/admin/src/services/documents.d.ts +19 -17
  119. package/dist/admin/src/services/init.d.ts +1 -1
  120. package/dist/admin/src/services/relations.d.ts +2 -2
  121. package/dist/admin/src/services/uid.d.ts +3 -3
  122. package/dist/admin/src/utils/validation.d.ts +4 -1
  123. package/dist/server/index.js +551 -263
  124. package/dist/server/index.js.map +1 -1
  125. package/dist/server/index.mjs +552 -264
  126. package/dist/server/index.mjs.map +1 -1
  127. package/dist/server/src/bootstrap.d.ts.map +1 -1
  128. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  129. package/dist/server/src/controllers/index.d.ts.map +1 -1
  130. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  131. package/dist/server/src/controllers/uid.d.ts.map +1 -1
  132. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  133. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  134. package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
  135. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
  136. package/dist/server/src/history/services/history.d.ts.map +1 -1
  137. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  138. package/dist/server/src/history/services/utils.d.ts +4 -4
  139. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  140. package/dist/server/src/index.d.ts +4 -4
  141. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  142. package/dist/server/src/preview/constants.d.ts +2 -0
  143. package/dist/server/src/preview/constants.d.ts.map +1 -0
  144. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  145. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  146. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  147. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  148. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  149. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  150. package/dist/server/src/preview/index.d.ts +4 -0
  151. package/dist/server/src/preview/index.d.ts.map +1 -0
  152. package/dist/server/src/preview/routes/index.d.ts +8 -0
  153. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  154. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  155. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  156. package/dist/server/src/preview/services/index.d.ts +15 -0
  157. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  158. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  159. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  160. package/dist/server/src/preview/services/preview.d.ts +12 -0
  161. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  162. package/dist/server/src/preview/utils.d.ts +18 -0
  163. package/dist/server/src/preview/utils.d.ts.map +1 -0
  164. package/dist/server/src/routes/index.d.ts.map +1 -1
  165. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  166. package/dist/server/src/services/document-metadata.d.ts +8 -8
  167. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  168. package/dist/server/src/services/index.d.ts +4 -4
  169. package/dist/server/src/services/index.d.ts.map +1 -1
  170. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  171. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  172. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  173. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  174. package/dist/server/src/utils/index.d.ts +2 -0
  175. package/dist/server/src/utils/index.d.ts.map +1 -1
  176. package/dist/shared/contracts/collection-types.d.ts +3 -1
  177. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  178. package/dist/shared/contracts/index.d.ts +1 -0
  179. package/dist/shared/contracts/index.d.ts.map +1 -1
  180. package/dist/shared/contracts/preview.d.ts +27 -0
  181. package/dist/shared/contracts/preview.d.ts.map +1 -0
  182. package/dist/shared/index.js +4 -0
  183. package/dist/shared/index.js.map +1 -1
  184. package/dist/shared/index.mjs +4 -0
  185. package/dist/shared/index.mjs.map +1 -1
  186. package/package.json +14 -14
  187. package/dist/_chunks/EditViewPage-CU7724gt.js.map +0 -1
  188. package/dist/_chunks/EditViewPage-CzuJgWWp.mjs.map +0 -1
  189. package/dist/_chunks/Field-Dh1yZyqy.js.map +0 -1
  190. package/dist/_chunks/Field-QtUSh5mU.mjs.map +0 -1
  191. package/dist/_chunks/Form-BOR8NOe1.js.map +0 -1
  192. package/dist/_chunks/Form-COLpvlnv.mjs.map +0 -1
  193. package/dist/_chunks/History-Bu53Yfw-.mjs.map +0 -1
  194. package/dist/_chunks/History-CW2akQ6h.js.map +0 -1
  195. package/dist/_chunks/ListConfigurationPage-TqrmwjPN.mjs.map +0 -1
  196. package/dist/_chunks/ListConfigurationPage-jzdhEk_u.js.map +0 -1
  197. package/dist/_chunks/ListViewPage-B3bMOrMv.js.map +0 -1
  198. package/dist/_chunks/ListViewPage-BO_mOXIl.mjs.map +0 -1
  199. package/dist/_chunks/Relations-B6fb2POW.js.map +0 -1
  200. package/dist/_chunks/Relations-CJ4qdkRo.mjs.map +0 -1
  201. package/dist/_chunks/index-Dahjdw4h.mjs.map +0 -1
  202. package/dist/_chunks/index-DcUu-_72.js.map +0 -1
  203. package/dist/_chunks/layout-jcY4dyUG.js.map +0 -1
  204. package/dist/_chunks/layout-omucV6TV.mjs.map +0 -1
  205. package/dist/_chunks/relations-CN0-aw6p.mjs.map +0 -1
  206. package/dist/_chunks/relations-DGzD7ORa.js.map +0 -1
  207. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  208. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  209. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
  210. package/strapi-server.js +0 -3
@@ -1,19 +1,19 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { useForm, useStrapiApp, InputRenderer, useField, Form, Layouts, useNotification, useQueryParams, useRBAC, ConfirmDialog, createContext, Page } from "@strapi/admin/strapi-admin";
4
- import { Alert, Link, Flex, Field, Box, Tooltip, Divider, Typography, Grid, GridItem, Button, Portal, FocusTrap, Main } from "@strapi/design-system";
4
+ import { Alert, Link, Flex, Field, Box, Tooltip, Typography, Divider, Grid, Dialog, Button, Portal, FocusTrap, Main } from "@strapi/design-system";
5
5
  import { stringify } from "qs";
6
6
  import { useIntl } from "react-intl";
7
7
  import { NavLink, useNavigate, useParams, Link as Link$1, Navigate } from "react-router-dom";
8
- import { c as useDoc, f as useDocumentRBAC, n as useDocLayout, C as COLLECTION_TYPES, D as DocumentStatus, e as contentManagerApi, k as PERMISSIONS, t as getDisplayName, R as RelativeTime, l as DocumentRBAC, J as useDocument, h as useDocumentLayout, o as useGetContentTypeConfigurationQuery, d as buildValidParams } from "./index-Dahjdw4h.mjs";
8
+ import { c as useDoc, f as useDocumentRBAC, o as useDocLayout, C as COLLECTION_TYPES, D as DocumentStatus, e as contentManagerApi, k as PERMISSIONS, t as getDisplayName, R as RelativeTime, l as DocumentRBAC, J as useDocument, h as useDocumentLayout, p as useGetContentTypeConfigurationQuery, d as buildValidParams } from "./index-Ta--2bRa.mjs";
9
9
  import pipe from "lodash/fp/pipe";
10
10
  import { u as useTypedSelector } from "./hooks-E5u1mcgM.mjs";
11
- import { a as useDynamicZone, u as useLazyComponents, b as useFieldHint, N as NotAllowedInput, d as MemoizedUIDInput, e as MemoizedWysiwyg, D as DynamicZone, f as MemoizedComponentInput, g as MemoizedBlocksInput, r as removeFieldsThatDontExistOnSchema, p as prepareTempKeys } from "./Field-QtUSh5mU.mjs";
11
+ import { a as useDynamicZone, u as useLazyComponents, b as useFieldHint, N as NotAllowedInput, d as MemoizedUIDInput, e as MemoizedWysiwyg, D as DynamicZone, f as MemoizedComponentInput, g as MemoizedBlocksInput, r as removeFieldsThatDontExistOnSchema, p as prepareTempKeys } from "./Field-DuAYQka5.mjs";
12
12
  import { ArrowLeft, WarningCircle } from "@strapi/icons";
13
13
  import { styled } from "styled-components";
14
- import { g as getRelationLabel } from "./relations-CN0-aw6p.mjs";
14
+ import { g as getRelationLabel } from "./relations-Ch70q86O.mjs";
15
15
  const StyledAlert = styled(Alert).attrs({ closeLabel: "Close", onClose: () => {
16
- } })`
16
+ }, shadow: "none" })`
17
17
  button {
18
18
  display: none;
19
19
  }
@@ -31,13 +31,13 @@ const LinkEllipsis = styled(Link)`
31
31
  const CustomRelationInput = (props) => {
32
32
  const { formatMessage } = useIntl();
33
33
  const field = useField(props.name);
34
- const formattedFieldValue = Array.isArray(field.value) ? {
35
- results: field.value,
36
- meta: { missingCount: 0 }
37
- } : field.value;
34
+ let formattedFieldValue;
35
+ if (field) {
36
+ formattedFieldValue = Array.isArray(field.value) ? { results: field.value, meta: { missingCount: 0 } } : field.value;
37
+ }
38
38
  if (!formattedFieldValue || formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0) {
39
39
  return /* @__PURE__ */ jsxs(Fragment, { children: [
40
- /* @__PURE__ */ jsx(Field.Label, { children: props.label }),
40
+ /* @__PURE__ */ jsx(Field.Label, { action: props.labelAction, children: props.label }),
41
41
  /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(StyledAlert, { variant: "default", children: formatMessage({
42
42
  id: "content-manager.history.content.no-relations",
43
43
  defaultMessage: "No relations."
@@ -48,8 +48,10 @@ const CustomRelationInput = (props) => {
48
48
  return /* @__PURE__ */ jsxs(Box, { children: [
49
49
  /* @__PURE__ */ jsx(Field.Label, { children: props.label }),
50
50
  results.length > 0 && /* @__PURE__ */ jsx(Flex, { direction: "column", gap: 2, marginTop: 1, alignItems: "stretch", children: results.map((relationData) => {
51
- const href = `../${COLLECTION_TYPES}/${props.attribute.targetModel}/${relationData.documentId}`;
51
+ const { targetModel } = props.attribute;
52
+ const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;
52
53
  const label = getRelationLabel(relationData, props.mainField);
54
+ const isAdminUserRelation = targetModel === "admin::user";
53
55
  return /* @__PURE__ */ jsxs(
54
56
  Flex,
55
57
  {
@@ -62,11 +64,11 @@ const CustomRelationInput = (props) => {
62
64
  background: "neutral150",
63
65
  justifyContent: "space-between",
64
66
  children: [
65
- /* @__PURE__ */ jsx(Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsx(Tooltip, { description: label, children: /* @__PURE__ */ jsx(LinkEllipsis, { tag: NavLink, to: href, children: label }) }) }),
67
+ /* @__PURE__ */ jsx(Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsx(Tooltip, { label, children: isAdminUserRelation ? /* @__PURE__ */ jsx(Typography, { children: label }) : /* @__PURE__ */ jsx(LinkEllipsis, { tag: NavLink, to: href, children: label }) }) }),
66
68
  /* @__PURE__ */ jsx(DocumentStatus, { status: relationData.status })
67
69
  ]
68
70
  },
69
- relationData.documentId
71
+ relationData.documentId ?? relationData.id
70
72
  );
71
73
  }) }),
72
74
  meta.missingCount > 0 && /* @ts-expect-error – we dont need closeLabel */
@@ -94,9 +96,9 @@ const CustomRelationInput = (props) => {
94
96
  ] });
95
97
  };
96
98
  const CustomMediaInput = (props) => {
97
- const {
98
- value: { results, meta }
99
- } = useField(props.name);
99
+ const { value } = useField(props.name);
100
+ const results = value ? value.results : [];
101
+ const meta = value ? value.meta : { missingCount: 0 };
100
102
  const { formatMessage } = useIntl();
101
103
  const fields = useStrapiApp("CustomMediaInput", (state) => state.fields);
102
104
  const MediaLibrary = fields.media;
@@ -127,12 +129,39 @@ const CustomMediaInput = (props) => {
127
129
  )
128
130
  ] });
129
131
  };
132
+ const getLabelAction = (labelAction) => {
133
+ if (!React.isValidElement(labelAction)) {
134
+ return labelAction;
135
+ }
136
+ const labelActionTitleId = labelAction.props.title.id;
137
+ if (labelActionTitleId === "i18n.Field.localized") {
138
+ return React.cloneElement(labelAction, {
139
+ ...labelAction.props,
140
+ title: {
141
+ id: "history.content.localized",
142
+ defaultMessage: "This value is specific to this locale. If you restore this version, the content will not be replaced for other locales."
143
+ }
144
+ });
145
+ }
146
+ if (labelActionTitleId === "i18n.Field.not-localized") {
147
+ return React.cloneElement(labelAction, {
148
+ ...labelAction.props,
149
+ title: {
150
+ id: "history.content.not-localized",
151
+ defaultMessage: "This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales."
152
+ }
153
+ });
154
+ }
155
+ return labelAction;
156
+ };
130
157
  const VersionInputRenderer = ({
131
158
  visible,
132
159
  hint: providedHint,
133
160
  shouldIgnoreRBAC = false,
161
+ labelAction,
134
162
  ...props
135
163
  }) => {
164
+ const customLabelAction = getLabelAction(labelAction);
136
165
  const { formatMessage } = useIntl();
137
166
  const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
138
167
  const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
@@ -190,25 +219,42 @@ const VersionInputRenderer = ({
190
219
  if (attributeHasCustomFieldProperty(props.attribute)) {
191
220
  const CustomInput = lazyComponentStore[props.attribute.customField];
192
221
  if (CustomInput) {
193
- return /* @__PURE__ */ jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
222
+ return /* @__PURE__ */ jsx(
223
+ CustomInput,
224
+ {
225
+ ...props,
226
+ hint,
227
+ labelAction: customLabelAction,
228
+ disabled: fieldIsDisabled
229
+ }
230
+ );
194
231
  }
195
232
  return /* @__PURE__ */ jsx(
196
233
  InputRenderer,
197
234
  {
198
235
  ...props,
199
236
  hint,
237
+ labelAction: customLabelAction,
200
238
  type: props.attribute.customField,
201
239
  disabled: fieldIsDisabled
202
240
  }
203
241
  );
204
242
  }
205
243
  if (props.type === "media") {
206
- return /* @__PURE__ */ jsx(CustomMediaInput, { ...props, disabled: fieldIsDisabled });
244
+ return /* @__PURE__ */ jsx(CustomMediaInput, { ...props, labelAction: customLabelAction, disabled: fieldIsDisabled });
207
245
  }
208
246
  const addedInputTypes = Object.keys(fields);
209
247
  if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {
210
248
  const CustomInput = fields[props.type];
211
- return /* @__PURE__ */ jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
249
+ return /* @__PURE__ */ jsx(
250
+ CustomInput,
251
+ {
252
+ ...props,
253
+ hint,
254
+ labelAction: customLabelAction,
255
+ disabled: fieldIsDisabled
256
+ }
257
+ );
212
258
  }
213
259
  switch (props.type) {
214
260
  case "blocks":
@@ -227,24 +273,60 @@ const VersionInputRenderer = ({
227
273
  ...props,
228
274
  layout: [...layout, ...remainingFieldsLayout || []],
229
275
  hint,
276
+ labelAction: customLabelAction,
230
277
  disabled: fieldIsDisabled,
231
278
  children: (inputProps) => /* @__PURE__ */ jsx(VersionInputRenderer, { ...inputProps, shouldIgnoreRBAC: true })
232
279
  }
233
280
  );
234
281
  case "dynamiczone":
235
- return /* @__PURE__ */ jsx(DynamicZone, { ...props, hint, disabled: fieldIsDisabled });
282
+ return /* @__PURE__ */ jsx(
283
+ DynamicZone,
284
+ {
285
+ ...props,
286
+ hint,
287
+ labelAction: customLabelAction,
288
+ disabled: fieldIsDisabled
289
+ }
290
+ );
236
291
  case "relation":
237
- return /* @__PURE__ */ jsx(CustomRelationInput, { ...props, hint, disabled: fieldIsDisabled });
292
+ return /* @__PURE__ */ jsx(
293
+ CustomRelationInput,
294
+ {
295
+ ...props,
296
+ hint,
297
+ labelAction: customLabelAction,
298
+ disabled: fieldIsDisabled
299
+ }
300
+ );
238
301
  case "richtext":
239
- return /* @__PURE__ */ jsx(MemoizedWysiwyg, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
302
+ return /* @__PURE__ */ jsx(
303
+ MemoizedWysiwyg,
304
+ {
305
+ ...props,
306
+ hint,
307
+ type: props.type,
308
+ labelAction: customLabelAction,
309
+ disabled: fieldIsDisabled
310
+ }
311
+ );
240
312
  case "uid":
241
- return /* @__PURE__ */ jsx(MemoizedUIDInput, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
313
+ return /* @__PURE__ */ jsx(
314
+ MemoizedUIDInput,
315
+ {
316
+ ...props,
317
+ hint,
318
+ type: props.type,
319
+ labelAction: customLabelAction,
320
+ disabled: fieldIsDisabled
321
+ }
322
+ );
242
323
  case "enumeration":
243
324
  return /* @__PURE__ */ jsx(
244
325
  InputRenderer,
245
326
  {
246
327
  ...props,
247
328
  hint,
329
+ labelAction: customLabelAction,
248
330
  options: props.attribute.enum.map((value) => ({ value })),
249
331
  type: props.customField ? "custom-field" : props.type,
250
332
  disabled: fieldIsDisabled
@@ -257,6 +339,7 @@ const VersionInputRenderer = ({
257
339
  {
258
340
  ...restProps,
259
341
  hint,
342
+ labelAction: customLabelAction,
260
343
  type: props.customField ? "custom-field" : props.type,
261
344
  disabled: fieldIsDisabled
262
345
  }
@@ -310,7 +393,7 @@ const FormPanel = ({ panel }) => {
310
393
  if (panel.some((row) => row.some((field) => field.type === "dynamiczone"))) {
311
394
  const [row] = panel;
312
395
  const [field] = row;
313
- return /* @__PURE__ */ jsx(Grid, { gap: 4, children: /* @__PURE__ */ jsx(GridItem, { col: 12, s: 12, xs: 12, children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field }) }) }, field.name);
396
+ return /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: /* @__PURE__ */ jsx(Grid.Item, { col: 12, s: 12, xs: 12, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field }) }) }, field.name);
314
397
  }
315
398
  return /* @__PURE__ */ jsx(
316
399
  Box,
@@ -323,8 +406,19 @@ const FormPanel = ({ panel }) => {
323
406
  paddingTop: 6,
324
407
  paddingBottom: 6,
325
408
  borderColor: "neutral150",
326
- children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid, { gap: 4, children: row.map(({ size, ...field }) => {
327
- return /* @__PURE__ */ jsx(GridItem, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field }) }, field.name);
409
+ children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
410
+ return /* @__PURE__ */ jsx(
411
+ Grid.Item,
412
+ {
413
+ col: size,
414
+ s: 12,
415
+ xs: 12,
416
+ direction: "column",
417
+ alignItems: "stretch",
418
+ children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field })
419
+ },
420
+ field.name
421
+ );
328
422
  }) }, gridRowIndex)) })
329
423
  }
330
424
  );
@@ -454,14 +548,8 @@ const VersionHeader = ({ headerId }) => {
454
548
  const mainFieldValue = version.data[mainField];
455
549
  const getNextNavigation = () => {
456
550
  const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
457
- if (collectionType === COLLECTION_TYPES) {
458
- return {
459
- pathname: `/content-manager/${collectionType}/${version.contentType}/${version.relatedDocumentId}`,
460
- search: pluginsQueryParams
461
- };
462
- }
463
551
  return {
464
- pathname: `/content-manager/${collectionType}/${version.contentType}`,
552
+ pathname: "..",
465
553
  search: pluginsQueryParams
466
554
  };
467
555
  };
@@ -477,7 +565,7 @@ const VersionHeader = ({ headerId }) => {
477
565
  body: { contentType: version.contentType }
478
566
  });
479
567
  if ("data" in response) {
480
- navigate(getNextNavigation());
568
+ navigate(getNextNavigation(), { relative: "path" });
481
569
  toggleNotification({
482
570
  type: "success",
483
571
  title: formatMessage({
@@ -506,7 +594,7 @@ const VersionHeader = ({ headerId }) => {
506
594
  });
507
595
  }
508
596
  };
509
- return /* @__PURE__ */ jsxs(Fragment, { children: [
597
+ return /* @__PURE__ */ jsxs(Dialog.Root, { open: isConfirmDialogOpen, onOpenChange: setIsConfirmDialogOpen, children: [
510
598
  /* @__PURE__ */ jsx(
511
599
  Layouts.BaseHeader,
512
600
  {
@@ -518,7 +606,7 @@ const VersionHeader = ({ headerId }) => {
518
606
  hour: "numeric",
519
607
  minute: "numeric"
520
608
  }),
521
- subtitle: /* @__PURE__ */ jsx(Typography, { variant: "epsilon", children: formatMessage(
609
+ subtitle: /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage(
522
610
  {
523
611
  id: "content-manager.history.version.subtitle",
524
612
  defaultMessage: "{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}"
@@ -529,12 +617,22 @@ const VersionHeader = ({ headerId }) => {
529
617
  locale: version.locale?.name
530
618
  }
531
619
  ) }),
532
- navigationAction: /* @__PURE__ */ jsx(Link, { startIcon: /* @__PURE__ */ jsx(ArrowLeft, {}), tag: NavLink, to: getNextNavigation(), isExternal: false, children: formatMessage({
533
- id: "global.back",
534
- defaultMessage: "Back"
535
- }) }),
620
+ navigationAction: /* @__PURE__ */ jsx(
621
+ Link,
622
+ {
623
+ startIcon: /* @__PURE__ */ jsx(ArrowLeft, {}),
624
+ tag: NavLink,
625
+ to: getNextNavigation(),
626
+ relative: "path",
627
+ isExternal: false,
628
+ children: formatMessage({
629
+ id: "global.back",
630
+ defaultMessage: "Back"
631
+ })
632
+ }
633
+ ),
536
634
  sticky: false,
537
- primaryAction: /* @__PURE__ */ jsx(
635
+ primaryAction: /* @__PURE__ */ jsx(Dialog.Trigger, { children: /* @__PURE__ */ jsx(
538
636
  Button,
539
637
  {
540
638
  disabled: !allowedActions.canUpdate || isCurrentVersion,
@@ -546,16 +644,13 @@ const VersionHeader = ({ headerId }) => {
546
644
  defaultMessage: "Restore"
547
645
  })
548
646
  }
549
- )
647
+ ) })
550
648
  }
551
649
  ),
552
650
  /* @__PURE__ */ jsx(
553
651
  ConfirmDialog,
554
652
  {
555
- isOpen: isConfirmDialogOpen,
556
- onClose: () => setIsConfirmDialogOpen(false),
557
653
  onConfirm: handleRestore,
558
- icon: /* @__PURE__ */ jsx(WarningCircle, {}),
559
654
  endAction: /* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: handleRestore, loading: isLoading, children: formatMessage({
560
655
  id: "content-manager.history.restore.confirm.button",
561
656
  defaultMessage: "Restore"
@@ -569,6 +664,7 @@ const VersionHeader = ({ headerId }) => {
569
664
  gap: 2,
570
665
  textAlign: "center",
571
666
  children: [
667
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(WarningCircle, { width: "24px", height: "24px", fill: "danger600" }) }),
572
668
  /* @__PURE__ */ jsx(Typography, { children: formatMessage({
573
669
  id: "content-manager.history.restore.confirm.title",
574
670
  defaultMessage: "Are you sure you want to restore this version?"
@@ -589,46 +685,10 @@ const VersionHeader = ({ headerId }) => {
589
685
  )
590
686
  ] });
591
687
  };
592
- const BlueText = (children) => /* @__PURE__ */ jsx(Typography, { textColor: "primary600", children });
688
+ const BlueText = (children) => /* @__PURE__ */ jsx(Typography, { textColor: "primary600", variant: "pi", children });
593
689
  const VersionCard = ({ version, isCurrent }) => {
594
690
  const { formatDate, formatMessage } = useIntl();
595
691
  const [{ query }] = useQueryParams();
596
- const statusData = (() => {
597
- switch (version.status) {
598
- case "draft":
599
- return {
600
- background: "secondary100",
601
- border: "secondary200",
602
- text: "secondary700",
603
- message: {
604
- id: "content-manager.containers.List.draft",
605
- defaultMessage: "Draft"
606
- }
607
- };
608
- case "modified":
609
- return {
610
- background: "alternative100",
611
- border: "alternative200",
612
- text: "alternative700",
613
- message: {
614
- // TODO: check the translation key once D&P v5 is done
615
- id: "content-manager.containers.List.modified",
616
- defaultMessage: "Modified"
617
- }
618
- };
619
- case "published":
620
- default:
621
- return {
622
- background: "success100",
623
- border: "success200",
624
- text: "success700",
625
- message: {
626
- id: "content-manager.containers.List.published",
627
- defaultMessage: "Published"
628
- }
629
- };
630
- }
631
- })();
632
692
  const isActive = query.id === version.id.toString();
633
693
  const author = version.createdBy && getDisplayName(version.createdBy);
634
694
  return /* @__PURE__ */ jsxs(
@@ -642,10 +702,7 @@ const VersionCard = ({ version, isCurrent }) => {
642
702
  borderStyle: "solid",
643
703
  borderColor: isActive ? "primary600" : "neutral200",
644
704
  color: "neutral800",
645
- paddingTop: 4,
646
- paddingBottom: 4,
647
- paddingLeft: 5,
648
- paddingRight: 5,
705
+ padding: 5,
649
706
  tag: Link$1,
650
707
  to: `?${stringify({ ...query, id: version.id })}`,
651
708
  style: { textDecoration: "none" },
@@ -672,21 +729,7 @@ const VersionCard = ({ version, isCurrent }) => {
672
729
  }
673
730
  ) })
674
731
  ] }),
675
- version.status && /* @__PURE__ */ jsx(
676
- Box,
677
- {
678
- background: statusData.background,
679
- borderStyle: "solid",
680
- borderWidth: "1px",
681
- borderColor: statusData.border,
682
- hasRadius: true,
683
- paddingLeft: "6px",
684
- paddingRight: "6px",
685
- paddingTop: "2px",
686
- paddingBottom: "2px",
687
- children: /* @__PURE__ */ jsx(Typography, { variant: "pi", fontWeight: "bold", textColor: statusData.text, children: formatMessage(statusData.message) })
688
- }
689
- )
732
+ version.status && /* @__PURE__ */ jsx(DocumentStatus, { status: version.status, size: "XS" })
690
733
  ]
691
734
  }
692
735
  );
@@ -740,31 +783,18 @@ const VersionsList = () => {
740
783
  id: "content-manager.history.sidebar.show-newer",
741
784
  defaultMessage: "Show newer versions"
742
785
  }) }) }),
743
- /* @__PURE__ */ jsx(
744
- Flex,
786
+ /* @__PURE__ */ jsx(Flex, { direction: "column", gap: 3, padding: 4, tag: "ul", alignItems: "stretch", children: versions.data.map((version, index) => /* @__PURE__ */ jsx(
787
+ "li",
745
788
  {
746
- direction: "column",
747
- gap: 3,
748
- paddingTop: 5,
749
- paddingBottom: 5,
750
- paddingLeft: 4,
751
- paddingRight: 4,
752
- tag: "ul",
753
- alignItems: "stretch",
754
- children: versions.data.map((version, index) => /* @__PURE__ */ jsx(
755
- "li",
756
- {
757
- "aria-label": formatMessage({
758
- id: "content-manager.history.sidebar.title.version-card.aria-label",
759
- defaultMessage: "Version card"
760
- }),
761
- children: /* @__PURE__ */ jsx(VersionCard, { version, isCurrent: page === 1 && index === 0 })
762
- },
763
- version.id
764
- ))
765
- }
766
- ),
767
- versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsx(Box, { paddingBottom: 5, textAlign: "center", children: /* @__PURE__ */ jsx(PaginationButton, { page: page + 1, children: formatMessage({
789
+ "aria-label": formatMessage({
790
+ id: "content-manager.history.sidebar.title.version-card.aria-label",
791
+ defaultMessage: "Version card"
792
+ }),
793
+ children: /* @__PURE__ */ jsx(VersionCard, { version, isCurrent: page === 1 && index === 0 })
794
+ },
795
+ version.id
796
+ )) }),
797
+ versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsx(Box, { paddingBottom: 4, textAlign: "center", children: /* @__PURE__ */ jsx(PaginationButton, { page: page + 1, children: formatMessage({
768
798
  id: "content-manager.history.sidebar.show-older",
769
799
  defaultMessage: "Show older versions"
770
800
  }) }) })
@@ -816,7 +846,22 @@ const HistoryPage = () => {
816
846
  return /* @__PURE__ */ jsx(Page.Loading, {});
817
847
  }
818
848
  if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {
819
- return /* @__PURE__ */ jsx(Page.NoData, {});
849
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
850
+ Page.NoData,
851
+ {
852
+ action: /* @__PURE__ */ jsx(
853
+ Link,
854
+ {
855
+ tag: NavLink,
856
+ to: `/content-manager/${collectionType}/${slug}${documentId ? `/${documentId}` : ""}`,
857
+ children: formatMessage({
858
+ id: "global.back",
859
+ defaultMessage: "Back"
860
+ })
861
+ }
862
+ )
863
+ }
864
+ ) });
820
865
  }
821
866
  if (versionsResponse.data?.data?.length && !selectedVersionId) {
822
867
  return /* @__PURE__ */ jsx(
@@ -925,4 +970,4 @@ export {
925
970
  ProtectedHistoryPage,
926
971
  useHistoryContext
927
972
  };
928
- //# sourceMappingURL=History-Bu53Yfw-.mjs.map
973
+ //# sourceMappingURL=History-CGblSVMc.mjs.map