@tiptap/core 2.0.0-beta.18 → 2.0.0-beta.180

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 (331) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +2 -2
  3. package/dist/packages/core/src/CommandManager.d.ts +13 -6
  4. package/dist/packages/core/src/Editor.d.ts +24 -19
  5. package/dist/packages/core/src/EventEmitter.d.ts +8 -4
  6. package/dist/packages/core/src/Extension.d.ts +99 -27
  7. package/dist/packages/core/src/ExtensionManager.d.ts +7 -13
  8. package/dist/packages/core/src/InputRule.d.ts +42 -0
  9. package/dist/packages/core/src/Mark.d.ts +131 -31
  10. package/dist/packages/core/src/Node.d.ts +157 -33
  11. package/dist/packages/core/src/NodeView.d.ts +8 -12
  12. package/dist/packages/core/src/PasteRule.d.ts +42 -0
  13. package/dist/packages/core/src/Tracker.d.ts +11 -0
  14. package/dist/packages/core/src/commands/blur.d.ts +3 -3
  15. package/dist/packages/core/src/commands/clearContent.d.ts +3 -3
  16. package/dist/packages/core/src/commands/clearNodes.d.ts +3 -3
  17. package/dist/packages/core/src/commands/command.d.ts +2 -2
  18. package/dist/packages/core/src/commands/createParagraphNear.d.ts +3 -3
  19. package/dist/packages/core/src/commands/deleteNode.d.ts +13 -0
  20. package/dist/packages/core/src/commands/deleteRange.d.ts +3 -3
  21. package/dist/packages/core/src/commands/deleteSelection.d.ts +3 -3
  22. package/dist/packages/core/src/commands/enter.d.ts +3 -3
  23. package/dist/packages/core/src/commands/exitCode.d.ts +3 -3
  24. package/dist/packages/core/src/commands/extendMarkRange.d.ts +3 -3
  25. package/dist/packages/core/src/commands/first.d.ts +3 -3
  26. package/dist/packages/core/src/commands/focus.d.ts +5 -3
  27. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  28. package/dist/packages/core/src/commands/index.d.ts +50 -0
  29. package/dist/packages/core/src/commands/insertContent.d.ts +7 -3
  30. package/dist/packages/core/src/commands/insertContentAt.d.ts +16 -0
  31. package/dist/packages/core/src/commands/joinBackward.d.ts +3 -3
  32. package/dist/packages/core/src/commands/joinForward.d.ts +3 -3
  33. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +3 -3
  34. package/dist/packages/core/src/commands/lift.d.ts +3 -3
  35. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +3 -3
  36. package/dist/packages/core/src/commands/liftListItem.d.ts +3 -3
  37. package/dist/packages/core/src/commands/newlineInCode.d.ts +3 -3
  38. package/dist/packages/core/src/commands/resetAttributes.d.ts +13 -0
  39. package/dist/packages/core/src/commands/scrollIntoView.d.ts +3 -3
  40. package/dist/packages/core/src/commands/selectAll.d.ts +3 -3
  41. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +3 -3
  42. package/dist/packages/core/src/commands/selectNodeForward.d.ts +3 -3
  43. package/dist/packages/core/src/commands/selectParentNode.d.ts +3 -3
  44. package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +12 -0
  45. package/dist/packages/core/src/commands/selectTextblockStart.d.ts +12 -0
  46. package/dist/packages/core/src/commands/setContent.d.ts +4 -3
  47. package/dist/packages/core/src/commands/setMark.d.ts +3 -3
  48. package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
  49. package/dist/packages/core/src/commands/setNode.d.ts +3 -3
  50. package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
  51. package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
  52. package/dist/packages/core/src/commands/sinkListItem.d.ts +3 -3
  53. package/dist/packages/core/src/commands/splitBlock.d.ts +3 -3
  54. package/dist/packages/core/src/commands/splitListItem.d.ts +3 -3
  55. package/dist/packages/core/src/commands/toggleList.d.ts +3 -3
  56. package/dist/packages/core/src/commands/toggleMark.d.ts +8 -3
  57. package/dist/packages/core/src/commands/toggleNode.d.ts +3 -3
  58. package/dist/packages/core/src/commands/toggleWrap.d.ts +3 -3
  59. package/dist/packages/core/src/commands/undoInputRule.d.ts +3 -3
  60. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +3 -3
  61. package/dist/packages/core/src/commands/unsetMark.d.ts +8 -3
  62. package/dist/packages/core/src/commands/updateAttributes.d.ts +13 -0
  63. package/dist/packages/core/src/commands/wrapIn.d.ts +3 -3
  64. package/dist/packages/core/src/commands/wrapInList.d.ts +3 -3
  65. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +1 -1
  66. package/dist/packages/core/src/extensions/commands.d.ts +2 -95
  67. package/dist/packages/core/src/extensions/editable.d.ts +1 -1
  68. package/dist/packages/core/src/extensions/focusEvents.d.ts +1 -1
  69. package/dist/packages/core/src/extensions/index.d.ts +1 -0
  70. package/dist/packages/core/src/extensions/keymap.d.ts +1 -1
  71. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  72. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +7 -0
  73. package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
  74. package/dist/packages/core/src/helpers/createDocument.d.ts +3 -4
  75. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +4 -5
  76. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +2 -0
  77. package/dist/packages/core/src/helpers/findChildren.d.ts +3 -0
  78. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
  79. package/dist/packages/core/src/helpers/findParentNode.d.ts +2 -3
  80. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +2 -2
  81. package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -2
  82. package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
  83. package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
  84. package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
  85. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +2 -2
  86. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  87. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  88. package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
  89. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -2
  90. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +2 -3
  91. package/dist/packages/core/src/helpers/getMarkRange.d.ts +1 -1
  92. package/dist/packages/core/src/helpers/getMarkType.d.ts +1 -1
  93. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +2 -2
  94. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +2 -3
  95. package/dist/packages/core/src/helpers/getNodeType.d.ts +1 -1
  96. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -3
  97. package/dist/packages/core/src/helpers/getSchema.d.ts +1 -1
  98. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
  99. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +1 -1
  100. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +1 -1
  101. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -2
  102. package/dist/packages/core/src/helpers/getText.d.ts +6 -0
  103. package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
  104. package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +2 -0
  105. package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +3 -0
  106. package/dist/packages/core/src/helpers/index.d.ts +33 -0
  107. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +1 -1
  108. package/dist/packages/core/src/helpers/isActive.d.ts +1 -2
  109. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  110. package/dist/packages/core/src/helpers/isList.d.ts +1 -1
  111. package/dist/packages/core/src/helpers/isMarkActive.d.ts +2 -3
  112. package/dist/packages/core/src/helpers/isNodeActive.d.ts +2 -3
  113. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +1 -1
  114. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +1 -1
  115. package/dist/packages/core/src/helpers/isTextSelection.d.ts +1 -1
  116. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  117. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  118. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +1 -1
  119. package/dist/packages/core/src/helpers/splitExtensions.d.ts +6 -6
  120. package/dist/packages/core/src/index.d.ts +14 -21
  121. package/dist/packages/core/src/inputRules/index.d.ts +5 -0
  122. package/dist/packages/core/src/inputRules/markInputRule.d.ts +11 -2
  123. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +11 -2
  124. package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
  125. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
  126. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +23 -0
  127. package/dist/packages/core/src/pasteRules/index.d.ts +2 -0
  128. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +11 -2
  129. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +9 -0
  130. package/dist/packages/core/src/style.d.ts +1 -2
  131. package/dist/packages/core/src/types.d.ts +112 -56
  132. package/dist/packages/core/src/utilities/callOrReturn.d.ts +2 -1
  133. package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -1
  134. package/dist/packages/core/src/utilities/deleteProps.d.ts +1 -2
  135. package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -1
  136. package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +1 -0
  137. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  138. package/dist/packages/core/src/utilities/fromString.d.ts +1 -1
  139. package/dist/packages/core/src/utilities/index.d.ts +3 -0
  140. package/dist/packages/core/src/utilities/isClass.d.ts +1 -1
  141. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -1
  142. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  143. package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
  144. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  145. package/dist/packages/core/src/utilities/isObject.d.ts +1 -1
  146. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -1
  147. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  148. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  149. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -2
  150. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -2
  151. package/dist/packages/core/src/utilities/minMax.d.ts +1 -1
  152. package/dist/packages/core/src/utilities/objectIncludes.d.ts +3 -2
  153. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  154. package/dist/tiptap-core.cjs.js +2675 -1378
  155. package/dist/tiptap-core.cjs.js.map +1 -1
  156. package/dist/tiptap-core.esm.js +2605 -1341
  157. package/dist/tiptap-core.esm.js.map +1 -1
  158. package/dist/tiptap-core.umd.js +2622 -1324
  159. package/dist/tiptap-core.umd.js.map +1 -1
  160. package/package.json +17 -20
  161. package/src/CommandManager.ts +63 -64
  162. package/src/Editor.ts +115 -78
  163. package/src/EventEmitter.ts +14 -4
  164. package/src/Extension.ts +193 -43
  165. package/src/ExtensionManager.ts +232 -83
  166. package/src/InputRule.ts +265 -0
  167. package/src/Mark.ts +239 -49
  168. package/src/Node.ts +279 -57
  169. package/src/NodeView.ts +115 -47
  170. package/src/PasteRule.ts +247 -0
  171. package/src/Tracker.ts +42 -0
  172. package/src/commands/blur.ts +12 -6
  173. package/src/commands/clearContent.ts +3 -3
  174. package/src/commands/clearNodes.ts +30 -18
  175. package/src/commands/command.ts +2 -2
  176. package/src/commands/createParagraphNear.ts +4 -3
  177. package/src/commands/deleteNode.ts +37 -0
  178. package/src/commands/deleteRange.ts +3 -3
  179. package/src/commands/deleteSelection.ts +4 -3
  180. package/src/commands/enter.ts +3 -3
  181. package/src/commands/exitCode.ts +4 -3
  182. package/src/commands/extendMarkRange.ts +12 -11
  183. package/src/commands/first.ts +3 -3
  184. package/src/commands/focus.ts +45 -44
  185. package/src/commands/forEach.ts +24 -0
  186. package/src/commands/index.ts +50 -0
  187. package/src/commands/insertContent.ts +13 -24
  188. package/src/commands/insertContentAt.ts +108 -0
  189. package/src/commands/joinBackward.ts +4 -3
  190. package/src/commands/joinForward.ts +4 -3
  191. package/src/commands/keyboardShortcut.ts +6 -6
  192. package/src/commands/lift.ts +6 -5
  193. package/src/commands/liftEmptyBlock.ts +4 -3
  194. package/src/commands/liftListItem.ts +6 -5
  195. package/src/commands/newlineInCode.ts +4 -3
  196. package/src/commands/resetAttributes.ts +62 -0
  197. package/src/commands/scrollIntoView.ts +3 -3
  198. package/src/commands/selectAll.ts +8 -6
  199. package/src/commands/selectNodeBackward.ts +4 -3
  200. package/src/commands/selectNodeForward.ts +4 -3
  201. package/src/commands/selectParentNode.ts +4 -3
  202. package/src/commands/selectTextblockEnd.ts +20 -0
  203. package/src/commands/selectTextblockStart.ts +20 -0
  204. package/src/commands/setContent.ts +8 -11
  205. package/src/commands/setMark.ts +36 -12
  206. package/src/commands/setMeta.ts +18 -0
  207. package/src/commands/setNode.ts +29 -7
  208. package/src/commands/setNodeSelection.ts +29 -0
  209. package/src/commands/setTextSelection.ts +33 -0
  210. package/src/commands/sinkListItem.ts +6 -5
  211. package/src/commands/splitBlock.ts +16 -10
  212. package/src/commands/splitListItem.ts +45 -18
  213. package/src/commands/toggleList.ts +83 -18
  214. package/src/commands/toggleMark.ts +18 -7
  215. package/src/commands/toggleNode.ts +6 -5
  216. package/src/commands/toggleWrap.ts +9 -9
  217. package/src/commands/undoInputRule.ts +34 -5
  218. package/src/commands/unsetAllMarks.ts +7 -11
  219. package/src/commands/unsetMark.ts +35 -22
  220. package/src/commands/updateAttributes.ts +73 -0
  221. package/src/commands/wrapIn.ts +5 -10
  222. package/src/commands/wrapInList.ts +6 -5
  223. package/src/extensions/clipboardTextSerializer.ts +14 -35
  224. package/src/extensions/commands.ts +3 -141
  225. package/src/extensions/editable.ts +1 -0
  226. package/src/extensions/focusEvents.ts +1 -3
  227. package/src/extensions/index.ts +1 -0
  228. package/src/extensions/keymap.ts +110 -13
  229. package/src/extensions/tabindex.ts +18 -0
  230. package/src/helpers/combineTransactionSteps.ts +18 -0
  231. package/src/helpers/createChainableState.ts +38 -0
  232. package/src/helpers/createDocument.ts +5 -6
  233. package/src/helpers/createNodeFromContent.ts +17 -19
  234. package/src/helpers/defaultBlockAt.ts +13 -0
  235. package/src/helpers/findChildren.ts +18 -0
  236. package/src/helpers/findChildrenInRange.ts +32 -0
  237. package/src/helpers/findParentNode.ts +3 -2
  238. package/src/helpers/findParentNodeClosestToPos.ts +3 -2
  239. package/src/helpers/generateHTML.ts +6 -5
  240. package/src/helpers/generateJSON.ts +14 -0
  241. package/src/helpers/generateText.ts +30 -0
  242. package/src/helpers/getAttributes.ts +28 -0
  243. package/src/helpers/getAttributesFromExtensions.ts +42 -14
  244. package/src/helpers/getChangedRanges.ts +83 -0
  245. package/src/helpers/getDebugJSON.ts +54 -0
  246. package/src/helpers/getExtensionField.ts +25 -0
  247. package/src/helpers/getHTMLFromFragment.ts +6 -5
  248. package/src/helpers/getMarkAttributes.ts +14 -10
  249. package/src/helpers/getMarkRange.ts +41 -8
  250. package/src/helpers/getMarkType.ts +5 -1
  251. package/src/helpers/getMarksBetween.ts +32 -10
  252. package/src/helpers/getNodeAttributes.ts +9 -9
  253. package/src/helpers/getNodeType.ts +5 -1
  254. package/src/helpers/getRenderedAttributes.ts +6 -7
  255. package/src/helpers/getSchema.ts +7 -133
  256. package/src/helpers/getSchemaByResolvedExtensions.ts +148 -0
  257. package/src/helpers/getSchemaTypeByName.ts +2 -10
  258. package/src/helpers/getSchemaTypeNameByName.ts +1 -1
  259. package/src/helpers/getSplittedAttributes.ts +4 -4
  260. package/src/helpers/getText.ts +19 -0
  261. package/src/helpers/getTextBetween.ts +49 -0
  262. package/src/helpers/getTextContentFromNodes.ts +17 -0
  263. package/src/helpers/getTextSerializersFromSchema.ts +10 -0
  264. package/src/helpers/index.ts +33 -0
  265. package/src/helpers/injectExtensionAttributesToParseRule.ts +17 -19
  266. package/src/helpers/isActive.ts +5 -5
  267. package/src/helpers/isExtensionRulesEnabled.ts +15 -0
  268. package/src/helpers/isList.ts +14 -7
  269. package/src/helpers/isMarkActive.ts +45 -20
  270. package/src/helpers/isNodeActive.ts +28 -35
  271. package/src/helpers/isNodeEmpty.ts +1 -1
  272. package/src/helpers/isNodeSelection.ts +3 -2
  273. package/src/helpers/isTextSelection.ts +3 -2
  274. package/src/helpers/posToDOMRect.ts +35 -0
  275. package/src/helpers/resolveFocusPosition.ts +43 -0
  276. package/src/helpers/selectionToInsertionEnd.ts +2 -2
  277. package/src/helpers/splitExtensions.ts +3 -3
  278. package/src/index.ts +15 -24
  279. package/src/inputRules/index.ts +5 -0
  280. package/src/inputRules/markInputRule.ts +59 -39
  281. package/src/inputRules/nodeInputRule.ts +45 -11
  282. package/src/inputRules/textInputRule.ts +35 -0
  283. package/src/inputRules/textblockTypeInputRule.ts +38 -0
  284. package/src/inputRules/wrappingInputRule.ts +60 -0
  285. package/src/pasteRules/index.ts +2 -0
  286. package/src/pasteRules/markPasteRule.ts +62 -53
  287. package/src/pasteRules/textPasteRule.ts +35 -0
  288. package/src/style.ts +16 -3
  289. package/src/types.ts +129 -43
  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 +3 -0
  298. package/src/utilities/isClass.ts +2 -2
  299. package/src/utilities/isEmptyObject.ts +2 -2
  300. package/src/utilities/isFunction.ts +3 -0
  301. package/src/utilities/isMacOS.ts +5 -0
  302. package/src/utilities/isNumber.ts +3 -0
  303. package/src/utilities/isObject.ts +6 -6
  304. package/src/utilities/isPlainObject.ts +8 -5
  305. package/src/utilities/isRegExp.ts +3 -0
  306. package/src/utilities/isString.ts +3 -0
  307. package/src/utilities/isiOS.ts +12 -0
  308. package/src/utilities/mergeAttributes.ts +2 -3
  309. package/src/utilities/mergeDeep.ts +2 -3
  310. package/src/utilities/minMax.ts +1 -1
  311. package/src/utilities/objectIncludes.ts +17 -5
  312. package/src/utilities/removeDuplicates.ts +15 -0
  313. package/CHANGELOG.md +0 -335
  314. package/dist/packages/core/src/commands/insertHTML.d.ts +0 -12
  315. package/dist/packages/core/src/commands/insertNode.d.ts +0 -13
  316. package/dist/packages/core/src/commands/insertText.d.ts +0 -12
  317. package/dist/packages/core/src/commands/replace.d.ts +0 -13
  318. package/dist/packages/core/src/commands/replaceRange.d.ts +0 -13
  319. package/dist/packages/core/src/commands/resetNodeAttributes.d.ts +0 -13
  320. package/dist/packages/core/src/commands/updateNodeAttributes.d.ts +0 -13
  321. package/dist/packages/core/src/utilities/removeElement.d.ts +0 -1
  322. package/dist/tiptap-core.bundle.umd.min.js +0 -17
  323. package/dist/tiptap-core.bundle.umd.min.js.map +0 -1
  324. package/src/commands/insertHTML.ts +0 -30
  325. package/src/commands/insertNode.ts +0 -33
  326. package/src/commands/insertText.ts +0 -22
  327. package/src/commands/replace.ts +0 -20
  328. package/src/commands/replaceRange.ts +0 -36
  329. package/src/commands/resetNodeAttributes.ts +0 -31
  330. package/src/commands/updateNodeAttributes.ts +0 -33
  331. package/src/utilities/removeElement.ts +0 -5
