@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
@@ -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';
@@ -1,3 +1,4 @@
1
+ export * from './types';
1
2
  export { MarkdownEditorProvider, useMarkdownEditorContext } from './context';
2
3
  export { useMarkdownEditor } from './useMarkdownEditor';
3
4
  export { MarkdownEditorView } from './MarkdownEditorView';
@@ -1,6 +1,6 @@
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
  import './index.css';
5
5
  export declare type EditorSettingsProps = Omit<SettingsContentProps, 'onClose'> & {
6
6
  renderPreviewButton?: boolean;
@@ -8,14 +8,14 @@ export declare type EditorSettingsProps = Omit<SettingsContentProps, 'onClose'>
8
8
  };
9
9
  export declare const EditorSettings: React.NamedExoticComponent<EditorSettingsProps>;
10
10
  declare type SettingsContentProps = ClassNameProps & {
11
- mode: EditorMode;
11
+ mode: MarkdownEditorMode;
12
12
  onClose: () => void;
13
- onModeChange: (mode: EditorMode) => void;
13
+ onModeChange: (mode: MarkdownEditorMode) => void;
14
14
  onShowPreviewChange: (showPreview: boolean) => void;
15
15
  showPreview: boolean;
16
16
  toolbarVisibility: boolean;
17
17
  onToolbarVisibilityChange: (val: boolean) => void;
18
- splitMode?: SplitMode;
18
+ splitMode?: MarkdownEditorSplitMode;
19
19
  splitModeEnabled?: boolean;
20
20
  onSplitModeChange?: (splitModeEnabled: boolean) => void;
21
21
  };
@@ -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,2 @@
1
+ // public types, re-exported in src/bundle/index.ts
2
+ export {};
@@ -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;
@@ -3,25 +3,35 @@ import { ReactRenderStorage } from '../extensions';
3
3
  import { logger } from '../logger';
4
4
  import { EditorImpl } from './Editor';
5
5
  import { BundlePreset } from './wysiwyg-preset';
