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

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 (199) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-Cxz51Sve.mjs → ComponentConfigurationPage-BpM_Hc7r.mjs} +4 -4
  3. package/dist/_chunks/{ComponentConfigurationPage-Cxz51Sve.mjs.map → ComponentConfigurationPage-BpM_Hc7r.mjs.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-BZIaEffq.js → ComponentConfigurationPage-CL9CAMaL.js} +4 -4
  5. package/dist/_chunks/{ComponentConfigurationPage-BZIaEffq.js.map → ComponentConfigurationPage-CL9CAMaL.js.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-CM62NN0L.js → EditConfigurationPage-ILWo0h1e.js} +4 -4
  7. package/dist/_chunks/{EditConfigurationPage-CM62NN0L.js.map → EditConfigurationPage-ILWo0h1e.js.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-CZLbgfIp.mjs → EditConfigurationPage-_prbqpTM.mjs} +4 -4
  9. package/dist/_chunks/{EditConfigurationPage-CZLbgfIp.mjs.map → EditConfigurationPage-_prbqpTM.mjs.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-CU7724gt.js → EditViewPage-BqZvBN4s.js} +68 -47
  11. package/dist/_chunks/EditViewPage-BqZvBN4s.js.map +1 -0
  12. package/dist/_chunks/{EditViewPage-CzuJgWWp.mjs → EditViewPage-DAtscabN.mjs} +69 -48
  13. package/dist/_chunks/EditViewPage-DAtscabN.mjs.map +1 -0
  14. package/dist/_chunks/{Field-Dh1yZyqy.js → Field-CcoQiiz1.js} +582 -230
  15. package/dist/_chunks/Field-CcoQiiz1.js.map +1 -0
  16. package/dist/_chunks/{Field-QtUSh5mU.mjs → Field-D-mgn1tH.mjs} +580 -228
  17. package/dist/_chunks/Field-D-mgn1tH.mjs.map +1 -0
  18. package/dist/_chunks/{Form-COLpvlnv.mjs → Form-BxyeWiXW.mjs} +54 -36
  19. package/dist/_chunks/Form-BxyeWiXW.mjs.map +1 -0
  20. package/dist/_chunks/{Form-BOR8NOe1.js → Form-CmLbZDfi.js} +52 -34
  21. package/dist/_chunks/Form-CmLbZDfi.js.map +1 -0
  22. package/dist/_chunks/{History-Bu53Yfw-.mjs → History-BOhLaq_g.mjs} +172 -71
  23. package/dist/_chunks/History-BOhLaq_g.mjs.map +1 -0
  24. package/dist/_chunks/{History-CW2akQ6h.js → History-uECUbCZB.js} +171 -70
  25. package/dist/_chunks/History-uECUbCZB.js.map +1 -0
  26. package/dist/_chunks/{ListConfigurationPage-TqrmwjPN.mjs → ListConfigurationPage-D0vQez6F.mjs} +59 -49
  27. package/dist/_chunks/ListConfigurationPage-D0vQez6F.mjs.map +1 -0
  28. package/dist/_chunks/{ListConfigurationPage-jzdhEk_u.js → ListConfigurationPage-D_bBSFNW.js} +58 -47
  29. package/dist/_chunks/ListConfigurationPage-D_bBSFNW.js.map +1 -0
  30. package/dist/_chunks/{ListViewPage-B3bMOrMv.js → ListViewPage-BkZ83b1A.js} +117 -105
  31. package/dist/_chunks/ListViewPage-BkZ83b1A.js.map +1 -0
  32. package/dist/_chunks/{ListViewPage-BO_mOXIl.mjs → ListViewPage-ns-bmy5C.mjs} +115 -103
  33. package/dist/_chunks/ListViewPage-ns-bmy5C.mjs.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-DqB0QV0k.mjs → NoContentTypePage-BA5ZKMDR.mjs} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-DqB0QV0k.mjs.map → NoContentTypePage-BA5ZKMDR.mjs.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-D77xsNHj.js → NoContentTypePage-C1439s4s.js} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-D77xsNHj.js.map → NoContentTypePage-C1439s4s.js.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-DTXi042N.mjs → NoPermissionsPage-B0GdMw1Q.mjs} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-DTXi042N.mjs.map → NoPermissionsPage-B0GdMw1Q.mjs.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-C6qTGogm.js → NoPermissionsPage-CPGwsVfb.js} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-C6qTGogm.js.map → NoPermissionsPage-CPGwsVfb.js.map} +1 -1
  42. package/dist/_chunks/{Relations-CJ4qdkRo.mjs → Relations-BIGPMSW4.mjs} +73 -37
  43. package/dist/_chunks/Relations-BIGPMSW4.mjs.map +1 -0
  44. package/dist/_chunks/{Relations-B6fb2POW.js → Relations-d-8Uef_-.js} +72 -36
  45. package/dist/_chunks/Relations-d-8Uef_-.js.map +1 -0
  46. package/dist/_chunks/{en-DZXjRiWA.js → en-Bdpa50w3.js} +24 -16
  47. package/dist/_chunks/{en-DZXjRiWA.js.map → en-Bdpa50w3.js.map} +1 -1
  48. package/dist/_chunks/{en-9GwRW_ku.mjs → en-CZw4xdPY.mjs} +24 -16
  49. package/dist/_chunks/{en-9GwRW_ku.mjs.map → en-CZw4xdPY.mjs.map} +1 -1
  50. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  51. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  52. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  53. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  54. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  55. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  56. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  57. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  58. package/dist/_chunks/{index-Dahjdw4h.mjs → index-3_WeHXYp.mjs} +1090 -847
  59. package/dist/_chunks/index-3_WeHXYp.mjs.map +1 -0
  60. package/dist/_chunks/{index-DcUu-_72.js → index-BgaeYWIy.js} +1081 -837
  61. package/dist/_chunks/index-BgaeYWIy.js.map +1 -0
  62. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  63. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  64. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  65. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  66. package/dist/_chunks/{layout-jcY4dyUG.js → layout-ByFyQRDH.js} +25 -12
  67. package/dist/_chunks/layout-ByFyQRDH.js.map +1 -0
  68. package/dist/_chunks/{layout-omucV6TV.mjs → layout-CrTxOnCy.mjs} +27 -14
  69. package/dist/_chunks/layout-CrTxOnCy.mjs.map +1 -0
  70. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  71. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  72. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  73. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  74. package/dist/_chunks/{relations-CN0-aw6p.mjs → relations-BlpLgngh.mjs} +3 -7
  75. package/dist/_chunks/relations-BlpLgngh.mjs.map +1 -0
  76. package/dist/_chunks/{relations-DGzD7ORa.js → relations-C5RSW926.js} +3 -7
  77. package/dist/_chunks/relations-C5RSW926.js.map +1 -0
  78. package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
  79. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
  80. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
  81. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
  82. package/dist/admin/index.js +2 -1
  83. package/dist/admin/index.js.map +1 -1
  84. package/dist/admin/index.mjs +3 -2
  85. package/dist/admin/src/exports.d.ts +1 -1
  86. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  87. package/dist/admin/src/history/index.d.ts +3 -0
  88. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  89. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  90. package/dist/admin/src/index.d.ts +1 -0
  91. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
  92. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  93. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  94. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
  95. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
  96. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +6 -58
  97. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  98. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  99. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  100. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  101. package/dist/admin/src/preview/constants.d.ts +1 -0
  102. package/dist/admin/src/preview/index.d.ts +4 -0
  103. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  104. package/dist/admin/src/services/api.d.ts +1 -1
  105. package/dist/admin/src/services/components.d.ts +2 -2
  106. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  107. package/dist/admin/src/services/documents.d.ts +19 -17
  108. package/dist/admin/src/services/init.d.ts +1 -1
  109. package/dist/admin/src/services/relations.d.ts +2 -2
  110. package/dist/admin/src/services/uid.d.ts +3 -3
  111. package/dist/admin/src/utils/validation.d.ts +4 -1
  112. package/dist/server/index.js +551 -263
  113. package/dist/server/index.js.map +1 -1
  114. package/dist/server/index.mjs +552 -264
  115. package/dist/server/index.mjs.map +1 -1
  116. package/dist/server/src/bootstrap.d.ts.map +1 -1
  117. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  118. package/dist/server/src/controllers/index.d.ts.map +1 -1
  119. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  120. package/dist/server/src/controllers/uid.d.ts.map +1 -1
  121. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  122. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  123. package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
  124. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
  125. package/dist/server/src/history/services/history.d.ts.map +1 -1
  126. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  127. package/dist/server/src/history/services/utils.d.ts +4 -4
  128. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  129. package/dist/server/src/index.d.ts +4 -4
  130. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  131. package/dist/server/src/preview/constants.d.ts +2 -0
  132. package/dist/server/src/preview/constants.d.ts.map +1 -0
  133. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  134. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  135. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  136. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  137. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  138. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  139. package/dist/server/src/preview/index.d.ts +4 -0
  140. package/dist/server/src/preview/index.d.ts.map +1 -0
  141. package/dist/server/src/preview/routes/index.d.ts +8 -0
  142. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  143. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  144. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  145. package/dist/server/src/preview/services/index.d.ts +15 -0
  146. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  147. package/dist/server/src/preview/services/preview-config.d.ts +30 -0
  148. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  149. package/dist/server/src/preview/services/preview.d.ts +12 -0
  150. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  151. package/dist/server/src/preview/utils.d.ts +18 -0
  152. package/dist/server/src/preview/utils.d.ts.map +1 -0
  153. package/dist/server/src/routes/index.d.ts.map +1 -1
  154. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  155. package/dist/server/src/services/document-metadata.d.ts +8 -8
  156. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  157. package/dist/server/src/services/index.d.ts +4 -4
  158. package/dist/server/src/services/index.d.ts.map +1 -1
  159. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  160. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  161. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  162. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  163. package/dist/server/src/utils/index.d.ts +2 -0
  164. package/dist/server/src/utils/index.d.ts.map +1 -1
  165. package/dist/shared/contracts/collection-types.d.ts +3 -1
  166. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  167. package/dist/shared/contracts/index.d.ts +1 -0
  168. package/dist/shared/contracts/index.d.ts.map +1 -1
  169. package/dist/shared/contracts/preview.d.ts +27 -0
  170. package/dist/shared/contracts/preview.d.ts.map +1 -0
  171. package/dist/shared/index.js +4 -0
  172. package/dist/shared/index.js.map +1 -1
  173. package/dist/shared/index.mjs +4 -0
  174. package/dist/shared/index.mjs.map +1 -1
  175. package/package.json +13 -13
  176. package/dist/_chunks/EditViewPage-CU7724gt.js.map +0 -1
  177. package/dist/_chunks/EditViewPage-CzuJgWWp.mjs.map +0 -1
  178. package/dist/_chunks/Field-Dh1yZyqy.js.map +0 -1
  179. package/dist/_chunks/Field-QtUSh5mU.mjs.map +0 -1
  180. package/dist/_chunks/Form-BOR8NOe1.js.map +0 -1
  181. package/dist/_chunks/Form-COLpvlnv.mjs.map +0 -1
  182. package/dist/_chunks/History-Bu53Yfw-.mjs.map +0 -1
  183. package/dist/_chunks/History-CW2akQ6h.js.map +0 -1
  184. package/dist/_chunks/ListConfigurationPage-TqrmwjPN.mjs.map +0 -1
  185. package/dist/_chunks/ListConfigurationPage-jzdhEk_u.js.map +0 -1
  186. package/dist/_chunks/ListViewPage-B3bMOrMv.js.map +0 -1
  187. package/dist/_chunks/ListViewPage-BO_mOXIl.mjs.map +0 -1
  188. package/dist/_chunks/Relations-B6fb2POW.js.map +0 -1
  189. package/dist/_chunks/Relations-CJ4qdkRo.mjs.map +0 -1
  190. package/dist/_chunks/index-Dahjdw4h.mjs.map +0 -1
  191. package/dist/_chunks/index-DcUu-_72.js.map +0 -1
  192. package/dist/_chunks/layout-jcY4dyUG.js.map +0 -1
  193. package/dist/_chunks/layout-omucV6TV.mjs.map +0 -1
  194. package/dist/_chunks/relations-CN0-aw6p.mjs.map +0 -1
  195. package/dist/_chunks/relations-DGzD7ORa.js.map +0 -1
  196. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  197. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  198. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
  199. package/strapi-server.js +0 -3
