@tiptap/core 2.11.7 → 3.0.0-beta.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 (499) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +5 -1
  3. package/dist/index.cjs +5046 -5070
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.cts +3326 -0
  6. package/dist/index.d.ts +3326 -25
  7. package/dist/index.js +4930 -4976
  8. package/dist/index.js.map +1 -1
  9. package/dist/jsx-runtime/jsx-runtime.cjs +56 -0
  10. package/dist/jsx-runtime/jsx-runtime.cjs.map +1 -0
  11. package/dist/jsx-runtime/jsx-runtime.d.cts +22 -0
  12. package/dist/jsx-runtime/jsx-runtime.d.ts +22 -0
  13. package/dist/jsx-runtime/jsx-runtime.js +26 -0
  14. package/dist/jsx-runtime/jsx-runtime.js.map +1 -0
  15. package/jsx-runtime/index.cjs +1 -0
  16. package/jsx-runtime/index.d.cts +1 -0
  17. package/jsx-runtime/index.d.ts +1 -0
  18. package/jsx-runtime/index.js +1 -0
  19. package/package.json +28 -9
  20. package/src/CommandManager.ts +4 -11
  21. package/src/Editor.ts +219 -103
  22. package/src/EventEmitter.ts +7 -10
  23. package/src/Extendable.ts +484 -0
  24. package/src/Extension.ts +17 -492
  25. package/src/ExtensionManager.ts +88 -140
  26. package/src/InputRule.ts +40 -51
  27. package/src/Mark.ts +146 -623
  28. package/src/MarkView.ts +66 -0
  29. package/src/Node.ts +332 -825
  30. package/src/NodePos.ts +3 -5
  31. package/src/NodeView.ts +14 -26
  32. package/src/PasteRule.ts +46 -56
  33. package/src/Tracker.ts +8 -10
  34. package/src/commands/blur.ts +15 -13
  35. package/src/commands/clearContent.ts +13 -6
  36. package/src/commands/clearNodes.ts +33 -31
  37. package/src/commands/command.ts +2 -2
  38. package/src/commands/createParagraphNear.ts +6 -4
  39. package/src/commands/cut.ts +13 -11
  40. package/src/commands/deleteCurrentNode.ts +24 -22
  41. package/src/commands/deleteNode.ts +20 -18
  42. package/src/commands/deleteRange.ts +11 -9
  43. package/src/commands/deleteSelection.ts +6 -4
  44. package/src/commands/enter.ts +7 -5
  45. package/src/commands/exitCode.ts +6 -4
  46. package/src/commands/extendMarkRange.ts +16 -14
  47. package/src/commands/first.ts +3 -5
  48. package/src/commands/focus.ts +50 -53
  49. package/src/commands/forEach.ts +3 -3
  50. package/src/commands/insertContent.ts +14 -16
  51. package/src/commands/insertContentAt.ts +111 -95
  52. package/src/commands/join.ts +21 -13
  53. package/src/commands/joinItemBackward.ts +17 -19
  54. package/src/commands/joinItemForward.ts +17 -19
  55. package/src/commands/joinTextblockBackward.ts +6 -4
  56. package/src/commands/joinTextblockForward.ts +6 -4
  57. package/src/commands/keyboardShortcut.ts +30 -35
  58. package/src/commands/lift.ts +12 -10
  59. package/src/commands/liftEmptyBlock.ts +7 -5
  60. package/src/commands/liftListItem.ts +8 -6
  61. package/src/commands/newlineInCode.ts +6 -4
  62. package/src/commands/resetAttributes.ts +38 -43
  63. package/src/commands/scrollIntoView.ts +10 -8
  64. package/src/commands/selectAll.ts +11 -9
  65. package/src/commands/selectNodeBackward.ts +6 -4
  66. package/src/commands/selectNodeForward.ts +6 -4
  67. package/src/commands/selectParentNode.ts +6 -4
  68. package/src/commands/selectTextblockEnd.ts +6 -4
  69. package/src/commands/selectTextblockStart.ts +6 -4
  70. package/src/commands/setContent.ts +39 -38
  71. package/src/commands/setMark.ts +58 -60
  72. package/src/commands/setMeta.ts +8 -6
  73. package/src/commands/setNode.ts +34 -32
  74. package/src/commands/setNodeSelection.ts +12 -10
  75. package/src/commands/setTextSelection.ts +16 -14
  76. package/src/commands/sinkListItem.ts +8 -6
  77. package/src/commands/splitBlock.ts +70 -78
  78. package/src/commands/splitListItem.ts +95 -107
  79. package/src/commands/toggleList.ts +76 -74
  80. package/src/commands/toggleMark.ts +13 -11
  81. package/src/commands/toggleNode.ts +20 -18
  82. package/src/commands/toggleWrap.ts +12 -10
  83. package/src/commands/undoInputRule.ts +32 -30
  84. package/src/commands/unsetAllMarks.ts +17 -15
  85. package/src/commands/unsetMark.ts +29 -27
  86. package/src/commands/updateAttributes.ts +94 -102
  87. package/src/commands/wrapIn.ts +8 -6
  88. package/src/commands/wrapInList.ts +8 -6
  89. package/src/extensions/clipboardTextSerializer.ts +2 -4
  90. package/src/extensions/delete.ts +89 -0
  91. package/src/extensions/focusEvents.ts +2 -6
  92. package/src/extensions/index.ts +1 -0
  93. package/src/extensions/keymap.ts +54 -50
  94. package/src/extensions/paste.ts +0 -1
  95. package/src/extensions/tabindex.ts +1 -1
  96. package/src/helpers/combineTransactionSteps.ts +3 -6
  97. package/src/helpers/createChainableState.ts +2 -5
  98. package/src/helpers/createDocument.ts +2 -4
  99. package/src/helpers/createNodeFromContent.ts +7 -12
  100. package/src/helpers/defaultBlockAt.ts +1 -1
  101. package/src/helpers/findChildren.ts +2 -2
  102. package/src/helpers/findChildrenInRange.ts +3 -7
  103. package/src/helpers/findParentNode.ts +5 -3
  104. package/src/helpers/findParentNodeClosestToPos.ts +2 -2
  105. package/src/helpers/flattenExtensions.ts +30 -0
  106. package/src/helpers/generateHTML.ts +1 -1
  107. package/src/helpers/generateJSON.ts +1 -1
  108. package/src/helpers/generateText.ts +1 -1
  109. package/src/helpers/getAttributes.ts +3 -6
  110. package/src/helpers/getAttributesFromExtensions.ts +29 -38
  111. package/src/helpers/getChangedRanges.ts +15 -13
  112. package/src/helpers/getDebugJSON.ts +2 -2
  113. package/src/helpers/getExtensionField.ts +12 -12
  114. package/src/helpers/getHTMLFromFragment.ts +2 -1
  115. package/src/helpers/getMarkAttributes.ts +3 -6
  116. package/src/helpers/getMarkRange.ts +7 -17
  117. package/src/helpers/getMarkType.ts +2 -4
  118. package/src/helpers/getMarksBetween.ts +2 -2
  119. package/src/helpers/getNodeAtPosition.ts +2 -2
  120. package/src/helpers/getNodeAttributes.ts +3 -6
  121. package/src/helpers/getNodeType.ts +2 -4
  122. package/src/helpers/getRenderedAttributes.ts +3 -5
  123. package/src/helpers/getSchema.ts +5 -5
  124. package/src/helpers/getSchemaByResolvedExtensions.ts +47 -78
  125. package/src/helpers/getSchemaTypeByName.ts +1 -1
  126. package/src/helpers/getSchemaTypeNameByName.ts +1 -1
  127. package/src/helpers/getSplittedAttributes.ts +5 -5
  128. package/src/helpers/getText.ts +2 -2
  129. package/src/helpers/getTextBetween.ts +2 -2
  130. package/src/helpers/getTextContentFromNodes.ts +9 -12
  131. package/src/helpers/getTextSerializersFromSchema.ts +2 -2
  132. package/src/helpers/index.ts +3 -0
  133. package/src/helpers/injectExtensionAttributesToParseRule.ts +3 -3
  134. package/src/helpers/isActive.ts +2 -6
  135. package/src/helpers/isAtEndOfNode.ts +1 -1
  136. package/src/helpers/isAtStartOfNode.ts +1 -1
  137. package/src/helpers/isExtensionRulesEnabled.ts +2 -4
  138. package/src/helpers/isList.ts +2 -2
  139. package/src/helpers/isMarkActive.ts +3 -3
  140. package/src/helpers/isNodeActive.ts +3 -3
  141. package/src/helpers/isNodeEmpty.ts +3 -3
  142. package/src/helpers/posToDOMRect.ts +1 -1
  143. package/src/helpers/resolveExtensions.ts +25 -0
  144. package/src/helpers/resolveFocusPosition.ts +5 -16
  145. package/src/helpers/rewriteUnknownContent.ts +25 -24
  146. package/src/helpers/selectionToInsertionEnd.ts +2 -1
  147. package/src/helpers/sortExtensions.ts +26 -0
  148. package/src/helpers/splitExtensions.ts +4 -4
  149. package/src/index.ts +3 -7
  150. package/src/inputRules/markInputRule.ts +5 -8
  151. package/src/inputRules/nodeInputRule.ts +6 -12
  152. package/src/inputRules/textInputRule.ts +3 -5
  153. package/src/inputRules/textblockTypeInputRule.ts +6 -11
  154. package/src/inputRules/wrappingInputRule.ts +18 -23
  155. package/src/jsx-runtime.ts +64 -0
  156. package/src/pasteRules/markPasteRule.ts +5 -6
  157. package/src/pasteRules/nodePasteRule.ts +6 -11
  158. package/src/pasteRules/textPasteRule.ts +3 -5
  159. package/src/style.ts +0 -4
  160. package/src/types.ts +534 -179
  161. package/src/utilities/callOrReturn.ts +1 -1
  162. package/src/utilities/createStyleTag.ts +3 -1
  163. package/src/utilities/deleteProps.ts +7 -11
  164. package/src/utilities/elementFromString.ts +3 -0
  165. package/src/utilities/findDuplicates.ts +4 -1
  166. package/src/utilities/index.ts +1 -0
  167. package/src/utilities/isMacOS.ts +1 -3
  168. package/src/utilities/isiOS.ts +5 -10
  169. package/src/utilities/mergeAttributes.ts +16 -6
  170. package/src/utilities/removeDuplicates.ts +1 -3
  171. package/dist/CommandManager.d.ts +0 -21
  172. package/dist/CommandManager.d.ts.map +0 -1
  173. package/dist/Editor.d.ts +0 -166
  174. package/dist/Editor.d.ts.map +0 -1
  175. package/dist/EventEmitter.d.ts +0 -13
  176. package/dist/EventEmitter.d.ts.map +0 -1
  177. package/dist/Extension.d.ts +0 -345
  178. package/dist/Extension.d.ts.map +0 -1
  179. package/dist/ExtensionManager.d.ts +0 -57
  180. package/dist/ExtensionManager.d.ts.map +0 -1
  181. package/dist/InputRule.d.ts +0 -43
  182. package/dist/InputRule.d.ts.map +0 -1
  183. package/dist/Mark.d.ts +0 -453
  184. package/dist/Mark.d.ts.map +0 -1
  185. package/dist/Node.d.ts +0 -629
  186. package/dist/Node.d.ts.map +0 -1
  187. package/dist/NodePos.d.ts +0 -45
  188. package/dist/NodePos.d.ts.map +0 -1
  189. package/dist/NodeView.d.ts +0 -41
  190. package/dist/NodeView.d.ts.map +0 -1
  191. package/dist/PasteRule.d.ts +0 -51
  192. package/dist/PasteRule.d.ts.map +0 -1
  193. package/dist/Tracker.d.ts +0 -12
  194. package/dist/Tracker.d.ts.map +0 -1
  195. package/dist/commands/blur.d.ts +0 -14
  196. package/dist/commands/blur.d.ts.map +0 -1
  197. package/dist/commands/clearContent.d.ts +0 -15
  198. package/dist/commands/clearContent.d.ts.map +0 -1
  199. package/dist/commands/clearNodes.d.ts +0 -14
  200. package/dist/commands/clearNodes.d.ts.map +0 -1
  201. package/dist/commands/command.d.ts +0 -19
  202. package/dist/commands/command.d.ts.map +0 -1
  203. package/dist/commands/createParagraphNear.d.ts +0 -14
  204. package/dist/commands/createParagraphNear.d.ts.map +0 -1
  205. package/dist/commands/cut.d.ts +0 -21
  206. package/dist/commands/cut.d.ts.map +0 -1
  207. package/dist/commands/deleteCurrentNode.d.ts +0 -14
  208. package/dist/commands/deleteCurrentNode.d.ts.map +0 -1
  209. package/dist/commands/deleteNode.d.ts +0 -16
  210. package/dist/commands/deleteNode.d.ts.map +0 -1
  211. package/dist/commands/deleteRange.d.ts +0 -15
  212. package/dist/commands/deleteRange.d.ts.map +0 -1
  213. package/dist/commands/deleteSelection.d.ts +0 -14
  214. package/dist/commands/deleteSelection.d.ts.map +0 -1
  215. package/dist/commands/enter.d.ts +0 -14
  216. package/dist/commands/enter.d.ts.map +0 -1
  217. package/dist/commands/exitCode.d.ts +0 -14
  218. package/dist/commands/exitCode.d.ts.map +0 -1
  219. package/dist/commands/extendMarkRange.d.ts +0 -26
  220. package/dist/commands/extendMarkRange.d.ts.map +0 -1
  221. package/dist/commands/first.d.ts +0 -15
  222. package/dist/commands/first.d.ts.map +0 -1
  223. package/dist/commands/focus.d.ts +0 -28
  224. package/dist/commands/focus.d.ts.map +0 -1
  225. package/dist/commands/forEach.d.ts +0 -15
  226. package/dist/commands/forEach.d.ts.map +0 -1
  227. package/dist/commands/index.d.ts +0 -56
  228. package/dist/commands/index.d.ts.map +0 -1
  229. package/dist/commands/insertContent.d.ts +0 -35
  230. package/dist/commands/insertContent.d.ts.map +0 -1
  231. package/dist/commands/insertContentAt.d.ts +0 -48
  232. package/dist/commands/insertContentAt.d.ts.map +0 -1
  233. package/dist/commands/join.d.ts +0 -42
  234. package/dist/commands/join.d.ts.map +0 -1
  235. package/dist/commands/joinItemBackward.d.ts +0 -14
  236. package/dist/commands/joinItemBackward.d.ts.map +0 -1
  237. package/dist/commands/joinItemForward.d.ts +0 -14
  238. package/dist/commands/joinItemForward.d.ts.map +0 -1
  239. package/dist/commands/joinTextblockBackward.d.ts +0 -13
  240. package/dist/commands/joinTextblockBackward.d.ts.map +0 -1
  241. package/dist/commands/joinTextblockForward.d.ts +0 -13
  242. package/dist/commands/joinTextblockForward.d.ts.map +0 -1
  243. package/dist/commands/keyboardShortcut.d.ts +0 -15
  244. package/dist/commands/keyboardShortcut.d.ts.map +0 -1
  245. package/dist/commands/lift.d.ts +0 -18
  246. package/dist/commands/lift.d.ts.map +0 -1
  247. package/dist/commands/liftEmptyBlock.d.ts +0 -14
  248. package/dist/commands/liftEmptyBlock.d.ts.map +0 -1
  249. package/dist/commands/liftListItem.d.ts +0 -16
  250. package/dist/commands/liftListItem.d.ts.map +0 -1
  251. package/dist/commands/newlineInCode.d.ts +0 -14
  252. package/dist/commands/newlineInCode.d.ts.map +0 -1
  253. package/dist/commands/resetAttributes.d.ts +0 -17
  254. package/dist/commands/resetAttributes.d.ts.map +0 -1
  255. package/dist/commands/scrollIntoView.d.ts +0 -14
  256. package/dist/commands/scrollIntoView.d.ts.map +0 -1
  257. package/dist/commands/selectAll.d.ts +0 -14
  258. package/dist/commands/selectAll.d.ts.map +0 -1
  259. package/dist/commands/selectNodeBackward.d.ts +0 -14
  260. package/dist/commands/selectNodeBackward.d.ts.map +0 -1
  261. package/dist/commands/selectNodeForward.d.ts +0 -14
  262. package/dist/commands/selectNodeForward.d.ts.map +0 -1
  263. package/dist/commands/selectParentNode.d.ts +0 -14
  264. package/dist/commands/selectParentNode.d.ts.map +0 -1
  265. package/dist/commands/selectTextblockEnd.d.ts +0 -14
  266. package/dist/commands/selectTextblockEnd.d.ts.map +0 -1
  267. package/dist/commands/selectTextblockStart.d.ts +0 -14
  268. package/dist/commands/selectTextblockStart.d.ts.map +0 -1
  269. package/dist/commands/setContent.d.ts +0 -41
  270. package/dist/commands/setContent.d.ts.map +0 -1
  271. package/dist/commands/setMark.d.ts +0 -16
  272. package/dist/commands/setMark.d.ts.map +0 -1
  273. package/dist/commands/setMeta.d.ts +0 -17
  274. package/dist/commands/setMeta.d.ts.map +0 -1
  275. package/dist/commands/setNode.d.ts +0 -17
  276. package/dist/commands/setNode.d.ts.map +0 -1
  277. package/dist/commands/setNodeSelection.d.ts +0 -15
  278. package/dist/commands/setNodeSelection.d.ts.map +0 -1
  279. package/dist/commands/setTextSelection.d.ts +0 -15
  280. package/dist/commands/setTextSelection.d.ts.map +0 -1
  281. package/dist/commands/sinkListItem.d.ts +0 -16
  282. package/dist/commands/sinkListItem.d.ts.map +0 -1
  283. package/dist/commands/splitBlock.d.ts +0 -18
  284. package/dist/commands/splitBlock.d.ts.map +0 -1
  285. package/dist/commands/splitListItem.d.ts +0 -17
  286. package/dist/commands/splitListItem.d.ts.map +0 -1
  287. package/dist/commands/toggleList.d.ts +0 -19
  288. package/dist/commands/toggleList.d.ts.map +0 -1
  289. package/dist/commands/toggleMark.d.ts +0 -31
  290. package/dist/commands/toggleMark.d.ts.map +0 -1
  291. package/dist/commands/toggleNode.d.ts +0 -18
  292. package/dist/commands/toggleNode.d.ts.map +0 -1
  293. package/dist/commands/toggleWrap.d.ts +0 -17
  294. package/dist/commands/toggleWrap.d.ts.map +0 -1
  295. package/dist/commands/undoInputRule.d.ts +0 -14
  296. package/dist/commands/undoInputRule.d.ts.map +0 -1
  297. package/dist/commands/unsetAllMarks.d.ts +0 -14
  298. package/dist/commands/unsetAllMarks.d.ts.map +0 -1
  299. package/dist/commands/unsetMark.d.ts +0 -26
  300. package/dist/commands/unsetMark.d.ts.map +0 -1
  301. package/dist/commands/updateAttributes.d.ts +0 -25
  302. package/dist/commands/updateAttributes.d.ts.map +0 -1
  303. package/dist/commands/wrapIn.d.ts +0 -17
  304. package/dist/commands/wrapIn.d.ts.map +0 -1
  305. package/dist/commands/wrapInList.d.ts +0 -17
  306. package/dist/commands/wrapInList.d.ts.map +0 -1
  307. package/dist/extensions/clipboardTextSerializer.d.ts +0 -6
  308. package/dist/extensions/clipboardTextSerializer.d.ts.map +0 -1
  309. package/dist/extensions/commands.d.ts +0 -4
  310. package/dist/extensions/commands.d.ts.map +0 -1
  311. package/dist/extensions/drop.d.ts +0 -3
  312. package/dist/extensions/drop.d.ts.map +0 -1
  313. package/dist/extensions/editable.d.ts +0 -3
  314. package/dist/extensions/editable.d.ts.map +0 -1
  315. package/dist/extensions/focusEvents.d.ts +0 -5
  316. package/dist/extensions/focusEvents.d.ts.map +0 -1
  317. package/dist/extensions/index.d.ts +0 -9
  318. package/dist/extensions/index.d.ts.map +0 -1
  319. package/dist/extensions/keymap.d.ts +0 -3
  320. package/dist/extensions/keymap.d.ts.map +0 -1
  321. package/dist/extensions/paste.d.ts +0 -3
  322. package/dist/extensions/paste.d.ts.map +0 -1
  323. package/dist/extensions/tabindex.d.ts +0 -3
  324. package/dist/extensions/tabindex.d.ts.map +0 -1
  325. package/dist/helpers/combineTransactionSteps.d.ts +0 -11
  326. package/dist/helpers/combineTransactionSteps.d.ts.map +0 -1
  327. package/dist/helpers/createChainableState.d.ts +0 -11
  328. package/dist/helpers/createChainableState.d.ts.map +0 -1
  329. package/dist/helpers/createDocument.d.ts +0 -13
  330. package/dist/helpers/createDocument.d.ts.map +0 -1
  331. package/dist/helpers/createNodeFromContent.d.ts +0 -16
  332. package/dist/helpers/createNodeFromContent.d.ts.map +0 -1
  333. package/dist/helpers/defaultBlockAt.d.ts +0 -8
  334. package/dist/helpers/defaultBlockAt.d.ts.map +0 -1
  335. package/dist/helpers/findChildren.d.ts +0 -10
  336. package/dist/helpers/findChildren.d.ts.map +0 -1
  337. package/dist/helpers/findChildrenInRange.d.ts +0 -11
  338. package/dist/helpers/findChildrenInRange.d.ts.map +0 -1
  339. package/dist/helpers/findParentNode.d.ts +0 -17
  340. package/dist/helpers/findParentNode.d.ts.map +0 -1
  341. package/dist/helpers/findParentNodeClosestToPos.d.ts +0 -18
  342. package/dist/helpers/findParentNodeClosestToPos.d.ts.map +0 -1
  343. package/dist/helpers/generateHTML.d.ts +0 -9
  344. package/dist/helpers/generateHTML.d.ts.map +0 -1
  345. package/dist/helpers/generateJSON.d.ts +0 -9
  346. package/dist/helpers/generateJSON.d.ts.map +0 -1
  347. package/dist/helpers/generateText.d.ts +0 -13
  348. package/dist/helpers/generateText.d.ts.map +0 -1
  349. package/dist/helpers/getAttributes.d.ts +0 -10
  350. package/dist/helpers/getAttributes.d.ts.map +0 -1
  351. package/dist/helpers/getAttributesFromExtensions.d.ts +0 -7
  352. package/dist/helpers/getAttributesFromExtensions.d.ts.map +0 -1
  353. package/dist/helpers/getChangedRanges.d.ts +0 -12
  354. package/dist/helpers/getChangedRanges.d.ts.map +0 -1
  355. package/dist/helpers/getDebugJSON.d.ts +0 -9
  356. package/dist/helpers/getDebugJSON.d.ts.map +0 -1
  357. package/dist/helpers/getExtensionField.d.ts +0 -10
  358. package/dist/helpers/getExtensionField.d.ts.map +0 -1
  359. package/dist/helpers/getHTMLFromFragment.d.ts +0 -3
  360. package/dist/helpers/getHTMLFromFragment.d.ts.map +0 -1
  361. package/dist/helpers/getMarkAttributes.d.ts +0 -4
  362. package/dist/helpers/getMarkAttributes.d.ts.map +0 -1
  363. package/dist/helpers/getMarkRange.d.ts +0 -20
  364. package/dist/helpers/getMarkRange.d.ts.map +0 -1
  365. package/dist/helpers/getMarkType.d.ts +0 -3
  366. package/dist/helpers/getMarkType.d.ts.map +0 -1
  367. package/dist/helpers/getMarksBetween.d.ts +0 -4
  368. package/dist/helpers/getMarksBetween.d.ts.map +0 -1
  369. package/dist/helpers/getNodeAtPosition.d.ts +0 -12
  370. package/dist/helpers/getNodeAtPosition.d.ts.map +0 -1
  371. package/dist/helpers/getNodeAttributes.d.ts +0 -4
  372. package/dist/helpers/getNodeAttributes.d.ts.map +0 -1
  373. package/dist/helpers/getNodeType.d.ts +0 -3
  374. package/dist/helpers/getNodeType.d.ts.map +0 -1
  375. package/dist/helpers/getRenderedAttributes.d.ts +0 -4
  376. package/dist/helpers/getRenderedAttributes.d.ts.map +0 -1
  377. package/dist/helpers/getSchema.d.ts +0 -5
  378. package/dist/helpers/getSchema.d.ts.map +0 -1
  379. package/dist/helpers/getSchemaByResolvedExtensions.d.ts +0 -11
  380. package/dist/helpers/getSchemaByResolvedExtensions.d.ts.map +0 -1
  381. package/dist/helpers/getSchemaTypeByName.d.ts +0 -9
  382. package/dist/helpers/getSchemaTypeByName.d.ts.map +0 -1
  383. package/dist/helpers/getSchemaTypeNameByName.d.ts +0 -9
  384. package/dist/helpers/getSchemaTypeNameByName.d.ts.map +0 -1
  385. package/dist/helpers/getSplittedAttributes.d.ts +0 -10
  386. package/dist/helpers/getSplittedAttributes.d.ts.map +0 -1
  387. package/dist/helpers/getText.d.ts +0 -16
  388. package/dist/helpers/getText.d.ts.map +0 -1
  389. package/dist/helpers/getTextBetween.d.ts +0 -15
  390. package/dist/helpers/getTextBetween.d.ts.map +0 -1
  391. package/dist/helpers/getTextContentFromNodes.d.ts +0 -9
  392. package/dist/helpers/getTextContentFromNodes.d.ts.map +0 -1
  393. package/dist/helpers/getTextSerializersFromSchema.d.ts +0 -9
  394. package/dist/helpers/getTextSerializersFromSchema.d.ts.map +0 -1
  395. package/dist/helpers/index.d.ts +0 -52
  396. package/dist/helpers/index.d.ts.map +0 -1
  397. package/dist/helpers/injectExtensionAttributesToParseRule.d.ts +0 -10
  398. package/dist/helpers/injectExtensionAttributesToParseRule.d.ts.map +0 -1
  399. package/dist/helpers/isActive.d.ts +0 -3
  400. package/dist/helpers/isActive.d.ts.map +0 -1
  401. package/dist/helpers/isAtEndOfNode.d.ts +0 -3
  402. package/dist/helpers/isAtEndOfNode.d.ts.map +0 -1
  403. package/dist/helpers/isAtStartOfNode.d.ts +0 -3
  404. package/dist/helpers/isAtStartOfNode.d.ts.map +0 -1
  405. package/dist/helpers/isExtensionRulesEnabled.d.ts +0 -3
  406. package/dist/helpers/isExtensionRulesEnabled.d.ts.map +0 -1
  407. package/dist/helpers/isList.d.ts +0 -3
  408. package/dist/helpers/isList.d.ts.map +0 -1
  409. package/dist/helpers/isMarkActive.d.ts +0 -4
  410. package/dist/helpers/isMarkActive.d.ts.map +0 -1
  411. package/dist/helpers/isNodeActive.d.ts +0 -4
  412. package/dist/helpers/isNodeActive.d.ts.map +0 -1
  413. package/dist/helpers/isNodeEmpty.d.ts +0 -15
  414. package/dist/helpers/isNodeEmpty.d.ts.map +0 -1
  415. package/dist/helpers/isNodeSelection.d.ts +0 -3
  416. package/dist/helpers/isNodeSelection.d.ts.map +0 -1
  417. package/dist/helpers/isTextSelection.d.ts +0 -3
  418. package/dist/helpers/isTextSelection.d.ts.map +0 -1
  419. package/dist/helpers/posToDOMRect.d.ts +0 -3
  420. package/dist/helpers/posToDOMRect.d.ts.map +0 -1
  421. package/dist/helpers/resolveFocusPosition.d.ts +0 -5
  422. package/dist/helpers/resolveFocusPosition.d.ts.map +0 -1
  423. package/dist/helpers/rewriteUnknownContent.d.ts +0 -46
  424. package/dist/helpers/rewriteUnknownContent.d.ts.map +0 -1
  425. package/dist/helpers/selectionToInsertionEnd.d.ts +0 -3
  426. package/dist/helpers/selectionToInsertionEnd.d.ts.map +0 -1
  427. package/dist/helpers/splitExtensions.d.ts +0 -10
  428. package/dist/helpers/splitExtensions.d.ts.map +0 -1
  429. package/dist/index.d.ts.map +0 -1
  430. package/dist/index.umd.js +0 -5525
  431. package/dist/index.umd.js.map +0 -1
  432. package/dist/inputRules/index.d.ts +0 -6
  433. package/dist/inputRules/index.d.ts.map +0 -1
  434. package/dist/inputRules/markInputRule.d.ts +0 -14
  435. package/dist/inputRules/markInputRule.d.ts.map +0 -1
  436. package/dist/inputRules/nodeInputRule.d.ts +0 -24
  437. package/dist/inputRules/nodeInputRule.d.ts.map +0 -1
  438. package/dist/inputRules/textInputRule.d.ts +0 -11
  439. package/dist/inputRules/textInputRule.d.ts.map +0 -1
  440. package/dist/inputRules/textblockTypeInputRule.d.ts +0 -16
  441. package/dist/inputRules/textblockTypeInputRule.d.ts.map +0 -1
  442. package/dist/inputRules/wrappingInputRule.d.ts +0 -29
  443. package/dist/inputRules/wrappingInputRule.d.ts.map +0 -1
  444. package/dist/pasteRules/index.d.ts +0 -4
  445. package/dist/pasteRules/index.d.ts.map +0 -1
  446. package/dist/pasteRules/markPasteRule.d.ts +0 -14
  447. package/dist/pasteRules/markPasteRule.d.ts.map +0 -1
  448. package/dist/pasteRules/nodePasteRule.d.ts +0 -15
  449. package/dist/pasteRules/nodePasteRule.d.ts.map +0 -1
  450. package/dist/pasteRules/textPasteRule.d.ts +0 -11
  451. package/dist/pasteRules/textPasteRule.d.ts.map +0 -1
  452. package/dist/style.d.ts +0 -2
  453. package/dist/style.d.ts.map +0 -1
  454. package/dist/types.d.ts +0 -323
  455. package/dist/types.d.ts.map +0 -1
  456. package/dist/utilities/callOrReturn.d.ts +0 -10
  457. package/dist/utilities/callOrReturn.d.ts.map +0 -1
  458. package/dist/utilities/createStyleTag.d.ts +0 -2
  459. package/dist/utilities/createStyleTag.d.ts.map +0 -1
  460. package/dist/utilities/deleteProps.d.ts +0 -7
  461. package/dist/utilities/deleteProps.d.ts.map +0 -1
  462. package/dist/utilities/elementFromString.d.ts +0 -2
  463. package/dist/utilities/elementFromString.d.ts.map +0 -1
  464. package/dist/utilities/escapeForRegEx.d.ts +0 -2
  465. package/dist/utilities/escapeForRegEx.d.ts.map +0 -1
  466. package/dist/utilities/findDuplicates.d.ts +0 -2
  467. package/dist/utilities/findDuplicates.d.ts.map +0 -1
  468. package/dist/utilities/fromString.d.ts +0 -2
  469. package/dist/utilities/fromString.d.ts.map +0 -1
  470. package/dist/utilities/index.d.ts +0 -21
  471. package/dist/utilities/index.d.ts.map +0 -1
  472. package/dist/utilities/isAndroid.d.ts +0 -2
  473. package/dist/utilities/isAndroid.d.ts.map +0 -1
  474. package/dist/utilities/isEmptyObject.d.ts +0 -2
  475. package/dist/utilities/isEmptyObject.d.ts.map +0 -1
  476. package/dist/utilities/isFunction.d.ts +0 -2
  477. package/dist/utilities/isFunction.d.ts.map +0 -1
  478. package/dist/utilities/isMacOS.d.ts +0 -2
  479. package/dist/utilities/isMacOS.d.ts.map +0 -1
  480. package/dist/utilities/isNumber.d.ts +0 -2
  481. package/dist/utilities/isNumber.d.ts.map +0 -1
  482. package/dist/utilities/isPlainObject.d.ts +0 -2
  483. package/dist/utilities/isPlainObject.d.ts.map +0 -1
  484. package/dist/utilities/isRegExp.d.ts +0 -2
  485. package/dist/utilities/isRegExp.d.ts.map +0 -1
  486. package/dist/utilities/isString.d.ts +0 -2
  487. package/dist/utilities/isString.d.ts.map +0 -1
  488. package/dist/utilities/isiOS.d.ts +0 -2
  489. package/dist/utilities/isiOS.d.ts.map +0 -1
  490. package/dist/utilities/mergeAttributes.d.ts +0 -2
  491. package/dist/utilities/mergeAttributes.d.ts.map +0 -1
  492. package/dist/utilities/mergeDeep.d.ts +0 -2
  493. package/dist/utilities/mergeDeep.d.ts.map +0 -1
  494. package/dist/utilities/minMax.d.ts +0 -2
  495. package/dist/utilities/minMax.d.ts.map +0 -1
  496. package/dist/utilities/objectIncludes.d.ts +0 -9
  497. package/dist/utilities/objectIncludes.d.ts.map +0 -1
  498. package/dist/utilities/removeDuplicates.d.ts +0 -9
  499. package/dist/utilities/removeDuplicates.d.ts.map +0 -1
