@tiptap/core 2.0.0-beta.2 → 2.0.0-beta.200

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/README.md +2 -2
  2. package/dist/packages/core/src/CommandManager.d.ts +13 -6
  3. package/dist/packages/core/src/Editor.d.ts +27 -25
  4. package/dist/packages/core/src/EventEmitter.d.ts +8 -4
  5. package/dist/packages/core/src/Extension.d.ts +103 -26
  6. package/dist/packages/core/src/ExtensionManager.d.ts +8 -12
  7. package/dist/packages/core/src/InputRule.d.ts +42 -0
  8. package/dist/packages/core/src/Mark.d.ts +148 -31
  9. package/dist/packages/core/src/Node.d.ts +162 -33
  10. package/dist/packages/core/src/NodeView.d.ts +27 -0
  11. package/dist/packages/core/src/PasteRule.d.ts +42 -0
  12. package/dist/packages/core/src/Tracker.d.ts +11 -0
  13. package/dist/packages/core/src/commands/blur.d.ts +3 -3
  14. package/dist/packages/core/src/commands/clearContent.d.ts +3 -3
  15. package/dist/packages/core/src/commands/clearNodes.d.ts +3 -3
  16. package/dist/packages/core/src/commands/command.d.ts +2 -2
  17. package/dist/packages/core/src/commands/createParagraphNear.d.ts +3 -3
  18. package/dist/packages/core/src/commands/deleteNode.d.ts +13 -0
  19. package/dist/packages/core/src/commands/deleteRange.d.ts +3 -3
  20. package/dist/packages/core/src/commands/deleteSelection.d.ts +3 -3
  21. package/dist/packages/core/src/commands/enter.d.ts +3 -3
  22. package/dist/packages/core/src/commands/exitCode.d.ts +3 -3
  23. package/dist/packages/core/src/commands/extendMarkRange.d.ts +3 -3
  24. package/dist/packages/core/src/commands/first.d.ts +3 -3
  25. package/dist/packages/core/src/commands/focus.d.ts +5 -3
  26. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  27. package/dist/packages/core/src/commands/index.d.ts +50 -0
  28. package/dist/packages/core/src/commands/insertContent.d.ts +16 -0
  29. package/dist/packages/core/src/commands/insertContentAt.d.ts +16 -0
  30. package/dist/packages/core/src/commands/joinBackward.d.ts +3 -3
  31. package/dist/packages/core/src/commands/joinForward.d.ts +3 -3
  32. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +3 -3
  33. package/dist/packages/core/src/commands/lift.d.ts +3 -3
  34. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +3 -3
  35. package/dist/packages/core/src/commands/liftListItem.d.ts +3 -3
  36. package/dist/packages/core/src/commands/newlineInCode.d.ts +3 -3
  37. package/dist/packages/core/src/commands/resetAttributes.d.ts +13 -0
  38. package/dist/packages/core/src/commands/scrollIntoView.d.ts +3 -3
  39. package/dist/packages/core/src/commands/selectAll.d.ts +3 -3
  40. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +3 -3
  41. package/dist/packages/core/src/commands/selectNodeForward.d.ts +3 -3
  42. package/dist/packages/core/src/commands/selectParentNode.d.ts +3 -3
  43. package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +12 -0
  44. package/dist/packages/core/src/commands/selectTextblockStart.d.ts +12 -0
  45. package/dist/packages/core/src/commands/setContent.d.ts +4 -3
  46. package/dist/packages/core/src/commands/setMark.d.ts +3 -3
  47. package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
  48. package/dist/packages/core/src/commands/setNode.d.ts +3 -3
  49. package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
  50. package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
  51. package/dist/packages/core/src/commands/sinkListItem.d.ts +3 -3
  52. package/dist/packages/core/src/commands/splitBlock.d.ts +3 -3
  53. package/dist/packages/core/src/commands/splitListItem.d.ts +3 -3
  54. package/dist/packages/core/src/commands/toggleList.d.ts +3 -3
  55. package/dist/packages/core/src/commands/toggleMark.d.ts +8 -3
  56. package/dist/packages/core/src/commands/toggleNode.d.ts +3 -3
  57. package/dist/packages/core/src/commands/toggleWrap.d.ts +3 -3
  58. package/dist/packages/core/src/commands/undoInputRule.d.ts +3 -3
  59. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +3 -3
  60. package/dist/packages/core/src/commands/unsetMark.d.ts +8 -3
  61. package/dist/packages/core/src/commands/updateAttributes.d.ts +13 -0
  62. package/dist/packages/core/src/commands/wrapIn.d.ts +3 -3
  63. package/dist/packages/core/src/commands/wrapInList.d.ts +3 -3
  64. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +1 -1
  65. package/dist/packages/core/src/extensions/commands.d.ts +2 -91
  66. package/dist/packages/core/src/extensions/editable.d.ts +1 -1
  67. package/dist/packages/core/src/extensions/focusEvents.d.ts +1 -1
  68. package/dist/packages/core/src/extensions/index.d.ts +1 -0
  69. package/dist/packages/core/src/extensions/keymap.d.ts +1 -1
  70. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  71. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +7 -0
  72. package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
  73. package/dist/packages/core/src/helpers/createDocument.d.ts +3 -0
  74. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +7 -0
  75. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +2 -0
  76. package/dist/packages/core/src/helpers/findChildren.d.ts +3 -0
  77. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
  78. package/dist/packages/core/src/helpers/findParentNode.d.ts +2 -3
  79. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +2 -2
  80. package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -2
  81. package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
  82. package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
  83. package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
  84. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +2 -2
  85. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  86. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  87. package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
  88. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -2
  89. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +2 -3
  90. package/dist/packages/core/src/helpers/getMarkRange.d.ts +1 -1
  91. package/dist/packages/core/src/helpers/getMarkType.d.ts +1 -1
  92. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +2 -2
  93. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +2 -3
  94. package/dist/packages/core/src/helpers/getNodeType.d.ts +1 -1
  95. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -3
  96. package/dist/packages/core/src/helpers/getSchema.d.ts +1 -1
  97. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
  98. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +1 -1
  99. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +1 -1
  100. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -2
  101. package/dist/packages/core/src/helpers/getText.d.ts +6 -0
  102. package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
  103. package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +2 -0
  104. package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +3 -0
  105. package/dist/packages/core/src/helpers/index.d.ts +33 -0
  106. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +1 -1
  107. package/dist/packages/core/src/helpers/isActive.d.ts +1 -2
  108. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  109. package/dist/packages/core/src/helpers/isList.d.ts +1 -1
  110. package/dist/packages/core/src/helpers/isMarkActive.d.ts +2 -3
  111. package/dist/packages/core/src/helpers/isNodeActive.d.ts +2 -3
  112. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +2 -0
  113. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +1 -1
  114. package/dist/packages/core/src/helpers/isTextSelection.d.ts +1 -1
  115. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  116. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  117. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +1 -1
  118. package/dist/packages/core/src/helpers/splitExtensions.d.ts +6 -6
  119. package/dist/packages/core/src/index.d.ts +15 -20
  120. package/dist/packages/core/src/inputRules/index.d.ts +5 -0
  121. package/dist/packages/core/src/inputRules/markInputRule.d.ts +11 -2
  122. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +11 -2
  123. package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
  124. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
  125. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +23 -0
  126. package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
  127. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +11 -2
  128. package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +12 -0
  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 +120 -53
  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/isEmptyObject.d.ts +1 -1
  141. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  142. package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
  143. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  144. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -1
  145. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  146. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  147. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -2
  148. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -2
  149. package/dist/packages/core/src/utilities/minMax.d.ts +1 -1
  150. package/dist/packages/core/src/utilities/objectIncludes.d.ts +3 -2
  151. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  152. package/dist/tiptap-core.cjs.js +2896 -1261
  153. package/dist/tiptap-core.cjs.js.map +1 -1
  154. package/dist/tiptap-core.esm.js +2889 -1290
  155. package/dist/tiptap-core.esm.js.map +1 -1
  156. package/dist/tiptap-core.umd.js +2899 -1263
  157. package/dist/tiptap-core.umd.js.map +1 -1
  158. package/package.json +16 -20
  159. package/src/CommandManager.ts +64 -65
  160. package/src/Editor.ts +133 -98
  161. package/src/EventEmitter.ts +14 -4
  162. package/src/Extension.ts +198 -41
  163. package/src/ExtensionManager.ts +263 -78
  164. package/src/InputRule.ts +265 -0
  165. package/src/Mark.ts +285 -49
  166. package/src/Node.ts +284 -56
  167. package/src/NodeView.ts +261 -0
  168. package/src/PasteRule.ts +280 -0
  169. package/src/Tracker.ts +42 -0
  170. package/src/commands/blur.ts +12 -6
  171. package/src/commands/clearContent.ts +3 -3
  172. package/src/commands/clearNodes.ts +32 -18
  173. package/src/commands/command.ts +2 -2
  174. package/src/commands/createParagraphNear.ts +4 -3
  175. package/src/commands/deleteNode.ts +37 -0
  176. package/src/commands/deleteRange.ts +3 -3
  177. package/src/commands/deleteSelection.ts +4 -3
  178. package/src/commands/enter.ts +3 -3
  179. package/src/commands/exitCode.ts +4 -3
  180. package/src/commands/extendMarkRange.ts +12 -11
  181. package/src/commands/first.ts +3 -3
  182. package/src/commands/focus.ts +47 -44
  183. package/src/commands/forEach.ts +24 -0
  184. package/src/commands/index.ts +50 -0
  185. package/src/commands/insertContent.ts +24 -0
  186. package/src/commands/insertContentAt.ts +108 -0
  187. package/src/commands/joinBackward.ts +4 -3
  188. package/src/commands/joinForward.ts +4 -3
  189. package/src/commands/keyboardShortcut.ts +6 -6
  190. package/src/commands/lift.ts +6 -5
  191. package/src/commands/liftEmptyBlock.ts +4 -3
  192. package/src/commands/liftListItem.ts +6 -5
  193. package/src/commands/newlineInCode.ts +4 -3
  194. package/src/commands/resetAttributes.ts +62 -0
  195. package/src/commands/scrollIntoView.ts +3 -3
  196. package/src/commands/selectAll.ts +8 -6
  197. package/src/commands/selectNodeBackward.ts +4 -3
  198. package/src/commands/selectNodeForward.ts +4 -3
  199. package/src/commands/selectParentNode.ts +4 -3
  200. package/src/commands/selectTextblockEnd.ts +20 -0
  201. package/src/commands/selectTextblockStart.ts +20 -0
  202. package/src/commands/setContent.ts +12 -9
  203. package/src/commands/setMark.ts +83 -15
  204. package/src/commands/setMeta.ts +18 -0
  205. package/src/commands/setNode.ts +29 -7
  206. package/src/commands/setNodeSelection.ts +27 -0
  207. package/src/commands/setTextSelection.ts +33 -0
  208. package/src/commands/sinkListItem.ts +6 -5
  209. package/src/commands/splitBlock.ts +20 -23
  210. package/src/commands/splitListItem.ts +45 -18
  211. package/src/commands/toggleList.ts +83 -18
  212. package/src/commands/toggleMark.ts +18 -7
  213. package/src/commands/toggleNode.ts +6 -5
  214. package/src/commands/toggleWrap.ts +9 -9
  215. package/src/commands/undoInputRule.ts +34 -5
  216. package/src/commands/unsetAllMarks.ts +8 -10
  217. package/src/commands/unsetMark.ts +31 -13
  218. package/src/commands/updateAttributes.ts +73 -0
  219. package/src/commands/wrapIn.ts +5 -10
  220. package/src/commands/wrapInList.ts +6 -5
  221. package/src/extensions/clipboardTextSerializer.ts +14 -35
  222. package/src/extensions/commands.ts +3 -135
  223. package/src/extensions/editable.ts +1 -0
  224. package/src/extensions/focusEvents.ts +3 -5
  225. package/src/extensions/index.ts +1 -0
  226. package/src/extensions/keymap.ts +110 -13
  227. package/src/extensions/tabindex.ts +18 -0
  228. package/src/helpers/combineTransactionSteps.ts +18 -0
  229. package/src/helpers/createChainableState.ts +38 -0
  230. package/src/helpers/createDocument.ts +12 -0
  231. package/src/helpers/createNodeFromContent.ts +57 -0
  232. package/src/helpers/defaultBlockAt.ts +13 -0
  233. package/src/helpers/findChildren.ts +18 -0
  234. package/src/helpers/findChildrenInRange.ts +32 -0
  235. package/src/helpers/findParentNode.ts +3 -2
  236. package/src/helpers/findParentNodeClosestToPos.ts +3 -2
  237. package/src/helpers/generateHTML.ts +6 -5
  238. package/src/helpers/generateJSON.ts +14 -0
  239. package/src/helpers/generateText.ts +30 -0
  240. package/src/helpers/getAttributes.ts +28 -0
  241. package/src/helpers/getAttributesFromExtensions.ts +42 -14
  242. package/src/helpers/getChangedRanges.ts +83 -0
  243. package/src/helpers/getDebugJSON.ts +54 -0
  244. package/src/helpers/getExtensionField.ts +25 -0
  245. package/src/helpers/getHTMLFromFragment.ts +6 -5
  246. package/src/helpers/getMarkAttributes.ts +14 -10
  247. package/src/helpers/getMarkRange.ts +41 -8
  248. package/src/helpers/getMarkType.ts +5 -1
  249. package/src/helpers/getMarksBetween.ts +32 -10
  250. package/src/helpers/getNodeAttributes.ts +9 -9
  251. package/src/helpers/getNodeType.ts +5 -1
  252. package/src/helpers/getRenderedAttributes.ts +6 -7
  253. package/src/helpers/getSchema.ts +7 -137
  254. package/src/helpers/getSchemaByResolvedExtensions.ts +148 -0
  255. package/src/helpers/getSchemaTypeByName.ts +2 -10
  256. package/src/helpers/getSchemaTypeNameByName.ts +1 -1
  257. package/src/helpers/getSplittedAttributes.ts +4 -4
  258. package/src/helpers/getText.ts +19 -0
  259. package/src/helpers/getTextBetween.ts +49 -0
  260. package/src/helpers/getTextContentFromNodes.ts +21 -0
  261. package/src/helpers/getTextSerializersFromSchema.ts +10 -0
  262. package/src/helpers/index.ts +33 -0
  263. package/src/helpers/injectExtensionAttributesToParseRule.ts +17 -19
  264. package/src/helpers/isActive.ts +5 -5
  265. package/src/helpers/isExtensionRulesEnabled.ts +15 -0
  266. package/src/helpers/isList.ts +14 -7
  267. package/src/helpers/isMarkActive.ts +45 -20
  268. package/src/helpers/isNodeActive.ts +28 -35
  269. package/src/helpers/isNodeEmpty.ts +8 -0
  270. package/src/helpers/isNodeSelection.ts +2 -3
  271. package/src/helpers/isTextSelection.ts +2 -3
  272. package/src/helpers/posToDOMRect.ts +35 -0
  273. package/src/helpers/resolveFocusPosition.ts +43 -0
  274. package/src/helpers/selectionToInsertionEnd.ts +2 -2
  275. package/src/helpers/splitExtensions.ts +3 -3
  276. package/src/index.ts +16 -22
  277. package/src/inputRules/index.ts +5 -0
  278. package/src/inputRules/markInputRule.ts +59 -39
  279. package/src/inputRules/nodeInputRule.ts +45 -11
  280. package/src/inputRules/textInputRule.ts +35 -0
  281. package/src/inputRules/textblockTypeInputRule.ts +38 -0
  282. package/src/inputRules/wrappingInputRule.ts +60 -0
  283. package/src/pasteRules/index.ts +3 -0
  284. package/src/pasteRules/markPasteRule.ts +62 -53
  285. package/src/pasteRules/nodePasteRule.ts +39 -0
  286. package/src/pasteRules/textPasteRule.ts +35 -0
  287. package/src/style.ts +16 -3
  288. package/src/types.ts +132 -47
  289. package/src/utilities/callOrReturn.ts +6 -3
  290. package/src/utilities/createStyleTag.ts +12 -1
  291. package/src/utilities/deleteProps.ts +2 -4
  292. package/src/utilities/elementFromString.ts +4 -5
  293. package/src/utilities/escapeForRegEx.ts +4 -0
  294. package/src/utilities/findDuplicates.ts +5 -0
  295. package/src/utilities/fromString.ts +2 -2
  296. package/src/utilities/index.ts +3 -0
  297. package/src/utilities/isEmptyObject.ts +2 -2
  298. package/src/utilities/isFunction.ts +3 -0
  299. package/src/utilities/isMacOS.ts +5 -0
  300. package/src/utilities/isNumber.ts +3 -0
  301. package/src/utilities/isPlainObject.ts +8 -5
  302. package/src/utilities/isRegExp.ts +3 -0
  303. package/src/utilities/isString.ts +3 -0
  304. package/src/utilities/isiOS.ts +12 -0
  305. package/src/utilities/mergeAttributes.ts +2 -3
  306. package/src/utilities/mergeDeep.ts +2 -3
  307. package/src/utilities/minMax.ts +1 -1
  308. package/src/utilities/objectIncludes.ts +17 -5
  309. package/src/utilities/removeDuplicates.ts +15 -0
  310. package/CHANGELOG.md +0 -198
  311. package/LICENSE.md +0 -21
  312. package/dist/packages/core/src/commands/insertHTML.d.ts +0 -12
  313. package/dist/packages/core/src/commands/insertText.d.ts +0 -12
  314. package/dist/packages/core/src/commands/replace.d.ts +0 -13
  315. package/dist/packages/core/src/commands/replaceRange.d.ts +0 -13
  316. package/dist/packages/core/src/commands/resetNodeAttributes.d.ts +0 -13
  317. package/dist/packages/core/src/commands/updateNodeAttributes.d.ts +0 -13
  318. package/dist/packages/core/src/utilities/isClass.d.ts +0 -1
  319. package/dist/packages/core/src/utilities/isObject.d.ts +0 -1
  320. package/dist/packages/core/src/utilities/removeElement.d.ts +0 -1
  321. package/dist/tiptap-core.bundle.umd.min.js +0 -17
  322. package/dist/tiptap-core.bundle.umd.min.js.map +0 -1
  323. package/src/commands/insertHTML.ts +0 -28
  324. package/src/commands/insertText.ts +0 -20
  325. package/src/commands/replace.ts +0 -20
  326. package/src/commands/replaceRange.ts +0 -36
  327. package/src/commands/resetNodeAttributes.ts +0 -29
  328. package/src/commands/updateNodeAttributes.ts +0 -31
  329. package/src/utilities/isClass.ts +0 -7
  330. package/src/utilities/isObject.ts +0 -10
  331. package/src/utilities/removeElement.ts +0 -5
