@gravity-ui/markdown-editor 13.25.1 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/build/cjs/bundle/Editor.d.ts +5 -67
  2. package/build/cjs/bundle/Editor.js +24 -26
  3. package/build/cjs/bundle/MarkdownEditorView.js +1 -0
  4. package/build/cjs/bundle/MarkupEditorView.d.ts +3 -2
  5. package/build/cjs/bundle/SplitModeView.js +5 -1
  6. package/build/cjs/bundle/ToolbarView.d.ts +3 -2
  7. package/build/cjs/bundle/config/markup.d.ts +3 -3
  8. package/build/cjs/bundle/config/wysiwyg.d.ts +5 -5
  9. package/build/cjs/bundle/index.d.ts +1 -1
  10. package/build/cjs/bundle/index.js +1 -0
  11. package/build/cjs/bundle/settings/index.d.ts +4 -4
  12. package/build/cjs/bundle/types.d.ts +174 -0
  13. package/build/cjs/bundle/types.js +3 -0
  14. package/build/cjs/bundle/useMarkdownEditor.d.ts +3 -17
  15. package/build/cjs/bundle/useMarkdownEditor.js +18 -8
  16. package/build/cjs/bundle/wysiwyg-preset.d.ts +2 -2
  17. package/build/cjs/core/Editor.d.ts +1 -1
  18. package/build/{esm/extensions/yfm → cjs/extensions/additional}/FoldingHeading/const.d.ts +1 -1
  19. package/build/cjs/extensions/{yfm → additional}/FoldingHeading/const.js +1 -1
  20. package/build/cjs/extensions/{yfm → additional}/Math/view-and-edit.d.ts +1 -1
  21. package/build/cjs/extensions/yfm/YfmConfigs/index.d.ts +4 -2
  22. package/build/cjs/extensions/yfm/YfmConfigs/index.js +4 -2
  23. package/build/cjs/extensions/yfm/YfmCut/YfmCutSpecs/index.js +2 -4
  24. package/build/cjs/extensions/yfm/YfmCut/index.css +0 -9
  25. package/build/cjs/extensions/yfm/YfmCut/index.d.ts +2 -0
  26. package/build/cjs/extensions/yfm/YfmCut/index.js +3 -0
  27. package/build/cjs/extensions/yfm/YfmNote/plugins/YfmNoteTooltipPlugin/index.css +12 -12
  28. package/build/cjs/extensions/yfm/YfmNote/plugins/YfmNoteTooltipPlugin/index.js +4 -1
  29. package/build/cjs/extensions/yfm/YfmTabs/YfmTabsSpecs/const.d.ts +2 -1
  30. package/build/cjs/extensions/yfm/YfmTabs/YfmTabsSpecs/const.js +1 -0
  31. package/build/cjs/extensions/yfm/YfmTabs/YfmTabsSpecs/index.js +14 -4
  32. package/build/cjs/extensions/yfm/YfmTabs/YfmTabsSpecs/md-plugin.js +0 -27
  33. package/build/cjs/extensions/yfm/YfmTabs/YfmTabsSpecs/schema.js +2 -0
  34. package/build/cjs/extensions/yfm/YfmTabs/index.d.ts +2 -0
  35. package/build/cjs/extensions/yfm/YfmTabs/index.js +2 -0
  36. package/build/cjs/markup/codemirror/index.d.ts +1 -0
  37. package/build/cjs/markup/codemirror/search-plugin/plugin.d.ts +3 -2
  38. package/build/cjs/version.js +1 -1
  39. package/build/esm/bundle/Editor.d.ts +5 -67
  40. package/build/esm/bundle/Editor.js +25 -27
  41. package/build/esm/bundle/MarkdownEditorView.js +1 -0
  42. package/build/esm/bundle/MarkupEditorView.d.ts +3 -2
  43. package/build/esm/bundle/SplitModeView.js +5 -1
  44. package/build/esm/bundle/ToolbarView.d.ts +3 -2
  45. package/build/esm/bundle/config/markup.d.ts +3 -3
  46. package/build/esm/bundle/config/wysiwyg.d.ts +5 -5
  47. package/build/esm/bundle/index.d.ts +1 -1
  48. package/build/esm/bundle/index.js +1 -0
  49. package/build/esm/bundle/settings/index.d.ts +4 -4
  50. package/build/esm/bundle/types.d.ts +174 -0
  51. package/build/esm/bundle/types.js +2 -0
  52. package/build/esm/bundle/useMarkdownEditor.d.ts +3 -17
  53. package/build/esm/bundle/useMarkdownEditor.js +18 -8
  54. package/build/esm/bundle/wysiwyg-preset.d.ts +2 -2
  55. package/build/esm/core/Editor.d.ts +1 -1
  56. package/build/{cjs/extensions/yfm → esm/extensions/additional}/FoldingHeading/const.d.ts +1 -1
  57. package/build/esm/extensions/additional/FoldingHeading/const.js +1 -0
  58. package/build/esm/extensions/{yfm → additional}/Math/view-and-edit.d.ts +1 -1
  59. package/build/esm/extensions/yfm/YfmConfigs/index.d.ts +4 -2
  60. package/build/esm/extensions/yfm/YfmConfigs/index.js +4 -2
  61. package/build/esm/extensions/yfm/YfmCut/YfmCutSpecs/index.js +2 -3
  62. package/build/esm/extensions/yfm/YfmCut/index.css +0 -9
  63. package/build/esm/extensions/yfm/YfmCut/index.d.ts +2 -0
  64. package/build/esm/extensions/yfm/YfmCut/index.js +3 -1
  65. package/build/esm/extensions/yfm/YfmNote/plugins/YfmNoteTooltipPlugin/index.css +12 -12
  66. package/build/esm/extensions/yfm/YfmNote/plugins/YfmNoteTooltipPlugin/index.js +4 -1
  67. package/build/esm/extensions/yfm/YfmTabs/YfmTabsSpecs/const.d.ts +2 -1
  68. package/build/esm/extensions/yfm/YfmTabs/YfmTabsSpecs/const.js +1 -0
  69. package/build/esm/extensions/yfm/YfmTabs/YfmTabsSpecs/index.js +14 -3
  70. package/build/esm/extensions/yfm/YfmTabs/YfmTabsSpecs/md-plugin.js +0 -27
  71. package/build/esm/extensions/yfm/YfmTabs/YfmTabsSpecs/schema.js +2 -0
  72. package/build/esm/extensions/yfm/YfmTabs/index.d.ts +2 -0
  73. package/build/esm/extensions/yfm/YfmTabs/index.js +2 -0
  74. package/build/esm/markup/codemirror/index.d.ts +1 -0
  75. package/build/esm/markup/codemirror/search-plugin/plugin.d.ts +3 -2
  76. package/build/esm/version.js +1 -1
  77. package/build/styles.css +243 -252
  78. package/package.json +31 -26
  79. package/build/esm/extensions/yfm/FoldingHeading/const.js +0 -1
  80. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeading.d.ts +0 -0
  81. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeading.js +0 -0
  82. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/FoldingHeadingSpecs.d.ts +0 -0
  83. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/FoldingHeadingSpecs.js +0 -0
  84. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/const.d.ts +0 -0
  85. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/const.js +0 -0
  86. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/index.d.ts +0 -0
  87. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/index.js +0 -0
  88. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/md/skip-heading-sections.d.ts +0 -0
  89. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/md/skip-heading-sections.js +0 -0
  90. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/actions.d.ts +0 -0
  91. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/actions.js +0 -0
  92. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/index.d.ts +0 -0
  93. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/index.js +0 -0
  94. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/openHeadingAndCreateParagraphAfterIfCursorAtEndOfHeading.d.ts +0 -0
  95. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/openHeadingAndCreateParagraphAfterIfCursorAtEndOfHeading.js +0 -0
  96. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/removeFoldingIfCursorAtStartOfHeading.d.ts +0 -0
  97. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/removeFoldingIfCursorAtStartOfHeading.js +0 -0
  98. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/toggleFoldingOfHeading.d.ts +0 -0
  99. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/commands/toggleFoldingOfHeading.js +0 -0
  100. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/index.d.ts +0 -0
  101. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/index.js +0 -0
  102. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/input-rules.d.ts +0 -0
  103. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/input-rules.js +0 -0
  104. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/plugins/Folding.d.ts +0 -0
  105. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/plugins/Folding.js +0 -0
  106. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/plugins/folding.css +0 -0
  107. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/utils.d.ts +0 -0
  108. /package/build/cjs/extensions/{yfm → additional}/FoldingHeading/utils.js +0 -0
  109. /package/build/cjs/extensions/{yfm → additional}/Math/MathSpecs/const.d.ts +0 -0
  110. /package/build/cjs/extensions/{yfm → additional}/Math/MathSpecs/const.js +0 -0
  111. /package/build/cjs/extensions/{yfm → additional}/Math/MathSpecs/index.d.ts +0 -0
  112. /package/build/cjs/extensions/{yfm → additional}/Math/MathSpecs/index.js +0 -0
  113. /package/build/cjs/extensions/{yfm → additional}/Math/commands.d.ts +0 -0
  114. /package/build/cjs/extensions/{yfm → additional}/Math/commands.js +0 -0
  115. /package/build/cjs/extensions/{yfm → additional}/Math/const.d.ts +0 -0
  116. /package/build/cjs/extensions/{yfm → additional}/Math/const.js +0 -0
  117. /package/build/cjs/extensions/{yfm → additional}/Math/hint.d.ts +0 -0
  118. /package/build/cjs/extensions/{yfm → additional}/Math/hint.js +0 -0
  119. /package/build/cjs/extensions/{yfm → additional}/Math/index.css +0 -0
  120. /package/build/cjs/extensions/{yfm → additional}/Math/index.d.ts +0 -0
  121. /package/build/cjs/extensions/{yfm → additional}/Math/index.js +0 -0
  122. /package/build/cjs/extensions/{yfm → additional}/Math/types.d.ts +0 -0
  123. /package/build/cjs/extensions/{yfm → additional}/Math/types.js +0 -0
  124. /package/build/cjs/extensions/{yfm → additional}/Math/view-and-edit.css +0 -0
  125. /package/build/cjs/extensions/{yfm → additional}/Math/view-and-edit.js +0 -0
  126. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/Mermaid.css +0 -0
  127. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/MermaidView.d.ts +0 -0
  128. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/MermaidView.js +0 -0
  129. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/NodeView.d.ts +0 -0
  130. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/NodeView.js +0 -0
  131. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/index.d.ts +0 -0
  132. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidNodeView/index.js +0 -0
  133. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidSpecs/const.d.ts +0 -0
  134. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidSpecs/const.js +0 -0
  135. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidSpecs/index.d.ts +0 -0
  136. /package/build/cjs/extensions/{yfm → additional}/Mermaid/MermaidSpecs/index.js +0 -0
  137. /package/build/cjs/extensions/{yfm → additional}/Mermaid/actions.d.ts +0 -0
  138. /package/build/cjs/extensions/{yfm → additional}/Mermaid/actions.js +0 -0
  139. /package/build/cjs/extensions/{yfm → additional}/Mermaid/const.d.ts +0 -0
  140. /package/build/cjs/extensions/{yfm → additional}/Mermaid/const.js +0 -0
  141. /package/build/cjs/extensions/{yfm → additional}/Mermaid/index.d.ts +0 -0
  142. /package/build/cjs/extensions/{yfm → additional}/Mermaid/index.js +0 -0
  143. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.d.ts +0 -0
  144. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.js +0 -0
  145. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlock.css +0 -0
  146. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.d.ts +0 -0
  147. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.js +0 -0
  148. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/index.d.ts +0 -0
  149. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/index.js +0 -0
  150. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/const.d.ts +0 -0
  151. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/const.js +0 -0
  152. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/index.d.ts +0 -0
  153. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/index.js +0 -0
  154. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/actions.d.ts +0 -0
  155. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/actions.js +0 -0
  156. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/const.d.ts +0 -0
  157. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/const.js +0 -0
  158. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/index.d.ts +0 -0
  159. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/index.js +0 -0
  160. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/utils.d.ts +0 -0
  161. /package/build/cjs/extensions/{yfm → additional}/YfmHtmlBlock/utils.js +0 -0
  162. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeading.d.ts +0 -0
  163. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeading.js +0 -0
  164. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/FoldingHeadingSpecs.d.ts +0 -0
  165. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/FoldingHeadingSpecs.js +0 -0
  166. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/const.d.ts +0 -0
  167. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/const.js +0 -0
  168. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/index.d.ts +0 -0
  169. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/index.js +0 -0
  170. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/md/skip-heading-sections.d.ts +0 -0
  171. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/FoldingHeadingSpec/md/skip-heading-sections.js +0 -0
  172. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/actions.d.ts +0 -0
  173. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/actions.js +0 -0
  174. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/index.d.ts +0 -0
  175. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/index.js +0 -0
  176. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/openHeadingAndCreateParagraphAfterIfCursorAtEndOfHeading.d.ts +0 -0
  177. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/openHeadingAndCreateParagraphAfterIfCursorAtEndOfHeading.js +0 -0
  178. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/removeFoldingIfCursorAtStartOfHeading.d.ts +0 -0
  179. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/removeFoldingIfCursorAtStartOfHeading.js +0 -0
  180. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/toggleFoldingOfHeading.d.ts +0 -0
  181. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/commands/toggleFoldingOfHeading.js +0 -0
  182. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/index.d.ts +0 -0
  183. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/index.js +0 -0
  184. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/input-rules.d.ts +0 -0
  185. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/input-rules.js +0 -0
  186. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/plugins/Folding.d.ts +0 -0
  187. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/plugins/Folding.js +0 -0
  188. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/plugins/folding.css +0 -0
  189. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/utils.d.ts +0 -0
  190. /package/build/esm/extensions/{yfm → additional}/FoldingHeading/utils.js +0 -0
  191. /package/build/esm/extensions/{yfm → additional}/Math/MathSpecs/const.d.ts +0 -0
  192. /package/build/esm/extensions/{yfm → additional}/Math/MathSpecs/const.js +0 -0
  193. /package/build/esm/extensions/{yfm → additional}/Math/MathSpecs/index.d.ts +0 -0
  194. /package/build/esm/extensions/{yfm → additional}/Math/MathSpecs/index.js +0 -0
  195. /package/build/esm/extensions/{yfm → additional}/Math/commands.d.ts +0 -0
  196. /package/build/esm/extensions/{yfm → additional}/Math/commands.js +0 -0
  197. /package/build/esm/extensions/{yfm → additional}/Math/const.d.ts +0 -0
  198. /package/build/esm/extensions/{yfm → additional}/Math/const.js +0 -0
  199. /package/build/esm/extensions/{yfm → additional}/Math/hint.d.ts +0 -0
  200. /package/build/esm/extensions/{yfm → additional}/Math/hint.js +0 -0
  201. /package/build/esm/extensions/{yfm → additional}/Math/index.css +0 -0
  202. /package/build/esm/extensions/{yfm → additional}/Math/index.d.ts +0 -0
  203. /package/build/esm/extensions/{yfm → additional}/Math/index.js +0 -0
  204. /package/build/esm/extensions/{yfm → additional}/Math/types.d.ts +0 -0
  205. /package/build/esm/extensions/{yfm → additional}/Math/types.js +0 -0
  206. /package/build/esm/extensions/{yfm → additional}/Math/view-and-edit.css +0 -0
  207. /package/build/esm/extensions/{yfm → additional}/Math/view-and-edit.js +0 -0
  208. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/Mermaid.css +0 -0
  209. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/MermaidView.d.ts +0 -0
  210. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/MermaidView.js +0 -0
  211. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/NodeView.d.ts +0 -0
  212. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/NodeView.js +0 -0
  213. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/index.d.ts +0 -0
  214. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidNodeView/index.js +0 -0
  215. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidSpecs/const.d.ts +0 -0
  216. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidSpecs/const.js +0 -0
  217. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidSpecs/index.d.ts +0 -0
  218. /package/build/esm/extensions/{yfm → additional}/Mermaid/MermaidSpecs/index.js +0 -0
  219. /package/build/esm/extensions/{yfm → additional}/Mermaid/actions.d.ts +0 -0
  220. /package/build/esm/extensions/{yfm → additional}/Mermaid/actions.js +0 -0
  221. /package/build/esm/extensions/{yfm → additional}/Mermaid/const.d.ts +0 -0
  222. /package/build/esm/extensions/{yfm → additional}/Mermaid/const.js +0 -0
  223. /package/build/esm/extensions/{yfm → additional}/Mermaid/index.d.ts +0 -0
  224. /package/build/esm/extensions/{yfm → additional}/Mermaid/index.js +0 -0
  225. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.d.ts +0 -0
  226. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.js +0 -0
  227. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlock.css +0 -0
  228. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.d.ts +0 -0
  229. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.js +0 -0
  230. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/index.d.ts +0 -0
  231. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockNodeView/index.js +0 -0
  232. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/const.d.ts +0 -0
  233. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/const.js +0 -0
  234. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/index.d.ts +0 -0
  235. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/YfmHtmlBlockSpecs/index.js +0 -0
  236. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/actions.d.ts +0 -0
  237. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/actions.js +0 -0
  238. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/const.d.ts +0 -0
  239. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/const.js +0 -0
  240. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/index.d.ts +0 -0
  241. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/index.js +0 -0
  242. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/utils.d.ts +0 -0
  243. /package/build/esm/extensions/{yfm → additional}/YfmHtmlBlock/utils.js +0 -0