package/src/NodePos.ts CHANGED
@@ -1,9 +1,7 @@
1
- import {
2
- Fragment, Node, ResolvedPos,
3
- } from '@tiptap/pm/model'
1
+ import type { Fragment, Node, ResolvedPos } from '@tiptap/pm/model'
4
2
 
5
- import { Editor } from './Editor.js'
6
- import { Content, Range } from './types.js'
3
+ import type { Editor } from './Editor.js'
4
+ import type { Content, Range } from './types.js'
7
5
 
8
6
  export class NodePos {
9
7
  private resolvedPos: ResolvedPos
package/src/NodeView.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { NodeSelection } from '@tiptap/pm/state'
2
- import { NodeView as ProseMirrorNodeView, ViewMutationRecord } from '@tiptap/pm/view'
2
+ import type { NodeView as ProseMirrorNodeView, ViewMutationRecord } from '@tiptap/pm/view'
3
3
 
4
- import { Editor as CoreEditor } from './Editor.js'
5
- import { DecorationWithType, NodeViewRendererOptions, NodeViewRendererProps } from './types.js'
4
+ import type { Editor as CoreEditor } from './Editor.js'
5
+ import type { DecorationWithType, NodeViewRendererOptions, NodeViewRendererProps } from './types.js'
6
6
  import { isAndroid } from './utilities/isAndroid.js'
7
7
  import { isiOS } from './utilities/isiOS.js'
8
8
 
@@ -14,7 +14,8 @@ export class NodeView<
14
14
  Component,
15
15
  NodeEditor extends CoreEditor = CoreEditor,
16
16
  Options extends NodeViewRendererOptions = NodeViewRendererOptions,
17
- > implements ProseMirrorNodeView {
17
+ > implements ProseMirrorNodeView
18
+ {
18
19
  component: Component
19
20
 
20
21
  editor: NodeEditor
@@ -74,9 +75,8 @@ export class NodeView<
74
75
 
75
76
  // get the drag handle element
76
77
  // `closest` is not available for text nodes so we may have to use its parent
77
- const dragHandle = target.nodeType === 3
78
- ? target.parentElement?.closest('[data-drag-handle]')
79
- : target.closest('[data-drag-handle]')
78
+ const dragHandle =
79
+ target.nodeType === 3 ? target.parentElement?.closest('[data-drag-handle]') : target.closest('[data-drag-handle]')
80
80
 
81
81
  if (!this.dom || this.contentDOM?.contains(target) || !dragHandle) {
82
82
  return
@@ -98,9 +98,7 @@ export class NodeView<
98
98
  y = handleBox.y - domBox.y + offsetY
99
99
  }
100
100
 
101
- const clonedNode = this.dom.cloneNode(true) as HTMLElement
102
-
103
- event.dataTransfer?.setDragImage(clonedNode, x, y)
101
+ event.dataTransfer?.setDragImage(this.dom, x, y)
104
102
 
105
103
  const pos = this.getPos()
106
104
 
@@ -197,14 +195,7 @@ export class NodeView<
197
195
  }
198
196
 
199
197
  // these events are handled by prosemirror
200
- if (
201
- isDragging
202
- || isDropEvent
203
- || isCopyEvent
204
- || isPasteEvent
205
- || isCutEvent
206
- || (isClickEvent && isSelectable)
207
- ) {
198
+ if (isDragging || isDropEvent || isCopyEvent || isPasteEvent || isCutEvent || (isClickEvent && isSelectable)) {
208
199
  return false
209
200
  }
210
201
 
@@ -242,15 +233,12 @@ export class NodeView<
242
233
  // see: https://github.com/ueberdosis/tiptap/issues/1214
243
234
  // see: https://github.com/ueberdosis/tiptap/issues/2534
244
235
  if (
245
- this.dom.contains(mutation.target)
246
- && mutation.type === 'childList'
247
- && (isiOS() || isAndroid())
248
- && this.editor.isFocused
236
+ this.dom.contains(mutation.target) &&
237
+ mutation.type === 'childList' &&
238
+ (isiOS() || isAndroid()) &&
239
+ this.editor.isFocused
249
240
  ) {
250
- const changedNodes = [
251
- ...Array.from(mutation.addedNodes),
252
- ...Array.from(mutation.removedNodes),
253
- ] as HTMLElement[]
241
+ const changedNodes = [...Array.from(mutation.addedNodes), ...Array.from(mutation.removedNodes)] as HTMLElement[]
254
242
 
255
243
  // we’ll check if every changed node is contentEditable
256
244
  // to make sure it’s probably mutated by ProseMirror
package/src/PasteRule.ts CHANGED
@@ -1,31 +1,27 @@
1
- import { Fragment, Node as ProseMirrorNode } from '@tiptap/pm/model'
2
- import { EditorState, Plugin } from '@tiptap/pm/state'
1
+ import type { Node as ProseMirrorNode } from '@tiptap/pm/model'
2
+ import { Fragment } from '@tiptap/pm/model'
3
+ import type { EditorState } from '@tiptap/pm/state'
4
+ import { Plugin } from '@tiptap/pm/state'
3
5
 
4
6
  import { CommandManager } from './CommandManager.js'
5
- import { Editor } from './Editor.js'
7
+ import type { Editor } from './Editor.js'
6
8
  import { createChainableState } from './helpers/createChainableState.js'
7
9
  import { getHTMLFromFragment } from './helpers/getHTMLFromFragment.js'
8
- import {
9
- CanCommands,
10
- ChainedCommands,
11
- ExtendedRegExpMatchArray,
12
- Range,
13
- SingleCommands,
14
- } from './types.js'
10
+ import type { CanCommands, ChainedCommands, ExtendedRegExpMatchArray, Range, SingleCommands } from './types.js'
15
11
  import { isNumber } from './utilities/isNumber.js'
16
12
  import { isRegExp } from './utilities/isRegExp.js'
17
13
 
18
14
  export type PasteRuleMatch = {
19
- index: number;
20
- text: string;
21
- replaceWith?: string;
22
- match?: RegExpMatchArray;
23
- data?: Record<string, any>;
24
- };
15
+ index: number
16
+ text: string
17
+ replaceWith?: string
18
+ match?: RegExpMatchArray
19
+ data?: Record<string, any>
20
+ }
25
21
 
26
22
  export type PasteRuleFinder =
27
23
  | RegExp
28
- | ((text: string, event?: ClipboardEvent | null) => PasteRuleMatch[] | null | undefined);
24
+ | ((text: string, event?: ClipboardEvent | null) => PasteRuleMatch[] | null | undefined)
29
25
 
30
26
  /**
31
27
  * Paste rules are used to react to pasted content.
@@ -35,28 +31,28 @@ export class PasteRule {
35
31
  find: PasteRuleFinder
36
32
 
37
33
  handler: (props: {
38
- state: EditorState;
39
- range: Range;
40
- match: ExtendedRegExpMatchArray;
41
- commands: SingleCommands;
42
- chain: () => ChainedCommands;
43
- can: () => CanCommands;
44
- pasteEvent: ClipboardEvent | null;
45
- dropEvent: DragEvent | null;
34
+ state: EditorState
35
+ range: Range
36
+ match: ExtendedRegExpMatchArray
37
+ commands: SingleCommands
38
+ chain: () => ChainedCommands
39
+ can: () => CanCommands
40
+ pasteEvent: ClipboardEvent | null
41
+ dropEvent: DragEvent | null
46
42
  }) => void | null
47
43
 
48
44
  constructor(config: {
49
- find: PasteRuleFinder;
45
+ find: PasteRuleFinder
50
46
  handler: (props: {
51
- can: () => CanCommands;
52
- chain: () => ChainedCommands;
53
- commands: SingleCommands;
54
- dropEvent: DragEvent | null;
55
- match: ExtendedRegExpMatchArray;
56
- pasteEvent: ClipboardEvent | null;
57
- range: Range;
58
- state: EditorState;
59
- }) => void | null;
47
+ can: () => CanCommands
48
+ chain: () => ChainedCommands
49
+ commands: SingleCommands
50
+ dropEvent: DragEvent | null
51
+ match: ExtendedRegExpMatchArray
52
+ pasteEvent: ClipboardEvent | null
53
+ range: Range
54
+ state: EditorState
55
+ }) => void | null
60
56
  }) {
61
57
  this.find = config.find
62
58
  this.handler = config.handler
@@ -87,9 +83,7 @@ const pasteRuleMatcherHandler = (
87
83
 
88
84
  if (pasteRuleMatch.replaceWith) {
89
85
  if (!pasteRuleMatch.text.includes(pasteRuleMatch.replaceWith)) {
90
- console.warn(
91
- '[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".',
92
- )
86
+ console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".')
93
87
  }
94
88
 
95
89
  result.push(pasteRuleMatch.replaceWith)
@@ -100,17 +94,15 @@ const pasteRuleMatcherHandler = (
100
94
  }
101
95
 
102
96
  function run(config: {
103
- editor: Editor;
104
- state: EditorState;
105
- from: number;
106
- to: number;
107
- rule: PasteRule;
108
- pasteEvent: ClipboardEvent | null;
109
- dropEvent: DragEvent | null;
97
+ editor: Editor
98
+ state: EditorState
99
+ from: number
100
+ to: number
101
+ rule: PasteRule
102
+ pasteEvent: ClipboardEvent | null
103
+ dropEvent: DragEvent | null
110
104
  }): boolean {
111
- const {
112
- editor, state, from, to, rule, pasteEvent, dropEvent,
113
- } = config
105
+ const { editor, state, from, to, rule, pasteEvent, dropEvent } = config
114
106
 
115
107
  const { commands, chain, can } = new CommandManager({
116
108
  editor,
@@ -201,11 +193,11 @@ export function pasteRulesPlugin(props: { editor: Editor; rules: PasteRule[] }):
201
193
  rule,
202
194
  pasteEvt,
203
195
  }: {
204
- state: EditorState;
205
- from: number;
206
- to: { b: number };
207
- rule: PasteRule;
208
- pasteEvt: ClipboardEvent | null;
196
+ state: EditorState
197
+ from: number
198
+ to: { b: number }
199
+ rule: PasteRule
200
+ pasteEvt: ClipboardEvent | null
209
201
  }) => {
210
202
  const tr = state.tr
211
203
  const chainableState = createChainableState({
@@ -242,9 +234,7 @@ export function pasteRulesPlugin(props: { editor: Editor; rules: PasteRule[] }):
242
234
  // we register a global drag handler to track the current drag source element
243
235
  view(view) {
244
236
  const handleDragstart = (event: DragEvent) => {
245
- dragSourceElement = view.dom.parentElement?.contains(event.target as Element)
246
- ? view.dom.parentElement
247
- : null
237
+ dragSourceElement = view.dom.parentElement?.contains(event.target as Element) ? view.dom.parentElement : null
248
238
 
249
239
  if (dragSourceElement) {
250
240
  tiptapDragFromOtherEditor = editor
package/src/Tracker.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Transaction } from '@tiptap/pm/state'
1
+ import type { Transaction } from '@tiptap/pm/state'
2
2
 
3
3
  export interface TrackerResult {
4
4
  position: number
@@ -18,17 +18,15 @@ export class Tracker {
18
18
  map(position: number): TrackerResult {
19
19
  let deleted = false
20
20
 
21
- const mappedPosition = this.transaction.steps
22
- .slice(this.currentStep)
23
- .reduce((newPosition, step) => {
24
- const mapResult = step.getMap().mapResult(newPosition)
21
+ const mappedPosition = this.transaction.steps.slice(this.currentStep).reduce((newPosition, step) => {
22
+ const mapResult = step.getMap().mapResult(newPosition)
25
23
 
26
- if (mapResult.deleted) {
27
- deleted = true
28
- }
24
+ if (mapResult.deleted) {
25
+ deleted = true
26
+ }
29
27
 
30
- return mapResult.pos
31
- }, position)
28
+ return mapResult.pos
29
+ }, position)
32
30
 
33
31
  return {
34
32
  position: mappedPosition,
@@ -1,4 +1,4 @@
1
- import { RawCommands } from '../types.js'
1
+ import type { RawCommands } from '../types.js'
2
2
 
3
3
  declare module '@tiptap/core' {
4
4
  interface Commands<ReturnType> {
@@ -7,21 +7,23 @@ declare module '@tiptap/core' {
7
7
  * Removes focus from the editor.
8
8
  * @example editor.commands.blur()
9
9
  */
10
- blur: () => ReturnType,
10
+ blur: () => ReturnType
11
11
  }
12
12
  }
13
13
  }
