@strapi/content-manager 0.0.0-experimental.81dfdf02b1367004c7deed9e01afa9d3a15d0fa5 → 0.0.0-experimental.820adfc37c687bbcc4a213ae6929c541358b71e8

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 (198) hide show
  1. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -1
  2. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-qemkOlnj.mjs → ComponentConfigurationPage-CzVt9QCC.mjs} +4 -4
  4. package/dist/_chunks/{ComponentConfigurationPage-qemkOlnj.mjs.map → ComponentConfigurationPage-CzVt9QCC.mjs.map} +1 -1
  5. package/dist/_chunks/{ComponentConfigurationPage-D_M8iBw5.js → ComponentConfigurationPage-DYq8aqos.js} +5 -6
  6. package/dist/_chunks/{ComponentConfigurationPage-D_M8iBw5.js.map → ComponentConfigurationPage-DYq8aqos.js.map} +1 -1
  7. package/dist/_chunks/{ComponentIcon-BXdiCGQp.js → ComponentIcon-CRbtQEUV.js} +2 -3
  8. package/dist/_chunks/{ComponentIcon-BXdiCGQp.js.map → ComponentIcon-CRbtQEUV.js.map} +1 -1
  9. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -1
  10. package/dist/_chunks/{EditConfigurationPage-BePwPuHy.js → EditConfigurationPage-C9IATpr0.js} +5 -6
  11. package/dist/_chunks/{EditConfigurationPage-BePwPuHy.js.map → EditConfigurationPage-C9IATpr0.js.map} +1 -1
  12. package/dist/_chunks/{EditConfigurationPage-CjUrEewK.mjs → EditConfigurationPage-CLDwrUv5.mjs} +4 -4
  13. package/dist/_chunks/{EditConfigurationPage-CjUrEewK.mjs.map → EditConfigurationPage-CLDwrUv5.mjs.map} +1 -1
  14. package/dist/_chunks/{EditViewPage-B-RJeiJD.js → EditViewPage-Ch-uBvbv.js} +50 -11
  15. package/dist/_chunks/EditViewPage-Ch-uBvbv.js.map +1 -0
  16. package/dist/_chunks/{EditViewPage-De8GyU8P.mjs → EditViewPage-DtKM7Jgw.mjs} +50 -10
  17. package/dist/_chunks/EditViewPage-DtKM7Jgw.mjs.map +1 -0
  18. package/dist/_chunks/{Field-dq8Tg1M_.js → Field-B9ADaInZ.js} +153 -148
  19. package/dist/_chunks/Field-B9ADaInZ.js.map +1 -0
  20. package/dist/_chunks/{Field-pb2o8uBe.mjs → Field-Bn1jgMeF.mjs} +148 -142
  21. package/dist/_chunks/Field-Bn1jgMeF.mjs.map +1 -0
  22. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -1
  23. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -1
  24. package/dist/_chunks/{Form-DJn0Dxha.mjs → Form-BB5i9Pxl.mjs} +17 -9
  25. package/dist/_chunks/Form-BB5i9Pxl.mjs.map +1 -0
  26. package/dist/_chunks/{Form-DGIf4jQU.js → Form-C3kjKrPw.js} +19 -12
  27. package/dist/_chunks/Form-C3kjKrPw.js.map +1 -0
  28. package/dist/_chunks/{History-Dh2NEHnR.js → History-AwrK0-SA.js} +42 -100
  29. package/dist/_chunks/History-AwrK0-SA.js.map +1 -0
  30. package/dist/_chunks/{History-BowL3JKP.mjs → History-Cw2Q7OQL.mjs} +43 -100
  31. package/dist/_chunks/History-Cw2Q7OQL.mjs.map +1 -0
  32. package/dist/_chunks/{ListConfigurationPage-BpVOB-hn.mjs → ListConfigurationPage-B47JIu1e.mjs} +7 -6
  33. package/dist/_chunks/ListConfigurationPage-B47JIu1e.mjs.map +1 -0
  34. package/dist/_chunks/{ListConfigurationPage-BxYCWz9e.js → ListConfigurationPage-CNTJ0DBm.js} +7 -7
  35. package/dist/_chunks/ListConfigurationPage-CNTJ0DBm.js.map +1 -0
  36. package/dist/_chunks/{ListViewPage-4XsciqHZ.js → ListViewPage-Be_UEBar.js} +103 -77
  37. package/dist/_chunks/ListViewPage-Be_UEBar.js.map +1 -0
  38. package/dist/_chunks/{ListViewPage-CXFUjZQC.mjs → ListViewPage-DuvjX6ra.mjs} +99 -72
  39. package/dist/_chunks/ListViewPage-DuvjX6ra.mjs.map +1 -0
  40. package/dist/_chunks/{NoContentTypePage-C8OpoHeU.js → NoContentTypePage-B1J0KUCO.js} +2 -2
  41. package/dist/_chunks/{NoContentTypePage-C8OpoHeU.js.map → NoContentTypePage-B1J0KUCO.js.map} +1 -1
  42. package/dist/_chunks/{NoContentTypePage-DuhOTp3x.mjs → NoContentTypePage-C6M-Q0Tv.mjs} +2 -2
  43. package/dist/_chunks/{NoContentTypePage-DuhOTp3x.mjs.map → NoContentTypePage-C6M-Q0Tv.mjs.map} +1 -1
  44. package/dist/_chunks/{NoPermissionsPage-DVz3mzDz.mjs → NoPermissionsPage-CAi3zCAD.mjs} +2 -2
  45. package/dist/_chunks/{NoPermissionsPage-DVz3mzDz.mjs.map → NoPermissionsPage-CAi3zCAD.mjs.map} +1 -1
  46. package/dist/_chunks/{NoPermissionsPage-y_r7DVA2.js → NoPermissionsPage-CN34TlEE.js} +2 -2
  47. package/dist/_chunks/{NoPermissionsPage-y_r7DVA2.js.map → NoPermissionsPage-CN34TlEE.js.map} +1 -1
  48. package/dist/_chunks/Preview-BrBRcL10.mjs +293 -0
  49. package/dist/_chunks/Preview-BrBRcL10.mjs.map +1 -0
  50. package/dist/_chunks/Preview-DOqm5jcJ.js +311 -0
  51. package/dist/_chunks/Preview-DOqm5jcJ.js.map +1 -0
  52. package/dist/_chunks/{Relations-CVNLrn1Y.mjs → Relations-_K-HYOiM.mjs} +75 -41
  53. package/dist/_chunks/Relations-_K-HYOiM.mjs.map +1 -0
  54. package/dist/_chunks/{Relations-DPFCAa7b.js → Relations-xtKZHtTN.js} +75 -42
  55. package/dist/_chunks/Relations-xtKZHtTN.js.map +1 -0
  56. package/dist/_chunks/{en-uOUIxfcQ.js → en-BK8Xyl5I.js} +28 -15
  57. package/dist/_chunks/{en-uOUIxfcQ.js.map → en-BK8Xyl5I.js.map} +1 -1
  58. package/dist/_chunks/{en-BrCTWlZv.mjs → en-Dtk_ot79.mjs} +28 -15
  59. package/dist/_chunks/{en-BrCTWlZv.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
  60. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  61. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  62. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  63. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  64. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  65. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  66. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  67. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  68. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
  69. package/dist/_chunks/{index-C3fJE-1-.js → index-BlX-OdHL.js} +1276 -995
  70. package/dist/_chunks/index-BlX-OdHL.js.map +1 -0
  71. package/dist/_chunks/{index-DiMrfcfy.mjs → index-tETMKK2G.mjs} +1279 -998
  72. package/dist/_chunks/index-tETMKK2G.mjs.map +1 -0
  73. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  74. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  75. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  76. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  77. package/dist/_chunks/{layout-ls3gxfpH.mjs → layout-BaQBaz56.mjs} +6 -5
  78. package/dist/_chunks/{layout-ls3gxfpH.mjs.map → layout-BaQBaz56.mjs.map} +1 -1
  79. package/dist/_chunks/{layout-C788OmNr.js → layout-D8Sz3KxF.js} +7 -7
  80. package/dist/_chunks/{layout-C788OmNr.js.map → layout-D8Sz3KxF.js.map} +1 -1
  81. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  82. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  83. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  84. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  85. package/dist/_chunks/{relations-DYeotliT.js → relations-CAbbX8Sa.js} +6 -7
  86. package/dist/_chunks/relations-CAbbX8Sa.js.map +1 -0
  87. package/dist/_chunks/{relations-CLcOmGO0.mjs → relations-CsfmCqOU.mjs} +6 -7
  88. package/dist/_chunks/relations-CsfmCqOU.mjs.map +1 -0
  89. package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
  90. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
  91. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
  92. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
  93. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js → useDragAndDrop-BMtgCYzL.js} +5 -9
  94. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js.map → useDragAndDrop-BMtgCYzL.js.map} +1 -1
  95. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs → useDragAndDrop-DJ6jqvZN.mjs} +4 -7
  96. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs.map → useDragAndDrop-DJ6jqvZN.mjs.map} +1 -1
  97. package/dist/admin/index.js +2 -1
  98. package/dist/admin/index.js.map +1 -1
  99. package/dist/admin/index.mjs +4 -3
  100. package/dist/admin/src/content-manager.d.ts +3 -2
  101. package/dist/admin/src/exports.d.ts +1 -1
  102. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  103. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  104. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
  105. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  106. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +0 -32
  107. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  108. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  109. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  110. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  111. package/dist/admin/src/preview/constants.d.ts +1 -0
  112. package/dist/admin/src/preview/index.d.ts +4 -0
  113. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  114. package/dist/admin/src/preview/routes.d.ts +3 -0
  115. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  116. package/dist/admin/src/router.d.ts +1 -1
  117. package/dist/admin/src/services/documents.d.ts +3 -4
  118. package/dist/server/index.js +457 -201
  119. package/dist/server/index.js.map +1 -1
  120. package/dist/server/index.mjs +457 -200
  121. package/dist/server/index.mjs.map +1 -1
  122. package/dist/server/src/bootstrap.d.ts.map +1 -1
  123. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  124. package/dist/server/src/controllers/index.d.ts.map +1 -1
  125. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  126. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  127. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  128. package/dist/server/src/history/services/history.d.ts.map +1 -1
  129. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  130. package/dist/server/src/history/services/utils.d.ts +3 -3
  131. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  132. package/dist/server/src/index.d.ts +4 -4
  133. package/dist/server/src/preview/constants.d.ts +2 -0
  134. package/dist/server/src/preview/constants.d.ts.map +1 -0
  135. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  136. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  137. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  138. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  139. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  140. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  141. package/dist/server/src/preview/index.d.ts +4 -0
  142. package/dist/server/src/preview/index.d.ts.map +1 -0
  143. package/dist/server/src/preview/routes/index.d.ts +8 -0
  144. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  145. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  146. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  147. package/dist/server/src/preview/services/index.d.ts +16 -0
  148. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  149. package/dist/server/src/preview/services/preview-config.d.ts +32 -0
  150. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  151. package/dist/server/src/preview/services/preview.d.ts +12 -0
  152. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  153. package/dist/server/src/preview/utils.d.ts +19 -0
  154. package/dist/server/src/preview/utils.d.ts.map +1 -0
  155. package/dist/server/src/register.d.ts.map +1 -1
  156. package/dist/server/src/routes/index.d.ts.map +1 -1
  157. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  158. package/dist/server/src/services/document-metadata.d.ts +8 -8
  159. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  160. package/dist/server/src/services/index.d.ts +4 -4
  161. package/dist/server/src/services/index.d.ts.map +1 -1
  162. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  163. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  164. package/dist/server/src/utils/index.d.ts +2 -0
  165. package/dist/server/src/utils/index.d.ts.map +1 -1
  166. package/dist/shared/contracts/collection-types.d.ts +3 -1
  167. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  168. package/dist/shared/contracts/index.d.ts +1 -0
  169. package/dist/shared/contracts/index.d.ts.map +1 -1
  170. package/dist/shared/contracts/preview.d.ts +27 -0
  171. package/dist/shared/contracts/preview.d.ts.map +1 -0
  172. package/dist/shared/index.js +4 -0
  173. package/dist/shared/index.js.map +1 -1
  174. package/dist/shared/index.mjs +4 -0
  175. package/dist/shared/index.mjs.map +1 -1
  176. package/package.json +15 -15
  177. package/dist/_chunks/EditViewPage-B-RJeiJD.js.map +0 -1
  178. package/dist/_chunks/EditViewPage-De8GyU8P.mjs.map +0 -1
  179. package/dist/_chunks/Field-dq8Tg1M_.js.map +0 -1
  180. package/dist/_chunks/Field-pb2o8uBe.mjs.map +0 -1
  181. package/dist/_chunks/Form-DGIf4jQU.js.map +0 -1
  182. package/dist/_chunks/Form-DJn0Dxha.mjs.map +0 -1
  183. package/dist/_chunks/History-BowL3JKP.mjs.map +0 -1
  184. package/dist/_chunks/History-Dh2NEHnR.js.map +0 -1
  185. package/dist/_chunks/ListConfigurationPage-BpVOB-hn.mjs.map +0 -1
  186. package/dist/_chunks/ListConfigurationPage-BxYCWz9e.js.map +0 -1
  187. package/dist/_chunks/ListViewPage-4XsciqHZ.js.map +0 -1
  188. package/dist/_chunks/ListViewPage-CXFUjZQC.mjs.map +0 -1
  189. package/dist/_chunks/Relations-CVNLrn1Y.mjs.map +0 -1
  190. package/dist/_chunks/Relations-DPFCAa7b.js.map +0 -1
  191. package/dist/_chunks/index-C3fJE-1-.js.map +0 -1
  192. package/dist/_chunks/index-DiMrfcfy.mjs.map +0 -1
  193. package/dist/_chunks/relations-CLcOmGO0.mjs.map +0 -1
  194. package/dist/_chunks/relations-DYeotliT.js.map +0 -1
  195. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  196. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  197. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
  198. package/strapi-server.js +0 -3