@@ -7,13 +7,13 @@ const designSystem = require("@strapi/design-system");
7
7
  const qs = require("qs");
8
8
  const reactIntl = require("react-intl");
9
9
  const reactRouterDom = require("react-router-dom");
10
- const index = require("./index-DcUu-_72.js");
10
+ const index = require("./index-BgaeYWIy.js");
11
11
  const pipe = require("lodash/fp/pipe");
12
12
  const hooks = require("./hooks-BAaaKPS_.js");
13
- const Field = require("./Field-Dh1yZyqy.js");
13
+ const Field = require("./Field-CcoQiiz1.js");
14
14
  const Icons = require("@strapi/icons");
15
15
  const styledComponents = require("styled-components");
16
- const relations = require("./relations-DGzD7ORa.js");
16
+ const relations = require("./relations-C5RSW926.js");
17
17
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
18
18
  function _interopNamespace(e) {
19
19
  if (e && e.__esModule)
@@ -36,7 +36,7 @@ function _interopNamespace(e) {
36
36
  const React__namespace = /* @__PURE__ */ _interopNamespace(React);
37
37
  const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
38
38
  const StyledAlert = styledComponents.styled(designSystem.Alert).attrs({ closeLabel: "Close", onClose: () => {
39
- } })`
39
+ }, shadow: "none" })`
40
40
  button {
41
41
  display: none;
42
42
  }
@@ -54,13 +54,13 @@ const LinkEllipsis = styledComponents.styled(designSystem.Link)`
54
54
  const CustomRelationInput = (props) => {
55
55
  const { formatMessage } = reactIntl.useIntl();
56
56
  const field = strapiAdmin.useField(props.name);
57
- const formattedFieldValue = Array.isArray(field.value) ? {
58
- results: field.value,
59
- meta: { missingCount: 0 }
60
- } : field.value;
57
+ let formattedFieldValue;
58
+ if (field) {
59
+ formattedFieldValue = Array.isArray(field.value) ? { results: field.value, meta: { missingCount: 0 } } : field.value;
60
+ }
61
61
  if (!formattedFieldValue || formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0) {
62
62
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
63
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: props.label }),
63
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { action: props.labelAction, children: props.label }),
64
64
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 1, children: /* @__PURE__ */ jsxRuntime.jsx(StyledAlert, { variant: "default", children: formatMessage({
65
65
  id: "content-manager.history.content.no-relations",
66
66
  defaultMessage: "No relations."
@@ -71,8 +71,10 @@ const CustomRelationInput = (props) => {
71
71
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { children: [
72
72
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: props.label }),
73
73
  results.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", gap: 2, marginTop: 1, alignItems: "stretch", children: results.map((relationData) => {
74
- const href = `../${index.COLLECTION_TYPES}/${props.attribute.targetModel}/${relationData.documentId}`;
74
+ const { targetModel } = props.attribute;
75
+ const href = `../${index.COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;
75
76
  const label = relations.getRelationLabel(relationData, props.mainField);
77
+ const isAdminUserRelation = targetModel === "admin::user";
76
78
  return /* @__PURE__ */ jsxRuntime.jsxs(
77
79
  designSystem.Flex,
78
80
  {
@@ -85,11 +87,11 @@ const CustomRelationInput = (props) => {
85
87
  background: "neutral150",
86
88
  justifyContent: "space-between",
87
89
  children: [
88
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { description: label, children: /* @__PURE__ */ jsxRuntime.jsx(LinkEllipsis, { tag: reactRouterDom.NavLink, to: href, children: label }) }) }),
90
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { label, children: isAdminUserRelation ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: label }) : /* @__PURE__ */ jsxRuntime.jsx(LinkEllipsis, { tag: reactRouterDom.NavLink, to: href, children: label }) }) }),
89
91
  /* @__PURE__ */ jsxRuntime.jsx(index.DocumentStatus, { status: relationData.status })