@@ -1,3 +1,12 @@
1
- import { InputRule } from 'prosemirror-inputrules';
2
1
  import { MarkType } from 'prosemirror-model';
3
- export default function (regexp: RegExp, markType: MarkType, getAttributes?: Function): InputRule;
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
1
  import { NodeType } from 'prosemirror-model';
3
- export default function (regexp: RegExp, type: NodeType, getAttributes?: (match: any) => any): InputRule;
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 'prosemirror-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,23 @@
1
+ import { Node as ProseMirrorNode, NodeType } from 'prosemirror-model';
2
+ import { InputRule, InputRuleFinder } from '../InputRule';
3
+ import { ExtendedRegExpMatchArray } from '../types';
4
+ /**
5
+ * Build an input rule for automatically wrapping a textblock when a
6
+ * given string is typed. 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
+ * `type` is the type of node to wrap in.
11
+ *
12
+ * By default, if there’s a node with the same type above the newly
13
+ * wrapped node, the rule will try to join those
14
+ * two nodes. You can pass a join predicate, which takes a regular
15
+ * expression match and the node before the wrapped node, and can
16
+ * return a boolean to indicate whether a join should happen.
17
+ */
18
+ export declare function wrappingInputRule(config: {
19
+ find: InputRuleFinder;
20
+ type: NodeType;
21
+ getAttributes?: Record<string, any> | ((match: ExtendedRegExpMatchArray) => Record<string, any>) | false | null;
22
+ joinPredicate?: (match: ExtendedRegExpMatchArray, node: ProseMirrorNode) => boolean;
23
+ }): 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
1
  import { MarkType } from 'prosemirror-model';