@@ -5,19 +5,19 @@ const strapiAdmin = require("@strapi/admin/strapi-admin");
5
5
  const designSystem = require("@strapi/design-system");
6
6
  const pipe$1 = require("lodash/fp/pipe");
7
7
  const reactIntl = require("react-intl");
8
- const index = require("./index-C3fJE-1-.js");
8
+ const index = require("./index-BlX-OdHL.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-DPFCAa7b.js");
10
+ const Relations = require("./Relations-xtKZHtTN.js");
11
11
  const Icons = require("@strapi/icons");
12
12
  const styledComponents = require("styled-components");
13
- const ComponentIcon = require("./ComponentIcon-BXdiCGQp.js");
13
+ const ComponentIcon = require("./ComponentIcon-CRbtQEUV.js");
14
14
  const reactDndHtml5Backend = require("react-dnd-html5-backend");
15
- const useDragAndDrop = require("./useDragAndDrop-J0TUUbR6.js");
16
- const objects = require("./objects-gigeqt7s.js");
15
+ const useDragAndDrop = require("./useDragAndDrop-BMtgCYzL.js");
16
+ const objects = require("./objects-BcXOv6_9.js");
17
17
  const slate = require("slate");
18
18
  const slateHistory = require("slate-history");
19
19
  const slateReact = require("slate-react");
