@tiptap/core 2.0.0-beta.22 → 2.0.0-beta.220

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 (344) hide show
  1. package/README.md +2 -2
  2. package/dist/index.cjs +4354 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.js +4264 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.umd.js +4352 -0
  7. package/dist/index.umd.js.map +1 -0
  8. package/dist/packages/core/src/CommandManager.d.ts +14 -7
  9. package/dist/packages/core/src/Editor.d.ts +27 -22
  10. package/dist/packages/core/src/EventEmitter.d.ts +8 -4
  11. package/dist/packages/core/src/Extension.d.ts +93 -21
  12. package/dist/packages/core/src/ExtensionManager.d.ts +8 -14
  13. package/dist/packages/core/src/InputRule.d.ts +42 -0
  14. package/dist/packages/core/src/Mark.d.ts +132 -24
  15. package/dist/packages/core/src/Node.d.ts +150 -26
  16. package/dist/packages/core/src/NodeView.d.ts +11 -15
  17. package/dist/packages/core/src/PasteRule.d.ts +42 -0
  18. package/dist/packages/core/src/Tracker.d.ts +11 -0
  19. package/dist/packages/core/src/commands/blur.d.ts +3 -3
  20. package/dist/packages/core/src/commands/clearContent.d.ts +3 -3
  21. package/dist/packages/core/src/commands/clearNodes.d.ts +3 -3
  22. package/dist/packages/core/src/commands/command.d.ts +2 -2
  23. package/dist/packages/core/src/commands/createParagraphNear.d.ts +3 -3
  24. package/dist/packages/core/src/commands/deleteCurrentNode.d.ts +12 -0
  25. package/dist/packages/core/src/commands/deleteNode.d.ts +13 -0
  26. package/dist/packages/core/src/commands/deleteRange.d.ts +3 -3
  27. package/dist/packages/core/src/commands/deleteSelection.d.ts +3 -3
  28. package/dist/packages/core/src/commands/enter.d.ts +3 -3
  29. package/dist/packages/core/src/commands/exitCode.d.ts +3 -3
  30. package/dist/packages/core/src/commands/extendMarkRange.d.ts +4 -4
  31. package/dist/packages/core/src/commands/first.d.ts +3 -3
  32. package/dist/packages/core/src/commands/focus.d.ts +5 -3
  33. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  34. package/dist/packages/core/src/commands/index.d.ts +50 -0
  35. package/dist/packages/core/src/commands/insertContent.d.ts +7 -3
  36. package/dist/packages/core/src/commands/insertContentAt.d.ts +16 -0
  37. package/dist/packages/core/src/commands/join.d.ts +33 -0
  38. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +3 -3
  39. package/dist/packages/core/src/commands/lift.d.ts +4 -4
  40. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +3 -3
  41. package/dist/packages/core/src/commands/liftListItem.d.ts +4 -4
  42. package/dist/packages/core/src/commands/newlineInCode.d.ts +3 -3
  43. package/dist/packages/core/src/commands/resetAttributes.d.ts +4 -4
  44. package/dist/packages/core/src/commands/scrollIntoView.d.ts +3 -3
  45. package/dist/packages/core/src/commands/selectAll.d.ts +3 -3
  46. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +3 -3
  47. package/dist/packages/core/src/commands/selectNodeForward.d.ts +3 -3
  48. package/dist/packages/core/src/commands/selectParentNode.d.ts +3 -3
  49. package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +12 -0
  50. package/dist/packages/core/src/commands/selectTextblockStart.d.ts +12 -0
  51. package/dist/packages/core/src/commands/setContent.d.ts +4 -3
  52. package/dist/packages/core/src/commands/setMark.d.ts +4 -4
  53. package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
  54. package/dist/packages/core/src/commands/setNode.d.ts +4 -4
  55. package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
  56. package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
  57. package/dist/packages/core/src/commands/sinkListItem.d.ts +4 -4
  58. package/dist/packages/core/src/commands/splitBlock.d.ts +3 -3
  59. package/dist/packages/core/src/commands/splitListItem.d.ts +4 -4
  60. package/dist/packages/core/src/commands/toggleList.d.ts +4 -4
  61. package/dist/packages/core/src/commands/toggleMark.d.ts +9 -4
  62. package/dist/packages/core/src/commands/toggleNode.d.ts +4 -4
  63. package/dist/packages/core/src/commands/toggleWrap.d.ts +4 -4
  64. package/dist/packages/core/src/commands/undoInputRule.d.ts +3 -3
  65. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +3 -3
  66. package/dist/packages/core/src/commands/unsetMark.d.ts +9 -4
  67. package/dist/packages/core/src/commands/updateAttributes.d.ts +4 -4
  68. package/dist/packages/core/src/commands/wrapIn.d.ts +4 -4
  69. package/dist/packages/core/src/commands/wrapInList.d.ts +4 -4
  70. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +1 -1
  71. package/dist/packages/core/src/extensions/commands.d.ts +2 -99
  72. package/dist/packages/core/src/extensions/editable.d.ts +1 -1
  73. package/dist/packages/core/src/extensions/focusEvents.d.ts +1 -1
  74. package/dist/packages/core/src/extensions/index.d.ts +1 -0
  75. package/dist/packages/core/src/extensions/keymap.d.ts +1 -1
  76. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  77. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +7 -0
  78. package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
  79. package/dist/packages/core/src/helpers/createDocument.d.ts +3 -4
  80. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +4 -5
  81. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +2 -0
  82. package/dist/packages/core/src/helpers/findChildren.d.ts +3 -8
  83. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
  84. package/dist/packages/core/src/helpers/findParentNode.d.ts +3 -4
  85. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +3 -3
  86. package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -2
  87. package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
  88. package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
  89. package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
  90. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +2 -2
  91. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  92. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  93. package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
  94. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -2
  95. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +3 -4
  96. package/dist/packages/core/src/helpers/getMarkRange.d.ts +2 -2
  97. package/dist/packages/core/src/helpers/getMarkType.d.ts +2 -2
  98. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +2 -2
  99. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +3 -4
  100. package/dist/packages/core/src/helpers/getNodeType.d.ts +2 -2
  101. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -3
  102. package/dist/packages/core/src/helpers/getSchema.d.ts +2 -2
  103. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
  104. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +2 -2
  105. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +2 -2
  106. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -2
  107. package/dist/packages/core/src/helpers/getText.d.ts +6 -0
  108. package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
  109. package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +2 -0
  110. package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +3 -0
  111. package/dist/packages/core/src/helpers/index.d.ts +47 -0
  112. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +2 -2
  113. package/dist/packages/core/src/helpers/isActive.d.ts +2 -3
  114. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  115. package/dist/packages/core/src/helpers/isList.d.ts +1 -1
  116. package/dist/packages/core/src/helpers/isMarkActive.d.ts +3 -4
  117. package/dist/packages/core/src/helpers/isNodeActive.d.ts +3 -4
  118. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +2 -2
  119. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +2 -2
  120. package/dist/packages/core/src/helpers/isTextSelection.d.ts +2 -2
  121. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  122. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  123. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +2 -2
  124. package/dist/packages/core/src/helpers/splitExtensions.d.ts +6 -6
  125. package/dist/packages/core/src/index.d.ts +14 -23
  126. package/dist/packages/core/src/inputRules/index.d.ts +5 -0
  127. package/dist/packages/core/src/inputRules/markInputRule.d.ts +12 -3
  128. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +12 -3
  129. package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
  130. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
  131. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +27 -0
  132. package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
  133. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +12 -3
  134. package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +12 -0
  135. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +9 -0
  136. package/dist/packages/core/src/style.d.ts +1 -2
  137. package/dist/packages/core/src/types.d.ts +122 -62
  138. package/dist/packages/core/src/utilities/callOrReturn.d.ts +2 -1
  139. package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -1
  140. package/dist/packages/core/src/utilities/deleteProps.d.ts +1 -2
  141. package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -1
  142. package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +1 -0
  143. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  144. package/dist/packages/core/src/utilities/fromString.d.ts +1 -1
  145. package/dist/packages/core/src/utilities/index.d.ts +20 -0
  146. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -1
  147. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  148. package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
  149. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  150. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -1
  151. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  152. package/dist/packages/core/src/utilities/isString.d.ts +1 -0
  153. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  154. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -2
  155. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -2
  156. package/dist/packages/core/src/utilities/minMax.d.ts +1 -1
  157. package/dist/packages/core/src/utilities/objectIncludes.d.ts +3 -2
  158. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  159. package/package.json +29 -24
  160. package/src/CommandManager.ts +76 -86
  161. package/src/Editor.ts +121 -79
  162. package/src/EventEmitter.ts +14 -4
  163. package/src/Extension.ts +276 -112
  164. package/src/ExtensionManager.ts +252 -110
  165. package/src/InputRule.ts +260 -0
  166. package/src/Mark.ts +394 -152
  167. package/src/Node.ts +433 -176
  168. package/src/NodeView.ts +144 -67
  169. package/src/PasteRule.ts +240 -0
  170. package/src/Tracker.ts +38 -0
  171. package/src/commands/blur.ts +12 -6
  172. package/src/commands/clearContent.ts +3 -3
  173. package/src/commands/clearNodes.ts +31 -19
  174. package/src/commands/command.ts +2 -2
  175. package/src/commands/createParagraphNear.ts +5 -4
  176. package/src/commands/deleteCurrentNode.ts +41 -0
  177. package/src/commands/deleteNode.ts +37 -0
  178. package/src/commands/deleteRange.ts +3 -3
  179. package/src/commands/deleteSelection.ts +5 -4
  180. package/src/commands/enter.ts +3 -3
  181. package/src/commands/exitCode.ts +5 -4
  182. package/src/commands/extendMarkRange.ts +16 -12
  183. package/src/commands/first.ts +3 -3
  184. package/src/commands/focus.ts +47 -44
  185. package/src/commands/forEach.ts +24 -0
  186. package/src/commands/index.ts +50 -0
  187. package/src/commands/insertContent.ts +17 -24
  188. package/src/commands/insertContentAt.ts +102 -0
  189. package/src/commands/join.ts +53 -0
  190. package/src/commands/keyboardShortcut.ts +6 -6
  191. package/src/commands/lift.ts +8 -7
  192. package/src/commands/liftEmptyBlock.ts +5 -4
  193. package/src/commands/liftListItem.ts +7 -6
  194. package/src/commands/newlineInCode.ts +5 -4
  195. package/src/commands/resetAttributes.ts +18 -12
  196. package/src/commands/scrollIntoView.ts +3 -3
  197. package/src/commands/selectAll.ts +8 -6
  198. package/src/commands/selectNodeBackward.ts +5 -4
  199. package/src/commands/selectNodeForward.ts +5 -4
  200. package/src/commands/selectParentNode.ts +5 -4
  201. package/src/commands/selectTextblockEnd.ts +20 -0
  202. package/src/commands/selectTextblockStart.ts +20 -0
  203. package/src/commands/setContent.ts +9 -16
  204. package/src/commands/setMark.ts +90 -14
  205. package/src/commands/setMeta.ts +18 -0
  206. package/src/commands/setNode.ts +32 -8
  207. package/src/commands/setNodeSelection.ts +27 -0
  208. package/src/commands/setTextSelection.ts +31 -0
  209. package/src/commands/sinkListItem.ts +7 -6
  210. package/src/commands/splitBlock.ts +31 -41
  211. package/src/commands/splitListItem.ts +58 -29
  212. package/src/commands/toggleList.ts +109 -20
  213. package/src/commands/toggleMark.ts +19 -8
  214. package/src/commands/toggleNode.ts +11 -6
  215. package/src/commands/toggleWrap.ts +10 -10
  216. package/src/commands/undoInputRule.ts +34 -5
  217. package/src/commands/unsetAllMarks.ts +7 -11
  218. package/src/commands/unsetMark.ts +36 -23
  219. package/src/commands/updateAttributes.ts +27 -15
  220. package/src/commands/wrapIn.ts +7 -12
  221. package/src/commands/wrapInList.ts +7 -6
  222. package/src/extensions/clipboardTextSerializer.ts +15 -36
  223. package/src/extensions/commands.ts +3 -147
  224. package/src/extensions/editable.ts +2 -1
  225. package/src/extensions/focusEvents.ts +4 -6
  226. package/src/extensions/index.ts +1 -0
  227. package/src/extensions/keymap.ts +106 -13
  228. package/src/extensions/tabindex.ts +18 -0
  229. package/src/helpers/combineTransactionSteps.ts +21 -0
  230. package/src/helpers/createChainableState.ts +38 -0
  231. package/src/helpers/createDocument.ts +5 -6
  232. package/src/helpers/createNodeFromContent.ts +20 -28
  233. package/src/helpers/defaultBlockAt.ts +13 -0
  234. package/src/helpers/findChildren.ts +3 -7
  235. package/src/helpers/findChildrenInRange.ts +36 -0
  236. package/src/helpers/findParentNode.ts +4 -3
  237. package/src/helpers/findParentNodeClosestToPos.ts +13 -7
  238. package/src/helpers/generateHTML.ts +7 -6
  239. package/src/helpers/generateJSON.ts +12 -0
  240. package/src/helpers/generateText.ts +27 -0
  241. package/src/helpers/getAttributes.ts +26 -0
  242. package/src/helpers/getAttributesFromExtensions.ts +42 -14
  243. package/src/helpers/getChangedRanges.ts +83 -0
  244. package/src/helpers/getDebugJSON.ts +54 -0
  245. package/src/helpers/getExtensionField.ts +25 -0
  246. package/src/helpers/getHTMLFromFragment.ts +5 -6
  247. package/src/helpers/getMarkAttributes.ts +18 -11
  248. package/src/helpers/getMarkRange.ts +41 -8
  249. package/src/helpers/getMarkType.ts +8 -2
  250. package/src/helpers/getMarksBetween.ts +34 -10
  251. package/src/helpers/getNodeAttributes.ts +14 -13
  252. package/src/helpers/getNodeType.ts +8 -2
  253. package/src/helpers/getRenderedAttributes.ts +9 -7
  254. package/src/helpers/getSchema.ts +7 -133
  255. package/src/helpers/getSchemaByResolvedExtensions.ts +192 -0
  256. package/src/helpers/getSchemaTypeByName.ts +3 -11
  257. package/src/helpers/getSchemaTypeNameByName.ts +2 -2
  258. package/src/helpers/getSplittedAttributes.ts +4 -4
  259. package/src/helpers/getText.ts +19 -0
  260. package/src/helpers/getTextBetween.ts +46 -0
  261. package/src/helpers/getTextContentFromNodes.ts +26 -0
  262. package/src/helpers/getTextSerializersFromSchema.ts +11 -0
  263. package/src/helpers/index.ts +47 -0
  264. package/src/helpers/injectExtensionAttributesToParseRule.ts +22 -23
  265. package/src/helpers/isActive.ts +10 -6
  266. package/src/helpers/isExtensionRulesEnabled.ts +15 -0
  267. package/src/helpers/isList.ts +14 -7
  268. package/src/helpers/isMarkActive.ts +49 -27
  269. package/src/helpers/isNodeActive.ts +29 -39
  270. package/src/helpers/isNodeEmpty.ts +2 -2
  271. package/src/helpers/isNodeSelection.ts +3 -4
  272. package/src/helpers/isTextSelection.ts +3 -4
  273. package/src/helpers/posToDOMRect.ts +35 -0
  274. package/src/helpers/resolveFocusPosition.ts +42 -0
  275. package/src/helpers/selectionToInsertionEnd.ts +3 -3
  276. package/src/helpers/splitExtensions.ts +3 -3
  277. package/src/index.ts +15 -26
  278. package/src/inputRules/index.ts +5 -0
  279. package/src/inputRules/markInputRule.ts +59 -40
  280. package/src/inputRules/nodeInputRule.ts +45 -12
  281. package/src/inputRules/textInputRule.ts +35 -0
  282. package/src/inputRules/textblockTypeInputRule.ts +37 -0
  283. package/src/inputRules/wrappingInputRule.ts +84 -0
  284. package/src/pasteRules/index.ts +3 -0
  285. package/src/pasteRules/markPasteRule.ts +61 -53
  286. package/src/pasteRules/nodePasteRule.ts +37 -0
  287. package/src/pasteRules/textPasteRule.ts +35 -0
  288. package/src/style.ts +16 -3
  289. package/src/types.ts +175 -97
  290. package/src/utilities/callOrReturn.ts +6 -3
  291. package/src/utilities/createStyleTag.ts +12 -1
  292. package/src/utilities/deleteProps.ts +2 -4
  293. package/src/utilities/elementFromString.ts +4 -5
  294. package/src/utilities/escapeForRegEx.ts +4 -0
  295. package/src/utilities/findDuplicates.ts +5 -0
  296. package/src/utilities/fromString.ts +2 -2
  297. package/src/utilities/index.ts +20 -0
  298. package/src/utilities/isEmptyObject.ts +2 -2
  299. package/src/utilities/isFunction.ts +3 -0
  300. package/src/utilities/isMacOS.ts +5 -0
  301. package/src/utilities/isNumber.ts +3 -0
  302. package/src/utilities/isPlainObject.ts +8 -5
  303. package/src/utilities/isRegExp.ts +3 -0
  304. package/src/utilities/isString.ts +3 -0
  305. package/src/utilities/isiOS.ts +12 -0
  306. package/src/utilities/mergeAttributes.ts +2 -3
  307. package/src/utilities/mergeDeep.ts +2 -3
  308. package/src/utilities/minMax.ts +1 -1
  309. package/src/utilities/objectIncludes.ts +17 -5
  310. package/src/utilities/removeDuplicates.ts +15 -0
  311. package/CHANGELOG.md +0 -373
  312. package/LICENSE.md +0 -21
  313. package/dist/packages/core/src/commands/insertHTML.d.ts +0 -12
  314. package/dist/packages/core/src/commands/insertNode.d.ts +0 -13
  315. package/dist/packages/core/src/commands/insertText.d.ts +0 -12
  316. package/dist/packages/core/src/commands/joinBackward.d.ts +0 -12
  317. package/dist/packages/core/src/commands/joinForward.d.ts +0 -12
  318. package/dist/packages/core/src/commands/replace.d.ts +0 -13
  319. package/dist/packages/core/src/commands/replaceRange.d.ts +0 -13
  320. package/dist/packages/core/src/commands/resetNodeAttributes.d.ts +0 -13
  321. package/dist/packages/core/src/commands/updateNodeAttributes.d.ts +0 -13
  322. package/dist/packages/core/src/utilities/isClass.d.ts +0 -1
  323. package/dist/packages/core/src/utilities/isObject.d.ts +0 -1
  324. package/dist/packages/core/src/utilities/removeElement.d.ts +0 -1
  325. package/dist/tiptap-core.bundle.umd.min.js +0 -17
  326. package/dist/tiptap-core.bundle.umd.min.js.map +0 -1
  327. package/dist/tiptap-core.cjs.js +0 -3048
  328. package/dist/tiptap-core.cjs.js.map +0 -1
  329. package/dist/tiptap-core.esm.js +0 -3021
  330. package/dist/tiptap-core.esm.js.map +0 -1
  331. package/dist/tiptap-core.umd.js +0 -3045
  332. package/dist/tiptap-core.umd.js.map +0 -1
  333. package/src/commands/insertHTML.ts +0 -30
  334. package/src/commands/insertNode.ts +0 -33
  335. package/src/commands/insertText.ts +0 -22
  336. package/src/commands/joinBackward.ts +0 -17
  337. package/src/commands/joinForward.ts +0 -17
  338. package/src/commands/replace.ts +0 -20
  339. package/src/commands/replaceRange.ts +0 -36
  340. package/src/commands/resetNodeAttributes.ts +0 -33
  341. package/src/commands/updateNodeAttributes.ts +0 -35
  342. package/src/utilities/isClass.ts +0 -7
  343. package/src/utilities/isObject.ts +0 -10
  344. package/src/utilities/removeElement.ts +0 -5
