@tiptap/core 2.0.0-beta.17 → 2.0.0-beta.170

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