@@ -1,12 +1,13 @@
1
- import { DOMOutputSpec, MarkSpec, Mark as ProseMirrorMark, MarkType } from 'prosemirror-model';
1
+ import { DOMOutputSpec, Mark as ProseMirrorMark, MarkSpec, MarkType } from 'prosemirror-model';
2
2
  import { Plugin, Transaction } from 'prosemirror-state';
3
- import { Command as ProseMirrorCommand } from 'prosemirror-commands';
4
- import { InputRule } from 'prosemirror-inputrules';
5
- import { Attributes, RawCommands, GlobalAttributes } from './types';
6
3
  import { MarkConfig } from '.';
7
4
  import { Editor } from './Editor';
5
+ import { InputRule } from './InputRule';
6
+ import { Node } from './Node';
7
+ import { PasteRule } from './PasteRule';
8
+ import { Attributes, Extensions, GlobalAttributes, KeyboardShortcutCommand, ParentConfig, RawCommands } from './types';
8
9
  declare module '@tiptap/core' {
9
- interface MarkConfig<Options = any> {
10
+ interface MarkConfig<Options = any, Storage = any> {
10
11
  [key: string]: any;
11
12
  /**
12
13
  * Name
@@ -20,109 +21,168 @@ declare module '@tiptap/core' {
20
21
  * Default options
21
22
  */
22
23
  defaultOptions?: Options;
24
+ /**
25
+ * Default Options
26
+ */
27
+ addOptions?: (this: {
28
+ name: string;
29
+ parent: Exclude<ParentConfig<MarkConfig<Options, Storage>>['addOptions'], undefined>;
30
+ }) => Options;
31
+ /**
32
+ * Default Storage
33
+ */
34
+ addStorage?: (this: {
35
+ name: string;
36
+ options: Options;
37
+ parent: Exclude<ParentConfig<MarkConfig<Options, Storage>>['addStorage'], undefined>;
38
+ }) => Storage;
23
39
  /**
24
40
  * Global attributes
25
41
  */
26
42
  addGlobalAttributes?: (this: {
43
+ name: string;
27
44
  options: Options;
45
+ storage: Storage;
46
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addGlobalAttributes'];
28
47
  }) => GlobalAttributes | {};
29
48
  /**
30
49
  * Raw
31
50
  */
32
51
  addCommands?: (this: {
52
+ name: string;
33
53
  options: Options;
54
+ storage: Storage;
34
55
  editor: Editor;
35
56
  type: MarkType;
57
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addCommands'];
36
58
  }) => Partial<RawCommands>;
37
59
  /**
38
60
  * Keyboard shortcuts
39
61
  */
40
62
  addKeyboardShortcuts?: (this: {
63
+ name: string;
41
64
  options: Options;
65
+ storage: Storage;
42
66
  editor: Editor;
43
67
  type: MarkType;
68
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addKeyboardShortcuts'];
44
69
  }) => {
45
- [key: string]: ProseMirrorCommand;
70
+ [key: string]: KeyboardShortcutCommand;
46
71
  };
47
72
  /**
48
73
  * Input rules
49
74
  */
50
75
  addInputRules?: (this: {
76
+ name: string;
51
77
  options: Options;
78
+ storage: Storage;
52
79
  editor: Editor;
53
80
  type: MarkType;
81
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addInputRules'];
54
82
  }) => InputRule[];
55
83
  /**
56
84
  * Paste rules
57
85
  */
58
86
  addPasteRules?: (this: {
87
+ name: string;
59
88
  options: Options;
89
+ storage: Storage;
60
90
  editor: Editor;
61
91
  type: MarkType;
62
- }) => Plugin[];
92
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addPasteRules'];
93
+ }) => PasteRule[];
63
94
  /**
64
95
  * ProseMirror plugins
65
96
  */
66
97
  addProseMirrorPlugins?: (this: {
98
+ name: string;
67
99
  options: Options;
100
+ storage: Storage;
68
101
  editor: Editor;
69
102
  type: MarkType;
103
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addProseMirrorPlugins'];
70
104
  }) => Plugin[];
105
+ /**
106
+ * Extensions
107
+ */
108
+ addExtensions?: (this: {
109
+ name: string;
110
+ options: Options;
111
+ storage: Storage;
112
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addExtensions'];
113
+ }) => Extensions;
71
114
  /**
72
115
  * Extend Node Schema
73
116
  */
74
117
  extendNodeSchema?: ((this: {
118
+ name: string;
75
119
  options: Options;
76
- }, extension: Node) => {
77
- [key: string]: any;
78
- }) | null;
120
+ storage: Storage;
121
+ parent: ParentConfig<MarkConfig<Options, Storage>>['extendNodeSchema'];
122
+ }, extension: Node) => Record<string, any>) | null;
79
123
  /**
80
124
  * Extend Mark Schema
81
125
  */