20
- const usePrev = require("./usePrev-B9w_-eYc.js");
20
+ const useDebounce = require("./useDebounce-CtcjDB3L.js");
21
21
  const Toolbar = require("@radix-ui/react-toolbar");
22
22
  const reactRouterDom = require("react-router-dom");
23
23
  const CodeMirror = require("codemirror5");
@@ -37,8 +37,7 @@ require("highlight.js/styles/solarized-dark.css");
37
37
  require("codemirror5/addon/display/placeholder");
38
38
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
39
39
  function _interopNamespace(e) {
40
- if (e && e.__esModule)
41
- return e;
40
+ if (e && e.__esModule) return e;
42
41
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
43
42
  if (e) {
44
43
  for (const k in e) {
@@ -542,7 +541,7 @@ const CodeEditor = (props) => {
542
541
  const codeBlocks = {
543
542
  code: {
544
543
  renderElement: (props) => /* @__PURE__ */ jsxRuntime.jsx(CodeEditor, { ...props }),
545
- icon: Icons.Code,
544
+ icon: Icons.CodeBlock,
546
545
  label: {
547
546
  id: "components.Blocks.blocks.code",
548
547
  defaultMessage: "Code block"
@@ -731,8 +730,7 @@ const ImageDialog = () => {
731
730
  const [isOpen, setIsOpen] = React__namespace.useState(true);
732
731
  const { editor } = useBlocksEditorContext("ImageDialog");
733
732
  const components = strapiAdmin.useStrapiApp("ImageDialog", (state) => state.components);
734
- if (!components || !isOpen)
735
- return null;
733
+ if (!components || !isOpen) return null;
736
734
  const MediaLibraryDialog = components["media-library"];
737
735
  const insertImages = (images) => {
738
736
  slate.Transforms.unwrapNodes(editor, {
@@ -741,14 +739,12 @@ const ImageDialog = () => {
741
739
  });
742
740
  const nodeEntryBeingReplaced = slate.Editor.above(editor, {
743
741
  match(node) {
744
- if (slate.Editor.isEditor(node))
745
- return false;
742
+ if (slate.Editor.isEditor(node)) return false;
746
743
  const isInlineNode = ["text", "link"].includes(node.type);
747
744
  return !isInlineNode;
748
745
  }
749
746
  });
750
- if (!nodeEntryBeingReplaced)
751
- return;
747
+ if (!nodeEntryBeingReplaced) return;
752
748
  const [, pathToInsert] = nodeEntryBeingReplaced;
753
749
  slate.Transforms.removeNodes(editor);
754
750
  const nodesToInsert = images.map((image) => {
@@ -768,7 +764,7 @@ const ImageDialog = () => {
768
764
  const nodeImage = {
769
765
  ...expectedImage,
770
766
  alternativeText: expectedImage.alternativeText || expectedImage.name,
771
- url: usePrev.prefixFileUrlWithBackendUrl(image.url)
767
+ url: useDebounce.prefixFileUrlWithBackendUrl(image.url)
772
768
  };
773
769
  return nodeImage;
774
770
  });
@@ -926,8 +922,7 @@ const LinkContent = React__namespace.forwardRef(
926
922
  slateReact.ReactEditor.focus(editor);
927
923
  };
928
924
  React__namespace.useEffect(() => {
929
- if (popoverOpen)
930
- linkInputRef.current?.focus();
925
+ if (popoverOpen) linkInputRef.current?.focus();
931
926
  }, [popoverOpen]);
932
927
  const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
933
928
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { open: popoverOpen, children: [
@@ -997,11 +992,11 @@ const LinkContent = React__namespace.forwardRef(
997
992
  ),
998
993
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
999
994
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: handleClose, children: formatMessage({
1000
- id: "components.Blocks.popover.cancel",
995
+ id: "global.cancel",
1001
996
  defaultMessage: "Cancel"
1002
997
  }) }),
1003
998
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { disabled: Boolean(inputNotDirty) || isSaveDisabled, onClick: handleSave, children: formatMessage({
1004
- id: "components.Blocks.popover.save",
999
+ id: "global.save",
1005
1000
  defaultMessage: "Save"
1006
1001
  }) })
1007
1002
  ] })
@@ -1082,8 +1077,7 @@ const isText$1 = (node) => {
1082
1077
  return slate.Node.isNode(node) && !slate.Editor.isEditor(node) && node.type === "text";
1083
1078
  };
1084
1079
  const handleBackspaceKeyOnList = (editor, event) => {
1085
- if (!editor.selection)
1086
- return;
1080
+ if (!editor.selection) return;
1087
1081
  const [currentListItem, currentListItemPath] = slate.Editor.parent(editor, editor.selection.anchor);
1088
1082
  const [currentList, currentListPath] = slate.Editor.parent(editor, currentListItemPath);
1089
1083
  const isListEmpty = currentList.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
@@ -1192,8 +1186,7 @@ const handleEnterKeyOnList = (editor) => {
1192
1186
  };
1193
1187
  const handleConvertToList = (editor, format) => {
1194
1188
  const convertedPath = baseHandleConvert(editor, { type: "list-item" });
1195
- if (!convertedPath)
1196
- return;
1189
+ if (!convertedPath) return;
1197
1190
  slate.Transforms.wrapNodes(editor, { type: "list", format, children: [] }, { at: convertedPath });
1198
1191
  };
1199
1192
  const handleTabOnList = (editor) => {
@@ -1205,8 +1198,7 @@ const handleTabOnList = (editor) => {
1205
1198
  }
1206
1199
  const [currentListItem, currentListItemPath] = currentListItemEntry;
1207
1200
  const [currentList] = slate.Editor.parent(editor, currentListItemPath);
1208
- if (currentListItem === currentList.children[0])
1209
- return;
1201
+ if (currentListItem === currentList.children[0]) return;
1210
1202
  const currentListItemIndex = currentList.children.findIndex((item) => item === currentListItem);
1211
1203
  const previousNode = currentList.children[currentListItemIndex - 1];
1212
1204
  if (previousNode.type === "list") {
@@ -1441,7 +1433,7 @@ const ToolbarButton = ({
1441
1433
  width: 7,
1442
1434
  height: 7,
1443
1435
  hasRadius: true,
1444
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { width: "1.2rem", height: "1.2rem", fill: disabled ? "neutral300" : enabledColor })
1436
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { fill: disabled ? "neutral300" : enabledColor })
1445
1437
  }
1446
1438
  )
1447
1439
  }
@@ -1573,8 +1565,7 @@ const isListNode = (node) => {
1573
1565
  const ListButton = ({ block, format }) => {
1574
1566
  const { editor, disabled, blocks } = useBlocksEditorContext("ListButton");
1575
1567
  const isListActive = () => {
1576
- if (!editor.selection)
1577
- return false;
1568
+ if (!editor.selection) return false;
1578
1569
  const currentListEntry = slate.Editor.above(editor, {
1579
1570
  match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
1580
1571
  at: editor.selection.anchor
@@ -1648,8 +1639,7 @@ const LinkButton = ({ disabled }) => {
1648
1639
  const { editor } = useBlocksEditorContext("LinkButton");
1649
1640
  const isLinkActive = () => {
1650
1641
  const { selection } = editor;
1651
- if (!selection)
1652
- return false;
1642
+ if (!selection) return false;
1653
1643
  const [match] = Array.from(
1654
1644
  slate.Editor.nodes(editor, {
1655
1645
  at: slate.Editor.unhangRange(editor, selection),
@@ -1783,6 +1773,7 @@ const DragItem = styledComponents.styled(designSystem.Flex)`
1783
1773
  }
1784
1774
  `;
1785
1775
  const DragIconButton = styledComponents.styled(designSystem.IconButton)`
1776
+ user-select: none;
1786
1777
  display: flex;
1787
1778
  align-items: center;
1788
1779
  justify-content: center;
@@ -1854,8 +1845,7 @@ const DragAndDropElement = ({
1854
1845
  displayedValue: children
1855
1846
  },
1856
1847
  onDropItem(currentIndex, newIndex) {
1857
- if (newIndex)
1858
- handleMoveBlock(newIndex, currentIndex);
1848
+ if (newIndex) handleMoveBlock(newIndex, currentIndex);
1859
1849
  }
1860
1850
  });
1861
1851
  const composedBoxRefs = designSystem.useComposedRefs(blockRef, dropRef);
@@ -1911,6 +1901,7 @@ const DragAndDropElement = ({
1911
1901
  DragIconButton,
1912
1902
  {
1913
1903
  tag: "div",
1904
+ contentEditable: false,
1914
1905
  role: "button",
1915
1906
  tabIndex: 0,
1916
1907
  withTooltip: false,
@@ -1998,8 +1989,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
1998
1989
  [modifiers2]
1999
1990
  );
2000
1991
  const handleMoveBlocks = (editor2, event) => {
2001
- if (!editor2.selection)
2002
- return;
1992
+ if (!editor2.selection) return;
2003
1993
  const start = slate.Range.start(editor2.selection);
2004
1994
  const currentIndex = [start.path[0]];
2005
1995
  let newIndexPosition = 0;
@@ -2136,8 +2126,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
2136
2126
  }
2137
2127
  };
2138
2128
  const handleScrollSelectionIntoView = () => {
2139
- if (!editor.selection)
2140
- return;
2129
+ if (!editor.selection) return;
2141
2130
  const domRange = slateReact.ReactEditor.toDOMRange(editor, editor.selection);
2142
2131
  const domRect = domRange.getBoundingClientRect();
2143
2132
  const blocksInput = blocksRef.current;
@@ -2331,8 +2320,7 @@ const InlineCode = styledComponents.styled.code`
2331
2320
  `;
2332
2321
  const baseCheckIsActive = (editor, name2) => {
2333
2322
  const marks = slate.Editor.marks(editor);
2334
- if (!marks)
2335
- return false;
2323
+ if (!marks) return false;
2336
2324
  return Boolean(marks[name2]);
2337
2325
  };
2338
2326
  const baseHandleToggle = (editor, name2) => {
@@ -2656,7 +2644,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2656
2644
  designSystem.Box,
2657
2645
  {
2658
2646
  tag: "button",
2659
- background: "neutral100",
2647
+ background: disabled ? "neutral150" : "neutral100",
2660
2648
  borderColor: field.error ? "danger600" : "neutral200",
2661
2649
  hasRadius: true,
2662
2650
  disabled,
@@ -2664,32 +2652,32 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2664
2652
  paddingTop: 9,
2665
2653
  paddingBottom: 9,
2666
2654
  type: "button",
2655
+ style: { cursor: disabled ? "not-allowed" : "pointer" },
2667
2656
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2668
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2669
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2670
- id: index.getTranslation("components.empty-repeatable"),
2671
- defaultMessage: "No entry yet. Click on the button below to add one."
2672
- }) }) })
2657
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", color: disabled ? "neutral500" : "primary600", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.PlusCircle, { width: "3.2rem", height: "3.2rem" }) }),
2658
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
2659
+ designSystem.Typography,
2660
+ {
2661
+ textColor: disabled ? "neutral600" : "primary600",
2662
+ variant: "pi",
2663
+ fontWeight: "bold",
2664
+ children: formatMessage({
2665
+ id: index.getTranslation("components.empty-repeatable"),
2666
+ defaultMessage: "No entry yet. Click to add one."
2667
+ })
2668
+ }
2669
+ ) })
2673
2670
  ] })
2674
2671
  }
2675
2672
  ) });
2676
2673
  };
2677
- const CircleIcon = styledComponents.styled(Icons.PlusCircle)`
2678
- width: 2.4rem;
2679
- height: 2.4rem;
2680
- > circle {
2681
- fill: ${({ theme }) => theme.colors.primary200};
2682
- }
2683
- > path {
2684
- fill: ${({ theme }) => theme.colors.primary600};
2685
- }
2686
- `;
2687
2674
  const NonRepeatableComponent = ({
2688
2675
  attribute,
2689
2676
  name: name2,
2690
2677
  children,
2691
2678
  layout
2692
2679
  }) => {
2680
+ const { formatMessage } = reactIntl.useIntl();
2693
2681
  const { value } = strapiAdmin.useField(name2);
2694
2682
  const level = Relations.useComponent("NonRepeatableComponent", (state) => state.level);
2695
2683
  const isNested = level > 0;
@@ -2706,6 +2694,10 @@ const NonRepeatableComponent = ({
2706
2694
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
2707
2695
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2708
2696
  const completeFieldName = `${name2}.${field.name}`;
2697
+ const translatedLabel = formatMessage({
2698
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2699
+ defaultMessage: field.label
2700
+ });
2709
2701
  return /* @__PURE__ */ jsxRuntime.jsx(
2710
2702
  designSystem.Grid.Item,
2711
2703
  {
@@ -2714,7 +2706,7 @@ const NonRepeatableComponent = ({
2714
2706
  xs: 12,
2715
2707
  direction: "column",
2716
2708
  alignItems: "stretch",
2717
- children: children({ ...field, name: completeFieldName })
2709
+ children: children({ ...field, label: translatedLabel, name: completeFieldName })
2718
2710
  },
2719
2711
  completeFieldName
2720
2712
  );
@@ -2736,13 +2728,34 @@ const RepeatableComponent = ({
2736
2728
  const { search: searchString } = reactRouterDom.useLocation();
2737
2729
  const search = React__namespace.useMemo(() => new URLSearchParams(searchString), [searchString]);
2738
2730
  const { components } = index.useDoc();
2739
- const { value = [], error } = strapiAdmin.useField(name2);
2731
+ const {
2732
+ value = [],
2733
+ error,
2734
+ rawError
2735
+ } = strapiAdmin.useField(name2);
2740
2736
  const addFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.addFieldRow);
2741
2737
  const moveFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.moveFieldRow);
2742
2738
  const removeFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.removeFieldRow);
2743
2739
  const { max = Infinity } = attribute;
2744
2740
  const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
2745
2741
  const [liveText, setLiveText] = React__namespace.useState("");
2742
+ React__namespace.useEffect(() => {
2743
+ const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
2744
+ const hasNestedValue = value && Array.isArray(value) && value.length > 0;
2745
+ if (hasNestedErrors && hasNestedValue) {
2746
+ const errorOpenItems = rawError.map((_, idx) => {
2747
+ return value[idx] ? value[idx].__temp_key__ : null;
2748
+ }).filter((value2) => !!value2);
2749
+ if (errorOpenItems && errorOpenItems.length > 0) {
2750
+ setCollapseToOpen((collapseToOpen2) => {
2751
+ if (!errorOpenItems.includes(collapseToOpen2)) {
2752
+ return errorOpenItems[0];
2753
+ }
2754
+ return collapseToOpen2;
2755
+ });
2756
+ }
2757
+ }
2758
+ }, [rawError, value]);
2746
2759
  const componentTmpKeyWithFocussedField = React__namespace.useMemo(() => {
2747
2760
  if (search.has("field")) {
2748
2761
  const fieldParam = search.get("field");
@@ -2757,7 +2770,7 @@ const RepeatableComponent = ({
2757
2770
  }
2758
2771
  return void 0;
2759
2772
  }, [search, name2, value]);
2760
- const prevValue = usePrev.usePrev(value);
2773
+ const prevValue = useDebounce.usePrev(value);
2761
2774
  React__namespace.useEffect(() => {
2762
2775
  if (prevValue && prevValue.length < value.length) {
2763
2776
  setCollapseToOpen(value[value.length - 1].__temp_key__);
@@ -2895,6 +2908,10 @@ const RepeatableComponent = ({
2895
2908
  children: layout.map((row, index22) => {
2896
2909
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2897
2910
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2911
+ const translatedLabel = formatMessage({
2912
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2913
+ defaultMessage: field.label
2914
+ });
2898
2915
  return /* @__PURE__ */ jsxRuntime.jsx(
2899
2916
  designSystem.Grid.Item,
2900
2917
  {
@@ -2903,7 +2920,11 @@ const RepeatableComponent = ({
2903
2920
  xs: 12,
2904
2921
  direction: "column",
2905
2922
  alignItems: "stretch",
2906
- children: children({ ...field, name: completeFieldName })
2923
+ children: children({
2924
+ ...field,
2925
+ label: translatedLabel,
2926
+ name: completeFieldName
2927
+ })
2907
2928
  },
2908
2929
  completeFieldName
2909
2930
  );
@@ -3290,18 +3311,6 @@ const NotAllowedInput = ({ hint, label, required, name: name2 }) => {
3290
3311
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
3291
3312
  ] });
3292
3313
  };
3293
- function useDebounce(value, delay) {
3294
- const [debouncedValue, setDebouncedValue] = React.useState(value);
3295
- React.useEffect(() => {
3296
- const handler = setTimeout(() => {
3297
- setDebouncedValue(value);
3298
- }, delay);
3299
- return () => {
3300
- clearTimeout(handler);
3301
- };
3302
- }, [value, delay]);
3303
- return debouncedValue;
3304
- }
3305
3314
  const uidApi = index.contentManagerApi.injectEndpoints({
3306
3315
  endpoints: (builder) => ({
3307
3316
  getDefaultUID: builder.query({
@@ -3353,7 +3362,7 @@ const UIDInput = React__namespace.forwardRef(
3353
3362
  const [showRegenerate, setShowRegenerate] = React__namespace.useState(false);
3354
3363
  const isCloning = reactRouterDom.useMatch(index.CLONE_PATH) !== null;
3355
3364
  const field = strapiAdmin.useField(name2);
3356
- const debouncedValue = useDebounce(field.value, 300);
3365
+ const debouncedValue = useDebounce.useDebounce(field.value, 300);
3357
3366
  const hasChanged = debouncedValue !== field.initialValue;
3358
3367
  const { toggleNotification } = strapiAdmin.useNotification();
3359
3368
  const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
@@ -3759,8 +3768,7 @@ const Wrapper = styledComponents.styled.div`
3759
3768
  `;
3760
3769
  var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/, unorderedListRE = /[*+-]\s/;
3761
3770
  function newlineAndIndentContinueMarkdownList(cm) {
3762
- if (cm.getOption("disableInput"))
3763
- return CodeMirror__default.default.Pass;
3771
+ if (cm.getOption("disableInput")) return CodeMirror__default.default.Pass;
3764
3772
  var ranges = cm.listSelections(), replacements = [];
3765
3773
  for (var i = 0; i < ranges.length; i++) {
3766
3774
  var pos = ranges[i].head;
@@ -3794,8 +3802,7 @@ function newlineAndIndentContinueMarkdownList(cm) {
3794
3802
  var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0);
3795
3803
  var bullet = numbered ? parseInt(match[3], 10) + 1 + match[4] : match[2].replace("x", " ");
3796
3804
  replacements[i] = "\n" + indent + bullet + after;
3797
- if (numbered)
3798
- incrementRemainingMarkdownListNumbers(cm, pos);
3805
+ if (numbered) incrementRemainingMarkdownListNumbers(cm, pos);
3799
3806
  }
3800
3807
  }
3801
3808
  cm.replaceSelections(replacements);
@@ -3813,10 +3820,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
3813
3820
  var newNumber = parseInt(startItem[3], 10) + lookAhead - skipCount;
3814
3821
  var nextNumber = parseInt(nextItem[3], 10), itemNumber = nextNumber;
3815
3822
  if (startIndent === nextIndent && !isNaN(nextNumber)) {
3816
- if (newNumber === nextNumber)
3817
- itemNumber = nextNumber + 1;
3818
- if (newNumber > nextNumber)
3819
- itemNumber = newNumber + 1;
3823
+ if (newNumber === nextNumber) itemNumber = nextNumber + 1;
3824
+ if (newNumber > nextNumber) itemNumber = newNumber + 1;
3820
3825
  cm.replaceRange(
3821
3826
  nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]),
3822
3827
  {
@@ -3829,10 +3834,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
3829
3834
  }
3830
3835
  );
3831
3836
  } else {
3832
- if (startIndent.length > nextIndent.length)
3833
- return;
3834
- if (startIndent.length < nextIndent.length && lookAhead === 1)
3835
- return;
3837
+ if (startIndent.length > nextIndent.length) return;
3838
+ if (startIndent.length < nextIndent.length && lookAhead === 1) return;
3836
3839
  skipCount += 1;
3837
3840
  }
3838
3841
  }
@@ -4619,31 +4622,11 @@ const quoteAndCodeHandler = (editor, markdownType) => {
4619
4622
  insertWithoutTextToEdit(editor, markdownType, line, contentLength);
4620
4623
  }
4621
4624
  };
4622
- const CustomIconButton = styledComponents.styled(designSystem.IconButton)`
4623
- padding: ${({ theme }) => theme.spaces[2]};
4624
-
4625
- svg {
4626
- width: 1.8rem;
4627
- height: 1.8rem;
4628
- }
4629
- `;
4630
- const CustomLinkIconButton = styledComponents.styled(CustomIconButton)`
4631
- svg {
4632
- width: 0.8rem;
4633
- height: 0.8rem;
4634
- }
4635
- `;
4636
4625
  const MainButtons = styledComponents.styled(designSystem.IconButtonGroup)`
4637
4626
  margin-left: ${({ theme }) => theme.spaces[4]};
4638
4627
  `;
4639
4628
  const MoreButton = styledComponents.styled(designSystem.IconButton)`
4640
4629
  margin: ${({ theme }) => `0 ${theme.spaces[2]}`};
4641
- padding: ${({ theme }) => theme.spaces[2]};
4642
-
4643
- svg {
4644
- width: 1.8rem;
4645
- height: 1.8rem;
4646
- }
4647
4630
  `;
4648
4631
  const IconButtonGroupMargin = styledComponents.styled(designSystem.IconButtonGroup)`
4649
4632
  margin-right: ${({ theme }) => `${theme.spaces[2]}`};
@@ -4727,9 +4710,9 @@ const WysiwygNav = ({
4727
4710
  }
4728
4711
  ) }),
4729
4712
  /* @__PURE__ */ jsxRuntime.jsxs(MainButtons, { children: [
4730
- /* @__PURE__ */ jsxRuntime.jsx(CustomIconButton, { disabled: true, label: "Bold", name: "Bold", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {}) }),
4731
- /* @__PURE__ */ jsxRuntime.jsx(CustomIconButton, { disabled: true, label: "Italic", name: "Italic", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Italic, {}) }),
4732
- /* @__PURE__ */ jsxRuntime.jsx(CustomIconButton, { disabled: true, label: "Underline", name: "Underline", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Underline, {}) })
4713
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { disabled: true, label: "Bold", name: "Bold", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {}) }),
4714
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { disabled: true, label: "Italic", name: "Italic", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Italic, {}) }),
4715
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { disabled: true, label: "Underline", name: "Underline", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Underline, {}) })
4733
4716
  ] }),
4734
4717
  /* @__PURE__ */ jsxRuntime.jsx(MoreButton, { disabled: true, label: "More", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.More, {}) })
4735
4718
  ] }),
@@ -4768,17 +4751,9 @@ const WysiwygNav = ({
4768
4751
  }
4769
4752
  ) }),