@@ -1,19 +1,7 @@
1
- import type { ReactNode } from 'react';
2
- import type { Extension as CodemirrorExtension } from '@codemirror/state';
3
- import { CommonEditor, MarkupString } from '../common';
4
- import { WysiwygEditorOptions } from '../core';
1
+ import type { CommonEditor } from '../common';
5
2
  import { ReactRenderStorage } from '../extensions';
6
- import { type CreateCodemirrorParams } from '../markup/codemirror';
7
- import type { YfmLangOptions } from '../markup/codemirror/yfm';
8
- import { Receiver } from '../utils/event-emitter';
9
- import type { FileUploadHandler } from '../utils/upload';
10
- export declare type EditorMode = 'wysiwyg' | 'markup';
11
- export declare type SplitMode = false | 'horizontal' | 'vertical';
12
- export declare type EditorPreset = 'zero' | 'commonmark' | 'default' | 'yfm' | 'full';
13
- export declare type RenderPreview = ({ getValue, mode, }: {
14
- getValue: () => MarkupString;
15
- mode: 'preview' | 'split';
16
- }) => ReactNode;
3
+ import { type Receiver } from '../utils/event-emitter';
4
+ import type { MarkdownEditorMode as EditorMode, MarkdownEditorPreset as EditorPreset, MarkdownEditorOptions } from './types';
17
5
  export declare type ToolbarActionData = {
18
6
  editorMode: EditorMode;
19
7
  id: string;
@@ -45,63 +33,13 @@ export interface Editor extends Receiver<EventMap>, CommonEditor {
45
33
  }): void;