90
92
  ]
91
93
  },
92
- relationData.documentId
94
+ relationData.documentId ?? relationData.id
93
95
  );
94
96
  }) }),
95
97
  meta.missingCount > 0 && /* @ts-expect-error – we dont need closeLabel */
@@ -117,9 +119,9 @@ const CustomRelationInput = (props) => {
117
119
  ] });
118
120
  };
119
121
  const CustomMediaInput = (props) => {
120
- const {
121
- value: { results, meta }
122
- } = strapiAdmin.useField(props.name);
122
+ const { value } = strapiAdmin.useField(props.name);
123
+ const results = value ? value.results : [];
124
+ const meta = value ? value.meta : { missingCount: 0 };
123
125
  const { formatMessage } = reactIntl.useIntl();
124
126
  const fields = strapiAdmin.useStrapiApp("CustomMediaInput", (state) => state.fields);
125
127
  const MediaLibrary = fields.media;
@@ -150,12 +152,39 @@ const CustomMediaInput = (props) => {
150
152
  )
151
153
  ] });
152
154
  };
155
+ const getLabelAction = (labelAction) => {
156
+ if (!React__namespace.isValidElement(labelAction)) {
157
+ return labelAction;
158
+ }
159
+ const labelActionTitleId = labelAction.props.title.id;
160
+ if (labelActionTitleId === "i18n.Field.localized") {
161
+ return React__namespace.cloneElement(labelAction, {
162
+ ...labelAction.props,
163
+ title: {
164
+ id: "history.content.localized",
165
+ defaultMessage: "This value is specific to this locale. If you restore this version, the content will not be replaced for other locales."
166
+ }
167
+ });
168
+ }
169
+ if (labelActionTitleId === "i18n.Field.not-localized") {
170
+ return React__namespace.cloneElement(labelAction, {
171
+ ...labelAction.props,
172
+ title: {
173
+ id: "history.content.not-localized",
174
+ 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."
175
+ }
176
+ });
177
+ }
178
+ return labelAction;
179
+ };
153
180
  const VersionInputRenderer = ({
154
181
  visible,
155
182
  hint: providedHint,
156
183
  shouldIgnoreRBAC = false,
184
+ labelAction,
157
185
  ...props
158
186
  }) => {
187
+ const customLabelAction = getLabelAction(labelAction);
159
188
  const { formatMessage } = reactIntl.useIntl();
160
189
  const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
161
190
  const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
@@ -213,25 +242,42 @@ const VersionInputRenderer = ({
213
242
  if (attributeHasCustomFieldProperty(props.attribute)) {
214
243
  const CustomInput = lazyComponentStore[props.attribute.customField];
215
244
  if (CustomInput) {
216
- return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
245
+ return /* @__PURE__ */ jsxRuntime.jsx(
246
+ CustomInput,
247
+ {
248
+ ...props,
249
+ hint,
250
+ labelAction: customLabelAction,
251
+ disabled: fieldIsDisabled
252
+ }
253
+ );
217
254
  }
218
255
  return /* @__PURE__ */ jsxRuntime.jsx(
219
256
  strapiAdmin.InputRenderer,
220
257
  {
221
258
  ...props,
222
259
  hint,
260
+ labelAction: customLabelAction,
223
261
  type: props.attribute.customField,
224
262
  disabled: fieldIsDisabled
225
263
  }
226
264
  );
227
265
  }
228
266
  if (props.type === "media") {
229
- return /* @__PURE__ */ jsxRuntime.jsx(CustomMediaInput, { ...props, disabled: fieldIsDisabled });
267
+ return /* @__PURE__ */ jsxRuntime.jsx(CustomMediaInput, { ...props, labelAction: customLabelAction, disabled: fieldIsDisabled });
230
268
  }
231
269
  const addedInputTypes = Object.keys(fields);
232
270
  if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {
233
271
  const CustomInput = fields[props.type];
234
- return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
272
+ return /* @__PURE__ */ jsxRuntime.jsx(
273
+ CustomInput,
274
+ {
275
+ ...props,
276
+ hint,
277
+ labelAction: customLabelAction,
278
+ disabled: fieldIsDisabled
279
+ }
280
+ );
235
281
  }
236
282
  switch (props.type) {
237
283
  case "blocks":
@@ -250,24 +296,60 @@ const VersionInputRenderer = ({
250
296
  ...props,
251
297
  layout: [...layout, ...remainingFieldsLayout || []],
252
298
  hint,
299
+ labelAction: customLabelAction,
253
300
  disabled: fieldIsDisabled,
254
301
  children: (inputProps) => /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...inputProps, shouldIgnoreRBAC: true })
255
302
  }
256
303
  );
257
304
  case "dynamiczone":
258
- return /* @__PURE__ */ jsxRuntime.jsx(Field.DynamicZone, { ...props, hint, disabled: fieldIsDisabled });
305
+ return /* @__PURE__ */ jsxRuntime.jsx(
306
+ Field.DynamicZone,
307
+ {
308
+ ...props,
309
+ hint,
310
+ labelAction: customLabelAction,
311
+ disabled: fieldIsDisabled
312
+ }
313
+ );
259
314
  case "relation":
260
- return /* @__PURE__ */ jsxRuntime.jsx(CustomRelationInput, { ...props, hint, disabled: fieldIsDisabled });
315
+ return /* @__PURE__ */ jsxRuntime.jsx(
316
+ CustomRelationInput,
317
+ {
318
+ ...props,
319
+ hint,
320
+ labelAction: customLabelAction,
321
+ disabled: fieldIsDisabled
322
+ }
323
+ );
261
324
  case "richtext":
262
- return /* @__PURE__ */ jsxRuntime.jsx(Field.MemoizedWysiwyg, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
325
+ return /* @__PURE__ */ jsxRuntime.jsx(
326
+ Field.MemoizedWysiwyg,
327
+ {
328
+ ...props,
329
+ hint,
330
+ type: props.type,
331
+ labelAction: customLabelAction,
332
+ disabled: fieldIsDisabled
333
+ }
334
+ );
263
335
  case "uid":
264
- return /* @__PURE__ */ jsxRuntime.jsx(Field.MemoizedUIDInput, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
336
+ return /* @__PURE__ */ jsxRuntime.jsx(
337
+ Field.MemoizedUIDInput,
338
+ {
339
+ ...props,
340
+ hint,
341
+ type: props.type,
342
+ labelAction: customLabelAction,
343
+ disabled: fieldIsDisabled
344
+ }
345
+ );
265
346
  case "enumeration":
266
347
  return /* @__PURE__ */ jsxRuntime.jsx(
267
348
  strapiAdmin.InputRenderer,
268
349
  {
269
350
  ...props,
270
351
  hint,
352
+ labelAction: customLabelAction,
271
353
  options: props.attribute.enum.map((value) => ({ value })),
272
354
  type: props.customField ? "custom-field" : props.type,
273
355
  disabled: fieldIsDisabled
@@ -280,6 +362,7 @@ const VersionInputRenderer = ({
280
362
  {
281
363
  ...restProps,
282
364
  hint,
365
+ labelAction: customLabelAction,
283
366
  type: props.customField ? "custom-field" : props.type,
284
367
  disabled: fieldIsDisabled
285
368
  }
@@ -333,7 +416,7 @@ const FormPanel = ({ panel }) => {
333
416
  if (panel.some((row) => row.some((field) => field.type === "dynamiczone"))) {
334
417
  const [row] = panel;
335
418
  const [field] = row;
336
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 12, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...field }) }) }, field.name);
419
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 12, s: 12, xs: 12, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...field }) }) }, field.name);
337
420
  }
