@strapi/content-manager 0.0.0-next.e5d4b412da0d932b61b2fa5012d16513fda6de04 → 0.0.0-next.e7ae51b01f78ddeaa09c4aa3e3882f466a5b3188

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 (383) hide show
  1. package/dist/admin/components/ComponentIcon.js +3 -0
  2. package/dist/admin/components/ComponentIcon.js.map +1 -1
  3. package/dist/admin/components/ComponentIcon.mjs +3 -0
  4. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/EditFieldForm.js +4 -2
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +4 -2
  8. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
  9. package/dist/admin/components/ConfigurationForm/Fields.js +6 -1
  10. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  11. package/dist/admin/components/ConfigurationForm/Fields.mjs +7 -2
  12. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  13. package/dist/admin/components/ConfigurationForm/Form.js +2 -2
  14. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  15. package/dist/admin/components/ConfigurationForm/Form.mjs +4 -4
  16. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
  17. package/dist/admin/components/DragPreviews/CardDragPreview.js +3 -1
  18. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
  19. package/dist/admin/components/DragPreviews/CardDragPreview.mjs +3 -1
  20. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
  21. package/dist/admin/components/DragPreviews/ComponentDragPreview.js +3 -1
  22. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
  23. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +3 -1
  24. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
  25. package/dist/admin/components/DragPreviews/RelationDragPreview.js +3 -1
  26. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
  27. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +3 -1
  28. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
  29. package/dist/admin/components/LeftMenu.js +91 -51
  30. package/dist/admin/components/LeftMenu.js.map +1 -1
  31. package/dist/admin/components/LeftMenu.mjs +93 -53
  32. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  33. package/dist/admin/components/RelativeTime.js.map +1 -1
  34. package/dist/admin/components/RelativeTime.mjs.map +1 -1
  35. package/dist/admin/components/Widgets.js +26 -8
  36. package/dist/admin/components/Widgets.js.map +1 -1
  37. package/dist/admin/components/Widgets.mjs +26 -8
  38. package/dist/admin/components/Widgets.mjs.map +1 -1
  39. package/dist/admin/content-manager.js.map +1 -1
  40. package/dist/admin/content-manager.mjs.map +1 -1
  41. package/dist/admin/history/components/HistoryAction.js.map +1 -1
  42. package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
  43. package/dist/admin/history/components/VersionContent.js +0 -3
  44. package/dist/admin/history/components/VersionContent.js.map +1 -1
  45. package/dist/admin/history/components/VersionContent.mjs +0 -3
  46. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  47. package/dist/admin/history/components/VersionHeader.js +1 -0
  48. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  49. package/dist/admin/history/components/VersionHeader.mjs +1 -0
  50. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  51. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  52. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  53. package/dist/admin/history/components/VersionsList.js +1 -1
  54. package/dist/admin/history/components/VersionsList.js.map +1 -1
  55. package/dist/admin/history/components/VersionsList.mjs +1 -1
  56. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  57. package/dist/admin/history/pages/History.js +7 -7
  58. package/dist/admin/history/pages/History.js.map +1 -1
  59. package/dist/admin/history/pages/History.mjs +7 -7
  60. package/dist/admin/history/pages/History.mjs.map +1 -1
  61. package/dist/admin/history/services/historyVersion.js.map +1 -1
  62. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  63. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  64. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  65. package/dist/admin/hooks/useDocumentActions.js +24 -5
  66. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  67. package/dist/admin/hooks/useDocumentActions.mjs +24 -5
  68. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  69. package/dist/admin/index.js.map +1 -1
  70. package/dist/admin/index.mjs.map +1 -1
  71. package/dist/admin/layout.js +27 -6
  72. package/dist/admin/layout.js.map +1 -1
  73. package/dist/admin/layout.mjs +28 -7
  74. package/dist/admin/layout.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/EditViewPage.js +12 -16
  76. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  77. package/dist/admin/pages/EditView/EditViewPage.mjs +13 -17
  78. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  80. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  81. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  82. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  83. package/dist/admin/pages/EditView/components/DocumentActions.js +63 -67
  84. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  85. package/dist/admin/pages/EditView/components/DocumentActions.mjs +65 -69
  86. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  88. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  90. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +66 -2
  92. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +66 -2
  94. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  96. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +4 -4
  98. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +4 -4
  100. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +1 -0
  102. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -0
  104. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +2 -2
  106. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +2 -2
  108. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  109. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  110. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  111. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js +7 -3
  112. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js.map +1 -1
  113. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs +7 -3
  114. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs.map +1 -1
  115. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  116. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  117. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -1
  118. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  119. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +3 -2
  120. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  121. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
  122. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
  123. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +1 -2
  124. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  125. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +1 -2
  126. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  127. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +4 -4
  128. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  129. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +5 -5
  130. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  132. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  134. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  136. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +2 -1
  138. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +3 -2
  140. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/UID.js +2 -1
  142. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  143. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +2 -1
  144. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  145. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  146. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +2 -2
  148. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +2 -2
  150. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  151. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  152. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  153. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  154. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  155. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  156. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  157. package/dist/admin/pages/EditView/components/FormLayout.js +13 -8
  158. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  159. package/dist/admin/pages/EditView/components/FormLayout.mjs +14 -8
  160. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  161. package/dist/admin/pages/EditView/components/Header.js +92 -27
  162. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  163. package/dist/admin/pages/EditView/components/Header.mjs +94 -29
  164. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  165. package/dist/admin/pages/EditView/components/InputRenderer.js +42 -25
  166. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  167. package/dist/admin/pages/EditView/components/InputRenderer.mjs +42 -25
  168. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  169. package/dist/admin/pages/EditView/utils/data.js +154 -60
  170. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  171. package/dist/admin/pages/EditView/utils/data.mjs +154 -60
  172. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  173. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +1 -0
  174. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  175. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -0
  176. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  177. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js +1 -0
  178. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  179. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -0
  180. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  181. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +1 -1
  182. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  183. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
  184. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  185. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  186. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  187. package/dist/admin/pages/ListConfiguration/components/Settings.js +1 -1
  188. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  189. package/dist/admin/pages/ListConfiguration/components/Settings.mjs +1 -1
  190. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  191. package/dist/admin/pages/ListView/ListViewPage.js +0 -2
  192. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  193. package/dist/admin/pages/ListView/ListViewPage.mjs +0 -2
  194. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  195. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  196. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  197. package/dist/admin/pages/ListView/components/BulkActions/Actions.js +6 -16
  198. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  199. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +6 -16
  200. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  201. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +18 -31
  202. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  203. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +19 -32
  204. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  205. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +1 -1
  206. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  207. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +1 -1
  208. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  210. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  211. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  212. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  213. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  214. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  215. package/dist/admin/pages/ListView/components/TableCells/CellContent.js +1 -1
  216. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  217. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +1 -1
  218. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  219. package/dist/admin/pages/ListView/components/TableCells/Media.js +5 -3
  220. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  221. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +5 -3
  222. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  223. package/dist/admin/pages/ListView/components/TableCells/Relations.js +8 -4
  224. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  225. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +8 -4
  226. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  227. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +5 -2
  228. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
  229. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +5 -2
  230. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
  231. package/dist/admin/preview/components/InputPopover.js +189 -0
  232. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  233. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  234. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  235. package/dist/admin/preview/components/PreviewHeader.js +0 -2
  236. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  237. package/dist/admin/preview/components/PreviewHeader.mjs +0 -2
  238. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  239. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  240. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  241. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  242. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  243. package/dist/admin/preview/pages/Preview.js +128 -125
  244. package/dist/admin/preview/pages/Preview.js.map +1 -1
  245. package/dist/admin/preview/pages/Preview.mjs +128 -125
  246. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  247. package/dist/admin/preview/services/preview.js.map +1 -1
  248. package/dist/admin/preview/services/preview.mjs.map +1 -1
  249. package/dist/admin/preview/utils/constants.js +36 -1
  250. package/dist/admin/preview/utils/constants.js.map +1 -1
  251. package/dist/admin/preview/utils/constants.mjs +35 -2
  252. package/dist/admin/preview/utils/constants.mjs.map +1 -1
  253. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  254. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  255. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  256. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  257. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  258. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  259. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  260. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  261. package/dist/admin/preview/utils/previewScript.js +423 -92
  262. package/dist/admin/preview/utils/previewScript.js.map +1 -1
  263. package/dist/admin/preview/utils/previewScript.mjs +423 -92
  264. package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
  265. package/dist/admin/router.js.map +1 -1
  266. package/dist/admin/router.mjs.map +1 -1
  267. package/dist/admin/services/api.js +2 -1
  268. package/dist/admin/services/api.js.map +1 -1
  269. package/dist/admin/services/api.mjs +2 -1
  270. package/dist/admin/services/api.mjs.map +1 -1
  271. package/dist/admin/services/documents.js +19 -3
  272. package/dist/admin/services/documents.js.map +1 -1
  273. package/dist/admin/services/documents.mjs +19 -3
  274. package/dist/admin/services/documents.mjs.map +1 -1
  275. package/dist/admin/services/homepage.js.map +1 -1
  276. package/dist/admin/services/homepage.mjs.map +1 -1
  277. package/dist/admin/services/relations.js.map +1 -1
  278. package/dist/admin/services/relations.mjs.map +1 -1
  279. package/dist/admin/src/components/LeftMenu.d.ts +3 -1
  280. package/dist/admin/src/components/Widgets.d.ts +6 -2
  281. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  282. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  283. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  284. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +2 -0
  285. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +1 -1
  286. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +0 -3
  287. package/dist/admin/src/pages/EditView/components/Header.d.ts +15 -0
  288. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  289. package/dist/admin/src/pages/EditView/utils/data.d.ts +4 -4
  290. package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +0 -3
  291. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  292. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  293. package/dist/admin/src/preview/pages/Preview.d.ts +12 -0
  294. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  295. package/dist/admin/src/preview/utils/constants.d.ts +39 -1
  296. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  297. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  298. package/dist/admin/src/preview/utils/previewScript.d.ts +7 -1
  299. package/dist/admin/src/services/api.d.ts +1 -1
  300. package/dist/admin/src/services/components.d.ts +2 -2
  301. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  302. package/dist/admin/src/services/documents.d.ts +16 -16
  303. package/dist/admin/src/services/homepage.d.ts +1 -1
  304. package/dist/admin/src/services/init.d.ts +1 -1
  305. package/dist/admin/src/services/relations.d.ts +2 -2
  306. package/dist/admin/src/services/uid.d.ts +3 -3
  307. package/dist/admin/translations/en.json.js +7 -0
  308. package/dist/admin/translations/en.json.js.map +1 -1
  309. package/dist/admin/translations/en.json.mjs +7 -0
  310. package/dist/admin/translations/en.json.mjs.map +1 -1
  311. package/dist/admin/translations/es.json.js +2 -0
  312. package/dist/admin/translations/es.json.js.map +1 -1
  313. package/dist/admin/translations/es.json.mjs +2 -0
  314. package/dist/admin/translations/es.json.mjs.map +1 -1
  315. package/dist/admin/translations/fr.json.js +3 -1
  316. package/dist/admin/translations/fr.json.js.map +1 -1
  317. package/dist/admin/translations/fr.json.mjs +3 -1
  318. package/dist/admin/translations/fr.json.mjs.map +1 -1
  319. package/dist/admin/utils/translations.js.map +1 -1
  320. package/dist/admin/utils/translations.mjs.map +1 -1
  321. package/dist/admin/utils/urls.js.map +1 -1
  322. package/dist/admin/utils/urls.mjs.map +1 -1
  323. package/dist/admin/utils/users.js.map +1 -1
  324. package/dist/admin/utils/users.mjs.map +1 -1
  325. package/dist/admin/utils/validation.js +1 -1
  326. package/dist/admin/utils/validation.js.map +1 -1
  327. package/dist/admin/utils/validation.mjs +1 -1
  328. package/dist/admin/utils/validation.mjs.map +1 -1
  329. package/dist/server/controllers/collection-types.js +2 -1
  330. package/dist/server/controllers/collection-types.js.map +1 -1
  331. package/dist/server/controllers/collection-types.mjs +2 -1
  332. package/dist/server/controllers/collection-types.mjs.map +1 -1
  333. package/dist/server/controllers/relations.js +6 -4
  334. package/dist/server/controllers/relations.js.map +1 -1
  335. package/dist/server/controllers/relations.mjs +6 -4
  336. package/dist/server/controllers/relations.mjs.map +1 -1
  337. package/dist/server/controllers/single-types.js +3 -1
  338. package/dist/server/controllers/single-types.js.map +1 -1
  339. package/dist/server/controllers/single-types.mjs +3 -1
  340. package/dist/server/controllers/single-types.mjs.map +1 -1
  341. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  342. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  343. package/dist/server/controllers/validation/index.js.map +1 -1
  344. package/dist/server/controllers/validation/index.mjs.map +1 -1
  345. package/dist/server/controllers/validation/model-configuration.js +2 -2
  346. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  347. package/dist/server/controllers/validation/model-configuration.mjs +2 -2
  348. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  349. package/dist/server/history/utils.js.map +1 -1
  350. package/dist/server/history/utils.mjs.map +1 -1
  351. package/dist/server/homepage/services/homepage.js +3 -2
  352. package/dist/server/homepage/services/homepage.js.map +1 -1
  353. package/dist/server/homepage/services/homepage.mjs +3 -2
  354. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  355. package/dist/server/middlewares/routing.js.map +1 -1
  356. package/dist/server/middlewares/routing.mjs.map +1 -1
  357. package/dist/server/preview/services/preview-config.js +8 -33
  358. package/dist/server/preview/services/preview-config.js.map +1 -1
  359. package/dist/server/preview/services/preview-config.mjs +9 -34
  360. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  361. package/dist/server/preview/services/preview.js.map +1 -1
  362. package/dist/server/preview/services/preview.mjs.map +1 -1
  363. package/dist/server/preview/utils.js.map +1 -1
  364. package/dist/server/preview/utils.mjs.map +1 -1
  365. package/dist/server/services/configuration.js.map +1 -1
  366. package/dist/server/services/configuration.mjs.map +1 -1
  367. package/dist/server/services/document-metadata.js +23 -1
  368. package/dist/server/services/document-metadata.js.map +1 -1
  369. package/dist/server/services/document-metadata.mjs +23 -1
  370. package/dist/server/services/document-metadata.mjs.map +1 -1
  371. package/dist/server/services/field-sizes.js.map +1 -1
  372. package/dist/server/services/field-sizes.mjs.map +1 -1
  373. package/dist/server/services/uid.js.map +1 -1
  374. package/dist/server/services/uid.mjs.map +1 -1
  375. package/dist/server/services/utils/store.js.map +1 -1
  376. package/dist/server/services/utils/store.mjs.map +1 -1
  377. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  378. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  379. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  380. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  381. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  382. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  383. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"Modifiers.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/Modifiers.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Typography, TypographyComponent } from '@strapi/design-system';\nimport { Bold, Italic, Underline, StrikeThrough, Code } from '@strapi/icons';\nimport { type MessageDescriptor } from 'react-intl';\nimport { Editor, Text, Transforms } from 'slate';\nimport { styled, css } from 'styled-components';\n\nconst stylesToInherit = css`\n font-size: inherit;\n color: inherit;\n line-height: inherit;\n`;\n\nconst BoldText = styled<TypographyComponent>(Typography).attrs({ fontWeight: 'bold' })`\n ${stylesToInherit}\n`;\n\nconst ItalicText = styled<TypographyComponent>(Typography)`\n font-style: italic;\n ${stylesToInherit}\n`;\n\nconst UnderlineText = styled<TypographyComponent>(Typography).attrs({\n textDecoration: 'underline',\n})`\n ${stylesToInherit}\n`;\n\nconst StrikeThroughText = styled<TypographyComponent>(Typography).attrs({\n textDecoration: 'line-through',\n})`\n ${stylesToInherit}\n`;\n\nconst InlineCode = styled.code`\n background-color: ${({ theme }) => theme.colors.neutral150};\n border-radius: ${({ theme }) => theme.borderRadius};\n padding: ${({ theme }) => `0 ${theme.spaces[2]}`};\n font-family: 'SF Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', Menlo, Consolas,\n monospace;\n color: inherit;\n`;\n\ntype ModifierKey = Exclude<keyof Text, 'type' | 'text'>;\n\ntype ModifiersStore = {\n [K in ModifierKey]: {\n icon: React.ComponentType;\n isValidEventKey: (event: React.KeyboardEvent<HTMLElement>) => boolean;\n label: MessageDescriptor;\n checkIsActive: (editor: Editor) => boolean;\n handleToggle: (editor: Editor) => void;\n renderLeaf: (children: React.JSX.Element | string) => React.JSX.Element;\n };\n};\n\n/**\n * The default handler for checking if a modifier is active\n */\nconst baseCheckIsActive = (editor: Editor, name: ModifierKey) => {\n const marks = Editor.marks(editor);\n if (!marks) return false;\n\n return Boolean(marks[name]);\n};\n\n/**\n * The default handler for toggling a modifier\n */\nconst baseHandleToggle = (editor: Editor, name: ModifierKey) => {\n const marks = Editor.marks(editor);\n\n // If there is no selection, set selection to the end of line\n if (!editor.selection) {\n const endOfEditor = Editor.end(editor, []);\n Transforms.select(editor, endOfEditor);\n }\n\n // Toggle the modifier\n if (marks?.[name]) {\n Editor.removeMark(editor, name);\n } else {\n Editor.addMark(editor, name, true);\n }\n};\n\nconst modifiers: ModifiersStore = {\n bold: {\n icon: Bold,\n isValidEventKey: (event) => event.key === 'b',\n label: { id: 'components.Blocks.modifiers.bold', defaultMessage: 'Bold' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'bold'),\n handleToggle: (editor) => baseHandleToggle(editor, 'bold'),\n renderLeaf: (children) => <BoldText>{children}</BoldText>,\n },\n italic: {\n icon: Italic,\n isValidEventKey: (event) => event.key === 'i',\n label: { id: 'components.Blocks.modifiers.italic', defaultMessage: 'Italic' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'italic'),\n handleToggle: (editor) => baseHandleToggle(editor, 'italic'),\n renderLeaf: (children) => <ItalicText>{children}</ItalicText>,\n },\n underline: {\n icon: Underline,\n isValidEventKey: (event) => event.key === 'u',\n label: { id: 'components.Blocks.modifiers.underline', defaultMessage: 'Underline' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'underline'),\n handleToggle: (editor) => baseHandleToggle(editor, 'underline'),\n renderLeaf: (children) => <UnderlineText>{children}</UnderlineText>,\n },\n strikethrough: {\n icon: StrikeThrough,\n isValidEventKey: (event) => event.key === 'S' && event.shiftKey,\n label: { id: 'components.Blocks.modifiers.strikethrough', defaultMessage: 'Strikethrough' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'strikethrough'),\n handleToggle: (editor) => baseHandleToggle(editor, 'strikethrough'),\n renderLeaf: (children) => <StrikeThroughText>{children}</StrikeThroughText>,\n },\n code: {\n icon: Code,\n isValidEventKey: (event) => event.key === 'e',\n label: { id: 'components.Blocks.modifiers.code', defaultMessage: 'Inline code' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'code'),\n handleToggle: (editor) => baseHandleToggle(editor, 'code'),\n renderLeaf: (children) => <InlineCode>{children}</InlineCode>,\n },\n};\n\nexport { type ModifiersStore, modifiers };\n"],"names":["stylesToInherit","css","BoldText","styled","Typography","attrs","fontWeight","ItalicText","UnderlineText","textDecoration","StrikeThroughText","InlineCode","code","theme","colors","neutral150","borderRadius","spaces","baseCheckIsActive","editor","name","marks","Editor","Boolean","baseHandleToggle","selection","endOfEditor","end","Transforms","select","removeMark","addMark","modifiers","bold","icon","Bold","isValidEventKey","event","key","label","id","defaultMessage","checkIsActive","handleToggle","renderLeaf","children","_jsx","italic","Italic","underline","Underline","strikethrough","StrikeThrough","shiftKey","Code"],"mappings":"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"}