82
126
  extendMarkSchema?: ((this: {
127
+ name: string;
83
128
  options: Options;
84
- }, extension: Node) => {
85
- [key: string]: any;
86
- }) | null;
129
+ storage: Storage;
130
+ parent: ParentConfig<MarkConfig<Options, Storage>>['extendMarkSchema'];
131
+ }, extension: Mark) => Record<string, any>) | null;
87
132
  /**
88
- * The editor is ready.
133
+ * The editor is not ready yet.
89
134
  */
90
- onCreate?: ((this: {
135
+ onBeforeCreate?: ((this: {
136
+ name: string;
91
137
  options: Options;
138
+ storage: Storage;
92
139
  editor: Editor;
93
140
  type: MarkType;
141
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onBeforeCreate'];
94
142
  }) => void) | null;
95
143
  /**
96
- * The content has changed.
144
+ * The editor is ready.
97
145
  */
98
- onUpdate?: ((this: {
146
+ onCreate?: ((this: {
147
+ name: string;
99
148
  options: Options;
149
+ storage: Storage;
100
150
  editor: Editor;
101
151
  type: MarkType;
152
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onCreate'];
102
153
  }) => void) | null;
103
154
  /**
104
- * The selection has changed.
155
+ * The content has changed.
105
156
  */
106
- onSelectionUpdate?: ((this: {
157
+ onUpdate?: ((this: {
158
+ name: string;
107
159
  options: Options;
160
+ storage: Storage;
108
161
  editor: Editor;
109
162
  type: MarkType;
163
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onUpdate'];
110
164
  }) => void) | null;
111
165
  /**
112
- * The view has changed.
166
+ * The selection has changed.
113
167
  */
114
- onViewUpdate?: ((this: {
168
+ onSelectionUpdate?: ((this: {
169
+ name: string;
115
170
  options: Options;
171
+ storage: Storage;
116
172
  editor: Editor;
117
173
  type: MarkType;
174
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onSelectionUpdate'];
118
175
  }) => void) | null;
119
176
  /**
120
177
  * The editor state has changed.
121
178
  */
122
179
  onTransaction?: ((this: {
180
+ name: string;
123
181
  options: Options;
182
+ storage: Storage;
124
183
  editor: Editor;
125
184
  type: MarkType;
185
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onTransaction'];
126
186
  }, props: {
127
187
  transaction: Transaction;
128
188
  }) => void) | null;
@@ -130,9 +190,12 @@ declare module '@tiptap/core' {
130
190
  * The editor is focused.
131
191
  */
132
192
  onFocus?: ((this: {
193
+ name: string;
133
194
  options: Options;
195
+ storage: Storage;
134
196
  editor: Editor;
135
197
  type: MarkType;
198
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onFocus'];
136
199
  }, props: {
137
200
  event: FocusEvent;
138
201
  }) => void) | null;
@@ -140,9 +203,12 @@ declare module '@tiptap/core' {
140
203
  * The editor isn’t focused anymore.
141
204
  */
142
205
  onBlur?: ((this: {
206
+ name: string;
143
207
  options: Options;
208
+ storage: Storage;
144
209
  editor: Editor;
145
210
  type: MarkType;
211
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onBlur'];
146
212
  }, props: {
147
213
  event: FocusEvent;
148
214
  }) => void) | null;
@@ -150,9 +216,12 @@ declare module '@tiptap/core' {
150
216
  * The editor is destroyed.
151
217
  */
152
218
  onDestroy?: ((this: {
219
+ name: string;
153
220
  options: Options;
221
+ storage: Storage;
154
222
  editor: Editor;
155
223
  type: MarkType;
224
+ parent: ParentConfig<MarkConfig<Options, Storage>>['onDestroy'];
156
225
  }) => void) | null;
157
226
  /**
158
227
  * Keep mark after split node
@@ -162,58 +231,89 @@ declare module '@tiptap/core' {
162
231
  * Inclusive
163
232
  */
164
233
  inclusive?: MarkSpec['inclusive'] | ((this: {
234
+ name: string;
165
235
  options: Options;
236
+ storage: Storage;
237
+ parent: ParentConfig<MarkConfig<Options, Storage>>['inclusive'];
166
238
  }) => MarkSpec['inclusive']);
167
239
  /**
168
240
  * Excludes
169
241
  */
170
242
  excludes?: MarkSpec['excludes'] | ((this: {
243
+ name: string;
171
244
  options: Options;
245
+ storage: Storage;
246
+ parent: ParentConfig<MarkConfig<Options, Storage>>['excludes'];
172
247
  }) => MarkSpec['excludes']);
173
248
  /**
174
249
  * Group
175
250
  */
176
251
  group?: MarkSpec['group'] | ((this: {
252
+ name: string;
177
253
  options: Options;
254
+ storage: Storage;
255
+ parent: ParentConfig<MarkConfig<Options, Storage>>['group'];
178
256
  }) => MarkSpec['group']);
179
257
  /**
180
258
  * Spanning
181
259
  */
182
260
  spanning?: MarkSpec['spanning'] | ((this: {
261
+ name: string;
183
262
  options: Options;
263
+ storage: Storage;
264
+ parent: ParentConfig<MarkConfig<Options, Storage>>['spanning'];
184
265
  }) => MarkSpec['spanning']);
266
+ /**
267
+ * Code
268
+ */
269
+ code?: boolean | ((this: {
270
+ name: string;
271
+ options: Options;
272
+ storage: Storage;
273
+ parent: ParentConfig<MarkConfig<Options, Storage>>['code'];
274
+ }) => boolean);
185
275
  /**
186
276
  * Parse HTML
187
277
  */
188
278
  parseHTML?: (this: {
279
+ name: string;
189
280
  options: Options;
281
+ storage: Storage;
282
+ parent: ParentConfig<MarkConfig<Options, Storage>>['parseHTML'];
190
283
  }) => MarkSpec['parseDOM'];
191
284
  /**
192
285
  * Render HTML
193
286
  */
194
287
  renderHTML?: ((this: {
288
+ name: string;
195
289
  options: Options;
290
+ storage: Storage;
291
+ parent: ParentConfig<MarkConfig<Options, Storage>>['renderHTML'];
196
292
  }, props: {
197
293
  mark: ProseMirrorMark;
198
- HTMLAttributes: {
199
- [key: string]: any;
200
- };
294
+ HTMLAttributes: Record<string, any>;
201
295
  }) => DOMOutputSpec) | null;
202
296
  /**
203
297
  * Attributes
204
298
  */
205
299
  addAttributes?: (this: {
300
+ name: string;
206
301
  options: Options;
302
+ storage: Storage;
303
+ parent: ParentConfig<MarkConfig<Options, Storage>>['addAttributes'];
207
304
  }) => Attributes | {};
208
305
  }
209
306
  }
210
- export declare class Mark<Options = any> {
211
- #private;
307
+ export declare class Mark<Options = any, Storage = any> {
212
308
  type: string;
213
- config: MarkConfig;
309
+ name: string;
310
+ parent: Mark | null;
311
+ child: Mark | null;
214
312
  options: Options;
215
- constructor(config: MarkConfig<Options>);
216
- static create<O>(config: MarkConfig<O>): Mark<O>;
217
- configure(options?: Partial<Options>): Mark<Options>;
218
- extend<ExtendedOptions = Options>(extendedConfig: Partial<MarkConfig<ExtendedOptions>>): Mark<ExtendedOptions>;
313
+ storage: Storage;
314
+ config: MarkConfig;
315
+ constructor(config?: Partial<MarkConfig<Options, Storage>>);
316
+ static create<O = any, S = any>(config?: Partial<MarkConfig<O, S>>): Mark<O, S>;
317
+ configure(options?: Partial<Options>): Mark<Options, Storage>;
318
+ extend<ExtendedOptions = Options, ExtendedStorage = Storage>(extendedConfig?: Partial<MarkConfig<ExtendedOptions, ExtendedStorage>>): Mark<ExtendedOptions, ExtendedStorage>;
219
319
  }