@tiptap/core 2.7.4 → 2.9.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 (347) hide show
  1. package/dist/{packages/core/src/CommandManager.d.ts → CommandManager.d.ts} +1 -0
  2. package/dist/CommandManager.d.ts.map +1 -0
  3. package/dist/{packages/core/src/Editor.d.ts → Editor.d.ts} +3 -2
  4. package/dist/Editor.d.ts.map +1 -0
  5. package/dist/{packages/core/src/EventEmitter.d.ts → EventEmitter.d.ts} +1 -0
  6. package/dist/EventEmitter.d.ts.map +1 -0
  7. package/dist/{packages/core/src/Extension.d.ts → Extension.d.ts} +1 -0
  8. package/dist/Extension.d.ts.map +1 -0
  9. package/dist/{packages/core/src/ExtensionManager.d.ts → ExtensionManager.d.ts} +1 -0
  10. package/dist/ExtensionManager.d.ts.map +1 -0
  11. package/dist/{packages/core/src/InputRule.d.ts → InputRule.d.ts} +1 -0
  12. package/dist/InputRule.d.ts.map +1 -0
  13. package/dist/{packages/core/src/Mark.d.ts → Mark.d.ts} +1 -0
  14. package/dist/Mark.d.ts.map +1 -0
  15. package/dist/{packages/core/src/Node.d.ts → Node.d.ts} +1 -0
  16. package/dist/Node.d.ts.map +1 -0
  17. package/dist/{packages/core/src/NodePos.d.ts → NodePos.d.ts} +1 -0
  18. package/dist/NodePos.d.ts.map +1 -0
  19. package/dist/{packages/core/src/NodeView.d.ts → NodeView.d.ts} +1 -0
  20. package/dist/NodeView.d.ts.map +1 -0
  21. package/dist/{packages/core/src/PasteRule.d.ts → PasteRule.d.ts} +1 -0
  22. package/dist/PasteRule.d.ts.map +1 -0
  23. package/dist/{packages/core/src/Tracker.d.ts → Tracker.d.ts} +1 -0
  24. package/dist/Tracker.d.ts.map +1 -0
  25. package/dist/{packages/core/src/commands → commands}/blur.d.ts +1 -0
  26. package/dist/commands/blur.d.ts.map +1 -0
  27. package/dist/{packages/core/src/commands → commands}/clearContent.d.ts +1 -0
  28. package/dist/commands/clearContent.d.ts.map +1 -0
  29. package/dist/{packages/core/src/commands → commands}/clearNodes.d.ts +1 -0
  30. package/dist/commands/clearNodes.d.ts.map +1 -0
  31. package/dist/{packages/core/src/commands → commands}/command.d.ts +1 -0
  32. package/dist/commands/command.d.ts.map +1 -0
  33. package/dist/{packages/core/src/commands → commands}/createParagraphNear.d.ts +1 -0
  34. package/dist/commands/createParagraphNear.d.ts.map +1 -0
  35. package/dist/{packages/core/src/commands → commands}/cut.d.ts +1 -0
  36. package/dist/commands/cut.d.ts.map +1 -0
  37. package/dist/{packages/core/src/commands → commands}/deleteCurrentNode.d.ts +1 -0
  38. package/dist/commands/deleteCurrentNode.d.ts.map +1 -0
  39. package/dist/{packages/core/src/commands → commands}/deleteNode.d.ts +1 -0
  40. package/dist/commands/deleteNode.d.ts.map +1 -0
  41. package/dist/{packages/core/src/commands → commands}/deleteRange.d.ts +1 -0
  42. package/dist/commands/deleteRange.d.ts.map +1 -0
  43. package/dist/{packages/core/src/commands → commands}/deleteSelection.d.ts +1 -0
  44. package/dist/commands/deleteSelection.d.ts.map +1 -0
  45. package/dist/{packages/core/src/commands → commands}/enter.d.ts +1 -0
  46. package/dist/commands/enter.d.ts.map +1 -0
  47. package/dist/{packages/core/src/commands → commands}/exitCode.d.ts +1 -0
  48. package/dist/commands/exitCode.d.ts.map +1 -0
  49. package/dist/{packages/core/src/commands → commands}/extendMarkRange.d.ts +1 -0
  50. package/dist/commands/extendMarkRange.d.ts.map +1 -0
  51. package/dist/{packages/core/src/commands → commands}/first.d.ts +1 -0
  52. package/dist/commands/first.d.ts.map +1 -0
  53. package/dist/{packages/core/src/commands → commands}/focus.d.ts +1 -0
  54. package/dist/commands/focus.d.ts.map +1 -0
  55. package/dist/{packages/core/src/commands → commands}/forEach.d.ts +1 -0
  56. package/dist/commands/forEach.d.ts.map +1 -0
  57. package/dist/{packages/core/src/commands → commands}/index.d.ts +1 -0
  58. package/dist/commands/index.d.ts.map +1 -0
  59. package/dist/{packages/core/src/commands → commands}/insertContent.d.ts +1 -0
  60. package/dist/commands/insertContent.d.ts.map +1 -0
  61. package/dist/{packages/core/src/commands → commands}/insertContentAt.d.ts +1 -0
  62. package/dist/commands/insertContentAt.d.ts.map +1 -0
  63. package/dist/{packages/core/src/commands → commands}/join.d.ts +1 -0
  64. package/dist/commands/join.d.ts.map +1 -0
  65. package/dist/{packages/core/src/commands → commands}/joinItemBackward.d.ts +1 -0
  66. package/dist/commands/joinItemBackward.d.ts.map +1 -0
  67. package/dist/{packages/core/src/commands → commands}/joinItemForward.d.ts +1 -0
  68. package/dist/commands/joinItemForward.d.ts.map +1 -0
  69. package/dist/{packages/core/src/commands → commands}/joinTextblockBackward.d.ts +1 -0
  70. package/dist/commands/joinTextblockBackward.d.ts.map +1 -0
  71. package/dist/{packages/core/src/commands → commands}/joinTextblockForward.d.ts +1 -0
  72. package/dist/commands/joinTextblockForward.d.ts.map +1 -0
  73. package/dist/{packages/core/src/commands → commands}/keyboardShortcut.d.ts +1 -0
  74. package/dist/commands/keyboardShortcut.d.ts.map +1 -0
  75. package/dist/{packages/core/src/commands → commands}/lift.d.ts +1 -0
  76. package/dist/commands/lift.d.ts.map +1 -0
  77. package/dist/{packages/core/src/commands → commands}/liftEmptyBlock.d.ts +1 -0
  78. package/dist/commands/liftEmptyBlock.d.ts.map +1 -0
  79. package/dist/{packages/core/src/commands → commands}/liftListItem.d.ts +1 -0
  80. package/dist/commands/liftListItem.d.ts.map +1 -0
  81. package/dist/{packages/core/src/commands → commands}/newlineInCode.d.ts +1 -0
  82. package/dist/commands/newlineInCode.d.ts.map +1 -0
  83. package/dist/{packages/core/src/commands → commands}/resetAttributes.d.ts +1 -0
  84. package/dist/commands/resetAttributes.d.ts.map +1 -0
  85. package/dist/{packages/core/src/commands → commands}/scrollIntoView.d.ts +1 -0
  86. package/dist/commands/scrollIntoView.d.ts.map +1 -0
  87. package/dist/{packages/core/src/commands → commands}/selectAll.d.ts +1 -0
  88. package/dist/commands/selectAll.d.ts.map +1 -0
  89. package/dist/{packages/core/src/commands → commands}/selectNodeBackward.d.ts +1 -0
  90. package/dist/commands/selectNodeBackward.d.ts.map +1 -0
  91. package/dist/{packages/core/src/commands → commands}/selectNodeForward.d.ts +1 -0
  92. package/dist/commands/selectNodeForward.d.ts.map +1 -0
  93. package/dist/{packages/core/src/commands → commands}/selectParentNode.d.ts +1 -0
  94. package/dist/commands/selectParentNode.d.ts.map +1 -0
  95. package/dist/{packages/core/src/commands → commands}/selectTextblockEnd.d.ts +1 -0
  96. package/dist/commands/selectTextblockEnd.d.ts.map +1 -0
  97. package/dist/{packages/core/src/commands → commands}/selectTextblockStart.d.ts +1 -0
  98. package/dist/commands/selectTextblockStart.d.ts.map +1 -0
  99. package/dist/{packages/core/src/commands → commands}/setContent.d.ts +1 -0
  100. package/dist/commands/setContent.d.ts.map +1 -0
  101. package/dist/{packages/core/src/commands → commands}/setMark.d.ts +1 -0
  102. package/dist/commands/setMark.d.ts.map +1 -0
  103. package/dist/{packages/core/src/commands → commands}/setMeta.d.ts +1 -0
  104. package/dist/commands/setMeta.d.ts.map +1 -0
  105. package/dist/{packages/core/src/commands → commands}/setNode.d.ts +1 -0
  106. package/dist/commands/setNode.d.ts.map +1 -0
  107. package/dist/{packages/core/src/commands → commands}/setNodeSelection.d.ts +1 -0
  108. package/dist/commands/setNodeSelection.d.ts.map +1 -0
  109. package/dist/{packages/core/src/commands → commands}/setTextSelection.d.ts +1 -0
  110. package/dist/commands/setTextSelection.d.ts.map +1 -0
  111. package/dist/{packages/core/src/commands → commands}/sinkListItem.d.ts +1 -0
  112. package/dist/commands/sinkListItem.d.ts.map +1 -0
  113. package/dist/{packages/core/src/commands → commands}/splitBlock.d.ts +1 -0
  114. package/dist/commands/splitBlock.d.ts.map +1 -0
  115. package/dist/{packages/core/src/commands → commands}/splitListItem.d.ts +1 -0
  116. package/dist/commands/splitListItem.d.ts.map +1 -0
  117. package/dist/{packages/core/src/commands → commands}/toggleList.d.ts +1 -0
  118. package/dist/commands/toggleList.d.ts.map +1 -0
  119. package/dist/{packages/core/src/commands → commands}/toggleMark.d.ts +1 -0
  120. package/dist/commands/toggleMark.d.ts.map +1 -0
  121. package/dist/{packages/core/src/commands → commands}/toggleNode.d.ts +1 -0
  122. package/dist/commands/toggleNode.d.ts.map +1 -0
  123. package/dist/{packages/core/src/commands → commands}/toggleWrap.d.ts +1 -0
  124. package/dist/commands/toggleWrap.d.ts.map +1 -0
  125. package/dist/{packages/core/src/commands → commands}/undoInputRule.d.ts +1 -0
  126. package/dist/commands/undoInputRule.d.ts.map +1 -0
  127. package/dist/{packages/core/src/commands → commands}/unsetAllMarks.d.ts +1 -0
  128. package/dist/commands/unsetAllMarks.d.ts.map +1 -0
  129. package/dist/{packages/core/src/commands → commands}/unsetMark.d.ts +1 -0
  130. package/dist/commands/unsetMark.d.ts.map +1 -0
  131. package/dist/{packages/core/src/commands → commands}/updateAttributes.d.ts +1 -0
  132. package/dist/commands/updateAttributes.d.ts.map +1 -0
  133. package/dist/{packages/core/src/commands → commands}/wrapIn.d.ts +1 -0
  134. package/dist/commands/wrapIn.d.ts.map +1 -0
  135. package/dist/{packages/core/src/commands → commands}/wrapInList.d.ts +1 -0
  136. package/dist/commands/wrapInList.d.ts.map +1 -0
  137. package/dist/{packages/core/src/extensions → extensions}/clipboardTextSerializer.d.ts +1 -0
  138. package/dist/extensions/clipboardTextSerializer.d.ts.map +1 -0
  139. package/dist/{packages/core/src/extensions → extensions}/commands.d.ts +1 -0
  140. package/dist/extensions/commands.d.ts.map +1 -0
  141. package/dist/extensions/drop.d.ts +3 -0
  142. package/dist/extensions/drop.d.ts.map +1 -0
  143. package/dist/{packages/core/src/extensions → extensions}/editable.d.ts +1 -0
  144. package/dist/extensions/editable.d.ts.map +1 -0
  145. package/dist/{packages/core/src/extensions → extensions}/focusEvents.d.ts +1 -0
  146. package/dist/extensions/focusEvents.d.ts.map +1 -0
  147. package/dist/{packages/core/src/extensions → extensions}/index.d.ts +3 -0
  148. package/dist/extensions/index.d.ts.map +1 -0
  149. package/dist/{packages/core/src/extensions → extensions}/keymap.d.ts +1 -0
  150. package/dist/extensions/keymap.d.ts.map +1 -0
  151. package/dist/extensions/paste.d.ts +3 -0
  152. package/dist/extensions/paste.d.ts.map +1 -0
  153. package/dist/{packages/core/src/extensions → extensions}/tabindex.d.ts +1 -0
  154. package/dist/extensions/tabindex.d.ts.map +1 -0
  155. package/dist/{packages/core/src/helpers → helpers}/combineTransactionSteps.d.ts +1 -0
  156. package/dist/helpers/combineTransactionSteps.d.ts.map +1 -0
  157. package/dist/{packages/core/src/helpers → helpers}/createChainableState.d.ts +1 -0
  158. package/dist/helpers/createChainableState.d.ts.map +1 -0
  159. package/dist/{packages/core/src/helpers → helpers}/createDocument.d.ts +1 -0
  160. package/dist/helpers/createDocument.d.ts.map +1 -0
  161. package/dist/{packages/core/src/helpers → helpers}/createNodeFromContent.d.ts +1 -0
  162. package/dist/helpers/createNodeFromContent.d.ts.map +1 -0
  163. package/dist/{packages/core/src/helpers → helpers}/defaultBlockAt.d.ts +1 -0
  164. package/dist/helpers/defaultBlockAt.d.ts.map +1 -0
  165. package/dist/{packages/core/src/helpers → helpers}/findChildren.d.ts +1 -0
  166. package/dist/helpers/findChildren.d.ts.map +1 -0
  167. package/dist/{packages/core/src/helpers → helpers}/findChildrenInRange.d.ts +1 -0
  168. package/dist/helpers/findChildrenInRange.d.ts.map +1 -0
  169. package/dist/{packages/core/src/helpers → helpers}/findParentNode.d.ts +1 -0
  170. package/dist/helpers/findParentNode.d.ts.map +1 -0
  171. package/dist/{packages/core/src/helpers → helpers}/findParentNodeClosestToPos.d.ts +1 -0
  172. package/dist/helpers/findParentNodeClosestToPos.d.ts.map +1 -0
  173. package/dist/{packages/core/src/helpers → helpers}/generateHTML.d.ts +1 -0
  174. package/dist/helpers/generateHTML.d.ts.map +1 -0
  175. package/dist/{packages/core/src/helpers → helpers}/generateJSON.d.ts +1 -0
  176. package/dist/helpers/generateJSON.d.ts.map +1 -0
  177. package/dist/{packages/core/src/helpers → helpers}/generateText.d.ts +1 -0
  178. package/dist/helpers/generateText.d.ts.map +1 -0
  179. package/dist/{packages/core/src/helpers → helpers}/getAttributes.d.ts +1 -0
  180. package/dist/helpers/getAttributes.d.ts.map +1 -0
  181. package/dist/{packages/core/src/helpers → helpers}/getAttributesFromExtensions.d.ts +1 -0
  182. package/dist/helpers/getAttributesFromExtensions.d.ts.map +1 -0
  183. package/dist/{packages/core/src/helpers → helpers}/getChangedRanges.d.ts +1 -0
  184. package/dist/helpers/getChangedRanges.d.ts.map +1 -0
  185. package/dist/{packages/core/src/helpers → helpers}/getDebugJSON.d.ts +1 -0
  186. package/dist/helpers/getDebugJSON.d.ts.map +1 -0
  187. package/dist/{packages/core/src/helpers → helpers}/getExtensionField.d.ts +1 -0
  188. package/dist/helpers/getExtensionField.d.ts.map +1 -0
  189. package/dist/{packages/core/src/helpers → helpers}/getHTMLFromFragment.d.ts +1 -0
  190. package/dist/helpers/getHTMLFromFragment.d.ts.map +1 -0
  191. package/dist/{packages/core/src/helpers → helpers}/getMarkAttributes.d.ts +1 -0
  192. package/dist/helpers/getMarkAttributes.d.ts.map +1 -0
  193. package/dist/{packages/core/src/helpers → helpers}/getMarkRange.d.ts +1 -0
  194. package/dist/helpers/getMarkRange.d.ts.map +1 -0
  195. package/dist/{packages/core/src/helpers → helpers}/getMarkType.d.ts +1 -0
  196. package/dist/helpers/getMarkType.d.ts.map +1 -0
  197. package/dist/{packages/core/src/helpers → helpers}/getMarksBetween.d.ts +1 -0
  198. package/dist/helpers/getMarksBetween.d.ts.map +1 -0
  199. package/dist/{packages/core/src/helpers → helpers}/getNodeAtPosition.d.ts +1 -0
  200. package/dist/helpers/getNodeAtPosition.d.ts.map +1 -0
  201. package/dist/{packages/core/src/helpers → helpers}/getNodeAttributes.d.ts +1 -0
  202. package/dist/helpers/getNodeAttributes.d.ts.map +1 -0
  203. package/dist/{packages/core/src/helpers → helpers}/getNodeType.d.ts +1 -0
  204. package/dist/helpers/getNodeType.d.ts.map +1 -0
  205. package/dist/{packages/core/src/helpers → helpers}/getRenderedAttributes.d.ts +1 -0
  206. package/dist/helpers/getRenderedAttributes.d.ts.map +1 -0
  207. package/dist/{packages/core/src/helpers → helpers}/getSchema.d.ts +1 -0
  208. package/dist/helpers/getSchema.d.ts.map +1 -0
  209. package/dist/{packages/core/src/helpers → helpers}/getSchemaByResolvedExtensions.d.ts +1 -0
  210. package/dist/helpers/getSchemaByResolvedExtensions.d.ts.map +1 -0
  211. package/dist/{packages/core/src/helpers → helpers}/getSchemaTypeByName.d.ts +1 -0
  212. package/dist/helpers/getSchemaTypeByName.d.ts.map +1 -0
  213. package/dist/{packages/core/src/helpers → helpers}/getSchemaTypeNameByName.d.ts +1 -0
  214. package/dist/helpers/getSchemaTypeNameByName.d.ts.map +1 -0
  215. package/dist/{packages/core/src/helpers → helpers}/getSplittedAttributes.d.ts +1 -0
  216. package/dist/helpers/getSplittedAttributes.d.ts.map +1 -0
  217. package/dist/{packages/core/src/helpers → helpers}/getText.d.ts +1 -0
  218. package/dist/helpers/getText.d.ts.map +1 -0
  219. package/dist/{packages/core/src/helpers → helpers}/getTextBetween.d.ts +1 -0
  220. package/dist/helpers/getTextBetween.d.ts.map +1 -0
  221. package/dist/{packages/core/src/helpers → helpers}/getTextContentFromNodes.d.ts +1 -0
  222. package/dist/helpers/getTextContentFromNodes.d.ts.map +1 -0
  223. package/dist/{packages/core/src/helpers → helpers}/getTextSerializersFromSchema.d.ts +1 -0
  224. package/dist/helpers/getTextSerializersFromSchema.d.ts.map +1 -0
  225. package/dist/{packages/core/src/helpers → helpers}/index.d.ts +1 -0
  226. package/dist/helpers/index.d.ts.map +1 -0
  227. package/dist/{packages/core/src/helpers → helpers}/injectExtensionAttributesToParseRule.d.ts +1 -0
  228. package/dist/helpers/injectExtensionAttributesToParseRule.d.ts.map +1 -0
  229. package/dist/{packages/core/src/helpers → helpers}/isActive.d.ts +1 -0
  230. package/dist/helpers/isActive.d.ts.map +1 -0
  231. package/dist/{packages/core/src/helpers → helpers}/isAtEndOfNode.d.ts +1 -0
  232. package/dist/helpers/isAtEndOfNode.d.ts.map +1 -0
  233. package/dist/{packages/core/src/helpers → helpers}/isAtStartOfNode.d.ts +1 -0
  234. package/dist/helpers/isAtStartOfNode.d.ts.map +1 -0
  235. package/dist/{packages/core/src/helpers → helpers}/isExtensionRulesEnabled.d.ts +1 -0
  236. package/dist/helpers/isExtensionRulesEnabled.d.ts.map +1 -0
  237. package/dist/{packages/core/src/helpers → helpers}/isList.d.ts +1 -0
  238. package/dist/helpers/isList.d.ts.map +1 -0
  239. package/dist/{packages/core/src/helpers → helpers}/isMarkActive.d.ts +1 -0
  240. package/dist/helpers/isMarkActive.d.ts.map +1 -0
  241. package/dist/{packages/core/src/helpers → helpers}/isNodeActive.d.ts +1 -0
  242. package/dist/helpers/isNodeActive.d.ts.map +1 -0
  243. package/dist/{packages/core/src/helpers → helpers}/isNodeEmpty.d.ts +1 -0
  244. package/dist/helpers/isNodeEmpty.d.ts.map +1 -0
  245. package/dist/{packages/core/src/helpers → helpers}/isNodeSelection.d.ts +1 -0
  246. package/dist/helpers/isNodeSelection.d.ts.map +1 -0
  247. package/dist/{packages/core/src/helpers → helpers}/isTextSelection.d.ts +1 -0
  248. package/dist/helpers/isTextSelection.d.ts.map +1 -0
  249. package/dist/{packages/core/src/helpers → helpers}/posToDOMRect.d.ts +1 -0
  250. package/dist/helpers/posToDOMRect.d.ts.map +1 -0
  251. package/dist/{packages/core/src/helpers → helpers}/resolveFocusPosition.d.ts +1 -0
  252. package/dist/helpers/resolveFocusPosition.d.ts.map +1 -0
  253. package/dist/{packages/core/src/helpers → helpers}/selectionToInsertionEnd.d.ts +1 -0
  254. package/dist/helpers/selectionToInsertionEnd.d.ts.map +1 -0
  255. package/dist/{packages/core/src/helpers → helpers}/splitExtensions.d.ts +1 -0
  256. package/dist/helpers/splitExtensions.d.ts.map +1 -0
  257. package/dist/index.cjs +206 -161
  258. package/dist/index.cjs.map +1 -1
  259. package/dist/{packages/core/src/index.d.ts → index.d.ts} +1 -2
  260. package/dist/index.d.ts.map +1 -0
  261. package/dist/index.js +207 -160
  262. package/dist/index.js.map +1 -1
  263. package/dist/index.umd.js +206 -161
  264. package/dist/index.umd.js.map +1 -1
  265. package/dist/{packages/core/src/inputRules → inputRules}/index.d.ts +1 -0
  266. package/dist/inputRules/index.d.ts.map +1 -0
  267. package/dist/{packages/core/src/inputRules → inputRules}/markInputRule.d.ts +1 -0
  268. package/dist/inputRules/markInputRule.d.ts.map +1 -0
  269. package/dist/{packages/core/src/inputRules → inputRules}/nodeInputRule.d.ts +1 -0
  270. package/dist/inputRules/nodeInputRule.d.ts.map +1 -0
  271. package/dist/{packages/core/src/inputRules → inputRules}/textInputRule.d.ts +1 -0
  272. package/dist/inputRules/textInputRule.d.ts.map +1 -0
  273. package/dist/{packages/core/src/inputRules → inputRules}/textblockTypeInputRule.d.ts +1 -0
  274. package/dist/inputRules/textblockTypeInputRule.d.ts.map +1 -0
  275. package/dist/{packages/core/src/inputRules → inputRules}/wrappingInputRule.d.ts +1 -0
  276. package/dist/inputRules/wrappingInputRule.d.ts.map +1 -0
  277. package/dist/{packages/core/src/pasteRules → pasteRules}/index.d.ts +1 -0
  278. package/dist/pasteRules/index.d.ts.map +1 -0
  279. package/dist/{packages/core/src/pasteRules → pasteRules}/markPasteRule.d.ts +1 -0
  280. package/dist/pasteRules/markPasteRule.d.ts.map +1 -0
  281. package/dist/{packages/core/src/pasteRules → pasteRules}/nodePasteRule.d.ts +1 -0
  282. package/dist/pasteRules/nodePasteRule.d.ts.map +1 -0
  283. package/dist/{packages/core/src/pasteRules → pasteRules}/textPasteRule.d.ts +1 -0
  284. package/dist/pasteRules/textPasteRule.d.ts.map +1 -0
  285. package/dist/{packages/core/src/style.d.ts → style.d.ts} +1 -0
  286. package/dist/style.d.ts.map +1 -0
  287. package/dist/{packages/core/src/types.d.ts → types.d.ts} +60 -4
  288. package/dist/types.d.ts.map +1 -0
  289. package/dist/{packages/core/src/utilities → utilities}/callOrReturn.d.ts +1 -0
  290. package/dist/utilities/callOrReturn.d.ts.map +1 -0
  291. package/dist/{packages/core/src/utilities → utilities}/createStyleTag.d.ts +1 -0
  292. package/dist/utilities/createStyleTag.d.ts.map +1 -0
  293. package/dist/{packages/core/src/utilities → utilities}/deleteProps.d.ts +1 -0
  294. package/dist/utilities/deleteProps.d.ts.map +1 -0
  295. package/dist/{packages/core/src/utilities → utilities}/elementFromString.d.ts +1 -0
  296. package/dist/utilities/elementFromString.d.ts.map +1 -0
  297. package/dist/{packages/core/src/utilities → utilities}/escapeForRegEx.d.ts +1 -0
  298. package/dist/utilities/escapeForRegEx.d.ts.map +1 -0
  299. package/dist/{packages/core/src/utilities → utilities}/findDuplicates.d.ts +1 -0
  300. package/dist/utilities/findDuplicates.d.ts.map +1 -0
  301. package/dist/{packages/core/src/utilities → utilities}/fromString.d.ts +1 -0
  302. package/dist/utilities/fromString.d.ts.map +1 -0
  303. package/dist/{packages/core/src/utilities → utilities}/index.d.ts +1 -0
  304. package/dist/utilities/index.d.ts.map +1 -0
  305. package/dist/{packages/core/src/utilities → utilities}/isAndroid.d.ts +1 -0
  306. package/dist/utilities/isAndroid.d.ts.map +1 -0
  307. package/dist/{packages/core/src/utilities → utilities}/isEmptyObject.d.ts +1 -0
  308. package/dist/utilities/isEmptyObject.d.ts.map +1 -0
  309. package/dist/{packages/core/src/utilities → utilities}/isFunction.d.ts +1 -0
  310. package/dist/utilities/isFunction.d.ts.map +1 -0
  311. package/dist/{packages/core/src/utilities → utilities}/isMacOS.d.ts +1 -0
  312. package/dist/utilities/isMacOS.d.ts.map +1 -0
  313. package/dist/{packages/core/src/utilities → utilities}/isNumber.d.ts +1 -0
  314. package/dist/utilities/isNumber.d.ts.map +1 -0
  315. package/dist/{packages/core/src/utilities → utilities}/isPlainObject.d.ts +1 -0
  316. package/dist/utilities/isPlainObject.d.ts.map +1 -0
  317. package/dist/{packages/core/src/utilities → utilities}/isRegExp.d.ts +1 -0
  318. package/dist/utilities/isRegExp.d.ts.map +1 -0
  319. package/dist/{packages/core/src/utilities → utilities}/isString.d.ts +1 -0
  320. package/dist/utilities/isString.d.ts.map +1 -0
  321. package/dist/{packages/core/src/utilities → utilities}/isiOS.d.ts +1 -0
  322. package/dist/utilities/isiOS.d.ts.map +1 -0
  323. package/dist/{packages/core/src/utilities → utilities}/mergeAttributes.d.ts +1 -0
  324. package/dist/utilities/mergeAttributes.d.ts.map +1 -0
  325. package/dist/{packages/core/src/utilities → utilities}/mergeDeep.d.ts +1 -0
  326. package/dist/utilities/mergeDeep.d.ts.map +1 -0
  327. package/dist/{packages/core/src/utilities → utilities}/minMax.d.ts +1 -0
  328. package/dist/utilities/minMax.d.ts.map +1 -0
  329. package/dist/{packages/core/src/utilities → utilities}/objectIncludes.d.ts +1 -0
  330. package/dist/utilities/objectIncludes.d.ts.map +1 -0
  331. package/dist/{packages/core/src/utilities → utilities}/removeDuplicates.d.ts +1 -0
  332. package/dist/utilities/removeDuplicates.d.ts.map +1 -0
  333. package/package.json +4 -4
  334. package/src/Editor.ts +35 -17
  335. package/src/ExtensionManager.ts +2 -1
  336. package/src/NodePos.ts +9 -4
  337. package/src/commands/insertContentAt.ts +4 -2
  338. package/src/extensions/drop.ts +26 -0
  339. package/src/extensions/index.ts +2 -0
  340. package/src/extensions/paste.ts +26 -0
  341. package/src/helpers/getMarkRange.ts +6 -3
  342. package/src/index.ts +0 -2
  343. package/src/types.ts +53 -3
  344. package/dist/packages/core/src/plugins/DropPlugin.d.ts +0 -3
  345. package/dist/packages/core/src/plugins/PastePlugin.d.ts +0 -3
  346. package/src/plugins/DropPlugin.ts +0 -14
  347. package/src/plugins/PastePlugin.ts +0 -14