338
421
  return /* @__PURE__ */ jsxRuntime.jsx(
339
422
  designSystem.Box,
@@ -346,8 +429,19 @@ const FormPanel = ({ panel }) => {
346
429
  paddingTop: 6,
347
430
  paddingBottom: 6,
348
431
  borderColor: "neutral150",
349
- children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
350
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...field }) }, field.name);
432
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
433
+ return /* @__PURE__ */ jsxRuntime.jsx(
434
+ designSystem.Grid.Item,
435
+ {
436
+ col: size,
437
+ s: 12,
438
+ xs: 12,
439
+ direction: "column",
440
+ alignItems: "stretch",
441
+ children: /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...field })
442
+ },
443
+ field.name
444
+ );
351
445
  }) }, gridRowIndex)) })
352
446
  }
353
447
  );
@@ -479,12 +573,12 @@ const VersionHeader = ({ headerId }) => {
479
573
  const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
480
574
  if (collectionType === index.COLLECTION_TYPES) {
481
575
  return {
482
- pathname: `/content-manager/${collectionType}/${version.contentType}/${version.relatedDocumentId}`,
576
+ pathname: "..",
483
577
  search: pluginsQueryParams
484
578
  };
485
579
  }
486
580
  return {
487
- pathname: `/content-manager/${collectionType}/${version.contentType}`,
581
+ pathname: "..",
488
582
  search: pluginsQueryParams
489
583
  };
490
584
  };
