@tiptap/core 2.0.0-beta.20 → 2.0.0-beta.201

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 (333) hide show
  1. package/README.md +2 -2
  2. package/dist/packages/core/src/CommandManager.d.ts +13 -6
  3. package/dist/packages/core/src/Editor.d.ts +24 -19
  4. package/dist/packages/core/src/EventEmitter.d.ts +8 -4
  5. package/dist/packages/core/src/Extension.d.ts +99 -27
  6. package/dist/packages/core/src/ExtensionManager.d.ts +7 -13
  7. package/dist/packages/core/src/InputRule.d.ts +42 -0
  8. package/dist/packages/core/src/Mark.d.ts +139 -31
  9. package/dist/packages/core/src/Node.d.ts +157 -33
  10. package/dist/packages/core/src/NodeView.d.ts +8 -12
  11. package/dist/packages/core/src/PasteRule.d.ts +42 -0
  12. package/dist/packages/core/src/Tracker.d.ts +11 -0
  13. package/dist/packages/core/src/commands/blur.d.ts +3 -3
  14. package/dist/packages/core/src/commands/clearContent.d.ts +3 -3
  15. package/dist/packages/core/src/commands/clearNodes.d.ts +3 -3
  16. package/dist/packages/core/src/commands/command.d.ts +2 -2
  17. package/dist/packages/core/src/commands/createParagraphNear.d.ts +3 -3
  18. package/dist/packages/core/src/commands/deleteNode.d.ts +13 -0
  19. package/dist/packages/core/src/commands/deleteRange.d.ts +3 -3
  20. package/dist/packages/core/src/commands/deleteSelection.d.ts +3 -3
  21. package/dist/packages/core/src/commands/enter.d.ts +3 -3
  22. package/dist/packages/core/src/commands/exitCode.d.ts +3 -3
  23. package/dist/packages/core/src/commands/extendMarkRange.d.ts +3 -3
  24. package/dist/packages/core/src/commands/first.d.ts +3 -3
  25. package/dist/packages/core/src/commands/focus.d.ts +5 -3
  26. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  27. package/dist/packages/core/src/commands/index.d.ts +50 -0
  28. package/dist/packages/core/src/commands/insertContent.d.ts +7 -3
  29. package/dist/packages/core/src/commands/insertContentAt.d.ts +16 -0
  30. package/dist/packages/core/src/commands/joinBackward.d.ts +3 -3
  31. package/dist/packages/core/src/commands/joinForward.d.ts +3 -3
  32. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +3 -3
  33. package/dist/packages/core/src/commands/lift.d.ts +3 -3
  34. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +3 -3
  35. package/dist/packages/core/src/commands/liftListItem.d.ts +3 -3
  36. package/dist/packages/core/src/commands/newlineInCode.d.ts +3 -3
  37. package/dist/packages/core/src/commands/resetAttributes.d.ts +4 -4
  38. package/dist/packages/core/src/commands/scrollIntoView.d.ts +3 -3
  39. package/dist/packages/core/src/commands/selectAll.d.ts +3 -3
  40. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +3 -3
  41. package/dist/packages/core/src/commands/selectNodeForward.d.ts +3 -3
  42. package/dist/packages/core/src/commands/selectParentNode.d.ts +3 -3
  43. package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +12 -0
  44. package/dist/packages/core/src/commands/selectTextblockStart.d.ts +12 -0
  45. package/dist/packages/core/src/commands/setContent.d.ts +4 -3
  46. package/dist/packages/core/src/commands/setMark.d.ts +3 -3
  47. package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
  48. package/dist/packages/core/src/commands/setNode.d.ts +3 -3
  49. package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
  50. package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
  51. package/dist/packages/core/src/commands/sinkListItem.d.ts +3 -3
  52. package/dist/packages/core/src/commands/splitBlock.d.ts +3 -3
  53. package/dist/packages/core/src/commands/splitListItem.d.ts +3 -3
  54. package/dist/packages/core/src/commands/toggleList.d.ts +3 -3
  55. package/dist/packages/core/src/commands/toggleMark.d.ts +8 -3
  56. package/dist/packages/core/src/commands/toggleNode.d.ts +3 -3
  57. package/dist/packages/core/src/commands/toggleWrap.d.ts +3 -3
  58. package/dist/packages/core/src/commands/undoInputRule.d.ts +3 -3
  59. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +3 -3
  60. package/dist/packages/core/src/commands/unsetMark.d.ts +8 -3
  61. package/dist/packages/core/src/commands/updateAttributes.d.ts +4 -4
  62. package/dist/packages/core/src/commands/wrapIn.d.ts +3 -3
  63. package/dist/packages/core/src/commands/wrapInList.d.ts +3 -3
  64. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +1 -1
  65. package/dist/packages/core/src/extensions/commands.d.ts +2 -99
  66. package/dist/packages/core/src/extensions/editable.d.ts +1 -1
  67. package/dist/packages/core/src/extensions/focusEvents.d.ts +1 -1
  68. package/dist/packages/core/src/extensions/index.d.ts +1 -0
  69. package/dist/packages/core/src/extensions/keymap.d.ts +1 -1
  70. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  71. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +7 -0
  72. package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
  73. package/dist/packages/core/src/helpers/createDocument.d.ts +3 -4
  74. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +4 -5
  75. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +2 -0
  76. package/dist/packages/core/src/helpers/findChildren.d.ts +3 -0
  77. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
  78. package/dist/packages/core/src/helpers/findParentNode.d.ts +2 -3
  79. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +2 -2
  80. package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -2
  81. package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
  82. package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
  83. package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
  84. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +2 -2
  85. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  86. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  87. package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
  88. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -2
  89. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +2 -3
  90. package/dist/packages/core/src/helpers/getMarkRange.d.ts +1 -1
  91. package/dist/packages/core/src/helpers/getMarkType.d.ts +1 -1
  92. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +2 -2
  93. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +2 -3
  94. package/dist/packages/core/src/helpers/getNodeType.d.ts +1 -1
  95. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -3
  96. package/dist/packages/core/src/helpers/getSchema.d.ts +1 -1
  97. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
  98. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +1 -1
  99. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +1 -1
  100. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -2
  101. package/dist/packages/core/src/helpers/getText.d.ts +6 -0
  102. package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
  103. package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +2 -0
  104. package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +3 -0
  105. package/dist/packages/core/src/helpers/index.d.ts +33 -0
  106. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +1 -1
  107. package/dist/packages/core/src/helpers/isActive.d.ts +1 -2
  108. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  109. package/dist/packages/core/src/helpers/isList.d.ts +1 -1
  110. package/dist/packages/core/src/helpers/isMarkActive.d.ts +2 -3
  111. package/dist/packages/core/src/helpers/isNodeActive.d.ts +2 -3
  112. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +1 -1
  113. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +1 -1
  114. package/dist/packages/core/src/helpers/isTextSelection.d.ts +1 -1
  115. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  116. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  117. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +1 -1
  118. package/dist/packages/core/src/helpers/splitExtensions.d.ts +6 -6
  119. package/dist/packages/core/src/index.d.ts +14 -21
  120. package/dist/packages/core/src/inputRules/index.d.ts +5 -0
  121. package/dist/packages/core/src/inputRules/markInputRule.d.ts +11 -2
  122. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +11 -2
  123. package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
  124. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
  125. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +23 -0
  126. package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
  127. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +11 -2
  128. package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +12 -0
  129. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +9 -0
  130. package/dist/packages/core/src/style.d.ts +1 -2
  131. package/dist/packages/core/src/types.d.ts +112 -56
  132. package/dist/packages/core/src/utilities/callOrReturn.d.ts +2 -1
  133. package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -1
  134. package/dist/packages/core/src/utilities/deleteProps.d.ts +1 -2
  135. package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -1
  136. package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +1 -0
  137. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  138. package/dist/packages/core/src/utilities/fromString.d.ts +1 -1
  139. package/dist/packages/core/src/utilities/index.d.ts +3 -0
  140. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -1
  141. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  142. package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
  143. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  144. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -1
  145. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  146. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  147. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -2
  148. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -2
  149. package/dist/packages/core/src/utilities/minMax.d.ts +1 -1
  150. package/dist/packages/core/src/utilities/objectIncludes.d.ts +3 -2
  151. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  152. package/dist/tiptap-core.cjs.js +2732 -1465
  153. package/dist/tiptap-core.cjs.js.map +1 -1
  154. package/dist/tiptap-core.esm.js +2679 -1446
  155. package/dist/tiptap-core.esm.js.map +1 -1
  156. package/dist/tiptap-core.umd.js +2701 -1433
  157. package/dist/tiptap-core.umd.js.map +1 -1
  158. package/package.json +16 -20
  159. package/src/CommandManager.ts +64 -65
  160. package/src/Editor.ts +116 -78
  161. package/src/EventEmitter.ts +14 -4
  162. package/src/Extension.ts +193 -43
  163. package/src/ExtensionManager.ts +242 -84
  164. package/src/InputRule.ts +265 -0
  165. package/src/Mark.ts +277 -48
  166. package/src/Node.ts +279 -57
  167. package/src/NodeView.ts +115 -47
  168. package/src/PasteRule.ts +247 -0
  169. package/src/Tracker.ts +42 -0
  170. package/src/commands/blur.ts +12 -6
  171. package/src/commands/clearContent.ts +3 -3
  172. package/src/commands/clearNodes.ts +30 -18
  173. package/src/commands/command.ts +2 -2
  174. package/src/commands/createParagraphNear.ts +4 -3
  175. package/src/commands/deleteNode.ts +37 -0
  176. package/src/commands/deleteRange.ts +3 -3
  177. package/src/commands/deleteSelection.ts +4 -3
  178. package/src/commands/enter.ts +3 -3
  179. package/src/commands/exitCode.ts +4 -3
  180. package/src/commands/extendMarkRange.ts +12 -11
  181. package/src/commands/first.ts +3 -3
  182. package/src/commands/focus.ts +47 -44
  183. package/src/commands/forEach.ts +24 -0
  184. package/src/commands/index.ts +50 -0
  185. package/src/commands/insertContent.ts +13 -24
  186. package/src/commands/insertContentAt.ts +108 -0
  187. package/src/commands/joinBackward.ts +4 -3
  188. package/src/commands/joinForward.ts +4 -3
  189. package/src/commands/keyboardShortcut.ts +6 -6
  190. package/src/commands/lift.ts +6 -5
  191. package/src/commands/liftEmptyBlock.ts +4 -3
  192. package/src/commands/liftListItem.ts +6 -5
  193. package/src/commands/newlineInCode.ts +4 -3
  194. package/src/commands/resetAttributes.ts +9 -8
  195. package/src/commands/scrollIntoView.ts +3 -3
  196. package/src/commands/selectAll.ts +8 -6
  197. package/src/commands/selectNodeBackward.ts +4 -3
  198. package/src/commands/selectNodeForward.ts +4 -3
  199. package/src/commands/selectParentNode.ts +4 -3
  200. package/src/commands/selectTextblockEnd.ts +20 -0
  201. package/src/commands/selectTextblockStart.ts +20 -0
  202. package/src/commands/setContent.ts +9 -15
  203. package/src/commands/setMark.ts +80 -14
  204. package/src/commands/setMeta.ts +18 -0
  205. package/src/commands/setNode.ts +29 -7
  206. package/src/commands/setNodeSelection.ts +27 -0
  207. package/src/commands/setTextSelection.ts +33 -0
  208. package/src/commands/sinkListItem.ts +6 -5
  209. package/src/commands/splitBlock.ts +14 -19
  210. package/src/commands/splitListItem.ts +45 -18
  211. package/src/commands/toggleList.ts +83 -18
  212. package/src/commands/toggleMark.ts +18 -7
  213. package/src/commands/toggleNode.ts +6 -5
  214. package/src/commands/toggleWrap.ts +9 -9
  215. package/src/commands/undoInputRule.ts +34 -5
  216. package/src/commands/unsetAllMarks.ts +7 -11
  217. package/src/commands/unsetMark.ts +35 -22
  218. package/src/commands/updateAttributes.ts +16 -9
  219. package/src/commands/wrapIn.ts +5 -10
  220. package/src/commands/wrapInList.ts +6 -5
  221. package/src/extensions/clipboardTextSerializer.ts +14 -35
  222. package/src/extensions/commands.ts +3 -147
  223. package/src/extensions/editable.ts +1 -0
  224. package/src/extensions/focusEvents.ts +3 -5
  225. package/src/extensions/index.ts +1 -0
  226. package/src/extensions/keymap.ts +110 -13
  227. package/src/extensions/tabindex.ts +18 -0
  228. package/src/helpers/combineTransactionSteps.ts +18 -0
  229. package/src/helpers/createChainableState.ts +38 -0
  230. package/src/helpers/createDocument.ts +5 -6
  231. package/src/helpers/createNodeFromContent.ts +17 -19
  232. package/src/helpers/defaultBlockAt.ts +13 -0
  233. package/src/helpers/findChildren.ts +18 -0
  234. package/src/helpers/findChildrenInRange.ts +32 -0
  235. package/src/helpers/findParentNode.ts +3 -2
  236. package/src/helpers/findParentNodeClosestToPos.ts +3 -2
  237. package/src/helpers/generateHTML.ts +6 -5
  238. package/src/helpers/generateJSON.ts +14 -0
  239. package/src/helpers/generateText.ts +30 -0
  240. package/src/helpers/getAttributes.ts +28 -0
  241. package/src/helpers/getAttributesFromExtensions.ts +42 -14
  242. package/src/helpers/getChangedRanges.ts +83 -0
  243. package/src/helpers/getDebugJSON.ts +54 -0
  244. package/src/helpers/getExtensionField.ts +25 -0
  245. package/src/helpers/getHTMLFromFragment.ts +6 -5
  246. package/src/helpers/getMarkAttributes.ts +14 -10
  247. package/src/helpers/getMarkRange.ts +41 -8
  248. package/src/helpers/getMarkType.ts +5 -1
  249. package/src/helpers/getMarksBetween.ts +32 -10
  250. package/src/helpers/getNodeAttributes.ts +9 -9
  251. package/src/helpers/getNodeType.ts +5 -1
  252. package/src/helpers/getRenderedAttributes.ts +6 -7
  253. package/src/helpers/getSchema.ts +7 -133
  254. package/src/helpers/getSchemaByResolvedExtensions.ts +148 -0
  255. package/src/helpers/getSchemaTypeByName.ts +2 -10
  256. package/src/helpers/getSchemaTypeNameByName.ts +1 -1
  257. package/src/helpers/getSplittedAttributes.ts +4 -4
  258. package/src/helpers/getText.ts +19 -0
  259. package/src/helpers/getTextBetween.ts +49 -0
  260. package/src/helpers/getTextContentFromNodes.ts +21 -0
  261. package/src/helpers/getTextSerializersFromSchema.ts +10 -0
  262. package/src/helpers/index.ts +33 -0
  263. package/src/helpers/injectExtensionAttributesToParseRule.ts +17 -19
  264. package/src/helpers/isActive.ts +5 -5
  265. package/src/helpers/isExtensionRulesEnabled.ts +15 -0
  266. package/src/helpers/isList.ts +14 -7
  267. package/src/helpers/isMarkActive.ts +45 -20
  268. package/src/helpers/isNodeActive.ts +28 -35
  269. package/src/helpers/isNodeEmpty.ts +1 -1
  270. package/src/helpers/isNodeSelection.ts +2 -3
  271. package/src/helpers/isTextSelection.ts +2 -3
  272. package/src/helpers/posToDOMRect.ts +35 -0
  273. package/src/helpers/resolveFocusPosition.ts +43 -0
  274. package/src/helpers/selectionToInsertionEnd.ts +2 -2
  275. package/src/helpers/splitExtensions.ts +3 -3
  276. package/src/index.ts +15 -24
  277. package/src/inputRules/index.ts +5 -0
  278. package/src/inputRules/markInputRule.ts +59 -39
  279. package/src/inputRules/nodeInputRule.ts +45 -11
  280. package/src/inputRules/textInputRule.ts +35 -0
  281. package/src/inputRules/textblockTypeInputRule.ts +38 -0
  282. package/src/inputRules/wrappingInputRule.ts +60 -0
  283. package/src/pasteRules/index.ts +3 -0
  284. package/src/pasteRules/markPasteRule.ts +62 -53
  285. package/src/pasteRules/nodePasteRule.ts +39 -0
  286. package/src/pasteRules/textPasteRule.ts +35 -0
  287. package/src/style.ts +16 -3
  288. package/src/types.ts +129 -43
  289. package/src/utilities/callOrReturn.ts +6 -3
  290. package/src/utilities/createStyleTag.ts +12 -1
  291. package/src/utilities/deleteProps.ts +2 -4
  292. package/src/utilities/elementFromString.ts +4 -5
  293. package/src/utilities/escapeForRegEx.ts +4 -0
  294. package/src/utilities/findDuplicates.ts +5 -0
  295. package/src/utilities/fromString.ts +2 -2
  296. package/src/utilities/index.ts +3 -0
  297. package/src/utilities/isEmptyObject.ts +2 -2
  298. package/src/utilities/isFunction.ts +3 -0
  299. package/src/utilities/isMacOS.ts +5 -0
  300. package/src/utilities/isNumber.ts +3 -0
  301. package/src/utilities/isPlainObject.ts +8 -5
  302. package/src/utilities/isRegExp.ts +3 -0
  303. package/src/utilities/isString.ts +3 -0
  304. package/src/utilities/isiOS.ts +12 -0
  305. package/src/utilities/mergeAttributes.ts +2 -3
  306. package/src/utilities/mergeDeep.ts +2 -3
  307. package/src/utilities/minMax.ts +1 -1
  308. package/src/utilities/objectIncludes.ts +17 -5
  309. package/src/utilities/removeDuplicates.ts +15 -0
  310. package/CHANGELOG.md +0 -357
  311. package/LICENSE.md +0 -21
  312. package/dist/packages/core/src/commands/insertHTML.d.ts +0 -12
  313. package/dist/packages/core/src/commands/insertNode.d.ts +0 -13
  314. package/dist/packages/core/src/commands/insertText.d.ts +0 -12
  315. package/dist/packages/core/src/commands/replace.d.ts +0 -13
  316. package/dist/packages/core/src/commands/replaceRange.d.ts +0 -13
  317. package/dist/packages/core/src/commands/resetNodeAttributes.d.ts +0 -13
  318. package/dist/packages/core/src/commands/updateNodeAttributes.d.ts +0 -13
  319. package/dist/packages/core/src/utilities/isClass.d.ts +0 -1
  320. package/dist/packages/core/src/utilities/isObject.d.ts +0 -1
  321. package/dist/packages/core/src/utilities/removeElement.d.ts +0 -1
  322. package/dist/tiptap-core.bundle.umd.min.js +0 -17
  323. package/dist/tiptap-core.bundle.umd.min.js.map +0 -1
  324. package/src/commands/insertHTML.ts +0 -30
  325. package/src/commands/insertNode.ts +0 -33
  326. package/src/commands/insertText.ts +0 -22
  327. package/src/commands/replace.ts +0 -20
  328. package/src/commands/replaceRange.ts +0 -36
  329. package/src/commands/resetNodeAttributes.ts +0 -33
  330. package/src/commands/updateNodeAttributes.ts +0 -35
  331. package/src/utilities/isClass.ts +0 -7
  332. package/src/utilities/isObject.ts +0 -10
  333. package/src/utilities/removeElement.ts +0 -5
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@tiptap/core",
3
3
  "description": "headless rich text editor",