14
14
 
15
- export const blur: RawCommands['blur'] = () => ({ editor, view }) => {
16
- requestAnimationFrame(() => {
17
- if (!editor.isDestroyed) {
18
- (view.dom as HTMLElement).blur()
15
+ export const blur: RawCommands['blur'] =
16
+ () =>
17
+ ({ editor, view }) => {
18
+ requestAnimationFrame(() => {
19
+ if (!editor.isDestroyed) {
20
+ ;(view.dom as HTMLElement).blur()
19
21
 
20
- // Browsers should remove the caret on blur but safari does not.
21
- // See: https://github.com/ueberdosis/tiptap/issues/2405
22
- window?.getSelection()?.removeAllRanges()
23
- }
24
- })
22
+ // Browsers should remove the caret on blur but safari does not.
23
+ // See: https://github.com/ueberdosis/tiptap/issues/2405
24
+ window?.getSelection()?.removeAllRanges()
25
+ }
26
+ })
25
27
 
26
- return true
27
- }
28
+ return true
29
+ }
@@ -1,18 +1,25 @@
1
- import { RawCommands } from '../types.js'
1
+ import type { RawCommands } from '../types.js'
2
2
 
3
3
  declare module '@tiptap/core' {
4
4
  interface Commands<ReturnType> {
5
5
  clearContent: {
6
6
  /**
7
7
  * Clear the whole document.
8
- * @param emitUpdate Whether to emit an update event.
9
8
  * @example editor.commands.clearContent()
10
9
  */
11
- clearContent: (emitUpdate?: boolean) => ReturnType,
10
+ clearContent: (
11
+ /**
12
+ * Whether to emit an update event.
13
+ * @default true
14
+ */
15
+ emitUpdate?: boolean,
16
+ ) => ReturnType
12
17
  }
13
18
  }
14
19
  }
