@tiptap/react 2.0.0-beta.99 → 2.0.0-rc.2

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 (299) hide show
  1. package/README.md +3 -3
  2. package/dist/{tiptap-react.cjs.js → index.cjs} +229 -153
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/{tiptap-react.esm.js → index.js} +229 -153
  5. package/dist/index.js.map +1 -0
  6. package/dist/{tiptap-react.umd.js → index.umd.js} +230 -154
  7. package/dist/index.umd.js.map +1 -0
  8. package/dist/packages/react/src/BubbleMenu.d.ts +4 -2
  9. package/dist/packages/react/src/Editor.d.ts +8 -2
  10. package/dist/packages/react/src/EditorContent.d.ts +5 -1
  11. package/dist/packages/react/src/FloatingMenu.d.ts +3 -2
  12. package/dist/packages/react/src/ReactNodeViewRenderer.d.ts +4 -2
  13. package/dist/packages/react/src/ReactRenderer.d.ts +5 -7
  14. package/dist/packages/react/src/index.d.ts +6 -6
  15. package/dist/packages/react/src/useEditor.d.ts +1 -1
  16. package/package.json +30 -16
  17. package/src/BubbleMenu.tsx +24 -24
  18. package/src/Editor.ts +9 -2
  19. package/src/EditorContent.tsx +51 -11
  20. package/src/FloatingMenu.tsx +18 -12
  21. package/src/NodeViewContent.tsx +2 -1
  22. package/src/NodeViewWrapper.tsx +2 -1
  23. package/src/ReactNodeViewRenderer.tsx +42 -27
  24. package/src/ReactRenderer.tsx +18 -24
  25. package/src/index.ts +6 -6
  26. package/src/useEditor.ts +68 -2
  27. package/LICENSE.md +0 -21
  28. package/dist/packages/core/src/CommandManager.d.ts +0 -20
  29. package/dist/packages/core/src/Editor.d.ts +0 -147
  30. package/dist/packages/core/src/EventEmitter.d.ts +0 -11
  31. package/dist/packages/core/src/Extension.d.ts +0 -227
  32. package/dist/packages/core/src/ExtensionManager.d.ts +0 -18
  33. package/dist/packages/core/src/InputRule.d.ts +0 -42
  34. package/dist/packages/core/src/Mark.d.ts +0 -319
  35. package/dist/packages/core/src/Node.d.ts +0 -388
  36. package/dist/packages/core/src/NodeView.d.ts +0 -27
  37. package/dist/packages/core/src/PasteRule.d.ts +0 -42
  38. package/dist/packages/core/src/Tracker.d.ts +0 -11
  39. package/dist/packages/core/src/commands/blur.d.ts +0 -12
  40. package/dist/packages/core/src/commands/clearContent.d.ts +0 -12
  41. package/dist/packages/core/src/commands/clearNodes.d.ts +0 -12
  42. package/dist/packages/core/src/commands/command.d.ts +0 -12
  43. package/dist/packages/core/src/commands/createParagraphNear.d.ts +0 -12
  44. package/dist/packages/core/src/commands/deleteNode.d.ts +0 -13
  45. package/dist/packages/core/src/commands/deleteRange.d.ts +0 -12
  46. package/dist/packages/core/src/commands/deleteSelection.d.ts +0 -12
  47. package/dist/packages/core/src/commands/enter.d.ts +0 -12
  48. package/dist/packages/core/src/commands/exitCode.d.ts +0 -12
  49. package/dist/packages/core/src/commands/extendMarkRange.d.ts +0 -13
  50. package/dist/packages/core/src/commands/first.d.ts +0 -12
  51. package/dist/packages/core/src/commands/focus.d.ts +0 -14
  52. package/dist/packages/core/src/commands/forEach.d.ts +0 -14
  53. package/dist/packages/core/src/commands/insertContent.d.ts +0 -16
  54. package/dist/packages/core/src/commands/insertContentAt.d.ts +0 -16
  55. package/dist/packages/core/src/commands/joinBackward.d.ts +0 -12
  56. package/dist/packages/core/src/commands/joinForward.d.ts +0 -12
  57. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +0 -12
  58. package/dist/packages/core/src/commands/lift.d.ts +0 -13
  59. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +0 -12
  60. package/dist/packages/core/src/commands/liftListItem.d.ts +0 -13
  61. package/dist/packages/core/src/commands/newlineInCode.d.ts +0 -12
  62. package/dist/packages/core/src/commands/resetAttributes.d.ts +0 -13
  63. package/dist/packages/core/src/commands/scrollIntoView.d.ts +0 -12
  64. package/dist/packages/core/src/commands/selectAll.d.ts +0 -12
  65. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +0 -12
  66. package/dist/packages/core/src/commands/selectNodeForward.d.ts +0 -12
  67. package/dist/packages/core/src/commands/selectParentNode.d.ts +0 -12
  68. package/dist/packages/core/src/commands/setContent.d.ts +0 -13
  69. package/dist/packages/core/src/commands/setMark.d.ts +0 -13
  70. package/dist/packages/core/src/commands/setMeta.d.ts +0 -12
  71. package/dist/packages/core/src/commands/setNode.d.ts +0 -13
  72. package/dist/packages/core/src/commands/setNodeSelection.d.ts +0 -12
  73. package/dist/packages/core/src/commands/setTextSelection.d.ts +0 -12
  74. package/dist/packages/core/src/commands/sinkListItem.d.ts +0 -13
  75. package/dist/packages/core/src/commands/splitBlock.d.ts +0 -14
  76. package/dist/packages/core/src/commands/splitListItem.d.ts +0 -13
  77. package/dist/packages/core/src/commands/toggleList.d.ts +0 -13
  78. package/dist/packages/core/src/commands/toggleMark.d.ts +0 -18
  79. package/dist/packages/core/src/commands/toggleNode.d.ts +0 -13
  80. package/dist/packages/core/src/commands/toggleWrap.d.ts +0 -13
  81. package/dist/packages/core/src/commands/undoInputRule.d.ts +0 -12
  82. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +0 -12
  83. package/dist/packages/core/src/commands/unsetMark.d.ts +0 -18
  84. package/dist/packages/core/src/commands/updateAttributes.d.ts +0 -13
  85. package/dist/packages/core/src/commands/wrapIn.d.ts +0 -13
  86. package/dist/packages/core/src/commands/wrapInList.d.ts +0 -13
  87. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +0 -2
  88. package/dist/packages/core/src/extensions/commands.d.ts +0 -98
  89. package/dist/packages/core/src/extensions/editable.d.ts +0 -2
  90. package/dist/packages/core/src/extensions/focusEvents.d.ts +0 -2
  91. package/dist/packages/core/src/extensions/index.d.ts +0 -6
  92. package/dist/packages/core/src/extensions/keymap.d.ts +0 -2
  93. package/dist/packages/core/src/extensions/tabindex.d.ts +0 -2
  94. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +0 -7
  95. package/dist/packages/core/src/helpers/createChainableState.d.ts +0 -5
  96. package/dist/packages/core/src/helpers/createDocument.d.ts +0 -3
  97. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +0 -7
  98. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +0 -2
  99. package/dist/packages/core/src/helpers/findChildren.d.ts +0 -3
  100. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +0 -6
  101. package/dist/packages/core/src/helpers/findParentNode.d.ts +0 -9
  102. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +0 -8
  103. package/dist/packages/core/src/helpers/generateHTML.d.ts +0 -2
  104. package/dist/packages/core/src/helpers/generateJSON.d.ts +0 -2
  105. package/dist/packages/core/src/helpers/generateText.d.ts +0 -5
  106. package/dist/packages/core/src/helpers/getAttributes.d.ts +0 -3
  107. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +0 -6
  108. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +0 -11
  109. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +0 -8
  110. package/dist/packages/core/src/helpers/getExtensionField.d.ts +0 -2
  111. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +0 -2
  112. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +0 -3
  113. package/dist/packages/core/src/helpers/getMarkRange.d.ts +0 -3
  114. package/dist/packages/core/src/helpers/getMarkType.d.ts +0 -2
  115. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +0 -3
  116. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +0 -3
  117. package/dist/packages/core/src/helpers/getNodeType.d.ts +0 -2
  118. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +0 -3
  119. package/dist/packages/core/src/helpers/getSchema.d.ts +0 -3
  120. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +0 -3
  121. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +0 -2
  122. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +0 -2
  123. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +0 -2
  124. package/dist/packages/core/src/helpers/getText.d.ts +0 -6
  125. package/dist/packages/core/src/helpers/getTextBetween.d.ts +0 -6
  126. package/dist/packages/core/src/helpers/getTextSeralizersFromSchema.d.ts +0 -3
  127. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +0 -9
  128. package/dist/packages/core/src/helpers/isActive.d.ts +0 -2
  129. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +0 -2
  130. package/dist/packages/core/src/helpers/isList.d.ts +0 -2
  131. package/dist/packages/core/src/helpers/isMarkActive.d.ts +0 -3
  132. package/dist/packages/core/src/helpers/isNodeActive.d.ts +0 -3
  133. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +0 -2
  134. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +0 -2
  135. package/dist/packages/core/src/helpers/isTextSelection.d.ts +0 -2
  136. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +0 -2
  137. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +0 -4
  138. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +0 -2
  139. package/dist/packages/core/src/helpers/splitExtensions.d.ts +0 -9
  140. package/dist/packages/core/src/index.d.ts +0 -60
  141. package/dist/packages/core/src/inputRules/markInputRule.d.ts +0 -12
  142. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +0 -12
  143. package/dist/packages/core/src/inputRules/textInputRule.d.ts +0 -9
  144. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +0 -14
  145. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +0 -23
  146. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +0 -12
  147. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +0 -9
  148. package/dist/packages/core/src/style.d.ts +0 -1
  149. package/dist/packages/core/src/types.d.ts +0 -210
  150. package/dist/packages/core/src/utilities/callOrReturn.d.ts +0 -9
  151. package/dist/packages/core/src/utilities/createStyleTag.d.ts +0 -1
  152. package/dist/packages/core/src/utilities/deleteProps.d.ts +0 -6
  153. package/dist/packages/core/src/utilities/elementFromString.d.ts +0 -1
  154. package/dist/packages/core/src/utilities/findDuplicates.d.ts +0 -1
  155. package/dist/packages/core/src/utilities/fromString.d.ts +0 -1
  156. package/dist/packages/core/src/utilities/isClass.d.ts +0 -1
  157. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +0 -1
  158. package/dist/packages/core/src/utilities/isFunction.d.ts +0 -1
  159. package/dist/packages/core/src/utilities/isNumber.d.ts +0 -1
  160. package/dist/packages/core/src/utilities/isObject.d.ts +0 -1
  161. package/dist/packages/core/src/utilities/isPlainObject.d.ts +0 -1
  162. package/dist/packages/core/src/utilities/isRegExp.d.ts +0 -1
  163. package/dist/packages/core/src/utilities/isString.d.ts +0 -1
  164. package/dist/packages/core/src/utilities/isiOS.d.ts +0 -1
  165. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +0 -1
  166. package/dist/packages/core/src/utilities/mergeDeep.d.ts +0 -1
  167. package/dist/packages/core/src/utilities/minMax.d.ts +0 -1
  168. package/dist/packages/core/src/utilities/objectIncludes.d.ts +0 -8
  169. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +0 -8
  170. package/dist/packages/extension-blockquote/src/blockquote.d.ts +0 -24
  171. package/dist/packages/extension-blockquote/src/index.d.ts +0 -3
  172. package/dist/packages/extension-bold/src/bold.d.ts +0 -27
  173. package/dist/packages/extension-bold/src/index.d.ts +0 -3
  174. package/dist/packages/extension-bubble-menu/src/bubble-menu-plugin.d.ts +0 -43
  175. package/dist/packages/extension-bubble-menu/src/bubble-menu.d.ts +0 -6
  176. package/dist/packages/extension-bubble-menu/src/index.d.ts +0 -4
  177. package/dist/packages/extension-bullet-list/src/bullet-list.d.ts +0 -17
  178. package/dist/packages/extension-bullet-list/src/index.d.ts +0 -3
  179. package/dist/packages/extension-character-count/src/character-count.d.ts +0 -28
  180. package/dist/packages/extension-character-count/src/index.d.ts +0 -3
  181. package/dist/packages/extension-code/src/code.d.ts +0 -25
  182. package/dist/packages/extension-code/src/index.d.ts +0 -3
  183. package/dist/packages/extension-code-block/src/code-block.d.ts +0 -26
  184. package/dist/packages/extension-code-block/src/index.d.ts +0 -3
  185. package/dist/packages/extension-code-block-lowlight/src/code-block-lowlight.d.ts +0 -6
  186. package/dist/packages/extension-code-block-lowlight/src/index.d.ts +0 -3
  187. package/dist/packages/extension-code-block-lowlight/src/lowlight-plugin.d.ts +0 -6
  188. package/dist/packages/extension-collaboration/src/collaboration.d.ts +0 -30
  189. package/dist/packages/extension-collaboration/src/helpers/isChangeOrigin.d.ts +0 -2
  190. package/dist/packages/extension-collaboration/src/index.d.ts +0 -4
  191. package/dist/packages/extension-collaboration-cursor/src/collaboration-cursor.d.ts +0 -37
  192. package/dist/packages/extension-collaboration-cursor/src/index.d.ts +0 -3
  193. package/dist/packages/extension-color/src/color.d.ts +0 -20
  194. package/dist/packages/extension-color/src/index.d.ts +0 -3
  195. package/dist/packages/extension-document/src/document.d.ts +0 -2
  196. package/dist/packages/extension-document/src/index.d.ts +0 -3
  197. package/dist/packages/extension-dropcursor/src/dropcursor.d.ts +0 -7
  198. package/dist/packages/extension-dropcursor/src/index.d.ts +0 -3
  199. package/dist/packages/extension-floating-menu/src/floating-menu-plugin.d.ts +0 -40
  200. package/dist/packages/extension-floating-menu/src/floating-menu.d.ts +0 -6
  201. package/dist/packages/extension-floating-menu/src/index.d.ts +0 -4
  202. package/dist/packages/extension-focus/src/focus.d.ts +0 -6
  203. package/dist/packages/extension-focus/src/index.d.ts +0 -3
  204. package/dist/packages/extension-font-family/src/font-family.d.ts +0 -21
  205. package/dist/packages/extension-font-family/src/index.d.ts +0 -3
  206. package/dist/packages/extension-gapcursor/src/gapcursor.d.ts +0 -15
  207. package/dist/packages/extension-gapcursor/src/index.d.ts +0 -3
  208. package/dist/packages/extension-hard-break/src/hard-break.d.ts +0 -16
  209. package/dist/packages/extension-hard-break/src/index.d.ts +0 -3
  210. package/dist/packages/extension-heading/src/heading.d.ts +0 -26
  211. package/dist/packages/extension-heading/src/index.d.ts +0 -3
  212. package/dist/packages/extension-highlight/src/highlight.d.ts +0 -30
  213. package/dist/packages/extension-highlight/src/index.d.ts +0 -3
  214. package/dist/packages/extension-history/src/history.d.ts +0 -20
  215. package/dist/packages/extension-history/src/index.d.ts +0 -3
  216. package/dist/packages/extension-horizontal-rule/src/horizontal-rule.d.ts +0 -15
  217. package/dist/packages/extension-horizontal-rule/src/index.d.ts +0 -3
  218. package/dist/packages/extension-image/src/image.d.ts +0 -21
  219. package/dist/packages/extension-image/src/index.d.ts +0 -3
  220. package/dist/packages/extension-italic/src/index.d.ts +0 -3
  221. package/dist/packages/extension-italic/src/italic.d.ts +0 -27
  222. package/dist/packages/extension-link/src/helpers/autolink.d.ts +0 -7
  223. package/dist/packages/extension-link/src/helpers/clickHandler.d.ts +0 -7
  224. package/dist/packages/extension-link/src/helpers/pasteHandler.d.ts +0 -9
  225. package/dist/packages/extension-link/src/index.d.ts +0 -3
  226. package/dist/packages/extension-link/src/link.d.ts +0 -44
  227. package/dist/packages/extension-list-item/src/index.d.ts +0 -3
  228. package/dist/packages/extension-list-item/src/list-item.d.ts +0 -5
  229. package/dist/packages/extension-mention/src/index.d.ts +0 -3
  230. package/dist/packages/extension-mention/src/mention.d.ts +0 -14
  231. package/dist/packages/extension-ordered-list/src/index.d.ts +0 -3
  232. package/dist/packages/extension-ordered-list/src/ordered-list.d.ts +0 -17
  233. package/dist/packages/extension-paragraph/src/index.d.ts +0 -3
  234. package/dist/packages/extension-paragraph/src/paragraph.d.ts +0 -15
  235. package/dist/packages/extension-placeholder/src/index.d.ts +0 -3
  236. package/dist/packages/extension-placeholder/src/placeholder.d.ts +0 -15
  237. package/dist/packages/extension-strike/src/index.d.ts +0 -3
  238. package/dist/packages/extension-strike/src/strike.d.ts +0 -25
  239. package/dist/packages/extension-subscript/src/index.d.ts +0 -3
  240. package/dist/packages/extension-subscript/src/subscript.d.ts +0 -23
  241. package/dist/packages/extension-superscript/src/index.d.ts +0 -3
  242. package/dist/packages/extension-superscript/src/superscript.d.ts +0 -23
  243. package/dist/packages/extension-table/src/TableView.d.ts +0 -17
  244. package/dist/packages/extension-table/src/index.d.ts +0 -4
  245. package/dist/packages/extension-table/src/table.d.ts +0 -55
  246. package/dist/packages/extension-table/src/utilities/createCell.d.ts +0 -2
  247. package/dist/packages/extension-table/src/utilities/createTable.d.ts +0 -2
  248. package/dist/packages/extension-table/src/utilities/deleteTableWhenAllCellsSelected.d.ts +0 -2
  249. package/dist/packages/extension-table/src/utilities/getTableNodeTypes.d.ts +0 -4
  250. package/dist/packages/extension-table/src/utilities/isCellSelection.d.ts +0 -2
  251. package/dist/packages/extension-table-cell/src/index.d.ts +0 -3
  252. package/dist/packages/extension-table-cell/src/table-cell.d.ts +0 -5
  253. package/dist/packages/extension-table-header/src/index.d.ts +0 -3
  254. package/dist/packages/extension-table-header/src/table-header.d.ts +0 -5
  255. package/dist/packages/extension-table-row/src/index.d.ts +0 -3
  256. package/dist/packages/extension-table-row/src/table-row.d.ts +0 -5
  257. package/dist/packages/extension-task-item/src/index.d.ts +0 -3
  258. package/dist/packages/extension-task-item/src/task-item.d.ts +0 -7
  259. package/dist/packages/extension-task-list/src/index.d.ts +0 -3
  260. package/dist/packages/extension-task-list/src/task-list.d.ts +0 -16
  261. package/dist/packages/extension-text/src/index.d.ts +0 -3
  262. package/dist/packages/extension-text/src/text.d.ts +0 -2
  263. package/dist/packages/extension-text-align/src/index.d.ts +0 -3
  264. package/dist/packages/extension-text-align/src/text-align.d.ts +0 -21
  265. package/dist/packages/extension-text-style/src/index.d.ts +0 -3
  266. package/dist/packages/extension-text-style/src/text-style.d.ts +0 -15
  267. package/dist/packages/extension-typography/src/index.d.ts +0 -3
  268. package/dist/packages/extension-typography/src/typography.d.ts +0 -23
  269. package/dist/packages/extension-underline/src/index.d.ts +0 -3
  270. package/dist/packages/extension-underline/src/underline.d.ts +0 -23
  271. package/dist/packages/html/src/generateHTML.d.ts +0 -2
  272. package/dist/packages/html/src/generateJSON.d.ts +0 -2
  273. package/dist/packages/html/src/getHTMLFromFragment.d.ts +0 -2
  274. package/dist/packages/html/src/index.d.ts +0 -2
  275. package/dist/packages/starter-kit/src/index.d.ts +0 -3
  276. package/dist/packages/starter-kit/src/starter-kit.d.ts +0 -37
  277. package/dist/packages/suggestion/src/findSuggestionMatch.d.ts +0 -15
  278. package/dist/packages/suggestion/src/index.d.ts +0 -4
  279. package/dist/packages/suggestion/src/suggestion.d.ts +0 -49
  280. package/dist/tests/cypress/integration/core/can.spec.d.ts +0 -1
  281. package/dist/tests/cypress/integration/core/editorProps.spec.d.ts +0 -1
  282. package/dist/tests/cypress/integration/core/extendExtensions.spec.d.ts +0 -1
  283. package/dist/tests/cypress/integration/core/extendMarkRange.spec.d.ts +0 -1
  284. package/dist/tests/cypress/integration/core/extensionOptions.spec.d.ts +0 -1
  285. package/dist/tests/cypress/integration/core/fromString.spec.d.ts +0 -1
  286. package/dist/tests/cypress/integration/core/generateHTML.spec.d.ts +0 -1
  287. package/dist/tests/cypress/integration/core/generateJSON.spec.d.ts +0 -1
  288. package/dist/tests/cypress/integration/core/isActive.spec.d.ts +0 -1
  289. package/dist/tests/cypress/integration/core/isClass.spec.d.ts +0 -1
  290. package/dist/tests/cypress/integration/core/mergeAttributes.spec.d.ts +0 -1
  291. package/dist/tests/cypress/integration/core/mergeDeep.spec.d.ts +0 -1
  292. package/dist/tests/cypress/integration/core/pluginOrder.spec.d.ts +0 -1
  293. package/dist/tests/cypress/integration/extensions/bold.spec.d.ts +0 -1
  294. package/dist/tests/cypress/integration/extensions/codeBlockLowlight.spec.d.ts +0 -1
  295. package/dist/tests/cypress/integration/html/generateHTML.spec.d.ts +0 -1
  296. package/dist/tests/cypress/integration/html/generateJSON.spec.d.ts +0 -1
  297. package/dist/tiptap-react.cjs.js.map +0 -1
  298. package/dist/tiptap-react.esm.js.map +0 -1
  299. package/dist/tiptap-react.umd.js.map +0 -1