4
- "version": "2.0.0-beta.20",
4
+ "version": "2.0.0-beta.201",
5
5
  "homepage": "https://tiptap.dev",
6
6
  "keywords": [
7
7
  "tiptap",
8
8
  "headless",
9
9
  "wysiwyg",
10
- "text editor"
10
+ "text editor",
11
+ "prosemirror"
11
12
  ],
12
13
  "license": "MIT",
13
14
  "funding": {
@@ -17,29 +18,24 @@
17
18
  "main": "dist/tiptap-core.cjs.js",
18
19
  "umd": "dist/tiptap-core.umd.js",
19
20
  "module": "dist/tiptap-core.esm.js",
20
- "unpkg": "dist/tiptap-core.bundle.umd.min.js",
21
21
  "types": "dist/packages/core/src/index.d.ts",
22
22
  "files": [
23
23
  "src",
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@types/prosemirror-commands": "^1.0.4",
28
- "@types/prosemirror-inputrules": "^1.0.4",
29
- "@types/prosemirror-keymap": "^1.0.4",
30
- "@types/prosemirror-model": "^1.13.0",
31
- "@types/prosemirror-schema-list": "^1.0.3",
32
- "@types/prosemirror-state": "^1.2.6",
33
- "@types/prosemirror-transform": "^1.1.2",
34
- "@types/prosemirror-view": "^1.17.1",
35
- "prosemirror-commands": "^1.1.7",
36
- "prosemirror-inputrules": "^1.1.3",
37
- "prosemirror-keymap": "^1.1.3",
38
- "prosemirror-model": "^1.14.0",
39
- "prosemirror-schema-list": "^1.1.4",
40
- "prosemirror-state": "^1.3.4",
41
- "prosemirror-transform": "^1.3.2",
42
- "prosemirror-view": "^1.18.2"
27
+ "prosemirror-commands": "^1.3.1",
28
+ "prosemirror-keymap": "^1.2.0",
29
+ "prosemirror-model": "^1.18.1",
30
+ "prosemirror-schema-list": "^1.2.2",
31
+ "prosemirror-state": "^1.4.1",
32
+ "prosemirror-transform": "^1.7.0",
33
+ "prosemirror-view": "^1.28.2"
43
34
  },
44
- "gitHead": "7b1d8d103c9d74263fd5c8a6dc146ac5ec4077f5"
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/ueberdosis/tiptap",
38
+ "directory": "packages/core"
39
+ },
40
+ "sideEffects": false
45
41
  }