1
+ {"version":3,"file":"Modifiers.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/Modifiers.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Typography, TypographyComponent } from '@strapi/design-system';\nimport { Bold, Italic, Underline, StrikeThrough, Code } from '@strapi/icons';\nimport { type MessageDescriptor } from 'react-intl';\nimport { Editor, Text, Transforms } from 'slate';\nimport { styled, css } from 'styled-components';\n\nconst stylesToInherit = css`\n font-size: inherit;\n color: inherit;\n line-height: inherit;\n`;\n\nconst BoldText = styled<TypographyComponent>(Typography).attrs({ fontWeight: 'bold' })`\n ${stylesToInherit}\n`;\n\nconst ItalicText = styled<TypographyComponent>(Typography)`\n font-style: italic;\n ${stylesToInherit}\n`;\n\nconst UnderlineText = styled<TypographyComponent>(Typography).attrs({\n textDecoration: 'underline',\n})`\n ${stylesToInherit}\n`;\n\nconst StrikeThroughText = styled<TypographyComponent>(Typography).attrs({\n textDecoration: 'line-through',\n})`\n ${stylesToInherit}\n`;\n\nconst InlineCode = styled.code`\n background-color: ${({ theme }) => theme.colors.neutral150};\n border-radius: ${({ theme }) => theme.borderRadius};\n padding: ${({ theme }) => `0 ${theme.spaces[2]}`};\n font-family: 'SF Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', Menlo, Consolas,\n monospace;\n color: inherit;\n`;\n\ntype ModifierKey = Exclude<keyof Text, 'type' | 'text'>;\n\ntype ModifiersStore = {\n [K in ModifierKey]: {\n icon: React.ComponentType;\n isValidEventKey: (event: React.KeyboardEvent<HTMLElement>) => boolean;\n label: MessageDescriptor;\n checkIsActive: (editor: Editor) => boolean;\n handleToggle: (editor: Editor) => void;\n renderLeaf: (children: React.JSX.Element | string) => React.JSX.Element;\n };\n};\n\n/**\n * The default handler for checking if a modifier is active\n */\nconst baseCheckIsActive = (editor: Editor, name: ModifierKey) => {\n const marks = Editor.marks(editor);\n if (!marks) return false;\n\n return Boolean(marks[name]);\n};\n\n/**\n * The default handler for toggling a modifier\n */\nconst baseHandleToggle = (editor: Editor, name: ModifierKey) => {\n const marks = Editor.marks(editor);\n\n // If there is no selection, set selection to the end of line\n if (!editor.selection) {\n const endOfEditor = Editor.end(editor, []);\n Transforms.select(editor, endOfEditor);\n }\n\n // Toggle the modifier\n if (marks?.[name]) {\n Editor.removeMark(editor, name);\n } else {\n Editor.addMark(editor, name, true);\n }\n};\n\nconst modifiers: ModifiersStore = {\n bold: {\n icon: Bold,\n isValidEventKey: (event) => event.key === 'b',\n label: { id: 'components.Blocks.modifiers.bold', defaultMessage: 'Bold' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'bold'),\n handleToggle: (editor) => baseHandleToggle(editor, 'bold'),\n renderLeaf: (children) => <BoldText>{children}</BoldText>,\n },\n italic: {\n icon: Italic,\n isValidEventKey: (event) => event.key === 'i',\n label: { id: 'components.Blocks.modifiers.italic', defaultMessage: 'Italic' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'italic'),\n handleToggle: (editor) => baseHandleToggle(editor, 'italic'),\n renderLeaf: (children) => <ItalicText>{children}</ItalicText>,\n },\n underline: {\n icon: Underline,\n isValidEventKey: (event) => event.key === 'u',\n label: { id: 'components.Blocks.modifiers.underline', defaultMessage: 'Underline' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'underline'),\n handleToggle: (editor) => baseHandleToggle(editor, 'underline'),\n renderLeaf: (children) => <UnderlineText>{children}</UnderlineText>,\n },\n strikethrough: {\n icon: StrikeThrough,\n isValidEventKey: (event) => event.key === 'S' && event.shiftKey,\n label: { id: 'components.Blocks.modifiers.strikethrough', defaultMessage: 'Strikethrough' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'strikethrough'),\n handleToggle: (editor) => baseHandleToggle(editor, 'strikethrough'),\n renderLeaf: (children) => <StrikeThroughText>{children}</StrikeThroughText>,\n },\n code: {\n icon: Code,\n isValidEventKey: (event) => event.key === 'e',\n label: { id: 'components.Blocks.modifiers.code', defaultMessage: 'Inline code' },\n checkIsActive: (editor) => baseCheckIsActive(editor, 'code'),\n handleToggle: (editor) => baseHandleToggle(editor, 'code'),\n renderLeaf: (children) => <InlineCode>{children}</InlineCode>,\n },\n};\n\nexport { type ModifiersStore, modifiers };\n"],"names":["stylesToInherit","css","BoldText","styled","Typography","attrs","fontWeight","ItalicText","UnderlineText","textDecoration","StrikeThroughText","InlineCode","code","theme","colors","neutral150","borderRadius","spaces","baseCheckIsActive","editor","name","marks","Editor","Boolean","baseHandleToggle","selection","endOfEditor","end","Transforms","select","removeMark","addMark","modifiers","bold","icon","Bold","isValidEventKey","event","key","label","id","defaultMessage","checkIsActive","handleToggle","renderLeaf","children","_jsx","italic","Italic","underline","Underline","strikethrough","StrikeThrough","shiftKey","Code"],"mappings":"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"}
@@ -28,7 +28,9 @@ const insertLink = (editor, { url })=>{
28
28
  type: 'text',
29
29
  text: url
30
30
  }