package/src/NodePos.ts CHANGED
@@ -135,8 +135,9 @@ export class NodePos {
135
135
 
136
136
  this.node.content.forEach((node, offset) => {
137
137
  const isBlock = node.isBlock && !node.isTextblock
138
+ const isNonTextAtom = node.isAtom && !node.isText
138
139
 
139
- const targetPos = this.pos + offset + 1
140
+ const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1)
140
141
  const $pos = this.resolvedPos.doc.resolve(targetPos)
141
142
 
142
143
  if (!isBlock && $pos.depth <= this.depth) {
@@ -235,9 +236,13 @@ export class NodePos {
235
236
  }
236
237
 
237
238
  setAttribute(attributes: { [key: string]: any }) {
238
- const oldSelection = this.editor.state.selection
239
+ const { tr } = this.editor.state
239
240
 
240
- this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name, attributes).setTextSelection(oldSelection.from)
241
- .run()
241
+ tr.setNodeMarkup(this.from, undefined, {
242
+ ...this.node.attrs,
243
+ ...attributes,
244
+ })
245
+
246
+ this.editor.view.dispatch(tr)
242
247
  }
243
248
  }
@@ -63,7 +63,7 @@ const isFragment = (nodeOrFragment: ProseMirrorNode | Fragment): nodeOrFragment
63
63
  export const insertContentAt: RawCommands['insertContentAt'] = (position, value, options) => ({ tr, dispatch, editor }) => {
64
64
  if (dispatch) {
65
65
  options = {
66
- parseOptions: {},
66
+ parseOptions: editor.options.parseOptions,
67
67
  updateSelection: true,
68
68
  applyInputRules: false,
69
69
  applyPasteRules: false,
@@ -85,7 +85,9 @@ export const insertContentAt: RawCommands['insertContentAt'] = (position, value,
85
85
  editor,
86
86
  error: e as Error,
87
87
  disableCollaboration: () => {
88
- console.error('[tiptap error]: Unable to disable collaboration at this point in time')
88
+ if (editor.storage.collaboration) {
89
+ editor.storage.collaboration.isDisabled = true
90
+ }
89
91
  },
90
92
  })
91
93
  return false
@@ -0,0 +1,26 @@
1
+ import { Plugin, PluginKey } from '@tiptap/pm/state'
2
+
3
+ import { Extension } from '../Extension.js'
4
+
5
+ export const Drop = Extension.create({
6
+ name: 'drop',
7
+
8
+ addProseMirrorPlugins() {
9
+ return [
10
+ new Plugin({
11
+ key: new PluginKey('tiptapDrop'),
12
+
13
+ props: {
14
+ handleDrop: (_, e, slice, moved) => {
15
+ this.editor.emit('drop', {
16
+ editor: this.editor,
17
+ event: e,
18
+ slice,
19
+ moved,
20
+ })
21
+ },
22
+ },
23
+ }),
24
+ ]
25
+ },
26
+ })
@@ -1,6 +1,8 @@
1
1
  export { ClipboardTextSerializer } from './clipboardTextSerializer.js'
2
2
  export { Commands } from './commands.js'
3
+ export { Drop } from './drop.js'
3
4
  export { Editable } from './editable.js'
4
5
  export { FocusEvents } from './focusEvents.js'
5
6
  export { Keymap } from './keymap.js'
7
+ export { Paste } from './paste.js'
6
8
  export { Tabindex } from './tabindex.js'
@@ -0,0 +1,26 @@
1
+ import { Plugin, PluginKey } from '@tiptap/pm/state'
2
+
3
+ import { Extension } from '../Extension.js'
4
+
5
+ export const Paste = Extension.create({
6
+ name: 'paste',
7
+
8
+ addProseMirrorPlugins() {
9
+
10
+ return [
11
+ new Plugin({
12
+ key: new PluginKey('tiptapPaste'),
13
+
14
+ props: {
15
+ handlePaste: (_view, e, slice) => {
16
+ this.editor.emit('paste', {
17
+ editor: this.editor,
18
+ event: e,
19
+ slice,
20
+ })
21
+ },
22
+ },
23
+ }),
24
+ ]
25
+ },
26
+ })
@@ -29,17 +29,20 @@ export function getMarkRange(
29
29
  if (!$pos || !type) {
30
30
  return
31
31
  }
32
-
33
32
  let start = $pos.parent.childAfter($pos.parentOffset)
34
33
 
35
- if ($pos.parentOffset === start.offset && start.offset !== 0) {
34
+ // If the cursor is at the start of a text node that does not have the mark, look backward
35
+ if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
36
36
  start = $pos.parent.childBefore($pos.parentOffset)
37
37
  }
38
38
 
39
- if (!start.node) {
39
+ // If there is no text node with the mark even backward, return undefined
40
+ if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
40
41
  return
41
42
  }
42
43
 
44
+ // We now know that the cursor is either at the start, middle or end of a text node with the specified mark
45
+ // so we can look it up on the targeted mark
43
46
  const mark = findMarkInSet([...start.node.marks], type, attributes)
44
47
 
45
48
  if (!mark) {
package/src/index.ts CHANGED
@@ -11,8 +11,6 @@ export * from './NodePos.js'
11
11
  export * from './NodeView.js'
12
12
  export * from './PasteRule.js'
13
13
  export * from './pasteRules/index.js'
14
- export * from './plugins/DropPlugin.js'
15
- export * from './plugins/PastePlugin.js'
16
14
  export * from './Tracker.js'
17
15
  export * from './types.js'
18
16
  export * from './utilities/index.js'
package/src/types.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  Mark as ProseMirrorMark,
3
3
  Node as ProseMirrorNode,
4
- NodeType,
5
4
  ParseOptions,
6
5
  Slice,
7
6
  } from '@tiptap/pm/model'
8
7
  import { EditorState, Transaction } from '@tiptap/pm/state'
8
+ import { Mappable } from '@tiptap/pm/transform'
9
9
  import {
10
10
  Decoration,
11
+ DecorationAttrs,
11
12
  EditorProps,
12
13
  EditorView,
13
14
  NodeView,
@@ -63,6 +64,8 @@ export interface EditorEvents {
63
64
  focus: { editor: Editor; event: FocusEvent; transaction: Transaction };
64
65
  blur: { editor: Editor; event: FocusEvent; transaction: Transaction };
65
66
  destroy: void;
67
+ paste: { editor: Editor; event: ClipboardEvent; slice: Slice };
68
+ drop: { editor: Editor; event: DragEvent; slice: Slice; moved: boolean };
66
69
  }
67
70
 
68
71
  export type EnableRules = (AnyExtension | string)[] | boolean;
@@ -110,7 +113,9 @@ export interface EditorOptions {
110
113
  | 'commands'
111
114
  | 'focusEvents'
112
115
  | 'keymap'
113
- | 'tabindex',
116
+ | 'tabindex'
117
+ | 'drop'
118
+ | 'paste',
114
119
  false
115
120
  >
116
121
  >;
@@ -220,8 +225,27 @@ export type ValuesOf<T> = T[keyof T];
220
225
 
221
226
  export type KeysWithTypeOf<T, Type> = { [P in keyof T]: T[P] extends Type ? P : never }[keyof T];
222
227
 
228
+ export type DOMNode = InstanceType<typeof window.Node>
229
+
230
+ /**
231
+ * prosemirror-view does not export the `type` property of `Decoration`.
232
+ * So, this defines the `DecorationType` interface to include the `type` property.
233
+ */
234
+ export interface DecorationType {
235
+ spec: any
236
+ map(mapping: Mappable, span: Decoration, offset: number, oldOffset: number): Decoration | null
237
+ valid(node: Node, span: Decoration): boolean
238
+ eq(other: DecorationType): boolean
239
+ destroy(dom: DOMNode): void
240
+ readonly attrs: DecorationAttrs
241
+ }
242
+
243
+ /**
244
+ * prosemirror-view does not export the `type` property of `Decoration`.
245
+ * This adds the `type` property to the `Decoration` type.
246
+ */
223
247
  export type DecorationWithType = Decoration & {
224
- type: NodeType;
248
+ type: DecorationType;
225
249
  };
226
250
 
227
251
  export interface NodeViewProps extends NodeViewRendererProps {
@@ -242,14 +266,40 @@ export interface NodeViewRendererOptions {
242
266
 
243
267
  export interface NodeViewRendererProps {
244
268
  // pass-through from prosemirror
269
+ /**
270
+ * The node that is being rendered.
271
+ */
245
272
  node: Parameters<NodeViewConstructor>[0];
273
+ /**
274
+ * The editor's view.
275
+ */
246
276
  view: Parameters<NodeViewConstructor>[1];
277
+ /**
278
+ * A function that can be called to get the node's current position in the document.
279
+ */
247
280
  getPos: () => number; // TODO getPos was incorrectly typed before, change to `Parameters<NodeViewConstructor>[2];` in the next major version
281
+ /**
282
+ * is an array of node or inline decorations that are active around the node.
283
+ * They are automatically drawn in the normal way, and you will usually just want to ignore this, but they can also be used as a way to provide context information to the node view without adding it to the document itself.
284
+ */
248
285
  decorations: Parameters<NodeViewConstructor>[3];
286
+ /**
287
+ * holds the decorations for the node's content. You can safely ignore this if your view has no content or a contentDOM property, since the editor will draw the decorations on the content.
288
+ * But if you, for example, want to create a nested editor with the content, it may make sense to provide it with the inner decorations.
289
+ */
249
290
  innerDecorations: Parameters<NodeViewConstructor>[4];
250
291
  // tiptap-specific
292
+ /**
293
+ * The editor instance.
294
+ */
251
295
  editor: Editor;
296
+ /**
297
+ * The extension that is responsible for the node.
298
+ */
252
299
  extension: Node;
300
+ /**
301
+ * The HTML attributes that should be added to the node's DOM element.
302
+ */
253
303
  HTMLAttributes: Record<string, any>;
254
304
  }
255
305
 
@@ -1,3 +0,0 @@
1
- import { Slice } from '@tiptap/pm/model';
2
- import { Plugin } from '@tiptap/pm/state';
3
- export declare const DropPlugin: (onDrop: (e: DragEvent, slice: Slice, moved: boolean) => void) => Plugin<any>;
@@ -1,3 +0,0 @@
1
- import { Slice } from '@tiptap/pm/model';
2
- import { Plugin } from '@tiptap/pm/state';
3
- export declare const PastePlugin: (onPaste: (e: ClipboardEvent, slice: Slice) => void) => Plugin<any>;
@@ -1,14 +0,0 @@
1
- import { Slice } from '@tiptap/pm/model'
2
- import { Plugin, PluginKey } from '@tiptap/pm/state'
3
-
4
- export const DropPlugin = (onDrop: (e: DragEvent, slice: Slice, moved: boolean) => void) => {
5
- return new Plugin({
6
- key: new PluginKey('tiptapDrop'),
7
-
8
- props: {
9
- handleDrop: (_, e, slice, moved) => {
10
- onDrop(e, slice, moved)
11
- },
12
- },
13
- })
14
- }
@@ -1,14 +0,0 @@
1
- import { Slice } from '@tiptap/pm/model'
2
- import { Plugin, PluginKey } from '@tiptap/pm/state'
3
-
4
- export const PastePlugin = (onPaste: (e: ClipboardEvent, slice: Slice) => void) => {
5
- return new Plugin({
6
- key: new PluginKey('tiptapPaste'),
7
-
8
- props: {
9
- handlePaste: (_view, e, slice) => {
10
- onPaste(e, slice)
11
- },
12
- },
13
- })
14
- }