46
34
  }
47
35
  declare type SetEditorModeOptions = Pick<ChangeEditorModeOptions, 'emit'>;
48
- declare type ChangeEditorModeOptions = {
36
+ export declare type ChangeEditorModeOptions = {
49
37
  mode: EditorMode;
50
38
  reason: 'error-boundary' | 'settings' | 'manually';
51
39
  emit?: boolean;
52
40
  };
53
- export declare type MarkupConfig = {
54
- /** Additional extensions for codemirror instance. */
55
- extensions?: CreateCodemirrorParams['extensions'];
56
- /** Can be used to disable some of the default extensions */
57
- disabledExtensions?: CreateCodemirrorParams['disabledExtensions'];
58
- /** Additional keymaps for codemirror instance */
59
- keymaps?: CreateCodemirrorParams['keymaps'];
60
- /** Overrides the default placeholder content. */
61
- placeholder?: CreateCodemirrorParams['placeholder'];
62
- /**
63
- * Additional language data for markdown language in codemirror.
64
- * Can be used to configure additional autocompletions and others.
65
- * See more https://codemirror.net/docs/ref/#state.EditorState.languageDataAt
66
- */
67
- languageData?: YfmLangOptions['languageData'];
68
- /** Config for @codemirror/autocomplete https://codemirror.net/docs/ref/#autocomplete.autocompletion%5Econfig */
69
- autocompletion?: CreateCodemirrorParams['autocompletion'];
70
- };
71
- export declare type EscapeConfig = {
72
- commonEscape?: RegExp;
73
- startOfLineEscape?: RegExp;
74
- };
75
- export declare type EditorOptions = Pick<WysiwygEditorOptions, 'allowHTML' | 'linkify' | 'linkifyTlds' | 'extensions'> & {
76
- initialMarkup?: MarkupString;
77
- /** @default 'wysiwyg' */
78
- initialEditorMode?: EditorMode;
79
- /** @default true */
80
- initialToolbarVisible?: boolean;
81
- /** @default false
82
- * Has no effect if splitMode is false or undefined
83
- */
84
- initialSplitModeEnabled?: boolean;
41
+ export declare type EditorOptions = Pick<MarkdownEditorOptions, 'md' | 'initial' | 'handlers' | 'experimental' | 'markupConfig' | 'wysiwygConfig'> & {
85
42
  renderStorage: ReactRenderStorage;
86
- fileUploadHandler?: FileUploadHandler;
87
- /**
88
- * If we need to set dimensions for uploaded images
89
- *
90
- * @default false
91
- */
92
- needToSetDimensionsForUploadedImages?: boolean;
93
- /**
94
- * Called before switching from the markup editor to the wysiwyg editor.
95
- * You can use it to pre-process the value from the markup editor before it gets into the wysiwyg editor.
96
- */
97
- prepareRawMarkup?: (value: MarkupString) => MarkupString;
98
- experimental_beforeEditorModeChange?: (options: Pick<ChangeEditorModeOptions, 'mode' | 'reason'>) => boolean | undefined;
99
- splitMode?: SplitMode;
100
- renderPreview?: RenderPreview;
101
43
  preset: EditorPreset;
102
- /** @deprecated Put extra extensions via MarkdownEditorMarkupConfig */
103
- extraMarkupExtensions?: CodemirrorExtension[];
104
- markupConfig?: MarkupConfig;
105
- escapeConfig?: EscapeConfig;
106
44
  };
107
45
  export {};
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var _EditorImpl_markup, _EditorImpl_editorMode, _EditorImpl_toolbarVisible, _EditorImpl_splitModeEnabled, _EditorImpl_splitMode, _EditorImpl_renderPreview, _EditorImpl_wysiwygEditor, _EditorImpl_markupEditor, _EditorImpl_markupConfig, _EditorImpl_escapeConfig, _EditorImpl_preset, _EditorImpl_allowHTML, _EditorImpl_linkify, _EditorImpl_linkifyTlds, _EditorImpl_extensions, _EditorImpl_renderStorage, _EditorImpl_fileUploadHandler, _EditorImpl_needToSetDimensionsForUploadedImages, _EditorImpl_prepareRawMarkup, _EditorImpl_beforeEditorModeChange;
2
+ var _EditorImpl_markup, _EditorImpl_editorMode, _EditorImpl_toolbarVisible, _EditorImpl_splitModeEnabled, _EditorImpl_splitMode, _EditorImpl_renderPreview, _EditorImpl_wysiwygEditor, _EditorImpl_markupEditor, _EditorImpl_markupConfig, _EditorImpl_escapeConfig, _EditorImpl_mdOptions, _EditorImpl_preset, _EditorImpl_extensions, _EditorImpl_renderStorage, _EditorImpl_fileUploadHandler, _EditorImpl_needToSetDimensionsForUploadedImages, _EditorImpl_prepareRawMarkup, _EditorImpl_beforeEditorModeChange;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.EditorImpl = void 0;
5
5
  const tslib_1 = require("tslib");
@@ -15,7 +15,6 @@ const event_emitter_1 = require("../utils/event-emitter");
15
15
  class EditorImpl extends event_emitter_1.SafeEventEmitter {
16
16
  constructor(opts) {
17
17
  var _a, _b, _c, _d, _e, _f;
18
- var _g;
19
18
  super({ onError: logger_1.logger.error.bind(logger_1.logger) });
20
19
  _EditorImpl_markup.set(this, void 0);
21
20
  _EditorImpl_editorMode.set(this, void 0);
@@ -27,10 +26,8 @@ class EditorImpl extends event_emitter_1.SafeEventEmitter {
27
26
  _EditorImpl_markupEditor.set(this, void 0);
28
27
  _EditorImpl_markupConfig.set(this, void 0);
29
28
  _EditorImpl_escapeConfig.set(this, void 0);
29
+ _EditorImpl_mdOptions.set(this, void 0);
30
30
  _EditorImpl_preset.set(this, void 0);
31
- _EditorImpl_allowHTML.set(this, void 0);
32
- _EditorImpl_linkify.set(this, void 0);
33
- _EditorImpl_linkifyTlds.set(this, void 0);
34
31
  _EditorImpl_extensions.set(this, void 0);
35
32
  _EditorImpl_renderStorage.set(this, void 0);
36
33
  _EditorImpl_fileUploadHandler.set(this, void 0);
@@ -38,25 +35,23 @@ class EditorImpl extends event_emitter_1.SafeEventEmitter {
38
35
  _EditorImpl_prepareRawMarkup.set(this, void 0);
39
36
  _EditorImpl_beforeEditorModeChange.set(this, void 0);
40
37
  this.getValue = () => this.currentEditor.getValue();
41
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_editorMode, (_a = opts.initialEditorMode) !== null && _a !== void 0 ? _a : 'wysiwyg', "f");
42
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_toolbarVisible, Boolean(opts.initialToolbarVisible), "f");
43
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_splitMode, (_b = (opts.renderPreview && opts.splitMode)) !== null && _b !== void 0 ? _b : false, "f");
44
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_splitModeEnabled, (_c = (tslib_1.__classPrivateFieldGet(this, _EditorImpl_splitMode, "f") && opts.initialSplitModeEnabled)) !== null && _c !== void 0 ? _c : false, "f");
45
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_renderPreview, opts.renderPreview, "f");
46
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_markup, (_d = opts.initialMarkup) !== null && _d !== void 0 ? _d : '', "f");
47
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_preset, (_e = opts.preset) !== null && _e !== void 0 ? _e : 'full', "f");
48
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_linkify, opts.linkify, "f");
49
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_linkifyTlds, opts.linkifyTlds, "f");
50
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_allowHTML, opts.allowHTML, "f");
51
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_extensions, opts.extensions, "f");
38
+ const { md = {}, initial = {}, handlers = {}, experimental = {}, markupConfig = {}, wysiwygConfig = {}, } = opts;
39
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_editorMode, (_a = initial.mode) !== null && _a !== void 0 ? _a : 'wysiwyg', "f");
40
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_toolbarVisible, (_b = initial.toolbarVisible) !== null && _b !== void 0 ? _b : true, "f");
41
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_splitMode, (_c = (markupConfig.renderPreview && markupConfig.splitMode)) !== null && _c !== void 0 ? _c : false, "f");
42
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_splitModeEnabled, (_d = (tslib_1.__classPrivateFieldGet(this, _EditorImpl_splitMode, "f") && initial.splitModeEnabled)) !== null && _d !== void 0 ? _d : false, "f");
43
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_renderPreview, markupConfig.renderPreview, "f");
44
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_markup, (_e = initial.markup) !== null && _e !== void 0 ? _e : '', "f");
45
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_preset, (_f = opts.preset) !== null && _f !== void 0 ? _f : 'full', "f");
46
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_mdOptions, md, "f");
47
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_extensions, wysiwygConfig.extensions, "f");
52
48
  tslib_1.__classPrivateFieldSet(this, _EditorImpl_markupConfig, Object.assign({}, opts.markupConfig), "f");