31
- ]
31
+ ],
32
+ rel: '',
33
+ target: ''
32
34
  };
33
35
  slate.Transforms.insertNodes(editor, link);
34
36
  } else {
@@ -42,7 +44,7 @@ const insertLink = (editor, { url })=>{
42
44
  }
43
45
  };
44
46
  const editLink = (editor, link)=>{
45
- const { url, text } = link;
47
+ const { url, text, rel, target } = link;
46
48
  if (!editor.selection) {
47
49
  return;
48
50
  }
@@ -52,7 +54,9 @@ const editLink = (editor, link)=>{
52
54
  if (linkEntry) {
53
55
  const [, linkPath] = linkEntry;
54
56
  slate.Transforms.setNodes(editor, {
55
- url
57
+ url,
58
+ rel,
59
+ target
56
60
  }, {
57
61
  at: linkPath
58
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"links.js","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.ts"],"sourcesContent":["import { Transforms, Editor, Element as SlateElement, Node, Range } from 'slate';\n\nimport { type Block } from './types';\n\nconst removeLink = (editor: Editor) => {\n Transforms.unwrapNodes(editor, {\n match: (node) => !Editor.isEditor(node) && SlateElement.isElement(node) && node.type === 'link',\n });\n};\n\nconst insertLink = (editor: Editor, { url }: { url: string }) => {\n if (editor.selection) {\n // We want to remove all link on the selection\n const linkNodes = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n })\n );\n\n linkNodes.forEach(([, path]) => {\n Transforms.unwrapNodes(editor, { at: path });\n });\n\n if (Range.isCollapsed(editor.selection)) {\n const link: Block<'link'> = {\n type: 'link',\n url: url ?? '',\n children: [{ type: 'text', text: url }],\n };\n\n Transforms.insertNodes(editor, link);\n } else {\n Transforms.wrapNodes(editor, { type: 'link', url: url ?? '' } as Block<'link'>, {\n split: true,\n });\n }\n }\n};\n\nconst editLink = (editor: Editor, link: { url: string; text: string }) => {\n const { url, text } = link;\n\n if (!editor.selection) {\n return;\n }\n\n const linkEntry = Editor.above(editor, {\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n });\n\n if (linkEntry) {\n const [, linkPath] = linkEntry;\n Transforms.setNodes(editor, { url }, { at: linkPath });\n\n // If link text is different, we remove the old text and insert the new one\n if (text !== '' && text !== Editor.string(editor, linkPath)) {\n const linkNodeChildrens = Array.from(Node.children(editor, linkPath, { reverse: true }));\n\n linkNodeChildrens.forEach(([, childPath]) => {\n Transforms.removeNodes(editor, { at: childPath });\n });\n\n Transforms.insertNodes(editor, [{ type: 'text', text }], { at: linkPath.concat(0) });\n }\n }\n};\n\nexport { insertLink, editLink, removeLink };\n"],"names":["removeLink","editor","Transforms","unwrapNodes","match","node","Editor","isEditor","SlateElement","isElement","type","insertLink","url","selection","linkNodes","Array","from","nodes","at","forEach","path","Range","isCollapsed","link","children","text","insertNodes","wrapNodes","split","editLink","linkEntry","above","linkPath","setNodes","string","linkNodeChildrens","Node","reverse","childPath","removeNodes","concat"],"mappings":"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"}
1
+ {"version":3,"file":"links.js","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.ts"],"sourcesContent":["import { Transforms, Editor, Element as SlateElement, Node, Range } from 'slate';\n\nimport { type Block } from './types';\n\nconst removeLink = (editor: Editor) => {\n Transforms.unwrapNodes(editor, {\n match: (node) => !Editor.isEditor(node) && SlateElement.isElement(node) && node.type === 'link',\n });\n};\n\nconst insertLink = (editor: Editor, { url }: { url: string }) => {\n if (editor.selection) {\n // We want to remove all link on the selection\n const linkNodes = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n })\n );\n\n linkNodes.forEach(([, path]) => {\n Transforms.unwrapNodes(editor, { at: path });\n });\n\n if (Range.isCollapsed(editor.selection)) {\n const link: Block<'link'> = {\n type: 'link',\n url: url ?? '',\n children: [{ type: 'text', text: url }],\n rel: '',\n target: '',\n };\n\n Transforms.insertNodes(editor, link);\n } else {\n Transforms.wrapNodes(editor, { type: 'link', url: url ?? '' } as Block<'link'>, {\n split: true,\n });\n }\n }\n};\n\nconst editLink = (\n editor: Editor,\n link: { url: string; text: string; rel: string; target: string }\n) => {\n const { url, text, rel, target } = link;\n\n if (!editor.selection) {\n return;\n }\n\n const linkEntry = Editor.above(editor, {\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n });\n\n if (linkEntry) {\n const [, linkPath] = linkEntry;\n Transforms.setNodes(editor, { url, rel, target }, { at: linkPath });\n\n // If link text is different, we remove the old text and insert the new one\n if (text !== '' && text !== Editor.string(editor, linkPath)) {\n const linkNodeChildrens = Array.from(Node.children(editor, linkPath, { reverse: true }));\n\n linkNodeChildrens.forEach(([, childPath]) => {\n Transforms.removeNodes(editor, { at: childPath });\n });\n\n Transforms.insertNodes(editor, [{ type: 'text', text }], { at: linkPath.concat(0) });\n }\n }\n};\n\nexport { insertLink, editLink, removeLink };\n"],"names":["removeLink","editor","Transforms","unwrapNodes","match","node","Editor","isEditor","SlateElement","isElement","type","insertLink","url","selection","linkNodes","Array","from","nodes","at","forEach","path","Range","isCollapsed","link","children","text","rel","target","insertNodes","wrapNodes","split","editLink","linkEntry","above","linkPath","setNodes","string","linkNodeChildrens","Node","reverse","childPath","removeNodes","concat"],"mappings":"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"}
@@ -26,7 +26,9 @@ const insertLink = (editor, { url })=>{
26
26
  type: 'text',
27
27
  text: url
28
28
  }
29
- ]
29
+ ],
30
+ rel: '',
31
+ target: ''
30
32
  };
