@strapi/content-manager 0.0.0-next.ce5699024a72ea224891438d5bbe39f904ec6774 → 0.0.0-next.d190a700af70e9360d767221b76cd8e815bd01aa

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 (519) 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 +1 -1
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +1 -1
  8. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
  9. package/dist/admin/components/ConfigurationForm/Fields.js +304 -205
  10. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  11. package/dist/admin/components/ConfigurationForm/Fields.mjs +309 -211
  12. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  13. package/dist/admin/components/ConfigurationForm/Form.js +1 -1
  14. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  15. package/dist/admin/components/ConfigurationForm/Form.mjs +3 -3
  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 +94 -50
  30. package/dist/admin/components/LeftMenu.js.map +1 -1
  31. package/dist/admin/components/LeftMenu.mjs +97 -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 +437 -0
  36. package/dist/admin/components/Widgets.js.map +1 -0
  37. package/dist/admin/components/Widgets.mjs +414 -0
  38. package/dist/admin/components/Widgets.mjs.map +1 -0
  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 +24 -3
  44. package/dist/admin/history/components/VersionContent.js.map +1 -1
  45. package/dist/admin/history/components/VersionContent.mjs +25 -4
  46. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  47. package/dist/admin/history/components/VersionHeader.js +7 -0
  48. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  49. package/dist/admin/history/components/VersionHeader.mjs +8 -1
  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 +8 -16
  58. package/dist/admin/history/pages/History.js.map +1 -1
  59. package/dist/admin/history/pages/History.mjs +8 -16
  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 +43 -12
  66. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  67. package/dist/admin/hooks/useDocumentActions.mjs +44 -13
  68. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  69. package/dist/admin/hooks/useDocumentContext.js +57 -0
  70. package/dist/admin/hooks/useDocumentContext.js.map +1 -0
  71. package/dist/admin/hooks/useDocumentContext.mjs +36 -0
  72. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
  73. package/dist/admin/index.js +81 -5
  74. package/dist/admin/index.js.map +1 -1
  75. package/dist/admin/index.mjs +80 -3
  76. package/dist/admin/index.mjs.map +1 -1
  77. package/dist/admin/layout.js +28 -33
  78. package/dist/admin/layout.js.map +1 -1
  79. package/dist/admin/layout.mjs +29 -15
  80. package/dist/admin/layout.mjs.map +1 -1
  81. package/dist/admin/pages/EditView/EditViewPage.js +101 -88
  82. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  83. package/dist/admin/pages/EditView/EditViewPage.mjs +103 -90
  84. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  86. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  87. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  88. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  89. package/dist/admin/pages/EditView/components/DocumentActions.js +335 -123
  90. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/DocumentActions.mjs +342 -130
  92. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  94. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  96. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +66 -2
  98. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +66 -2
  100. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  102. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  104. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  106. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
  108. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  109. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
  110. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  111. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  112. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  113. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  114. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  115. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
  116. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  117. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
  118. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  119. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  120. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  121. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js +7 -3
  122. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js.map +1 -1
  123. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs +7 -3
  124. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs.map +1 -1
  125. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +2 -2
  126. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  127. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +2 -2
  128. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  129. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +14 -3
  130. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +15 -4
  132. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +19 -5
  134. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +20 -6
  136. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +1 -2
  138. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +1 -2
  140. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +27 -24
  142. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  143. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +29 -26
  144. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  145. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +2 -3
  146. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +2 -3
  148. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +508 -345
  150. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  151. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +508 -347
  152. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  153. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +180 -70
  154. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  155. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +184 -74
  156. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  157. package/dist/admin/pages/EditView/components/FormInputs/UID.js +13 -10
  158. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  159. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +13 -10
  160. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  161. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  162. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  163. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  164. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  165. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
  166. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  167. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
  168. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  169. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  170. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  171. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  172. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  173. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  174. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  175. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  176. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  177. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  178. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  179. package/dist/admin/pages/EditView/components/FormLayout.js +59 -34
  180. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  181. package/dist/admin/pages/EditView/components/FormLayout.mjs +60 -34
  182. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  183. package/dist/admin/pages/EditView/components/Header.js +92 -27
  184. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  185. package/dist/admin/pages/EditView/components/Header.mjs +94 -29
  186. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  187. package/dist/admin/pages/EditView/components/InputRenderer.js +35 -28
  188. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  189. package/dist/admin/pages/EditView/components/InputRenderer.mjs +35 -28
  190. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  191. package/dist/admin/pages/EditView/utils/data.js +128 -0
  192. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  193. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  194. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  195. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +1 -0
  196. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  197. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -0
  198. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  199. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  200. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  201. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  202. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  203. package/dist/admin/pages/ListView/ListViewPage.js +225 -132
  204. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  205. package/dist/admin/pages/ListView/ListViewPage.mjs +227 -134
  206. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  207. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  208. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  210. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  211. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  212. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  213. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  214. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  215. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  216. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  217. package/dist/admin/pages/ListView/components/Filters.js +8 -2
  218. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  219. package/dist/admin/pages/ListView/components/Filters.mjs +8 -2
  220. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  221. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  222. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  223. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  224. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  225. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  226. package/dist/admin/pages/ListView/components/TableCells/Media.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 +2 -6
  236. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  237. package/dist/admin/preview/components/PreviewHeader.mjs +2 -6
  238. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  239. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  240. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  241. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  242. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  243. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  244. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  245. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  246. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  247. package/dist/admin/preview/pages/Preview.js +180 -84
  248. package/dist/admin/preview/pages/Preview.js.map +1 -1
  249. package/dist/admin/preview/pages/Preview.mjs +182 -86
  250. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  251. package/dist/admin/preview/services/preview.js.map +1 -1
  252. package/dist/admin/preview/services/preview.mjs.map +1 -1
  253. package/dist/admin/preview/utils/constants.js +56 -0
  254. package/dist/admin/preview/utils/constants.js.map +1 -0
  255. package/dist/admin/preview/utils/constants.mjs +52 -0
  256. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  257. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  258. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  259. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  260. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  261. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  262. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  263. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  264. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  265. package/dist/admin/preview/utils/previewScript.js +534 -0
  266. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  267. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  268. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  269. package/dist/admin/router.js.map +1 -1
  270. package/dist/admin/router.mjs.map +1 -1
  271. package/dist/admin/services/api.js +5 -1
  272. package/dist/admin/services/api.js.map +1 -1
  273. package/dist/admin/services/api.mjs +5 -1
  274. package/dist/admin/services/api.mjs.map +1 -1
  275. package/dist/admin/services/documents.js +59 -17
  276. package/dist/admin/services/documents.js.map +1 -1
  277. package/dist/admin/services/documents.mjs +59 -17
  278. package/dist/admin/services/documents.mjs.map +1 -1
  279. package/dist/admin/services/homepage.js +30 -0
  280. package/dist/admin/services/homepage.js.map +1 -0
  281. package/dist/admin/services/homepage.mjs +28 -0
  282. package/dist/admin/services/homepage.mjs.map +1 -0
  283. package/dist/admin/services/relations.js.map +1 -1
  284. package/dist/admin/services/relations.mjs.map +1 -1
  285. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  286. package/dist/admin/src/components/LeftMenu.d.ts +3 -1
  287. package/dist/admin/src/components/Widgets.d.ts +8 -0
  288. package/dist/admin/src/content-manager.d.ts +0 -3
  289. package/dist/admin/src/exports.d.ts +1 -0
  290. package/dist/admin/src/features/DocumentRBAC.d.ts +1 -1
  291. package/dist/admin/src/history/pages/History.d.ts +1 -1
  292. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  293. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  294. package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
  295. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  296. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
  297. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +2 -0
  298. package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -1
  299. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +1 -1
  300. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +73 -7
  301. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +1 -0
  302. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  303. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -11
  304. package/dist/admin/src/pages/EditView/components/Header.d.ts +15 -0
  305. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +2 -2
  306. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  307. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  308. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  309. package/dist/admin/src/preview/pages/Preview.d.ts +14 -1
  310. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  311. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  312. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  313. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  314. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  315. package/dist/admin/src/services/api.d.ts +1 -1
  316. package/dist/admin/src/services/components.d.ts +2 -2
  317. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  318. package/dist/admin/src/services/documents.d.ts +23 -17
  319. package/dist/admin/src/services/homepage.d.ts +5 -0
  320. package/dist/admin/src/services/init.d.ts +1 -1
  321. package/dist/admin/src/services/relations.d.ts +2 -2
  322. package/dist/admin/src/services/uid.d.ts +3 -3
  323. package/dist/admin/src/utils/api.d.ts +1 -1
  324. package/dist/admin/src/utils/validation.d.ts +1 -0
  325. package/dist/admin/translations/en.json.js +15 -1
  326. package/dist/admin/translations/en.json.js.map +1 -1
  327. package/dist/admin/translations/en.json.mjs +15 -1
  328. package/dist/admin/translations/en.json.mjs.map +1 -1
  329. package/dist/admin/translations/es.json.js +6 -2
  330. package/dist/admin/translations/es.json.js.map +1 -1
  331. package/dist/admin/translations/es.json.mjs +6 -2
  332. package/dist/admin/translations/es.json.mjs.map +1 -1
  333. package/dist/admin/translations/fr.json.js +12 -3
  334. package/dist/admin/translations/fr.json.js.map +1 -1
  335. package/dist/admin/translations/fr.json.mjs +12 -3
  336. package/dist/admin/translations/fr.json.mjs.map +1 -1
  337. package/dist/admin/translations/ru.json.js +235 -226
  338. package/dist/admin/translations/ru.json.js.map +1 -1
  339. package/dist/admin/translations/ru.json.mjs +230 -226
  340. package/dist/admin/translations/ru.json.mjs.map +1 -1
  341. package/dist/admin/utils/api.js +1 -1
  342. package/dist/admin/utils/api.js.map +1 -1
  343. package/dist/admin/utils/api.mjs +1 -1
  344. package/dist/admin/utils/api.mjs.map +1 -1
  345. package/dist/admin/utils/translations.js.map +1 -1
  346. package/dist/admin/utils/translations.mjs.map +1 -1
  347. package/dist/admin/utils/urls.js.map +1 -1
  348. package/dist/admin/utils/urls.mjs.map +1 -1
  349. package/dist/admin/utils/users.js.map +1 -1
  350. package/dist/admin/utils/users.mjs.map +1 -1
  351. package/dist/admin/utils/validation.js +19 -7
  352. package/dist/admin/utils/validation.js.map +1 -1
  353. package/dist/admin/utils/validation.mjs +19 -7
  354. package/dist/admin/utils/validation.mjs.map +1 -1
  355. package/dist/server/controllers/collection-types.js +2 -1
  356. package/dist/server/controllers/collection-types.js.map +1 -1
  357. package/dist/server/controllers/collection-types.mjs +2 -1
  358. package/dist/server/controllers/collection-types.mjs.map +1 -1
  359. package/dist/server/controllers/content-types.js +11 -1
  360. package/dist/server/controllers/content-types.js.map +1 -1
  361. package/dist/server/controllers/content-types.mjs +11 -1
  362. package/dist/server/controllers/content-types.mjs.map +1 -1
  363. package/dist/server/controllers/index.js +3 -1
  364. package/dist/server/controllers/index.js.map +1 -1
  365. package/dist/server/controllers/index.mjs +3 -1
  366. package/dist/server/controllers/index.mjs.map +1 -1
  367. package/dist/server/controllers/relations.js +8 -6
  368. package/dist/server/controllers/relations.js.map +1 -1
  369. package/dist/server/controllers/relations.mjs +8 -6
  370. package/dist/server/controllers/relations.mjs.map +1 -1
  371. package/dist/server/controllers/single-types.js.map +1 -1
  372. package/dist/server/controllers/single-types.mjs.map +1 -1
  373. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  374. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  375. package/dist/server/controllers/validation/index.js +14 -2
  376. package/dist/server/controllers/validation/index.js.map +1 -1
  377. package/dist/server/controllers/validation/index.mjs +14 -2
  378. package/dist/server/controllers/validation/index.mjs.map +1 -1
  379. package/dist/server/history/services/lifecycles.js +23 -19
  380. package/dist/server/history/services/lifecycles.js.map +1 -1
  381. package/dist/server/history/services/lifecycles.mjs +23 -19
  382. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  383. package/dist/server/history/utils.js.map +1 -1
  384. package/dist/server/history/utils.mjs.map +1 -1
  385. package/dist/server/homepage/controllers/homepage.js +62 -0
  386. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  387. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  388. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  389. package/dist/server/homepage/controllers/index.js +10 -0
  390. package/dist/server/homepage/controllers/index.js.map +1 -0
  391. package/dist/server/homepage/controllers/index.mjs +8 -0
  392. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  393. package/dist/server/homepage/index.js +14 -0
  394. package/dist/server/homepage/index.js.map +1 -0
  395. package/dist/server/homepage/index.mjs +12 -0
  396. package/dist/server/homepage/index.mjs.map +1 -0
  397. package/dist/server/homepage/routes/homepage.js +36 -0
  398. package/dist/server/homepage/routes/homepage.js.map +1 -0
  399. package/dist/server/homepage/routes/homepage.mjs +34 -0
  400. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  401. package/dist/server/homepage/routes/index.js +13 -0
  402. package/dist/server/homepage/routes/index.js.map +1 -0
  403. package/dist/server/homepage/routes/index.mjs +11 -0
  404. package/dist/server/homepage/routes/index.mjs.map +1 -0
  405. package/dist/server/homepage/services/homepage.js +197 -0
  406. package/dist/server/homepage/services/homepage.js.map +1 -0
  407. package/dist/server/homepage/services/homepage.mjs +195 -0
  408. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  409. package/dist/server/homepage/services/index.js +10 -0
  410. package/dist/server/homepage/services/index.js.map +1 -0
  411. package/dist/server/homepage/services/index.mjs +8 -0
  412. package/dist/server/homepage/services/index.mjs.map +1 -0
  413. package/dist/server/middlewares/routing.js.map +1 -1
  414. package/dist/server/middlewares/routing.mjs.map +1 -1
  415. package/dist/server/preview/services/preview-config.js +11 -32
  416. package/dist/server/preview/services/preview-config.js.map +1 -1
  417. package/dist/server/preview/services/preview-config.mjs +12 -33
  418. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  419. package/dist/server/preview/services/preview.js +4 -1
  420. package/dist/server/preview/services/preview.js.map +1 -1
  421. package/dist/server/preview/services/preview.mjs +4 -1
  422. package/dist/server/preview/services/preview.mjs.map +1 -1
  423. package/dist/server/preview/utils.js.map +1 -1
  424. package/dist/server/preview/utils.mjs.map +1 -1
  425. package/dist/server/routes/index.js +3 -1
  426. package/dist/server/routes/index.js.map +1 -1
  427. package/dist/server/routes/index.mjs +3 -1
  428. package/dist/server/routes/index.mjs.map +1 -1
  429. package/dist/server/services/configuration.js.map +1 -1
  430. package/dist/server/services/configuration.mjs.map +1 -1
  431. package/dist/server/services/data-mapper.js +4 -1
  432. package/dist/server/services/data-mapper.js.map +1 -1
  433. package/dist/server/services/data-mapper.mjs +4 -1
  434. package/dist/server/services/data-mapper.mjs.map +1 -1
  435. package/dist/server/services/document-manager.js +8 -1
  436. package/dist/server/services/document-manager.js.map +1 -1
  437. package/dist/server/services/document-manager.mjs +8 -1
  438. package/dist/server/services/document-manager.mjs.map +1 -1
  439. package/dist/server/services/document-metadata.js +26 -2
  440. package/dist/server/services/document-metadata.js.map +1 -1
  441. package/dist/server/services/document-metadata.mjs +26 -2
  442. package/dist/server/services/document-metadata.mjs.map +1 -1
  443. package/dist/server/services/field-sizes.js.map +1 -1
  444. package/dist/server/services/field-sizes.mjs.map +1 -1
  445. package/dist/server/services/index.js +3 -1
  446. package/dist/server/services/index.js.map +1 -1
  447. package/dist/server/services/index.mjs +3 -1
  448. package/dist/server/services/index.mjs.map +1 -1
  449. package/dist/server/services/uid.js.map +1 -1
  450. package/dist/server/services/uid.mjs.map +1 -1
  451. package/dist/server/services/utils/configuration/attributes.js +1 -1
  452. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  453. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  454. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  455. package/dist/server/services/utils/configuration/layouts.js +1 -1
  456. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  457. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  458. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  459. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  460. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  461. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  462. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  463. package/dist/server/services/utils/populate.js +11 -0
  464. package/dist/server/services/utils/populate.js.map +1 -1
  465. package/dist/server/services/utils/populate.mjs +11 -0
  466. package/dist/server/services/utils/populate.mjs.map +1 -1
  467. package/dist/server/services/utils/store.js.map +1 -1
  468. package/dist/server/services/utils/store.mjs.map +1 -1
  469. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  470. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  471. package/dist/server/src/controllers/index.d.ts.map +1 -1
  472. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  473. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  474. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  475. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  476. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  477. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  478. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  479. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  480. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  481. package/dist/server/src/homepage/index.d.ts +23 -0
  482. package/dist/server/src/homepage/index.d.ts.map +1 -0
  483. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  484. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  485. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  486. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  487. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  488. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  489. package/dist/server/src/homepage/services/index.d.ts +16 -0
  490. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  491. package/dist/server/src/index.d.ts +15 -0
  492. package/dist/server/src/index.d.ts.map +1 -1
  493. package/dist/server/src/preview/services/index.d.ts +1 -0
  494. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  495. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  496. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  497. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  498. package/dist/server/src/preview/utils.d.ts +1 -0
  499. package/dist/server/src/preview/utils.d.ts.map +1 -1
  500. package/dist/server/src/routes/index.d.ts +1 -0
  501. package/dist/server/src/routes/index.d.ts.map +1 -1
  502. package/dist/server/src/services/data-mapper.d.ts +1 -0
  503. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  504. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  505. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  506. package/dist/server/src/services/index.d.ts +14 -0
  507. package/dist/server/src/services/index.d.ts.map +1 -1
  508. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  509. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  510. package/dist/shared/contracts/collection-types.d.ts +0 -1
  511. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  512. package/dist/shared/contracts/homepage.d.ts +38 -0
  513. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  514. package/package.json +12 -10
  515. package/dist/admin/features/DocumentContext.js +0 -71
  516. package/dist/admin/features/DocumentContext.js.map +0 -1
  517. package/dist/admin/features/DocumentContext.mjs +0 -49
  518. package/dist/admin/features/DocumentContext.mjs.map +0 -1
  519. package/dist/admin/src/features/DocumentContext.d.ts +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"WysiwygNav.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Button,\n Flex,\n IconButton,\n IconButtonGroup,\n SingleSelectOption,\n SingleSelect,\n Field,\n Menu,\n} from '@strapi/design-system';\nimport {\n Bold,\n BulletList,\n Code,\n Italic,\n Link,\n NumberList,\n Image,\n Quotes,\n StrikeThrough,\n Underline,\n HeadingOne,\n HeadingTwo,\n HeadingThree,\n HeadingFour,\n HeadingFive,\n HeadingSix,\n} from '@strapi/icons';\nimport { EditorFromTextArea } from 'codemirror5';\nimport { useIntl } from 'react-intl';\n\nimport { EditorToolbarObserver, type ObservedComponent } from '../../EditorToolbarObserver';\n\nimport { listHandler, markdownHandler, quoteAndCodeHandler, titleHandler } from './utils/utils';\n\ninterface WysiwygNavProps {\n disabled?: boolean;\n editorRef: React.MutableRefObject<EditorFromTextArea>;\n isExpandMode?: boolean;\n isPreviewMode?: boolean;\n onToggleMediaLib: () => void;\n onTogglePreviewMode?: () => void;\n}\n\n/**\n * TODO: refactor this mess.\n */\nconst WysiwygNav = ({\n disabled,\n editorRef,\n isPreviewMode,\n onToggleMediaLib,\n onTogglePreviewMode,\n}: WysiwygNavProps) => {\n const { formatMessage } = useIntl();\n const isDisabled = disabled || isPreviewMode;\n\n const handleActionClick = (\n value: string,\n currentEditorRef: React.MutableRefObject<EditorFromTextArea>\n ) => {\n switch (value) {\n case 'Link': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'Code':\n case 'Quote': {\n quoteAndCodeHandler(currentEditorRef, value);\n break;\n }\n case 'Bold':\n case 'Italic':\n case 'Underline':\n case 'Strikethrough': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'BulletList':\n case 'NumberList': {\n listHandler(currentEditorRef, value);\n break;\n }\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6': {\n titleHandler(currentEditorRef, value);\n break;\n }\n default: {\n // Nothing\n }\n }\n };\n\n const observedComponents: ObservedComponent[] = [\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Bold', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n >\n <Bold />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Italic', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n >\n <Italic />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Underline', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n >\n <Underline />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Strikethrough', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n >\n <StrikeThrough />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item onSelect={() => handleActionClick('Bold', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Bold aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={() => handleActionClick('Italic', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Italic aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('Underline', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Underline aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('Strikethrough', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <StrikeThrough aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-1',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('BulletList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n >\n <BulletList />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('NumberList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n >\n <NumberList />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n onSelect={() => handleActionClick('BulletList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <BulletList aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.unorderedList',\n defaultMessage: 'Bulleted list',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('NumberList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <NumberList aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.orderedList',\n defaultMessage: 'Numbered list',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-2',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Code', editorRef)}\n label={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n name={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n >\n <Code />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => {\n onToggleMediaLib();\n }}\n label={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n >\n <Image />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Link', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n name={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n >\n <Link />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Quote', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n >\n <Quotes />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item onSelect={() => handleActionClick('Code', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Code aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Image />}\n onSelect={() => {\n onToggleMediaLib();\n }}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Image aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Link />}\n onSelect={() => handleActionClick('Link', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Link aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={() => handleActionClick('Quote', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Quotes aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-3',\n },\n ];\n\n return (\n <Flex\n padding={2}\n background=\"neutral100\"\n justifyContent=\"space-between\"\n borderRadius=\"0.4rem 0.4rem 0 0\"\n width=\"100%\"\n gap={4}\n >\n <Field.Root>\n <SingleSelect\n disabled={isDisabled}\n placeholder={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n aria-label={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n // @ts-expect-error – DS v2 will only allow strings.\n onChange={(value) => handleActionClick(value, editorRef)}\n size=\"S\"\n >\n <SingleSelectOption value=\"h1\" startIcon={<HeadingOne fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H1',\n defaultMessage: 'Heading 1',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h2\" startIcon={<HeadingTwo fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H2',\n defaultMessage: 'Heading 2',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h3\" startIcon={<HeadingThree fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H3',\n defaultMessage: 'Heading 3',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h4\" startIcon={<HeadingFour fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H4',\n defaultMessage: 'Heading 4',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h5\" startIcon={<HeadingFive fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H5',\n defaultMessage: 'Heading 5',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h6\" startIcon={<HeadingSix fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H6',\n defaultMessage: 'Heading 6',\n })}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n <Flex width=\"100%\" justifyContent=\"space-between\" overflow=\"hidden\">\n <Flex gap={2} overflow=\"hidden\" width=\"100%\">\n <EditorToolbarObserver\n menuTriggerVariant=\"tertiary\"\n observedComponents={observedComponents}\n />\n </Flex>\n\n {onTogglePreviewMode && (\n <Button onClick={onTogglePreviewMode} variant=\"tertiary\" minWidth=\"132px\">\n {isPreviewMode\n ? formatMessage({\n id: 'components.Wysiwyg.ToggleMode.markdown-mode',\n defaultMessage: 'Markdown mode',\n })\n : formatMessage({\n id: 'components.Wysiwyg.ToggleMode.preview-mode',\n defaultMessage: 'Preview mode',\n })}\n </Button>\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport { WysiwygNav };\nexport type { WysiwygNavProps };\n"],"names":["WysiwygNav","disabled","editorRef","isPreviewMode","onToggleMediaLib","onTogglePreviewMode","formatMessage","useIntl","isDisabled","handleActionClick","value","currentEditorRef","markdownHandler","quoteAndCodeHandler","listHandler","titleHandler","observedComponents","toolbar","_jsxs","IconButtonGroup","_jsx","IconButton","onClick","label","id","defaultMessage","name","Bold","Italic","Underline","StrikeThrough","menu","_Fragment","Menu","Separator","Item","onSelect","Flex","tag","gap","aria-hidden","fill","key","BulletList","NumberList","Code","Image","Link","Quotes","startIcon","padding","background","justifyContent","borderRadius","width","Field","Root","SingleSelect","placeholder","aria-label","onChange","size","SingleSelectOption","HeadingOne","HeadingTwo","HeadingThree","HeadingFour","HeadingFive","HeadingSix","overflow","EditorToolbarObserver","menuTriggerVariant","Button","variant","minWidth"],"mappings":"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"}