@@ -1,17 +1,15 @@
1
- import React from 'react';
2
1
  import { Editor } from '@tiptap/core';
2
+ import React from 'react';
3
3
  import { Editor as ExtendedEditor } from './Editor';
4
4
  export interface ReactRendererOptions {
5
5
  editor: Editor;
6
6
  props?: Record<string, any>;
7
7
  as?: string;
8
8
  className?: string;
9
+ attrs?: Record<string, string>;
9
10
  }
10
- declare type ComponentType<R> = React.ComponentClass | React.FunctionComponent | React.ForwardRefExoticComponent<{
11
- items: any[];
12
- command: any;
13
- } & React.RefAttributes<R>>;
14
- export declare class ReactRenderer<R = unknown> {
11
+ declare type ComponentType<R, P> = React.ComponentClass<P> | React.FunctionComponent<P> | React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<R>>;
12
+ export declare class ReactRenderer<R = unknown, P = unknown> {
15
13
  id: string;
16
14
  editor: ExtendedEditor;
17
15
  component: any;
@@ -19,7 +17,7 @@ export declare class ReactRenderer<R = unknown> {
19
17
  props: Record<string, any>;
20
18
  reactElement: React.ReactNode;
21
19
  ref: R | null;
22
- constructor(component: ComponentType<R>, { editor, props, as, className, }: ReactRendererOptions);
20
+ constructor(component: ComponentType<R, P>, { editor, props, as, className, attrs, }: ReactRendererOptions);
23
21
  render(): void;
24
22
  updateProps(props?: Record<string, any>): void;
25
23
  destroy(): void;
@@ -1,10 +1,10 @@
1
- export * from '@tiptap/core';
2
1
  export * from './BubbleMenu';
3
2
  export { Editor } from './Editor';
4
- export * from './FloatingMenu';
5
- export * from './useEditor';
6
- export * from './ReactRenderer';
7
- export * from './ReactNodeViewRenderer';
8
3
  export * from './EditorContent';
9
- export * from './NodeViewWrapper';
4
+ export * from './FloatingMenu';
10
5
  export * from './NodeViewContent';
6
+ export * from './NodeViewWrapper';
7
+ export * from './ReactNodeViewRenderer';
8
+ export * from './ReactRenderer';
9
+ export * from './useEditor';
10
+ export * from '@tiptap/core';
@@ -1,4 +1,4 @@
1
- import { DependencyList } from 'react';
2
1
  import { EditorOptions } from '@tiptap/core';
2
+ import { DependencyList } from 'react';
3
3
  import { Editor } from './Editor';
4
4
  export declare const useEditor: (options?: Partial<EditorOptions>, deps?: DependencyList) => Editor | null;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiptap/react",
3
3
  "description": "React components for tiptap",
4
- "version": "2.0.0-beta.99",
4
+ "version": "2.0.0-rc.2",
5
5
  "homepage": "https://tiptap.dev",
6
6
  "keywords": [
7
7
  "tiptap",
@@ -12,34 +12,48 @@
12
12
  "type": "github",
13
13
  "url": "https://github.com/sponsors/ueberdosis"
14
14
  },
15
- "main": "dist/tiptap-react.cjs.js",
16
- "umd": "dist/tiptap-react.umd.js",
17
- "module": "dist/tiptap-react.esm.js",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/packages/react/src/index.d.ts",
18
+ "import": "./dist/index.js",
19
+ "require": "./dist/index.cjs"
20
+ }
21
+ },
22
+ "main": "dist/index.cjs",
23
+ "module": "dist/index.js",
24
+ "umd": "dist/index.umd.js",
18
25
  "types": "dist/packages/react/src/index.d.ts",
26
+ "type": "module",
19
27
  "files": [
20
28
  "src",
21
29
  "dist"
22
30
  ],
23
31
  "devDependencies": {
24
- "@types/react": "^17.0.37",
25
- "@types/react-dom": "^17.0.11",
26
- "react": "^17.0.0",
27
- "react-dom": "^17.0.0"
32
+ "@tiptap/core": "^2.0.0-rc.1",
33
+ "@tiptap/pm": "^2.0.0-rc.1",
34
+ "@types/react": "^18.0.1",
35
+ "@types/react-dom": "^18.0.0",
36
+ "react": "^18.0.0",
37
+ "react-dom": "^18.0.0"
28
38
  },
29
39
  "peerDependencies": {
30
- "@tiptap/core": "^2.0.0-beta.1",
31
- "react": "^17.0.0",
32
- "react-dom": "^17.0.0"
40
+ "@tiptap/core": "^2.0.0-rc.1",
41
+ "@tiptap/pm": "^2.0.0-rc.1",
42
+ "react": "^17.0.0 || ^18.0.0",
43
+ "react-dom": "^17.0.0 || ^18.0.0"
33
44
  },
34
45
  "dependencies": {
35
- "@tiptap/extension-bubble-menu": "^2.0.0-beta.52",
36
- "@tiptap/extension-floating-menu": "^2.0.0-beta.47",
37
- "prosemirror-view": "^1.23.3"
46
+ "@tiptap/extension-bubble-menu": "^2.0.0-rc.1",
47
+ "@tiptap/extension-floating-menu": "^2.0.0-rc.1"
38
48
  },
39
49
  "repository": {
40
50
  "type": "git",
41
51
  "url": "https://github.com/ueberdosis/tiptap",
42
52
  "directory": "packages/react"
43
53
  },
44
- "gitHead": "56cbf99f9f636930f77840d6e69dd1d8d2063e37"
45
- }
54
+ "sideEffects": false,
55
+ "scripts": {
56
+ "clean": "rm -rf dist",
57
+ "build": "npm run clean && rollup -c"
58
+ }
59
+ }
@@ -1,45 +1,45 @@
1
- import React, { useEffect, useRef } from 'react'
2
1
  import { BubbleMenuPlugin, BubbleMenuPluginProps } from '@tiptap/extension-bubble-menu'