@@ -500,7 +594,7 @@ const VersionHeader = ({ headerId }) => {
500
594
  body: { contentType: version.contentType }
501
595
  });
502
596
  if ("data" in response) {
503
- navigate(getNextNavigation());
597
+ navigate(getNextNavigation(), { relative: "path" });
504
598
  toggleNotification({
505
599
  type: "success",
506
600
  title: formatMessage({
@@ -529,7 +623,7 @@ const VersionHeader = ({ headerId }) => {
529
623
  });
530
624
  }
531
625
  };
532
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
626
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Root, { open: isConfirmDialogOpen, onOpenChange: setIsConfirmDialogOpen, children: [
533
627
  /* @__PURE__ */ jsxRuntime.jsx(
534
628
  strapiAdmin.Layouts.BaseHeader,
535
629
  {
@@ -541,7 +635,7 @@ const VersionHeader = ({ headerId }) => {
541
635
  hour: "numeric",
542
636
  minute: "numeric"
543
637
  }),
544
- subtitle: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "epsilon", children: formatMessage(
638
+ subtitle: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage(
545
639
  {
546
640
  id: "content-manager.history.version.subtitle",
547
641
  defaultMessage: "{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}"
@@ -552,12 +646,22 @@ const VersionHeader = ({ headerId }) => {
552
646
  locale: version.locale?.name
553
647
  }
554
648
  ) }),
555
- navigationAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Link, { startIcon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ArrowLeft, {}), tag: reactRouterDom.NavLink, to: getNextNavigation(), isExternal: false, children: formatMessage({
556
- id: "global.back",
557
- defaultMessage: "Back"
558
- }) }),
649
+ navigationAction: /* @__PURE__ */ jsxRuntime.jsx(
650
+ designSystem.Link,
651
+ {
652
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ArrowLeft, {}),
653
+ tag: reactRouterDom.NavLink,
654
+ to: getNextNavigation(),
655
+ relative: "path",
656
+ isExternal: false,
657
+ children: formatMessage({
658
+ id: "global.back",
659
+ defaultMessage: "Back"
660
+ })
661
+ }
662
+ ),
559
663
  sticky: false,
560
- primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
664
+ primaryAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
561
665
  designSystem.Button,
562
666
  {
563
667
  disabled: !allowedActions.canUpdate || isCurrentVersion,
@@ -569,16 +673,13 @@ const VersionHeader = ({ headerId }) => {
569
673
  defaultMessage: "Restore"
570
674
  })
571
675
  }
572
- )
676
+ ) })
573
677
  }