53
- (_f = (_g = tslib_1.__classPrivateFieldGet(this, _EditorImpl_markupConfig, "f")).extensions) !== null && _f !== void 0 ? _f : (_g.extensions = opts.extraMarkupExtensions);
54
49
  tslib_1.__classPrivateFieldSet(this, _EditorImpl_renderStorage, opts.renderStorage, "f");
55
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_fileUploadHandler, opts.fileUploadHandler, "f");
56
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_needToSetDimensionsForUploadedImages, Boolean(opts.needToSetDimensionsForUploadedImages), "f");
57
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_prepareRawMarkup, opts.prepareRawMarkup, "f");
58
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_escapeConfig, opts.escapeConfig, "f");
59
- tslib_1.__classPrivateFieldSet(this, _EditorImpl_beforeEditorModeChange, opts.experimental_beforeEditorModeChange, "f");
50
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_fileUploadHandler, handlers.uploadFile, "f");
51
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_needToSetDimensionsForUploadedImages, Boolean(experimental.needToSetDimensionsForUploadedImages), "f");
52
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_prepareRawMarkup, experimental.prepareRawMarkup, "f");
53
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_escapeConfig, wysiwygConfig.escapeConfig, "f");
54
+ tslib_1.__classPrivateFieldSet(this, _EditorImpl_beforeEditorModeChange, experimental.beforeEditorModeChange, "f");
60
55
  }