@@ -1,2 +1,2 @@
1
- import { Node as ProseMirrorNode } from 'prosemirror-model';
2
- export default function isNodeEmpty(node: ProseMirrorNode): boolean;
1
+ import { Node as ProseMirrorNode } from '@tiptap/pm/model';
2
+ export declare function isNodeEmpty(node: ProseMirrorNode): boolean;
@@ -1,2 +1,2 @@
1
- import { NodeSelection } from 'prosemirror-state';
2
- export default function isNodeSelection(value: unknown): value is NodeSelection;
1
+ import { NodeSelection } from '@tiptap/pm/state';
2
+ export declare function isNodeSelection(value: unknown): value is NodeSelection;
@@ -1,2 +1,2 @@
1
- import { TextSelection } from 'prosemirror-state';
2
- export default function isTextSelection(value: unknown): value is TextSelection;
1
+ import { TextSelection } from '@tiptap/pm/state';
2
+ export declare function isTextSelection(value: unknown): value is TextSelection;
@@ -0,0 +1,2 @@
1
+ import { EditorView } from '@tiptap/pm/view';
2
+ export declare function posToDOMRect(view: EditorView, from: number, to: number): DOMRect;
@@ -0,0 +1,4 @@
1
+ import { Node as ProseMirrorNode } from '@tiptap/pm/model';
2
+ import { Selection } from '@tiptap/pm/state';
3
+ import { FocusPosition } from '../types';
4
+ export declare function resolveFocusPosition(doc: ProseMirrorNode, position?: FocusPosition): Selection | null;
@@ -1,2 +1,2 @@
1
- import { Transaction } from 'prosemirror-state';
2
- export default function selectionToInsertionEnd(tr: Transaction, startLen: number, bias: number): void;
1
+ import { Transaction } from '@tiptap/pm/state';
2
+ export declare function selectionToInsertionEnd(tr: Transaction, startLen: number, bias: number): void;
@@ -1,9 +1,9 @@
1
- import { Extensions } from '../types';
2
1
  import { Extension } from '../Extension';