574
678
  ),
575
679
  /* @__PURE__ */ jsxRuntime.jsx(
576
680
  strapiAdmin.ConfirmDialog,
577
681
  {
578
- isOpen: isConfirmDialogOpen,
579
- onClose: () => setIsConfirmDialogOpen(false),
580
682
  onConfirm: handleRestore,
581
- icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, {}),
582
683
  endAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "secondary", onClick: handleRestore, loading: isLoading, children: formatMessage({
583
684
  id: "content-manager.history.restore.confirm.button",
584
685
  defaultMessage: "Restore"
@@ -592,6 +693,7 @@ const VersionHeader = ({ headerId }) => {
592
693
  gap: 2,
593
694
  textAlign: "center",
594
695
  children: [
696
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }) }),
595
697
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
596
698
  id: "content-manager.history.restore.confirm.title",
597
699
  defaultMessage: "Are you sure you want to restore this version?"
@@ -612,7 +714,7 @@ const VersionHeader = ({ headerId }) => {
612
714
  )
613
715
  ] });
614
716
  };
615
- const BlueText = (children) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", children });
717
+ const BlueText = (children) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", children });
616
718
  const VersionCard = ({ version, isCurrent }) => {
617
719
  const { formatDate, formatMessage } = reactIntl.useIntl();
618
720
  const [{ query }] = strapiAdmin.useQueryParams();
@@ -665,10 +767,7 @@ const VersionCard = ({ version, isCurrent }) => {
665
767
  borderStyle: "solid",
666
768
  borderColor: isActive ? "primary600" : "neutral200",
667
769
  color: "neutral800",
668
- paddingTop: 4,
669
- paddingBottom: 4,
670
- paddingLeft: 5,
671
- paddingRight: 5,
770
+ padding: 5,
672
771
  tag: reactRouterDom.Link,
673
772
  to: `?${qs.stringify({ ...query, id: version.id })}`,
674
773
  style: { textDecoration: "none" },
@@ -763,31 +862,18 @@ const VersionsList = () => {
763
862
  id: "content-manager.history.sidebar.show-newer",
764
863
  defaultMessage: "Show newer versions"
765
864
  }) }) }),