@@ -1,37 +1,53 @@
1
1
  import { EditorState, Transaction } from 'prosemirror-state'
2
+
2
3
  import { Editor } from './Editor'
4
+ import { createChainableState } from './helpers/createChainableState'
3
5
  import {
4
- SingleCommands,
5
- ChainedCommands,
6
+ AnyCommands,
6
7
  CanCommands,
7
- RawCommands,
8
+ ChainedCommands,
8
9
  CommandProps,
10
+ SingleCommands,
9
11
  } from './types'
10
12
 
11
- export default class CommandManager {
13
+ export class CommandManager {
12
14
 
13
15
  editor: Editor
14
16
 
15
- commands: RawCommands
17
+ rawCommands: AnyCommands
18
+
19
+ customState?: EditorState
16
20
 
17
- constructor(editor: Editor, commands: RawCommands) {
18
- this.editor = editor
19
- this.commands = commands
21
+ constructor(props: {
22
+ editor: Editor,
23
+ state?: EditorState,
24
+ }) {
25
+ this.editor = props.editor
26
+ this.rawCommands = this.editor.extensionManager.commands
27
+ this.customState = props.state
20
28
  }
21
29
 
22
- public createCommands(): SingleCommands {
23
- const { commands, editor } = this
24
- const { state, view } = editor
30
+ get hasCustomState(): boolean {
31
+ return !!this.customState
32
+ }
33
+
34
+ get state(): EditorState {
35
+ return this.customState || this.editor.state
36
+ }
37
+
38
+ get commands(): SingleCommands {
39
+ const { rawCommands, editor, state } = this
40
+ const { view } = editor
25
41
  const { tr } = state
26
42
  const props = this.buildProps(tr)
27
43
 
28
44
  return Object.fromEntries(Object
29
- .entries(commands)
45
+ .entries(rawCommands)
30
46
  .map(([name, command]) => {
31
- const method = (...args: any) => {
47
+ const method = (...args: any[]) => {
32
48
  const callback = command(...args)(props)
33
49
 
34
- if (!tr.getMeta('preventDispatch')) {
50
+ if (!tr.getMeta('preventDispatch') && !this.hasCustomState) {
35
51
  view.dispatch(tr)
36
52
  }
37
53
 
@@ -39,27 +55,40 @@ export default class CommandManager {
39
55
  }
40
56
 
41
57
  return [name, method]
42
- })) as SingleCommands
58
+ })) as unknown as SingleCommands
59
+ }
60
+
61
+ get chain(): () => ChainedCommands {
62
+ return () => this.createChain()
63
+ }
64
+
65
+ get can(): () => CanCommands {
66
+ return () => this.createCan()
43
67
  }
44
68
 
45
69
  public createChain(startTr?: Transaction, shouldDispatch = true): ChainedCommands {
46
- const { commands, editor } = this
47
- const { state, view } = editor
70
+ const { rawCommands, editor, state } = this
71
+ const { view } = editor
48
72
  const callbacks: boolean[] = []
49
73
  const hasStartTransaction = !!startTr
50
74
  const tr = startTr || state.tr
51
75
 
52
76
  const run = () => {
53
- if (!hasStartTransaction && shouldDispatch && !tr.getMeta('preventDispatch')) {
77
+ if (
78
+ !hasStartTransaction
79
+ && shouldDispatch
80
+ && !tr.getMeta('preventDispatch')
81
+ && !this.hasCustomState
82
+ ) {
54
83
  view.dispatch(tr)
55
84
  }
56
85
 
57
- return () => callbacks.every(callback => callback === true)
86
+ return callbacks.every(callback => callback === true)
58
87
  }
59
88
 
60
89
  const chain = {
61
- ...Object.fromEntries(Object.entries(commands).map(([name, command]) => {
62
- const chainedCommand = (...args: any[]) => {
90
+ ...Object.fromEntries(Object.entries(rawCommands).map(([name, command]) => {
91
+ const chainedCommand = (...args: never[]) => {
63
92
  const props = this.buildProps(tr, shouldDispatch)
64
93
  const callback = command(...args)(props)
65
94
 
@@ -77,16 +106,15 @@ export default class CommandManager {
77
106
  }
78
107
 
79
108
  public createCan(startTr?: Transaction): CanCommands {
80
- const { commands, editor } = this
81
- const { state } = editor
82
- const dispatch = undefined
109
+ const { rawCommands, state } = this
110
+ const dispatch = false
83
111
  const tr = startTr || state.tr
84
112
  const props = this.buildProps(tr, dispatch)
85
113
  const formattedCommands = Object.fromEntries(Object
86
- .entries(commands)
114
+ .entries(rawCommands)
87
115
  .map(([name, command]) => {
88
- return [name, (...args: any[]) => command(...args)({ ...props, dispatch })]
89
- })) as SingleCommands
116
+ return [name, (...args: never[]) => command(...args)({ ...props, dispatch: undefined })]
117
+ })) as unknown as SingleCommands
90
118
 
91
119
  return {
92
120
  ...formattedCommands,
@@ -95,8 +123,8 @@ export default class CommandManager {
95
123
  }
96
124
 
97
125
  public buildProps(tr: Transaction, shouldDispatch = true): CommandProps {
98
- const { editor, commands } = this
99
- const { state, view } = editor
126
+ const { rawCommands, editor, state } = this
127
+ const { view } = editor
100
128
 
101
129
  if (state.storedMarks) {
102
130
  tr.setStoredMarks(state.storedMarks)
@@ -106,7 +134,10 @@ export default class CommandManager {
106
134
  tr,
107
135
  editor,
108
136
  view,
109
- state: this.chainableState(tr, state),
137
+ state: createChainableState({
138
+ state,
139
+ transaction: tr,
140
+ }),
110
141
  dispatch: shouldDispatch
111
142
  ? () => undefined
112
143
  : undefined,
@@ -114,46 +145,14 @@ export default class CommandManager {
114
145
  can: () => this.createCan(tr),
115
146
  get commands() {
116
147
  return Object.fromEntries(Object
117
- .entries(commands)
148
+ .entries(rawCommands)
118
149
  .map(([name, command]) => {
119
- return [name, (...args: any[]) => command(...args)(props)]
120
- })) as SingleCommands
150
+ return [name, (...args: never[]) => command(...args)(props)]
151
+ })) as unknown as SingleCommands
121
152
  },
122
153
  }
123
154
 
124
155
  return props
125
156
  }
126
157
 
127
- public chainableState(tr: Transaction, state: EditorState): EditorState {
128
- let { selection } = tr
129
- let { doc } = tr
130
- let { storedMarks } = tr
131
-
132
- return {
133
- ...state,
134
- schema: state.schema,
135
- plugins: state.plugins,
136
- apply: state.apply.bind(state),
137
- applyTransaction: state.applyTransaction.bind(state),
138
- reconfigure: state.reconfigure.bind(state),
139
- toJSON: state.toJSON.bind(state),
140
- get storedMarks() {
141
- return storedMarks
142
- },
143
- get selection() {
144
- return selection
145
- },
146
- get doc() {
147
- return doc
148
- },
149
- get tr() {
150
- selection = tr.selection
151
- doc = tr.doc
152
- storedMarks = tr.storedMarks
153
-
154
- return tr
155
- },
156
- }
157
- }
158
-
159
158
  }
package/src/Editor.ts CHANGED
@@ -1,28 +1,36 @@
1
+ import { MarkType, NodeType, Schema } from 'prosemirror-model'
1
2
  import {
2
- EditorState, Plugin, PluginKey, Transaction,
3
+ EditorState,
4
+ Plugin,
5
+ PluginKey,
6
+ Transaction,
3
7
  } from 'prosemirror-state'
4
8
  import { EditorView } from 'prosemirror-view'
5
- import { Schema } from 'prosemirror-model'
6
- import getNodeAttributes from './helpers/getNodeAttributes'
7
- import getMarkAttributes from './helpers/getMarkAttributes'
8
- import isActive from './helpers/isActive'
9
- import removeElement from './utilities/removeElement'
10
- import createDocument from './helpers/createDocument'
11
- import getHTMLFromFragment from './helpers/getHTMLFromFragment'
12
- import isNodeEmpty from './helpers/isNodeEmpty'
13
- import createStyleTag from './utilities/createStyleTag'
14
- import CommandManager from './CommandManager'
15
- import ExtensionManager from './ExtensionManager'
16
- import EventEmitter from './EventEmitter'
9
+
10
+ import { CommandManager } from './CommandManager'
11
+ import { EventEmitter } from './EventEmitter'
12
+ import { ExtensionManager } from './ExtensionManager'
13
+ import * as extensions from './extensions'
14
+ import { createDocument } from './helpers/createDocument'
15
+ import { getAttributes } from './helpers/getAttributes'
16
+ import { getHTMLFromFragment } from './helpers/getHTMLFromFragment'
17
+ import { getText } from './helpers/getText'
18
+ import { getTextSerializersFromSchema } from './helpers/getTextSerializersFromSchema'
19
+ import { isActive } from './helpers/isActive'
20
+ import { isNodeEmpty } from './helpers/isNodeEmpty'
21
+ import { resolveFocusPosition } from './helpers/resolveFocusPosition'
22
+ import { style } from './style'
17
23
  import {
18
- EditorOptions,
19
24
  CanCommands,
20
25
  ChainedCommands,
26
+ EditorEvents,
27
+ EditorOptions,
28
+ JSONContent,
21
29
  SingleCommands,
22
- AnyObject,
30
+ TextSerializer,
23
31
  } from './types'
24
- import * as extensions from './extensions'
25
- import style from './style'
32
+ import { createStyleTag } from './utilities/createStyleTag'
33
+ import { isFunction } from './utilities/isFunction'
26
34
 
27
35
  export { extensions }
28
36
 
@@ -30,7 +38,7 @@ export interface HTMLElement {
30
38
  editor?: Editor
31
39
  }
32
40
 
33
- export class Editor extends EventEmitter {
41
+ export class Editor extends EventEmitter<EditorEvents> {
34
42
 
35
43
  private commandManager!: CommandManager
36
44
 
@@ -44,12 +52,13 @@ export class Editor extends EventEmitter {
44
52
 
45
53
  public isFocused = false
46
54
 
47
- private resizeObserver!: ResizeObserver
55
+ public extensionStorage: Record<string, any> = {}
48
56
 
49
57
  public options: EditorOptions = {
50
58
  element: document.createElement('div'),
51
59
  content: '',
52
60
  injectCSS: true,
61
+ injectNonce: undefined,
53
62
  extensions: [],
54
63
  autofocus: false,
55
64
  editable: true,
@@ -57,14 +66,14 @@ export class Editor extends EventEmitter {
57
66
  parseOptions: {},
58
67
  enableInputRules: true,
59
68
  enablePasteRules: true,
69
+ enableCoreExtensions: true,
70
+ onBeforeCreate: () => null,
60
71
  onCreate: () => null,
61
72
  onUpdate: () => null,
62
73
  onSelectionUpdate: () => null,
63
- onViewUpdate: () => null,
64
74
  onTransaction: () => null,
65
75
  onFocus: () => null,
66
76
  onBlur: () => null,
67
- onResize: () => null,
68
77
  onDestroy: () => null,
69
78
  }
70
79
 
@@ -74,50 +83,54 @@ export class Editor extends EventEmitter {
74
83
  this.createExtensionManager()
75
84
  this.createCommandManager()
76
85
  this.createSchema()
86
+ this.on('beforeCreate', this.options.onBeforeCreate)
87
+ this.emit('beforeCreate', { editor: this })
77
88
  this.createView()
78
89
  this.injectCSS()
79
90
  this.on('create', this.options.onCreate)
80
91
  this.on('update', this.options.onUpdate)
81
92
  this.on('selectionUpdate', this.options.onSelectionUpdate)
82
- this.on('viewUpdate', this.options.onViewUpdate)
83
93
  this.on('transaction', this.options.onTransaction)
84
94
  this.on('focus', this.options.onFocus)
85
95
  this.on('blur', this.options.onBlur)
86
96
  this.on('destroy', this.options.onDestroy)
87
97
 
88
98
  window.setTimeout(() => {
99
+ if (this.isDestroyed) {
100
+ return
101
+ }
102
+
89
103
  this.commands.focus(this.options.autofocus)
90
104
  this.emit('create', { editor: this })
91
-
92
- if (window.ResizeObserver) {
93
- this.resizeObserver = new ResizeObserver(() => {
94
- this.emit('resize', { editor: this })
95
- })
96
- this.resizeObserver.observe(this.view.dom)
97
- }
98
105
  }, 0)
106
+ }
99
107
 
108
+ /**
109
+ * Returns the editor storage.
110
+ */
111
+ public get storage(): Record<string, any> {
112
+ return this.extensionStorage
100
113
  }
101
114
 
102
115
  /**
103
116
  * An object of all registered commands.
104
117
  */
105
118
  public get commands(): SingleCommands {
106
- return this.commandManager.createCommands()
119
+ return this.commandManager.commands
107
120
  }
108
121
 
109
122
  /**
110
123
  * Create a command chain to call multiple commands at once.
111
124
  */
112
125
  public chain(): ChainedCommands {
113
- return this.commandManager.createChain()
126
+ return this.commandManager.chain()
114
127
  }
115
128
 
116
129
  /**
117
130
  * Check if a command or a command chain can be executed. Without executing it.
118
131
  */
119
132
  public can(): CanCommands {
120
- return this.commandManager.createCan()
133
+ return this.commandManager.can()
121
134
  }
122
135
 
123
136
  /**
@@ -125,7 +138,7 @@ export class Editor extends EventEmitter {
125
138
  */
126
139
  private injectCSS(): void {
127
140
  if (this.options.injectCSS && document) {
128
- this.css = createStyleTag(style)
141
+ this.css = createStyleTag(style, this.options.injectNonce)
129
142
  }
130
143
  }
131
144
 
@@ -135,7 +148,20 @@ export class Editor extends EventEmitter {
135
148
  * @param options A list of options
136
149
  */
137
150
  public setOptions(options: Partial<EditorOptions> = {}): void {
138
- this.options = { ...this.options, ...options }
151
+ this.options = {
152
+ ...this.options,
153
+ ...options,
154
+ }
155
+
156
+ if (!this.view || !this.state || this.isDestroyed) {
157
+ return
158
+ }
159
+
160
+ if (this.options.editorProps) {
161
+ this.view.setProps(this.options.editorProps)
162
+ }
163
+
164
+ this.view.updateState(this.state)
139
165
  }
140
166
 
141
167
  /**
@@ -143,17 +169,19 @@ export class Editor extends EventEmitter {
143
169
  */
144
170
  public setEditable(editable: boolean): void {
145
171
  this.setOptions({ editable })
146
-
147
- if (this.view && this.state && !this.isDestroyed) {
148
- this.view.updateState(this.state)
149
- }
172
+ this.emit('update', { editor: this, transaction: this.state.tr })
150
173
  }
151
174
 
152
175
  /**
153
176
  * Returns whether the editor is editable.
154
177
  */
155
178
  public get isEditable(): boolean {
156
- return this.view && this.view.editable
179
+ // since plugins are applied after creating the view
180
+ // `editable` is always `true` for one tick.
181
+ // that’s why we also have to check for `options.editable`
182
+ return this.options.editable
183
+ && this.view
184
+ && this.view.editable
157
185
  }
158
186
 
159
187
  /**
@@ -170,8 +198,8 @@ export class Editor extends EventEmitter {
170
198
  * @param handlePlugins Control how to merge the plugin into the existing plugins.
171
199
  */
172
200
  public registerPlugin(plugin: Plugin, handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[]): void {
173
- const plugins = typeof handlePlugins === 'function'
174
- ? handlePlugins(plugin, this.state.plugins)
201
+ const plugins = isFunction(handlePlugins)
202
+ ? handlePlugins(plugin, [...this.state.plugins])
175
203
  : [...this.state.plugins, plugin]
176
204
 
177
205
  const state = this.state.reconfigure({ plugins })
@@ -182,7 +210,7 @@ export class Editor extends EventEmitter {
182
210
  /**
183
211
  * Unregister a ProseMirror plugin.
184
212
  *
185
- * @param name The plugins name
213
+ * @param nameOrPluginKey The plugins name
186
214
  */
187
215
  public unregisterPlugin(nameOrPluginKey: string | PluginKey): void {
188
216
  if (this.isDestroyed) {
@@ -206,7 +234,9 @@ export class Editor extends EventEmitter {
206
234
  * Creates an extension manager.
207
235
  */
208
236
  private createExtensionManager(): void {
209
- const coreExtensions = Object.entries(extensions).map(([, extension]) => extension)
237
+ const coreExtensions = this.options.enableCoreExtensions
238
+ ? Object.values(extensions)
239
+ : []
210
240
  const allExtensions = [...coreExtensions, ...this.options.extensions].filter(extension => {
211
241
  return ['extension', 'node', 'mark'].includes(extension?.type)
212
242
  })
@@ -218,7 +248,9 @@ export class Editor extends EventEmitter {
218
248
  * Creates an command manager.
219
249
  */
220
250
  private createCommandManager(): void {
221
- this.commandManager = new CommandManager(this, this.extensionManager.commands)
251
+ this.commandManager = new CommandManager({
252
+ editor: this,
253
+ })
222
254
  }
223
255
 
224
256
  /**
@@ -232,27 +264,22 @@ export class Editor extends EventEmitter {
232
264
  * Creates a ProseMirror view.
233
265
  */
234
266
  private createView(): void {
267
+ const doc = createDocument(this.options.content, this.schema, this.options.parseOptions)
268
+ const selection = resolveFocusPosition(doc, this.options.autofocus)
269
+
235
270
  this.view = new EditorView(this.options.element, {
236
271
  ...this.options.editorProps,
237
272
  dispatchTransaction: this.dispatchTransaction.bind(this),
238
273
  state: EditorState.create({
239
- doc: createDocument(this.options.content, this.schema, this.options.parseOptions),
274
+ doc,
275
+ selection: selection || undefined,
240
276
  }),
241
277
  })
242
278
 
243
279
  // `editor.view` is not yet available at this time.
244
280
  // Therefore we will add all plugins and node views directly afterwards.
245
281
  const newState = this.state.reconfigure({
246
- plugins: [
247
- new Plugin({
248
- view: () => ({
249
- update: () => this.emit('viewUpdate', {
250
- editor: this,
251
- }),
252
- }),
253
- }),
254
- ...this.extensionManager.plugins,
255
- ],
282
+ plugins: this.extensionManager.plugins,
256
283
  })
257
284
 
258
285
  this.view.updateState(newState)
@@ -262,6 +289,7 @@ export class Editor extends EventEmitter {
262
289
  // Let’s store the editor instance in the DOM element.
263
290
  // So we’ll have access to it for tests.
264
291
  const dom = this.view.dom as HTMLElement
292
+
265
293
  dom.editor = this
266
294
  }
267
295
 
@@ -296,10 +324,6 @@ export class Editor extends EventEmitter {
296
324
  * @param transaction An editor state transaction
297
325
  */
298
326
  private dispatchTransaction(transaction: Transaction): void {
299
- if (transaction.docChanged && !this.isEditable) {
300
- return
301
- }
302
-
303
327
  if (this.isCapturingTransaction) {
304
328
  if (!this.capturedTransaction) {
305
329
  this.capturedTransaction = transaction
@@ -324,6 +348,7 @@ export class Editor extends EventEmitter {
324
348
  if (selectionHasChanged) {
325
349
  this.emit('selectionUpdate', {
326
350
  editor: this,
351
+ transaction,
327
352
  })
328
353
  }
329
354
 
@@ -334,6 +359,7 @@ export class Editor extends EventEmitter {
334
359
  this.emit('focus', {
335
360
  editor: this,
336
361
  event: focus.event,
362
+ transaction,
337
363
  })
338
364
  }
339
365
 
@@ -341,6 +367,7 @@ export class Editor extends EventEmitter {
341
367
  this.emit('blur', {
342
368
  editor: this,
343
369
  event: blur.event,
370
+ transaction,
344
371
  })
345
372
  }
346
373
 
@@ -355,21 +382,10 @@ export class Editor extends EventEmitter {
355
382
  }
356
383
 
357
384
  /**
358
- * Get attributes of the currently selected node.
359
- *
360
- * @param name Name of the node
385
+ * Get attributes of the currently selected node or mark.
361
386
  */
362
- public getNodeAttributes(name: string): AnyObject {
363
- return getNodeAttributes(this.state, name)
364
- }
365
-
366
- /**
367
- * Get attributes of the currently selected mark.
368
- *
369
- * @param name Name of the mark
370
- */
371
- public getMarkAttributes(name: string): AnyObject {
372
- return getMarkAttributes(this.state, name)
387
+ public getAttributes(nameOrType: string | NodeType | MarkType): Record<string, any> {
388
+ return getAttributes(this.state, nameOrType)
373
389
  }
374
390
 
375
391
  /**
@@ -395,7 +411,7 @@ export class Editor extends EventEmitter {
395
411
  /**
396
412
  * Get the document as JSON.
397
413
  */
398
- public getJSON(): AnyObject {
414
+ public getJSON(): JSONContent {
399
415
  return this.state.doc.toJSON()
400
416
  }
401
417
 
@@ -403,7 +419,28 @@ export class Editor extends EventEmitter {
403
419
  * Get the document as HTML.
404
420
  */
405
421
  public getHTML(): string {
406
- return getHTMLFromFragment(this.state.doc, this.schema)
422
+ return getHTMLFromFragment(this.state.doc.content, this.schema)
423
+ }
424
+
425
+ /**
426
+ * Get the document as text.
427
+ */
428
+ public getText(options?: {
429
+ blockSeparator?: string,
430
+ textSerializers?: Record<string, TextSerializer>,
431
+ }): string {
432
+ const {
433
+ blockSeparator = '\n\n',
434
+ textSerializers = {},
435
+ } = options || {}
436
+
437
+ return getText(this.state.doc, {
438
+ blockSeparator,
439
+ textSerializers: {
440
+ ...textSerializers,
441
+ ...getTextSerializersFromSchema(this.schema),
442
+ },
443
+ })
407
444
  }
408
445
 
409
446
  /**
@@ -415,8 +452,12 @@ export class Editor extends EventEmitter {
415
452
 
416
453
  /**
417
454
  * Get the number of characters for the current document.
455
+ *
456
+ * @deprecated
418
457
  */
419
458
  public getCharacterCount(): number {
459
+ console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.')
460
+
420
461
  return this.state.doc.content.size - 2
421
462
  }
422
463
 
@@ -424,8 +465,6 @@ export class Editor extends EventEmitter {
424
465
  * Destroy the editor.
425
466
  */
426
467
  public destroy(): void {
427
- this.resizeObserver?.unobserve(this.view.dom)
428
-
429
468
  this.emit('destroy')
430
469
 
431
470
  if (this.view) {
@@ -433,7 +472,6 @@ export class Editor extends EventEmitter {
433
472
  }
434
473
 
435
474
  this.removeAllListeners()
436
- removeElement(this.css)
437
475
  }
438
476
 
439
477
  /**