1
+ {"version":3,"file":"WysiwygNav.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Button,\n Flex,\n IconButton,\n IconButtonGroup,\n SingleSelectOption,\n SingleSelect,\n Field,\n Menu,\n} from '@strapi/design-system';\nimport {\n Bold,\n BulletList,\n Code,\n Italic,\n Link,\n NumberList,\n Image,\n Quotes,\n StrikeThrough,\n Underline,\n HeadingOne,\n HeadingTwo,\n HeadingThree,\n HeadingFour,\n HeadingFive,\n HeadingSix,\n} from '@strapi/icons';\nimport { EditorFromTextArea } from 'codemirror5';\nimport { useIntl } from 'react-intl';\n\nimport { EditorToolbarObserver, type ObservedComponent } from '../../EditorToolbarObserver';\n\nimport { listHandler, markdownHandler, quoteAndCodeHandler, titleHandler } from './utils/utils';\n\ninterface WysiwygNavProps {\n disabled?: boolean;\n editorRef: React.MutableRefObject<EditorFromTextArea>;\n isExpandMode?: boolean;\n isPreviewMode?: boolean;\n onToggleMediaLib: () => void;\n onTogglePreviewMode?: () => void;\n}\n\n/**\n * TODO: refactor this mess.\n */\nconst WysiwygNav = ({\n disabled,\n editorRef,\n isPreviewMode,\n onToggleMediaLib,\n onTogglePreviewMode,\n}: WysiwygNavProps) => {\n const { formatMessage } = useIntl();\n const isDisabled = disabled || isPreviewMode;\n\n const handleActionClick = (\n value: string,\n currentEditorRef: React.MutableRefObject<EditorFromTextArea>\n ) => {\n switch (value) {\n case 'Link': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'Code':\n case 'Quote': {\n quoteAndCodeHandler(currentEditorRef, value);\n break;\n }\n case 'Bold':\n case 'Italic':\n case 'Underline':\n case 'Strikethrough': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'BulletList':\n case 'NumberList': {\n listHandler(currentEditorRef, value);\n break;\n }\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6': {\n titleHandler(currentEditorRef, value);\n break;\n }\n default: {\n // Nothing\n }\n }\n };\n\n const observedComponents: ObservedComponent[] = [\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Bold', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n >\n <Bold />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Italic', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n >\n <Italic />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Underline', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n >\n <Underline />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Strikethrough', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n >\n <StrikeThrough />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<Bold fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Bold', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Italic fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Italic', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Underline fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Underline', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<StrikeThrough fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Strikethrough', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-1',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('BulletList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n >\n <BulletList />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('NumberList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n >\n <NumberList />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<BulletList fill=\"neutral500\" />}\n onSelect={() => handleActionClick('BulletList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.unorderedList',\n defaultMessage: 'Bulleted list',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<NumberList fill=\"neutral500\" />}\n onSelect={() => handleActionClick('NumberList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.orderedList',\n defaultMessage: 'Numbered list',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-2',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Code', editorRef)}\n label={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n name={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n >\n <Code />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => {\n onToggleMediaLib();\n }}\n label={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n >\n <Image />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Link', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n name={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n >\n <Link />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Quote', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n >\n <Quotes />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<Code fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Code', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Image fill=\"neutral500\" />}\n onSelect={() => {\n onToggleMediaLib();\n }}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Link fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Link', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Quotes fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Quote', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-3',\n },\n ];\n\n return (\n <Flex\n padding={2}\n background=\"neutral100\"\n justifyContent=\"space-between\"\n borderRadius=\"0.4rem 0.4rem 0 0\"\n width=\"100%\"\n gap={4}\n >\n <Field.Root>\n <SingleSelect\n disabled={isDisabled}\n placeholder={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n aria-label={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n // @ts-expect-error – DS v2 will only allow strings.\n onChange={(value) => handleActionClick(value, editorRef)}\n size=\"S\"\n >\n <SingleSelectOption value=\"h1\" startIcon={<HeadingOne fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H1',\n defaultMessage: 'Heading 1',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h2\" startIcon={<HeadingTwo fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H2',\n defaultMessage: 'Heading 2',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h3\" startIcon={<HeadingThree fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H3',\n defaultMessage: 'Heading 3',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h4\" startIcon={<HeadingFour fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H4',\n defaultMessage: 'Heading 4',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h5\" startIcon={<HeadingFive fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H5',\n defaultMessage: 'Heading 5',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h6\" startIcon={<HeadingSix fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H6',\n defaultMessage: 'Heading 6',\n })}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n <Flex width=\"100%\" justifyContent=\"space-between\" overflow=\"hidden\">\n <Flex gap={2} overflow=\"hidden\" width=\"100%\">\n <EditorToolbarObserver\n menuTriggerVariant=\"tertiary\"\n observedComponents={observedComponents}\n />\n </Flex>\n\n {onTogglePreviewMode && (\n <Button onClick={onTogglePreviewMode} variant=\"tertiary\" minWidth=\"132px\">\n {isPreviewMode\n ? formatMessage({\n id: 'components.Wysiwyg.ToggleMode.markdown-mode',\n defaultMessage: 'Markdown mode',\n })\n : formatMessage({\n id: 'components.Wysiwyg.ToggleMode.preview-mode',\n defaultMessage: 'Preview mode',\n })}\n </Button>\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport { WysiwygNav };\nexport type { WysiwygNavProps };\n"],"names":["WysiwygNav","disabled","editorRef","isPreviewMode","onToggleMediaLib","onTogglePreviewMode","formatMessage","useIntl","isDisabled","handleActionClick","value","currentEditorRef","markdownHandler","quoteAndCodeHandler","listHandler","titleHandler","observedComponents","toolbar","_jsxs","IconButtonGroup","_jsx","IconButton","onClick","label","id","defaultMessage","name","Bold","Italic","Underline","StrikeThrough","menu","_Fragment","Menu","Separator","Item","startIcon","fill","onSelect","Flex","tag","gap","key","BulletList","NumberList","Code","Image","Link","Quotes","padding","background","justifyContent","borderRadius","width","Field","Root","SingleSelect","placeholder","aria-label","onChange","size","SingleSelectOption","HeadingOne","HeadingTwo","HeadingThree","HeadingFour","HeadingFive","HeadingSix","overflow","EditorToolbarObserver","menuTriggerVariant","Button","variant","minWidth"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WysiwygStyles.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.tsx"],"sourcesContent":["import { Button, IconButton, IconButtonComponent, IconButtonGroup } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\n// NAV BUTTONS\nexport const MainButtons = styled(IconButtonGroup)`\n margin-left: ${({ theme }) => theme.spaces[4]};\n`;\n\nexport const MoreButton = styled<IconButtonComponent>(IconButton)`\n margin: ${({ theme }) => `0 ${theme.spaces[2]}`};\n`;\n\n// NAV\n\nexport const IconButtonGroupMargin = styled(IconButtonGroup)`\n margin-right: ${({ theme }) => `${theme.spaces[2]}`};\n`;\n\n// FOOTER\nexport const ExpandButton = styled(Button)`\n background-color: transparent;\n border: none;\n align-items: center;\n\n & > span {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n }\n\n svg {\n margin-left: ${({ theme }) => `${theme.spaces[2]}`};\n path {\n fill: ${({ theme }) => theme.colors.neutral700};\n width: 1.2rem;\n height: 1.2rem;\n }\n }\n`;\n"],"names":["styled","IconButtonGroup","theme","spaces","IconButton","ExpandButton","Button","fontWeights","regular","colors","neutral700"],"mappings":";;;;;AAGA;AAC2BA,uBAAOC,CAAAA,4BAAAA,CAAgB;eACnC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;AAChD;AAE0BH,uBAA4BI,CAAAA,uBAAAA,CAAW;AACvD,UAAA,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAK,CAAC,EAAE,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;AAClD;AAEA;AAEqCH,uBAAOC,CAAAA,4BAAAA,CAAgB;AAC5C,gBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,CAAC,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;AACtD;AAEA;AACaE,MAAAA,YAAAA,GAAeL,uBAAOM,CAAAA,mBAAAA,CAAO;;;;;;;;;;iBAUzB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,WAAW,CAACC,OAAO,CAAC;;;;AAI3C,iBAAA,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAK,CAAC,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;;YAE3C,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAMO,CAAAA,MAAM,CAACC,UAAU,CAAC;;;;;AAKrD;;;;"}
1
+ {"version":3,"file":"WysiwygStyles.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.tsx"],"sourcesContent":["import { Button, IconButton, IconButtonComponent, IconButtonGroup } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\n// NAV BUTTONS\nexport const MainButtons = styled(IconButtonGroup)`\n margin-left: ${({ theme }) => theme.spaces[4]};\n`;\n\nexport const MoreButton = styled<IconButtonComponent>(IconButton)`\n margin: ${({ theme }) => `0 ${theme.spaces[2]}`};\n`;\n\n// NAV\n\nexport const IconButtonGroupMargin = styled(IconButtonGroup)`\n margin-right: ${({ theme }) => `${theme.spaces[2]}`};\n`;\n\n// FOOTER\nexport const ExpandButton = styled(Button)`\n background-color: transparent;\n border: none;\n align-items: center;\n\n & > span {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n }\n\n svg {\n margin-left: ${({ theme }) => `${theme.spaces[2]}`};\n path {\n fill: ${({ theme }) => theme.colors.neutral700};\n width: 1.2rem;\n height: 1.2rem;\n }\n }\n`;\n"],"names":["styled","IconButtonGroup","theme","spaces","IconButton","ExpandButton","Button","fontWeights","regular","colors","neutral700"],"mappings":";;;;;AAGA;AAC2BA,uBAAOC,CAAAA,4BAAAA,CAAgB;eACnC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;AAChD;AAE0BH,uBAA4BI,CAAAA,uBAAAA,CAAW;AACvD,UAAA,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAK,CAAC,EAAE,EAAEA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,EAAE,CAAC;AAClD;AAEA;AAEqCH,uBAAOC,CAAAA,4BAAAA,CAAgB;gBAC5C,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,CAAGA,EAAAA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAA,CAAE,CAAC;AACtD;AAEA;AACaE,MAAAA,YAAAA,GAAeL,uBAAOM,CAAAA,mBAAAA,CAAO;;;;;;;;;;iBAUzB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,WAAW,CAACC,OAAO,CAAC;;;;iBAI3C,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAK,CAAGA,EAAAA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAA,CAAE,CAAC;;YAE3C,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAMO,CAAAA,MAAM,CAACC,UAAU,CAAC;;;;;AAKrD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WysiwygStyles.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.tsx"],"sourcesContent":["import { Button, IconButton, IconButtonComponent, IconButtonGroup } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\n// NAV BUTTONS\nexport const MainButtons = styled(IconButtonGroup)`\n margin-left: ${({ theme }) => theme.spaces[4]};\n`;\n\nexport const MoreButton = styled<IconButtonComponent>(IconButton)`\n margin: ${({ theme }) => `0 ${theme.spaces[2]}`};\n`;\n\n// NAV\n\nexport const IconButtonGroupMargin = styled(IconButtonGroup)`\n margin-right: ${({ theme }) => `${theme.spaces[2]}`};\n`;\n\n// FOOTER\nexport const ExpandButton = styled(Button)`\n background-color: transparent;\n border: none;\n align-items: center;\n\n & > span {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n }\n\n svg {\n margin-left: ${({ theme }) => `${theme.spaces[2]}`};\n path {\n fill: ${({ theme }) => theme.colors.neutral700};\n width: 1.2rem;\n height: 1.2rem;\n }\n }\n`;\n"],"names":["styled","IconButtonGroup","theme","spaces","IconButton","ExpandButton","Button","fontWeights","regular","colors","neutral700"],"mappings":";;;AAGA;AAC2BA,MAAOC,CAAAA,eAAAA,CAAgB;eACnC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;AAChD;AAE0BH,MAA4BI,CAAAA,UAAAA,CAAW;AACvD,UAAA,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAK,CAAC,EAAE,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;AAClD;AAEA;AAEqCH,MAAOC,CAAAA,eAAAA,CAAgB;AAC5C,gBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,CAAC,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;AACtD;AAEA;AACaE,MAAAA,YAAAA,GAAeL,MAAOM,CAAAA,MAAAA,CAAO;;;;;;;;;;iBAUzB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,WAAW,CAACC,OAAO,CAAC;;;;AAI3C,iBAAA,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAK,CAAC,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;;YAE3C,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAMO,CAAAA,MAAM,CAACC,UAAU,CAAC;;;;;AAKrD;;;;"}
1
+ {"version":3,"file":"WysiwygStyles.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.tsx"],"sourcesContent":["import { Button, IconButton, IconButtonComponent, IconButtonGroup } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\n// NAV BUTTONS\nexport const MainButtons = styled(IconButtonGroup)`\n margin-left: ${({ theme }) => theme.spaces[4]};\n`;\n\nexport const MoreButton = styled<IconButtonComponent>(IconButton)`\n margin: ${({ theme }) => `0 ${theme.spaces[2]}`};\n`;\n\n// NAV\n\nexport const IconButtonGroupMargin = styled(IconButtonGroup)`\n margin-right: ${({ theme }) => `${theme.spaces[2]}`};\n`;\n\n// FOOTER\nexport const ExpandButton = styled(Button)`\n background-color: transparent;\n border: none;\n align-items: center;\n\n & > span {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n }\n\n svg {\n margin-left: ${({ theme }) => `${theme.spaces[2]}`};\n path {\n fill: ${({ theme }) => theme.colors.neutral700};\n width: 1.2rem;\n height: 1.2rem;\n }\n }\n`;\n"],"names":["styled","IconButtonGroup","theme","spaces","IconButton","ExpandButton","Button","fontWeights","regular","colors","neutral700"],"mappings":";;;AAGA;AAC2BA,MAAOC,CAAAA,eAAAA,CAAgB;eACnC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;AAChD;AAE0BH,MAA4BI,CAAAA,UAAAA,CAAW;AACvD,UAAA,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAK,CAAC,EAAE,EAAEA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,EAAE,CAAC;AAClD;AAEA;AAEqCH,MAAOC,CAAAA,eAAAA,CAAgB;gBAC5C,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,CAAGA,EAAAA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAA,CAAE,CAAC;AACtD;AAEA;AACaE,MAAAA,YAAAA,GAAeL,MAAOM,CAAAA,MAAAA,CAAO;;;;;;;;;;iBAUzB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,WAAW,CAACC,OAAO,CAAC;;;;iBAI3C,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAK,CAAGA,EAAAA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAA,CAAE,CAAC;;YAE3C,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAMO,CAAAA,MAAM,CAACC,UAAU,CAAC;;;;;AAKrD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort();\n\n // Remove if the first text starts with it\n if (remove == null) {\n remove = doc.getLine(pos[0]).startsWith(insertion);\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if we don't start with it\n if (doc.getLine(i).startsWith(insertion)) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(`![${file.alt}](${file.url})`);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","getLine","startsWith","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort();\n\n // Remove if the first text starts with it\n if (remove == null) {\n remove = doc.getLine(pos[0]).startsWith(insertion);\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if we don't start with it\n if (doc.getLine(i).startsWith(insertion)) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(`![${file.alt}](${file.url})`);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","getLine","startsWith","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort();\n\n // Remove if the first text starts with it\n if (remove == null) {\n remove = doc.getLine(pos[0]).startsWith(insertion);\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if we don't start with it\n if (doc.getLine(i).startsWith(insertion)) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(`![${file.alt}](${file.url})`);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","getLine","startsWith","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nimport CodeMirror from 'codemirror5';\n\nexport const replaceText = (markdownName: string, textToChange: string) => {\n let editedText;\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${textToChange}~~`;\n break;\n case 'Bold':\n editedText = `**${textToChange}**`;\n break;\n case 'Italic':\n editedText = `_${textToChange}_`;\n break;\n case 'Underline':\n editedText = `<u>${textToChange}</u>`;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${textToChange}\\n\\`\\`\\``;\n break;\n case 'Link':\n editedText = `[${textToChange}](link)`;\n break;\n case 'Quote':\n editedText = `>${textToChange}`;\n break;\n default:\n editedText = textToChange;\n }\n\n return editedText;\n};\n\nexport const insertText = (markdownName: string) => {\n let editedText;\n // object to calculate text that will be selected after insert of markdown\n const selection = { start: markdownName.length, end: 0 };\n\n switch (markdownName) {\n case 'Strikethrough':\n editedText = `~~${markdownName}~~`;\n selection.end = 2;\n break;\n case 'Bold':\n editedText = `**${markdownName}**`;\n selection.end = 2;\n break;\n case 'Italic':\n editedText = `_${markdownName}_`;\n selection.end = 1;\n break;\n case 'alt':\n editedText = `[${markdownName}]()`;\n selection.end = 3;\n break;\n case 'Underline':\n editedText = `<u>${markdownName}</u>`;\n selection.end = 4;\n break;\n case 'Code':\n editedText = `\\`\\`\\`\\n${markdownName}\\n\\`\\`\\``;\n selection.end = 3;\n break;\n case 'Link':\n editedText = `[${markdownName}](link)`;\n selection.end = 7;\n break;\n case 'Quote':\n editedText = `>${markdownName}`;\n selection.end = 0;\n break;\n default:\n editedText = '';\n }\n\n return { editedText, selection };\n};\n\nexport const insertListOrTitle = (markdown: string) => {\n let textToInsert;\n\n switch (markdown) {\n case 'BulletList':\n textToInsert = '- ';\n break;\n case 'NumberList':\n textToInsert = '1. ';\n break;\n case 'h1':\n textToInsert = '# ';\n break;\n case 'h2':\n textToInsert = '## ';\n break;\n case 'h3':\n textToInsert = '### ';\n break;\n case 'h4':\n textToInsert = '#### ';\n break;\n case 'h5':\n textToInsert = '##### ';\n break;\n case 'h6':\n textToInsert = '###### ';\n break;\n default:\n return '';\n }\n\n return textToInsert;\n};\n\n// EDITOR ACTIONS FUNCTIONS\n\nexport const markdownHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n let textToInsert;\n\n if (textToEdit) {\n const editedText = replaceText(markdownType, textToEdit);\n editor.current.replaceSelection(editedText);\n editor.current.focus();\n } else {\n textToInsert = insertText(markdownType);\n editor.current.replaceSelection(textToInsert.editedText);\n editor.current.focus();\n // set selection-focus to text to replace with content\n const { line, ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n};\n\nexport const listHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n listType: string\n) => {\n const doc = editor.current.getDoc();\n const insertion = listType === 'BulletList' ? '- ' : '1. ';\n\n if (doc.somethingSelected()) {\n const selections = doc.listSelections();\n let remove: boolean | null = null;\n\n editor.current.operation(function () {\n selections.forEach(function (selection) {\n const pos = [selection.head.line, selection.anchor.line].sort();\n\n // Remove if the first text starts with it\n if (remove == null) {\n remove = doc.getLine(pos[0]).startsWith(insertion);\n }\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n if (remove) {\n // Don't remove if we don't start with it\n if (doc.getLine(i).startsWith(insertion)) {\n doc.replaceRange('', { line: i, ch: 0 }, { line: i, ch: insertion.length });\n }\n } else {\n const lineInsertion = listType === 'BulletList' ? '- ' : `${i + 1}. `;\n doc.replaceRange(lineInsertion, { line: i, ch: 0 });\n }\n }\n });\n });\n } else {\n const { line: currentLine } = doc.getCursor();\n const listToInsert = insertListOrTitle(listType);\n const lineContent = editor.current.getLine(currentLine);\n\n const textToInsert = listToInsert + lineContent;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n }\n\n editor.current.focus();\n};\n\nexport const titleHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n titleType: string\n) => {\n const { line: currentLine } = editor.current.getCursor();\n const titleToInsert = insertListOrTitle(titleType);\n const lineContent = editor.current.getLine(currentLine);\n\n // replace hashtags followed by a space in case user want to change the type of title\n const lineWithNoTitle = lineContent.replace(/#{1,6}\\s/g, '').trim();\n\n const textToInsert = titleToInsert + lineWithNoTitle;\n editor.current.setSelection(\n { line: currentLine, ch: 0 },\n { line: currentLine, ch: lineContent.length }\n );\n editor.current.replaceSelection(textToInsert);\n\n setTimeout(() => {\n const newLastLineLength = editor.current.getLine(currentLine).length;\n editor.current.focus();\n editor.current.setCursor({ line: currentLine, ch: newLastLineLength });\n }, 0);\n};\n\nexport const insertFile = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n files: any[]\n) => {\n let { line } = editor.current.getCursor();\n const { ch } = editor.current.getCursor();\n\n files.forEach((file, i) => {\n let contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n // create a new line after first image markdown inserted\n // or if there is content in current line\n\n if (i > 0 || (i === 0 && ch !== 0)) {\n contentLength = editor.current.getLine(line).length;\n editor.current.setCursor({ line, ch: contentLength });\n line++;\n editor.current.replaceSelection('\\n');\n }\n\n if (file.mime.includes('image')) {\n editor.current.replaceSelection(`![${file.alt}](${file.url})`);\n } else {\n editor.current.replaceSelection(`[${file.alt}](${file.url})`);\n }\n });\n\n setTimeout(() => editor.current.focus(), 0);\n};\n\n// NEXT FUNCTIONS FOR QUOTE OR CODE MARKDOWN\n\nconst insertWithTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number,\n textToEdit: string\n) => {\n const textToInsert = replaceText(markdownType, textToEdit);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // remove word that was selected\n // set cursor end of line + move to next line\n // add text to insert\n editor.current.replaceSelection('');\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert);\n\n if (markdownType === 'Code') {\n const { line: newLine } = editor.current.getCursor();\n editor.current.setCursor({ line: newLine - 1, ch: textToEdit.length });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 4, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n\n editor.current.focus();\n};\n\nconst insertWithoutTextToEdit = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string,\n line: number,\n contentLength: number\n) => {\n const textToInsert = insertText(markdownType);\n\n // remove content after current line\n const contentToMove = editor.current.getRange(\n { line: line + 1, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.replaceRange('', { line: line + 1, ch: 0 }, { line: Infinity, ch: Infinity });\n\n // replace cursor to next line\n editor.current.setCursor({ line, ch: contentLength });\n editor.current.replaceSelection('\\n');\n editor.current.replaceSelection(textToInsert.editedText);\n\n // set selection on \"Code\" or \"Quote\" word\n\n if (markdownType === 'Code') {\n line += 2;\n\n editor.current.setSelection({ line, ch: 0 }, { line, ch: 4 });\n } else {\n line += 1;\n\n const { ch } = editor.current.getCursor();\n const endSelection = ch - textToInsert.selection.end;\n const startSelection = ch - textToInsert.selection.end - textToInsert.selection.start;\n editor.current.setSelection({ line, ch: startSelection }, { line, ch: endSelection });\n }\n\n // add content we had to remove earlier\n editor.current.replaceRange(\n contentToMove,\n { line: line + 2, ch: 0 },\n { line: Infinity, ch: Infinity }\n );\n editor.current.focus();\n};\n\nexport const quoteAndCodeHandler = (\n editor: MutableRefObject<CodeMirror.EditorFromTextArea>,\n markdownType: string\n) => {\n const textToEdit = editor.current.getSelection();\n const { line } = editor.current.getCursor();\n const contentLength = editor.current.getLine(line).length;\n\n if (textToEdit) {\n insertWithTextToEdit(editor, markdownType, line, contentLength, textToEdit);\n } else {\n insertWithoutTextToEdit(editor, markdownType, line, contentLength);\n }\n};\n"],"names":["replaceText","markdownName","textToChange","editedText","insertText","selection","start","length","end","insertListOrTitle","markdown","textToInsert","markdownHandler","editor","markdownType","textToEdit","current","getSelection","replaceSelection","focus","line","ch","getCursor","endSelection","startSelection","setSelection","listHandler","listType","doc","getDoc","insertion","somethingSelected","selections","listSelections","remove","operation","forEach","pos","head","anchor","sort","getLine","startsWith","i","replaceRange","lineInsertion","currentLine","listToInsert","lineContent","titleHandler","titleType","titleToInsert","lineWithNoTitle","replace","trim","setTimeout","newLastLineLength","setCursor","insertFile","files","file","contentLength","mime","includes","alt","url","insertWithTextToEdit","contentToMove","getRange","Infinity","newLine","insertWithoutTextToEdit","quoteAndCodeHandler"],"mappings":"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"}
@@ -1,14 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
4
6
  var designSystem = require('@strapi/design-system');