3
- export default function (regexp: RegExp, type: MarkType, getAttrs?: (match: any) => any): Plugin;
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 'prosemirror-model';
2
+ import { PasteRule } 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: RegExp;
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,51 +1,89 @@
1
- import { Node as ProseMirrorNode, Mark as ProseMirrorMark, ParseOptions } from 'prosemirror-model';
2
- import { EditorView, Decoration, NodeView, EditorProps } from 'prosemirror-view';
1
+ import { Mark as ProseMirrorMark, Node as ProseMirrorNode, ParseOptions } from 'prosemirror-model';
3
2
  import { EditorState, Transaction } from 'prosemirror-state';
3
+ import { Decoration, EditorProps, EditorView, NodeView } from 'prosemirror-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, ExtensionConfig, NodeConfig, MarkConfig } from '.';
9
- export { Commands, ExtensionConfig, NodeConfig, MarkConfig, };
10
- export declare type Extensions = (Extension | Node | Mark)[];
11
- export interface EditorOptions {
12
- element: Element;
13
- content: Content;
14
- extensions: Extensions;
15
- injectCSS: boolean;
16
- autofocus: FocusPosition;
17
- editable: boolean;
18
- editorProps: EditorProps;
19
- parseOptions: ParseOptions;
20
- enableInputRules: boolean;
21
- enablePasteRules: boolean;
22
- onCreate: (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: {
23
21
  editor: Editor;
24
- }) => void;
25
- onUpdate: (props: {
22
+ };
23
+ create: {
26
24
  editor: Editor;
27
- }) => void;
28
- onViewUpdate: (props: {
25
+ };
26
+ update: {
29
27
  editor: Editor;
30
- }) => void;
31
- onSelectionUpdate: (props: {
28
+ transaction: Transaction;
29
+ };
30
+ selectionUpdate: {
32
31
  editor: Editor;
33
- }) => void;
34
- onTransaction: (props: {
32
+ transaction: Transaction;
33
+ };
34
+ transaction: {
35
35
  editor: Editor;
36
36
  transaction: Transaction;
37
- }) => void;
38
- onFocus: (props: {
37
+ };
38
+ focus: {
39
39
  editor: Editor;
40
40
  event: FocusEvent;
41
- }) => void;
42
- onBlur: (props: {
41
+ transaction: Transaction;
42
+ };
43
+ blur: {
43
44
  editor: Editor;
44
45
  event: FocusEvent;
45
- }) => void;
46
- onDestroy: () => void;
46
+ transaction: Transaction;
47
+ };
48
+ destroy: void;
47
49
  }