766
- /* @__PURE__ */ jsxRuntime.jsx(
767
- designSystem.Flex,
865
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", gap: 3, padding: 4, tag: "ul", alignItems: "stretch", children: versions.data.map((version, index2) => /* @__PURE__ */ jsxRuntime.jsx(
866
+ "li",
768
867
  {
769
- direction: "column",
770
- gap: 3,
771
- paddingTop: 5,
772
- paddingBottom: 5,
773
- paddingLeft: 4,
774
- paddingRight: 4,
775
- tag: "ul",
776
- alignItems: "stretch",
777
- children: versions.data.map((version, index2) => /* @__PURE__ */ jsxRuntime.jsx(
778
- "li",
779
- {
780
- "aria-label": formatMessage({
781
- id: "content-manager.history.sidebar.title.version-card.aria-label",
782
- defaultMessage: "Version card"
783
- }),
784
- children: /* @__PURE__ */ jsxRuntime.jsx(VersionCard, { version, isCurrent: page === 1 && index2 === 0 })
785
- },
786
- version.id
787
- ))
788
- }
789
- ),
790
- versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 5, textAlign: "center", children: /* @__PURE__ */ jsxRuntime.jsx(PaginationButton, { page: page + 1, children: formatMessage({
868
+ "aria-label": formatMessage({
869
+ id: "content-manager.history.sidebar.title.version-card.aria-label",
870
+ defaultMessage: "Version card"
871
+ }),
872
+ children: /* @__PURE__ */ jsxRuntime.jsx(VersionCard, { version, isCurrent: page === 1 && index2 === 0 })
873
+ },
874
+ version.id
875
+ )) }),
876
+ versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 4, textAlign: "center", children: /* @__PURE__ */ jsxRuntime.jsx(PaginationButton, { page: page + 1, children: formatMessage({
791
877
  id: "content-manager.history.sidebar.show-older",
792
878
  defaultMessage: "Show older versions"
793
879
  }) }) })
@@ -839,7 +925,22 @@ const HistoryPage = () => {
839
925
  return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
840
926
  }
841
927
  if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {
842
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.NoData, {});
928
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
929
+ strapiAdmin.Page.NoData,
930
+ {
931
+ action: /* @__PURE__ */ jsxRuntime.jsx(
932
+ designSystem.Link,
933
+ {
934
+ tag: reactRouterDom.NavLink,
935
+ to: `/content-manager/${collectionType}/${slug}${documentId ? `/${documentId}` : ""}`,
936
+ children: formatMessage({
937
+ id: "global.back",
938
+ defaultMessage: "Back"
939
+ })
940
+ }
941
+ )
942
+ }
943
+ ) });
843
944
  }
844
945
  if (versionsResponse.data?.data?.length && !selectedVersionId) {
845
946
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -946,4 +1047,4 @@ const ProtectedHistoryPage = () => {
946
1047
  exports.HistoryProvider = HistoryProvider;
947
1048
  exports.ProtectedHistoryPage = ProtectedHistoryPage;
948
1049
  exports.useHistoryContext = useHistoryContext;
949
- //# sourceMappingURL=History-CW2akQ6h.js.map
1050
+ //# sourceMappingURL=History-uECUbCZB.js.map