6
+ // [major] TODO: remove generic type
6
7
  export function useMarkdownEditor(props, deps = []) {
7
8
  const editor = useMemo(() => {
8
- var _a;
9
- const preset = (_a = props.preset) !== null && _a !== void 0 ? _a : 'full';
9
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
10
+ const { md = {}, initial = {}, handlers = {}, experimental = {}, markupConfig = {}, wysiwygConfig = {}, } = props;
11
+ const breaks = (_a = md.breaks) !== null && _a !== void 0 ? _a : props.breaks;
12
+ const preset = (_b = props.preset) !== null && _b !== void 0 ? _b : 'full';
10
13
  const renderStorage = new ReactRenderStorage();
14
+ const needToSetDimensionsForUploadedImages = (_c = experimental.needToSetDimensionsForUploadedImages) !== null && _c !== void 0 ? _c : props.needToSetDimensionsForUploadedImages;
11
15
  const extensions = (builder) => {
12
- builder.use(BundlePreset, Object.assign(Object.assign({}, props.extensionOptions), { preset, reactRenderer: renderStorage, onCancel: () => {
16
+ var _a;
17
+ const extensionOptions = (_a = wysiwygConfig.extensionOptions) !== null && _a !== void 0 ? _a : props.extensionOptions;
18
+ builder.use(BundlePreset, Object.assign(Object.assign({}, extensionOptions), { preset, reactRenderer: renderStorage, onCancel: () => {
13
19
  editor.emit('cancel', null);
14
20
  return true;
15
21
  }, onSubmit: () => {
16
22
  editor.emit('submit', null);
17
23
  return true;
18
- }, mdBreaks: props.breaks, fileUploadHandler: props.fileUploadHandler, needToSetDimensionsForUploadedImages: props.needToSetDimensionsForUploadedImages }));
19
- if (props.extraExtensions) {
20
- builder.use(props.extraExtensions, props.extensionOptions);
24
+ }, mdBreaks: breaks, fileUploadHandler: props.fileUploadHandler, needToSetDimensionsForUploadedImages }));
25
+ {
26
+ const extraExtensions = wysiwygConfig.extensions || props.extraExtensions;
27
+ if (extraExtensions) {
28
+ builder.use(extraExtensions, props.extensionOptions);
29
+ }
21
30
  }
22
31
  };
23
- return new EditorImpl(Object.assign(Object.assign({}, props), { extensions, renderStorage, preset }));
24
- }, deps.concat(props.allowHTML, props.linkify, props.linkifyTlds, props.breaks, props.splitMode, props.needToSetDimensionsForUploadedImages));
32
+ return new EditorImpl(Object.assign(Object.assign({}, props), { preset,
33
+ 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 }) }));
34
+ }, deps);
25
35
  useLayoutEffect(() => {
26
36
  function onToolbarAction({ editorMode, id }) {
27
37
  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';
@@ -0,0 +1 @@
1
+ export { YfmHeadingAttr, headingNodeName } from '../../yfm/YfmHeading/const';
@@ -1,7 +1,7 @@
1
1
  import type { Node } from 'prosemirror-model';
2
2
  import { Plugin } from 'prosemirror-state';
3
3
  import { Decoration, NodeView } from 'prosemirror-view';
4
- import type { ReactRenderer, RendererItem } from '../../../extensions/behavior/ReactRenderer';
4
+ import type { ReactRenderer, RendererItem } from '../../behavior/ReactRenderer';
5
5
  import type { KatexOptions, RunOptions } from './types';
6
6
  import './view-and-edit.css';
7
7
  export declare type MathNodeViewOptions = Pick<RunOptions, 'sanitize'> & {
@@ -1,7 +1,9 @@
1
- import '@diplodoc/transform/dist/js/yfm';
1
+ import '@diplodoc/transform/dist/js/base';
2
+ import '@diplodoc/transform/dist/js/_yfm-only';
2
3
  import type { ExtensionAuto } from '../../../core';
3
4
  import { YfmConfigsSpecsOptions } from './YfmConfigsSpecs';
4
- import '@diplodoc/transform/dist/css/yfm.css';
5
+ import '@diplodoc/transform/dist/css/base.css';
6
+ import '@diplodoc/transform/dist/css/_yfm-only.css';
5
7
  import './yfm.css';
6
8
  export declare type YfmConfigsOptions = YfmConfigsSpecsOptions & {};
7
9
  export declare const YfmConfigs: ExtensionAuto<YfmConfigsOptions>;
@@ -1,7 +1,9 @@
1
- import '@diplodoc/transform/dist/js/yfm';
1
+ import '@diplodoc/transform/dist/js/base';
2
+ import '@diplodoc/transform/dist/js/_yfm-only'; // eslint-disable-line import/order
2
3
  import { Plugin } from 'prosemirror-state';
3
4
  import { YfmConfigsSpecs } from './YfmConfigsSpecs';
4
- import '@diplodoc/transform/dist/css/yfm.css';
5
+ import '@diplodoc/transform/dist/css/base.css';
6
+ import '@diplodoc/transform/dist/css/_yfm-only.css'; // eslint-disable-line import/order
5
7
  import './yfm.css'; // eslint-disable-line import/order
6
8
  export const YfmConfigs = (builder, opts) => {
7
9
  // apply md-it-attrs plugin and ignore yfm lint token
@@ -1,5 +1,4 @@
1
- import log from '@diplodoc/transform/lib/log';
2
- import yfmPlugin from '@diplodoc/transform/lib/plugins/cut';
1
+ import { transform as yfmCut } from '@diplodoc/cut-extension';
3
2
  import { CutNode } from './const';
4
3
  import { parserTokens } from './parser';
5
4
  import { getSchemaSpecs } from './schema';
@@ -8,7 +7,7 @@ export { CutNode, cutType, cutTitleType, cutContentType } from './const';
8
7
  export const YfmCutSpecs = (builder, opts) => {
9
8
  const schemaSpecs = getSchemaSpecs(opts, builder.context.get('placeholder'));
10
9
  builder
11
- .configureMd((md) => md.use(yfmPlugin, { log }))
10
+ .configureMd((md) => md.use(yfmCut({ bundle: false })))
12
11
  .addNode(CutNode.Cut, () => ({
13
12
  spec: schemaSpecs[CutNode.Cut],
14
13
  toMd: serializerTokens[CutNode.Cut],
@@ -1,8 +1,6 @@
1
1
  .ProseMirror.yfm .yfm-cut {
2
2
  border: 1px dashed transparent;
3
3
  border-radius: var(--g-border-radius-s);
4
- /* TODO: Remove this after updating @diplodoc/transform to version 4.19.0 or higher */
5
- /* This ensures backward compatibility with earlier versions of cut-extension */
6
4
  }
7
5
  .ProseMirror.yfm .yfm-cut:hover {
8
6
  border-color: var(--g-color-line-generic);
@@ -12,11 +10,4 @@
12
10
  }
13
11
  .ProseMirror.yfm .yfm-cut .yfm-cut-title:focus {
14
12
  outline: 0;
15
- }
16
- .ProseMirror.yfm .yfm-cut .yfm-cut-title {
17
- list-style: none;
18
- }
19
- .ProseMirror.yfm .yfm-cut .yfm-cut-title::-webkit-details-marker,
20
- .ProseMirror.yfm .yfm-cut .yfm-cut-title::marker {
21
- display: none;
22
13
  }
@@ -1,5 +1,7 @@
1
+ import '@diplodoc/cut-extension/runtime';
1
2
  import type { Action, ExtensionAuto } from '../../../core';
2
3
  import { YfmCutSpecsOptions } from './YfmCutSpecs';
4
+ import '@diplodoc/cut-extension/runtime/styles.css';
3
5
  import './index.css';
4
6
  declare const cutAction = "toYfmCut";
5
7
  export { CutNode, cutType, cutTitleType, cutContentType } from './YfmCutSpecs';
@@ -1,3 +1,4 @@
1
+ import '@diplodoc/cut-extension/runtime';
1
2
  import { chainCommands } from 'prosemirror-commands';
2
3
  import { nodeInputRule } from '../../../utils/inputrules';
3
4
  import { withLogAction } from '../../../utils/keymap';
@@ -8,7 +9,8 @@ import { cutType } from './const';
8
9
  import { YfmCutTitleNodeView } from './nodeviews/yfm-cut-title';
9
10
  import { cutActivePlugin } from './plugins/active';
10
11
  import { cutAutoOpenPlugin } from './plugins/auto-open';
11
- import './index.css';
12
+ import '@diplodoc/cut-extension/runtime/styles.css';
13
+ import './index.css'; // eslint-disable-line import/order
12
14
  const cutAction = 'toYfmCut';
13
15
  export { CutNode, cutType, cutTitleType, cutContentType } from './YfmCutSpecs';
14
16
  export const YfmCut = (builder, opts) => {
@@ -8,7 +8,7 @@
8
8
  font-weight: 700;
9
9
  }
10
10
  .yfm .yfm-note > p {
11
- margin: 0 0 10px 0;
11
+ margin: 0 0 10px;
12
12
  }
13
13
  .yfm .yfm-note > p:first-child::before {
14
14
  box-sizing: content-box;
@@ -29,23 +29,23 @@
29
29
  .yfm .yfm-note.yfm-accent-tip > p:first-child::before {
30
30
  content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16"%3E%3Ccircle cx="8" cy="8" r="8" fill="rgb(86,189,103)"/%3E%3Crect width="1" height="5" x="7.5" y="6.5" stroke="%23fff" rx=".5"/%3E%3Ccircle cx="8" cy="4" r="1" fill="%23fff"/%3E%3C/svg%3E');
31
31
  }
32
- .yfm .yfm-note.yfm-accent-alert > p:first-child::before {
33
- content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16"%3E%3Ccircle cx="8" cy="8" r="8" fill="rgb(255,70,69)"/%3E%3Crect width="1" height="5" x="7.5" y="6.5" stroke="%23fff" rx=".5"/%3E%3Ccircle cx="8" cy="4" r="1" fill="%23fff"/%3E%3C/svg%3E');
34
- }
35
32
  .yfm .yfm-note.yfm-accent-warning > p:first-child::before {
36
33
  content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16"%3E%3Ccircle cx="8" cy="8" r="8" fill="rgb(241,149,24)"/%3E%3Crect width="1" height="5" x="7.5" y="6.5" stroke="%23fff" rx=".5"/%3E%3Ccircle cx="8" cy="4" r="1" fill="%23fff"/%3E%3C/svg%3E');
37
34
  }
35
+ .yfm .yfm-note.yfm-accent-alert > p:first-child::before {
36
+ content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16"%3E%3Ccircle cx="8" cy="8" r="8" fill="rgb(255,70,69)"/%3E%3Crect width="1" height="5" x="7.5" y="6.5" stroke="%23fff" rx=".5"/%3E%3Ccircle cx="8" cy="4" r="1" fill="%23fff"/%3E%3C/svg%3E');
37
+ }
38
38
  .yfm .yfm-note.yfm-accent-info {
39
- background: rgba(2, 123, 243, 0.08);
39
+ background: var(--yfm-color-note-info-background);
40
40
  }
41
41
  .yfm .yfm-note.yfm-accent-tip {
42
- background: rgba(63, 201, 46, 0.1);
42
+ background: var(--yfm-color-note-tip-background);
43
43
  }
44
44
  .yfm .yfm-note.yfm-accent-alert {
45
- background: rgba(235, 50, 38, 0.08);
45
+ background: var(--yfm-color-note-important-background);
46
46
  }
47
47
  .yfm .yfm-note.yfm-accent-warning {
48
- background: rgba(255, 136, 0, 0.15);
48
+ background: var(--yfm-color-note-warning-background);
49
49
  }
50
50
 
51
51
  .g-md-yfm-note-toolbar {
@@ -53,14 +53,14 @@
53
53
  }
54
54
 
55
55
  .g-md-toolbar-group__s-button_id_note-type-tip {
56
- color: #56bd67;
56
+ color: var(--yfm-color-note-tip);
57
57
  }
58
58
  .g-md-toolbar-group__s-button_id_note-type-info {
59
- color: #027bf3;
59
+ color: var(--yfm-color-note-info);
60
60
  }
61
61
  .g-md-toolbar-group__s-button_id_note-type-alert {
62
- color: #ff4645;
62
+ color: var(--yfm-color-note-important);
63
63
  }
64
64
  .g-md-toolbar-group__s-button_id_note-type-warning {
65
- color: #f19518;
65
+ color: var(--yfm-color-note-warning);
66
66
  }
@@ -25,7 +25,10 @@ export const yfmNoteTooltipPlugin = ({ actions, schema }) => new Plugin({
25
25
  idPrefix: 'yfm-note-tooltip',
26
26
  nodeType: noteType(view.state.schema),
27
27
  popupPlacement: ['bottom', 'top'],
28
- content: (view, { node, pos }) => (React.createElement(Toolbar, { editor: actions, focus: () => view.focus(), className: "g-md-yfm-note-toolbar", data: [
28
+ content: (view, { node, pos }) => (React.createElement(Toolbar, { editor: actions, focus: () => view.focus(),
29
+ // the yfm class allows to access css variables
30
+ // https://github.com/diplodoc-platform/transform/blob/master/src/scss/_common.scss#L17
31
+ className: "yfm g-md-yfm-note-toolbar", data: [
29
32
  [
30
33
  YfmNoteType.info,
31
34
  YfmNoteType.tip,
@@ -10,7 +10,8 @@ export declare enum TabsNode {
10
10
  }
11
11
  export declare enum TabsAttrs {
12
12
  class = "class",
13
- dataDiplodocGroup = "data-diplodoc-group"
13
+ dataDiplodocGroup = "data-diplodoc-group",
14
+ dataDiplodocVariant = "data-diplodoc-variant"
14
15
  }
15
16
  export declare enum TabsListAttrs {
16
17
  class = "class",
@@ -14,6 +14,7 @@ export var TabsAttrs;
14
14
  (function (TabsAttrs) {
15
15
  TabsAttrs["class"] = "class";
16
16
  TabsAttrs["dataDiplodocGroup"] = "data-diplodoc-group";
17
+ TabsAttrs["dataDiplodocVariant"] = "data-diplodoc-variant";
17
18
  })(TabsAttrs || (TabsAttrs = {}));
18
19
  export var TabsListAttrs;
19
20
  (function (TabsListAttrs) {
@@ -1,5 +1,4 @@
1
- import log from '@diplodoc/transform/lib/log';
2
- import yfmPlugin from '@diplodoc/transform/lib/plugins/tabs';
1
+ import { transform as yfmTabs } from '@diplodoc/tabs-extension';
3
2
  import { nodeTypeFactory } from '../../../../utils/schema';
4
3
  import { TabsNode } from './const';
5
4
  import { tabsPostPlugin } from './md-plugin';
@@ -14,7 +13,19 @@ export const tabsListType = nodeTypeFactory(TabsNode.TabsList);
14
13
  export const YfmTabsSpecs = (builder, opts) => {
15
14
  const schemaSpecs = getSchemaSpecs(opts);
16
15
  builder
17
- .configureMd((md) => md.use(yfmPlugin, { log }).use(tabsPostPlugin))
16
+ .configureMd((md) => md
17
+ .use(yfmTabs({
18
+ bundle: false,
19
+ features: {
20
+ enabledVariants: {
21
+ regular: true,
22
+ radio: true,
23
+ dropdown: false,
24
+ accordion: false,
25
+ },
26
+ },
27
+ }))
28
+ .use(tabsPostPlugin))
18
29
  .addNode(TabsNode.Tab, () => ({
19
30
  spec: schemaSpecs[TabsNode.Tab],
20
31
  toMd: serializerTokens[TabsNode.Tab],
@@ -4,7 +4,6 @@ export const tabsPostPlugin = (md) => {
4
4
  md.core.ruler.push('me_tabs_after', (state) => {
5
5
  var _a;
6
6
  const stack = [];
7
- const tabCloseIndexes = [];
8
7
  for (const token of state.tokens) {
9
8
  switch (token.type) {
10
9
  case 'tabs_open': {
@@ -23,11 +22,6 @@ export const tabsPostPlugin = (md) => {
23
22
  case 'tab_open': {
24
23
  const item = stack.at(-1);
25
24
  if (item === null || item === void 0 ? void 0 : item.vertical) {
26
- // --> TODO: remove after updating to tabs-extension v^3.4.0
27
- const isInput = token.tag === 'input';
28
- if (isInput)
29
- token.type = 'tab-input';
30
- // <--
31
25
  token.type = prefix + token.type;
32
26
  }
33
27
  break;
@@ -36,9 +30,6 @@ export const tabsPostPlugin = (md) => {
36
30
  const item = stack.at(-1);
37
31
  if (item === null || item === void 0 ? void 0 : item.vertical) {
38
32
  token.type = prefix + token.type;
39
- // --> TODO: remove after updating to tabs-extension v^3.4.0
40
- tabCloseIndexes.push(state.tokens.indexOf(token));
41
- // <--
42
33
  }
43
34
  break;
44
35
  }
@@ -51,25 +42,7 @@ export const tabsPostPlugin = (md) => {
51
42
  }
52
43
  break;
53
44
  }
54
- // --> TODO: remove after updating to tabs-extension v^3.4.0
55
- case 'label_open': {
56
- const tokenIndex = state.tokens.indexOf(token);
57
- const prevToken = tokenIndex > 0 && state.tokens.at(tokenIndex - 1);
58
- if (prevToken && prevToken.type === 'r-tab-input') {
59
- token.type = prefix + 'tab-' + token.type;
60
- }
61
- break;
62
- }
63
- // <--
64
45
  }
65
46
  }
66
- // --> TODO: remove after updating to tabs-extension v^3.4.0
67
- for (const index of tabCloseIndexes.reverse()) {
68
- if (index === -1)
69
- continue;
70
- const labelCloseToken = new state.Token(prefix + 'tab-label_close', 'label', -1);
71
- state.tokens.splice(index, 0, labelCloseToken);
72
- }
73
- // <--
74
47
  });
75
48
  };