@strapi/content-manager 0.0.0-experimental.afa3b513b8f95459043f33fb94f4bac03af1474f → 0.0.0-experimental.b0240412a007bea5d73c29b17c8ce04802fca919

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 (202) 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-G4EIirP8.js → ComponentConfigurationPage-BLWQy8ru.js} +5 -6
  4. package/dist/_chunks/{ComponentConfigurationPage-G4EIirP8.js.map → ComponentConfigurationPage-BLWQy8ru.js.map} +1 -1
  5. package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs → ComponentConfigurationPage-CtIa3aa2.mjs} +4 -4
  6. package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs.map → ComponentConfigurationPage-CtIa3aa2.mjs.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-I2kKh9dx.mjs → EditConfigurationPage-DsPR2DVk.mjs} +4 -4
  11. package/dist/_chunks/{EditConfigurationPage-I2kKh9dx.mjs.map → EditConfigurationPage-DsPR2DVk.mjs.map} +1 -1
  12. package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js → EditConfigurationPage-RQkymxCy.js} +5 -6
  13. package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js.map → EditConfigurationPage-RQkymxCy.js.map} +1 -1
  14. package/dist/_chunks/{EditViewPage-CHgoNwlc.js → EditViewPage-B-kExt8C.js} +50 -11
  15. package/dist/_chunks/EditViewPage-B-kExt8C.js.map +1 -0
  16. package/dist/_chunks/{EditViewPage-zFjJK0s8.mjs → EditViewPage-BPyVuPfM.mjs} +50 -10
  17. package/dist/_chunks/EditViewPage-BPyVuPfM.mjs.map +1 -0
  18. package/dist/_chunks/{Field-9DePZh-0.js → Field-DPIsQRre.js} +243 -144
  19. package/dist/_chunks/Field-DPIsQRre.js.map +1 -0
  20. package/dist/_chunks/{Field-DPAzUS1M.mjs → Field-Dltnt1km.mjs} +241 -142
  21. package/dist/_chunks/Field-Dltnt1km.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-DPm-KZ1A.js → Form-BFi4MXMT.js} +6 -7
  25. package/dist/_chunks/Form-BFi4MXMT.js.map +1 -0
  26. package/dist/_chunks/{Form-CEkENbkF.mjs → Form-C1IcWm1u.mjs} +4 -4
  27. package/dist/_chunks/Form-C1IcWm1u.mjs.map +1 -0
  28. package/dist/_chunks/{History-utls71em.mjs → History-04ChQ4pl.mjs} +71 -104
  29. package/dist/_chunks/History-04ChQ4pl.mjs.map +1 -0
  30. package/dist/_chunks/{History-DXSbTWez.js → History-wjcK4L0C.js} +70 -104
  31. package/dist/_chunks/History-wjcK4L0C.js.map +1 -0
  32. package/dist/_chunks/{ListConfigurationPage-CuMXWWqb.mjs → ListConfigurationPage-BYqPYLSU.mjs} +7 -6
  33. package/dist/_chunks/ListConfigurationPage-BYqPYLSU.mjs.map +1 -0
  34. package/dist/_chunks/{ListConfigurationPage-D5C7ACZ_.js → ListConfigurationPage-CRbxIC3J.js} +7 -7
  35. package/dist/_chunks/ListConfigurationPage-CRbxIC3J.js.map +1 -0
  36. package/dist/_chunks/{ListViewPage-DfuwH1tt.js → ListViewPage-D5NY9183.js} +64 -42
  37. package/dist/_chunks/ListViewPage-D5NY9183.js.map +1 -0
  38. package/dist/_chunks/{ListViewPage-CdKd-PS_.mjs → ListViewPage-FU2LBuhl.mjs} +63 -40
  39. package/dist/_chunks/ListViewPage-FU2LBuhl.mjs.map +1 -0
  40. package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js → NoContentTypePage-BgQVE_Qb.js} +2 -2
  41. package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js.map → NoContentTypePage-BgQVE_Qb.js.map} +1 -1
  42. package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs → NoContentTypePage-DCKUkwb8.mjs} +2 -2
  43. package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs.map → NoContentTypePage-DCKUkwb8.mjs.map} +1 -1
  44. package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js → NoPermissionsPage-C5jwn70o.js} +2 -2
  45. package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js.map → NoPermissionsPage-C5jwn70o.js.map} +1 -1
  46. package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs → NoPermissionsPage-jqve7C8l.mjs} +2 -2
  47. package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs.map → NoPermissionsPage-jqve7C8l.mjs.map} +1 -1
  48. package/dist/_chunks/Preview-BMYN548c.mjs +294 -0
  49. package/dist/_chunks/Preview-BMYN548c.mjs.map +1 -0
  50. package/dist/_chunks/Preview-DaOihysv.js +312 -0
  51. package/dist/_chunks/Preview-DaOihysv.js.map +1 -0
  52. package/dist/_chunks/{Relations-CFjTESWQ.js → Relations-CTGM7Hv5.js} +75 -42
  53. package/dist/_chunks/Relations-CTGM7Hv5.js.map +1 -0
  54. package/dist/_chunks/{Relations-QP5yn9_z.mjs → Relations-gscPkxjF.mjs} +75 -41
  55. package/dist/_chunks/Relations-gscPkxjF.mjs.map +1 -0
  56. package/dist/_chunks/{en-BVzUkPxZ.js → en-BzQmavmK.js} +28 -11
  57. package/dist/_chunks/{en-BVzUkPxZ.js.map → en-BzQmavmK.js.map} +1 -1
  58. package/dist/_chunks/{en-CPTj6CjC.mjs → en-CSxLmrh1.mjs} +28 -11
  59. package/dist/_chunks/{en-CPTj6CjC.mjs.map → en-CSxLmrh1.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-DXiHxy70.js → index-Ca7YWlAA.js} +981 -722
  70. package/dist/_chunks/index-Ca7YWlAA.js.map +1 -0
  71. package/dist/_chunks/{index-BHfS6_D5.mjs → index-DqasUQ6Q.mjs} +983 -724
  72. package/dist/_chunks/index-DqasUQ6Q.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-bE-WUnQ0.js → layout-BW80JSCd.js} +5 -6
  78. package/dist/_chunks/{layout-bE-WUnQ0.js.map → layout-BW80JSCd.js.map} +1 -1
  79. package/dist/_chunks/{layout-DX_52HSH.mjs → layout-W3clJSCy.mjs} +4 -4
  80. package/dist/_chunks/{layout-DX_52HSH.mjs.map → layout-W3clJSCy.mjs.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-SCVAL_aJ.mjs → relations-BlDkoeWh.mjs} +6 -7
  86. package/dist/_chunks/relations-BlDkoeWh.mjs.map +1 -0
  87. package/dist/_chunks/{relations-D706vblp.js → relations-C9Usz9k5.js} +6 -7
  88. package/dist/_chunks/relations-C9Usz9k5.js.map +1 -0
  89. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -1
  90. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -1
  91. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js → useDragAndDrop-BMtgCYzL.js} +5 -9
  92. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js.map → useDragAndDrop-BMtgCYzL.js.map} +1 -1
  93. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs → useDragAndDrop-DJ6jqvZN.mjs} +4 -7
  94. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs.map → useDragAndDrop-DJ6jqvZN.mjs.map} +1 -1
  95. package/dist/admin/index.js +3 -1
  96. package/dist/admin/index.js.map +1 -1
  97. package/dist/admin/index.mjs +5 -3
  98. package/dist/admin/src/content-manager.d.ts +3 -2
  99. package/dist/admin/src/exports.d.ts +2 -1
  100. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  101. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  102. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  103. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
  104. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
  105. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +7 -0
  106. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
  107. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
  108. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
  109. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
  110. package/dist/admin/src/pages/EditView/components/Header.d.ts +1 -0
  111. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  112. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  113. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  114. package/dist/admin/src/preview/index.d.ts +4 -0
  115. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  116. package/dist/admin/src/preview/routes.d.ts +3 -0
  117. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  118. package/dist/admin/src/router.d.ts +1 -1
  119. package/dist/admin/src/services/api.d.ts +1 -1
  120. package/dist/admin/src/services/components.d.ts +2 -2
  121. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  122. package/dist/admin/src/services/documents.d.ts +16 -19
  123. package/dist/admin/src/services/init.d.ts +1 -1
  124. package/dist/admin/src/services/relations.d.ts +2 -2
  125. package/dist/admin/src/services/uid.d.ts +3 -3
  126. package/dist/server/index.js +587 -331
  127. package/dist/server/index.js.map +1 -1
  128. package/dist/server/index.mjs +588 -331
  129. package/dist/server/index.mjs.map +1 -1
  130. package/dist/server/src/bootstrap.d.ts.map +1 -1
  131. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  132. package/dist/server/src/controllers/index.d.ts.map +1 -1
  133. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  134. package/dist/server/src/controllers/utils/metadata.d.ts +16 -1
  135. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  136. package/dist/server/src/history/controllers/history-version.d.ts +1 -1
  137. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  138. package/dist/server/src/history/services/history.d.ts +3 -3
  139. package/dist/server/src/history/services/history.d.ts.map +1 -1
  140. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  141. package/dist/server/src/history/services/utils.d.ts +6 -11
  142. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  143. package/dist/server/src/index.d.ts +7 -6
  144. package/dist/server/src/index.d.ts.map +1 -1
  145. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  146. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  147. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  148. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  149. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  150. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  151. package/dist/server/src/preview/index.d.ts +4 -0
  152. package/dist/server/src/preview/index.d.ts.map +1 -0
  153. package/dist/server/src/preview/routes/index.d.ts +8 -0
  154. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  155. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  156. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  157. package/dist/server/src/preview/services/index.d.ts +16 -0
  158. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  159. package/dist/server/src/preview/services/preview-config.d.ts +32 -0
  160. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  161. package/dist/server/src/preview/services/preview.d.ts +12 -0
  162. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  163. package/dist/server/src/preview/utils.d.ts +19 -0
  164. package/dist/server/src/preview/utils.d.ts.map +1 -0
  165. package/dist/server/src/register.d.ts.map +1 -1
  166. package/dist/server/src/routes/index.d.ts.map +1 -1
  167. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  168. package/dist/server/src/services/document-metadata.d.ts +12 -10
  169. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  170. package/dist/server/src/services/index.d.ts +7 -6
  171. package/dist/server/src/services/index.d.ts.map +1 -1
  172. package/dist/server/src/services/utils/populate.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/index.d.ts +1 -0
  177. package/dist/shared/contracts/index.d.ts.map +1 -1
  178. package/dist/shared/contracts/preview.d.ts +27 -0
  179. package/dist/shared/contracts/preview.d.ts.map +1 -0
  180. package/dist/shared/index.js +4 -0
  181. package/dist/shared/index.js.map +1 -1
  182. package/dist/shared/index.mjs +4 -0
  183. package/dist/shared/index.mjs.map +1 -1
  184. package/package.json +14 -13
  185. package/dist/_chunks/EditViewPage-CHgoNwlc.js.map +0 -1
  186. package/dist/_chunks/EditViewPage-zFjJK0s8.mjs.map +0 -1
  187. package/dist/_chunks/Field-9DePZh-0.js.map +0 -1
  188. package/dist/_chunks/Field-DPAzUS1M.mjs.map +0 -1
  189. package/dist/_chunks/Form-CEkENbkF.mjs.map +0 -1
  190. package/dist/_chunks/Form-DPm-KZ1A.js.map +0 -1
  191. package/dist/_chunks/History-DXSbTWez.js.map +0 -1
  192. package/dist/_chunks/History-utls71em.mjs.map +0 -1
  193. package/dist/_chunks/ListConfigurationPage-CuMXWWqb.mjs.map +0 -1
  194. package/dist/_chunks/ListConfigurationPage-D5C7ACZ_.js.map +0 -1
  195. package/dist/_chunks/ListViewPage-CdKd-PS_.mjs.map +0 -1
  196. package/dist/_chunks/ListViewPage-DfuwH1tt.js.map +0 -1
  197. package/dist/_chunks/Relations-CFjTESWQ.js.map +0 -1
  198. package/dist/_chunks/Relations-QP5yn9_z.mjs.map +0 -1
  199. package/dist/_chunks/index-BHfS6_D5.mjs.map +0 -1
  200. package/dist/_chunks/index-DXiHxy70.js.map +0 -1
  201. package/dist/_chunks/relations-D706vblp.js.map +0 -1
  202. package/dist/_chunks/relations-SCVAL_aJ.mjs.map +0 -1