61
56
  get _wysiwygView() {
62
57
  var _a;
@@ -118,6 +113,9 @@ class EditorImpl extends event_emitter_1.SafeEventEmitter {
118
113
  get preset() {
119
114
  return tslib_1.__classPrivateFieldGet(this, _EditorImpl_preset, "f");
120
115
  }
116
+ get mdOptions() {
117
+ return tslib_1.__classPrivateFieldGet(this, _EditorImpl_mdOptions, "f");
118
+ }
121
119
  get renderPreview() {
122
120
  return tslib_1.__classPrivateFieldGet(this, _EditorImpl_renderPreview, "f");
123
121
  }
@@ -139,9 +137,9 @@ class EditorImpl extends event_emitter_1.SafeEventEmitter {
139
137
  mdPreset,
140
138
  initialContent: tslib_1.__classPrivateFieldGet(this, _EditorImpl_markup, "f"),
141
139
  extensions: tslib_1.__classPrivateFieldGet(this, _EditorImpl_extensions, "f"),
142
- allowHTML: tslib_1.__classPrivateFieldGet(this, _EditorImpl_allowHTML, "f"),
143
- linkify: tslib_1.__classPrivateFieldGet(this, _EditorImpl_linkify, "f"),
144
- linkifyTlds: tslib_1.__classPrivateFieldGet(this, _EditorImpl_linkifyTlds, "f"),
140
+ allowHTML: tslib_1.__classPrivateFieldGet(this, _EditorImpl_mdOptions, "f").html,
141
+ linkify: tslib_1.__classPrivateFieldGet(this, _EditorImpl_mdOptions, "f").linkify,
142
+ linkifyTlds: tslib_1.__classPrivateFieldGet(this, _EditorImpl_mdOptions, "f").linkifyTlds,
145
143
  escapeConfig: tslib_1.__classPrivateFieldGet(this, _EditorImpl_escapeConfig, "f"),
146
144
  onChange: () => this.emit('rerender-toolbar', null),
147
145
  onDocChange: () => this.emit('change', null),
@@ -302,7 +300,7 @@ class EditorImpl extends event_emitter_1.SafeEventEmitter {
302
300
  }
303
301
  }
304
302
  exports.EditorImpl = EditorImpl;
305
- _EditorImpl_markup = new WeakMap(), _EditorImpl_editorMode = new WeakMap(), _EditorImpl_toolbarVisible = new WeakMap(), _EditorImpl_splitModeEnabled = new WeakMap(), _EditorImpl_splitMode = new WeakMap(), _EditorImpl_renderPreview = new WeakMap(), _EditorImpl_wysiwygEditor = new WeakMap(), _EditorImpl_markupEditor = new WeakMap(), _EditorImpl_markupConfig = new WeakMap(), _EditorImpl_escapeConfig = new WeakMap(), _EditorImpl_preset = new WeakMap(), _EditorImpl_allowHTML = new WeakMap(), _EditorImpl_linkify = new WeakMap(), _EditorImpl_linkifyTlds = new WeakMap(), _EditorImpl_extensions = new WeakMap(), _EditorImpl_renderStorage = new WeakMap(), _EditorImpl_fileUploadHandler = new WeakMap(), _EditorImpl_needToSetDimensionsForUploadedImages = new WeakMap(), _EditorImpl_prepareRawMarkup = new WeakMap(), _EditorImpl_beforeEditorModeChange = new WeakMap();
303
+ _EditorImpl_markup = new WeakMap(), _EditorImpl_editorMode = new WeakMap(), _EditorImpl_toolbarVisible = new WeakMap(), _EditorImpl_splitModeEnabled = new WeakMap(), _EditorImpl_splitMode = new WeakMap(), _EditorImpl_renderPreview = new WeakMap(), _EditorImpl_wysiwygEditor = new WeakMap(), _EditorImpl_markupEditor = new WeakMap(), _EditorImpl_markupConfig = new WeakMap(), _EditorImpl_escapeConfig = new WeakMap(), _EditorImpl_mdOptions = new WeakMap(), _EditorImpl_preset = new WeakMap(), _EditorImpl_extensions = new WeakMap(), _EditorImpl_renderStorage = new WeakMap(), _EditorImpl_fileUploadHandler = new WeakMap(), _EditorImpl_needToSetDimensionsForUploadedImages = new WeakMap(), _EditorImpl_prepareRawMarkup = new WeakMap(), _EditorImpl_beforeEditorModeChange = new WeakMap();
306
304
  function getTopOffset(elem) {
307
305
  const TOOLBAR_HEIGHT = 36; //px
308
306
  const TOOLBAR_BOTTOM_OFFSET = 8; // px
@@ -122,6 +122,7 @@ exports.MarkdownEditorView = react_1.default.forwardRef((props, ref) => {
122
122
  react_1.default.createElement("div", { className: b('preview-wrapper') }, (_b = editor.renderPreview) === null || _b === void 0 ? void 0 : _b.call(editor, {
123
123
  getValue: editor.getValue,
124
124
  mode: 'preview',
125
+ md: editor.mdOptions,
125
126
  })),
126
127
  settings)) : (react_1.default.createElement(react_1.default.Fragment, null,
127
128
  editorMode === 'wysiwyg' && (react_1.default.createElement(WysiwygEditorView_1.WysiwygEditorView, { editor: editor, autofocus: autofocus, settingsVisible: settingsVisible, toolbarConfig: wysiwygToolbarConfig, toolbarVisible: editor.toolbarVisible, hiddenActionsConfig: wysiwygHiddenActionsConfig, className: b('editor', { mode: editorMode }), toolbarClassName: b('toolbar'), stickyToolbar: stickyToolbar }, editor.toolbarVisible && settingsVisible && settings)),
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { ClassNameProps } from '../classname';
3
- import type { EditorInt, SplitMode } from './Editor';
3
+ import type { EditorInt } from './Editor';
4
4
  import type { MToolbarData, MToolbarItemData } from './config/markup';
5
+ import type { MarkdownEditorSplitMode } from './types';
5
6
  export declare type MarkupEditorViewProps = ClassNameProps & {
6
7
  editor: EditorInt;
7
8
  autofocus?: boolean;
@@ -10,7 +11,7 @@ export declare type MarkupEditorViewProps = ClassNameProps & {
10
11
  toolbarVisible?: boolean;
11
12
  stickyToolbar?: boolean;
12
13
  toolbarClassName?: string;
13
- splitMode?: SplitMode;
14
+ splitMode?: MarkdownEditorSplitMode;
14
15
  splitModeEnabled: boolean;
15
16
  hiddenActionsConfig?: MToolbarItemData[];
16
17
  children?: React.ReactNode;
@@ -68,7 +68,11 @@ const SplitModeView = react_1.default.forwardRef(({ editor }, ref) => {
68
68
  vertical: editor.splitMode === 'vertical',
69
69
  }), ref: outerRef },
70
70
  react_1.default.createElement(uikit_1.Label, { icon: react_1.default.createElement(icons_1.Eye, null), className: b('preview-sign'), size: 'm' }, (0, bundle_1.i18n)('split-mode-text')), (_a = editor.renderPreview) === null || _a === void 0 ? void 0 :
71
- _a.call(editor, { getValue: editor.getValue, mode: 'split' })));
71
+ _a.call(editor, {
72
+ getValue: editor.getValue,
73
+ mode: 'split',
74
+ md: editor.mdOptions,
75
+ })));
72
76
  });
73
77
  exports.SplitModeView = SplitModeView;
74
78
  SplitModeView.displayName = 'SplitModeView';
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { ClassNameProps } from '../classname';
3
3
  import { ToolbarData, ToolbarItemData } from '../toolbar';