5
7
  var reactIntl = require('react-intl');
6
8
  var styledComponents = require('styled-components');
7
9
  var InputRenderer = require('./InputRenderer.js');
8
10
 
9
- const RESPONSIVE_CONTAINER_BREAKPOINTS = {
10
- sm: '27.5rem'
11
- };
12
11
  const ResponsiveGridRoot = styledComponents.styled(designSystem.Grid.Root)`
13
12
  container-type: inline-size;
14
13
  `;
@@ -19,30 +18,52 @@ const ResponsiveGridItem = /**
19
18
  * for failing to parse the stylesheet.
20
19
  */ process.env.NODE_ENV !== 'test' ? styledComponents.styled(designSystem.Grid.Item)`
21
20
  grid-column: span 12;
22
- @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {
21
+ ${({ theme })=>theme.breakpoints.medium} {
23
22
  ${({ col })=>col && `grid-column: span ${col};`}
24
23
  }
25
24
  ` : styledComponents.styled(designSystem.Grid.Item)`
26
25
  grid-column: span 12;
27
26
  `;
27
+ const panelStyles = {
28
+ padding: {
29
+ initial: 4,
30
+ medium: 6
31
+ },
32
+ borderColor: 'neutral150',
33
+ background: 'neutral0',
34
+ hasRadius: true,
35
+ shadow: 'tableShadow'
36
+ };
28
37
  const FormLayout = ({ layout, document, hasBackground = true })=>{
29
38
  const { formatMessage } = reactIntl.useIntl();
30
- const model = document.schema?.modelName;
39
+ const modelUid = document.schema?.uid;
40
+ const fieldValues = strapiAdmin.useForm('Fields', (state)=>state.values);
41
+ const rulesEngine = strapiAdmin.createRulesEngine();
42
+ const getLabel = (name, label)=>{
43
+ return formatMessage({
44
+ id: `content-manager.content-types.${modelUid}.${name}`,
45
+ defaultMessage: label
46
+ });
47
+ };
31
48
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
32
49
  direction: "column",
33
50
  alignItems: "stretch",
34
- gap: 6,
51
+ gap: {
52
+ initial: 4,
53
+ large: 6
54
+ },
35
55
  children: layout.map((panel, index)=>{
36
56
  if (panel.some((row)=>row.some((field)=>field.type === 'dynamiczone'))) {
37
57
  const [row] = panel;
38
58
  const [field] = row;
39
- const fieldWithTranslatedLabel = {
40
- ...field,
41
- label: formatMessage({
42
- id: `content-manager.content-types.${model}.${field.name}`,
43
- defaultMessage: field.label
44
- })
45
- };
59
+ const attribute = document.schema?.attributes[field.name];
60
+ const condition = attribute?.conditions?.visible;
61
+ if (condition) {
62
+ const isVisible = rulesEngine.evaluate(condition, fieldValues);
63
+ if (!isVisible) {
64
+ return null; // Skip rendering the dynamic zone if the condition is not met
65
+ }
66
+ }
46
67
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
47
68
  gap: 4,
48
69
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
@@ -52,34 +73,37 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
52
73
  direction: "column",
53
74
  alignItems: "stretch",
54
75
  children: /*#__PURE__*/ jsxRuntime.jsx(InputRenderer.InputRenderer, {
55
- ...fieldWithTranslatedLabel,
76
+ ...field,
77
+ label: getLabel(field.name, field.label),
56
78
  document: document
57
79
  })
58
80
  })
59
81
  }, field.name);