@@ -5,18 +5,69 @@ 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-DXiHxy70.js");
8
+ const index = require("./index-Ca7YWlAA.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-CFjTESWQ.js");
10
+ const Relations = require("./Relations-CTGM7Hv5.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 Prism = require("prismjs");
21
+ require("prismjs/themes/prism-solarizedlight.css");
22
+ require("prismjs/components/prism-asmatmel");
23
+ require("prismjs/components/prism-bash");
24
+ require("prismjs/components/prism-basic");
25
+ require("prismjs/components/prism-c");
26
+ require("prismjs/components/prism-clojure");
27
+ require("prismjs/components/prism-cobol");
28
+ require("prismjs/components/prism-cpp");
29
+ require("prismjs/components/prism-csharp");
30
+ require("prismjs/components/prism-dart");
31
+ require("prismjs/components/prism-docker");
32
+ require("prismjs/components/prism-elixir");
33
+ require("prismjs/components/prism-erlang");
34
+ require("prismjs/components/prism-fortran");
35
+ require("prismjs/components/prism-fsharp");
36
+ require("prismjs/components/prism-go");
37
+ require("prismjs/components/prism-graphql");
38
+ require("prismjs/components/prism-groovy");
39
+ require("prismjs/components/prism-haskell");
40
+ require("prismjs/components/prism-haxe");
41
+ require("prismjs/components/prism-ini");
42
+ require("prismjs/components/prism-java");
43
+ require("prismjs/components/prism-javascript");
44
+ require("prismjs/components/prism-jsx");
45
+ require("prismjs/components/prism-json");
46
+ require("prismjs/components/prism-julia");
47
+ require("prismjs/components/prism-kotlin");
48
+ require("prismjs/components/prism-latex");
49
+ require("prismjs/components/prism-lua");
50
+ require("prismjs/components/prism-markdown");
51
+ require("prismjs/components/prism-matlab");
52
+ require("prismjs/components/prism-makefile");
53
+ require("prismjs/components/prism-objectivec");
54
+ require("prismjs/components/prism-perl");
55
+ require("prismjs/components/prism-php");
56
+ require("prismjs/components/prism-powershell");
57
+ require("prismjs/components/prism-python");
58
+ require("prismjs/components/prism-r");
59
+ require("prismjs/components/prism-ruby");
60
+ require("prismjs/components/prism-rust");
61
+ require("prismjs/components/prism-sas");
62
+ require("prismjs/components/prism-scala");
63
+ require("prismjs/components/prism-scheme");
64
+ require("prismjs/components/prism-sql");
65
+ require("prismjs/components/prism-stata");
66
+ require("prismjs/components/prism-swift");
67
+ require("prismjs/components/prism-typescript");
68
+ require("prismjs/components/prism-tsx");
69
+ require("prismjs/components/prism-vbnet");
70
+ require("prismjs/components/prism-yaml");
20
71
  const useDebounce = require("./useDebounce-CtcjDB3L.js");
21
72
  const Toolbar = require("@radix-ui/react-toolbar");
22
73
  const reactRouterDom = require("react-router-dom");
@@ -37,8 +88,7 @@ require("highlight.js/styles/solarized-dark.css");
37
88
  require("codemirror5/addon/display/placeholder");
38
89
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
39
90
  function _interopNamespace(e) {
40
- if (e && e.__esModule)
41
- return e;
91
+ if (e && e.__esModule) return e;
42
92
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
43
93
  if (e) {
44
94
  for (const k in e) {
@@ -56,6 +106,7 @@ function _interopNamespace(e) {
56
106
  }
57
107
  const React__namespace = /* @__PURE__ */ _interopNamespace(React);
58
108
  const pipe__default = /* @__PURE__ */ _interopDefault(pipe$1);
109
+ const Prism__namespace = /* @__PURE__ */ _interopNamespace(Prism);
59
110
  const Toolbar__namespace = /* @__PURE__ */ _interopNamespace(Toolbar);
60
111
  const CodeMirror__default = /* @__PURE__ */ _interopDefault(CodeMirror);
61
112
  const sanitizeHtml__default = /* @__PURE__ */ _interopDefault(sanitizeHtml);
@@ -197,7 +248,8 @@ const useLazyComponents = (componentUids = []) => {
197
248
  const codeLanguages = [
198
249
  {
199
250
  value: "asm",
200
- label: "Assembly"
251
+ label: "Assembly",
252
+ decorate: "asmatmel"
201
253
  },
202
254
  {
203
255
  value: "bash",
@@ -233,7 +285,8 @@ const codeLanguages = [
233
285
  },
234
286
  {
235
287
  value: "dockerfile",
236
- label: "Dockerfile"
288
+ label: "Dockerfile",
289
+ decorate: "docker"
237
290
  },
238
291
  {
239
292
  value: "elixir",
@@ -389,7 +442,8 @@ const codeLanguages = [
389
442
  },
390
443
  {
391
444
  value: "typescript",
392
- label: "TypeScript"
445
+ label: "TypeScript",
446
+ decorate: "ts"
393
447
  },
394
448
  {
395
449
  value: "tsx",
@@ -405,7 +459,8 @@ const codeLanguages = [
405
459
  },
406
460
  {
407
461
  value: "yaml",
408
- label: "YAML"
462
+ label: "YAML",
463
+ decorate: "yml"
409
464
  }
410
465
  ];
411
466
  const baseHandleConvert = (editor, attributesToSet) => {
@@ -471,6 +526,29 @@ const pressEnterTwiceToExit = (editor) => {
471
526
  });
472
527
  }
473
528
  };
529
+ const decorateCode = ([node, path]) => {
530
+ const ranges = [];
531
+ if (!slate.Element.isElement(node) || node.type !== "code") return ranges;
532
+ const text = slate.Node.string(node);
533
+ const language = codeLanguages.find((lang) => lang.value === node.language);
534
+ const decorateKey = language?.decorate ?? language?.value;
535
+ const selectedLanguage = Prism__namespace.languages[decorateKey || "plaintext"];
536
+ const tokens = Prism__namespace.tokenize(text, selectedLanguage);
537
+ let start = 0;
538
+ for (const token of tokens) {
539
+ const length = token.length;
540
+ const end = start + length;
541
+ if (typeof token !== "string") {
542
+ ranges.push({
543
+ anchor: { path, offset: start },
544
+ focus: { path, offset: end },
545
+ className: `token ${token.type}`
546
+ });
547
+ }
548
+ start = end;
549
+ }
550
+ return ranges;
551
+ };
474
552
  const CodeBlock = styledComponents.styled.pre`
475
553
  border-radius: ${({ theme }) => theme.borderRadius};
476
554
  background-color: ${({ theme }) => theme.colors.neutral100};
@@ -542,7 +620,7 @@ const CodeEditor = (props) => {
542
620
  const codeBlocks = {
543
621
  code: {
544
622
  renderElement: (props) => /* @__PURE__ */ jsxRuntime.jsx(CodeEditor, { ...props }),
545
- icon: Icons.Code,
623
+ icon: Icons.CodeBlock,
546
624
  label: {
547
625
  id: "components.Blocks.blocks.code",
548
626
  defaultMessage: "Code block"
@@ -555,8 +633,7 @@ const codeBlocks = {
555
633
  handleEnterKey(editor) {
556
634
  pressEnterTwiceToExit(editor);
557
635
  },
558
- snippets: ["```"],
559
- dragHandleTopMargin: "10px"
636
+ snippets: ["```"]
560
637
  }
561
638
  };
562
639
  const H1 = styledComponents.styled(designSystem.Typography).attrs({ tag: "h1" })`
@@ -731,8 +808,7 @@ const ImageDialog = () => {
731
808
  const [isOpen, setIsOpen] = React__namespace.useState(true);
732
809
  const { editor } = useBlocksEditorContext("ImageDialog");
733
810
  const components = strapiAdmin.useStrapiApp("ImageDialog", (state) => state.components);
734
- if (!components || !isOpen)
735
- return null;
811
+ if (!components || !isOpen) return null;
736
812
  const MediaLibraryDialog = components["media-library"];
737
813
  const insertImages = (images) => {
738
814
  slate.Transforms.unwrapNodes(editor, {
@@ -741,14 +817,12 @@ const ImageDialog = () => {
741
817
  });
742
818
  const nodeEntryBeingReplaced = slate.Editor.above(editor, {
743
819
  match(node) {
744
- if (slate.Editor.isEditor(node))
745
- return false;
820
+ if (slate.Editor.isEditor(node)) return false;
746
821
  const isInlineNode = ["text", "link"].includes(node.type);
747
822
  return !isInlineNode;
748
823
  }
749
824
  });
750
- if (!nodeEntryBeingReplaced)
751
- return;
825
+ if (!nodeEntryBeingReplaced) return;
752
826
  const [, pathToInsert] = nodeEntryBeingReplaced;
753
827
  slate.Transforms.removeNodes(editor);
754
828
  const nodesToInsert = images.map((image) => {
@@ -926,8 +1000,7 @@ const LinkContent = React__namespace.forwardRef(
926
1000
  slateReact.ReactEditor.focus(editor);
927
1001
  };
928
1002
  React__namespace.useEffect(() => {
929
- if (popoverOpen)
930
- linkInputRef.current?.focus();
1003
+ if (popoverOpen) linkInputRef.current?.focus();
931
1004
  }, [popoverOpen]);
932
1005
  const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
933
1006
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { open: popoverOpen, children: [
@@ -997,11 +1070,11 @@ const LinkContent = React__namespace.forwardRef(
997
1070
  ),
998
1071
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
999
1072
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: handleClose, children: formatMessage({
1000
- id: "components.Blocks.popover.cancel",
1073
+ id: "global.cancel",
1001
1074
  defaultMessage: "Cancel"
1002
1075
  }) }),
1003
1076
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { disabled: Boolean(inputNotDirty) || isSaveDisabled, onClick: handleSave, children: formatMessage({
1004
- id: "components.Blocks.popover.save",
1077
+ id: "global.save",
1005
1078
  defaultMessage: "Save"
1006
1079
  }) })
1007
1080
  ] })
@@ -1082,8 +1155,7 @@ const isText$1 = (node) => {
1082
1155
  return slate.Node.isNode(node) && !slate.Editor.isEditor(node) && node.type === "text";
1083
1156
  };
1084
1157
  const handleBackspaceKeyOnList = (editor, event) => {
1085
- if (!editor.selection)
1086
- return;
1158
+ if (!editor.selection) return;
1087
1159
  const [currentListItem, currentListItemPath] = slate.Editor.parent(editor, editor.selection.anchor);
1088
1160
  const [currentList, currentListPath] = slate.Editor.parent(editor, currentListItemPath);
1089
1161
  const isListEmpty = currentList.children.length === 1 && isText$1(currentListItem.children[0]) && currentListItem.children[0].text === "";
@@ -1192,8 +1264,7 @@ const handleEnterKeyOnList = (editor) => {
1192
1264
  };
1193
1265
  const handleConvertToList = (editor, format) => {
1194
1266
  const convertedPath = baseHandleConvert(editor, { type: "list-item" });
1195
- if (!convertedPath)
1196
- return;
1267
+ if (!convertedPath) return;
1197
1268
  slate.Transforms.wrapNodes(editor, { type: "list", format, children: [] }, { at: convertedPath });
1198
1269
  };
1199
1270
  const handleTabOnList = (editor) => {
@@ -1205,8 +1276,7 @@ const handleTabOnList = (editor) => {
1205
1276
  }
1206
1277
  const [currentListItem, currentListItemPath] = currentListItemEntry;
1207
1278
  const [currentList] = slate.Editor.parent(editor, currentListItemPath);
1208
- if (currentListItem === currentList.children[0])
1209
- return;
1279
+ if (currentListItem === currentList.children[0]) return;
1210
1280
  const currentListItemIndex = currentList.children.findIndex((item) => item === currentListItem);
1211
1281
  const previousNode = currentList.children[currentListItemIndex - 1];
1212
1282
  if (previousNode.type === "list") {
@@ -1342,13 +1412,13 @@ const quoteBlocks = {
1342
1412
  handleEnterKey(editor) {
1343
1413
  pressEnterTwiceToExit(editor);
1344
1414
  },
1345
- snippets: [">"],
1346
- dragHandleTopMargin: "6px"
1415
+ snippets: [">"]
1347
1416
  }
1348
1417
  };
1349
1418
  const ToolbarWrapper = styledComponents.styled(designSystem.Flex)`
1350
1419
  &[aria-disabled='true'] {
1351
1420
  cursor: not-allowed;
1421
+ background: ${({ theme }) => theme.colors.neutral150};
1352
1422
  }
1353
1423
  `;
1354
1424
  const Separator = styledComponents.styled(Toolbar__namespace.Separator)`
@@ -1359,7 +1429,7 @@ const Separator = styledComponents.styled(Toolbar__namespace.Separator)`
1359
1429
  const FlexButton = styledComponents.styled(designSystem.Flex)`
1360
1430
  // Inherit the not-allowed cursor from ToolbarWrapper when disabled
1361
1431
  &[aria-disabled] {
1362
- cursor: inherit;
1432
+ cursor: not-allowed;
1363
1433
  }
1364
1434
 
1365
1435
  &[aria-disabled='false'] {
@@ -1573,8 +1643,7 @@ const isListNode = (node) => {
1573
1643
  const ListButton = ({ block, format }) => {
1574
1644
  const { editor, disabled, blocks } = useBlocksEditorContext("ListButton");
1575
1645
  const isListActive = () => {
1576
- if (!editor.selection)
1577
- return false;
1646
+ if (!editor.selection) return false;
1578
1647
  const currentListEntry = slate.Editor.above(editor, {
1579
1648
  match: (node) => !slate.Editor.isEditor(node) && node.type === "list",
1580
1649
  at: editor.selection.anchor
@@ -1648,8 +1717,7 @@ const LinkButton = ({ disabled }) => {
1648
1717
  const { editor } = useBlocksEditorContext("LinkButton");
1649
1718
  const isLinkActive = () => {
1650
1719
  const { selection } = editor;
1651
- if (!selection)
1652
- return false;
1720
+ if (!selection) return false;
1653
1721
  const [match] = Array.from(
1654
1722
  slate.Editor.nodes(editor, {
1655
1723
  at: slate.Editor.unhangRange(editor, selection),
@@ -1713,7 +1781,7 @@ const BlocksToolbar = () => {
1713
1781
  return false;
1714
1782
  };
1715
1783
  const isButtonDisabled = checkButtonDisabled();
1716
- return /* @__PURE__ */ jsxRuntime.jsx(Toolbar__namespace.Root, { "aria-disabled": disabled, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(ToolbarWrapper, { gap: 2, padding: 2, children: [
1784
+ return /* @__PURE__ */ jsxRuntime.jsx(Toolbar__namespace.Root, { "aria-disabled": disabled, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(ToolbarWrapper, { gap: 2, padding: 2, width: "100%", children: [
1717
1785
  /* @__PURE__ */ jsxRuntime.jsx(BlocksDropdown, {}),
1718
1786
  /* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
1719
1787
  /* @__PURE__ */ jsxRuntime.jsx(Toolbar__namespace.ToggleGroup, { type: "multiple", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, children: [
@@ -1787,30 +1855,32 @@ const DragIconButton = styledComponents.styled(designSystem.IconButton)`
1787
1855
  display: flex;
1788
1856
  align-items: center;
1789
1857
  justify-content: center;
1858
+ border: none;
1790
1859
  border-radius: ${({ theme }) => theme.borderRadius};
1791
- width: ${({ theme }) => theme.spaces[4]};
1792
- height: ${({ theme }) => theme.spaces[6]};
1860
+ padding-left: ${({ theme }) => theme.spaces[0]};
1861
+ padding-right: ${({ theme }) => theme.spaces[0]};
1862
+ padding-top: ${({ theme }) => theme.spaces[1]};
1863
+ padding-bottom: ${({ theme }) => theme.spaces[1]};
1793
1864
  visibility: hidden;
1794
1865
  cursor: grab;
1795
1866
  opacity: inherit;
1796
1867
  margin-top: ${(props) => props.$dragHandleTopMargin ?? 0};
1797
1868
 
1798
1869
  &:hover {
1799
- background: ${({ theme }) => theme.colors.neutral200};
1870
+ background: ${({ theme }) => theme.colors.neutral100};
1800
1871
  }
1801
1872
  &:active {
1802
1873
  cursor: grabbing;
1874
+ background: ${({ theme }) => theme.colors.neutral150};
1803
1875
  }
1804
1876
  &[aria-disabled='true'] {
1805
- cursor: not-allowed;
1806
- background: transparent;
1877
+ visibility: hidden;
1807
1878
  }
1808
1879
  svg {
1809
- height: auto;
1810
1880
  min-width: ${({ theme }) => theme.spaces[3]};
1811
1881
 
1812
1882
  path {
1813
- fill: ${({ theme }) => theme.colors.neutral700};
1883
+ fill: ${({ theme }) => theme.colors.neutral500};
1814
1884
  }
1815
1885
  }
1816
1886
  `;
@@ -1855,8 +1925,7 @@ const DragAndDropElement = ({
1855
1925
  displayedValue: children
1856
1926
  },
1857
1927
  onDropItem(currentIndex, newIndex) {
1858
- if (newIndex)
1859
- handleMoveBlock(newIndex, currentIndex);
1928
+ if (newIndex) handleMoveBlock(newIndex, currentIndex);
1860
1929
  }
1861
1930
  });
1862
1931
  const composedBoxRefs = designSystem.useComposedRefs(blockRef, dropRef);
@@ -1962,7 +2031,7 @@ const baseRenderLeaf = (props, modifiers2) => {
1962
2031
  }
1963
2032
  return currentChildren;
1964
2033
  }, props.children);
1965
- return /* @__PURE__ */ jsxRuntime.jsx("span", { ...props.attributes, children: wrappedChildren });
2034
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { ...props.attributes, className: props.leaf.className, children: wrappedChildren });
1966
2035
  };
1967
2036
  const baseRenderElement = ({
1968
2037
  props,
@@ -2000,8 +2069,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
2000
2069
  [modifiers2]
2001
2070
  );
2002
2071
  const handleMoveBlocks = (editor2, event) => {
2003
- if (!editor2.selection)
2004
- return;
2072
+ if (!editor2.selection) return;
2005
2073
  const start = slate.Range.start(editor2.selection);
2006
2074
  const currentIndex = [start.path[0]];
2007
2075
  let newIndexPosition = 0;
@@ -2138,8 +2206,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
2138
2206
  }
2139
2207
  };
2140
2208
  const handleScrollSelectionIntoView = () => {
2141
- if (!editor.selection)
2142
- return;
2209
+ if (!editor.selection) return;
2143
2210
  const domRange = slateReact.ReactEditor.toDOMRange(editor, editor.selection);
2144
2211
  const domRect = domRange.getBoundingClientRect();
2145
2212
  const blocksInput = blocksRef.current;
@@ -2166,7 +2233,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
2166
2233
  background: "neutral0",
2167
2234
  color: "neutral800",
2168
2235
  lineHeight: 6,
2169
- paddingRight: 4,
2236
+ paddingRight: 7,
2170
2237
  paddingTop: 6,
2171
2238
  paddingBottom: 3,
2172
2239
  children: [
@@ -2177,6 +2244,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }) => {
2177
2244
  readOnly: disabled,
2178
2245
  placeholder,
2179
2246
  isExpandedMode,
2247
+ decorate: decorateCode,
2180
2248
  renderElement,
2181
2249
  renderLeaf,
2182
2250
  onKeyDown: handleKeyDown,
@@ -2333,8 +2401,7 @@ const InlineCode = styledComponents.styled.code`
2333
2401
  `;
2334
2402
  const baseCheckIsActive = (editor, name2) => {
2335
2403
  const marks = slate.Editor.marks(editor);
2336
- if (!marks)
2337
- return false;
2404
+ if (!marks) return false;
2338
2405
  return Boolean(marks[name2]);
2339
2406
  };
2340
2407
  const baseHandleToggle = (editor, name2) => {
@@ -2500,6 +2567,7 @@ const ExpandIconButton = styledComponents.styled(designSystem.IconButton)`
2500
2567
  position: absolute;
2501
2568
  bottom: 1.2rem;
2502
2569
  right: 1.2rem;
2570
+ box-shadow: ${({ theme }) => theme.shadows.filterShadow};
2503
2571
  `;
2504
2572
  function useResetKey(value) {
2505
2573
  const slateUpdatesCount = React__namespace.useRef(0);
@@ -2658,7 +2726,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2658
2726
  designSystem.Box,
2659
2727
  {
2660
2728
  tag: "button",
2661
- background: "neutral100",
2729
+ background: disabled ? "neutral150" : "neutral100",
2662
2730
  borderColor: field.error ? "danger600" : "neutral200",
2663
2731
  hasRadius: true,
2664
2732
  disabled,
@@ -2666,32 +2734,32 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2666
2734
  paddingTop: 9,
2667
2735
  paddingBottom: 9,
2668
2736
  type: "button",
2737
+ style: { cursor: disabled ? "not-allowed" : "pointer" },
2669
2738
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2670
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2671
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2672
- id: index.getTranslation("components.empty-repeatable"),
2673
- defaultMessage: "No entry yet. Click on the button below to add one."
2674
- }) }) })
2739
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", color: disabled ? "neutral500" : "primary600", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.PlusCircle, { width: "3.2rem", height: "3.2rem" }) }),
2740
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
2741
+ designSystem.Typography,
2742
+ {
2743
+ textColor: disabled ? "neutral600" : "primary600",
2744
+ variant: "pi",
2745
+ fontWeight: "bold",
2746
+ children: formatMessage({
2747
+ id: index.getTranslation("components.empty-repeatable"),
2748
+ defaultMessage: "No entry yet. Click to add one."
2749
+ })
2750
+ }
2751
+ ) })
2675
2752
  ] })
2676
2753
  }
2677
2754
  ) });
2678
2755
  };
2679
- const CircleIcon = styledComponents.styled(Icons.PlusCircle)`
2680
- width: 2.4rem;
2681
- height: 2.4rem;
2682
- > circle {
2683
- fill: ${({ theme }) => theme.colors.primary200};
2684
- }
2685
- > path {
2686
- fill: ${({ theme }) => theme.colors.primary600};
2687
- }
2688
- `;
2689
2756
  const NonRepeatableComponent = ({
2690
2757
  attribute,
2691
2758
  name: name2,
2692
2759
  children,
2693
2760
  layout
2694
2761
  }) => {
2762
+ const { formatMessage } = reactIntl.useIntl();
2695
2763
  const { value } = strapiAdmin.useField(name2);
2696
2764
  const level = Relations.useComponent("NonRepeatableComponent", (state) => state.level);
2697
2765
  const isNested = level > 0;
@@ -2708,6 +2776,10 @@ const NonRepeatableComponent = ({
2708
2776
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
2709
2777
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2710
2778
  const completeFieldName = `${name2}.${field.name}`;
2779
+ const translatedLabel = formatMessage({
2780
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2781
+ defaultMessage: field.label
2782
+ });
2711
2783
  return /* @__PURE__ */ jsxRuntime.jsx(
2712
2784
  designSystem.Grid.Item,
2713
2785
  {
@@ -2716,7 +2788,7 @@ const NonRepeatableComponent = ({
2716
2788
  xs: 12,
2717
2789
  direction: "column",
2718
2790
  alignItems: "stretch",
2719
- children: children({ ...field, name: completeFieldName })
2791
+ children: children({ ...field, label: translatedLabel, name: completeFieldName })
2720
2792
  },
2721
2793
  completeFieldName
2722
2794
  );
@@ -2738,13 +2810,34 @@ const RepeatableComponent = ({
2738
2810
  const { search: searchString } = reactRouterDom.useLocation();
2739
2811
  const search = React__namespace.useMemo(() => new URLSearchParams(searchString), [searchString]);
2740
2812
  const { components } = index.useDoc();
2741
- const { value = [], error } = strapiAdmin.useField(name2);
2813
+ const {
2814
+ value = [],
2815
+ error,
2816
+ rawError
2817
+ } = strapiAdmin.useField(name2);
2742
2818
  const addFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.addFieldRow);
2743
2819
  const moveFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.moveFieldRow);
2744
2820
  const removeFieldRow = strapiAdmin.useForm("RepeatableComponent", (state) => state.removeFieldRow);
2745
2821
  const { max = Infinity } = attribute;
2746
2822
  const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
2747
2823
  const [liveText, setLiveText] = React__namespace.useState("");
2824
+ React__namespace.useEffect(() => {
2825
+ const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;
2826
+ const hasNestedValue = value && Array.isArray(value) && value.length > 0;
2827
+ if (hasNestedErrors && hasNestedValue) {
2828
+ const errorOpenItems = rawError.map((_, idx) => {
2829
+ return value[idx] ? value[idx].__temp_key__ : null;
2830
+ }).filter((value2) => !!value2);
2831
+ if (errorOpenItems && errorOpenItems.length > 0) {
2832
+ setCollapseToOpen((collapseToOpen2) => {
2833
+ if (!errorOpenItems.includes(collapseToOpen2)) {
2834
+ return errorOpenItems[0];
2835
+ }
2836
+ return collapseToOpen2;
2837
+ });
2838
+ }
2839
+ }
2840
+ }, [rawError, value]);
2748
2841
  const componentTmpKeyWithFocussedField = React__namespace.useMemo(() => {
2749
2842
  if (search.has("field")) {
2750
2843
  const fieldParam = search.get("field");
@@ -2897,6 +2990,10 @@ const RepeatableComponent = ({
2897
2990
  children: layout.map((row, index22) => {
2898
2991
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2899
2992
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2993
+ const translatedLabel = formatMessage({
2994
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2995
+ defaultMessage: field.label
2996
+ });
2900
2997
  return /* @__PURE__ */ jsxRuntime.jsx(
2901
2998
  designSystem.Grid.Item,
2902
2999
  {
@@ -2905,7 +3002,11 @@ const RepeatableComponent = ({
2905
3002
  xs: 12,
2906
3003
  direction: "column",
2907
3004
  alignItems: "stretch",
2908
- children: children({ ...field, name: completeFieldName })
3005
+ children: children({
3006
+ ...field,
3007
+ label: translatedLabel,
3008
+ name: completeFieldName
3009
+ })
2909
3010
  },
2910
3011
  completeFieldName
2911
3012
  );
@@ -3120,11 +3221,11 @@ const AddComponentButton = ({
3120
3221
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { tag: "span", gap: 2, children: [
3121
3222
  /* @__PURE__ */ jsxRuntime.jsx(StyledAddIcon, { "aria-hidden": true, $isOpen: isOpen, $hasError: hasError && !isOpen }),
3122
3223
  /* @__PURE__ */ jsxRuntime.jsx(
3123
- AddComponentTitle,
3224
+ designSystem.Typography,
3124
3225
  {
3125
3226
  variant: "pi",
3126
3227
  fontWeight: "bold",
3127
- textColor: hasError && !isOpen ? "danger600" : "neutral500",
3228
+ textColor: hasError && !isOpen ? "danger600" : "neutral600",
3128
3229
  children
3129
3230
  }
3130
3231
  )
@@ -3141,43 +3242,14 @@ const StyledAddIcon = styledComponents.styled(Icons.PlusCircle)`
3141
3242
  fill: ${({ theme, $hasError }) => $hasError ? theme.colors.danger200 : theme.colors.neutral150};
3142
3243
  }
3143
3244
  > path {
3144
- fill: ${({ theme, $hasError }) => $hasError ? theme.colors.danger600 : theme.colors.neutral600};
3245
+ fill: ${({ theme, $hasError }) => $hasError ? theme.colors.danger600 : theme.colors.neutral500};
3145
3246
  }
3146
3247
  `;
3147
- const AddComponentTitle = styledComponents.styled(designSystem.Typography)``;
3148
3248
  const StyledButton = styledComponents.styled(designSystem.Button)`
3249
+ padding-left: ${({ theme }) => theme.spaces[3]};
3149
3250
  border-radius: 26px;
3150
- border-color: ${({ theme }) => theme.colors.neutral150};
3151
3251
  box-shadow: ${({ theme }) => theme.shadows.filterShadow};
3152
3252
  height: 5rem;
3153
-
3154
- &:hover {
3155
- ${AddComponentTitle} {
3156
- color: ${({ theme }) => theme.colors.primary600};
3157
- }
3158
-
3159
- ${StyledAddIcon} {
3160
- > circle {
3161
- fill: ${({ theme }) => theme.colors.primary600};
3162
- }
3163
- > path {
3164
- fill: ${({ theme }) => theme.colors.primary600};
3165
- }
3166
- }
3167
- }
3168
- &:active {
3169
- ${AddComponentTitle} {
3170
- color: ${({ theme }) => theme.colors.primary600};
3171
- }
3172
- ${StyledAddIcon} {
3173
- > circle {
3174
- fill: ${({ theme }) => theme.colors.primary600};
3175
- }
3176
- > path {
3177
- fill: ${({ theme }) => theme.colors.neutral100};
3178
- }
3179
- }
3180
- }
3181
3253
  `;
3182
3254
  const ComponentCategory = ({
3183
3255
  category,
@@ -3749,8 +3821,7 @@ const Wrapper = styledComponents.styled.div`
3749
3821
  `;
3750
3822
  var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/, unorderedListRE = /[*+-]\s/;
3751
3823
  function newlineAndIndentContinueMarkdownList(cm) {
3752
- if (cm.getOption("disableInput"))
3753
- return CodeMirror__default.default.Pass;
3824
+ if (cm.getOption("disableInput")) return CodeMirror__default.default.Pass;
3754
3825
  var ranges = cm.listSelections(), replacements = [];
3755
3826
  for (var i = 0; i < ranges.length; i++) {
3756
3827
  var pos = ranges[i].head;
@@ -3784,8 +3855,7 @@ function newlineAndIndentContinueMarkdownList(cm) {
3784
3855
  var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0);
3785
3856
  var bullet = numbered ? parseInt(match[3], 10) + 1 + match[4] : match[2].replace("x", " ");
3786
3857
  replacements[i] = "\n" + indent + bullet + after;
3787
- if (numbered)
3788
- incrementRemainingMarkdownListNumbers(cm, pos);
3858
+ if (numbered) incrementRemainingMarkdownListNumbers(cm, pos);
3789
3859
  }
3790
3860
  }
3791
3861
  cm.replaceSelections(replacements);
@@ -3803,10 +3873,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
3803
3873
  var newNumber = parseInt(startItem[3], 10) + lookAhead - skipCount;
3804
3874
  var nextNumber = parseInt(nextItem[3], 10), itemNumber = nextNumber;
3805
3875
  if (startIndent === nextIndent && !isNaN(nextNumber)) {
3806
- if (newNumber === nextNumber)
3807
- itemNumber = nextNumber + 1;
3808
- if (newNumber > nextNumber)
3809
- itemNumber = newNumber + 1;
3876
+ if (newNumber === nextNumber) itemNumber = nextNumber + 1;
3877
+ if (newNumber > nextNumber) itemNumber = newNumber + 1;
3810
3878
  cm.replaceRange(
3811
3879
  nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]),
3812
3880
  {
@@ -3819,10 +3887,8 @@ function incrementRemainingMarkdownListNumbers(cm, pos) {
3819
3887
  }
3820
3888
  );
3821
3889
  } else {
3822
- if (startIndent.length > nextIndent.length)
3823
- return;
3824
- if (startIndent.length < nextIndent.length && lookAhead === 1)
3825
- return;
3890
+ if (startIndent.length > nextIndent.length) return;
3891
+ if (startIndent.length < nextIndent.length && lookAhead === 1) return;
3826
3892
  skipCount += 1;
3827
3893
  }
3828
3894
  }
@@ -4959,15 +5025,19 @@ const Wysiwyg = React__namespace.forwardRef(
4959
5025
  );
4960
5026
  const MemoizedWysiwyg = React__namespace.memo(Wysiwyg);
4961
5027
  const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4962
- const { id } = index.useDoc();
5028
+ const { id, document: document2, collectionType } = index.useDoc();
4963
5029
  const isFormDisabled = strapiAdmin.useForm("InputRenderer", (state) => state.disabled);
4964
5030
  const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
4965
5031
  const canCreateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
4966
5032
  const canReadFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
4967
5033
  const canUpdateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
4968
5034
  const canUserAction = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
4969
- const editableFields = id ? canUpdateFields : canCreateFields;
4970
- const readableFields = id ? canReadFields : canCreateFields;
5035
+ let idToCheck = id;
5036
+ if (collectionType === index.SINGLE_TYPES) {
5037
+ idToCheck = document2?.documentId;
5038
+ }
5039
+ const editableFields = idToCheck ? canUpdateFields : canCreateFields;
5040
+ const readableFields = idToCheck ? canReadFields : canCreateFields;
4971
5041
  const canUserReadField = canUserAction(props.name, readableFields, props.type);
4972
5042
  const canUserEditField = canUserAction(props.name, editableFields, props.type);
4973
5043
  const fields = strapiAdmin.useStrapiApp("InputRenderer", (app) => app.fields);
@@ -4978,6 +5048,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4978
5048
  const {
4979
5049
  edit: { components }
4980
5050
  } = index.useDocLayout();
5051
+ const field = strapiAdmin.useField(props.name);
4981
5052
  if (!visible) {
4982
5053
  return null;
4983
5054
  }
@@ -4988,7 +5059,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }) => {
4988
5059
  if (attributeHasCustomFieldProperty(props.attribute)) {
4989
5060
  const CustomInput = lazyComponentStore[props.attribute.customField];
4990
5061
  if (CustomInput) {
4991
- return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
5062
+ return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, ...field, hint, disabled: fieldIsDisabled });
4992
5063
  }
4993
5064
  return /* @__PURE__ */ jsxRuntime.jsx(
4994
5065
  strapiAdmin.InputRenderer,
@@ -5112,7 +5183,8 @@ const DynamicComponent = ({
5112
5183
  onDropItem,
5113
5184
  onCancel,
5114
5185
  dynamicComponentsByCategory = {},
5115
- onAddComponent
5186
+ onAddComponent,
5187
+ children
5116
5188
  }) => {
5117
5189
  const { formatMessage } = reactIntl.useIntl();
5118
5190
  const formValues = strapiAdmin.useForm("DynamicComponent", (state) => state.values);
@@ -5149,6 +5221,14 @@ const DynamicComponent = ({
5149
5221
  React__namespace.useEffect(() => {
5150
5222
  dragPreviewRef(reactDndHtml5Backend.getEmptyImage(), { captureDraggingState: false });
5151
5223
  }, [dragPreviewRef, index$1]);
5224
+ const accordionValue = React__namespace.useId();
5225
+ const { value = [], rawError } = strapiAdmin.useField(`${name2}.${index$1}`);
5226
+ const [collapseToOpen, setCollapseToOpen] = React__namespace.useState("");
5227
+ React__namespace.useEffect(() => {
5228
+ if (rawError && value) {
5229
+ setCollapseToOpen(accordionValue);
5230
+ }
5231
+ }, [rawError, value, accordionValue]);
5152
5232
  const composedBoxRefs = designSystem.useComposedRefs(boxRef, dropRef);
5153
5233
  const accordionActions = disabled ? null : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5154
5234
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5214,10 +5294,9 @@ const DynamicComponent = ({
5214
5294
  ] })
5215
5295
  ] });
5216
5296
  const accordionTitle = title ? `${displayName} ${title}` : displayName;
5217
- const accordionValue = React__namespace.useId();
5218
5297
  return /* @__PURE__ */ jsxRuntime.jsxs(ComponentContainer, { tag: "li", width: "100%", children: [
5219
5298
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Rectangle, { background: "neutral200" }) }),
5220
- /* @__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: [
5299
+ /* @__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: [
5221
5300
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Accordion.Header, { children: [
5222
5301
  /* @__PURE__ */ jsxRuntime.jsx(
5223
5302
  designSystem.Accordion.Trigger,
@@ -5228,21 +5307,39 @@ const DynamicComponent = ({
5228
5307
  ),
5229
5308
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
5230
5309
  ] }),
5231
- /* @__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 }) => {
5232
- const fieldName = `${name2}.${index$1}.${field.name}`;
5233
- return /* @__PURE__ */ jsxRuntime.jsx(
5234
- designSystem.Grid.Item,
5235
- {
5236
- col: size,
5237
- s: 12,
5238
- xs: 12,
5239
- direction: "column",
5240
- alignItems: "stretch",
5241
- children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName })
5242
- },
5243
- fieldName
5244
- );
5245
- }) }, rowInd)) }) }) })
5310
+ /* @__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(
5311
+ designSystem.Grid.Item,
5312
+ {
5313
+ col: 12,
5314
+ s: 12,
5315
+ xs: 12,
5316
+ direction: "column",
5317
+ alignItems: "stretch",
5318
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5319
+ const fieldName = `${name2}.${index$1}.${field.name}`;
5320
+ const fieldWithTranslatedLabel = {
5321
+ ...field,
5322
+ label: formatMessage({
5323
+ id: `content-manager.components.${componentUid}.${field.name}`,
5324
+ defaultMessage: field.label
5325
+ })
5326
+ };
5327
+ return /* @__PURE__ */ jsxRuntime.jsx(
5328
+ designSystem.Grid.Item,
5329
+ {
5330
+ col: size,
5331
+ s: 12,
5332
+ xs: 12,
5333
+ direction: "column",
5334
+ alignItems: "stretch",
5335
+ children: children ? children({ ...fieldWithTranslatedLabel, name: fieldName }) : /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
5336
+ },
5337
+ fieldName
5338
+ );
5339
+ }) })
5340
+ },
5341
+ rowInd
5342
+ )) }) }) }) })
5246
5343
  ] }) }) })
