@strapi/content-manager 5.59.0 → 5.61.0

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 (300) hide show
  1. package/dist/admin/constants/customOrder.js +14 -0
  2. package/dist/admin/constants/customOrder.js.map +1 -0
  3. package/dist/admin/constants/customOrder.mjs +10 -0
  4. package/dist/admin/constants/customOrder.mjs.map +1 -0
  5. package/dist/admin/history/components/VersionInputRenderer.js +2 -1
  6. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  7. package/dist/admin/history/components/VersionInputRenderer.mjs +2 -1
  8. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  9. package/dist/admin/hooks/useDocument.js +22 -11
  10. package/dist/admin/hooks/useDocument.js.map +1 -1
  11. package/dist/admin/hooks/useDocument.mjs +22 -11
  12. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  13. package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
  14. package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
  15. package/dist/admin/hooks/useHasBeenNearViewport.js +70 -0
  16. package/dist/admin/hooks/useHasBeenNearViewport.js.map +1 -0
  17. package/dist/admin/hooks/useHasBeenNearViewport.mjs +46 -0
  18. package/dist/admin/hooks/useHasBeenNearViewport.mjs.map +1 -0
  19. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js +102 -32
  20. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
  21. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +104 -35
  22. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
  23. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +20 -17
  24. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
  25. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +20 -17
  26. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
  27. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +15 -1
  28. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  29. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +17 -3
  30. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js +21 -0
  32. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs +22 -1
  34. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +1 -0
  36. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +1 -0
  38. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +1 -0
  40. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +1 -0
  42. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +2 -0
  44. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +2 -0
  46. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +4 -7
  48. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +4 -7
  50. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +46 -10
  52. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +47 -11
  54. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormLayout.js +201 -50
  56. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormLayout.mjs +202 -52
  58. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/InputRenderer.js +3 -1
  60. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/InputRenderer.mjs +3 -1
  62. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  63. package/dist/admin/pages/ListConfiguration/components/Settings.js +31 -2
  64. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  65. package/dist/admin/pages/ListConfiguration/components/Settings.mjs +31 -2
  66. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  67. package/dist/admin/pages/ListView/ListViewPage.js +196 -132
  68. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  69. package/dist/admin/pages/ListView/ListViewPage.mjs +196 -132
  70. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  71. package/dist/admin/pages/ListView/components/CustomOrder.js +571 -0
  72. package/dist/admin/pages/ListView/components/CustomOrder.js.map +1 -0
  73. package/dist/admin/pages/ListView/components/CustomOrder.mjs +546 -0
  74. package/dist/admin/pages/ListView/components/CustomOrder.mjs.map +1 -0
  75. package/dist/admin/pages/ListView/components/TableActions.js +4 -1
  76. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  77. package/dist/admin/pages/ListView/components/TableActions.mjs +4 -1
  78. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  79. package/dist/admin/preview/components/PreviewSidePanel.js +2 -1
  80. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  81. package/dist/admin/preview/components/PreviewSidePanel.mjs +2 -1
  82. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  83. package/dist/admin/preview/utils/getPreviewUrlStatus.js +17 -0
  84. package/dist/admin/preview/utils/getPreviewUrlStatus.js.map +1 -0
  85. package/dist/admin/preview/utils/getPreviewUrlStatus.mjs +15 -0
  86. package/dist/admin/preview/utils/getPreviewUrlStatus.mjs.map +1 -0
  87. package/dist/admin/services/documents.js +22 -1
  88. package/dist/admin/services/documents.js.map +1 -1
  89. package/dist/admin/services/documents.mjs +21 -2
  90. package/dist/admin/services/documents.mjs.map +1 -1
  91. package/dist/admin/src/constants/customOrder.d.ts +8 -0
  92. package/dist/admin/src/exports.d.ts +1 -1
  93. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +3 -1
  94. package/dist/admin/src/hooks/useDocument.d.ts +4 -0
  95. package/dist/admin/src/hooks/useDocumentLayout.d.ts +6 -2
  96. package/dist/admin/src/hooks/useHasBeenNearViewport.d.ts +13 -0
  97. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.d.ts +13 -1
  98. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +11 -1
  99. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +2 -0
  100. package/dist/admin/src/pages/ListView/components/CustomOrder.d.ts +72 -0
  101. package/dist/admin/src/preview/utils/getPreviewUrlStatus.d.ts +6 -0
  102. package/dist/admin/src/services/documents.d.ts +10 -2
  103. package/dist/admin/translations/en.json.js +9 -0
  104. package/dist/admin/translations/en.json.js.map +1 -1
  105. package/dist/admin/translations/en.json.mjs +9 -0
  106. package/dist/admin/translations/en.json.mjs.map +1 -1
  107. package/dist/server/audit-logs.js +36 -0
  108. package/dist/server/audit-logs.js.map +1 -0
  109. package/dist/server/audit-logs.mjs +33 -0
  110. package/dist/server/audit-logs.mjs.map +1 -0
  111. package/dist/server/bootstrap.js +8 -0
  112. package/dist/server/bootstrap.js.map +1 -1
  113. package/dist/server/bootstrap.mjs +8 -0
  114. package/dist/server/bootstrap.mjs.map +1 -1
  115. package/dist/server/controllers/collection-types.js +8 -0
  116. package/dist/server/controllers/collection-types.js.map +1 -1
  117. package/dist/server/controllers/collection-types.mjs +8 -0
  118. package/dist/server/controllers/collection-types.mjs.map +1 -1
  119. package/dist/server/controllers/content-types.js +15 -0
  120. package/dist/server/controllers/content-types.js.map +1 -1
  121. package/dist/server/controllers/content-types.mjs +16 -1
  122. package/dist/server/controllers/content-types.mjs.map +1 -1
  123. package/dist/server/controllers/index.js +3 -1
  124. package/dist/server/controllers/index.js.map +1 -1
  125. package/dist/server/controllers/index.mjs +2 -0
  126. package/dist/server/controllers/index.mjs.map +1 -1
  127. package/dist/server/controllers/relations.js +53 -17
  128. package/dist/server/controllers/relations.js.map +1 -1
  129. package/dist/server/controllers/relations.mjs +54 -18
  130. package/dist/server/controllers/relations.mjs.map +1 -1
  131. package/dist/server/controllers/single-types.js +10 -1
  132. package/dist/server/controllers/single-types.js.map +1 -1
  133. package/dist/server/controllers/single-types.mjs +10 -1
  134. package/dist/server/controllers/single-types.mjs.map +1 -1
  135. package/dist/server/controllers/validation/model-configuration.js +2 -1
  136. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  137. package/dist/server/controllers/validation/model-configuration.mjs +2 -1
  138. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  139. package/dist/server/custom-order/constants.js +21 -0
  140. package/dist/server/custom-order/constants.js.map +1 -0
  141. package/dist/server/custom-order/constants.mjs +17 -0
  142. package/dist/server/custom-order/constants.mjs.map +1 -0
  143. package/dist/server/custom-order/controllers/custom-order.js +77 -0
  144. package/dist/server/custom-order/controllers/custom-order.js.map +1 -0
  145. package/dist/server/custom-order/controllers/custom-order.mjs +75 -0
  146. package/dist/server/custom-order/controllers/custom-order.mjs.map +1 -0
  147. package/dist/server/custom-order/controllers/index.js +10 -0
  148. package/dist/server/custom-order/controllers/index.js.map +1 -0
  149. package/dist/server/custom-order/controllers/index.mjs +8 -0
  150. package/dist/server/custom-order/controllers/index.mjs.map +1 -0
  151. package/dist/server/custom-order/index.js +71 -0
  152. package/dist/server/custom-order/index.js.map +1 -0
  153. package/dist/server/custom-order/index.mjs +69 -0
  154. package/dist/server/custom-order/index.mjs.map +1 -0
  155. package/dist/server/custom-order/routes/custom-order.js +38 -0
  156. package/dist/server/custom-order/routes/custom-order.js.map +1 -0
  157. package/dist/server/custom-order/routes/custom-order.mjs +36 -0
  158. package/dist/server/custom-order/routes/custom-order.mjs.map +1 -0
  159. package/dist/server/custom-order/routes/index.js +13 -0
  160. package/dist/server/custom-order/routes/index.js.map +1 -0
  161. package/dist/server/custom-order/routes/index.mjs +11 -0
  162. package/dist/server/custom-order/routes/index.mjs.map +1 -0
  163. package/dist/server/custom-order/services/custom-order.js +286 -0
  164. package/dist/server/custom-order/services/custom-order.js.map +1 -0
  165. package/dist/server/custom-order/services/custom-order.mjs +284 -0
  166. package/dist/server/custom-order/services/custom-order.mjs.map +1 -0
  167. package/dist/server/custom-order/services/document-middleware.js +83 -0
  168. package/dist/server/custom-order/services/document-middleware.js.map +1 -0
  169. package/dist/server/custom-order/services/document-middleware.mjs +81 -0
  170. package/dist/server/custom-order/services/document-middleware.mjs.map +1 -0
  171. package/dist/server/custom-order/services/index.js +10 -0
  172. package/dist/server/custom-order/services/index.js.map +1 -0
  173. package/dist/server/custom-order/services/index.mjs +8 -0
  174. package/dist/server/custom-order/services/index.mjs.map +1 -0
  175. package/dist/server/custom-order/services/utils.js +152 -0
  176. package/dist/server/custom-order/services/utils.js.map +1 -0
  177. package/dist/server/custom-order/services/utils.mjs +148 -0
  178. package/dist/server/custom-order/services/utils.mjs.map +1 -0
  179. package/dist/server/custom-order/utils.js +13 -0
  180. package/dist/server/custom-order/utils.js.map +1 -0
  181. package/dist/server/custom-order/utils.mjs +10 -0
  182. package/dist/server/custom-order/utils.mjs.map +1 -0
  183. package/dist/server/history/constants.js +2 -1
  184. package/dist/server/history/constants.js.map +1 -1
  185. package/dist/server/history/constants.mjs +2 -1
  186. package/dist/server/history/constants.mjs.map +1 -1
  187. package/dist/server/history/controllers/history-version.js +6 -2
  188. package/dist/server/history/controllers/history-version.js.map +1 -1
  189. package/dist/server/history/controllers/history-version.mjs +6 -2
  190. package/dist/server/history/controllers/history-version.mjs.map +1 -1
  191. package/dist/server/history/services/history.js +24 -7
  192. package/dist/server/history/services/history.js.map +1 -1
  193. package/dist/server/history/services/history.mjs +25 -8
  194. package/dist/server/history/services/history.mjs.map +1 -1
  195. package/dist/server/history/services/lifecycles.js +2 -16
  196. package/dist/server/history/services/lifecycles.js.map +1 -1
  197. package/dist/server/history/services/lifecycles.mjs +2 -16
  198. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  199. package/dist/server/mcp/schemas/filters-schema.js +10 -2
  200. package/dist/server/mcp/schemas/filters-schema.js.map +1 -1
  201. package/dist/server/mcp/schemas/filters-schema.mjs +10 -2
  202. package/dist/server/mcp/schemas/filters-schema.mjs.map +1 -1
  203. package/dist/server/preview/controllers/validation/preview.js +1 -1
  204. package/dist/server/preview/controllers/validation/preview.js.map +1 -1
  205. package/dist/server/preview/controllers/validation/preview.mjs +2 -2
  206. package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
  207. package/dist/server/register.js +4 -0
  208. package/dist/server/register.js.map +1 -1
  209. package/dist/server/register.mjs +4 -0
  210. package/dist/server/register.mjs.map +1 -1
  211. package/dist/server/routes/index.js +3 -1
  212. package/dist/server/routes/index.js.map +1 -1
  213. package/dist/server/routes/index.mjs +2 -0
  214. package/dist/server/routes/index.mjs.map +1 -1
  215. package/dist/server/services/content-types.js +2 -2
  216. package/dist/server/services/content-types.js.map +1 -1
  217. package/dist/server/services/content-types.mjs +2 -2
  218. package/dist/server/services/content-types.mjs.map +1 -1
  219. package/dist/server/services/document-manager.js +13 -0
  220. package/dist/server/services/document-manager.js.map +1 -1
  221. package/dist/server/services/document-manager.mjs +14 -1
  222. package/dist/server/services/document-manager.mjs.map +1 -1
  223. package/dist/server/services/document-metadata.js +1 -1
  224. package/dist/server/services/document-metadata.js.map +1 -1
  225. package/dist/server/services/document-metadata.mjs +1 -1
  226. package/dist/server/services/document-metadata.mjs.map +1 -1
  227. package/dist/server/services/index.js +3 -1
  228. package/dist/server/services/index.js.map +1 -1
  229. package/dist/server/services/index.mjs +2 -0
  230. package/dist/server/services/index.mjs.map +1 -1
  231. package/dist/server/services/utils/configuration/settings.js +2 -1
  232. package/dist/server/services/utils/configuration/settings.js.map +1 -1
  233. package/dist/server/services/utils/configuration/settings.mjs +2 -1
  234. package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
  235. package/dist/server/src/audit-logs.d.ts +40 -0
  236. package/dist/server/src/audit-logs.d.ts.map +1 -0
  237. package/dist/server/src/bootstrap.d.ts.map +1 -1
  238. package/dist/server/src/controllers/collection-types.d.ts +1 -1
  239. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  240. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  241. package/dist/server/src/controllers/index.d.ts +21 -3
  242. package/dist/server/src/controllers/index.d.ts.map +1 -1
  243. package/dist/server/src/controllers/relations.d.ts +19 -1
  244. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  245. package/dist/server/src/controllers/single-types.d.ts +1 -1
  246. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  247. package/dist/server/src/custom-order/constants.d.ts +18 -0
  248. package/dist/server/src/custom-order/constants.d.ts.map +1 -0
  249. package/dist/server/src/custom-order/controllers/custom-order.d.ts +8 -0
  250. package/dist/server/src/custom-order/controllers/custom-order.d.ts.map +1 -0
  251. package/dist/server/src/custom-order/controllers/index.d.ts +3 -0
  252. package/dist/server/src/custom-order/controllers/index.d.ts.map +1 -0
  253. package/dist/server/src/custom-order/index.d.ts +8 -0
  254. package/dist/server/src/custom-order/index.d.ts.map +1 -0
  255. package/dist/server/src/custom-order/routes/custom-order.d.ts +4 -0
  256. package/dist/server/src/custom-order/routes/custom-order.d.ts.map +1 -0
  257. package/dist/server/src/custom-order/routes/index.d.ts +10 -0
  258. package/dist/server/src/custom-order/routes/index.d.ts.map +1 -0
  259. package/dist/server/src/custom-order/services/custom-order.d.ts +43 -0
  260. package/dist/server/src/custom-order/services/custom-order.d.ts.map +1 -0
  261. package/dist/server/src/custom-order/services/document-middleware.d.ts +16 -0
  262. package/dist/server/src/custom-order/services/document-middleware.d.ts.map +1 -0
  263. package/dist/server/src/custom-order/services/index.d.ts +24 -0
  264. package/dist/server/src/custom-order/services/index.d.ts.map +1 -0
  265. package/dist/server/src/custom-order/services/utils.d.ts +34 -0
  266. package/dist/server/src/custom-order/services/utils.d.ts.map +1 -0
  267. package/dist/server/src/custom-order/utils.d.ts +6 -0
  268. package/dist/server/src/custom-order/utils.d.ts.map +1 -0
  269. package/dist/server/src/history/constants.d.ts.map +1 -1
  270. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  271. package/dist/server/src/history/services/history.d.ts.map +1 -1
  272. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  273. package/dist/server/src/index.d.ts +22 -6
  274. package/dist/server/src/index.d.ts.map +1 -1
  275. package/dist/server/src/mcp/schemas/filters-schema.d.ts.map +1 -1
  276. package/dist/server/src/register.d.ts.map +1 -1
  277. package/dist/server/src/routes/index.d.ts.map +1 -1
  278. package/dist/server/src/services/content-types.d.ts +1 -3
  279. package/dist/server/src/services/content-types.d.ts.map +1 -1
  280. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  281. package/dist/server/src/services/index.d.ts +1 -3
  282. package/dist/server/src/services/index.d.ts.map +1 -1
  283. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
  284. package/dist/shared/contracts/content-types.d.ts +5 -0
  285. package/dist/shared/contracts/content-types.d.ts.map +1 -1
  286. package/dist/shared/contracts/custom-order.d.ts +33 -0
  287. package/dist/shared/contracts/custom-order.d.ts.map +1 -0
  288. package/dist/shared/contracts/custom-order.js +3 -0
  289. package/dist/shared/contracts/custom-order.js.map +1 -0
  290. package/dist/shared/contracts/custom-order.mjs +2 -0
  291. package/dist/shared/contracts/custom-order.mjs.map +1 -0
  292. package/dist/shared/contracts/history-versions.d.ts +0 -1
  293. package/dist/shared/contracts/history-versions.d.ts.map +1 -1
  294. package/dist/shared/contracts/index.d.ts +1 -0
  295. package/dist/shared/contracts/index.d.ts.map +1 -1
  296. package/dist/shared/contracts/index.js +2 -0
  297. package/dist/shared/contracts/index.js.map +1 -1
  298. package/dist/shared/contracts/index.mjs +2 -0
  299. package/dist/shared/contracts/index.mjs.map +1 -1
  300. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"Repeatable.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/Repeatable.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useField, useNotification, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n TextButton,\n VisuallyHidden,\n Accordion,\n IconButton,\n useComposedRefs,\n BoxComponent,\n} from '@strapi/design-system';\nimport { Plus, Drag, Trash, ArrowUp, ArrowDown } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { ItemTypes } from '../../../../../constants/dragAndDrop';\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { useDragAndDrop, type UseDragAndDropOptions } from '../../../../../hooks/useDragAndDrop';\nimport { usePrev } from '../../../../../hooks/usePrev';\nimport { getIn } from '../../../../../utils/objects';\nimport { getTranslation } from '../../../../../utils/translations';\nimport { transformDocument } from '../../../utils/data';\nimport { createDefaultForm } from '../../../utils/forms';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport { Initializer } from './Initializer';\n\nimport type { ComponentInputProps } from './Input';\nimport type { Schema } from '@strapi/types';\n\nconst DEFAULT_MAIN_FIELD: NonNullable<ComponentProps['mainField']> = {\n name: 'id',\n type: 'integer',\n};\n\n/* -------------------------------------------------------------------------------------------------\n * RepeatableComponent\n * -----------------------------------------------------------------------------------------------*/\n\ntype RepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst RepeatableComponent = ({\n attribute,\n disabled,\n name,\n mainField,\n children,\n layout,\n}: RepeatableComponentProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { currentDocument } = useDocumentContext('RepeatableComponent');\n const components = currentDocument.components;\n\n const {\n value: rawValue,\n error,\n rawError,\n } = useField<Schema.Attribute.ComponentValue<`${string}.${string}`, true>>(name);\n const addFieldRow = useForm('RepeatableComponent', (state) => state.addFieldRow);\n const moveFieldRow = useForm('RepeatableComponent', (state) => state.moveFieldRow);\n const removeFieldRow = useForm('RepeatableComponent', (state) => state.removeFieldRow);\n const { max = Infinity } = attribute;\n const value = React.useMemo(() => (Array.isArray(rawValue) ? rawValue : []), [rawValue]);\n\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>('');\n const [liveText, setLiveText] = React.useState('');\n\n React.useEffect(() => {\n const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;\n const hasNestedValue = value && Array.isArray(value) && value.length > 0;\n\n if (hasNestedErrors && hasNestedValue) {\n const errorOpenItems = rawError\n .map((_: unknown, idx: number) => {\n return value[idx] ? value[idx].__temp_key__ : null;\n })\n .filter((value) => !!value);\n\n if (errorOpenItems && errorOpenItems.length > 0) {\n setCollapseToOpen((collapseToOpen) => {\n if (!errorOpenItems.includes(collapseToOpen)) {\n return errorOpenItems[0];\n }\n\n return collapseToOpen;\n });\n }\n }\n }, [rawError, value]);\n\n /**\n * Get the temp key of the component that has the field that is currently focussed\n * as defined by the `field` query param. We can then force this specific component\n * to be in its \"open\" state.\n */\n const componentTmpKeyWithFocussedField = React.useMemo(() => {\n if (search.has('field')) {\n const fieldParam = search.get('field');\n\n if (!fieldParam) {\n return undefined;\n }\n\n const [, path] = fieldParam.split(`${name}.`);\n\n if (getIn(value, path, undefined) !== undefined) {\n const [subpath] = path.split('.');\n\n return getIn<\n Schema.Attribute.ComponentValue<`${string}.${string}`, true>[number] & {\n __temp_key__?: string;\n }\n >(value, subpath, undefined)?.__temp_key__;\n }\n }\n\n return undefined;\n }, [search, name, value]);\n\n const prevValue = usePrev(value);\n\n React.useEffect(() => {\n /**\n * When we add a new item to the array, we want to open the collapse.\n */\n if (prevValue && prevValue.length < value.length) {\n setCollapseToOpen(value[value.length - 1].__temp_key__);\n }\n }, [value, prevValue]);\n\n React.useEffect(() => {\n if (typeof componentTmpKeyWithFocussedField === 'string') {\n setCollapseToOpen(componentTmpKeyWithFocussedField);\n }\n }, [componentTmpKeyWithFocussedField]);\n\n const toggleCollapses = React.useCallback(() => {\n setCollapseToOpen('');\n }, []);\n\n const handleClick = () => {\n if (value.length < max) {\n const schema = components[attribute.component];\n const form = createDefaultForm(schema, components);\n const data = transformDocument(schema, components)(form);\n\n addFieldRow(name, data);\n // setCollapseToOpen(nextTempKey);\n } else if (value.length >= max) {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTranslation('components.notification.info.maximum-requirement'),\n }),\n });\n }\n };\n\n const handleMoveComponentField = React.useCallback(\n (newIndex: number, currentIndex: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.reorder'),\n defaultMessage: '{item}, moved. New position in list: {position}.',\n },\n {\n item: `${name}.${currentIndex}`,\n position: `${newIndex + 1} of ${value.length}`,\n }\n )\n );\n\n moveFieldRow(name, currentIndex, newIndex);\n },\n [formatMessage, moveFieldRow, name, value.length]\n );\n\n const handleValueChange = (key: string) => {\n setCollapseToOpen(key);\n };\n\n const handleCancel = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.cancel-item'),\n defaultMessage: '{item}, dropped. Re-order cancelled.',\n },\n {\n item: `${name}.${index}`,\n }\n )\n );\n },\n [formatMessage, name]\n );\n\n const handleGrabItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.grab-item'),\n defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDropItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.drop-item'),\n defaultMessage: `{item}, dropped. Final position in list: {position}.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDeleteComponent = React.useCallback(\n (index: number) => {\n removeFieldRow(name, index);\n toggleCollapses();\n },\n [name, removeFieldRow, toggleCollapses]\n );\n\n const ariaDescriptionId = React.useId();\n\n const level = useComponent('RepeatableComponent', (state) => state.level);\n\n if (value.length === 0) {\n return <Initializer disabled={disabled} name={name} onClick={handleClick} />;\n }\n\n return (\n <Box hasRadius>\n <VisuallyHidden id={ariaDescriptionId}>\n {formatMessage({\n id: getTranslation('dnd.instructions'),\n defaultMessage: `Press spacebar to grab and re-order`,\n })}\n </VisuallyHidden>\n <VisuallyHidden aria-live=\"assertive\">{liveText}</VisuallyHidden>\n <AccordionRoot\n $error={error}\n value={collapseToOpen}\n onValueChange={handleValueChange}\n aria-describedby={ariaDescriptionId}\n >\n {value.map((componentValue, index) => {\n const key = componentValue.__temp_key__;\n const id = componentValue.id;\n const nameWithIndex = `${name}.${index}`;\n\n return (\n <ComponentProvider\n key={key}\n // id is always a number in a component\n id={id as number}\n uid={attribute.component}\n level={level + 1}\n type=\"repeatable\"\n >\n <MemoizedComponent\n disabled={disabled}\n name={nameWithIndex}\n attributeComponent={attribute.component}\n index={index}\n mainField={mainField}\n onMoveItem={handleMoveComponentField}\n onDeleteComponent={handleDeleteComponent}\n toggleCollapses={toggleCollapses}\n onCancel={handleCancel}\n onDropItem={handleDropItem}\n onGrabItem={handleGrabItem}\n __temp_key__={key}\n totalLength={value.length}\n layout={layout}\n renderField={children}\n />\n </ComponentProvider>\n );\n })}\n <TextButtonCustom disabled={disabled} onClick={handleClick} startIcon={<Plus />}>\n {formatMessage({\n id: getTranslation('containers.EditView.add.new-entry'),\n defaultMessage: 'Add an entry',\n })}\n </TextButtonCustom>\n </AccordionRoot>\n </Box>\n );\n};\n\nconst AccordionRoot = styled(Accordion.Root)<{ $error?: string }>`\n border: 1px solid\n ${({ theme, $error }) => ($error ? theme.colors.danger600 : theme.colors.neutral200)};\n`;\n\nconst TextButtonCustom = styled(TextButton)`\n width: 100%;\n display: flex;\n justify-content: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral200};\n padding-inline: ${(props) => props.theme.spaces[6]};\n padding-block: ${(props) => props.theme.spaces[3]};\n\n &:not([disabled]) {\n cursor: pointer;\n\n &:hover {\n background-color: ${(props) => props.theme.colors.primary100};\n }\n }\n\n span {\n font-weight: 600;\n font-size: 1.4rem;\n line-height: 2.4rem;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};\n }\n`;\n\ninterface RepeatableComponentFieldsProps extends Pick<\n RepeatableComponentProps,\n 'children' | 'layout'\n> {\n attributeComponent: string;\n nameWithIndex: string;\n}\n\nconst RepeatableComponentFields = React.memo(\n ({ attributeComponent, children, layout, nameWithIndex }: RepeatableComponentFieldsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n {layout.map((row) => {\n return (\n <ResponsiveGridRoot gap={4} key={row.map((field) => field.name).join('.')}>\n {row.map(({ size, ...field }) => {\n /**\n * Layouts are built from schemas so they don't understand the complete\n * schema tree, for components we append the parent name to the field name\n * because this is the structure for the data & permissions also understand\n * the nesting involved.\n */\n const completeFieldName = `${nameWithIndex}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attributeComponent}.${field.name}`,\n defaultMessage: field.label,\n });\n\n return (\n <ResponsiveGridItem\n col={size}\n key={completeFieldName}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {children({\n ...field,\n label: translatedLabel,\n name: completeFieldName,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </>\n );\n }\n);\n\nRepeatableComponentFields.displayName = 'RepeatableComponentFields';\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ComponentProps\n extends\n Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel' | 'onMoveItem'>,\n Pick<RepeatableComponentProps, 'mainField' | 'layout'> {\n attributeComponent: string;\n disabled?: boolean;\n index: number;\n name: string;\n onDeleteComponent?: (index: number) => void;\n renderField: RepeatableComponentProps['children'];\n toggleCollapses: () => void;\n __temp_key__: string;\n totalLength: number;\n}\n\nconst Component = ({\n attributeComponent,\n disabled,\n index,\n name,\n mainField = DEFAULT_MAIN_FIELD,\n layout,\n onDeleteComponent,\n renderField,\n toggleCollapses,\n __temp_key__,\n totalLength,\n onMoveItem,\n ...dragProps\n}: ComponentProps) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n const displayValue = useForm<string | undefined>('RepeatableComponent', (state) => {\n return getIn<string>(state.values, [...name.split('.'), mainField.name]);\n });\n const displayedValue = typeof displayValue === 'string' ? displayValue : '';\n\n const accordionRef = React.useRef<HTMLButtonElement>(null!);\n\n /**\n * The last item in the fieldName array will be the index of this component.\n * Drag and drop should be isolated to the parent component so nested repeatable\n * components are not affected by the drag and drop of the parent component in\n * their own re-ordering context.\n */\n const componentKey = name.split('.').slice(0, -1).join('.');\n\n const [{ handlerId, isDragging, handleKeyDown }, boxRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(!disabled, {\n type: `${ItemTypes.COMPONENT}_${componentKey}`,\n index,\n item: {\n index,\n id: __temp_key__,\n displayedValue,\n },\n onStart() {\n // Close all collapses\n toggleCollapses();\n },\n onMoveItem,\n ...dragProps,\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const composedAccordionRefs = useComposedRefs<HTMLButtonElement>(accordionRef, dragRef);\n const composedBoxRefs = useComposedRefs<HTMLDivElement>(\n boxRef as React.RefObject<HTMLDivElement>,\n dropRef\n );\n\n const canMoveUp = index > 0;\n const canMoveDown = index < totalLength - 1;\n const handleDeleteClick = () => {\n onDeleteComponent?.(index);\n };\n\n return (\n <>\n {isDragging ? (\n <Preview />\n ) : (\n <Accordion.Item ref={composedBoxRefs} value={__temp_key__}>\n <Accordion.Header>\n <Accordion.Trigger>{displayValue}</Accordion.Trigger>\n <Accordion.Actions>\n <IconButton\n disabled={disabled}\n variant=\"ghost\"\n onClick={handleDeleteClick}\n label={formatMessage({\n id: getTranslation('containers.Edit.delete'),\n defaultMessage: 'Delete',\n })}\n >\n <Trash />\n </IconButton>\n {isDesktop && (\n <IconButton\n disabled={disabled}\n ref={composedAccordionRefs}\n variant=\"ghost\"\n onClick={(e) => e.stopPropagation()}\n data-handler-id={handlerId}\n label={formatMessage({\n id: getTranslation('components.DragHandle-label'),\n defaultMessage: 'Drag',\n })}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n {!isDesktop && (\n <>\n {canMoveUp && (\n <IconButton\n disabled={disabled || !canMoveUp}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index - 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-up'),\n defaultMessage: 'Move up',\n })}\n >\n <ArrowUp />\n </IconButton>\n )}\n {canMoveDown && (\n <IconButton\n disabled={disabled || !canMoveDown}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index + 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-down'),\n defaultMessage: 'Move down',\n })}\n >\n <ArrowDown />\n </IconButton>\n )}\n </>\n )}\n </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral100\"\n padding={{ initial: 4, medium: 6 }}\n gap={{ initial: 3, medium: 4 }}\n >\n <RepeatableComponentFields\n attributeComponent={attributeComponent}\n layout={layout}\n nameWithIndex={name}\n >\n {renderField}\n </RepeatableComponentFields>\n </Flex>\n </Accordion.Content>\n </Accordion.Item>\n )}\n </>\n );\n};\n\nconst Preview = () => {\n return <StyledSpan tag=\"span\" padding={6} background=\"primary100\" />;\n};\n\nconst StyledSpan = styled<BoxComponent<'span'>>(Box)`\n display: block;\n outline: 1px dashed ${({ theme }) => theme.colors.primary500};\n outline-offset: -1px;\n`;\n\nconst MemoizedComponent = React.memo(Component);\nconst MemoizedRepeatableComponent = React.memo(RepeatableComponent);\n\nexport { MemoizedRepeatableComponent as RepeatableComponent };\nexport type { RepeatableComponentProps };\n"],"names":["DEFAULT_MAIN_FIELD","name","type","RepeatableComponent","attribute","disabled","mainField","children","layout","toggleNotification","useNotification","formatMessage","useIntl","search","searchString","useLocation","React","useMemo","URLSearchParams","currentDocument","useDocumentContext","components","value","rawValue","error","rawError","useField","addFieldRow","useForm","state","moveFieldRow","removeFieldRow","max","Infinity","Array","isArray","collapseToOpen","setCollapseToOpen","useState","liveText","setLiveText","useEffect","hasNestedErrors","length","hasNestedValue","errorOpenItems","map","_","idx","__temp_key__","filter","includes","componentTmpKeyWithFocussedField","has","fieldParam","get","undefined","path","split","getIn","subpath","prevValue","usePrev","toggleCollapses","useCallback","handleClick","schema","component","form","createDefaultForm","data","transformDocument","message","id","getTranslation","handleMoveComponentField","newIndex","currentIndex","defaultMessage","item","position","handleValueChange","key","handleCancel","index","handleGrabItem","handleDropItem","handleDeleteComponent","ariaDescriptionId","useId","level","useComponent","_jsx","Initializer","onClick","_jsxs","Box","hasRadius","VisuallyHidden","aria-live","AccordionRoot","$error","onValueChange","aria-describedby","componentValue","nameWithIndex","ComponentProvider","uid","MemoizedComponent","attributeComponent","onMoveItem","onDeleteComponent","onCancel","onDropItem","onGrabItem","totalLength","renderField","TextButtonCustom","startIcon","Plus","styled","Accordion","Root","theme","colors","danger600","neutral200","TextButton","props","spaces","primary100","motion","easings","easeOutQuad","RepeatableComponentFields","memo","_Fragment","row","ResponsiveGridRoot","gap","size","field","completeFieldName","translatedLabel","label","ResponsiveGridItem","col","s","xs","direction","alignItems","join","displayName","Component","dragProps","isDesktop","useIsDesktop","displayValue","values","displayedValue","accordionRef","useRef","componentKey","slice","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","COMPONENT","onStart","getEmptyImage","captureDraggingState","composedAccordionRefs","useComposedRefs","composedBoxRefs","canMoveUp","canMoveDown","handleDeleteClick","Preview","Item","ref","Header","Trigger","Actions","IconButton","variant","Trash","e","stopPropagation","data-handler-id","onKeyDown","Drag","ArrowUp","ArrowDown","Content","Flex","background","padding","initial","medium","StyledSpan","tag","primary500","MemoizedRepeatableComponent"],"mappings":"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"}