15
20
 
16
- export const clearContent: RawCommands['clearContent'] = (emitUpdate = false) => ({ commands }) => {
17
- return commands.setContent('', emitUpdate)
18
- }
21
+ export const clearContent: RawCommands['clearContent'] =
22
+ (emitUpdate = true) =>
23
+ ({ commands }) => {
24
+ return commands.setContent('', { emitUpdate })
25
+ }
@@ -1,6 +1,6 @@
1
1
  import { liftTarget } from '@tiptap/pm/transform'
2
2
 
3
- import { RawCommands } from '../types.js'
3
+ import type { RawCommands } from '../types.js'
4
4
 
5
5
  declare module '@tiptap/core' {
6
6
  interface Commands<ReturnType> {
@@ -9,47 +9,49 @@ declare module '@tiptap/core' {
9
9
  * Normalize nodes to a simple paragraph.
10
10
  * @example editor.commands.clearNodes()
11
11
  */
12
- clearNodes: () => ReturnType,
12
+ clearNodes: () => ReturnType
13
13
  }
14
14
  }
15
15
  }
16
16
 
17
- export const clearNodes: RawCommands['clearNodes'] = () => ({ state, tr, dispatch }) => {
18
- const { selection } = tr
19
- const { ranges } = selection
17
+ export const clearNodes: RawCommands['clearNodes'] =
18
+ () =>
19
+ ({ state, tr, dispatch }) => {
20
+ const { selection } = tr
21
+ const { ranges } = selection
20
22
 
21
- if (!dispatch) {
22
- return true
23
- }
23
+ if (!dispatch) {
24
+ return true
25
+ }
24
26
 
25
- ranges.forEach(({ $from, $to }) => {
26
- state.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {
27
- if (node.type.isText) {
28
- return
29
- }
27
+ ranges.forEach(({ $from, $to }) => {
28
+ state.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {
29
+ if (node.type.isText) {
30
+ return
31
+ }
30
32
 
31
- const { doc, mapping } = tr
32
- const $mappedFrom = doc.resolve(mapping.map(pos))
33
- const $mappedTo = doc.resolve(mapping.map(pos + node.nodeSize))
34
- const nodeRange = $mappedFrom.blockRange($mappedTo)
33
+ const { doc, mapping } = tr
34
+ const $mappedFrom = doc.resolve(mapping.map(pos))
35
+ const $mappedTo = doc.resolve(mapping.map(pos + node.nodeSize))
36
+ const nodeRange = $mappedFrom.blockRange($mappedTo)
35
37
 
36
- if (!nodeRange) {
37
- return
38
- }
38
+ if (!nodeRange) {
39
+ return
40
+ }
39
41
 
40
- const targetLiftDepth = liftTarget(nodeRange)
42
+ const targetLiftDepth = liftTarget(nodeRange)
41
43
 
42
- if (node.type.isTextblock) {
43
- const { defaultType } = $mappedFrom.parent.contentMatchAt($mappedFrom.index())
44
+ if (node.type.isTextblock) {
45
+ const { defaultType } = $mappedFrom.parent.contentMatchAt($mappedFrom.index())
44
46
 
45
- tr.setNodeMarkup(nodeRange.start, defaultType)
46
- }
47
+ tr.setNodeMarkup(nodeRange.start, defaultType)
48
+ }
47
49
 
48
- if (targetLiftDepth || targetLiftDepth === 0) {
49
- tr.lift(nodeRange, targetLiftDepth)
50
- }
50
+ if (targetLiftDepth || targetLiftDepth === 0) {
51
+ tr.lift(nodeRange, targetLiftDepth)
52
+ }
53
+ })
51
54
  })
52
- })
53
55
 
54
- return true
55
- }
56
+ return true
57
+ }
@@ -1,4 +1,4 @@
1
- import { Command, RawCommands } from '../types.js'
1
+ import type { Command, RawCommands } from '../types.js'
2
2
 