5247
5344
  ] });
5248
5345
  };
@@ -5321,7 +5418,8 @@ const DynamicZone = ({
5321
5418
  label,
5322
5419
  labelAction,
5323
5420
  name: name2,
5324
- required = false
5421
+ required = false,
5422
+ children
5325
5423
  }) => {
5326
5424
  const { max = Infinity, min = -Infinity } = attribute ?? {};
5327
5425
  const [addComponentIsOpen, setAddComponentIsOpen] = React__namespace.useState(false);
@@ -5507,7 +5605,8 @@ const DynamicZone = ({
5507
5605
  onDropItem: handleDropItem,
5508
5606
  onGrabItem: handleGrabItem,
5509
5607
  onAddComponent: handleAddComponent,
5510
- dynamicComponentsByCategory
5608
+ dynamicComponentsByCategory,
5609
+ children
5511
5610
  }
5512
5611
  )
5513
5612
  },
@@ -5548,4 +5647,4 @@ exports.transformDocument = transformDocument;
5548
5647
  exports.useDynamicZone = useDynamicZone;
5549
5648
  exports.useFieldHint = useFieldHint;
5550
5649
  exports.useLazyComponents = useLazyComponents;
5551
- //# sourceMappingURL=Field-9DePZh-0.js.map
5650
+ //# sourceMappingURL=Field-DPIsQRre.js.map