3
- import { Node } from '../Node';
4
2
  import { Mark } from '../Mark';
5
- export default function splitExtensions(extensions: Extensions): {
6
- baseExtensions: Extension<any>[];
7
- nodeExtensions: Node<any>[];
8
- markExtensions: Mark<any>[];
3
+ import { Node } from '../Node';
4
+ import { Extensions } from '../types';
5
+ export declare function splitExtensions(extensions: Extensions): {
6
+ baseExtensions: Extension<any, any>[];
7
+ nodeExtensions: Node<any, any>[];
8
+ markExtensions: Mark<any, any>[];
9
9
  };
@@ -1,32 +1,23 @@
1
+ export * from './CommandManager';
1
2
  export * from './Editor';
2
3
  export * from './Extension';
3
- export * from './Node';
4
+ export * as extensions from './extensions';
5
+ export * from './helpers';
6
+ export * from './InputRule';
7
+ export * from './inputRules';
4
8
  export * from './Mark';
9
+ export * from './Node';
5
10
  export * from './NodeView';
11
+ export * from './PasteRule';
12
+ export * from './pasteRules';
13
+ export * from './Tracker';
6
14
  export * from './types';
7
- export { default as nodeInputRule } from './inputRules/nodeInputRule';
8
- export { default as markInputRule } from './inputRules/markInputRule';
9
- export { default as markPasteRule } from './pasteRules/markPasteRule';
10
- export { default as callOrReturn } from './utilities/callOrReturn';
11
- export { default as mergeAttributes } from './utilities/mergeAttributes';
12
- export { default as findChildren } from './helpers/findChildren';
13
- export { default as findParentNode } from './helpers/findParentNode';
14
- export { default as findParentNodeClosestToPos } from './helpers/findParentNodeClosestToPos';
15
- export { default as generateHTML } from './helpers/generateHTML';
16
- export { default as getSchema } from './helpers/getSchema';
17
- export { default as getHTMLFromFragment } from './helpers/getHTMLFromFragment';
18
- export { default as getMarkAttributes } from './helpers/getMarkAttributes';
19
- export { default as isActive } from './helpers/isActive';
20
- export { default as isMarkActive } from './helpers/isMarkActive';
21
- export { default as isNodeActive } from './helpers/isNodeActive';
22
- export { default as isNodeEmpty } from './helpers/isNodeEmpty';
23
- export { default as isNodeSelection } from './helpers/isNodeSelection';
24
- export { default as isTextSelection } from './helpers/isTextSelection';
25
- export interface Commands {
15
+ export * from './utilities';
16
+ export interface Commands<ReturnType = any> {
26
17
  }
27
- export interface ExtensionConfig<Options = any> {
18
+ export interface ExtensionConfig<Options = any, Storage = any> {
28
19
  }
29
- export interface NodeConfig<Options = any> {
20
+ export interface NodeConfig<Options = any, Storage = any> {
30
21
  }
31
- export interface MarkConfig<Options = any> {
22
+ export interface MarkConfig<Options = any, Storage = any> {
32
23
  }
@@ -0,0 +1,5 @@
1
+ export * from './markInputRule';
2
+ export * from './nodeInputRule';
3
+ export * from './textblockTypeInputRule';
4
+ export * from './textInputRule';
5
+ export * from './wrappingInputRule';
@@ -1,3 +1,12 @@
1
- import { InputRule } from 'prosemirror-inputrules';
2
- import { MarkType } from 'prosemirror-model';
3
- export default function (regexp: RegExp, markType: MarkType, getAttributes?: Function): InputRule;
1
+ import { MarkType } from '@tiptap/pm/model';
2
+ import { InputRule, InputRuleFinder } from '../InputRule';
3
+ import { ExtendedRegExpMatchArray } from '../types';
4
+ /**
5
+ * Build an input rule that adds a mark when the
6
+ * matched text is typed into it.
7
+ */
8
+ export declare function markInputRule(config: {
9
+ find: InputRuleFinder;
10
+ type: MarkType;
11
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
12
+ }): InputRule;
@@ -1,3 +1,12 @@
1
- import { InputRule } from 'prosemirror-inputrules';
2
- import { NodeType } from 'prosemirror-model';
3
- export default function (regexp: RegExp, type: NodeType, getAttributes?: (match: any) => any): InputRule;
1
+ import { NodeType } from '@tiptap/pm/model';
2
+ import { InputRule, InputRuleFinder } from '../InputRule';
3
+ import { ExtendedRegExpMatchArray } from '../types';
4
+ /**
5
+ * Build an input rule that adds a node when the
6
+ * matched text is typed into it.
7
+ */
8
+ export declare function nodeInputRule(config: {
9
+ find: InputRuleFinder;
10
+ type: NodeType;
11
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
12
+ }): InputRule;
@@ -0,0 +1,9 @@
1
+ import { InputRule, InputRuleFinder } from '../InputRule';
2
+ /**
3
+ * Build an input rule that replaces text when the
4
+ * matched text is typed into it.
5
+ */
6
+ export declare function textInputRule(config: {
7
+ find: InputRuleFinder;
8
+ replace: string;
9
+ }): InputRule;
@@ -0,0 +1,14 @@
1
+ import { NodeType } from '@tiptap/pm/model';
2
+ import { InputRule, InputRuleFinder } from '../InputRule';
3
+ import { ExtendedRegExpMatchArray } from '../types';
4
+ /**
5
+ * Build an input rule that changes the type of a textblock when the
6
+ * matched text is typed into it. When using a regular expresion you’ll
7
+ * probably want the regexp to start with `^`, so that the pattern can
8
+ * only occur at the start of a textblock.
9
+ */
10
+ export declare function textblockTypeInputRule(config: {
11
+ find: InputRuleFinder;
12
+ type: NodeType;
13
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
14
+ }): InputRule;
@@ -0,0 +1,27 @@
1
+ import { Node as ProseMirrorNode, NodeType } from '@tiptap/pm/model';
2
+ import { Editor } from '../Editor';
3
+ import { InputRule, InputRuleFinder } from '../InputRule';
4
+ import { ExtendedRegExpMatchArray } from '../types';
5
+ /**
6
+ * Build an input rule for automatically wrapping a textblock when a
7
+ * given string is typed. When using a regular expresion you’ll
8
+ * probably want the regexp to start with `^`, so that the pattern can
9
+ * only occur at the start of a textblock.
10
+ *
11
+ * `type` is the type of node to wrap in.
12
+ *
13
+ * By default, if there’s a node with the same type above the newly
14
+ * wrapped node, the rule will try to join those
15
+ * two nodes. You can pass a join predicate, which takes a regular
16
+ * expression match and the node before the wrapped node, and can
17
+ * return a boolean to indicate whether a join should happen.
18
+ */
19
+ export declare function wrappingInputRule(config: {
20
+ find: InputRuleFinder;
21
+ type: NodeType;
22
+ keepMarks?: boolean;
23
+ keepAttributes?: boolean;
24
+ editor?: Editor;
25
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
26
+ joinPredicate?: (match: ExtendedRegExpMatchArray, node: ProseMirrorNode) => boolean;
27
+ }): InputRule;
@@ -0,0 +1,3 @@
1
+ export * from './markPasteRule';
2
+ export * from './nodePasteRule';
3
+ export * from './textPasteRule';
@@ -1,3 +1,12 @@
1
- import { Plugin } from 'prosemirror-state';
2
- import { MarkType } from 'prosemirror-model';
3
- export default function (regexp: RegExp, type: MarkType, getAttrs?: (match: any) => any): Plugin;
1
+ import { MarkType } from '@tiptap/pm/model';
2
+ import { PasteRule, PasteRuleFinder } from '../PasteRule';
3
+ import { ExtendedRegExpMatchArray } from '../types';
4
+ /**
5
+ * Build an paste rule that adds a mark when the
6
+ * matched text is pasted into it.
7
+ */
8
+ export declare function markPasteRule(config: {
9
+ find: PasteRuleFinder;
10
+ type: MarkType;
11
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
12
+ }): PasteRule;
@@ -0,0 +1,12 @@
1
+ import { NodeType } from '@tiptap/pm/model';
2
+ import { PasteRule, PasteRuleFinder } from '../PasteRule';
3
+ import { ExtendedRegExpMatchArray } from '../types';
4
+ /**
5
+ * Build an paste rule that adds a node when the
6
+ * matched text is pasted into it.
7
+ */
8
+ export declare function nodePasteRule(config: {
9
+ find: PasteRuleFinder;
10
+ type: NodeType;
11
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
12
+ }): PasteRule;
@@ -0,0 +1,9 @@
1
+ import { PasteRule, PasteRuleFinder } from '../PasteRule';
2
+ /**
3
+ * Build an paste rule that replaces text when the
4
+ * matched text is pasted into it.
5
+ */
6
+ export declare function textPasteRule(config: {
7
+ find: PasteRuleFinder;
8
+ replace: string;
9
+ }): PasteRule;
@@ -1,2 +1 @@
1
- declare const style = ".ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n}\n\n.ProseMirror [contenteditable=\"false\"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable=\"false\"] [contenteditable=\"true\"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}";
2
- export default style;
1
+ export declare const style = ".ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror [contenteditable=\"false\"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable=\"false\"] [contenteditable=\"true\"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 1px !important;\n height: 1px !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.tippy-box[data-animation=fade][data-state=hidden] {\n opacity: 0\n}";
@@ -1,53 +1,89 @@
1
- import { Node as ProseMirrorNode, Mark as ProseMirrorMark, ParseOptions } from 'prosemirror-model';
2
- import { EditorView, Decoration, NodeView, EditorProps } from 'prosemirror-view';
3
- import { EditorState, Transaction } from 'prosemirror-state';
1
+ import { Mark as ProseMirrorMark, Node as ProseMirrorNode, NodeType, ParseOptions } from '@tiptap/pm/model';
2
+ import { EditorState, Transaction } from '@tiptap/pm/state';
3
+ import { Decoration, EditorProps, EditorView, NodeView } from '@tiptap/pm/view';
4
+ import { Commands, ExtensionConfig, MarkConfig, NodeConfig } from '.';
5
+ import { Editor } from './Editor';
4
6
  import { Extension } from './Extension';
5
- import { Node } from './Node';
6
7
  import { Mark } from './Mark';
7
- import { Editor } from './Editor';
8
- import { Commands } from '.';
9
- export declare type Extensions = (Extension | Node | Mark)[];
10
- export interface EditorOptions {
11
- element: Element;
12
- content: Content;
13
- extensions: Extensions;
14
- injectCSS: boolean;
15
- autofocus: FocusPosition;
16
- editable: boolean;
17
- editorProps: EditorProps;
18
- parseOptions: ParseOptions;
19
- enableInputRules: boolean;
20
- enablePasteRules: boolean;
21
- onBeforeCreate: (props: {
8
+ import { Node } from './Node';
9
+ export declare type AnyConfig = ExtensionConfig | NodeConfig | MarkConfig;
10
+ export declare type AnyExtension = Extension | Node | Mark;
11
+ export declare type Extensions = AnyExtension[];
12
+ export declare type ParentConfig<T> = Partial<{
13
+ [P in keyof T]: Required<T>[P] extends (...args: any) => any ? (...args: Parameters<Required<T>[P]>) => ReturnType<Required<T>[P]> : T[P];
14
+ }>;
15
+ export declare type Primitive = null | undefined | string | number | boolean | symbol | bigint;
16
+ export declare type RemoveThis<T> = T extends (...args: any) => any ? (...args: Parameters<T>) => ReturnType<T> : T;
17
+ export declare type MaybeReturnType<T> = T extends (...args: any) => any ? ReturnType<T> : T;
18
+ export declare type MaybeThisParameterType<T> = Exclude<T, Primitive> extends (...args: any) => any ? ThisParameterType<Exclude<T, Primitive>> : any;
19
+ export interface EditorEvents {
20
+ beforeCreate: {
22
21
  editor: Editor;
23
- }) => void;
24
- onCreate: (props: {
22
+ };
23
+ create: {
25
24
  editor: Editor;
26
- }) => void;
27
- onUpdate: (props: {
25
+ };
26
+ update: {
28
27
  editor: Editor;
29
- }) => void;
30
- onSelectionUpdate: (props: {
28
+ transaction: Transaction;
29
+ };
30
+ selectionUpdate: {
31
31
  editor: Editor;
32
- }) => void;
33
- onTransaction: (props: {
32
+ transaction: Transaction;
33
+ };
34
+ transaction: {
34
35
  editor: Editor;
35
36
  transaction: Transaction;
36
- }) => void;
37
- onFocus: (props: {
37
+ };
38
+ focus: {
38
39
  editor: Editor;
39
40
  event: FocusEvent;
40
- }) => void;
41
- onBlur: (props: {
41
+ transaction: Transaction;
42
+ };
43
+ blur: {
42
44
  editor: Editor;
43
45
  event: FocusEvent;
44
- }) => void;
45
- onResize: (props: {
46
- editor: Editor;
47
- }) => void;
48
- onDestroy: () => void;
46
+ transaction: Transaction;
47
+ };
48
+ destroy: void;
49
49
  }
50
- export declare type Content = string | JSON | null;
50
+ export declare type EnableRules = (AnyExtension | string)[] | boolean;
51
+ export interface EditorOptions {
52
+ element: Element;
53
+ content: Content;
54
+ extensions: Extensions;
55
+ injectCSS: boolean;
56
+ injectNonce: string | undefined;
57
+ autofocus: FocusPosition;
58
+ editable: boolean;
59
+ editorProps: EditorProps;
60
+ parseOptions: ParseOptions;
61
+ enableInputRules: EnableRules;
62
+ enablePasteRules: EnableRules;
63
+ enableCoreExtensions: boolean;
64
+ onBeforeCreate: (props: EditorEvents['beforeCreate']) => void;
65
+ onCreate: (props: EditorEvents['create']) => void;
66
+ onUpdate: (props: EditorEvents['update']) => void;
67
+ onSelectionUpdate: (props: EditorEvents['selectionUpdate']) => void;
68
+ onTransaction: (props: EditorEvents['transaction']) => void;
69
+ onFocus: (props: EditorEvents['focus']) => void;
70
+ onBlur: (props: EditorEvents['blur']) => void;
71
+ onDestroy: (props: EditorEvents['destroy']) => void;
72
+ }
73
+ export declare type HTMLContent = string;
74
+ export declare type JSONContent = {
75
+ type?: string;
76
+ attrs?: Record<string, any>;
77
+ content?: JSONContent[];
78
+ marks?: {
79
+ type: string;
80
+ attrs?: Record<string, any>;
81
+ [key: string]: any;
82
+ }[];
83
+ text?: string;
84
+ [key: string]: any;
85
+ };
86
+ export declare type Content = HTMLContent | JSONContent | JSONContent[] | null;
51
87
  export declare type CommandProps = {
52
88
  editor: Editor;
53
89
  tr: Transaction;
@@ -60,18 +96,16 @@ export declare type CommandProps = {
60
96
  };
61
97
  export declare type Command = (props: CommandProps) => boolean;
62
98
  export declare type CommandSpec = (...args: any[]) => Command;
99
+ export declare type KeyboardShortcutCommand = (props: {
100
+ editor: Editor;
101
+ }) => boolean;
63
102
  export declare type Attribute = {
64
103
  default: any;
65
104
  rendered?: boolean;
66
- renderHTML?: ((attributes: {
67
- [key: string]: any;
68
- }) => {
69
- [key: string]: any;
70
- } | null) | null;
71
- parseHTML?: ((element: HTMLElement) => {
72
- [key: string]: any;
73
- } | null) | null;
105
+ renderHTML?: ((attributes: Record<string, any>) => Record<string, any> | null) | null;
106
+ parseHTML?: ((element: HTMLElement) => any | null) | null;
74
107
  keepOnSplit: boolean;
108
+ isRequired?: boolean;
75
109
  };
76
110
  export declare type Attributes = {
77
111
  [key: string]: Attribute;
@@ -88,7 +122,7 @@ export declare type GlobalAttributes = {
88
122
  };
89
123
  }[];
90
124
  export declare type PickValue<T, K extends keyof T> = T[K];
91
- export declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
125
+ export declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
92
126
  export declare type Diff<T extends keyof any, U extends keyof any> = ({
93
127
  [P in T]: P;
94
128
  } & {
@@ -97,49 +131,60 @@ export declare type Diff<T extends keyof any, U extends keyof any> = ({
97
131
  [x: string]: never;
98
132
  })[T];
99
133
  export declare type Overwrite<T, U> = Pick<T, Diff<keyof T, keyof U>> & U;
100
- export declare type AnyObject = {
101
- [key: string]: any;
102
- };
103
134
  export declare type ValuesOf<T> = T[keyof T];
104
- export declare type KeysWithTypeOf<T, Type> = ({
135
+ export declare type KeysWithTypeOf<T, Type> = {
105
136
  [P in keyof T]: T[P] extends Type ? P : never;
106
- })[keyof T];
137
+ }[keyof T];
138
+ export declare type DecorationWithType = Decoration & {
139
+ type: NodeType;
140
+ };
107
141
  export declare type NodeViewProps = {
108
142
  editor: Editor;
109
143
  node: ProseMirrorNode;
110
- decorations: Decoration[];
144
+ decorations: DecorationWithType[];
111
145
  selected: boolean;
112
146
  extension: Node;
113
147
  getPos: () => number;
114
- updateAttributes: (attributes: AnyObject) => void;
148
+ updateAttributes: (attributes: Record<string, any>) => void;
149
+ deleteNode: () => void;
115
150
  };
151
+ export interface NodeViewRendererOptions {
152
+ stopEvent: ((props: {
153
+ event: Event;
154
+ }) => boolean) | null;
155
+ ignoreMutation: ((props: {
156
+ mutation: MutationRecord | {
157
+ type: 'selection';
158
+ target: Element;
159
+ };
160
+ }) => boolean) | null;
161
+ }
116
162
  export declare type NodeViewRendererProps = {
117
163
  editor: Editor;
118
164
  node: ProseMirrorNode;
119
165
  getPos: (() => number) | boolean;
120
- HTMLAttributes: {
121
- [key: string]: any;
122
- };
166
+ HTMLAttributes: Record<string, any>;
123
167
  decorations: Decoration[];
124
168
  extension: Node;
125
169
  };
126
- export declare type NodeViewRenderer = (props: NodeViewRendererProps) => (NodeView | {});
127
- export declare type UnionCommands = UnionToIntersection<ValuesOf<Pick<Commands, KeysWithTypeOf<Commands, {}>>>>;
170
+ export declare type NodeViewRenderer = (props: NodeViewRendererProps) => NodeView | {};
171
+ export declare type AnyCommands = Record<string, (...args: any[]) => Command>;
172
+ export declare type UnionCommands<T = Command> = UnionToIntersection<ValuesOf<Pick<Commands<T>, KeysWithTypeOf<Commands<T>, {}>>>>;
128
173
  export declare type RawCommands = {
129
- [Item in keyof UnionCommands]: UnionCommands[Item] extends (...args: any[]) => any ? (...args: Parameters<UnionCommands[Item]>) => Command : never;
174
+ [Item in keyof UnionCommands]: UnionCommands<Command>[Item];
130
175
  };
131
176
  export declare type SingleCommands = {
132
- [Item in keyof RawCommands]: RawCommands[Item] extends (...args: any[]) => any ? (...args: Parameters<RawCommands[Item]>) => boolean : never;
177
+ [Item in keyof UnionCommands]: UnionCommands<boolean>[Item];
133
178
  };
134
179
  export declare type ChainedCommands = {
135
- [Item in keyof RawCommands]: RawCommands[Item] extends (...args: any[]) => any ? (...args: Parameters<RawCommands[Item]>) => ChainedCommands : never;
180
+ [Item in keyof UnionCommands]: UnionCommands<ChainedCommands>[Item];
136
181
  } & {
137
182
  run: () => boolean;
138
183
  };
139
184
  export declare type CanCommands = SingleCommands & {
140
185
  chain: () => ChainedCommands;
141
186
  };
142
- export declare type FocusPosition = 'start' | 'end' | number | boolean | null;
187
+ export declare type FocusPosition = 'start' | 'end' | 'all' | number | boolean | null;
143
188
  export declare type Range = {
144
189
  from: number;
145
190
  to: number;
@@ -155,3 +200,18 @@ export declare type MarkRange = {
155
200
  to: number;
156
201
  };
157
202
  export declare type Predicate = (node: ProseMirrorNode) => boolean;
203
+ export declare type NodeWithPos = {
204
+ node: ProseMirrorNode;
205
+ pos: number;
206
+ };
207
+ export declare type TextSerializer = (props: {
208
+ node: ProseMirrorNode;
209
+ pos: number;
210
+ parent: ProseMirrorNode;
211
+ index: number;
212
+ range: Range;
213
+ }) => string;
214
+ export declare type ExtendedRegExpMatchArray = RegExpMatchArray & {
215
+ data?: Record<string, any>;
216
+ };
217
+ export declare type Dispatch = ((args?: any) => any) | undefined;
@@ -1,3 +1,4 @@
1
+ import { MaybeReturnType } from '../types';
1
2
  /**
2
3
  * Optionally calls `value` as a function.
3
4
  * Otherwise it is returned directly.
@@ -5,4 +6,4 @@
5
6
  * @param context Optional context to bind to function.
6
7
  * @param props Optional props to pass to function.
7
8
  */
8
- export default function callOrReturn(value: any, context?: any, ...props: any[]): any;
9
+ export declare function callOrReturn<T>(value: T, context?: any, ...props: any[]): MaybeReturnType<T>;
@@ -1 +1 @@
1
- export default function createStyleTag(style: string): HTMLStyleElement;
1
+ export declare function createStyleTag(style: string, nonce?: string): HTMLStyleElement;
@@ -1,7 +1,6 @@
1
- import { AnyObject } from '../types';
2
1
  /**
3
2
  * Remove a property or an array of properties from an object
4
3
  * @param obj Object
5
4
  * @param key Key to remove
6
5
  */
7
- export default function deleteProps(obj: AnyObject, propOrProps: string | string[]): AnyObject;
6
+ export declare function deleteProps(obj: Record<string, any>, propOrProps: string | string[]): Record<string, any>;
@@ -1 +1 @@
1
- export default function elementFromString(value: string): HTMLElement;
1
+ export declare function elementFromString(value: string): HTMLElement;
@@ -0,0 +1 @@
1
+ export declare function escapeForRegEx(string: string): string;
@@ -0,0 +1 @@
1
+ export declare function findDuplicates(items: any[]): any[];
@@ -1 +1 @@
1
- export default function fromString(value: any): any;
1
+ export declare function fromString(value: any): any;
@@ -0,0 +1,20 @@
1
+ export * from './callOrReturn';
2
+ export * from './createStyleTag';
3
+ export * from './deleteProps';
4
+ export * from './elementFromString';
5
+ export * from './escapeForRegEx';
6
+ export * from './findDuplicates';
7
+ export * from './fromString';
8
+ export * from './isEmptyObject';
9
+ export * from './isFunction';
10
+ export * from './isiOS';
11
+ export * from './isMacOS';
12
+ export * from './isNumber';
13
+ export * from './isPlainObject';
14
+ export * from './isRegExp';
15
+ export * from './isString';
16
+ export * from './mergeAttributes';
17
+ export * from './mergeDeep';
18
+ export * from './minMax';
19
+ export * from './objectIncludes';
20
+ export * from './removeDuplicates';
@@ -1 +1 @@
1
- export default function isEmptyObject(object?: {}): boolean;
1
+ export declare function isEmptyObject(value?: {}): boolean;
@@ -0,0 +1 @@
1
+ export declare function isFunction(value: any): value is Function;
@@ -0,0 +1 @@
1
+ export declare function isMacOS(): boolean;
@@ -0,0 +1 @@
1
+ export declare function isNumber(value: any): value is number;
@@ -1 +1 @@
1
- export default function isPlainObject(payload: any): payload is Record<string, any>;
1
+ export declare function isPlainObject(value: any): value is Record<string, any>;
@@ -0,0 +1 @@
1
+ export declare function isRegExp(value: any): value is RegExp;
@@ -0,0 +1 @@
1
+ export declare function isString(value: any): value is string;
@@ -0,0 +1 @@
1
+ export declare function isiOS(): boolean;
@@ -1,2 +1 @@
1
- import { AnyObject } from '../types';
2
- export default function mergeAttributes(...objects: AnyObject[]): AnyObject;
1
+ export declare function mergeAttributes(...objects: Record<string, any>[]): Record<string, any>;
@@ -1,2 +1 @@
1
- import { AnyObject } from '../types';
2
- export default function mergeDeep(target: AnyObject, source: AnyObject): AnyObject;
1
+ export declare function mergeDeep(target: Record<string, any>, source: Record<string, any>): Record<string, any>;
@@ -1 +1 @@
1
- export default function minMax(value?: number, min?: number, max?: number): number;
1
+ export declare function minMax(value?: number, min?: number, max?: number): number;
@@ -1,7 +1,8 @@
1
- import { AnyObject } from '../types';
2
1
  /**
3
2
  * Check if object1 includes object2
4
3
  * @param object1 Object
5
4
  * @param object2 Object
6
5
  */
7
- export default function objectIncludes(object1: AnyObject, object2: AnyObject): boolean;
6
+ export declare function objectIncludes(object1: Record<string, any>, object2: Record<string, any>, options?: {
7
+ strict: boolean;
8
+ }): boolean;