1
+ {"version":3,"file":"Repeatable.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/Repeatable.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useField, useNotification, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n TextButton,\n VisuallyHidden,\n Accordion,\n IconButton,\n useComposedRefs,\n BoxComponent,\n} from '@strapi/design-system';\nimport { Plus, Drag, Trash, ArrowUp, ArrowDown } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { ItemTypes } from '../../../../../constants/dragAndDrop';\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { useDragAndDrop, type UseDragAndDropOptions } from '../../../../../hooks/useDragAndDrop';\nimport { usePrev } from '../../../../../hooks/usePrev';\nimport { getIn } from '../../../../../utils/objects';\nimport { getTranslation } from '../../../../../utils/translations';\nimport { transformDocument } from '../../../utils/data';\nimport { createDefaultForm } from '../../../utils/forms';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport { Initializer } from './Initializer';\n\nimport type { ComponentInputProps } from './Input';\nimport type { Schema } from '@strapi/types';\n\nconst DEFAULT_MAIN_FIELD: NonNullable<ComponentProps['mainField']> = {\n name: 'id',\n type: 'integer',\n};\n\n/* -------------------------------------------------------------------------------------------------\n * RepeatableComponent\n * -----------------------------------------------------------------------------------------------*/\n\ntype RepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst RepeatableComponent = ({\n attribute,\n disabled,\n name,\n mainField,\n children,\n layout,\n}: RepeatableComponentProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { currentDocument } = useDocumentContext('RepeatableComponent');\n const components = currentDocument.components;\n\n const {\n value: rawValue,\n error,\n rawError,\n } = useField<Schema.Attribute.ComponentValue<`${string}.${string}`, true>>(name);\n const addFieldRow = useForm('RepeatableComponent', (state) => state.addFieldRow);\n const moveFieldRow = useForm('RepeatableComponent', (state) => state.moveFieldRow);\n const removeFieldRow = useForm('RepeatableComponent', (state) => state.removeFieldRow);\n const { max = Infinity } = attribute;\n const value = React.useMemo(() => (Array.isArray(rawValue) ? rawValue : []), [rawValue]);\n\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>('');\n const [liveText, setLiveText] = React.useState('');\n\n React.useEffect(() => {\n const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;\n const hasNestedValue = value && Array.isArray(value) && value.length > 0;\n\n if (hasNestedErrors && hasNestedValue) {\n const errorOpenItems = rawError\n .map((_: unknown, idx: number) => {\n return value[idx] ? value[idx].__temp_key__ : null;\n })\n .filter((value) => !!value);\n\n if (errorOpenItems && errorOpenItems.length > 0) {\n setCollapseToOpen((collapseToOpen) => {\n if (!errorOpenItems.includes(collapseToOpen)) {\n return errorOpenItems[0];\n }\n\n return collapseToOpen;\n });\n }\n }\n }, [rawError, value]);\n\n /**\n * Get the temp key of the component that has the field that is currently focussed\n * as defined by the `field` query param. We can then force this specific component\n * to be in its \"open\" state.\n */\n const componentTmpKeyWithFocussedField = React.useMemo(() => {\n if (search.has('field')) {\n const fieldParam = search.get('field');\n\n if (!fieldParam) {\n return undefined;\n }\n\n const [, path] = fieldParam.split(`${name}.`);\n\n if (getIn(value, path, undefined) !== undefined) {\n const [subpath] = path.split('.');\n\n return getIn<\n Schema.Attribute.ComponentValue<`${string}.${string}`, true>[number] & {\n __temp_key__?: string;\n }\n >(value, subpath, undefined)?.__temp_key__;\n }\n }\n\n return undefined;\n }, [search, name, value]);\n\n const prevValue = usePrev(value);\n\n React.useEffect(() => {\n /**\n * When we add a new item to the array, we want to open the collapse.\n */\n if (prevValue && prevValue.length < value.length) {\n setCollapseToOpen(value[value.length - 1].__temp_key__);\n }\n }, [value, prevValue]);\n\n React.useEffect(() => {\n if (typeof componentTmpKeyWithFocussedField === 'string') {\n setCollapseToOpen(componentTmpKeyWithFocussedField);\n }\n }, [componentTmpKeyWithFocussedField]);\n\n const toggleCollapses = React.useCallback(() => {\n setCollapseToOpen('');\n }, []);\n\n const handleClick = () => {\n if (value.length < max) {\n const schema = components[attribute.component];\n const form = createDefaultForm(schema, components);\n const data = transformDocument(schema, components)(form);\n\n addFieldRow(name, data);\n // setCollapseToOpen(nextTempKey);\n } else if (value.length >= max) {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTranslation('components.notification.info.maximum-requirement'),\n }),\n });\n }\n };\n\n const handleMoveComponentField = React.useCallback(\n (newIndex: number, currentIndex: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.reorder'),\n defaultMessage: '{item}, moved. New position in list: {position}.',\n },\n {\n item: `${name}.${currentIndex}`,\n position: `${newIndex + 1} of ${value.length}`,\n }\n )\n );\n\n moveFieldRow(name, currentIndex, newIndex);\n },\n [formatMessage, moveFieldRow, name, value.length]\n );\n\n const handleValueChange = (key: string) => {\n setCollapseToOpen(key);\n };\n\n const handleCancel = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.cancel-item'),\n defaultMessage: '{item}, dropped. Re-order cancelled.',\n },\n {\n item: `${name}.${index}`,\n }\n )\n );\n },\n [formatMessage, name]\n );\n\n const handleGrabItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.grab-item'),\n defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDropItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.drop-item'),\n defaultMessage: `{item}, dropped. Final position in list: {position}.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDeleteComponent = React.useCallback(\n (index: number) => {\n removeFieldRow(name, index);\n toggleCollapses();\n },\n [name, removeFieldRow, toggleCollapses]\n );\n\n const ariaDescriptionId = React.useId();\n\n const level = useComponent('RepeatableComponent', (state) => state.level);\n\n if (value.length === 0) {\n return <Initializer disabled={disabled} name={name} onClick={handleClick} />;\n }\n\n return (\n <Box hasRadius>\n <VisuallyHidden id={ariaDescriptionId}>\n {formatMessage({\n id: getTranslation('dnd.instructions'),\n defaultMessage: `Press spacebar to grab and re-order`,\n })}\n </VisuallyHidden>\n <VisuallyHidden aria-live=\"assertive\">{liveText}</VisuallyHidden>\n <AccordionRoot\n $error={error}\n value={collapseToOpen}\n onValueChange={handleValueChange}\n aria-describedby={ariaDescriptionId}\n >\n {value.map((componentValue, index) => {\n const key = componentValue.__temp_key__;\n const id = componentValue.id;\n const nameWithIndex = `${name}.${index}`;\n\n return (\n <ComponentProvider\n key={key}\n // id is always a number in a component\n id={id as number}\n uid={attribute.component}\n level={level + 1}\n type=\"repeatable\"\n >\n <MemoizedComponent\n disabled={disabled}\n name={nameWithIndex}\n attributeComponent={attribute.component}\n index={index}\n mainField={mainField}\n onMoveItem={handleMoveComponentField}\n onDeleteComponent={handleDeleteComponent}\n toggleCollapses={toggleCollapses}\n onCancel={handleCancel}\n onDropItem={handleDropItem}\n onGrabItem={handleGrabItem}\n __temp_key__={key}\n totalLength={value.length}\n layout={layout}\n renderField={children}\n />\n </ComponentProvider>\n );\n })}\n <TextButtonCustom disabled={disabled} onClick={handleClick} startIcon={<Plus />}>\n {formatMessage({\n id: getTranslation('containers.EditView.add.new-entry'),\n defaultMessage: 'Add an entry',\n })}\n </TextButtonCustom>\n </AccordionRoot>\n </Box>\n );\n};\n\nconst AccordionRoot = styled(Accordion.Root)<{ $error?: string }>`\n border: 1px solid\n ${({ theme, $error }) => ($error ? theme.colors.danger600 : theme.colors.neutral200)};\n`;\n\nconst TextButtonCustom = styled(TextButton)`\n width: 100%;\n display: flex;\n justify-content: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral200};\n padding-inline: ${(props) => props.theme.spaces[6]};\n padding-block: ${(props) => props.theme.spaces[3]};\n\n &:not([disabled]) {\n cursor: pointer;\n\n &:hover {\n background-color: ${(props) => props.theme.colors.primary100};\n }\n }\n\n span {\n font-weight: 600;\n font-size: 1.4rem;\n line-height: 2.4rem;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};\n }\n`;\n\ninterface RepeatableComponentFieldsProps extends Pick<\n RepeatableComponentProps,\n 'children' | 'layout'\n> {\n attributeComponent: string;\n nameWithIndex: string;\n}\n\nconst RepeatableComponentFields = React.memo(\n ({ attributeComponent, children, layout, nameWithIndex }: RepeatableComponentFieldsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n {layout.map((row) => {\n return (\n <ResponsiveGridRoot gap={4} key={row.map((field) => field.name).join('.')}>\n {row.map(({ size, ...field }) => {\n /**\n * Layouts are built from schemas so they don't understand the complete\n * schema tree, for components we append the parent name to the field name\n * because this is the structure for the data & permissions also understand\n * the nesting involved.\n */\n const completeFieldName = `${nameWithIndex}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attributeComponent}.${field.name}`,\n defaultMessage: field.label,\n });\n\n return (\n <ResponsiveGridItem\n col={size}\n key={completeFieldName}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {children({\n ...field,\n size,\n label: translatedLabel,\n name: completeFieldName,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </>\n );\n }\n);\n\nRepeatableComponentFields.displayName = 'RepeatableComponentFields';\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ComponentProps\n extends\n Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel' | 'onMoveItem'>,\n Pick<RepeatableComponentProps, 'mainField' | 'layout'> {\n attributeComponent: string;\n disabled?: boolean;\n index: number;\n name: string;\n onDeleteComponent?: (index: number) => void;\n renderField: RepeatableComponentProps['children'];\n toggleCollapses: () => void;\n __temp_key__: string;\n totalLength: number;\n}\n\nconst Component = ({\n attributeComponent,\n disabled,\n index,\n name,\n mainField = DEFAULT_MAIN_FIELD,\n layout,\n onDeleteComponent,\n renderField,\n toggleCollapses,\n __temp_key__,\n totalLength,\n onMoveItem,\n ...dragProps\n}: ComponentProps) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n const displayValue = useForm<string | undefined>('RepeatableComponent', (state) => {\n return getIn<string>(state.values, [...name.split('.'), mainField.name]);\n });\n const displayedValue = typeof displayValue === 'string' ? displayValue : '';\n\n const accordionRef = React.useRef<HTMLButtonElement>(null!);\n\n /**\n * The last item in the fieldName array will be the index of this component.\n * Drag and drop should be isolated to the parent component so nested repeatable\n * components are not affected by the drag and drop of the parent component in\n * their own re-ordering context.\n */\n const componentKey = name.split('.').slice(0, -1).join('.');\n\n const [{ handlerId, isDragging, handleKeyDown }, boxRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(!disabled, {\n type: `${ItemTypes.COMPONENT}_${componentKey}`,\n index,\n item: {\n index,\n id: __temp_key__,\n displayedValue,\n },\n onStart() {\n // Close all collapses\n toggleCollapses();\n },\n onMoveItem,\n ...dragProps,\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const composedAccordionRefs = useComposedRefs<HTMLButtonElement>(accordionRef, dragRef);\n const composedBoxRefs = useComposedRefs<HTMLDivElement>(\n boxRef as React.RefObject<HTMLDivElement>,\n dropRef\n );\n\n const canMoveUp = index > 0;\n const canMoveDown = index < totalLength - 1;\n const handleDeleteClick = () => {\n onDeleteComponent?.(index);\n };\n\n return (\n <>\n {isDragging ? (\n <Preview />\n ) : (\n <Accordion.Item ref={composedBoxRefs} value={__temp_key__}>\n <Accordion.Header>\n <Accordion.Trigger>{displayValue}</Accordion.Trigger>\n <Accordion.Actions>\n <IconButton\n disabled={disabled}\n variant=\"ghost\"\n onClick={handleDeleteClick}\n label={formatMessage({\n id: getTranslation('containers.Edit.delete'),\n defaultMessage: 'Delete',\n })}\n >\n <Trash />\n </IconButton>\n {isDesktop && (\n <IconButton\n disabled={disabled}\n ref={composedAccordionRefs}\n variant=\"ghost\"\n onClick={(e) => e.stopPropagation()}\n data-handler-id={handlerId}\n label={formatMessage({\n id: getTranslation('components.DragHandle-label'),\n defaultMessage: 'Drag',\n })}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n {!isDesktop && (\n <>\n {canMoveUp && (\n <IconButton\n disabled={disabled || !canMoveUp}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index - 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-up'),\n defaultMessage: 'Move up',\n })}\n >\n <ArrowUp />\n </IconButton>\n )}\n {canMoveDown && (\n <IconButton\n disabled={disabled || !canMoveDown}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index + 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-down'),\n defaultMessage: 'Move down',\n })}\n >\n <ArrowDown />\n </IconButton>\n )}\n </>\n )}\n </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral100\"\n padding={{ initial: 4, medium: 6 }}\n gap={{ initial: 3, medium: 4 }}\n >\n <RepeatableComponentFields\n attributeComponent={attributeComponent}\n layout={layout}\n nameWithIndex={name}\n >\n {renderField}\n </RepeatableComponentFields>\n </Flex>\n </Accordion.Content>\n </Accordion.Item>\n )}\n </>\n );\n};\n\nconst Preview = () => {\n return <StyledSpan tag=\"span\" padding={6} background=\"primary100\" />;\n};\n\nconst StyledSpan = styled<BoxComponent<'span'>>(Box)`\n display: block;\n outline: 1px dashed ${({ theme }) => theme.colors.primary500};\n outline-offset: -1px;\n`;\n\nconst MemoizedComponent = React.memo(Component);\nconst MemoizedRepeatableComponent = React.memo(RepeatableComponent);\n\nexport { MemoizedRepeatableComponent as RepeatableComponent };\nexport type { RepeatableComponentProps };\n"],"names":["DEFAULT_MAIN_FIELD","name","type","RepeatableComponent","attribute","disabled","mainField","children","layout","toggleNotification","useNotification","formatMessage","useIntl","search","searchString","useLocation","React","useMemo","URLSearchParams","currentDocument","useDocumentContext","components","value","rawValue","error","rawError","useField","addFieldRow","useForm","state","moveFieldRow","removeFieldRow","max","Infinity","Array","isArray","collapseToOpen","setCollapseToOpen","useState","liveText","setLiveText","useEffect","hasNestedErrors","length","hasNestedValue","errorOpenItems","map","_","idx","__temp_key__","filter","includes","componentTmpKeyWithFocussedField","has","fieldParam","get","undefined","path","split","getIn","subpath","prevValue","usePrev","toggleCollapses","useCallback","handleClick","schema","component","form","createDefaultForm","data","transformDocument","message","id","getTranslation","handleMoveComponentField","newIndex","currentIndex","defaultMessage","item","position","handleValueChange","key","handleCancel","index","handleGrabItem","handleDropItem","handleDeleteComponent","ariaDescriptionId","useId","level","useComponent","_jsx","Initializer","onClick","_jsxs","Box","hasRadius","VisuallyHidden","aria-live","AccordionRoot","$error","onValueChange","aria-describedby","componentValue","nameWithIndex","ComponentProvider","uid","MemoizedComponent","attributeComponent","onMoveItem","onDeleteComponent","onCancel","onDropItem","onGrabItem","totalLength","renderField","TextButtonCustom","startIcon","Plus","styled","Accordion","Root","theme","colors","danger600","neutral200","TextButton","props","spaces","primary100","motion","easings","easeOutQuad","RepeatableComponentFields","memo","_Fragment","row","ResponsiveGridRoot","gap","size","field","completeFieldName","translatedLabel","label","ResponsiveGridItem","col","s","xs","direction","alignItems","join","displayName","Component","dragProps","isDesktop","useIsDesktop","displayValue","values","displayedValue","accordionRef","useRef","componentKey","slice","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","COMPONENT","onStart","getEmptyImage","captureDraggingState","composedAccordionRefs","useComposedRefs","composedBoxRefs","canMoveUp","canMoveDown","handleDeleteClick","Preview","Item","ref","Header","Trigger","Actions","IconButton","variant","Trash","e","stopPropagation","data-handler-id","onKeyDown","Drag","ArrowUp","ArrowDown","Content","Flex","background","padding","initial","medium","StyledSpan","tag","primary500","MemoizedRepeatableComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAMA,kBAAAA,GAA+D;IACnEC,IAAAA,EAAM,IAAA;IACNC,IAAAA,EAAM;AACR,CAAA;AAQA,MAAMC,mBAAAA,GAAsB,CAAC,EAC3BC,SAAS,EACTC,QAAQ,EACRJ,IAAI,EACJK,SAAS,EACTC,QAAQ,EACRC,MAAM,EACmB,GAAA;IACzB,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,MAAAA,EAAQC,YAAY,EAAE,GAAGC,0BAAAA,EAAAA;AACjC,IAAA,MAAMF,SAASG,gBAAAA,CAAMC,OAAO,CAAC,IAAM,IAAIC,gBAAgBJ,YAAAA,CAAAA,EAAe;AAACA,QAAAA;AAAa,KAAA,CAAA;AACpF,IAAA,MAAM,EAAEK,eAAe,EAAE,GAAGC,qCAAAA,CAAmB,qBAAA,CAAA;IAC/C,MAAMC,UAAAA,GAAaF,gBAAgBE,UAAU;IAE7C,MAAM,EACJC,OAAOC,QAAQ,EACfC,KAAK,EACLC,QAAQ,EACT,GAAGC,oBAAAA,CAAuEzB,IAAAA,CAAAA;AAC3E,IAAA,MAAM0B,cAAcC,mBAAAA,CAAQ,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAMF,WAAW,CAAA;AAC/E,IAAA,MAAMG,eAAeF,mBAAAA,CAAQ,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAMC,YAAY,CAAA;AACjF,IAAA,MAAMC,iBAAiBH,mBAAAA,CAAQ,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAME,cAAc,CAAA;AACrF,IAAA,MAAM,EAAEC,GAAAA,GAAMC,QAAQ,EAAE,GAAG7B,SAAAA;IAC3B,MAAMkB,KAAAA,GAAQN,gBAAAA,CAAMC,OAAO,CAAC,IAAOiB,KAAAA,CAAMC,OAAO,CAACZ,QAAAA,CAAAA,GAAYA,QAAAA,GAAW,EAAE,EAAG;AAACA,QAAAA;AAAS,KAAA,CAAA;AAEvF,IAAA,MAAM,CAACa,cAAAA,EAAgBC,iBAAAA,CAAkB,GAAGrB,gBAAAA,CAAMsB,QAAQ,CAAS,EAAA,CAAA;AACnE,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGxB,gBAAAA,CAAMsB,QAAQ,CAAC,EAAA,CAAA;AAE/CtB,IAAAA,gBAAAA,CAAMyB,SAAS,CAAC,IAAA;QACd,MAAMC,eAAAA,GAAkBjB,YAAYS,KAAAA,CAAMC,OAAO,CAACV,QAAAA,CAAAA,IAAaA,QAAAA,CAASkB,MAAM,GAAG,CAAA;QACjF,MAAMC,cAAAA,GAAiBtB,SAASY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,IAAUA,KAAAA,CAAMqB,MAAM,GAAG,CAAA;AAEvE,QAAA,IAAID,mBAAmBE,cAAAA,EAAgB;AACrC,YAAA,MAAMC,cAAAA,GAAiBpB,QAAAA,CACpBqB,GAAG,CAAC,CAACC,CAAAA,EAAYC,GAAAA,GAAAA;gBAChB,OAAO1B,KAAK,CAAC0B,GAAAA,CAAI,GAAG1B,KAAK,CAAC0B,GAAAA,CAAI,CAACC,YAAY,GAAG,IAAA;AAChD,YAAA,CAAA,CAAA,CACCC,MAAM,CAAC,CAAC5B,KAAAA,GAAU,CAAC,CAACA,KAAAA,CAAAA;AAEvB,YAAA,IAAIuB,cAAAA,IAAkBA,cAAAA,CAAeF,MAAM,GAAG,CAAA,EAAG;AAC/CN,gBAAAA,iBAAAA,CAAkB,CAACD,cAAAA,GAAAA;AACjB,oBAAA,IAAI,CAACS,cAAAA,CAAeM,QAAQ,CAACf,cAAAA,CAAAA,EAAiB;wBAC5C,OAAOS,cAAc,CAAC,CAAA,CAAE;AAC1B,oBAAA;oBAEA,OAAOT,cAAAA;AACT,gBAAA,CAAA,CAAA;AACF,YAAA;AACF,QAAA;IACF,CAAA,EAAG;AAACX,QAAAA,QAAAA;AAAUH,QAAAA;AAAM,KAAA,CAAA;AAEpB;;;;AAIC,MACD,MAAM8B,gCAAAA,GAAmCpC,gBAAAA,CAAMC,OAAO,CAAC,IAAA;QACrD,IAAIJ,MAAAA,CAAOwC,GAAG,CAAC,OAAA,CAAA,EAAU;YACvB,MAAMC,UAAAA,GAAazC,MAAAA,CAAO0C,GAAG,CAAC,OAAA,CAAA;AAE9B,YAAA,IAAI,CAACD,UAAAA,EAAY;gBACf,OAAOE,SAAAA;AACT,YAAA;YAEA,MAAM,GAAGC,KAAK,GAAGH,UAAAA,CAAWI,KAAK,CAAC,CAAA,EAAGzD,IAAAA,CAAK,CAAC,CAAC,CAAA;AAE5C,YAAA,IAAI0D,aAAAA,CAAMrC,KAAAA,EAAOmC,IAAAA,EAAMD,SAAAA,CAAAA,KAAeA,SAAAA,EAAW;AAC/C,gBAAA,MAAM,CAACI,OAAAA,CAAQ,GAAGH,IAAAA,CAAKC,KAAK,CAAC,GAAA,CAAA;gBAE7B,OAAOC,aAAAA,CAILrC,KAAAA,EAAOsC,OAAAA,EAASJ,SAAAA,CAAAA,EAAYP,YAAAA;AAChC,YAAA;AACF,QAAA;QAEA,OAAOO,SAAAA;IACT,CAAA,EAAG;AAAC3C,QAAAA,MAAAA;AAAQZ,QAAAA,IAAAA;AAAMqB,QAAAA;AAAM,KAAA,CAAA;AAExB,IAAA,MAAMuC,YAAYC,eAAAA,CAAQxC,KAAAA,CAAAA;AAE1BN,IAAAA,gBAAAA,CAAMyB,SAAS,CAAC,IAAA;AACd;;AAEC,QACD,IAAIoB,SAAAA,IAAaA,SAAAA,CAAUlB,MAAM,GAAGrB,KAAAA,CAAMqB,MAAM,EAAE;AAChDN,YAAAA,iBAAAA,CAAkBf,KAAK,CAACA,KAAAA,CAAMqB,MAAM,GAAG,CAAA,CAAE,CAACM,YAAY,CAAA;AACxD,QAAA;IACF,CAAA,EAAG;AAAC3B,QAAAA,KAAAA;AAAOuC,QAAAA;AAAU,KAAA,CAAA;AAErB7C,IAAAA,gBAAAA,CAAMyB,SAAS,CAAC,IAAA;QACd,IAAI,OAAOW,qCAAqC,QAAA,EAAU;YACxDf,iBAAAA,CAAkBe,gCAAAA,CAAAA;AACpB,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA;AAAiC,KAAA,CAAA;IAErC,MAAMW,eAAAA,GAAkB/C,gBAAAA,CAAMgD,WAAW,CAAC,IAAA;QACxC3B,iBAAAA,CAAkB,EAAA,CAAA;AACpB,IAAA,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM4B,WAAAA,GAAc,IAAA;QAClB,IAAI3C,KAAAA,CAAMqB,MAAM,GAAGX,GAAAA,EAAK;AACtB,YAAA,MAAMkC,MAAAA,GAAS7C,UAAU,CAACjB,SAAAA,CAAU+D,SAAS,CAAC;YAC9C,MAAMC,IAAAA,GAAOC,wBAAkBH,MAAAA,EAAQ7C,UAAAA,CAAAA;YACvC,MAAMiD,MAAAA,GAAOC,sBAAAA,CAAkBL,MAAAA,EAAQ7C,UAAAA,CAAAA,CAAY+C,IAAAA,CAAAA;AAEnDzC,YAAAA,WAAAA,CAAY1B,IAAAA,EAAMqE,MAAAA,CAAAA;;AAEpB,QAAA,CAAA,MAAO,IAAIhD,KAAAA,CAAMqB,MAAM,IAAIX,GAAAA,EAAK;YAC9BvB,kBAAAA,CAAmB;gBACjBP,IAAAA,EAAM,MAAA;AACNsE,gBAAAA,OAAAA,EAAS7D,aAAAA,CAAc;AACrB8D,oBAAAA,EAAAA,EAAIC,2BAAAA,CAAe,kDAAA;AACrB,iBAAA;AACF,aAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMC,wBAAAA,GAA2B3D,gBAAAA,CAAMgD,WAAW,CAChD,CAACY,QAAAA,EAAkBC,YAAAA,GAAAA;AACjBrC,QAAAA,WAAAA,CACE7B,aAAAA,CACE;AACE8D,YAAAA,EAAAA,EAAIC,2BAAAA,CAAe,aAAA,CAAA;YACnBI,cAAAA,EAAgB;SAClB,EACA;AACEC,YAAAA,IAAAA,EAAM,CAAA,EAAG9E,IAAAA,CAAK,CAAC,EAAE4E,YAAAA,CAAAA,CAAc;AAC/BG,YAAAA,QAAAA,EAAU,GAAGJ,QAAAA,GAAW,CAAA,CAAE,IAAI,EAAEtD,KAAAA,CAAMqB,MAAM,CAAA;AAC9C,SAAA,CAAA,CAAA;AAIJb,QAAAA,YAAAA,CAAa7B,MAAM4E,YAAAA,EAAcD,QAAAA,CAAAA;IACnC,CAAA,EACA;AAACjE,QAAAA,aAAAA;AAAemB,QAAAA,YAAAA;AAAc7B,QAAAA,IAAAA;AAAMqB,QAAAA,KAAAA,CAAMqB;AAAO,KAAA,CAAA;AAGnD,IAAA,MAAMsC,oBAAoB,CAACC,GAAAA,GAAAA;QACzB7C,iBAAAA,CAAkB6C,GAAAA,CAAAA;AACpB,IAAA,CAAA;AAEA,IAAA,MAAMC,YAAAA,GAAenE,gBAAAA,CAAMgD,WAAW,CACpC,CAACoB,KAAAA,GAAAA;AACC5C,QAAAA,WAAAA,CACE7B,aAAAA,CACE;AACE8D,YAAAA,EAAAA,EAAIC,2BAAAA,CAAe,iBAAA,CAAA;YACnBI,cAAAA,EAAgB;SAClB,EACA;AACEC,YAAAA,IAAAA,EAAM,CAAA,EAAG9E,IAAAA,CAAK,CAAC,EAAEmF,KAAAA,CAAAA;AACnB,SAAA,CAAA,CAAA;IAGN,CAAA,EACA;AAACzE,QAAAA,aAAAA;AAAeV,QAAAA;AAAK,KAAA,CAAA;AAGvB,IAAA,MAAMoF,cAAAA,GAAiBrE,gBAAAA,CAAMgD,WAAW,CACtC,CAACoB,KAAAA,GAAAA;AACC5C,QAAAA,WAAAA,CACE7B,aAAAA,CACE;AACE8D,YAAAA,EAAAA,EAAIC,2BAAAA,CAAe,eAAA,CAAA;YACnBI,cAAAA,EAAgB,CAAC,sIAAsI;SACzJ,EACA;AACEC,YAAAA,IAAAA,EAAM,CAAA,EAAG9E,IAAAA,CAAK,CAAC,EAAEmF,KAAAA,CAAAA,CAAO;AACxBJ,YAAAA,QAAAA,EAAU,GAAGI,KAAAA,GAAQ,CAAA,CAAE,IAAI,EAAE9D,KAAAA,CAAMqB,MAAM,CAAA;AAC3C,SAAA,CAAA,CAAA;IAGN,CAAA,EACA;AAAChC,QAAAA,aAAAA;AAAeV,QAAAA,IAAAA;AAAMqB,QAAAA,KAAAA,CAAMqB;AAAO,KAAA,CAAA;AAGrC,IAAA,MAAM2C,cAAAA,GAAiBtE,gBAAAA,CAAMgD,WAAW,CACtC,CAACoB,KAAAA,GAAAA;AACC5C,QAAAA,WAAAA,CACE7B,aAAAA,CACE;AACE8D,YAAAA,EAAAA,EAAIC,2BAAAA,CAAe,eAAA,CAAA;YACnBI,cAAAA,EAAgB,CAAC,oDAAoD;SACvE,EACA;AACEC,YAAAA,IAAAA,EAAM,CAAA,EAAG9E,IAAAA,CAAK,CAAC,EAAEmF,KAAAA,CAAAA,CAAO;AACxBJ,YAAAA,QAAAA,EAAU,GAAGI,KAAAA,GAAQ,CAAA,CAAE,IAAI,EAAE9D,KAAAA,CAAMqB,MAAM,CAAA;AAC3C,SAAA,CAAA,CAAA;IAGN,CAAA,EACA;AAAChC,QAAAA,aAAAA;AAAeV,QAAAA,IAAAA;AAAMqB,QAAAA,KAAAA,CAAMqB;AAAO,KAAA,CAAA;AAGrC,IAAA,MAAM4C,qBAAAA,GAAwBvE,gBAAAA,CAAMgD,WAAW,CAC7C,CAACoB,KAAAA,GAAAA;AACCrD,QAAAA,cAAAA,CAAe9B,IAAAA,EAAMmF,KAAAA,CAAAA;AACrBrB,QAAAA,eAAAA,EAAAA;IACF,CAAA,EACA;AAAC9D,QAAAA,IAAAA;AAAM8B,QAAAA,cAAAA;AAAgBgC,QAAAA;AAAgB,KAAA,CAAA;IAGzC,MAAMyB,iBAAAA,GAAoBxE,iBAAMyE,KAAK,EAAA;AAErC,IAAA,MAAMC,QAAQC,6BAAAA,CAAa,qBAAA,EAAuB,CAAC9D,KAAAA,GAAUA,MAAM6D,KAAK,CAAA;IAExE,IAAIpE,KAAAA,CAAMqB,MAAM,KAAK,CAAA,EAAG;AACtB,QAAA,qBAAOiD,cAAA,CAACC,uBAAAA,EAAAA;YAAYxF,QAAAA,EAAUA,QAAAA;YAAUJ,IAAAA,EAAMA,IAAAA;YAAM6F,OAAAA,EAAS7B;;AAC/D,IAAA;AAEA,IAAA,qBACE8B,eAAA,CAACC,gBAAAA,EAAAA;QAAIC,SAAS,EAAA,IAAA;;0BACZL,cAAA,CAACM,2BAAAA,EAAAA;gBAAezB,EAAAA,EAAIe,iBAAAA;0BACjB7E,aAAAA,CAAc;AACb8D,oBAAAA,EAAAA,EAAIC,2BAAAA,CAAe,kBAAA,CAAA;oBACnBI,cAAAA,EAAgB,CAAC,mCAAmC;AACtD,iBAAA;;0BAEFc,cAAA,CAACM,2BAAAA,EAAAA;gBAAeC,WAAAA,EAAU,WAAA;AAAa5D,gBAAAA,QAAAA,EAAAA;;0BACvCwD,eAAA,CAACK,aAAAA,EAAAA;gBACCC,MAAAA,EAAQ7E,KAAAA;gBACRF,KAAAA,EAAOc,cAAAA;gBACPkE,aAAAA,EAAerB,iBAAAA;gBACfsB,kBAAAA,EAAkBf,iBAAAA;;oBAEjBlE,KAAAA,CAAMwB,GAAG,CAAC,CAAC0D,cAAAA,EAAgBpB,KAAAA,GAAAA;wBAC1B,MAAMF,GAAAA,GAAMsB,eAAevD,YAAY;wBACvC,MAAMwB,EAAAA,GAAK+B,eAAe/B,EAAE;AAC5B,wBAAA,MAAMgC,aAAAA,GAAgB,CAAA,EAAGxG,IAAAA,CAAK,CAAC,EAAEmF,KAAAA,CAAAA,CAAO;AAExC,wBAAA,qBACEQ,cAAA,CAACc,kCAAAA,EAAAA;;4BAGCjC,EAAAA,EAAIA,EAAAA;AACJkC,4BAAAA,GAAAA,EAAKvG,UAAU+D,SAAS;AACxBuB,4BAAAA,KAAAA,EAAOA,KAAAA,GAAQ,CAAA;4BACfxF,IAAAA,EAAK,YAAA;AAEL,4BAAA,QAAA,gBAAA0F,cAAA,CAACgB,iBAAAA,EAAAA;gCACCvG,QAAAA,EAAUA,QAAAA;gCACVJ,IAAAA,EAAMwG,aAAAA;AACNI,gCAAAA,kBAAAA,EAAoBzG,UAAU+D,SAAS;gCACvCiB,KAAAA,EAAOA,KAAAA;gCACP9E,SAAAA,EAAWA,SAAAA;gCACXwG,UAAAA,EAAYnC,wBAAAA;gCACZoC,iBAAAA,EAAmBxB,qBAAAA;gCACnBxB,eAAAA,EAAiBA,eAAAA;gCACjBiD,QAAAA,EAAU7B,YAAAA;gCACV8B,UAAAA,EAAY3B,cAAAA;gCACZ4B,UAAAA,EAAY7B,cAAAA;gCACZpC,YAAAA,EAAciC,GAAAA;AACdiC,gCAAAA,WAAAA,EAAa7F,MAAMqB,MAAM;gCACzBnC,MAAAA,EAAQA,MAAAA;gCACR4G,WAAAA,EAAa7G;;AAtBV2E,yBAAAA,EAAAA,GAAAA,CAAAA;AA0BX,oBAAA,CAAA,CAAA;kCACAU,cAAA,CAACyB,gBAAAA,EAAAA;wBAAiBhH,QAAAA,EAAUA,QAAAA;wBAAUyF,OAAAA,EAAS7B,WAAAA;AAAaqD,wBAAAA,SAAAA,gBAAW1B,cAAA,CAAC2B,UAAAA,EAAAA,EAAAA,CAAAA;kCACrE5G,aAAAA,CAAc;AACb8D,4BAAAA,EAAAA,EAAIC,2BAAAA,CAAe,mCAAA,CAAA;4BACnBI,cAAAA,EAAgB;AAClB,yBAAA;;;;;;AAKV,CAAA;AAEA,MAAMsB,aAAAA,GAAgBoB,uBAAAA,CAAOC,sBAAAA,CAAUC,IAAI,CAAsB;;AAE7D,IAAA,EAAE,CAAC,EAAEC,KAAK,EAAEtB,MAAM,EAAE,GAAMA,MAAAA,GAASsB,KAAAA,CAAMC,MAAM,CAACC,SAAS,GAAGF,MAAMC,MAAM,CAACE,UAAU,CAAE;AACzF,CAAC;AAED,MAAMT,gBAAAA,GAAmBG,uBAAAA,CAAOO,uBAAAA,CAAW;;;;wBAInB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;kBAC/C,EAAE,CAACE,QAAUA,KAAAA,CAAML,KAAK,CAACM,MAAM,CAAC,EAAE,CAAC;iBACpC,EAAE,CAACD,QAAUA,KAAAA,CAAML,KAAK,CAACM,MAAM,CAAC,EAAE,CAAC;;;;;;wBAM5B,EAAE,CAACD,QAAUA,KAAAA,CAAML,KAAK,CAACC,MAAM,CAACM,UAAU,CAAC;;;;;;;;;;;uCAW5B,EAAE,CAACF,KAAAA,GAAUA,KAAAA,CAAML,KAAK,CAACQ,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC;;AAE3F,CAAC;AAUD,MAAMC,yBAAAA,iBAA4BtH,gBAAAA,CAAMuH,IAAI,CAC1C,CAAC,EAAE1B,kBAAkB,EAAEtG,QAAQ,EAAEC,MAAM,EAAEiG,aAAa,EAAkC,GAAA;IACtF,MAAM,EAAE9F,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEgF,cAAA,CAAA4C,mBAAA,EAAA;kBACGhI,MAAAA,CAAOsC,GAAG,CAAC,CAAC2F,GAAAA,GAAAA;AACX,YAAA,qBACE7C,cAAA,CAAC8C,6BAAAA,EAAAA;gBAAmBC,GAAAA,EAAK,CAAA;AACtBF,gBAAAA,QAAAA,EAAAA,GAAAA,CAAI3F,GAAG,CAAC,CAAC,EAAE8F,IAAI,EAAE,GAAGC,KAAAA,EAAO,GAAA;AAC1B;;;;;oBAMA,MAAMC,oBAAoB,CAAA,EAAGrC,aAAAA,CAAc,CAAC,EAAEoC,KAAAA,CAAM5I,IAAI,CAAA,CAAE;AAE1D,oBAAA,MAAM8I,kBAAkBpI,aAAAA,CAAc;wBACpC8D,EAAAA,EAAI,CAAC,2BAA2B,EAAEoC,kBAAAA,CAAmB,CAAC,EAAEgC,KAAAA,CAAM5I,IAAI,CAAA,CAAE;AACpE6E,wBAAAA,cAAAA,EAAgB+D,MAAMG;AACxB,qBAAA,CAAA;AAEA,oBAAA,qBACEpD,cAAA,CAACqD,6BAAAA,EAAAA;wBACCC,GAAAA,EAAKN,IAAAA;wBAELO,CAAAA,EAAG,EAAA;wBACHC,EAAAA,EAAI,EAAA;wBACJC,SAAAA,EAAU,QAAA;wBACVC,UAAAA,EAAW,SAAA;kCAEV/I,QAAAA,CAAS;AACR,4BAAA,GAAGsI,KAAK;AACRD,4BAAAA,IAAAA;4BACAI,KAAAA,EAAOD,eAAAA;4BACP9I,IAAAA,EAAM6I;AACR,yBAAA;AAXKA,qBAAAA,EAAAA,iBAAAA,CAAAA;AAcX,gBAAA,CAAA;eAhC+BL,GAAAA,CAAI3F,GAAG,CAAC,CAAC+F,KAAAA,GAAUA,MAAM5I,IAAI,CAAA,CAAEsJ,IAAI,CAAC,GAAA,CAAA,CAAA;AAmCzE,QAAA,CAAA;;AAGN,CAAA,CAAA;AAGFjB,yBAAAA,CAA0BkB,WAAW,GAAG,2BAAA;AAqBxC,MAAMC,SAAAA,GAAY,CAAC,EACjB5C,kBAAkB,EAClBxG,QAAQ,EACR+E,KAAK,EACLnF,IAAI,EACJK,SAAAA,GAAYN,kBAAkB,EAC9BQ,MAAM,EACNuG,iBAAiB,EACjBK,WAAW,EACXrD,eAAe,EACfd,YAAY,EACZkE,WAAW,EACXL,UAAU,EACV,GAAG4C,SAAAA,EACY,GAAA;IACf,MAAM,EAAE/I,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM+I,SAAAA,GAAYC,wBAAAA,EAAAA;IAElB,MAAMC,YAAAA,GAAejI,mBAAAA,CAA4B,qBAAA,EAAuB,CAACC,KAAAA,GAAAA;QACvE,OAAO8B,aAAAA,CAAc9B,KAAAA,CAAMiI,MAAM,EAAE;AAAI7J,YAAAA,GAAAA,IAAAA,CAAKyD,KAAK,CAAC,GAAA,CAAA;AAAMpD,YAAAA,SAAAA,CAAUL;AAAK,SAAA,CAAA;AACzE,IAAA,CAAA,CAAA;AACA,IAAA,MAAM8J,cAAAA,GAAiB,OAAOF,YAAAA,KAAiB,QAAA,GAAWA,YAAAA,GAAe,EAAA;IAEzE,MAAMG,YAAAA,GAAehJ,gBAAAA,CAAMiJ,MAAM,CAAoB,IAAA,CAAA;AAErD;;;;;AAKC,MACD,MAAMC,YAAAA,GAAejK,IAAAA,CAAKyD,KAAK,CAAC,GAAA,CAAA,CAAKyG,KAAK,CAAC,CAAA,EAAG,EAAC,CAAA,CAAGZ,IAAI,CAAC,GAAA,CAAA;AAEvD,IAAA,MAAM,CAAC,EAAEa,SAAS,EAAEC,UAAU,EAAEC,aAAa,EAAE,EAAEC,MAAAA,EAAQC,SAASC,OAAAA,EAASC,cAAAA,CAAe,GACxFC,6BAAAA,CAAe,CAACtK,QAAAA,EAAU;AACxBH,QAAAA,IAAAA,EAAM,GAAG0K,qBAAAA,CAAUC,SAAS,CAAC,CAAC,EAAEX,YAAAA,CAAAA,CAAc;AAC9C9E,QAAAA,KAAAA;QACAL,IAAAA,EAAM;AACJK,YAAAA,KAAAA;YACAX,EAAAA,EAAIxB,YAAAA;AACJ8G,YAAAA;AACF,SAAA;AACAe,QAAAA,OAAAA,CAAAA,GAAAA;;AAEE/G,YAAAA,eAAAA,EAAAA;AACF,QAAA,CAAA;AACA+C,QAAAA,UAAAA;AACA,QAAA,GAAG4C;AACL,KAAA,CAAA;AAEF1I,IAAAA,gBAAAA,CAAMyB,SAAS,CAAC,IAAA;AACdiI,QAAAA,cAAAA,CAAeK,kCAAAA,EAAAA,EAAiB;YAAEC,oBAAAA,EAAsB;AAAM,SAAA,CAAA;IAChE,CAAA,EAAG;AAACN,QAAAA,cAAAA;AAAgBtF,QAAAA;AAAM,KAAA,CAAA;IAE1B,MAAM6F,qBAAAA,GAAwBC,6BAAmClB,YAAAA,EAAcS,OAAAA,CAAAA;IAC/E,MAAMU,eAAAA,GAAkBD,6BACtBX,MAAAA,EACAC,OAAAA,CAAAA;AAGF,IAAA,MAAMY,YAAYhG,KAAAA,GAAQ,CAAA;IAC1B,MAAMiG,WAAAA,GAAcjG,QAAQ+B,WAAAA,GAAc,CAAA;AAC1C,IAAA,MAAMmE,iBAAAA,GAAoB,IAAA;QACxBvE,iBAAAA,GAAoB3B,KAAAA,CAAAA;AACtB,IAAA,CAAA;IAEA,qBACEQ,cAAA,CAAA4C,mBAAA,EAAA;AACG6B,QAAAA,QAAAA,EAAAA,UAAAA,iBACCzE,cAAA,CAAC2F,OAAAA,EAAAA,EAAAA,CAAAA,iBAEDxF,eAAA,CAAC0B,sBAAAA,CAAU+D,IAAI,EAAA;YAACC,GAAAA,EAAKN,eAAAA;YAAiB7J,KAAAA,EAAO2B,YAAAA;;AAC3C,8BAAA8C,eAAA,CAAC0B,uBAAUiE,MAAM,EAAA;;AACf,sCAAA9F,cAAA,CAAC6B,uBAAUkE,OAAO,EAAA;AAAE9B,4BAAAA,QAAAA,EAAAA;;AACpB,sCAAA9D,eAAA,CAAC0B,uBAAUmE,OAAO,EAAA;;8CAChBhG,cAAA,CAACiG,uBAAAA,EAAAA;oCACCxL,QAAAA,EAAUA,QAAAA;oCACVyL,OAAAA,EAAQ,OAAA;oCACRhG,OAAAA,EAASwF,iBAAAA;AACTtC,oCAAAA,KAAAA,EAAOrI,aAAAA,CAAc;AACnB8D,wCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,wBAAA,CAAA;wCACnBI,cAAAA,EAAgB;AAClB,qCAAA,CAAA;AAEA,oCAAA,QAAA,gBAAAc,cAAA,CAACmG,WAAAA,EAAAA,EAAAA;;AAEFpC,gCAAAA,SAAAA,kBACC/D,cAAA,CAACiG,uBAAAA,EAAAA;oCACCxL,QAAAA,EAAUA,QAAAA;oCACVoL,GAAAA,EAAKR,qBAAAA;oCACLa,OAAAA,EAAQ,OAAA;oCACRhG,OAAAA,EAAS,CAACkG,CAAAA,GAAMA,CAAAA,CAAEC,eAAe,EAAA;oCACjCC,iBAAAA,EAAiB9B,SAAAA;AACjBpB,oCAAAA,KAAAA,EAAOrI,aAAAA,CAAc;AACnB8D,wCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,6BAAA,CAAA;wCACnBI,cAAAA,EAAgB;AAClB,qCAAA,CAAA;oCACAqH,SAAAA,EAAW7B,aAAAA;AAEX,oCAAA,QAAA,gBAAA1E,cAAA,CAACwG,UAAAA,EAAAA,EAAAA;;AAGJ,gCAAA,CAACzC,SAAAA,kBACA5D,eAAA,CAAAyC,mBAAA,EAAA;;AACG4C,wCAAAA,SAAAA,kBACCxF,cAAA,CAACiG,uBAAAA,EAAAA;AACCxL,4CAAAA,QAAAA,EAAUA,YAAY,CAAC+K,SAAAA;4CACvBU,OAAAA,EAAQ,OAAA;AACRhG,4CAAAA,OAAAA,EAAS,CAACkG,CAAAA,GAAAA;AACRA,gDAAAA,CAAAA,CAAEC,eAAe,EAAA;AACjB,gDAAA,IAAInF,UAAAA,EAAY;AACdA,oDAAAA,UAAAA,CAAW1B,QAAQ,CAAA,EAAGA,KAAAA,CAAAA;AACxB,gDAAA;AACF,4CAAA,CAAA;AACA4D,4CAAAA,KAAAA,EAAOrI,aAAAA,CAAc;AACnB8D,gDAAAA,EAAAA,EAAIC,2BAAAA,CAAe,gCAAA,CAAA;gDACnBI,cAAAA,EAAgB;AAClB,6CAAA,CAAA;AAEA,4CAAA,QAAA,gBAAAc,cAAA,CAACyG,aAAAA,EAAAA,EAAAA;;AAGJhB,wCAAAA,WAAAA,kBACCzF,cAAA,CAACiG,uBAAAA,EAAAA;AACCxL,4CAAAA,QAAAA,EAAUA,YAAY,CAACgL,WAAAA;4CACvBS,OAAAA,EAAQ,OAAA;AACRhG,4CAAAA,OAAAA,EAAS,CAACkG,CAAAA,GAAAA;AACRA,gDAAAA,CAAAA,CAAEC,eAAe,EAAA;AACjB,gDAAA,IAAInF,UAAAA,EAAY;AACdA,oDAAAA,UAAAA,CAAW1B,QAAQ,CAAA,EAAGA,KAAAA,CAAAA;AACxB,gDAAA;AACF,4CAAA,CAAA;AACA4D,4CAAAA,KAAAA,EAAOrI,aAAAA,CAAc;AACnB8D,gDAAAA,EAAAA,EAAIC,2BAAAA,CAAe,kCAAA,CAAA;gDACnBI,cAAAA,EAAgB;AAClB,6CAAA,CAAA;AAEA,4CAAA,QAAA,gBAAAc,cAAA,CAAC0G,eAAAA,EAAAA,EAAAA;;;;;;;;AAOb,8BAAA1G,cAAA,CAAC6B,uBAAU8E,OAAO,EAAA;AAChB,oBAAA,QAAA,gBAAA3G,cAAA,CAAC4G,iBAAAA,EAAAA;wBACCnD,SAAAA,EAAU,QAAA;wBACVC,UAAAA,EAAW,SAAA;wBACXmD,UAAAA,EAAW,YAAA;wBACXC,OAAAA,EAAS;4BAAEC,OAAAA,EAAS,CAAA;4BAAGC,MAAAA,EAAQ;AAAE,yBAAA;wBACjCjE,GAAAA,EAAK;4BAAEgE,OAAAA,EAAS,CAAA;4BAAGC,MAAAA,EAAQ;AAAE,yBAAA;AAE7B,wBAAA,QAAA,gBAAAhH,cAAA,CAAC0C,yBAAAA,EAAAA;4BACCzB,kBAAAA,EAAoBA,kBAAAA;4BACpBrG,MAAAA,EAAQA,MAAAA;4BACRiG,aAAAA,EAAexG,IAAAA;AAEdmH,4BAAAA,QAAAA,EAAAA;;;;;;;AAQjB,CAAA;AAEA,MAAMmE,OAAAA,GAAU,IAAA;AACd,IAAA,qBAAO3F,cAAA,CAACiH,UAAAA,EAAAA;QAAWC,GAAAA,EAAI,MAAA;QAAOJ,OAAAA,EAAS,CAAA;QAAGD,UAAAA,EAAW;;AACvD,CAAA;AAEA,MAAMI,UAAAA,GAAarF,uBAAAA,CAA6BxB,gBAAAA,CAAI;;sBAE9B,EAAE,CAAC,EAAE2B,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACmF,UAAU,CAAC;;AAE/D,CAAC;AAED,MAAMnG,iBAAAA,iBAAoB5F,gBAAAA,CAAMuH,IAAI,CAACkB,SAAAA,CAAAA;AACrC,MAAMuD,2BAAAA,iBAA8BhM,gBAAAA,CAAMuH,IAAI,CAACpI,mBAAAA;;;;"}
@@ -311,6 +311,7 @@ const RepeatableComponentFields = /*#__PURE__*/ React.memo(({ attributeComponent
311
311
  alignItems: "stretch",
312
312
  children: children({
313
313
  ...field,
314
+ size,
314
315
  label: translatedLabel,
315
316
  name: completeFieldName
316
317
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Repeatable.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/Repeatable.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useField, useNotification, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n TextButton,\n VisuallyHidden,\n Accordion,\n IconButton,\n useComposedRefs,\n BoxComponent,\n} from '@strapi/design-system';\nimport { Plus, Drag, Trash, ArrowUp, ArrowDown } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { ItemTypes } from '../../../../../constants/dragAndDrop';\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { useDragAndDrop, type UseDragAndDropOptions } from '../../../../../hooks/useDragAndDrop';\nimport { usePrev } from '../../../../../hooks/usePrev';\nimport { getIn } from '../../../../../utils/objects';\nimport { getTranslation } from '../../../../../utils/translations';\nimport { transformDocument } from '../../../utils/data';\nimport { createDefaultForm } from '../../../utils/forms';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport { Initializer } from './Initializer';\n\nimport type { ComponentInputProps } from './Input';\nimport type { Schema } from '@strapi/types';\n\nconst DEFAULT_MAIN_FIELD: NonNullable<ComponentProps['mainField']> = {\n name: 'id',\n type: 'integer',\n};\n\n/* -------------------------------------------------------------------------------------------------\n * RepeatableComponent\n * -----------------------------------------------------------------------------------------------*/\n\ntype RepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst RepeatableComponent = ({\n attribute,\n disabled,\n name,\n mainField,\n children,\n layout,\n}: RepeatableComponentProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { currentDocument } = useDocumentContext('RepeatableComponent');\n const components = currentDocument.components;\n\n const {\n value: rawValue,\n error,\n rawError,\n } = useField<Schema.Attribute.ComponentValue<`${string}.${string}`, true>>(name);\n const addFieldRow = useForm('RepeatableComponent', (state) => state.addFieldRow);\n const moveFieldRow = useForm('RepeatableComponent', (state) => state.moveFieldRow);\n const removeFieldRow = useForm('RepeatableComponent', (state) => state.removeFieldRow);\n const { max = Infinity } = attribute;\n const value = React.useMemo(() => (Array.isArray(rawValue) ? rawValue : []), [rawValue]);\n\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>('');\n const [liveText, setLiveText] = React.useState('');\n\n React.useEffect(() => {\n const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;\n const hasNestedValue = value && Array.isArray(value) && value.length > 0;\n\n if (hasNestedErrors && hasNestedValue) {\n const errorOpenItems = rawError\n .map((_: unknown, idx: number) => {\n return value[idx] ? value[idx].__temp_key__ : null;\n })\n .filter((value) => !!value);\n\n if (errorOpenItems && errorOpenItems.length > 0) {\n setCollapseToOpen((collapseToOpen) => {\n if (!errorOpenItems.includes(collapseToOpen)) {\n return errorOpenItems[0];\n }\n\n return collapseToOpen;\n });\n }\n }\n }, [rawError, value]);\n\n /**\n * Get the temp key of the component that has the field that is currently focussed\n * as defined by the `field` query param. We can then force this specific component\n * to be in its \"open\" state.\n */\n const componentTmpKeyWithFocussedField = React.useMemo(() => {\n if (search.has('field')) {\n const fieldParam = search.get('field');\n\n if (!fieldParam) {\n return undefined;\n }\n\n const [, path] = fieldParam.split(`${name}.`);\n\n if (getIn(value, path, undefined) !== undefined) {\n const [subpath] = path.split('.');\n\n return getIn<\n Schema.Attribute.ComponentValue<`${string}.${string}`, true>[number] & {\n __temp_key__?: string;\n }\n >(value, subpath, undefined)?.__temp_key__;\n }\n }\n\n return undefined;\n }, [search, name, value]);\n\n const prevValue = usePrev(value);\n\n React.useEffect(() => {\n /**\n * When we add a new item to the array, we want to open the collapse.\n */\n if (prevValue && prevValue.length < value.length) {\n setCollapseToOpen(value[value.length - 1].__temp_key__);\n }\n }, [value, prevValue]);\n\n React.useEffect(() => {\n if (typeof componentTmpKeyWithFocussedField === 'string') {\n setCollapseToOpen(componentTmpKeyWithFocussedField);\n }\n }, [componentTmpKeyWithFocussedField]);\n\n const toggleCollapses = React.useCallback(() => {\n setCollapseToOpen('');\n }, []);\n\n const handleClick = () => {\n if (value.length < max) {\n const schema = components[attribute.component];\n const form = createDefaultForm(schema, components);\n const data = transformDocument(schema, components)(form);\n\n addFieldRow(name, data);\n // setCollapseToOpen(nextTempKey);\n } else if (value.length >= max) {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTranslation('components.notification.info.maximum-requirement'),\n }),\n });\n }\n };\n\n const handleMoveComponentField = React.useCallback(\n (newIndex: number, currentIndex: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.reorder'),\n defaultMessage: '{item}, moved. New position in list: {position}.',\n },\n {\n item: `${name}.${currentIndex}`,\n position: `${newIndex + 1} of ${value.length}`,\n }\n )\n );\n\n moveFieldRow(name, currentIndex, newIndex);\n },\n [formatMessage, moveFieldRow, name, value.length]\n );\n\n const handleValueChange = (key: string) => {\n setCollapseToOpen(key);\n };\n\n const handleCancel = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.cancel-item'),\n defaultMessage: '{item}, dropped. Re-order cancelled.',\n },\n {\n item: `${name}.${index}`,\n }\n )\n );\n },\n [formatMessage, name]\n );\n\n const handleGrabItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.grab-item'),\n defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDropItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.drop-item'),\n defaultMessage: `{item}, dropped. Final position in list: {position}.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDeleteComponent = React.useCallback(\n (index: number) => {\n removeFieldRow(name, index);\n toggleCollapses();\n },\n [name, removeFieldRow, toggleCollapses]\n );\n\n const ariaDescriptionId = React.useId();\n\n const level = useComponent('RepeatableComponent', (state) => state.level);\n\n if (value.length === 0) {\n return <Initializer disabled={disabled} name={name} onClick={handleClick} />;\n }\n\n return (\n <Box hasRadius>\n <VisuallyHidden id={ariaDescriptionId}>\n {formatMessage({\n id: getTranslation('dnd.instructions'),\n defaultMessage: `Press spacebar to grab and re-order`,\n })}\n </VisuallyHidden>\n <VisuallyHidden aria-live=\"assertive\">{liveText}</VisuallyHidden>\n <AccordionRoot\n $error={error}\n value={collapseToOpen}\n onValueChange={handleValueChange}\n aria-describedby={ariaDescriptionId}\n >\n {value.map((componentValue, index) => {\n const key = componentValue.__temp_key__;\n const id = componentValue.id;\n const nameWithIndex = `${name}.${index}`;\n\n return (\n <ComponentProvider\n key={key}\n // id is always a number in a component\n id={id as number}\n uid={attribute.component}\n level={level + 1}\n type=\"repeatable\"\n >\n <MemoizedComponent\n disabled={disabled}\n name={nameWithIndex}\n attributeComponent={attribute.component}\n index={index}\n mainField={mainField}\n onMoveItem={handleMoveComponentField}\n onDeleteComponent={handleDeleteComponent}\n toggleCollapses={toggleCollapses}\n onCancel={handleCancel}\n onDropItem={handleDropItem}\n onGrabItem={handleGrabItem}\n __temp_key__={key}\n totalLength={value.length}\n layout={layout}\n renderField={children}\n />\n </ComponentProvider>\n );\n })}\n <TextButtonCustom disabled={disabled} onClick={handleClick} startIcon={<Plus />}>\n {formatMessage({\n id: getTranslation('containers.EditView.add.new-entry'),\n defaultMessage: 'Add an entry',\n })}\n </TextButtonCustom>\n </AccordionRoot>\n </Box>\n );\n};\n\nconst AccordionRoot = styled(Accordion.Root)<{ $error?: string }>`\n border: 1px solid\n ${({ theme, $error }) => ($error ? theme.colors.danger600 : theme.colors.neutral200)};\n`;\n\nconst TextButtonCustom = styled(TextButton)`\n width: 100%;\n display: flex;\n justify-content: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral200};\n padding-inline: ${(props) => props.theme.spaces[6]};\n padding-block: ${(props) => props.theme.spaces[3]};\n\n &:not([disabled]) {\n cursor: pointer;\n\n &:hover {\n background-color: ${(props) => props.theme.colors.primary100};\n }\n }\n\n span {\n font-weight: 600;\n font-size: 1.4rem;\n line-height: 2.4rem;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};\n }\n`;\n\ninterface RepeatableComponentFieldsProps extends Pick<\n RepeatableComponentProps,\n 'children' | 'layout'\n> {\n attributeComponent: string;\n nameWithIndex: string;\n}\n\nconst RepeatableComponentFields = React.memo(\n ({ attributeComponent, children, layout, nameWithIndex }: RepeatableComponentFieldsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n {layout.map((row) => {\n return (\n <ResponsiveGridRoot gap={4} key={row.map((field) => field.name).join('.')}>\n {row.map(({ size, ...field }) => {\n /**\n * Layouts are built from schemas so they don't understand the complete\n * schema tree, for components we append the parent name to the field name\n * because this is the structure for the data & permissions also understand\n * the nesting involved.\n */\n const completeFieldName = `${nameWithIndex}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attributeComponent}.${field.name}`,\n defaultMessage: field.label,\n });\n\n return (\n <ResponsiveGridItem\n col={size}\n key={completeFieldName}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {children({\n ...field,\n label: translatedLabel,\n name: completeFieldName,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </>\n );\n }\n);\n\nRepeatableComponentFields.displayName = 'RepeatableComponentFields';\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ComponentProps\n extends\n Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel' | 'onMoveItem'>,\n Pick<RepeatableComponentProps, 'mainField' | 'layout'> {\n attributeComponent: string;\n disabled?: boolean;\n index: number;\n name: string;\n onDeleteComponent?: (index: number) => void;\n renderField: RepeatableComponentProps['children'];\n toggleCollapses: () => void;\n __temp_key__: string;\n totalLength: number;\n}\n\nconst Component = ({\n attributeComponent,\n disabled,\n index,\n name,\n mainField = DEFAULT_MAIN_FIELD,\n layout,\n onDeleteComponent,\n renderField,\n toggleCollapses,\n __temp_key__,\n totalLength,\n onMoveItem,\n ...dragProps\n}: ComponentProps) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n const displayValue = useForm<string | undefined>('RepeatableComponent', (state) => {\n return getIn<string>(state.values, [...name.split('.'), mainField.name]);\n });\n const displayedValue = typeof displayValue === 'string' ? displayValue : '';\n\n const accordionRef = React.useRef<HTMLButtonElement>(null!);\n\n /**\n * The last item in the fieldName array will be the index of this component.\n * Drag and drop should be isolated to the parent component so nested repeatable\n * components are not affected by the drag and drop of the parent component in\n * their own re-ordering context.\n */\n const componentKey = name.split('.').slice(0, -1).join('.');\n\n const [{ handlerId, isDragging, handleKeyDown }, boxRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(!disabled, {\n type: `${ItemTypes.COMPONENT}_${componentKey}`,\n index,\n item: {\n index,\n id: __temp_key__,\n displayedValue,\n },\n onStart() {\n // Close all collapses\n toggleCollapses();\n },\n onMoveItem,\n ...dragProps,\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const composedAccordionRefs = useComposedRefs<HTMLButtonElement>(accordionRef, dragRef);\n const composedBoxRefs = useComposedRefs<HTMLDivElement>(\n boxRef as React.RefObject<HTMLDivElement>,\n dropRef\n );\n\n const canMoveUp = index > 0;\n const canMoveDown = index < totalLength - 1;\n const handleDeleteClick = () => {\n onDeleteComponent?.(index);\n };\n\n return (\n <>\n {isDragging ? (\n <Preview />\n ) : (\n <Accordion.Item ref={composedBoxRefs} value={__temp_key__}>\n <Accordion.Header>\n <Accordion.Trigger>{displayValue}</Accordion.Trigger>\n <Accordion.Actions>\n <IconButton\n disabled={disabled}\n variant=\"ghost\"\n onClick={handleDeleteClick}\n label={formatMessage({\n id: getTranslation('containers.Edit.delete'),\n defaultMessage: 'Delete',\n })}\n >\n <Trash />\n </IconButton>\n {isDesktop && (\n <IconButton\n disabled={disabled}\n ref={composedAccordionRefs}\n variant=\"ghost\"\n onClick={(e) => e.stopPropagation()}\n data-handler-id={handlerId}\n label={formatMessage({\n id: getTranslation('components.DragHandle-label'),\n defaultMessage: 'Drag',\n })}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n {!isDesktop && (\n <>\n {canMoveUp && (\n <IconButton\n disabled={disabled || !canMoveUp}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index - 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-up'),\n defaultMessage: 'Move up',\n })}\n >\n <ArrowUp />\n </IconButton>\n )}\n {canMoveDown && (\n <IconButton\n disabled={disabled || !canMoveDown}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index + 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-down'),\n defaultMessage: 'Move down',\n })}\n >\n <ArrowDown />\n </IconButton>\n )}\n </>\n )}\n </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral100\"\n padding={{ initial: 4, medium: 6 }}\n gap={{ initial: 3, medium: 4 }}\n >\n <RepeatableComponentFields\n attributeComponent={attributeComponent}\n layout={layout}\n nameWithIndex={name}\n >\n {renderField}\n </RepeatableComponentFields>\n </Flex>\n </Accordion.Content>\n </Accordion.Item>\n )}\n </>\n );\n};\n\nconst Preview = () => {\n return <StyledSpan tag=\"span\" padding={6} background=\"primary100\" />;\n};\n\nconst StyledSpan = styled<BoxComponent<'span'>>(Box)`\n display: block;\n outline: 1px dashed ${({ theme }) => theme.colors.primary500};\n outline-offset: -1px;\n`;\n\nconst MemoizedComponent = React.memo(Component);\nconst MemoizedRepeatableComponent = React.memo(RepeatableComponent);\n\nexport { MemoizedRepeatableComponent as RepeatableComponent };\nexport type { RepeatableComponentProps };\n"],"names":["DEFAULT_MAIN_FIELD","name","type","RepeatableComponent","attribute","disabled","mainField","children","layout","toggleNotification","useNotification","formatMessage","useIntl","search","searchString","useLocation","React","useMemo","URLSearchParams","currentDocument","useDocumentContext","components","value","rawValue","error","rawError","useField","addFieldRow","useForm","state","moveFieldRow","removeFieldRow","max","Infinity","Array","isArray","collapseToOpen","setCollapseToOpen","useState","liveText","setLiveText","useEffect","hasNestedErrors","length","hasNestedValue","errorOpenItems","map","_","idx","__temp_key__","filter","includes","componentTmpKeyWithFocussedField","has","fieldParam","get","undefined","path","split","getIn","subpath","prevValue","usePrev","toggleCollapses","useCallback","handleClick","schema","component","form","createDefaultForm","data","transformDocument","message","id","getTranslation","handleMoveComponentField","newIndex","currentIndex","defaultMessage","item","position","handleValueChange","key","handleCancel","index","handleGrabItem","handleDropItem","handleDeleteComponent","ariaDescriptionId","useId","level","useComponent","_jsx","Initializer","onClick","_jsxs","Box","hasRadius","VisuallyHidden","aria-live","AccordionRoot","$error","onValueChange","aria-describedby","componentValue","nameWithIndex","ComponentProvider","uid","MemoizedComponent","attributeComponent","onMoveItem","onDeleteComponent","onCancel","onDropItem","onGrabItem","totalLength","renderField","TextButtonCustom","startIcon","Plus","styled","Accordion","Root","theme","colors","danger600","neutral200","TextButton","props","spaces","primary100","motion","easings","easeOutQuad","RepeatableComponentFields","memo","_Fragment","row","ResponsiveGridRoot","gap","size","field","completeFieldName","translatedLabel","label","ResponsiveGridItem","col","s","xs","direction","alignItems","join","displayName","Component","dragProps","isDesktop","useIsDesktop","displayValue","values","displayedValue","accordionRef","useRef","componentKey","slice","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","COMPONENT","onStart","getEmptyImage","captureDraggingState","composedAccordionRefs","useComposedRefs","composedBoxRefs","canMoveUp","canMoveDown","handleDeleteClick","Preview","Item","ref","Header","Trigger","Actions","IconButton","variant","Trash","e","stopPropagation","data-handler-id","onKeyDown","Drag","ArrowUp","ArrowDown","Content","Flex","background","padding","initial","medium","StyledSpan","tag","primary500","MemoizedRepeatableComponent"],"mappings":"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"}
1
+ {"version":3,"file":"Repeatable.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/Repeatable.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useField, useNotification, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n TextButton,\n VisuallyHidden,\n Accordion,\n IconButton,\n useComposedRefs,\n BoxComponent,\n} from '@strapi/design-system';\nimport { Plus, Drag, Trash, ArrowUp, ArrowDown } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { ItemTypes } from '../../../../../constants/dragAndDrop';\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { useDragAndDrop, type UseDragAndDropOptions } from '../../../../../hooks/useDragAndDrop';\nimport { usePrev } from '../../../../../hooks/usePrev';\nimport { getIn } from '../../../../../utils/objects';\nimport { getTranslation } from '../../../../../utils/translations';\nimport { transformDocument } from '../../../utils/data';\nimport { createDefaultForm } from '../../../utils/forms';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport { Initializer } from './Initializer';\n\nimport type { ComponentInputProps } from './Input';\nimport type { Schema } from '@strapi/types';\n\nconst DEFAULT_MAIN_FIELD: NonNullable<ComponentProps['mainField']> = {\n name: 'id',\n type: 'integer',\n};\n\n/* -------------------------------------------------------------------------------------------------\n * RepeatableComponent\n * -----------------------------------------------------------------------------------------------*/\n\ntype RepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst RepeatableComponent = ({\n attribute,\n disabled,\n name,\n mainField,\n children,\n layout,\n}: RepeatableComponentProps) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const search = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { currentDocument } = useDocumentContext('RepeatableComponent');\n const components = currentDocument.components;\n\n const {\n value: rawValue,\n error,\n rawError,\n } = useField<Schema.Attribute.ComponentValue<`${string}.${string}`, true>>(name);\n const addFieldRow = useForm('RepeatableComponent', (state) => state.addFieldRow);\n const moveFieldRow = useForm('RepeatableComponent', (state) => state.moveFieldRow);\n const removeFieldRow = useForm('RepeatableComponent', (state) => state.removeFieldRow);\n const { max = Infinity } = attribute;\n const value = React.useMemo(() => (Array.isArray(rawValue) ? rawValue : []), [rawValue]);\n\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>('');\n const [liveText, setLiveText] = React.useState('');\n\n React.useEffect(() => {\n const hasNestedErrors = rawError && Array.isArray(rawError) && rawError.length > 0;\n const hasNestedValue = value && Array.isArray(value) && value.length > 0;\n\n if (hasNestedErrors && hasNestedValue) {\n const errorOpenItems = rawError\n .map((_: unknown, idx: number) => {\n return value[idx] ? value[idx].__temp_key__ : null;\n })\n .filter((value) => !!value);\n\n if (errorOpenItems && errorOpenItems.length > 0) {\n setCollapseToOpen((collapseToOpen) => {\n if (!errorOpenItems.includes(collapseToOpen)) {\n return errorOpenItems[0];\n }\n\n return collapseToOpen;\n });\n }\n }\n }, [rawError, value]);\n\n /**\n * Get the temp key of the component that has the field that is currently focussed\n * as defined by the `field` query param. We can then force this specific component\n * to be in its \"open\" state.\n */\n const componentTmpKeyWithFocussedField = React.useMemo(() => {\n if (search.has('field')) {\n const fieldParam = search.get('field');\n\n if (!fieldParam) {\n return undefined;\n }\n\n const [, path] = fieldParam.split(`${name}.`);\n\n if (getIn(value, path, undefined) !== undefined) {\n const [subpath] = path.split('.');\n\n return getIn<\n Schema.Attribute.ComponentValue<`${string}.${string}`, true>[number] & {\n __temp_key__?: string;\n }\n >(value, subpath, undefined)?.__temp_key__;\n }\n }\n\n return undefined;\n }, [search, name, value]);\n\n const prevValue = usePrev(value);\n\n React.useEffect(() => {\n /**\n * When we add a new item to the array, we want to open the collapse.\n */\n if (prevValue && prevValue.length < value.length) {\n setCollapseToOpen(value[value.length - 1].__temp_key__);\n }\n }, [value, prevValue]);\n\n React.useEffect(() => {\n if (typeof componentTmpKeyWithFocussedField === 'string') {\n setCollapseToOpen(componentTmpKeyWithFocussedField);\n }\n }, [componentTmpKeyWithFocussedField]);\n\n const toggleCollapses = React.useCallback(() => {\n setCollapseToOpen('');\n }, []);\n\n const handleClick = () => {\n if (value.length < max) {\n const schema = components[attribute.component];\n const form = createDefaultForm(schema, components);\n const data = transformDocument(schema, components)(form);\n\n addFieldRow(name, data);\n // setCollapseToOpen(nextTempKey);\n } else if (value.length >= max) {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: getTranslation('components.notification.info.maximum-requirement'),\n }),\n });\n }\n };\n\n const handleMoveComponentField = React.useCallback(\n (newIndex: number, currentIndex: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.reorder'),\n defaultMessage: '{item}, moved. New position in list: {position}.',\n },\n {\n item: `${name}.${currentIndex}`,\n position: `${newIndex + 1} of ${value.length}`,\n }\n )\n );\n\n moveFieldRow(name, currentIndex, newIndex);\n },\n [formatMessage, moveFieldRow, name, value.length]\n );\n\n const handleValueChange = (key: string) => {\n setCollapseToOpen(key);\n };\n\n const handleCancel = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.cancel-item'),\n defaultMessage: '{item}, dropped. Re-order cancelled.',\n },\n {\n item: `${name}.${index}`,\n }\n )\n );\n },\n [formatMessage, name]\n );\n\n const handleGrabItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.grab-item'),\n defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDropItem = React.useCallback(\n (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: getTranslation('dnd.drop-item'),\n defaultMessage: `{item}, dropped. Final position in list: {position}.`,\n },\n {\n item: `${name}.${index}`,\n position: `${index + 1} of ${value.length}`,\n }\n )\n );\n },\n [formatMessage, name, value.length]\n );\n\n const handleDeleteComponent = React.useCallback(\n (index: number) => {\n removeFieldRow(name, index);\n toggleCollapses();\n },\n [name, removeFieldRow, toggleCollapses]\n );\n\n const ariaDescriptionId = React.useId();\n\n const level = useComponent('RepeatableComponent', (state) => state.level);\n\n if (value.length === 0) {\n return <Initializer disabled={disabled} name={name} onClick={handleClick} />;\n }\n\n return (\n <Box hasRadius>\n <VisuallyHidden id={ariaDescriptionId}>\n {formatMessage({\n id: getTranslation('dnd.instructions'),\n defaultMessage: `Press spacebar to grab and re-order`,\n })}\n </VisuallyHidden>\n <VisuallyHidden aria-live=\"assertive\">{liveText}</VisuallyHidden>\n <AccordionRoot\n $error={error}\n value={collapseToOpen}\n onValueChange={handleValueChange}\n aria-describedby={ariaDescriptionId}\n >\n {value.map((componentValue, index) => {\n const key = componentValue.__temp_key__;\n const id = componentValue.id;\n const nameWithIndex = `${name}.${index}`;\n\n return (\n <ComponentProvider\n key={key}\n // id is always a number in a component\n id={id as number}\n uid={attribute.component}\n level={level + 1}\n type=\"repeatable\"\n >\n <MemoizedComponent\n disabled={disabled}\n name={nameWithIndex}\n attributeComponent={attribute.component}\n index={index}\n mainField={mainField}\n onMoveItem={handleMoveComponentField}\n onDeleteComponent={handleDeleteComponent}\n toggleCollapses={toggleCollapses}\n onCancel={handleCancel}\n onDropItem={handleDropItem}\n onGrabItem={handleGrabItem}\n __temp_key__={key}\n totalLength={value.length}\n layout={layout}\n renderField={children}\n />\n </ComponentProvider>\n );\n })}\n <TextButtonCustom disabled={disabled} onClick={handleClick} startIcon={<Plus />}>\n {formatMessage({\n id: getTranslation('containers.EditView.add.new-entry'),\n defaultMessage: 'Add an entry',\n })}\n </TextButtonCustom>\n </AccordionRoot>\n </Box>\n );\n};\n\nconst AccordionRoot = styled(Accordion.Root)<{ $error?: string }>`\n border: 1px solid\n ${({ theme, $error }) => ($error ? theme.colors.danger600 : theme.colors.neutral200)};\n`;\n\nconst TextButtonCustom = styled(TextButton)`\n width: 100%;\n display: flex;\n justify-content: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral200};\n padding-inline: ${(props) => props.theme.spaces[6]};\n padding-block: ${(props) => props.theme.spaces[3]};\n\n &:not([disabled]) {\n cursor: pointer;\n\n &:hover {\n background-color: ${(props) => props.theme.colors.primary100};\n }\n }\n\n span {\n font-weight: 600;\n font-size: 1.4rem;\n line-height: 2.4rem;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};\n }\n`;\n\ninterface RepeatableComponentFieldsProps extends Pick<\n RepeatableComponentProps,\n 'children' | 'layout'\n> {\n attributeComponent: string;\n nameWithIndex: string;\n}\n\nconst RepeatableComponentFields = React.memo(\n ({ attributeComponent, children, layout, nameWithIndex }: RepeatableComponentFieldsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n {layout.map((row) => {\n return (\n <ResponsiveGridRoot gap={4} key={row.map((field) => field.name).join('.')}>\n {row.map(({ size, ...field }) => {\n /**\n * Layouts are built from schemas so they don't understand the complete\n * schema tree, for components we append the parent name to the field name\n * because this is the structure for the data & permissions also understand\n * the nesting involved.\n */\n const completeFieldName = `${nameWithIndex}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attributeComponent}.${field.name}`,\n defaultMessage: field.label,\n });\n\n return (\n <ResponsiveGridItem\n col={size}\n key={completeFieldName}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {children({\n ...field,\n size,\n label: translatedLabel,\n name: completeFieldName,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </>\n );\n }\n);\n\nRepeatableComponentFields.displayName = 'RepeatableComponentFields';\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ComponentProps\n extends\n Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel' | 'onMoveItem'>,\n Pick<RepeatableComponentProps, 'mainField' | 'layout'> {\n attributeComponent: string;\n disabled?: boolean;\n index: number;\n name: string;\n onDeleteComponent?: (index: number) => void;\n renderField: RepeatableComponentProps['children'];\n toggleCollapses: () => void;\n __temp_key__: string;\n totalLength: number;\n}\n\nconst Component = ({\n attributeComponent,\n disabled,\n index,\n name,\n mainField = DEFAULT_MAIN_FIELD,\n layout,\n onDeleteComponent,\n renderField,\n toggleCollapses,\n __temp_key__,\n totalLength,\n onMoveItem,\n ...dragProps\n}: ComponentProps) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n const displayValue = useForm<string | undefined>('RepeatableComponent', (state) => {\n return getIn<string>(state.values, [...name.split('.'), mainField.name]);\n });\n const displayedValue = typeof displayValue === 'string' ? displayValue : '';\n\n const accordionRef = React.useRef<HTMLButtonElement>(null!);\n\n /**\n * The last item in the fieldName array will be the index of this component.\n * Drag and drop should be isolated to the parent component so nested repeatable\n * components are not affected by the drag and drop of the parent component in\n * their own re-ordering context.\n */\n const componentKey = name.split('.').slice(0, -1).join('.');\n\n const [{ handlerId, isDragging, handleKeyDown }, boxRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(!disabled, {\n type: `${ItemTypes.COMPONENT}_${componentKey}`,\n index,\n item: {\n index,\n id: __temp_key__,\n displayedValue,\n },\n onStart() {\n // Close all collapses\n toggleCollapses();\n },\n onMoveItem,\n ...dragProps,\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const composedAccordionRefs = useComposedRefs<HTMLButtonElement>(accordionRef, dragRef);\n const composedBoxRefs = useComposedRefs<HTMLDivElement>(\n boxRef as React.RefObject<HTMLDivElement>,\n dropRef\n );\n\n const canMoveUp = index > 0;\n const canMoveDown = index < totalLength - 1;\n const handleDeleteClick = () => {\n onDeleteComponent?.(index);\n };\n\n return (\n <>\n {isDragging ? (\n <Preview />\n ) : (\n <Accordion.Item ref={composedBoxRefs} value={__temp_key__}>\n <Accordion.Header>\n <Accordion.Trigger>{displayValue}</Accordion.Trigger>\n <Accordion.Actions>\n <IconButton\n disabled={disabled}\n variant=\"ghost\"\n onClick={handleDeleteClick}\n label={formatMessage({\n id: getTranslation('containers.Edit.delete'),\n defaultMessage: 'Delete',\n })}\n >\n <Trash />\n </IconButton>\n {isDesktop && (\n <IconButton\n disabled={disabled}\n ref={composedAccordionRefs}\n variant=\"ghost\"\n onClick={(e) => e.stopPropagation()}\n data-handler-id={handlerId}\n label={formatMessage({\n id: getTranslation('components.DragHandle-label'),\n defaultMessage: 'Drag',\n })}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n {!isDesktop && (\n <>\n {canMoveUp && (\n <IconButton\n disabled={disabled || !canMoveUp}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index - 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-up'),\n defaultMessage: 'Move up',\n })}\n >\n <ArrowUp />\n </IconButton>\n )}\n {canMoveDown && (\n <IconButton\n disabled={disabled || !canMoveDown}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n if (onMoveItem) {\n onMoveItem(index + 1, index);\n }\n }}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-down'),\n defaultMessage: 'Move down',\n })}\n >\n <ArrowDown />\n </IconButton>\n )}\n </>\n )}\n </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral100\"\n padding={{ initial: 4, medium: 6 }}\n gap={{ initial: 3, medium: 4 }}\n >\n <RepeatableComponentFields\n attributeComponent={attributeComponent}\n layout={layout}\n nameWithIndex={name}\n >\n {renderField}\n </RepeatableComponentFields>\n </Flex>\n </Accordion.Content>\n </Accordion.Item>\n )}\n </>\n );\n};\n\nconst Preview = () => {\n return <StyledSpan tag=\"span\" padding={6} background=\"primary100\" />;\n};\n\nconst StyledSpan = styled<BoxComponent<'span'>>(Box)`\n display: block;\n outline: 1px dashed ${({ theme }) => theme.colors.primary500};\n outline-offset: -1px;\n`;\n\nconst MemoizedComponent = React.memo(Component);\nconst MemoizedRepeatableComponent = React.memo(RepeatableComponent);\n\nexport { MemoizedRepeatableComponent as RepeatableComponent };\nexport type { RepeatableComponentProps };\n"],"names":["DEFAULT_MAIN_FIELD","name","type","RepeatableComponent","attribute","disabled","mainField","children","layout","toggleNotification","useNotification","formatMessage","useIntl","search","searchString","useLocation","React","useMemo","URLSearchParams","currentDocument","useDocumentContext","components","value","rawValue","error","rawError","useField","addFieldRow","useForm","state","moveFieldRow","removeFieldRow","max","Infinity","Array","isArray","collapseToOpen","setCollapseToOpen","useState","liveText","setLiveText","useEffect","hasNestedErrors","length","hasNestedValue","errorOpenItems","map","_","idx","__temp_key__","filter","includes","componentTmpKeyWithFocussedField","has","fieldParam","get","undefined","path","split","getIn","subpath","prevValue","usePrev","toggleCollapses","useCallback","handleClick","schema","component","form","createDefaultForm","data","transformDocument","message","id","getTranslation","handleMoveComponentField","newIndex","currentIndex","defaultMessage","item","position","handleValueChange","key","handleCancel","index","handleGrabItem","handleDropItem","handleDeleteComponent","ariaDescriptionId","useId","level","useComponent","_jsx","Initializer","onClick","_jsxs","Box","hasRadius","VisuallyHidden","aria-live","AccordionRoot","$error","onValueChange","aria-describedby","componentValue","nameWithIndex","ComponentProvider","uid","MemoizedComponent","attributeComponent","onMoveItem","onDeleteComponent","onCancel","onDropItem","onGrabItem","totalLength","renderField","TextButtonCustom","startIcon","Plus","styled","Accordion","Root","theme","colors","danger600","neutral200","TextButton","props","spaces","primary100","motion","easings","easeOutQuad","RepeatableComponentFields","memo","_Fragment","row","ResponsiveGridRoot","gap","size","field","completeFieldName","translatedLabel","label","ResponsiveGridItem","col","s","xs","direction","alignItems","join","displayName","Component","dragProps","isDesktop","useIsDesktop","displayValue","values","displayedValue","accordionRef","useRef","componentKey","slice","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","COMPONENT","onStart","getEmptyImage","captureDraggingState","composedAccordionRefs","useComposedRefs","composedBoxRefs","canMoveUp","canMoveDown","handleDeleteClick","Preview","Item","ref","Header","Trigger","Actions","IconButton","variant","Trash","e","stopPropagation","data-handler-id","onKeyDown","Drag","ArrowUp","ArrowDown","Content","Flex","background","padding","initial","medium","StyledSpan","tag","primary500","MemoizedRepeatableComponent"],"mappings":"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"}
@@ -402,9 +402,11 @@ const DynamicComponentFields = /*#__PURE__*/ React__namespace.memo(({ children,
402
402
  alignItems: "stretch",
403
403
  children: children ? children({
404
404
  ...fieldWithTranslatedLabel,
405
+ size,
405
406
  name: fieldName
406
407
  }) : /*#__PURE__*/ jsxRuntime.jsx(InputRenderer.InputRenderer, {
407
408
  ...fieldWithTranslatedLabel,
409
+ size: size,
408
410
  name: fieldName
409
411
  })
410
412
  }, fieldName);
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicComponent.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Accordion,\n Box,\n Flex,\n Grid,\n IconButton,\n useComposedRefs,\n Menu,\n BoxComponent,\n} from '@strapi/design-system';\nimport { Drag, More, Trash, ArrowUp, ArrowDown } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { COMPONENT_ICONS } from '../../../../../components/ComponentIcon';\nimport { ItemTypes } from '../../../../../constants/dragAndDrop';\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { type EditFieldLayout, useDocumentLayout } from '../../../../../hooks/useDocumentLayout';\nimport { type UseDragAndDropOptions, useDragAndDrop } from '../../../../../hooks/useDragAndDrop';\nimport { getIn } from '../../../../../utils/objects';\nimport { getTranslation } from '../../../../../utils/translations';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { InputRenderer, type InputRendererProps } from '../../InputRenderer';\n\nimport type { ComponentPickerProps } from './ComponentPicker';\n\nconst EMPTY_DYNAMIC_COMPONENTS_BY_CATEGORY: NonNullable<\n DynamicComponentProps['dynamicComponentsByCategory']\n> = {};\n\ninterface DynamicComponentProps\n extends\n Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel'>,\n Pick<ComponentPickerProps, 'dynamicComponentsByCategory'> {\n componentUid?: string;\n disabled?: boolean;\n index: number;\n name: string;\n onAddComponent: (componentUid: string, index: number) => void;\n onRemoveComponentClick: (index: number) => void;\n onMoveComponent: (dragIndex: number, hoverIndex: number) => void;\n totalLength: number;\n children?: (props: InputRendererProps) => React.ReactNode;\n /**\n * When true, the component's accordion will be forced open and scrolled into view.\n * Used by the parent DynamicZone to auto-expand newly added components.\n */\n forceOpen?: boolean;\n /**\n * Called after the forceOpen has been handled (accordion opened + scrolled),\n * so the parent can clear the forced state.\n */\n onForceOpenHandled?: () => void;\n}\n\nconst DynamicComponent = ({\n componentUid,\n disabled,\n index,\n name,\n onRemoveComponentClick,\n onMoveComponent,\n onGrabItem,\n onDropItem,\n onCancel,\n dynamicComponentsByCategory = EMPTY_DYNAMIC_COMPONENTS_BY_CATEGORY,\n onAddComponent,\n totalLength,\n children,\n forceOpen,\n onForceOpenHandled,\n}: DynamicComponentProps) => {\n const { formatMessage } = useIntl();\n const { currentDocumentMeta } = useDocumentContext('DynamicComponent');\n const isDesktop = useIsDesktop();\n\n const {\n edit: { components },\n } = useDocumentLayout(currentDocumentMeta.model);\n\n const { mainField = 'id' } = componentUid ? (components[componentUid]?.settings ?? {}) : {};\n\n const mainFieldValue = useForm('DynamicComponent', (state) =>\n getIn(state.values, `${name}.${index}.${mainField}`)\n );\n\n const displayedValue = mainField === 'id' || !mainFieldValue ? '' : String(mainFieldValue).trim();\n const displayTitle = displayedValue.length > 0 ? `- ${displayedValue}` : displayedValue;\n\n const { icon, displayName } = React.useMemo(() => {\n if (!componentUid) {\n return {\n icon: null,\n displayName: formatMessage({\n id: getTranslation('components.DynamicZone.unknown-component'),\n defaultMessage: 'Unknown component',\n }),\n };\n }\n\n const [category] = componentUid.split('.');\n const { icon, displayName } = (dynamicComponentsByCategory[category] ?? []).find(\n (component) => component.uid === componentUid\n ) ?? { icon: null, displayName: null };\n\n return {\n icon,\n displayName: formatMessage({\n id: componentUid,\n defaultMessage: displayName || componentUid,\n }),\n };\n }, [componentUid, dynamicComponentsByCategory, formatMessage]);\n\n const tempKey = useForm('DynamicComponent', (state) =>\n getIn(state.values, `${name}.${index}.__temp_key__`)\n ) as string | undefined;\n\n const [{ handlerId, isDragging, handleKeyDown }, boxRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(!disabled, {\n type: `${ItemTypes.DYNAMIC_ZONE}_${name}`,\n index,\n item: {\n index,\n id: tempKey,\n displayedValue: `${displayName} ${displayTitle}`,\n icon,\n },\n onMoveItem: onMoveComponent,\n onDropItem,\n onGrabItem,\n onCancel,\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const accordionValue = React.useId();\n\n /**\n * Ref for the component container `<li>`, used to scroll the newly added\n * component into view when `forceOpen` is set by the parent.\n */\n const componentRef = React.useRef<HTMLLIElement>(null);\n\n const componentPath = `${name}.${index}`;\n const hasValue = useForm(\n 'DynamicComponent',\n (state) => getIn(state.values, componentPath) != null\n );\n const isNewItem = useForm(\n 'DynamicComponent',\n (state) => getIn<{ id?: unknown }>(state.values, componentPath)?.id == null\n );\n const rawError = useForm('DynamicComponent', (state) => getIn(state.errors, componentPath));\n\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>(\n isNewItem ? accordionValue : ''\n );\n\n React.useEffect(() => {\n if (rawError && hasValue) {\n setCollapseToOpen(accordionValue);\n }\n }, [rawError, hasValue, accordionValue]);\n\n /**\n * When the parent flags this component as newly added via `forceOpen`,\n * expand the accordion and scroll it into view so the user can immediately\n * start editing. Once handled, notify the parent so it can clear the flag.\n */\n React.useEffect(() => {\n if (forceOpen) {\n setCollapseToOpen(accordionValue);\n requestAnimationFrame(() => {\n componentRef.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n });\n onForceOpenHandled?.();\n });\n }\n }, [forceOpen, accordionValue, onForceOpenHandled]);\n\n const composedBoxRefs = useComposedRefs(boxRef, dropRef);\n\n const canMoveUp = index > 0;\n const canMoveDown = index < totalLength - 1;\n const handleRemoveCurrentComponent = React.useCallback(() => {\n onRemoveComponentClick(index);\n }, [onRemoveComponentClick, index]);\n\n const accordionActions = disabled ? null : (\n <>\n <IconButton\n variant=\"ghost\"\n label={formatMessage(\n {\n id: getTranslation('components.DynamicZone.delete-label'),\n defaultMessage: 'Delete {name}',\n },\n { name: displayTitle }\n )}\n onClick={handleRemoveCurrentComponent}\n >\n <Trash />\n </IconButton>\n {isDesktop && (\n <IconButton\n variant=\"ghost\"\n onClick={(e) => e.stopPropagation()}\n data-handler-id={handlerId}\n ref={dragRef}\n label={formatMessage({\n id: getTranslation('components.DragHandle-label'),\n defaultMessage: 'Drag',\n })}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n {!isDesktop && (\n <>\n {canMoveUp && (\n <IconButton\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveComponent(index - 1, index);\n }}\n disabled={!canMoveUp}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-up'),\n defaultMessage: 'Move up',\n })}\n >\n <ArrowUp />\n </IconButton>\n )}\n {canMoveDown && (\n <IconButton\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveComponent(index + 1, index);\n }}\n disabled={!canMoveDown}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-down'),\n defaultMessage: 'Move down',\n })}\n >\n <ArrowDown />\n </IconButton>\n )}\n </>\n )}\n <Menu.Root>\n <Menu.Trigger size=\"S\" endIcon={null} paddingLeft={0} paddingRight={0}>\n <IconButton\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslation('components.DynamicZone.more-actions'),\n defaultMessage: 'More actions',\n })}\n tag=\"span\"\n >\n <More aria-hidden focusable={false} />\n </IconButton>\n </Menu.Trigger>\n <Menu.Content>\n <Menu.SubRoot>\n <Menu.SubTrigger>\n {formatMessage({\n id: getTranslation('components.DynamicZone.add-item-above'),\n defaultMessage: 'Add component above',\n })}\n </Menu.SubTrigger>\n <Menu.SubContent>\n {Object.entries(dynamicComponentsByCategory).map(([category, components]) => (\n <React.Fragment key={category}>\n <Menu.Label>\n {formatMessage({ id: category, defaultMessage: upperFirst(category) })}\n </Menu.Label>\n {components.map(({ displayName, uid }) => (\n <Menu.Item key={uid} onSelect={() => onAddComponent(uid, index)}>\n {formatMessage({ id: uid, defaultMessage: displayName ?? uid })}\n </Menu.Item>\n ))}\n </React.Fragment>\n ))}\n </Menu.SubContent>\n </Menu.SubRoot>\n <Menu.SubRoot>\n <Menu.SubTrigger>\n {formatMessage({\n id: getTranslation('components.DynamicZone.add-item-below'),\n defaultMessage: 'Add component below',\n })}\n </Menu.SubTrigger>\n <Menu.SubContent>\n {Object.entries(dynamicComponentsByCategory).map(([category, components]) => (\n <React.Fragment key={category}>\n <Menu.Label>\n {formatMessage({ id: category, defaultMessage: upperFirst(category) })}\n </Menu.Label>\n {components.map(({ displayName, uid }) => (\n <Menu.Item key={uid} onSelect={() => onAddComponent(uid, index + 1)}>\n {formatMessage({ id: uid, defaultMessage: displayName ?? uid })}\n </Menu.Item>\n ))}\n </React.Fragment>\n ))}\n </Menu.SubContent>\n </Menu.SubRoot>\n </Menu.Content>\n </Menu.Root>\n </>\n );\n\n const accordionTitle = displayTitle ? `${displayName} ${displayTitle}` : displayName;\n\n return (\n <ComponentContainer ref={componentRef} tag=\"li\" width=\"100%\">\n <Flex justifyContent=\"center\">\n <Rectangle background=\"neutral200\" />\n </Flex>\n <StyledBox ref={composedBoxRefs} hasRadius>\n {isDragging ? (\n <Preview />\n ) : (\n <Accordion.Root value={collapseToOpen} onValueChange={setCollapseToOpen}>\n <Accordion.Item value={accordionValue}>\n <Accordion.Header>\n <Accordion.Trigger\n icon={\n icon && COMPONENT_ICONS[icon]\n ? COMPONENT_ICONS[icon]\n : COMPONENT_ICONS.dashboard\n }\n >\n {accordionTitle}\n </Accordion.Trigger>\n <Accordion.Actions>{accordionActions}</Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <AccordionContentRadius background=\"neutral0\">\n <DynamicComponentFields\n componentUid={componentUid}\n index={index}\n layout={componentUid ? components[componentUid]?.layout : undefined}\n name={name}\n >\n {children}\n </DynamicComponentFields>\n </AccordionContentRadius>\n </Accordion.Content>\n </Accordion.Item>\n </Accordion.Root>\n )}\n </StyledBox>\n </ComponentContainer>\n );\n};\n\n// TODO: Delete once https://github.com/strapi/design-system/pull/858\n// is merged and released.\nconst StyledBox = styled<BoxComponent>(Box)`\n > div:first-child {\n box-shadow: ${({ theme }) => theme.shadows.tableShadow};\n }\n`;\n\nconst AccordionContentRadius = styled<BoxComponent>(Box)`\n border-radius: 0 0 ${({ theme }) => theme.spaces[1]} ${({ theme }) => theme.spaces[1]};\n`;\n\nconst Rectangle = styled<BoxComponent>(Box)`\n width: ${({ theme }) => theme.spaces[2]};\n height: ${({ theme }) => theme.spaces[4]};\n`;\n\nconst Preview = styled.span`\n display: block;\n background-color: ${({ theme }) => theme.colors.primary100};\n outline: 1px dashed ${({ theme }) => theme.colors.primary500};\n outline-offset: -1px;\n padding: ${({ theme }) => theme.spaces[6]};\n`;\n\nconst ComponentContainer = styled<BoxComponent<'li'>>(Box)`\n list-style: none;\n padding: 0;\n margin: 0;\n`;\n\ninterface DynamicComponentFieldsProps extends Pick<DynamicComponentProps, 'children'> {\n componentUid?: string;\n index: number;\n layout?: EditFieldLayout[][];\n name: string;\n}\n\nconst DynamicComponentFields = React.memo(\n ({ children, componentUid, index, layout, name }: DynamicComponentFieldsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box padding={{ initial: 4, medium: 6 }}>\n <Grid.Root gap={4}>\n {layout?.map((row) => {\n return (\n <Grid.Item\n col={12}\n key={row.map((field) => field.name).join('.')}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <ResponsiveGridRoot gap={4}>\n {row.map(({ size, ...field }) => {\n const fieldName = `${name}.${index}.${field.name}`;\n\n const fieldWithTranslatedLabel = {\n ...field,\n label: formatMessage({\n id: `content-manager.components.${componentUid}.${field.name}`,\n defaultMessage: field.label,\n }),\n };\n\n return (\n <ResponsiveGridItem\n col={size}\n key={fieldName}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {children ? (\n children({\n ...fieldWithTranslatedLabel,\n name: fieldName,\n })\n ) : (\n <InputRenderer {...fieldWithTranslatedLabel} name={fieldName} />\n )}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n }\n);\n\nDynamicComponentFields.displayName = 'DynamicComponentFields';\n\nconst MemoizedDynamicComponent = React.memo(DynamicComponent);\n\nexport { MemoizedDynamicComponent as DynamicComponent };\nexport type { DynamicComponentProps };\n"],"names":["EMPTY_DYNAMIC_COMPONENTS_BY_CATEGORY","DynamicComponent","componentUid","disabled","index","name","onRemoveComponentClick","onMoveComponent","onGrabItem","onDropItem","onCancel","dynamicComponentsByCategory","onAddComponent","totalLength","children","forceOpen","onForceOpenHandled","formatMessage","useIntl","currentDocumentMeta","useDocumentContext","isDesktop","useIsDesktop","edit","components","useDocumentLayout","model","mainField","settings","mainFieldValue","useForm","state","getIn","values","displayedValue","String","trim","displayTitle","length","icon","displayName","React","useMemo","id","getTranslation","defaultMessage","category","split","find","component","uid","tempKey","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","type","ItemTypes","DYNAMIC_ZONE","item","onMoveItem","useEffect","getEmptyImage","captureDraggingState","accordionValue","useId","componentRef","useRef","componentPath","hasValue","isNewItem","rawError","errors","collapseToOpen","setCollapseToOpen","useState","requestAnimationFrame","current","scrollIntoView","behavior","block","composedBoxRefs","useComposedRefs","canMoveUp","canMoveDown","handleRemoveCurrentComponent","useCallback","accordionActions","_jsxs","_Fragment","_jsx","IconButton","variant","label","onClick","Trash","e","stopPropagation","data-handler-id","ref","onKeyDown","Drag","ArrowUp","ArrowDown","Menu","Root","Trigger","size","endIcon","paddingLeft","paddingRight","tag","More","aria-hidden","focusable","Content","SubRoot","SubTrigger","SubContent","Object","entries","map","Fragment","Label","upperFirst","Item","onSelect","accordionTitle","ComponentContainer","width","Flex","justifyContent","Rectangle","background","StyledBox","hasRadius","Preview","Accordion","value","onValueChange","Header","COMPONENT_ICONS","dashboard","Actions","AccordionContentRadius","DynamicComponentFields","layout","undefined","styled","Box","theme","shadows","tableShadow","spaces","span","colors","primary100","primary500","memo","padding","initial","medium","Grid","gap","row","col","xs","direction","alignItems","ResponsiveGridRoot","field","fieldName","fieldWithTranslatedLabel","ResponsiveGridItem","s","InputRenderer","join","MemoizedDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicComponent.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Accordion,\n Box,\n Flex,\n Grid,\n IconButton,\n useComposedRefs,\n Menu,\n BoxComponent,\n} from '@strapi/design-system';\nimport { Drag, More, Trash, ArrowUp, ArrowDown } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { COMPONENT_ICONS } from '../../../../../components/ComponentIcon';\nimport { ItemTypes } from '../../../../../constants/dragAndDrop';\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { type EditFieldLayout, useDocumentLayout } from '../../../../../hooks/useDocumentLayout';\nimport { type UseDragAndDropOptions, useDragAndDrop } from '../../../../../hooks/useDragAndDrop';\nimport { getIn } from '../../../../../utils/objects';\nimport { getTranslation } from '../../../../../utils/translations';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { InputRenderer, type InputRendererProps } from '../../InputRenderer';\n\nimport type { ComponentPickerProps } from './ComponentPicker';\n\nconst EMPTY_DYNAMIC_COMPONENTS_BY_CATEGORY: NonNullable<\n DynamicComponentProps['dynamicComponentsByCategory']\n> = {};\n\ninterface DynamicComponentProps\n extends\n Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel'>,\n Pick<ComponentPickerProps, 'dynamicComponentsByCategory'> {\n componentUid?: string;\n disabled?: boolean;\n index: number;\n name: string;\n onAddComponent: (componentUid: string, index: number) => void;\n onRemoveComponentClick: (index: number) => void;\n onMoveComponent: (dragIndex: number, hoverIndex: number) => void;\n totalLength: number;\n children?: (props: InputRendererProps) => React.ReactNode;\n /**\n * When true, the component's accordion will be forced open and scrolled into view.\n * Used by the parent DynamicZone to auto-expand newly added components.\n */\n forceOpen?: boolean;\n /**\n * Called after the forceOpen has been handled (accordion opened + scrolled),\n * so the parent can clear the forced state.\n */\n onForceOpenHandled?: () => void;\n}\n\nconst DynamicComponent = ({\n componentUid,\n disabled,\n index,\n name,\n onRemoveComponentClick,\n onMoveComponent,\n onGrabItem,\n onDropItem,\n onCancel,\n dynamicComponentsByCategory = EMPTY_DYNAMIC_COMPONENTS_BY_CATEGORY,\n onAddComponent,\n totalLength,\n children,\n forceOpen,\n onForceOpenHandled,\n}: DynamicComponentProps) => {\n const { formatMessage } = useIntl();\n const { currentDocumentMeta } = useDocumentContext('DynamicComponent');\n const isDesktop = useIsDesktop();\n\n const {\n edit: { components },\n } = useDocumentLayout(currentDocumentMeta.model);\n\n const { mainField = 'id' } = componentUid ? (components[componentUid]?.settings ?? {}) : {};\n\n const mainFieldValue = useForm('DynamicComponent', (state) =>\n getIn(state.values, `${name}.${index}.${mainField}`)\n );\n\n const displayedValue = mainField === 'id' || !mainFieldValue ? '' : String(mainFieldValue).trim();\n const displayTitle = displayedValue.length > 0 ? `- ${displayedValue}` : displayedValue;\n\n const { icon, displayName } = React.useMemo(() => {\n if (!componentUid) {\n return {\n icon: null,\n displayName: formatMessage({\n id: getTranslation('components.DynamicZone.unknown-component'),\n defaultMessage: 'Unknown component',\n }),\n };\n }\n\n const [category] = componentUid.split('.');\n const { icon, displayName } = (dynamicComponentsByCategory[category] ?? []).find(\n (component) => component.uid === componentUid\n ) ?? { icon: null, displayName: null };\n\n return {\n icon,\n displayName: formatMessage({\n id: componentUid,\n defaultMessage: displayName || componentUid,\n }),\n };\n }, [componentUid, dynamicComponentsByCategory, formatMessage]);\n\n const tempKey = useForm('DynamicComponent', (state) =>\n getIn(state.values, `${name}.${index}.__temp_key__`)\n ) as string | undefined;\n\n const [{ handlerId, isDragging, handleKeyDown }, boxRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(!disabled, {\n type: `${ItemTypes.DYNAMIC_ZONE}_${name}`,\n index,\n item: {\n index,\n id: tempKey,\n displayedValue: `${displayName} ${displayTitle}`,\n icon,\n },\n onMoveItem: onMoveComponent,\n onDropItem,\n onGrabItem,\n onCancel,\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const accordionValue = React.useId();\n\n /**\n * Ref for the component container `<li>`, used to scroll the newly added\n * component into view when `forceOpen` is set by the parent.\n */\n const componentRef = React.useRef<HTMLLIElement>(null);\n\n const componentPath = `${name}.${index}`;\n const hasValue = useForm(\n 'DynamicComponent',\n (state) => getIn(state.values, componentPath) != null\n );\n const isNewItem = useForm(\n 'DynamicComponent',\n (state) => getIn<{ id?: unknown }>(state.values, componentPath)?.id == null\n );\n const rawError = useForm('DynamicComponent', (state) => getIn(state.errors, componentPath));\n\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>(\n isNewItem ? accordionValue : ''\n );\n\n React.useEffect(() => {\n if (rawError && hasValue) {\n setCollapseToOpen(accordionValue);\n }\n }, [rawError, hasValue, accordionValue]);\n\n /**\n * When the parent flags this component as newly added via `forceOpen`,\n * expand the accordion and scroll it into view so the user can immediately\n * start editing. Once handled, notify the parent so it can clear the flag.\n */\n React.useEffect(() => {\n if (forceOpen) {\n setCollapseToOpen(accordionValue);\n requestAnimationFrame(() => {\n componentRef.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n });\n onForceOpenHandled?.();\n });\n }\n }, [forceOpen, accordionValue, onForceOpenHandled]);\n\n const composedBoxRefs = useComposedRefs(boxRef, dropRef);\n\n const canMoveUp = index > 0;\n const canMoveDown = index < totalLength - 1;\n const handleRemoveCurrentComponent = React.useCallback(() => {\n onRemoveComponentClick(index);\n }, [onRemoveComponentClick, index]);\n\n const accordionActions = disabled ? null : (\n <>\n <IconButton\n variant=\"ghost\"\n label={formatMessage(\n {\n id: getTranslation('components.DynamicZone.delete-label'),\n defaultMessage: 'Delete {name}',\n },\n { name: displayTitle }\n )}\n onClick={handleRemoveCurrentComponent}\n >\n <Trash />\n </IconButton>\n {isDesktop && (\n <IconButton\n variant=\"ghost\"\n onClick={(e) => e.stopPropagation()}\n data-handler-id={handlerId}\n ref={dragRef}\n label={formatMessage({\n id: getTranslation('components.DragHandle-label'),\n defaultMessage: 'Drag',\n })}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n {!isDesktop && (\n <>\n {canMoveUp && (\n <IconButton\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveComponent(index - 1, index);\n }}\n disabled={!canMoveUp}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-up'),\n defaultMessage: 'Move up',\n })}\n >\n <ArrowUp />\n </IconButton>\n )}\n {canMoveDown && (\n <IconButton\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveComponent(index + 1, index);\n }}\n disabled={!canMoveDown}\n label={formatMessage({\n id: getTranslation('components.DynamicZone.move-down'),\n defaultMessage: 'Move down',\n })}\n >\n <ArrowDown />\n </IconButton>\n )}\n </>\n )}\n <Menu.Root>\n <Menu.Trigger size=\"S\" endIcon={null} paddingLeft={0} paddingRight={0}>\n <IconButton\n variant=\"ghost\"\n label={formatMessage({\n id: getTranslation('components.DynamicZone.more-actions'),\n defaultMessage: 'More actions',\n })}\n tag=\"span\"\n >\n <More aria-hidden focusable={false} />\n </IconButton>\n </Menu.Trigger>\n <Menu.Content>\n <Menu.SubRoot>\n <Menu.SubTrigger>\n {formatMessage({\n id: getTranslation('components.DynamicZone.add-item-above'),\n defaultMessage: 'Add component above',\n })}\n </Menu.SubTrigger>\n <Menu.SubContent>\n {Object.entries(dynamicComponentsByCategory).map(([category, components]) => (\n <React.Fragment key={category}>\n <Menu.Label>\n {formatMessage({ id: category, defaultMessage: upperFirst(category) })}\n </Menu.Label>\n {components.map(({ displayName, uid }) => (\n <Menu.Item key={uid} onSelect={() => onAddComponent(uid, index)}>\n {formatMessage({ id: uid, defaultMessage: displayName ?? uid })}\n </Menu.Item>\n ))}\n </React.Fragment>\n ))}\n </Menu.SubContent>\n </Menu.SubRoot>\n <Menu.SubRoot>\n <Menu.SubTrigger>\n {formatMessage({\n id: getTranslation('components.DynamicZone.add-item-below'),\n defaultMessage: 'Add component below',\n })}\n </Menu.SubTrigger>\n <Menu.SubContent>\n {Object.entries(dynamicComponentsByCategory).map(([category, components]) => (\n <React.Fragment key={category}>\n <Menu.Label>\n {formatMessage({ id: category, defaultMessage: upperFirst(category) })}\n </Menu.Label>\n {components.map(({ displayName, uid }) => (\n <Menu.Item key={uid} onSelect={() => onAddComponent(uid, index + 1)}>\n {formatMessage({ id: uid, defaultMessage: displayName ?? uid })}\n </Menu.Item>\n ))}\n </React.Fragment>\n ))}\n </Menu.SubContent>\n </Menu.SubRoot>\n </Menu.Content>\n </Menu.Root>\n </>\n );\n\n const accordionTitle = displayTitle ? `${displayName} ${displayTitle}` : displayName;\n\n return (\n <ComponentContainer ref={componentRef} tag=\"li\" width=\"100%\">\n <Flex justifyContent=\"center\">\n <Rectangle background=\"neutral200\" />\n </Flex>\n <StyledBox ref={composedBoxRefs} hasRadius>\n {isDragging ? (\n <Preview />\n ) : (\n <Accordion.Root value={collapseToOpen} onValueChange={setCollapseToOpen}>\n <Accordion.Item value={accordionValue}>\n <Accordion.Header>\n <Accordion.Trigger\n icon={\n icon && COMPONENT_ICONS[icon]\n ? COMPONENT_ICONS[icon]\n : COMPONENT_ICONS.dashboard\n }\n >\n {accordionTitle}\n </Accordion.Trigger>\n <Accordion.Actions>{accordionActions}</Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <AccordionContentRadius background=\"neutral0\">\n <DynamicComponentFields\n componentUid={componentUid}\n index={index}\n layout={componentUid ? components[componentUid]?.layout : undefined}\n name={name}\n >\n {children}\n </DynamicComponentFields>\n </AccordionContentRadius>\n </Accordion.Content>\n </Accordion.Item>\n </Accordion.Root>\n )}\n </StyledBox>\n </ComponentContainer>\n );\n};\n\n// TODO: Delete once https://github.com/strapi/design-system/pull/858\n// is merged and released.\nconst StyledBox = styled<BoxComponent>(Box)`\n > div:first-child {\n box-shadow: ${({ theme }) => theme.shadows.tableShadow};\n }\n`;\n\nconst AccordionContentRadius = styled<BoxComponent>(Box)`\n border-radius: 0 0 ${({ theme }) => theme.spaces[1]} ${({ theme }) => theme.spaces[1]};\n`;\n\nconst Rectangle = styled<BoxComponent>(Box)`\n width: ${({ theme }) => theme.spaces[2]};\n height: ${({ theme }) => theme.spaces[4]};\n`;\n\nconst Preview = styled.span`\n display: block;\n background-color: ${({ theme }) => theme.colors.primary100};\n outline: 1px dashed ${({ theme }) => theme.colors.primary500};\n outline-offset: -1px;\n padding: ${({ theme }) => theme.spaces[6]};\n`;\n\nconst ComponentContainer = styled<BoxComponent<'li'>>(Box)`\n list-style: none;\n padding: 0;\n margin: 0;\n`;\n\ninterface DynamicComponentFieldsProps extends Pick<DynamicComponentProps, 'children'> {\n componentUid?: string;\n index: number;\n layout?: EditFieldLayout[][];\n name: string;\n}\n\nconst DynamicComponentFields = React.memo(\n ({ children, componentUid, index, layout, name }: DynamicComponentFieldsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box padding={{ initial: 4, medium: 6 }}>\n <Grid.Root gap={4}>\n {layout?.map((row) => {\n return (\n <Grid.Item\n col={12}\n key={row.map((field) => field.name).join('.')}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <ResponsiveGridRoot gap={4}>\n {row.map(({ size, ...field }) => {\n const fieldName = `${name}.${index}.${field.name}`;\n\n const fieldWithTranslatedLabel = {\n ...field,\n label: formatMessage({\n id: `content-manager.components.${componentUid}.${field.name}`,\n defaultMessage: field.label,\n }),\n };\n\n return (\n <ResponsiveGridItem\n col={size}\n key={fieldName}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {children ? (\n children({\n ...fieldWithTranslatedLabel,\n size,\n name: fieldName,\n })\n ) : (\n <InputRenderer\n {...fieldWithTranslatedLabel}\n size={size}\n name={fieldName}\n />\n )}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n }\n);\n\nDynamicComponentFields.displayName = 'DynamicComponentFields';\n\nconst MemoizedDynamicComponent = React.memo(DynamicComponent);\n\nexport { MemoizedDynamicComponent as DynamicComponent };\nexport type { DynamicComponentProps };\n"],"names":["EMPTY_DYNAMIC_COMPONENTS_BY_CATEGORY","DynamicComponent","componentUid","disabled","index","name","onRemoveComponentClick","onMoveComponent","onGrabItem","onDropItem","onCancel","dynamicComponentsByCategory","onAddComponent","totalLength","children","forceOpen","onForceOpenHandled","formatMessage","useIntl","currentDocumentMeta","useDocumentContext","isDesktop","useIsDesktop","edit","components","useDocumentLayout","model","mainField","settings","mainFieldValue","useForm","state","getIn","values","displayedValue","String","trim","displayTitle","length","icon","displayName","React","useMemo","id","getTranslation","defaultMessage","category","split","find","component","uid","tempKey","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","type","ItemTypes","DYNAMIC_ZONE","item","onMoveItem","useEffect","getEmptyImage","captureDraggingState","accordionValue","useId","componentRef","useRef","componentPath","hasValue","isNewItem","rawError","errors","collapseToOpen","setCollapseToOpen","useState","requestAnimationFrame","current","scrollIntoView","behavior","block","composedBoxRefs","useComposedRefs","canMoveUp","canMoveDown","handleRemoveCurrentComponent","useCallback","accordionActions","_jsxs","_Fragment","_jsx","IconButton","variant","label","onClick","Trash","e","stopPropagation","data-handler-id","ref","onKeyDown","Drag","ArrowUp","ArrowDown","Menu","Root","Trigger","size","endIcon","paddingLeft","paddingRight","tag","More","aria-hidden","focusable","Content","SubRoot","SubTrigger","SubContent","Object","entries","map","Fragment","Label","upperFirst","Item","onSelect","accordionTitle","ComponentContainer","width","Flex","justifyContent","Rectangle","background","StyledBox","hasRadius","Preview","Accordion","value","onValueChange","Header","COMPONENT_ICONS","dashboard","Actions","AccordionContentRadius","DynamicComponentFields","layout","undefined","styled","Box","theme","shadows","tableShadow","spaces","span","colors","primary100","primary500","memo","padding","initial","medium","Grid","gap","row","col","xs","direction","alignItems","ResponsiveGridRoot","field","fieldName","fieldWithTranslatedLabel","ResponsiveGridItem","s","InputRenderer","join","MemoizedDynamicComponent"],"mappings":"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"}
@@ -377,9 +377,11 @@ const DynamicComponentFields = /*#__PURE__*/ React.memo(({ children, componentUi
377
377
  alignItems: "stretch",
378
378
  children: children ? children({
379
379
  ...fieldWithTranslatedLabel,
380
+ size,
380
381
  name: fieldName
381
382
  }) : /*#__PURE__*/ jsx(MemoizedInputRenderer, {
382
383
  ...fieldWithTranslatedLabel,
384
+ size: size,
383
385
  name: fieldName
384
386
  })
385
387
  }, fieldName);