2
+ import React, { useEffect, useState } from 'react'
3
3
 
4
- type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>
4
+ type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
5
5
 
6
6
  export type BubbleMenuProps = Omit<Optional<BubbleMenuPluginProps, 'pluginKey'>, 'element'> & {
7
- className?: string,
8
- }
7
+ className?: string;
8
+ children: React.ReactNode;
9
+ updateDelay?: number;
10
+ };
9
11
 
10
- export const BubbleMenu: React.FC<BubbleMenuProps> = props => {
11
- const element = useRef<HTMLDivElement>(null)
12
+ export const BubbleMenu = (props: BubbleMenuProps) => {
13
+ const [element, setElement] = useState<HTMLDivElement | null>(null)
12
14
 
13
15
  useEffect(() => {
14
- if (!element.current) {
16
+ if (!element) {
17
+ return
18
+ }
19
+
20
+ if (props.editor.isDestroyed) {
15
21
  return
16
22
  }
17
23
 
18
24
  const {
19
- pluginKey = 'bubbleMenu',
20
- editor,
21
- tippyOptions = {},
22
- shouldShow = null,
25
+ pluginKey = 'bubbleMenu', editor, tippyOptions = {}, updateDelay, shouldShow = null,
23
26
  } = props
24
27
 
25
- editor.registerPlugin(BubbleMenuPlugin({
26
- pluginKey,
28
+ const plugin = BubbleMenuPlugin({
29
+ updateDelay,
27
30
  editor,
28
- element: element.current as HTMLElement,
29
- tippyOptions,
31
+ element,
32
+ pluginKey,
30
33
  shouldShow,
31
- }))
34
+ tippyOptions,
35
+ })
32
36
 
33
- return () => {
34
- editor.unregisterPlugin(pluginKey)
35
- }
36
- }, [
37
- props.editor,
38
- element.current,
39
- ])
37
+ editor.registerPlugin(plugin)
38
+ return () => editor.unregisterPlugin(pluginKey)
39
+ }, [props.editor, element])
40
40
 
41
41
  return (
42
- <div ref={element} className={props.className} style={{ visibility: 'hidden' }}>
42
+ <div ref={setElement} className={props.className} style={{ visibility: 'hidden' }}>
43
43
  {props.children}
44
44
  </div>
45
45
  )
package/src/Editor.ts CHANGED
@@ -1,7 +1,14 @@
1
- import React from 'react'
2
1
  import { Editor as CoreEditor } from '@tiptap/core'
2
+ import React from 'react'
3
+
3
4
  import { EditorContentProps, EditorContentState } from './EditorContent'
5
+ import { ReactRenderer } from './ReactRenderer'
6
+
7
+ type ContentComponent = React.Component<EditorContentProps, EditorContentState> & {
8
+ setRenderer(id: string, renderer: ReactRenderer): void;
9
+ removeRenderer(id: string): void;
10
+ }
4
11
 
5
12
  export class Editor extends CoreEditor {
6
- public contentComponent: React.Component<EditorContentProps, EditorContentState> | null = null
13
+ public contentComponent: ContentComponent | null = null
7
14
  }
@@ -1,39 +1,39 @@
1
1
  import React, { HTMLProps } from 'react'
2
- import ReactDOM from 'react-dom'
2
+ import ReactDOM, { flushSync } from 'react-dom'
3
+
3
4
  import { Editor } from './Editor'
4
5
  import { ReactRenderer } from './ReactRenderer'
5
6
 
6
- const Portals: React.FC<{ renderers: Map<string, ReactRenderer> }> = ({ renderers }) => {
7
+ const Portals: React.FC<{ renderers: Record<string, ReactRenderer> }> = ({ renderers }) => {
7
8
  return (
8
9
  <>
9
- {Array.from(renderers).map(([key, renderer]) => {
10
- return ReactDOM.createPortal(
11
- renderer.reactElement,
12
- renderer.element,
13
- key,
14
- )
10
+ {Object.entries(renderers).map(([key, renderer]) => {
11
+ return ReactDOM.createPortal(renderer.reactElement, renderer.element, key)
15
12
  })}
16
13
  </>
17
14
  )
18
15
  }
19
16
 
20
17
  export interface EditorContentProps extends HTMLProps<HTMLDivElement> {
21
- editor: Editor | null,
18
+ editor: Editor | null;
22
19
  }
23
20
 
24
21
  export interface EditorContentState {
25
- renderers: Map<string, ReactRenderer>
22
+ renderers: Record<string, ReactRenderer>;
26
23
  }
27
24
 
28
25
  export class PureEditorContent extends React.Component<EditorContentProps, EditorContentState> {
29
26
  editorContentRef: React.RefObject<any>
30
27
 
28
+ initialized: boolean
29
+
31
30
  constructor(props: EditorContentProps) {
32
31
  super(props)
33
32
  this.editorContentRef = React.createRef()
33
+ this.initialized = false
34
34
 
35
35
  this.state = {
36
- renderers: new Map(),
36
+ renderers: {},
37
37
  }
38
38
  }
39
39
 
@@ -64,9 +64,46 @@ export class PureEditorContent extends React.Component<EditorContentProps, Edito
64
64
  editor.contentComponent = this
65
65
 
66
66
  editor.createNodeViews()
67
+
68
+ this.initialized = true
69
+ }
70
+ }
71
+
72
+ maybeFlushSync(fn: () => void) {
73
+ // Avoid calling flushSync until the editor is initialized.
74
+ // Initialization happens during the componentDidMount or componentDidUpdate
75
+ // lifecycle methods, and React doesn't allow calling flushSync from inside
76
+ // a lifecycle method.
77
+ if (this.initialized) {
78
+ flushSync(fn)
79
+ } else {
80
+ fn()
67
81
  }
68
82
  }
69
83
 
84
+ setRenderer(id: string, renderer: ReactRenderer) {
85
+ this.maybeFlushSync(() => {
86
+ this.setState(({ renderers }) => ({
87
+ renderers: {
88
+ ...renderers,
89
+ [id]: renderer,
90
+ },
91
+ }))
92
+ })
93
+ }
94
+
95
+ removeRenderer(id: string) {
96
+ this.maybeFlushSync(() => {
97
+ this.setState(({ renderers }) => {
98
+ const nextRenderers = { ...renderers }
99
+
100
+ delete nextRenderers[id]
101
+
102
+ return { renderers: nextRenderers }
103
+ })
104
+ })
105
+ }
106
+
70
107
  componentWillUnmount() {
71
108
  const { editor } = this.props
72
109
 
@@ -74,6 +111,8 @@ export class PureEditorContent extends React.Component<EditorContentProps, Edito
74
111
  return
75
112
  }
76
113
 
114
+ this.initialized = false
115
+
77
116
  if (!editor.isDestroyed) {
78
117
  editor.view.setProps({
79
118
  nodeViews: {},
@@ -101,6 +140,7 @@ export class PureEditorContent extends React.Component<EditorContentProps, Edito
101
140
  return (
102
141
  <>
103
142
  <div ref={this.editorContentRef} {...rest} />
143
+ {/* @ts-ignore */}
104
144
  <Portals renderers={this.state.renderers} />
105
145
  </>
106
146
  )
@@ -1,17 +1,24 @@
1
- import React, { useEffect, useRef } from 'react'
2
1
  import { FloatingMenuPlugin, FloatingMenuPluginProps } from '@tiptap/extension-floating-menu'
2
+ import React, {
3
+ useEffect, useState,
4
+ } from 'react'
3
5
 
4
6
  type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>
5
7
 
6
8
  export type FloatingMenuProps = Omit<Optional<FloatingMenuPluginProps, 'pluginKey'>, 'element'> & {
7
9
  className?: string,
10
+ children: React.ReactNode
8
11
  }
9
12
 
10
- export const FloatingMenu: React.FC<FloatingMenuProps> = props => {
11
- const element = useRef<HTMLDivElement>(null)
13
+ export const FloatingMenu = (props: FloatingMenuProps) => {
14
+ const [element, setElement] = useState<HTMLDivElement | null>(null)
12
15
 
13
16
  useEffect(() => {
14
- if (!element.current) {
17
+ if (!element) {
18
+ return
19
+ }
20
+
21
+ if (props.editor.isDestroyed) {
15
22
  return
16
23
  }
17
24
 
@@ -22,24 +29,23 @@ export const FloatingMenu: React.FC<FloatingMenuProps> = props => {
22
29
  shouldShow = null,
23
30
  } = props
24
31
 
25
- editor.registerPlugin(FloatingMenuPlugin({
32
+ const plugin = FloatingMenuPlugin({
26
33
  pluginKey,
27
34
  editor,
28
- element: element.current as HTMLElement,
35
+ element,
29
36
  tippyOptions,
30
37
  shouldShow,
31
- }))
38
+ })
32
39
 
33
- return () => {
34
- editor.unregisterPlugin(pluginKey)
35
- }
40
+ editor.registerPlugin(plugin)
41
+ return () => editor.unregisterPlugin(pluginKey)
36
42
  }, [
37
43
  props.editor,
38
- element.current,
44
+ element,
39
45
  ])
40
46
 
41
47
  return (
42
- <div ref={element} className={props.className} style={{ visibility: 'hidden' }}>
48
+ <div ref={setElement} className={props.className} style={{ visibility: 'hidden' }}>
43
49
  {props.children}
44
50
  </div>
45
51
  )
@@ -1,4 +1,5 @@
1
1
  import React from 'react'
2
+
2
3
  import { useReactNodeView } from './useReactNodeView'
3
4
 
4
5
  export interface NodeViewContentProps {
@@ -16,8 +17,8 @@ export const NodeViewContent: React.FC<NodeViewContentProps> = props => {
16
17
  ref={nodeViewContentRef}
17
18
  data-node-view-content=""
18
19
  style={{
19
- ...props.style,
20
20
  whiteSpace: 'pre-wrap',
21
+ ...props.style,
21
22
  }}
22
23
  />
23
24
  )
@@ -1,4 +1,5 @@
1
1
  import React from 'react'
2
+
2
3
  import { useReactNodeView } from './useReactNodeView'
3
4
 
4
5
  export interface NodeViewWrapperProps {
@@ -17,8 +18,8 @@ export const NodeViewWrapper: React.FC<NodeViewWrapperProps> = React.forwardRef(
17
18
  data-node-view-wrapper=""
18
19
  onDragStart={onDragStart}
19
20
  style={{
20
- ...props.style,
21
21
  whiteSpace: 'normal',
22
+ ...props.style,
22
23
  }}
23
24
  />
24
25
  )
@@ -1,30 +1,39 @@
1
- import React from 'react'
2
1
  import {
2
+ DecorationWithType,
3
3
  NodeView,
4
4
  NodeViewProps,
5
5
  NodeViewRenderer,
6
- NodeViewRendererProps,
7
6
  NodeViewRendererOptions,
7
+ NodeViewRendererProps,
8
8
  } from '@tiptap/core'
9
- import { Decoration, NodeView as ProseMirrorNodeView } from 'prosemirror-view'
10
- import { Node as ProseMirrorNode } from 'prosemirror-model'
9
+ import { Node as ProseMirrorNode } from '@tiptap/pm/model'
10
+ import { Decoration, NodeView as ProseMirrorNodeView } from '@tiptap/pm/view'
11
+ import React from 'react'
12
+
11
13
  import { Editor } from './Editor'
12
14
  import { ReactRenderer } from './ReactRenderer'
13
15
  import { ReactNodeViewContext, ReactNodeViewContextProps } from './useReactNodeView'
14
16
 
15
17
  export interface ReactNodeViewRendererOptions extends NodeViewRendererOptions {
16
- update: ((props: {
17
- oldNode: ProseMirrorNode,
18
- oldDecorations: Decoration[],
19
- newNode: ProseMirrorNode,
20
- newDecorations: Decoration[],
21
- updateProps: () => void,
22
- }) => boolean) | null,
23
- as?: string,
18
+ update:
19
+ | ((props: {
20
+ oldNode: ProseMirrorNode
21
+ oldDecorations: Decoration[]
22
+ newNode: ProseMirrorNode
23
+ newDecorations: Decoration[]
24
+ updateProps: () => void
25
+ }) => boolean)
26
+ | null
27
+ as?: string
28
+ className?: string
29
+ attrs?: Record<string, string>
24
30
  }
25
31
 
26
- class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeViewRendererOptions> {
27
-
32
+ class ReactNodeView extends NodeView<
33
+ React.FunctionComponent,
34
+ Editor,
35
+ ReactNodeViewRendererOptions
36
+ > {
28
37
  renderer!: ReactRenderer
29
38
 
30
39
  contentDOMElement!: HTMLElement | null
@@ -53,19 +62,19 @@ class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeV
53
62
  const Component = this.component
54
63
  const onDragStart = this.onDragStart.bind(this)
55
64
  const nodeViewContentRef: ReactNodeViewContextProps['nodeViewContentRef'] = element => {
56
- if (
57
- element
58
- && this.contentDOMElement
59
- && element.firstChild !== this.contentDOMElement
60
- ) {
65
+ if (element && this.contentDOMElement && element.firstChild !== this.contentDOMElement) {
61
66
  element.appendChild(this.contentDOMElement)
62
67
  }
63
68
  }
64
69
 
65
70
  return (
66
- <ReactNodeViewContext.Provider value={{ onDragStart, nodeViewContentRef }}>
67
- <Component {...componentProps} />
68
- </ReactNodeViewContext.Provider>
71
+ <>
72
+ {/* @ts-ignore */}
73
+ <ReactNodeViewContext.Provider value={{ onDragStart, nodeViewContentRef }}>
74
+ {/* @ts-ignore */}
75
+ <Component {...componentProps} />
76
+ </ReactNodeViewContext.Provider>
77
+ </>
69
78
  )
70
79
  }
71
80
 
@@ -88,11 +97,14 @@ class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeV
88
97
  as = this.options.as
89
98
  }
90
99
 
100
+ const { className = '' } = this.options
101
+
91
102
  this.renderer = new ReactRenderer(ReactNodeViewProvider, {
92
103
  editor: this.editor,
93
104
  props,
94
105
  as,
95
- className: `node-${this.node.type.name}`,
106
+ className: `node-${this.node.type.name} ${className}`.trim(),
107
+ attrs: this.options.attrs,
96
108
  })
97
109
  }
98
110
 
@@ -104,7 +116,7 @@ class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeV
104
116
  throw Error('Please use the NodeViewWrapper component for your node view.')
105
117
  }
106
118
 
107
- return this.renderer.element
119
+ return this.renderer.element as HTMLElement
108
120
  }
109
121
 
110
122
  get contentDOM() {
@@ -115,7 +127,7 @@ class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeV
115
127
  return this.contentDOMElement
116
128
  }
117
129
 
118
- update(node: ProseMirrorNode, decorations: Decoration[]) {
130
+ update(node: ProseMirrorNode, decorations: DecorationWithType[]) {
119
131
  const updateProps = (props?: Record<string, any>) => {
120
132
  this.renderer.updateProps(props)
121
133
  }
@@ -170,7 +182,10 @@ class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeV
170
182
  }
171
183
  }
172
184
 
173
- export function ReactNodeViewRenderer(component: any, options?: Partial<ReactNodeViewRendererOptions>): NodeViewRenderer {
185
+ export function ReactNodeViewRenderer(
186
+ component: any,
187
+ options?: Partial<ReactNodeViewRendererOptions>,
188
+ ): NodeViewRenderer {
174
189
  return (props: NodeViewRendererProps) => {
175
190
  // try to get the parent component
176
191
  // this is important for vue devtools to show the component hierarchy correctly
@@ -179,6 +194,6 @@ export function ReactNodeViewRenderer(component: any, options?: Partial<ReactNod
179
194
  return {}
180
195
  }
181
196
 
182
- return new ReactNodeView(component, props, options) as ProseMirrorNodeView
197
+ return new ReactNodeView(component, props, options) as unknown as ProseMirrorNodeView
183
198
  }
184
199
  }
@@ -1,5 +1,6 @@
1
- import React from 'react'
2
1
  import { Editor } from '@tiptap/core'
2
+ import React from 'react'
3
+
3
4
  import { Editor as ExtendedEditor } from './Editor'
4
5
 
5
6
  function isClassComponent(Component: any) {
@@ -22,14 +23,15 @@ export interface ReactRendererOptions {
22
23
  props?: Record<string, any>,
23
24
  as?: string,
24
25
  className?: string,
26
+ attrs?: Record<string, string>,
25
27
  }
26
28
 
27
- type ComponentType<R> =
28
- | React.ComponentClass
29
- | React.FunctionComponent
30
- | React.ForwardRefExoticComponent<{ items: any[], command: any } & React.RefAttributes<R>>
29
+ type ComponentType<R, P> =
30
+ React.ComponentClass<P> |
31
+ React.FunctionComponent<P> |
32
+ React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<R>>;
31
33
 
32
- export class ReactRenderer<R = unknown> {
34
+ export class ReactRenderer<R = unknown, P = unknown> {
33
35
  id: string
34
36
 
35
37
  editor: ExtendedEditor
@@ -44,11 +46,12 @@ export class ReactRenderer<R = unknown> {
44
46
 
45
47
  ref: R | null = null
46
48
 
47
- constructor(component: ComponentType<R>, {
49
+ constructor(component: ComponentType<R, P>, {
48
50
  editor,
49
51
  props = {},
50
52
  as = 'div',
51
53
  className = '',
54
+ attrs,
52
55
  }: ReactRendererOptions) {
53
56
  this.id = Math.floor(Math.random() * 0xFFFFFFFF).toString()
54
57
  this.component = component
@@ -61,6 +64,12 @@ export class ReactRenderer<R = unknown> {
61
64
  this.element.classList.add(...className.split(' '))
62
65
  }
63
66
 
67
+ if (attrs) {
68
+ Object.keys(attrs).forEach(key => {
69
+ this.element.setAttribute(key, attrs[key])
70
+ })
71
+ }
72
+
64
73
  this.render()
65
74
  }
66
75
 
@@ -76,14 +85,7 @@ export class ReactRenderer<R = unknown> {
76
85
 
77
86
  this.reactElement = <Component {...props } />
78
87
 
79
- if (this.editor?.contentComponent) {
80
- this.editor.contentComponent.setState({
81
- renderers: this.editor.contentComponent.state.renderers.set(
82
- this.id,
83
- this,
84
- ),
85
- })
86
- }
88
+ this.editor?.contentComponent?.setRenderer(this.id, this)
87
89
  }
88
90
 
89
91
  updateProps(props: Record<string, any> = {}): void {
@@ -96,14 +98,6 @@ export class ReactRenderer<R = unknown> {
96
98
  }
97
99
 
98
100
  destroy(): void {
99
- if (this.editor?.contentComponent) {
100
- const { renderers } = this.editor.contentComponent.state
101
-
102
- renderers.delete(this.id)
103
-
104
- this.editor.contentComponent.setState({
105
- renderers,
106
- })
107
- }
101
+ this.editor?.contentComponent?.removeRenderer(this.id)
108
102
  }
109
103
  }
package/src/index.ts CHANGED
@@ -1,10 +1,10 @@
1
- export * from '@tiptap/core'
2
1
  export * from './BubbleMenu'
3
2
  export { Editor } from './Editor'
4
- export * from './FloatingMenu'
5
- export * from './useEditor'
6
- export * from './ReactRenderer'
7
- export * from './ReactNodeViewRenderer'
8
3
  export * from './EditorContent'
9
- export * from './NodeViewWrapper'
4
+ export * from './FloatingMenu'
10
5
  export * from './NodeViewContent'
6
+ export * from './NodeViewWrapper'
7
+ export * from './ReactNodeViewRenderer'
8
+ export * from './ReactRenderer'
9
+ export * from './useEditor'
10
+ export * from '@tiptap/core'