3
3
  declare module '@tiptap/core' {
4
4
  interface Commands<ReturnType> {
@@ -12,7 +12,7 @@ declare module '@tiptap/core' {
12
12
  * return true
13
13
  * })
14
14
  */
15
- command: (fn: (props: Parameters<Command>[0]) => boolean) => ReturnType,
15
+ command: (fn: (props: Parameters<Command>[0]) => boolean) => ReturnType
16
16
  }
17
17
  }
18
18
  }
@@ -1,6 +1,6 @@
1
1
  import { createParagraphNear as originalCreateParagraphNear } from '@tiptap/pm/commands'
2
2
 
3
- import { RawCommands } from '../types.js'
3
+ import type { RawCommands } from '../types.js'
4
4
 
5
5
  declare module '@tiptap/core' {
6
6
  interface Commands<ReturnType> {
@@ -14,6 +14,8 @@ declare module '@tiptap/core' {
14
14
  }
15
15
  }
16
16
 
17
- export const createParagraphNear: RawCommands['createParagraphNear'] = () => ({ state, dispatch }) => {
18
- return originalCreateParagraphNear(state, dispatch)
19
- }
17
+ export const createParagraphNear: RawCommands['createParagraphNear'] =
18
+ () =>
19
+ ({ state, dispatch }) => {
20
+ return originalCreateParagraphNear(state, dispatch)
21
+ }
@@ -1,6 +1,6 @@
1
1
  import { TextSelection } from '@tiptap/pm/state'
2
2
 
3
- import { RawCommands } from '../types.js'
3
+ import type { RawCommands } from '../types.js'
4
4
 
5
5
  declare module '@tiptap/core' {
6
6
  interface Commands<ReturnType> {
@@ -13,22 +13,24 @@ declare module '@tiptap/core' {
13
13
  * @param targetPos The position to insert the content at.
14
14
  * @example editor.commands.cut({ from: 1, to: 3 }, 5)
15
15
  */
16
- cut: ({ from, to }: { from: number, to: number }, targetPos: number) => ReturnType,
16
+ cut: ({ from, to }: { from: number; to: number }, targetPos: number) => ReturnType
17
17
  }
18
18
  }
19
19
  }
20
20
 
21
- export const cut: RawCommands['cut'] = (originRange, targetPos) => ({ editor, tr }) => {
22
- const { state } = editor
21
+ export const cut: RawCommands['cut'] =
22
+ (originRange, targetPos) =>
23
+ ({ editor, tr }) => {
24
+ const { state } = editor
23
25
 
24
- const contentSlice = state.doc.slice(originRange.from, originRange.to)
26
+ const contentSlice = state.doc.slice(originRange.from, originRange.to)
25
27
 
26
- tr.deleteRange(originRange.from, originRange.to)
27
- const newPos = tr.mapping.map(targetPos)
28
+ tr.deleteRange(originRange.from, originRange.to)
29
+ const newPos = tr.mapping.map(targetPos)
28
30
 
29
- tr.insert(newPos, contentSlice.content)
31
+ tr.insert(newPos, contentSlice.content)
30
32
 
31
- tr.setSelection(new TextSelection(tr.doc.resolve(newPos - 1)))
33
+ tr.setSelection(new TextSelection(tr.doc.resolve(newPos - 1)))
32
34
 
33
- return true
34
- }
35
+ return true
36
+ }
@@ -1,4 +1,4 @@
1
- import { RawCommands } from '../types.js'
1
+ import type { RawCommands } from '../types.js'
2
2
 
3
3
  declare module '@tiptap/core' {
4
4
  interface Commands<ReturnType> {
@@ -7,36 +7,38 @@ declare module '@tiptap/core' {
7
7
  * Delete the node that currently has the selection anchor.
8
8
  * @example editor.commands.deleteCurrentNode()
9
9
  */
10
- deleteCurrentNode: () => ReturnType,
10
+ deleteCurrentNode: () => ReturnType
11
11
  }
12
12
  }
13
13
  }
14
14
 
15
- export const deleteCurrentNode: RawCommands['deleteCurrentNode'] = () => ({ tr, dispatch }) => {
16
- const { selection } = tr
17
- const currentNode = selection.$anchor.node()
15
+ export const deleteCurrentNode: RawCommands['deleteCurrentNode'] =
16
+ () =>
17
+ ({ tr, dispatch }) => {
18
+ const { selection } = tr
19
+ const currentNode = selection.$anchor.node()
18
20
 
19
- // if there is content inside the current node, break out of this command
20
- if (currentNode.content.size > 0) {
21
- return false
22
- }
21
+ // if there is content inside the current node, break out of this command
22
+ if (currentNode.content.size > 0) {
23
+ return false
24
+ }
23
25
 
24
- const $pos = tr.selection.$anchor
26
+ const $pos = tr.selection.$anchor
25
27
 
26
- for (let depth = $pos.depth; depth > 0; depth -= 1) {
27
- const node = $pos.node(depth)
28
+ for (let depth = $pos.depth; depth > 0; depth -= 1) {
29
+ const node = $pos.node(depth)
28
30
 
29
- if (node.type === currentNode.type) {
30
- if (dispatch) {
31
- const from = $pos.before(depth)
32
- const to = $pos.after(depth)
31
+ if (node.type === currentNode.type) {
32
+ if (dispatch) {
33
+ const from = $pos.before(depth)
34
+ const to = $pos.after(depth)
33
35
 
34
- tr.delete(from, to).scrollIntoView()
35
- }
36
+ tr.delete(from, to).scrollIntoView()
37
+ }
36
38
 
37
- return true
39
+ return true
40
+ }
38
41
  }
39
- }
40
42
 
41
- return false
42
- }
43
+ return false
44
+ }
@@ -1,7 +1,7 @@
1
- import { NodeType } from '@tiptap/pm/model'
1
+ import type { NodeType } from '@tiptap/pm/model'
2
2
 
3
3
  import { getNodeType } from '../helpers/getNodeType.js'
4
- import { RawCommands } from '../types.js'
4
+ import type { RawCommands } from '../types.js'
5
5
 
6
6
  declare module '@tiptap/core' {
7
7
  interface Commands<ReturnType> {
@@ -11,29 +11,31 @@ declare module '@tiptap/core' {
11
11
  * @param typeOrName The type or name of the node.
12
12
  * @example editor.commands.deleteNode('paragraph')
13
13
  */
14
- deleteNode: (typeOrName: string | NodeType) => ReturnType,
14
+ deleteNode: (typeOrName: string | NodeType) => ReturnType
15
15
  }
16
16
  }
17
17
  }
18
18
 
19
- export const deleteNode: RawCommands['deleteNode'] = typeOrName => ({ tr, state, dispatch }) => {
20
- const type = getNodeType(typeOrName, state.schema)
21
- const $pos = tr.selection.$anchor
19
+ export const deleteNode: RawCommands['deleteNode'] =
20
+ typeOrName =>
21
+ ({ tr, state, dispatch }) => {
22
+ const type = getNodeType(typeOrName, state.schema)
23
+ const $pos = tr.selection.$anchor
22
24
 
23
- for (let depth = $pos.depth; depth > 0; depth -= 1) {
24
- const node = $pos.node(depth)
25
+ for (let depth = $pos.depth; depth > 0; depth -= 1) {
26
+ const node = $pos.node(depth)
25
27
 
26
- if (node.type === type) {
27
- if (dispatch) {
28
- const from = $pos.before(depth)
29
- const to = $pos.after(depth)
28
+ if (node.type === type) {
29
+ if (dispatch) {
30
+ const from = $pos.before(depth)
31
+ const to = $pos.after(depth)
30
32
 
31
- tr.delete(from, to).scrollIntoView()
32
- }
33
+ tr.delete(from, to).scrollIntoView()
34
+ }
33
35
 
34
- return true
36
+ return true
37
+ }
35
38
  }
36
- }
37
39
 
38
- return false
39
- }
40
+ return false
41
+ }