4
- import type { EditorInt, EditorMode } from './Editor';
4
+ import type { EditorInt } from './Editor';
5
+ import type { MarkdownEditorMode } from './types';
5
6
  export declare type ToolbarViewProps<T> = ClassNameProps & {
6
7
  editor: EditorInt;
7
- editorMode: EditorMode;
8
+ editorMode: MarkdownEditorMode;
8
9
  toolbarEditor: T;
9
10
  toolbarFocus: () => void;
10
11
  toolbarConfig: ToolbarData<T>;
@@ -3,7 +3,7 @@ import { ToolbarData } from '../../toolbar/Toolbar';
3
3
  import { ToolbarGroupData } from '../../toolbar/ToolbarGroup';
4
4
  import { ToolbarListButtonData } from '../../toolbar/ToolbarListButton';
5
5
  import { ToolbarButtonPopupData, ToolbarItemData, ToolbarListItemData, ToolbarReactComponentData, ToolbarSingleItemData } from '../../toolbar/types';
6
- import type { EditorPreset } from '../Editor';
6
+ import type { MarkdownEditorPreset } from '../types';
7
7
  export declare type MToolbarData = ToolbarData<CodeEditor>;
8
8
  export declare type MToolbarItemData = ToolbarItemData<CodeEditor>;
9
9
  export declare type MToolbarSingleItemData = ToolbarSingleItemData<CodeEditor>;
@@ -43,5 +43,5 @@ export declare const mToolbarConfig: MToolbarData;
43
43
  export declare const mHruleItemData: MToolbarSingleItemData;
44
44
  export declare const mTabsItemData: MToolbarSingleItemData;
45
45
  export declare const mHiddenData: MToolbarSingleItemData[];
46
- export declare const mToolbarConfigByPreset: Record<EditorPreset, MToolbarData>;
47
- export declare const mHiddenDataByPreset: Record<EditorPreset, MToolbarItemData[]>;
46
+ export declare const mToolbarConfigByPreset: Record<MarkdownEditorPreset, MToolbarData>;
47
+ export declare const mHiddenDataByPreset: Record<MarkdownEditorPreset, MToolbarItemData[]>;
@@ -4,7 +4,7 @@ import { ToolbarData } from '../../toolbar/Toolbar';
4
4
  import { ToolbarGroupData } from '../../toolbar/ToolbarGroup';
5
5
  import { ToolbarListButtonData } from '../../toolbar/ToolbarListButton';
6
6
  import { ToolbarGroupItemData, ToolbarItemData, ToolbarListButtonItemData, ToolbarListItemData, ToolbarSingleItemData } from '../../toolbar/types';
7
- import type { EditorPreset } from '../Editor';
7
+ import type { MarkdownEditorPreset } from '../types';
8
8
  export declare type WToolbarData = ToolbarData<ActionStorage>;
9
9
  export declare type WToolbarItemData = ToolbarItemData<ActionStorage>;
10
10
  export declare type WToolbarSingleItemData = ToolbarSingleItemData<ActionStorage>;
@@ -53,7 +53,7 @@ export declare const wToolbarConfig: WToolbarData;
53
53
  export declare const wToggleHeadingFoldingItemData: SelectionContextItemData;
54
54
  export declare const wSelectionMenuConfig: SelectionContextConfig;
55
55
  export declare const wMermaidItemData: WToolbarSingleItemData;
56
- export declare const wToolbarConfigByPreset: Record<EditorPreset, WToolbarData>;
57
- export declare const wCommandMenuConfigByPreset: Record<EditorPreset, WToolbarItemData[]>;
58
- export declare const wHiddenDataByPreset: Record<EditorPreset, WToolbarItemData[]>;
59
- export declare const wSelectionMenuConfigByPreset: Record<EditorPreset, SelectionContextConfig>;
56
+ export declare const wToolbarConfigByPreset: Record<MarkdownEditorPreset, WToolbarData>;
57
+ export declare const wCommandMenuConfigByPreset: Record<MarkdownEditorPreset, WToolbarItemData[]>;
58
+ export declare const wHiddenDataByPreset: Record<MarkdownEditorPreset, WToolbarItemData[]>;
59
+ export declare const wSelectionMenuConfigByPreset: Record<MarkdownEditorPreset, SelectionContextConfig>;
@@ -1,4 +1,4 @@
1
- export type { Editor as MarkdownEditorInstance, EditorMode as MarkdownEditorMode, EditorPreset as MarkdownEditorPreset, MarkupConfig as MarkdownEditorMarkupConfig, RenderPreview, SplitMode, } from './Editor';
1
+ export * from './types';
2
2
  export { MarkdownEditorProvider, useMarkdownEditorContext } from './context';
3
3
  export { useMarkdownEditor } from './useMarkdownEditor';
4
4
  export type { UseMarkdownEditorProps } from './useMarkdownEditor';
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.wysiwygToolbarConfigs = exports.markupToolbarConfigs = exports.MarkdownEditorView = exports.useMarkdownEditor = exports.useMarkdownEditorContext = exports.MarkdownEditorProvider = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./types"), exports);
5
6
  var context_1 = require("./context");
6
7
  Object.defineProperty(exports, "MarkdownEditorProvider", { enumerable: true, get: function () { return context_1.MarkdownEditorProvider; } });
7
8
  Object.defineProperty(exports, "useMarkdownEditorContext", { enumerable: true, get: function () { return context_1.useMarkdownEditorContext; } });
@@ -1,20 +1,20 @@
1
1
  import React from 'react';
2
2
  import { ClassNameProps } from '../../classname';
3
- import type { EditorMode, SplitMode } from '../Editor';
3
+ import type { MarkdownEditorMode, MarkdownEditorSplitMode } from '../types';
4
4
  export declare type EditorSettingsProps = Omit<SettingsContentProps, 'onClose'> & {
5
5
  renderPreviewButton?: boolean;
6
6
  settingsVisible?: boolean;
7
7
  };
8
8
  export declare const EditorSettings: React.NamedExoticComponent<EditorSettingsProps>;
9
9
  declare type SettingsContentProps = ClassNameProps & {
10
- mode: EditorMode;
10
+ mode: MarkdownEditorMode;
11
11
  onClose: () => void;
12
- onModeChange: (mode: EditorMode) => void;
12
+ onModeChange: (mode: MarkdownEditorMode) => void;
13
13
  onShowPreviewChange: (showPreview: boolean) => void;
14
14
  showPreview: boolean;
15
15
  toolbarVisibility: boolean;
16
16
  onToolbarVisibilityChange: (val: boolean) => void;
17
- splitMode?: SplitMode;
17
+ splitMode?: MarkdownEditorSplitMode;
18
18
  splitModeEnabled?: boolean;
19
19
  onSplitModeChange?: (splitModeEnabled: boolean) => void;
20
20
  };
@@ -0,0 +1,174 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { MarkupString } from '../common';
3
+ import type { EscapeConfig, Extension } from '../core';
4
+ import type { CreateCodemirrorParams, YfmLangOptions } from '../markup/codemirror';
5
+ import type { FileUploadHandler } from '../utils/upload';
6
+ import type { ChangeEditorModeOptions } from './Editor';
7
+ import type { ExtensionsOptions as WysiwygPresetExtensionsOptions } from './wysiwyg-preset';
8
+ export type { Editor as MarkdownEditorInstance } from './Editor';
9
+ export declare type MarkdownEditorMode = 'wysiwyg' | 'markup';
10
+ export declare type MarkdownEditorPreset = 'zero' | 'commonmark' | 'default' | 'yfm' | 'full';
11
+ export declare type MarkdownEditorSplitMode = false | 'horizontal' | 'vertical';
12
+ export declare type RenderPreviewParams = {
13
+ getValue: () => MarkupString;
14
+ mode: 'preview' | 'split';
15
+ md: Readonly<MarkdownEditorMdOptions>;
16
+ };
17
+ export declare type RenderPreview = (params: RenderPreviewParams) => ReactNode;
18
+ export declare type MarkdownEditorMdOptions = {
19
+ html?: boolean;
20
+ breaks?: boolean;
21
+ linkify?: boolean;
22
+ linkifyTlds?: string | string[];
23
+ };
24
+ export declare type MarkdownEditorInitialOptions = {
25
+ markup?: MarkupString;
26
+ /** Default – wysiwyg */
27
+ mode?: MarkdownEditorMode;
28
+ /** Default – true */
29
+ toolbarVisible?: boolean;
30
+ /**
31
+ * Default – false
32
+ *
33
+ * Note: has no effect if `MarkdownEditorMarkupConfig.splitMode` is set to false or is not set.
34
+ */
35
+ splitModeEnabled?: boolean;
36
+ };
37
+ export declare type MarkdownEditorHandlers = {
38
+ /** Pass this handler to allow uploading files from device. */
39
+ uploadFile?: FileUploadHandler;
40
+ };
41
+ export declare type MarkdownEditorExperimentalOptions = {
42
+ /**
43
+ * If we need to set dimensions for uploaded images
44
+ *
45
+ * @default false
46
+ */
47
+ needToSetDimensionsForUploadedImages?: boolean;
48
+ /**
49
+ * Called before switching from the markup editor to the wysiwyg editor.
50
+ * You can use it to pre-process the value from the markup editor before it gets into the wysiwyg editor.
51
+ */
52
+ prepareRawMarkup?: (value: MarkupString) => MarkupString;
53
+ beforeEditorModeChange?: (options: Pick<ChangeEditorModeOptions, 'mode' | 'reason'>) => boolean | undefined;
54
+ };
55
+ export declare type MarkdownEditorMarkupConfig = {
56
+ /**
57
+ * Pass the rendering function to preview the markdown content.
58
+ *
59
+ * It is also used for split view rendering.
60
+ *
61
+ * If false is passed, preview will be disabled.
62
+ */
63
+ renderPreview?: RenderPreview;
64
+ /**
65
+ * Pass position of split view.
66
+ *
67
+ * Note: for enable split view, you need to pass renderPreview function too.
68
+ *
69
+ * If false is passed, split view will be disabled.
70
+ */
71
+ splitMode?: MarkdownEditorSplitMode;
72
+ /** Additional extensions for codemirror instance. */
73
+ extensions?: CreateCodemirrorParams['extensions'];
74
+ /** Can be used to disable some of the default extensions */
75
+ disabledExtensions?: CreateCodemirrorParams['disabledExtensions'];
76
+ /** Additional keymaps for codemirror instance */
77
+ keymaps?: CreateCodemirrorParams['keymaps'];
78
+ /** Overrides the default placeholder content. */
79
+ placeholder?: CreateCodemirrorParams['placeholder'];
80
+ /**
81
+ * Additional language data for markdown language in codemirror.
82
+ * Can be used to configure additional autocompletions and others.
83
+ * See more https://codemirror.net/docs/ref/#state.EditorState.languageDataAt
84
+ */
85
+ languageData?: YfmLangOptions['languageData'];
86
+ /** Config for @codemirror/autocomplete https://codemirror.net/docs/ref/#autocomplete.autocompletion%5Econfig */
87
+ autocompletion?: CreateCodemirrorParams['autocompletion'];
88
+ };
89
+ declare type ExtensionsOptions<T extends object = {}> = Omit<WysiwygPresetExtensionsOptions, 'reactRenderer'> & T;
90
+ export declare type MarkdownEditorWysiwygConfig = {
91
+ /** Additional extensions */
92
+ extensions?: Extension;
93
+ extensionOptions?: ExtensionsOptions;
94
+ escapeConfig?: EscapeConfig;
95
+ };
96
+ export declare type MarkdownEditorOptions<T extends object = {}> = {
97
+ /**
98
+ * A set of plug-in extensions.
99
+ *
100
+ * @default 'full'
101
+ */
102
+ preset?: MarkdownEditorPreset;
103
+ /** Markdown parser options */
104
+ md?: MarkdownEditorMdOptions;
105
+ /** Initial values */
106
+ initial?: MarkdownEditorInitialOptions;
107
+ handlers?: MarkdownEditorHandlers;
108
+ experimental?: MarkdownEditorExperimentalOptions;
109
+ /** Options for markup mode */
110
+ markupConfig?: MarkdownEditorMarkupConfig;
111
+ /** Options for wysiwyg mode */
112
+ wysiwygConfig?: MarkdownEditorWysiwygConfig;
113
+ /** @deprecated Put allowHTML via MarkdownEditorMdOptions */
114
+ allowHTML?: boolean;
115
+ /** @deprecated Put breaks via MarkdownEditorMdOptions */
116
+ breaks?: boolean;
117
+ /** @deprecated Put linkify via MarkdownEditorMdOptions */
118
+ linkify?: boolean;
119
+ /** @deprecated Put linkifyTlds via MarkdownEditorMdOptions */
120
+ linkifyTlds?: string | string[];
121
+ /** @deprecated Put initial markup via MarkdownEditorInitialOptions */
122
+ initialMarkup?: MarkdownEditorInitialOptions['markup'];
123
+ /**
124
+ * @default 'wysiwyg'
125
+ *
126
+ * @deprecated Put initial editor mode via MarkdownEditorInitialOptions
127
+ */
128
+ initialEditorMode?: MarkdownEditorInitialOptions['mode'];
129
+ /**
130
+ * @default true
131
+ *
132
+ * @deprecated Put initial toolbar visibility via MarkdownEditorInitialOptions
133
+ */
134
+ initialToolbarVisible?: MarkdownEditorInitialOptions['toolbarVisible'];
135
+ /**
136
+ * Has no effect if splitMode is false or undefined
137
+ *
138
+ * @default false
139
+ *
140
+ * @deprecated Put initialSplitModeEnabled via MarkdownEditorInitialOptions
141
+ */
142
+ initialSplitModeEnabled?: MarkdownEditorInitialOptions['splitModeEnabled'];
143
+ /**
144
+ * If we need to set dimensions for uploaded images
145
+ *
146
+ * @default false
147
+ *
148
+ * @deprecated Put needToSetDimensionsForUploadedImages via MarkdownEditorExperimentalOptions
149
+ */
150
+ needToSetDimensionsForUploadedImages?: MarkdownEditorExperimentalOptions['needToSetDimensionsForUploadedImages'];
151
+ /**
152
+ * Called before switching from the markup editor to the wysiwyg editor.
153
+ * You can use it to pre-process the value from the markup editor before it gets into the wysiwyg editor.
154
+ *
155
+ * @deprecated Put prepareRawMarkup via MarkdownEditorExperimentalOptions
156
+ */
157
+ prepareRawMarkup?: MarkdownEditorExperimentalOptions['prepareRawMarkup'];
158
+ /** @deprecated Put beforeEditorModeChange via MarkdownEditorExperimentalOptions */
159
+ experimental_beforeEditorModeChange?: MarkdownEditorExperimentalOptions['beforeEditorModeChange'];
160
+ /** @deprecated Put split mode via MarkdownEditorMarkupConfig */
161
+ splitMode?: MarkdownEditorMarkupConfig['splitMode'];
162
+ /** @deprecated Put render preview function via MarkdownEditorMarkupConfig */
163
+ renderPreview?: MarkdownEditorMarkupConfig['renderPreview'];
164
+ /** @deprecated Put extensions via MarkdownEditorWysiwygConfig */
165
+ extraExtensions?: MarkdownEditorWysiwygConfig['extensions'];
166
+ /** @deprecated Put extension options via MarkdownEditorWysiwygConfig */
167
+ extensionOptions?: ExtensionsOptions<T>;
168
+ /** @deprecated Put extra extensions via MarkdownEditorMarkupConfig */
169
+ extraMarkupExtensions?: MarkdownEditorMarkupConfig['extensions'];
170
+ /** @deprecated Put escapeConfig via MarkdownEditorWysiwygConfig */
171
+ escapeConfig?: MarkdownEditorWysiwygConfig['escapeConfig'];
172
+ /** @deprecated Put file upload handler via MarkdownEditorHandlers */
173
+ fileUploadHandler?: MarkdownEditorHandlers['uploadFile'];
174
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // public types, re-exported in src/bundle/index.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { Extension } from '../core';
3
- import { Editor, EditorOptions, EditorPreset } from './Editor';
4
- import { ExtensionsOptions } from './wysiwyg-preset';
5
- export declare type UseMarkdownEditorProps<T extends object = {}> = Omit<EditorOptions, 'extensions' | 'renderStorage' | 'preset'> & {
6
- /**
7
- * A set of plug-in extensions.
8
- *
9
- * @default 'full'
10
- */
11
- preset?: EditorPreset;
12
- breaks?: boolean;
13
- /** Used only first value. Сhanging the value will not lead to anything */
14
- extensionOptions?: Omit<ExtensionsOptions, 'reactRenderer'> & T;
15
- /** Used only first value. Сhanging the value will not lead to anything */
16
- extraExtensions?: Extension;
17
- };
18
- export declare function useMarkdownEditor<T extends object = {}>(props: UseMarkdownEditorProps<T>, deps?: React.DependencyList): Editor;
2
+ import type { MarkdownEditorInstance, MarkdownEditorOptions } from './types';
3
+ export declare type UseMarkdownEditorProps<T extends object = {}> = MarkdownEditorOptions<T>;
4
+ export declare function useMarkdownEditor<T extends object = {}>(props: UseMarkdownEditorProps<T>, deps?: React.DependencyList): MarkdownEditorInstance;
@@ -6,25 +6,35 @@ const extensions_1 = require("../extensions");
6
6
  const logger_1 = require("../logger");
7
7
  const Editor_1 = require("./Editor");
8
8
  const wysiwyg_preset_1 = require("./wysiwyg-preset");
9
+ // [major] TODO: remove generic type
9
10
  function useMarkdownEditor(props, deps = []) {
10
11
  const editor = (0, react_1.useMemo)(() => {
11
- var _a;
12
- const preset = (_a = props.preset) !== null && _a !== void 0 ? _a : 'full';
12
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
13
+ const { md = {}, initial = {}, handlers = {}, experimental = {}, markupConfig = {}, wysiwygConfig = {}, } = props;
14
+ const breaks = (_a = md.breaks) !== null && _a !== void 0 ? _a : props.breaks;
15
+ const preset = (_b = props.preset) !== null && _b !== void 0 ? _b : 'full';
13
16
  const renderStorage = new extensions_1.ReactRenderStorage();
17
+ const needToSetDimensionsForUploadedImages = (_c = experimental.needToSetDimensionsForUploadedImages) !== null && _c !== void 0 ? _c : props.needToSetDimensionsForUploadedImages;
14
18
  const extensions = (builder) => {
15
- builder.use(wysiwyg_preset_1.BundlePreset, Object.assign(Object.assign({}, props.extensionOptions), { preset, reactRenderer: renderStorage, onCancel: () => {
19
+ var _a;
20
+ const extensionOptions = (_a = wysiwygConfig.extensionOptions) !== null && _a !== void 0 ? _a : props.extensionOptions;
21
+ builder.use(wysiwyg_preset_1.BundlePreset, Object.assign(Object.assign({}, extensionOptions), { preset, reactRenderer: renderStorage, onCancel: () => {
16
22
  editor.emit('cancel', null);
17
23
  return true;
18
24
  }, onSubmit: () => {
19
25
  editor.emit('submit', null);
20
26
  return true;
21
- }, mdBreaks: props.breaks, fileUploadHandler: props.fileUploadHandler, needToSetDimensionsForUploadedImages: props.needToSetDimensionsForUploadedImages }));
22
- if (props.extraExtensions) {
23
- builder.use(props.extraExtensions, props.extensionOptions);
27
+ }, mdBreaks: breaks, fileUploadHandler: props.fileUploadHandler, needToSetDimensionsForUploadedImages }));
28
+ {
29
+ const extraExtensions = wysiwygConfig.extensions || props.extraExtensions;
30
+ if (extraExtensions) {
31
+ builder.use(extraExtensions, props.extensionOptions);
32
+ }
24
33
  }
25
34
  };
26
- return new Editor_1.EditorImpl(Object.assign(Object.assign({}, props), { extensions, renderStorage, preset }));
27
- }, deps.concat(props.allowHTML, props.linkify, props.linkifyTlds, props.breaks, props.splitMode, props.needToSetDimensionsForUploadedImages));
35
+ return new Editor_1.EditorImpl(Object.assign(Object.assign({}, props), { preset,
36
+ renderStorage, md: Object.assign(Object.assign({}, md), { breaks, html: (_d = md.html) !== null && _d !== void 0 ? _d : props.allowHTML, linkify: (_e = md.linkify) !== null && _e !== void 0 ? _e : props.linkify, linkifyTlds: (_f = md.linkifyTlds) !== null && _f !== void 0 ? _f : props.linkifyTlds }), initial: Object.assign(Object.assign({}, initial), { markup: (_g = initial.markup) !== null && _g !== void 0 ? _g : props.initialMarkup, mode: (_h = initial.mode) !== null && _h !== void 0 ? _h : props.initialEditorMode, toolbarVisible: (_j = initial.toolbarVisible) !== null && _j !== void 0 ? _j : props.initialToolbarVisible, splitModeEnabled: (_k = initial.splitModeEnabled) !== null && _k !== void 0 ? _k : props.initialSplitModeEnabled }), handlers: Object.assign(Object.assign({}, handlers), { uploadFile: (_l = handlers.uploadFile) !== null && _l !== void 0 ? _l : props.fileUploadHandler }), experimental: Object.assign(Object.assign({}, experimental), { needToSetDimensionsForUploadedImages, prepareRawMarkup: (_m = experimental.prepareRawMarkup) !== null && _m !== void 0 ? _m : props.prepareRawMarkup, beforeEditorModeChange: (_o = experimental.beforeEditorModeChange) !== null && _o !== void 0 ? _o : props.experimental_beforeEditorModeChange }), markupConfig: Object.assign(Object.assign({}, markupConfig), { splitMode: (_p = markupConfig.splitMode) !== null && _p !== void 0 ? _p : props.splitMode, renderPreview: (_q = markupConfig.renderPreview) !== null && _q !== void 0 ? _q : props.renderPreview, extensions: (_r = markupConfig.extensions) !== null && _r !== void 0 ? _r : props.extraMarkupExtensions }), wysiwygConfig: Object.assign(Object.assign({}, wysiwygConfig), { extensions, escapeConfig: (_s = wysiwygConfig.escapeConfig) !== null && _s !== void 0 ? _s : props.escapeConfig }) }));
37
+ }, deps);
28
38
  (0, react_1.useLayoutEffect)(() => {
29
39
  function onToolbarAction({ editorMode, id }) {
30
40
  logger_1.logger.action({ mode: editorMode, source: 'toolbar', action: id });
@@ -3,10 +3,10 @@ import { BehaviorPresetOptions } from '../extensions/behavior';
3
3
  import { EditorModeKeymapOptions } from '../extensions/behavior/EditorModeKeymap';
4
4
  import { FullPresetOptions } from '../presets/full';
5
5
  import type { FileUploadHandler } from '../utils/upload';
6
- import { EditorPreset } from './Editor';
6
+ import { MarkdownEditorPreset } from './types';
7
7
  export declare type ExtensionsOptions = BehaviorPresetOptions & FullPresetOptions;
8
8
  export declare type BundlePresetOptions = ExtensionsOptions & EditorModeKeymapOptions & {
9
- preset: EditorPreset;
9
+ preset: MarkdownEditorPreset;
10
10
  mdBreaks?: boolean;
11
11
  fileUploadHandler?: FileUploadHandler;
12
12
  /**
@@ -5,7 +5,7 @@ import type { Extension } from './types/extension';
5
5
  import type { Parser } from './types/parser';
6
6
  import type { Serializer } from './types/serializer';
7
7
  declare type OnChange = (editor: WysiwygEditor) => void;
8
- declare type EscapeConfig = {
8
+ export declare type EscapeConfig = {
9
9
  commonEscape?: RegExp;
10
10
  startOfLineEscape?: RegExp;
11
11
  };
@@ -1 +1 @@
1
- export { YfmHeadingAttr, headingNodeName, type HeadingLevel } from '../YfmHeading/const';
1
+ export { YfmHeadingAttr, headingNodeName, type HeadingLevel } from '../../yfm/YfmHeading/const';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.headingNodeName = exports.YfmHeadingAttr = void 0;
4
- var const_1 = require("../YfmHeading/const");
4
+ var const_1 = require("../../yfm/YfmHeading/const");
5
5
  Object.defineProperty(exports, "YfmHeadingAttr", { enumerable: true, get: function () { return const_1.YfmHeadingAttr; } });
6
6
  Object.defineProperty(exports, "headingNodeName", { enumerable: true, get: function () { return const_1.headingNodeName; } });