31
33
  Transforms.insertNodes(editor, link);
32
34
  } else {
@@ -40,7 +42,7 @@ const insertLink = (editor, { url })=>{
40
42
  }
41
43
  };
42
44
  const editLink = (editor, link)=>{
43
- const { url, text } = link;
45
+ const { url, text, rel, target } = link;
44
46
  if (!editor.selection) {
45
47
  return;
46
48
  }
@@ -50,7 +52,9 @@ const editLink = (editor, link)=>{
50
52
  if (linkEntry) {
51
53
  const [, linkPath] = linkEntry;
52
54
  Transforms.setNodes(editor, {
53
- url
55
+ url,
56
+ rel,
57
+ target
54
58
  }, {
55
59
  at: linkPath
56
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"links.mjs","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.ts"],"sourcesContent":["import { Transforms, Editor, Element as SlateElement, Node, Range } from 'slate';\n\nimport { type Block } from './types';\n\nconst removeLink = (editor: Editor) => {\n Transforms.unwrapNodes(editor, {\n match: (node) => !Editor.isEditor(node) && SlateElement.isElement(node) && node.type === 'link',\n });\n};\n\nconst insertLink = (editor: Editor, { url }: { url: string }) => {\n if (editor.selection) {\n // We want to remove all link on the selection\n const linkNodes = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n })\n );\n\n linkNodes.forEach(([, path]) => {\n Transforms.unwrapNodes(editor, { at: path });\n });\n\n if (Range.isCollapsed(editor.selection)) {\n const link: Block<'link'> = {\n type: 'link',\n url: url ?? '',\n children: [{ type: 'text', text: url }],\n };\n\n Transforms.insertNodes(editor, link);\n } else {\n Transforms.wrapNodes(editor, { type: 'link', url: url ?? '' } as Block<'link'>, {\n split: true,\n });\n }\n }\n};\n\nconst editLink = (editor: Editor, link: { url: string; text: string }) => {\n const { url, text } = link;\n\n if (!editor.selection) {\n return;\n }\n\n const linkEntry = Editor.above(editor, {\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n });\n\n if (linkEntry) {\n const [, linkPath] = linkEntry;\n Transforms.setNodes(editor, { url }, { at: linkPath });\n\n // If link text is different, we remove the old text and insert the new one\n if (text !== '' && text !== Editor.string(editor, linkPath)) {\n const linkNodeChildrens = Array.from(Node.children(editor, linkPath, { reverse: true }));\n\n linkNodeChildrens.forEach(([, childPath]) => {\n Transforms.removeNodes(editor, { at: childPath });\n });\n\n Transforms.insertNodes(editor, [{ type: 'text', text }], { at: linkPath.concat(0) });\n }\n }\n};\n\nexport { insertLink, editLink, removeLink };\n"],"names":["removeLink","editor","Transforms","unwrapNodes","match","node","Editor","isEditor","SlateElement","isElement","type","insertLink","url","selection","linkNodes","Array","from","nodes","at","forEach","path","Range","isCollapsed","link","children","text","insertNodes","wrapNodes","split","editLink","linkEntry","above","linkPath","setNodes","string","linkNodeChildrens","Node","reverse","childPath","removeNodes","concat"],"mappings":"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"}
1
+ {"version":3,"file":"links.mjs","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.ts"],"sourcesContent":["import { Transforms, Editor, Element as SlateElement, Node, Range } from 'slate';\n\nimport { type Block } from './types';\n\nconst removeLink = (editor: Editor) => {\n Transforms.unwrapNodes(editor, {\n match: (node) => !Editor.isEditor(node) && SlateElement.isElement(node) && node.type === 'link',\n });\n};\n\nconst insertLink = (editor: Editor, { url }: { url: string }) => {\n if (editor.selection) {\n // We want to remove all link on the selection\n const linkNodes = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n })\n );\n\n linkNodes.forEach(([, path]) => {\n Transforms.unwrapNodes(editor, { at: path });\n });\n\n if (Range.isCollapsed(editor.selection)) {\n const link: Block<'link'> = {\n type: 'link',\n url: url ?? '',\n children: [{ type: 'text', text: url }],\n rel: '',\n target: '',\n };\n\n Transforms.insertNodes(editor, link);\n } else {\n Transforms.wrapNodes(editor, { type: 'link', url: url ?? '' } as Block<'link'>, {\n split: true,\n });\n }\n }\n};\n\nconst editLink = (\n editor: Editor,\n link: { url: string; text: string; rel: string; target: string }\n) => {\n const { url, text, rel, target } = link;\n\n if (!editor.selection) {\n return;\n }\n\n const linkEntry = Editor.above(editor, {\n match: (node) => !Editor.isEditor(node) && node.type === 'link',\n });\n\n if (linkEntry) {\n const [, linkPath] = linkEntry;\n Transforms.setNodes(editor, { url, rel, target }, { at: linkPath });\n\n // If link text is different, we remove the old text and insert the new one\n if (text !== '' && text !== Editor.string(editor, linkPath)) {\n const linkNodeChildrens = Array.from(Node.children(editor, linkPath, { reverse: true }));\n\n linkNodeChildrens.forEach(([, childPath]) => {\n Transforms.removeNodes(editor, { at: childPath });\n });\n\n Transforms.insertNodes(editor, [{ type: 'text', text }], { at: linkPath.concat(0) });\n }\n }\n};\n\nexport { insertLink, editLink, removeLink };\n"],"names":["removeLink","editor","Transforms","unwrapNodes","match","node","Editor","isEditor","SlateElement","isElement","type","insertLink","url","selection","linkNodes","Array","from","nodes","at","forEach","path","Range","isCollapsed","link","children","text","rel","target","insertNodes","wrapNodes","split","editLink","linkEntry","above","linkPath","setNodes","string","linkNodeChildrens","Node","reverse","childPath","removeNodes","concat"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NonRepeatable.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.tsx"],"sourcesContent":["import { useField, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport type { ComponentInputProps } from './Input';\n\ntype NonRepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst NonRepeatableComponent = ({\n attribute,\n name,\n children,\n layout,\n}: NonRepeatableComponentProps) => {\n const { formatMessage } = useIntl();\n const { value } = useField(name);\n const level = useComponent('NonRepeatableComponent', (state) => state.level);\n const isNested = level > 0;\n const { currentDocument } = useDocumentContext('NonRepeatableComponent');\n const rulesEngine = createRulesEngine();\n\n return (\n <ComponentProvider id={value?.id} uid={attribute.component} level={level + 1} type=\"component\">\n <Box\n background={'neutral100'}\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n hasRadius={isNested}\n borderColor={isNested ? 'neutral200' : undefined}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((row, index) => {\n const visibleFields = row.filter(({ ...field }) => {\n const condition = field.attribute.conditions?.visible;\n if (condition) {\n return rulesEngine.evaluate(condition, value);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n return (\n <ResponsiveGridRoot gap={4} key={index}>\n {visibleFields.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 = `${name}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attribute.component}.${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 document: currentDocument,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n </ComponentProvider>\n );\n};\n\nexport { NonRepeatableComponent };\nexport type { NonRepeatableComponentProps };\n"],"names":["NonRepeatableComponent","attribute","name","children","layout","formatMessage","useIntl","value","useField","level","useComponent","state","isNested","currentDocument","useDocumentContext","rulesEngine","createRulesEngine","_jsx","ComponentProvider","id","uid","component","type","Box","background","paddingLeft","paddingRight","paddingTop","paddingBottom","hasRadius","borderColor","undefined","Flex","direction","alignItems","gap","map","row","index","visibleFields","filter","field","condition","conditions","visible","evaluate","length","ResponsiveGridRoot","size","completeFieldName","translatedLabel","defaultMessage","label","ResponsiveGridItem","col","s","xs","document"],"mappings":"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"}
1
+ {"version":3,"file":"NonRepeatable.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.tsx"],"sourcesContent":["import { useField, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport type { ComponentInputProps } from './Input';\n\ntype NonRepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst NonRepeatableComponent = ({\n attribute,\n name,\n children,\n layout,\n}: NonRepeatableComponentProps) => {\n const { formatMessage } = useIntl();\n const { value } = useField(name);\n const level = useComponent('NonRepeatableComponent', (state) => state.level);\n const isNested = level > 0;\n const { currentDocument } = useDocumentContext('NonRepeatableComponent');\n const rulesEngine = createRulesEngine();\n\n return (\n <ComponentProvider id={value?.id} uid={attribute.component} level={level + 1} type=\"component\">\n <Box\n background={'neutral100'}\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n hasRadius={isNested}\n borderColor={isNested ? 'neutral200' : undefined}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((row, index) => {\n const visibleFields = row.filter(({ ...field }) => {\n const condition = field.attribute.conditions?.visible;\n if (condition) {\n return rulesEngine.evaluate(condition, value);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n return (\n <ResponsiveGridRoot gap={4} key={index}>\n {visibleFields.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 = `${name}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attribute.component}.${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 document: currentDocument,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n </ComponentProvider>\n );\n};\n\nexport { NonRepeatableComponent };\nexport type { NonRepeatableComponentProps };\n"],"names":["NonRepeatableComponent","attribute","name","children","layout","formatMessage","useIntl","value","useField","level","useComponent","state","isNested","currentDocument","useDocumentContext","rulesEngine","createRulesEngine","_jsx","ComponentProvider","id","uid","component","type","Box","background","paddingLeft","paddingRight","paddingTop","paddingBottom","hasRadius","borderColor","undefined","Flex","direction","alignItems","gap","map","row","index","visibleFields","filter","field","condition","conditions","visible","evaluate","length","ResponsiveGridRoot","size","completeFieldName","translatedLabel","defaultMessage","label","ResponsiveGridItem","col","s","xs","document"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NonRepeatable.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.tsx"],"sourcesContent":["import { useField, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport type { ComponentInputProps } from './Input';\n\ntype NonRepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst NonRepeatableComponent = ({\n attribute,\n name,\n children,\n layout,\n}: NonRepeatableComponentProps) => {\n const { formatMessage } = useIntl();\n const { value } = useField(name);\n const level = useComponent('NonRepeatableComponent', (state) => state.level);\n const isNested = level > 0;\n const { currentDocument } = useDocumentContext('NonRepeatableComponent');\n const rulesEngine = createRulesEngine();\n\n return (\n <ComponentProvider id={value?.id} uid={attribute.component} level={level + 1} type=\"component\">\n <Box\n background={'neutral100'}\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n hasRadius={isNested}\n borderColor={isNested ? 'neutral200' : undefined}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((row, index) => {\n const visibleFields = row.filter(({ ...field }) => {\n const condition = field.attribute.conditions?.visible;\n if (condition) {\n return rulesEngine.evaluate(condition, value);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n return (\n <ResponsiveGridRoot gap={4} key={index}>\n {visibleFields.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 = `${name}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attribute.component}.${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 document: currentDocument,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n </ComponentProvider>\n );\n};\n\nexport { NonRepeatableComponent };\nexport type { NonRepeatableComponentProps };\n"],"names":["NonRepeatableComponent","attribute","name","children","layout","formatMessage","useIntl","value","useField","level","useComponent","state","isNested","currentDocument","useDocumentContext","rulesEngine","createRulesEngine","_jsx","ComponentProvider","id","uid","component","type","Box","background","paddingLeft","paddingRight","paddingTop","paddingBottom","hasRadius","borderColor","undefined","Flex","direction","alignItems","gap","map","row","index","visibleFields","filter","field","condition","conditions","visible","evaluate","length","ResponsiveGridRoot","size","completeFieldName","translatedLabel","defaultMessage","label","ResponsiveGridItem","col","s","xs","document"],"mappings":"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"}
1
+ {"version":3,"file":"NonRepeatable.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.tsx"],"sourcesContent":["import { useField, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentContext } from '../../../../../hooks/useDocumentContext';\nimport { ResponsiveGridItem, ResponsiveGridRoot } from '../../FormLayout';\nimport { ComponentProvider, useComponent } from '../ComponentContext';\n\nimport type { ComponentInputProps } from './Input';\n\ntype NonRepeatableComponentProps = Omit<ComponentInputProps, 'required' | 'label'>;\n\nconst NonRepeatableComponent = ({\n attribute,\n name,\n children,\n layout,\n}: NonRepeatableComponentProps) => {\n const { formatMessage } = useIntl();\n const { value } = useField(name);\n const level = useComponent('NonRepeatableComponent', (state) => state.level);\n const isNested = level > 0;\n const { currentDocument } = useDocumentContext('NonRepeatableComponent');\n const rulesEngine = createRulesEngine();\n\n return (\n <ComponentProvider id={value?.id} uid={attribute.component} level={level + 1} type=\"component\">\n <Box\n background={'neutral100'}\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n hasRadius={isNested}\n borderColor={isNested ? 'neutral200' : undefined}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((row, index) => {\n const visibleFields = row.filter(({ ...field }) => {\n const condition = field.attribute.conditions?.visible;\n if (condition) {\n return rulesEngine.evaluate(condition, value);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n return (\n <ResponsiveGridRoot gap={4} key={index}>\n {visibleFields.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 = `${name}.${field.name}`;\n\n const translatedLabel = formatMessage({\n id: `content-manager.components.${attribute.component}.${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 document: currentDocument,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n </ComponentProvider>\n );\n};\n\nexport { NonRepeatableComponent };\nexport type { NonRepeatableComponentProps };\n"],"names":["NonRepeatableComponent","attribute","name","children","layout","formatMessage","useIntl","value","useField","level","useComponent","state","isNested","currentDocument","useDocumentContext","rulesEngine","createRulesEngine","_jsx","ComponentProvider","id","uid","component","type","Box","background","paddingLeft","paddingRight","paddingTop","paddingBottom","hasRadius","borderColor","undefined","Flex","direction","alignItems","gap","map","row","index","visibleFields","filter","field","condition","conditions","visible","evaluate","length","ResponsiveGridRoot","size","completeFieldName","translatedLabel","defaultMessage","label","ResponsiveGridItem","col","s","xs","document"],"mappings":";;;;;;;;AAYMA,MAAAA,sBAAAA,GAAyB,CAAC,EAC9BC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,MAAM,EACsB,GAAA;IAC5B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGC,QAASN,CAAAA,IAAAA,CAAAA;AAC3B,IAAA,MAAMO,QAAQC,YAAa,CAAA,wBAAA,EAA0B,CAACC,KAAAA,GAAUA,MAAMF,KAAK,CAAA;AAC3E,IAAA,MAAMG,WAAWH,KAAQ,GAAA,CAAA;AACzB,IAAA,MAAM,EAAEI,eAAe,EAAE,GAAGC,kBAAmB,CAAA,wBAAA,CAAA;AAC/C,IAAA,MAAMC,WAAcC,GAAAA,iBAAAA,EAAAA;AAEpB,IAAA,qBACEC,GAACC,CAAAA,iBAAAA,EAAAA;AAAkBC,QAAAA,EAAAA,EAAIZ,KAAOY,EAAAA,EAAAA;AAAIC,QAAAA,GAAAA,EAAKnB,UAAUoB,SAAS;AAAEZ,QAAAA,KAAAA,EAAOA,KAAQ,GAAA,CAAA;QAAGa,IAAK,EAAA,WAAA;AACjF,QAAA,QAAA,gBAAAL,GAACM,CAAAA,GAAAA,EAAAA;YACCC,UAAY,EAAA,YAAA;YACZC,WAAa,EAAA,CAAA;YACbC,YAAc,EAAA,CAAA;YACdC,UAAY,EAAA,CAAA;YACZC,aAAe,EAAA,CAAA;YACfC,SAAWjB,EAAAA,QAAAA;AACXkB,YAAAA,WAAAA,EAAalB,WAAW,YAAemB,GAAAA,SAAAA;AAEvC,YAAA,QAAA,gBAAAd,GAACe,CAAAA,IAAAA,EAAAA;gBAAKC,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;gBAAUC,GAAK,EAAA,CAAA;0BAChD/B,MAAOgC,CAAAA,GAAG,CAAC,CAACC,GAAKC,EAAAA,KAAAA,GAAAA;AAChB,oBAAA,MAAMC,gBAAgBF,GAAIG,CAAAA,MAAM,CAAC,CAAC,EAAE,GAAGC,KAAO,EAAA,GAAA;AAC5C,wBAAA,MAAMC,SAAYD,GAAAA,KAAAA,CAAMxC,SAAS,CAAC0C,UAAU,EAAEC,OAAAA;AAC9C,wBAAA,IAAIF,SAAW,EAAA;4BACb,OAAO3B,WAAAA,CAAY8B,QAAQ,CAACH,SAAWnC,EAAAA,KAAAA,CAAAA;AACzC;wBAEA,OAAO,IAAA;AACT,qBAAA,CAAA;oBAEA,IAAIgC,aAAAA,CAAcO,MAAM,KAAK,CAAG,EAAA;AAC9B,wBAAA,OAAO;AACT;AACA,oBAAA,qBACE7B,GAAC8B,CAAAA,kBAAAA,EAAAA;wBAAmBZ,GAAK,EAAA,CAAA;AACtBI,wBAAAA,QAAAA,EAAAA,aAAAA,CAAcH,GAAG,CAAC,CAAC,EAAEY,IAAI,EAAE,GAAGP,KAAO,EAAA,GAAA;AACpC;;;;;sBAMA,MAAMQ,oBAAoB,CAAG/C,EAAAA,IAAAA,CAAK,CAAC,EAAEuC,KAAAA,CAAMvC,IAAI,CAAE,CAAA;AAEjD,4BAAA,MAAMgD,kBAAkB7C,aAAc,CAAA;gCACpCc,EAAI,EAAA,CAAC,2BAA2B,EAAElB,SAAUoB,CAAAA,SAAS,CAAC,CAAC,EAAEoB,KAAMvC,CAAAA,IAAI,CAAE,CAAA;AACrEiD,gCAAAA,cAAAA,EAAgBV,MAAMW;AACxB,6BAAA,CAAA;AAEA,4BAAA,qBACEnC,GAACoC,CAAAA,kBAAAA,EAAAA;gCACCC,GAAKN,EAAAA,IAAAA;gCAELO,CAAG,EAAA,EAAA;gCACHC,EAAI,EAAA,EAAA;gCACJvB,SAAU,EAAA,QAAA;gCACVC,UAAW,EAAA,SAAA;0CAEV/B,QAAS,CAAA;AACR,oCAAA,GAAGsC,KAAK;oCACRW,KAAOF,EAAAA,eAAAA;oCACPhD,IAAM+C,EAAAA,iBAAAA;oCACNQ,QAAU5C,EAAAA;AACZ,iCAAA;AAXKoC,6BAAAA,EAAAA,iBAAAA,CAAAA;AAcX,yBAAA;AAhC+BX,qBAAAA,EAAAA,KAAAA,CAAAA;AAmCrC,iBAAA;;;;AAKV;;;;"}
@@ -321,6 +321,7 @@ const Component = ({ disabled, index, name, mainField = {
321
321
  type: 'integer'
322
322
  }, children, onDeleteComponent, toggleCollapses, __temp_key__, ...dragProps })=>{
323
323
  const { formatMessage } = reactIntl.useIntl();
324
+ const isDesktop = strapiAdmin.useIsDesktop();
324
325
  const displayValue = strapiAdmin.useForm('RepeatableComponent', (state)=>{
325
326
  return objects.getIn(state.values, [
326
327
  ...name.split('.'),
@@ -379,7 +380,7 @@ const Component = ({ disabled, index, name, mainField = {
379
380
  }),
380
381
  children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Trash, {})
381
382
  }),
382
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
383
+ isDesktop && /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
383
384
  disabled: disabled,
384
385
  ref: composedAccordionRefs,
385
386
  variant: "ghost",
@@ -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, createRulesEngine } 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 } 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\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 = [],\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\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>('');\n const [liveText, setLiveText] = React.useState('');\n\n const rulesEngine = createRulesEngine();\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(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 = () => {\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: ComponentProps['onMoveItem'] = (newIndex, currentIndex) => {\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: getItemPos(newIndex),\n }\n )\n );\n\n moveFieldRow(name, currentIndex, newIndex);\n };\n\n const handleValueChange = (key: string) => {\n setCollapseToOpen(key);\n };\n\n const getItemPos = (index: number) => `${index + 1} of ${value.length}`;\n\n const handleCancel = (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\n const handleGrabItem = (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: getItemPos(index),\n }\n )\n );\n };\n\n const handleDropItem = (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: getItemPos(index),\n }\n )\n );\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(({ __temp_key__: key, id, ...currentComponentValues }, index) => {\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 <Component\n disabled={disabled}\n name={nameWithIndex}\n attribute={attribute}\n index={index}\n mainField={mainField}\n onMoveItem={handleMoveComponentField}\n onDeleteComponent={() => {\n removeFieldRow(name, index);\n toggleCollapses();\n }}\n toggleCollapses={toggleCollapses}\n onCancel={handleCancel}\n onDropItem={handleDropItem}\n onGrabItem={handleGrabItem}\n __temp_key__={key}\n >\n {layout.map((row, index) => {\n const visibleFields = row.filter(({ ...field }) => {\n const condition = field.attribute.conditions?.visible;\n if (condition) {\n return rulesEngine.evaluate(condition, currentComponentValues);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n return (\n <ResponsiveGridRoot gap={4} key={index}>\n {visibleFields.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.${attribute.component}.${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 document: currentDocument,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Component>\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\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ComponentProps\n extends Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel' | 'onMoveItem'>,\n Pick<RepeatableComponentProps, 'mainField'> {\n attribute: Schema.Attribute.Component<`${string}.${string}`, boolean>;\n disabled?: boolean;\n index: number;\n name: string;\n onDeleteComponent?: React.MouseEventHandler<HTMLButtonElement>;\n toggleCollapses: () => void;\n children: React.ReactNode;\n __temp_key__: string;\n}\n\nconst Component = ({\n disabled,\n index,\n name,\n mainField = {\n name: 'id',\n type: 'integer',\n },\n children,\n onDeleteComponent,\n toggleCollapses,\n __temp_key__,\n ...dragProps\n}: ComponentProps) => {\n const { formatMessage } = useIntl();\n\n const displayValue = useForm('RepeatableComponent', (state) => {\n return getIn(state.values, [...name.split('.'), mainField.name]);\n });\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 displayedValue: displayValue,\n },\n onStart() {\n // Close all collapses\n toggleCollapses();\n },\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 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={onDeleteComponent}\n label={formatMessage({\n id: getTranslation('containers.Edit.delete'),\n defaultMessage: 'Delete',\n })}\n >\n <Trash />\n </IconButton>\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 </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral100\"\n padding={6}\n gap={6}\n >\n {children}\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\nexport { RepeatableComponent };\nexport type { RepeatableComponentProps };\n"],"names":["RepeatableComponent","attribute","disabled","name","mainField","children","layout","toggleNotification","useNotification","formatMessage","useIntl","search","searchString","useLocation","React","useMemo","URLSearchParams","currentDocument","useDocumentContext","components","value","error","rawError","useField","addFieldRow","useForm","state","moveFieldRow","removeFieldRow","max","Infinity","collapseToOpen","setCollapseToOpen","useState","liveText","setLiveText","rulesEngine","createRulesEngine","useEffect","hasNestedErrors","Array","isArray","length","hasNestedValue","errorOpenItems","map","_","idx","__temp_key__","filter","includes","componentTmpKeyWithFocussedField","has","fieldParam","get","undefined","path","split","getIn","subpath","prevValue","usePrev","toggleCollapses","handleClick","schema","component","form","createDefaultForm","data","transformDocument","type","message","id","getTranslation","handleMoveComponentField","newIndex","currentIndex","defaultMessage","item","position","getItemPos","handleValueChange","key","index","handleCancel","handleGrabItem","handleDropItem","ariaDescriptionId","useId","level","useComponent","_jsx","Initializer","onClick","_jsxs","Box","hasRadius","VisuallyHidden","aria-live","AccordionRoot","$error","onValueChange","aria-describedby","currentComponentValues","nameWithIndex","ComponentProvider","uid","Component","onMoveItem","onDeleteComponent","onCancel","onDropItem","onGrabItem","row","visibleFields","field","condition","conditions","visible","evaluate","ResponsiveGridRoot","gap","size","completeFieldName","translatedLabel","label","ResponsiveGridItem","col","s","xs","direction","alignItems","document","TextButtonCustom","startIcon","Plus","styled","Accordion","Root","theme","colors","danger600","neutral200","TextButton","props","spaces","primary100","motion","easings","easeOutQuad","dragProps","displayValue","values","accordionRef","useRef","componentKey","slice","join","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","COMPONENT","displayedValue","onStart","getEmptyImage","captureDraggingState","composedAccordionRefs","useComposedRefs","composedBoxRefs","_Fragment","Preview","Item","ref","Header","Trigger","Actions","IconButton","variant","Trash","e","stopPropagation","data-handler-id","onKeyDown","Drag","Content","Flex","background","padding","StyledSpan","tag","primary500"],"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 {\n useField,\n useNotification,\n useForm,\n createRulesEngine,\n useIsDesktop,\n} 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 } 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\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 = [],\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\n const [collapseToOpen, setCollapseToOpen] = React.useState<string>('');\n const [liveText, setLiveText] = React.useState('');\n\n const rulesEngine = createRulesEngine();\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(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 = () => {\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: ComponentProps['onMoveItem'] = (newIndex, currentIndex) => {\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: getItemPos(newIndex),\n }\n )\n );\n\n moveFieldRow(name, currentIndex, newIndex);\n };\n\n const handleValueChange = (key: string) => {\n setCollapseToOpen(key);\n };\n\n const getItemPos = (index: number) => `${index + 1} of ${value.length}`;\n\n const handleCancel = (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\n const handleGrabItem = (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: getItemPos(index),\n }\n )\n );\n };\n\n const handleDropItem = (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: getItemPos(index),\n }\n )\n );\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(({ __temp_key__: key, id, ...currentComponentValues }, index) => {\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 <Component\n disabled={disabled}\n name={nameWithIndex}\n attribute={attribute}\n index={index}\n mainField={mainField}\n onMoveItem={handleMoveComponentField}\n onDeleteComponent={() => {\n removeFieldRow(name, index);\n toggleCollapses();\n }}\n toggleCollapses={toggleCollapses}\n onCancel={handleCancel}\n onDropItem={handleDropItem}\n onGrabItem={handleGrabItem}\n __temp_key__={key}\n >\n {layout.map((row, index) => {\n const visibleFields = row.filter(({ ...field }) => {\n const condition = field.attribute.conditions?.visible;\n if (condition) {\n return rulesEngine.evaluate(condition, currentComponentValues);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n return (\n <ResponsiveGridRoot gap={4} key={index}>\n {visibleFields.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.${attribute.component}.${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 document: currentDocument,\n })}\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Component>\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\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ComponentProps\n extends Pick<UseDragAndDropOptions, 'onGrabItem' | 'onDropItem' | 'onCancel' | 'onMoveItem'>,\n Pick<RepeatableComponentProps, 'mainField'> {\n attribute: Schema.Attribute.Component<`${string}.${string}`, boolean>;\n disabled?: boolean;\n index: number;\n name: string;\n onDeleteComponent?: React.MouseEventHandler<HTMLButtonElement>;\n toggleCollapses: () => void;\n children: React.ReactNode;\n __temp_key__: string;\n}\n\nconst Component = ({\n disabled,\n index,\n name,\n mainField = {\n name: 'id',\n type: 'integer',\n },\n children,\n onDeleteComponent,\n toggleCollapses,\n __temp_key__,\n ...dragProps\n}: ComponentProps) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n const displayValue = useForm('RepeatableComponent', (state) => {\n return getIn(state.values, [...name.split('.'), mainField.name]);\n });\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 displayedValue: displayValue,\n },\n onStart() {\n // Close all collapses\n toggleCollapses();\n },\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 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={onDeleteComponent}\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 </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n background=\"neutral100\"\n padding={6}\n gap={6}\n >\n {children}\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\nexport { RepeatableComponent };\nexport type { RepeatableComponentProps };\n"],"names":["RepeatableComponent","attribute","disabled","name","mainField","children","layout","toggleNotification","useNotification","formatMessage","useIntl","search","searchString","useLocation","React","useMemo","URLSearchParams","currentDocument","useDocumentContext","components","value","error","rawError","useField","addFieldRow","useForm","state","moveFieldRow","removeFieldRow","max","Infinity","collapseToOpen","setCollapseToOpen","useState","liveText","setLiveText","rulesEngine","createRulesEngine","useEffect","hasNestedErrors","Array","isArray","length","hasNestedValue","errorOpenItems","map","_","idx","__temp_key__","filter","includes","componentTmpKeyWithFocussedField","has","fieldParam","get","undefined","path","split","getIn","subpath","prevValue","usePrev","toggleCollapses","handleClick","schema","component","form","createDefaultForm","data","transformDocument","type","message","id","getTranslation","handleMoveComponentField","newIndex","currentIndex","defaultMessage","item","position","getItemPos","handleValueChange","key","index","handleCancel","handleGrabItem","handleDropItem","ariaDescriptionId","useId","level","useComponent","_jsx","Initializer","onClick","_jsxs","Box","hasRadius","VisuallyHidden","aria-live","AccordionRoot","$error","onValueChange","aria-describedby","currentComponentValues","nameWithIndex","ComponentProvider","uid","Component","onMoveItem","onDeleteComponent","onCancel","onDropItem","onGrabItem","row","visibleFields","field","condition","conditions","visible","evaluate","ResponsiveGridRoot","gap","size","completeFieldName","translatedLabel","label","ResponsiveGridItem","col","s","xs","direction","alignItems","document","TextButtonCustom","startIcon","Plus","styled","Accordion","Root","theme","colors","danger600","neutral200","TextButton","props","spaces","primary100","motion","easings","easeOutQuad","dragProps","isDesktop","useIsDesktop","displayValue","values","accordionRef","useRef","componentKey","slice","join","handlerId","isDragging","handleKeyDown","boxRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","COMPONENT","displayedValue","onStart","getEmptyImage","captureDraggingState","composedAccordionRefs","useComposedRefs","composedBoxRefs","_Fragment","Preview","Item","ref","Header","Trigger","Actions","IconButton","variant","Trash","e","stopPropagation","data-handler-id","onKeyDown","Drag","Content","Flex","background","padding","StyledSpan","tag","primary500"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useNotification, useField, useForm, createRulesEngine } from '@strapi/admin/strapi-admin';
3
+ import { useNotification, useField, useForm, createRulesEngine, useIsDesktop } from '@strapi/admin/strapi-admin';
4
4
  import { Accordion, TextButton, Box, VisuallyHidden, useComposedRefs, IconButton, Flex } from '@strapi/design-system';
5
5
  import { Plus, Trash, Drag } from '@strapi/icons';
6
6
  import { getEmptyImage } from 'react-dnd-html5-backend';
@@ -300,6 +300,7 @@ const Component = ({ disabled, index, name, mainField = {
300
300
  type: 'integer'
301
301
  }, children, onDeleteComponent, toggleCollapses, __temp_key__, ...dragProps })=>{
302
302
  const { formatMessage } = useIntl();
303
+ const isDesktop = useIsDesktop();
303
304
  const displayValue = useForm('RepeatableComponent', (state)=>{
304
305
  return getIn(state.values, [
305
306
  ...name.split('.'),
@@ -358,7 +359,7 @@ const Component = ({ disabled, index, name, mainField = {
358
359
  }),
359
360
  children: /*#__PURE__*/ jsx(Trash, {})
360
361
  }),
361
- /*#__PURE__*/ jsx(IconButton, {
362
+ isDesktop && /*#__PURE__*/ jsx(IconButton, {
362
363
  disabled: disabled,
363
364
  ref: composedAccordionRefs,
364
365
  variant: "ghost",