60
82
  }
61
83
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
62
- ...hasBackground && {
63
- padding: 6,
64
- borderColor: 'neutral150',
65
- background: 'neutral0',
66
- hasRadius: true,
67
- shadow: 'tableShadow'
68
- },
84
+ ...hasBackground && panelStyles,
69
85
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
70
86
  direction: "column",
71
87
  alignItems: "stretch",
72
- gap: 6,
73
- children: panel.map((row, gridRowIndex)=>/*#__PURE__*/ jsxRuntime.jsx(ResponsiveGridRoot, {
88
+ gap: {
89
+ initial: 4,
90
+ large: 6
91
+ },
92
+ children: panel.map((row, gridRowIndex)=>{
93
+ const visibleFields = row.filter(({ name })=>{
94
+ const attribute = document.schema?.attributes[name];
95
+ const condition = attribute?.conditions?.visible;
96
+ if (condition) {
97
+ return rulesEngine.evaluate(condition, fieldValues);
98
+ }
99
+ return true;
100
+ });
101
+ if (visibleFields.length === 0) {
102
+ return null; // Skip rendering the entire grid row
103
+ }
104
+ return /*#__PURE__*/ jsxRuntime.jsx(ResponsiveGridRoot, {
74
105
  gap: 4,
75
- children: row.map(({ size, ...field })=>{
76
- const fieldWithTranslatedLabel = {
77
- ...field,
78
- label: formatMessage({
79
- id: `content-manager.content-types.${model}.${field.name}`,
80
- defaultMessage: field.label
81
- })
82
- };
106
+ children: visibleFields.map(({ size, ...field })=>{
83
107
  return /*#__PURE__*/ jsxRuntime.jsx(ResponsiveGridItem, {
84
108
  col: size,
85
109
  s: 12,
@@ -87,12 +111,14 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
87
111
  direction: "column",
88
112
  alignItems: "stretch",
89
113
  children: /*#__PURE__*/ jsxRuntime.jsx(InputRenderer.InputRenderer, {
90
- ...fieldWithTranslatedLabel,
114
+ ...field,
115
+ label: getLabel(field.name, field.label),
91
116
  document: document
92
117
  })
93
118
  }, field.name);
94
119
  })
95
- }, gridRowIndex))
120
+ }, gridRowIndex);
121
+ })
96
122
  })
97
123
  }, index);
98
124
  })
@@ -100,7 +126,6 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
100
126
  };
101
127
 
102
128
  exports.FormLayout = FormLayout;
103
- exports.RESPONSIVE_CONTAINER_BREAKPOINTS = RESPONSIVE_CONTAINER_BREAKPOINTS;
104
129
  exports.ResponsiveGridItem = ResponsiveGridItem;
105
130
  exports.ResponsiveGridRoot = ResponsiveGridRoot;
106
131
  //# sourceMappingURL=FormLayout.js.map