48
- 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;
49
87
  export declare type CommandProps = {
50
88
  editor: Editor;
51
89
  tr: Transaction;
@@ -58,18 +96,16 @@ export declare type CommandProps = {
58
96
  };
59
97
  export declare type Command = (props: CommandProps) => boolean;
60
98
  export declare type CommandSpec = (...args: any[]) => Command;
99
+ export declare type KeyboardShortcutCommand = (props: {
100
+ editor: Editor;
101
+ }) => boolean;
61
102
  export declare type Attribute = {
62
103
  default: any;
63
104
  rendered?: boolean;
64
- renderHTML?: ((attributes: {
65
- [key: string]: any;
66
- }) => {
67
- [key: string]: any;
68
- } | null) | null;
69
- parseHTML?: ((element: HTMLElement) => {
70
- [key: string]: any;
71
- } | null) | null;
105
+ renderHTML?: ((attributes: Record<string, any>) => Record<string, any> | null) | null;
106
+ parseHTML?: ((element: HTMLElement) => any | null) | null;
72
107
  keepOnSplit: boolean;
108
+ isRequired?: boolean;
73
109
  };
74
110
  export declare type Attributes = {
75
111
  [key: string]: Attribute;
@@ -95,40 +131,57 @@ export declare type Diff<T extends keyof any, U extends keyof any> = ({
95
131
  [x: string]: never;
96
132
  })[T];
97
133
  export declare type Overwrite<T, U> = Pick<T, Diff<keyof T, keyof U>> & U;
98
- export declare type AnyObject = {
99
- [key: string]: any;
100
- };
101
134
  export declare type ValuesOf<T> = T[keyof T];
102
135
  export declare type KeysWithTypeOf<T, Type> = ({
103
136
  [P in keyof T]: T[P] extends Type ? P : never;
104
137
  })[keyof T];
138
+ export declare type NodeViewProps = {
139
+ editor: Editor;
140
+ node: ProseMirrorNode;
141
+ decorations: Decoration[];
142
+ selected: boolean;
143
+ extension: Node;
144
+ getPos: () => number;
145
+ updateAttributes: (attributes: Record<string, any>) => void;
146
+ deleteNode: () => void;
147
+ };
148
+ export interface NodeViewRendererOptions {
149
+ stopEvent: ((props: {
150
+ event: Event;
151
+ }) => boolean) | null;
152
+ ignoreMutation: ((props: {
153
+ mutation: MutationRecord | {
154
+ type: 'selection';
155
+ target: Element;
156
+ };
157
+ }) => boolean) | null;
158
+ }
105
159
  export declare type NodeViewRendererProps = {
106
160
  editor: Editor;
107
161
  node: ProseMirrorNode;
108
162
  getPos: (() => number) | boolean;
109
- HTMLAttributes: {
110
- [key: string]: any;
111
- };
163
+ HTMLAttributes: Record<string, any>;
112
164
  decorations: Decoration[];
113
165
  extension: Node;
114
166
  };
115
167
  export declare type NodeViewRenderer = (props: NodeViewRendererProps) => (NodeView | {});
116
- export declare type UnionCommands = UnionToIntersection<ValuesOf<Pick<Commands, KeysWithTypeOf<Commands, {}>>>>;
168
+ export declare type AnyCommands = Record<string, (...args: any[]) => Command>;
169
+ export declare type UnionCommands<T = Command> = UnionToIntersection<ValuesOf<Pick<Commands<T>, KeysWithTypeOf<Commands<T>, {}>>>>;
117
170
  export declare type RawCommands = {
118
- [Item in keyof UnionCommands]: UnionCommands[Item] extends (...args: any[]) => any ? (...args: Parameters<UnionCommands[Item]>) => Command : never;
171
+ [Item in keyof UnionCommands]: UnionCommands<Command>[Item];
119
172
  };
120
173
  export declare type SingleCommands = {
121
- [Item in keyof RawCommands]: RawCommands[Item] extends (...args: any[]) => any ? (...args: Parameters<RawCommands[Item]>) => boolean : never;
174
+ [Item in keyof UnionCommands]: UnionCommands<boolean>[Item];
122
175
  };
123
176
  export declare type ChainedCommands = {
124
- [Item in keyof RawCommands]: RawCommands[Item] extends (...args: any[]) => any ? (...args: Parameters<RawCommands[Item]>) => ChainedCommands : never;
177
+ [Item in keyof UnionCommands]: UnionCommands<ChainedCommands>[Item];
125
178
  } & {
126
179
  run: () => boolean;
127
180
  };
128
181
  export declare type CanCommands = SingleCommands & {
129
182
  chain: () => ChainedCommands;
130
183
  };
131
- export declare type FocusPosition = 'start' | 'end' | number | boolean | null;
184
+ export declare type FocusPosition = 'start' | 'end' | 'all' | number | boolean | null;
132
185
  export declare type Range = {
133
186
  from: number;
134
187
  to: number;
@@ -144,3 +197,17 @@ export declare type MarkRange = {
144
197
  to: number;
145
198
  };
146
199
  export declare type Predicate = (node: ProseMirrorNode) => boolean;
200
+ export declare type NodeWithPos = {
201
+ node: ProseMirrorNode;
202
+ pos: number;
203
+ };
204
+ export declare type TextSerializer = (props: {
205
+ node: ProseMirrorNode;
206
+ pos: number;
207
+ parent: ProseMirrorNode;
208
+ index: number;
209
+ range: Range;
210
+ }) => string;
211
+ export declare type ExtendedRegExpMatchArray = RegExpMatchArray & {
212
+ data?: Record<string, any>;
213
+ };
@@ -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,3 @@
1
+ export * from './callOrReturn';
2
+ export * from './escapeForRegEx';
3
+ export * from './mergeAttributes';
@@ -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 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;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Removes duplicated values within an array.
3
+ * Supports numbers, strings and objects.
4
+ */
5
+ export declare function removeDuplicates<T>(array: T[], by?: {
6
+ (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string;
7
+ (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string;
8
+ }): T[];