4770
4753
  /* @__PURE__ */ jsxRuntime.jsxs(MainButtons, { children: [
4754
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { onClick: () => onActionClick("Bold", editorRef), label: "Bold", name: "Bold", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {}) }),
4771
4755
  /* @__PURE__ */ jsxRuntime.jsx(
4772
- CustomIconButton,
4773
- {
4774
- onClick: () => onActionClick("Bold", editorRef),
4775
- label: "Bold",
4776
- name: "Bold",
4777
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Bold, {})
4778
- }
4779
- ),
4780
- /* @__PURE__ */ jsxRuntime.jsx(
4781
- CustomIconButton,
4756
+ designSystem.IconButton,
4782
4757
  {
4783
4758
  onClick: () => onActionClick("Italic", editorRef),
4784
4759
  label: "Italic",
@@ -4787,7 +4762,7 @@ const WysiwygNav = ({
4787
4762
  }
4788
4763
  ),
4789
4764
  /* @__PURE__ */ jsxRuntime.jsx(
4790
- CustomIconButton,
4765
+ designSystem.IconButton,
4791
4766
  {
4792
4767
  onClick: () => onActionClick("Underline", editorRef),
4793
4768
  label: "Underline",
@@ -4801,7 +4776,7 @@ const WysiwygNav = ({
4801
4776
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { sideOffset: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 2, children: [
4802
4777
  /* @__PURE__ */ jsxRuntime.jsxs(IconButtonGroupMargin, { children: [
4803
4778
  /* @__PURE__ */ jsxRuntime.jsx(
4804
- CustomIconButton,
4779
+ designSystem.IconButton,
4805
4780
  {
4806
4781
  onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
4807
4782
  label: "Strikethrough",
@@ -4810,7 +4785,7 @@ const WysiwygNav = ({
4810
4785
  }
4811
4786
  ),
4812
4787
  /* @__PURE__ */ jsxRuntime.jsx(
4813
- CustomIconButton,
4788
+ designSystem.IconButton,
4814
4789
  {
4815
4790
  onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
4816
4791
  label: "BulletList",
@@ -4819,7 +4794,7 @@ const WysiwygNav = ({
4819
4794
  }
4820
4795
  ),
4821
4796
  /* @__PURE__ */ jsxRuntime.jsx(
4822
- CustomIconButton,
4797
+ designSystem.IconButton,
4823
4798
  {
4824
4799
  onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
4825
4800
  label: "NumberList",
@@ -4830,7 +4805,7 @@ const WysiwygNav = ({
4830
4805
  ] }),
4831
4806
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.IconButtonGroup, { children: [
4832
4807
  /* @__PURE__ */ jsxRuntime.jsx(
4833
- CustomIconButton,
4808
+ designSystem.IconButton,
4834
4809
  {
4835
4810
  onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
4836
4811
  label: "Code",
@@ -4839,7 +4814,7 @@ const WysiwygNav = ({
4839
4814
  }
4840
4815
  ),
4841
4816
  /* @__PURE__ */ jsxRuntime.jsx(
4842
- CustomIconButton,
4817
+ designSystem.IconButton,
4843
4818
  {
4844
4819
  onClick: () => {
4845
4820
  handleTogglePopover();
@@ -4851,7 +4826,7 @@ const WysiwygNav = ({
4851
4826
  }
4852
4827
  ),
4853
4828
  /* @__PURE__ */ jsxRuntime.jsx(
4854
- CustomLinkIconButton,
4829
+ designSystem.IconButton,
4855
4830
  {
4856
4831
  onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
4857
4832
  label: "Link",
@@ -4860,7 +4835,7 @@ const WysiwygNav = ({
4860
4835
  }
4861
4836
  ),
4862
4837
  /* @__PURE__ */ jsxRuntime.jsx(
4863
- CustomIconButton,
4838
+ designSystem.IconButton,
4864
4839
  {
4865
4840
  onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
4866
4841
  label: "Quote",
@@ -4938,7 +4913,7 @@ const Wysiwyg = React__namespace.forwardRef(
4938
4913
  const handleSelectAssets = (files) => {
4939
4914
  const formattedFiles = files.map((f) => ({
4940
4915
  alt: f.alternativeText || f.name,
4941
- url: usePrev.prefixFileUrlWithBackendUrl(f.url),
4916
+ url: useDebounce.prefixFileUrlWithBackendUrl(f.url),
4942
4917
  mime: f.mime
4943
4918
  }));
4944
4919
  insertFile(editorRef, formattedFiles);
@@ -4997,15 +4972,19 @@ const Wysiwyg = React__namespace.forwardRef(
4997
4972
  );
4998
4973
  const MemoizedWysiwyg = React__namespace.memo(Wysiwyg);
4999
4974
  const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
5000
- const { id } = index.useDoc();
4975
+ const { id, document: document2, collectionType } = index.useDoc();
5001
4976
  const isFormDisabled = strapiAdmin.useForm("InputRenderer", (state) => state.disabled);
5002
4977
  const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
5003
4978
  const canCreateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
5004
4979
  const canReadFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
5005
4980
  const canUpdateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
5006
4981
  const canUserAction = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
5007
- const editableFields = id ? canUpdateFields : canCreateFields;
5008
- const readableFields = id ? canReadFields : canCreateFields;
4982
+ let idToCheck = id;
4983
+ if (collectionType === index.SINGLE_TYPES) {
4984
+ idToCheck = document2?.documentId;
4985
+ }
4986
+ const editableFields = idToCheck ? canUpdateFields : canCreateFields;
4987
+ const readableFields = idToCheck ? canReadFields : canCreateFields;
5009
4988
  const canUserReadField = canUserAction(props.name, readableFields, props.type);
5010
4989
  const canUserEditField = canUserAction(props.name, editableFields, props.type);
5011
4990
  const fields = strapiAdmin.useStrapiApp("InputRenderer", (app) => app.fields);
@@ -5016,6 +4995,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
5016
4995
  const {
5017
4996
  edit: { components }
5018
4997
  } = index.useDocLayout();
4998
+ const field = strapiAdmin.useField(props.name);
5019
4999
  if (!visible) {
5020
5000
  return null;
5021
5001
  }
@@ -5026,7 +5006,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
5026
5006
  if (attributeHasCustomFieldProperty(props.attribute)) {
5027
5007
  const CustomInput = lazyComponentStore[props.attribute.customField];
5028
5008
  if (CustomInput) {
5029
- return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
5009
+ return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
5030
5010
  }
5031
5011
  return /* @__PURE__ */ jsxRuntime.jsx(
5032
5012
  strapiAdmin.InputRenderer,
@@ -5187,6 +5167,14 @@ const DynamicComponent = ({
5187
5167
  React__namespace.useEffect(() => {
5188
5168
  dragPreviewRef(reactDndHtml5Backend.getEmptyImage(), { captureDraggingState: false });
5189
5169
  }, [dragPreviewRef, index$1]);
5170
+ const accordionValue = React__namespace.useId();
5171
+ const { value = [], rawError } = strapiAdmin.useField(`${name2}.${index$1}`);
5172
+ const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
5173
+ React__namespace.useEffect(() => {
5174
+ if (rawError && value) {
5175
+ setCollapseToOpen(accordionValue);
5176
+ }
5177
+ }, [rawError, value, accordionValue]);
5190
5178
  const composedBoxRefs = designSystem.useComposedRefs(boxRef, dropRef);
5191
5179
  const accordionActions = disabled ? null : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5192
5180
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5252,10 +5240,9 @@ const DynamicComponent = ({
5252
5240
  ] })
5253
5241
  ] });
5254
5242
  const accordionTitle = title ? `${displayName} ${title}` : displayName;
5255
- const accordionValue = React__namespace.useId();
5256
5243
  return /* @__PURE__ */ jsxRuntime.jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
5257
5244
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Rectangle, { background: "neutral200" }) }),
5258
- /* @__PURE__ */ jsxRuntime.jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsxRuntime.jsx(Preview, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Item, { value: accordionValue, children: [
5245
+ /* @__PURE__ */ jsxRuntime.jsx(StyledBox, { ref: composedBoxRefs, hasRadius: true, children: isDragging ? /* @__PURE__ */ jsxRuntime.jsx(Preview, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Root, { value: collapseToOpen, onValueChange: setCollapseToOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Item, { value: accordionValue, children: [
5259
5246
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Header, { children: [
5260
5247
  /* @__PURE__ */ jsxRuntime.jsx(
5261
5248
  designSystem.Accordion.Trigger,
@@ -5266,21 +5253,39 @@ const DynamicComponent = ({
5266
5253
  ),
5267
5254
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
5268
5255
  ] }),
5269
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5270
- const fieldName = `${name2}.${index$1}.${field.name}`;
5271
- return /* @__PURE__ */ jsxRuntime.jsx(
5272
- designSystem.Grid.Item,
5273
- {
5274
- col: size,
5275
- s: 12,
5276
- xs: 12,
5277
- direction: "column",
5278
- alignItems: "stretch",
5279
- children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName })
5280
- },
5281
- fieldName
5282
- );
5283
- }) }, rowInd)) }) }) })
5256
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(
5257
+ designSystem.Grid.Item,
5258
+ {
5259
+ col: 12,
5260
+ s: 12,
5261
+ xs: 12,
5262
+ direction: "column",
5263
+ alignItems: "stretch",
5264
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5265
+ const fieldName = `${name2}.${index$1}.${field.name}`;
5266
+ const fieldWithTranslatedLabel = {
5267
+ ...field,
5268
+ label: formatMessage({
5269
+ id: `content-manager.components.${componentUid}.${field.name}`,
5270
+ defaultMessage: field.label
5271
+ })
5272
+ };
5273
+ return /* @__PURE__ */ jsxRuntime.jsx(
5274
+ designSystem.Grid.Item,
5275
+ {
5276
+ col: size,
5277
+ s: 12,
5278
+ xs: 12,
5279
+ direction: "column",
5280
+ alignItems: "stretch",
5281
+ children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
5282
+ },
5283
+ fieldName
5284
+ );
5285
+ }) })
5286
+ },
5287
+ rowInd
5288
+ )) }) }) }) })
5284
5289
  ] }) }) })
5285
5290
  ] });
5286
5291
  };
@@ -5586,4 +5591,4 @@ exports.transformDocument = transformDocument;
5586
5591
  exports.useDynamicZone = useDynamicZone;
5587
5592
  exports.useFieldHint = useFieldHint;
5588
5593
  exports.useLazyComponents = useLazyComponents;
5589
- //# sourceMappingURL=Field-dq8Tg1M_.js.map
5594
+ //# sourceMappingURL=Field-B9ADaInZ.js.map