@tiptap/core 2.0.0-beta.14 → 2.0.0-beta.140

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 (272) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +2 -2
  3. package/dist/packages/core/src/CommandManager.d.ts +12 -5
  4. package/dist/packages/core/src/Editor.d.ts +19 -20
  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 +6 -11
  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 +151 -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 +3 -3
  27. package/dist/packages/core/src/commands/forEach.d.ts +14 -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/setContent.d.ts +4 -3
  44. package/dist/packages/core/src/commands/setMark.d.ts +3 -3
  45. package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
  46. package/dist/packages/core/src/commands/setNode.d.ts +3 -3
  47. package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
  48. package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
  49. package/dist/packages/core/src/commands/sinkListItem.d.ts +3 -3
  50. package/dist/packages/core/src/commands/splitBlock.d.ts +3 -3
  51. package/dist/packages/core/src/commands/splitListItem.d.ts +3 -3
  52. package/dist/packages/core/src/commands/toggleList.d.ts +3 -3
  53. package/dist/packages/core/src/commands/toggleMark.d.ts +8 -3
  54. package/dist/packages/core/src/commands/toggleNode.d.ts +3 -3
  55. package/dist/packages/core/src/commands/toggleWrap.d.ts +3 -3
  56. package/dist/packages/core/src/commands/undoInputRule.d.ts +3 -3
  57. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +3 -3
  58. package/dist/packages/core/src/commands/unsetMark.d.ts +8 -3
  59. package/dist/packages/core/src/commands/updateAttributes.d.ts +13 -0
  60. package/dist/packages/core/src/commands/wrapIn.d.ts +3 -3
  61. package/dist/packages/core/src/commands/wrapInList.d.ts +3 -3
  62. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +1 -1
  63. package/dist/packages/core/src/extensions/commands.d.ts +19 -15
  64. package/dist/packages/core/src/extensions/editable.d.ts +1 -1
  65. package/dist/packages/core/src/extensions/focusEvents.d.ts +1 -1
  66. package/dist/packages/core/src/extensions/index.d.ts +1 -0
  67. package/dist/packages/core/src/extensions/keymap.d.ts +1 -1
  68. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  69. package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
  70. package/dist/packages/core/src/helpers/createDocument.d.ts +3 -0
  71. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +7 -0
  72. package/dist/packages/core/src/helpers/findChildren.d.ts +3 -0
  73. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
  74. package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -2
  75. package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
  76. package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
  77. package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
  78. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  79. package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
  80. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -2
  81. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +1 -2
  82. package/dist/packages/core/src/helpers/getMarkRange.d.ts +1 -1
  83. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +1 -2
  84. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +2 -2
  85. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
  86. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -2
  87. package/dist/packages/core/src/helpers/getText.d.ts +6 -0
  88. package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
  89. package/dist/packages/core/src/helpers/getTextSeralizersFromSchema.d.ts +3 -0
  90. package/dist/packages/core/src/helpers/isActive.d.ts +1 -2
  91. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  92. package/dist/packages/core/src/helpers/isMarkActive.d.ts +1 -2
  93. package/dist/packages/core/src/helpers/isNodeActive.d.ts +1 -2
  94. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  95. package/dist/packages/core/src/helpers/splitExtensions.d.ts +3 -3
  96. package/dist/packages/core/src/index.d.ts +32 -5
  97. package/dist/packages/core/src/inputRules/markInputRule.d.ts +11 -2
  98. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +11 -2
  99. package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
  100. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
  101. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +23 -0
  102. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +11 -2
  103. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +9 -0
  104. package/dist/packages/core/src/style.d.ts +1 -1
  105. package/dist/packages/core/src/types.d.ts +104 -51
  106. package/dist/packages/core/src/utilities/callOrReturn.d.ts +2 -1
  107. package/dist/packages/core/src/utilities/deleteProps.d.ts +1 -2
  108. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  109. package/dist/packages/core/src/utilities/isClass.d.ts +1 -1
  110. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -1
  111. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  112. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  113. package/dist/packages/core/src/utilities/isObject.d.ts +1 -1
  114. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -1
  115. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  116. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  117. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -2
  118. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -2
  119. package/dist/packages/core/src/utilities/objectIncludes.d.ts +3 -2
  120. package/dist/tiptap-core.cjs.js +2695 -1451
  121. package/dist/tiptap-core.cjs.js.map +1 -1
  122. package/dist/tiptap-core.esm.js +3244 -2026
  123. package/dist/tiptap-core.esm.js.map +1 -1
  124. package/dist/tiptap-core.umd.js +3182 -1937
  125. package/dist/tiptap-core.umd.js.map +1 -1
  126. package/package.json +19 -16
  127. package/src/CommandManager.ts +59 -61
  128. package/src/Editor.ts +91 -95
  129. package/src/EventEmitter.ts +14 -4
  130. package/src/Extension.ts +202 -40
  131. package/src/ExtensionManager.ts +234 -70
  132. package/src/InputRule.ts +268 -0
  133. package/src/Mark.ts +248 -46
  134. package/src/Node.ts +275 -51
  135. package/src/NodeView.ts +105 -42
  136. package/src/PasteRule.ts +215 -0
  137. package/src/Tracker.ts +42 -0
  138. package/src/commands/blur.ts +9 -7
  139. package/src/commands/clearContent.ts +3 -3
  140. package/src/commands/clearNodes.ts +25 -19
  141. package/src/commands/command.ts +2 -2
  142. package/src/commands/createParagraphNear.ts +3 -3
  143. package/src/commands/deleteNode.ts +36 -0
  144. package/src/commands/deleteRange.ts +3 -3
  145. package/src/commands/deleteSelection.ts +3 -3
  146. package/src/commands/enter.ts +3 -3
  147. package/src/commands/exitCode.ts +3 -3
  148. package/src/commands/extendMarkRange.ts +8 -8
  149. package/src/commands/first.ts +3 -3
  150. package/src/commands/focus.ts +31 -9
  151. package/src/commands/forEach.ts +24 -0
  152. package/src/commands/insertContent.ts +23 -0
  153. package/src/commands/insertContentAt.ts +93 -0
  154. package/src/commands/joinBackward.ts +3 -3
  155. package/src/commands/joinForward.ts +3 -3
  156. package/src/commands/keyboardShortcut.ts +3 -3
  157. package/src/commands/lift.ts +3 -3
  158. package/src/commands/liftEmptyBlock.ts +3 -3
  159. package/src/commands/liftListItem.ts +3 -3
  160. package/src/commands/newlineInCode.ts +3 -3
  161. package/src/commands/resetAttributes.ts +61 -0
  162. package/src/commands/scrollIntoView.ts +3 -3
  163. package/src/commands/selectAll.ts +8 -6
  164. package/src/commands/selectNodeBackward.ts +3 -3
  165. package/src/commands/selectNodeForward.ts +3 -3
  166. package/src/commands/selectParentNode.ts +3 -3
  167. package/src/commands/setContent.ts +10 -5
  168. package/src/commands/setMark.ts +33 -10
  169. package/src/commands/setMeta.ts +18 -0
  170. package/src/commands/setNode.ts +3 -3
  171. package/src/commands/setNodeSelection.ts +28 -0
  172. package/src/commands/setTextSelection.ts +32 -0
  173. package/src/commands/sinkListItem.ts +3 -3
  174. package/src/commands/splitBlock.ts +13 -8
  175. package/src/commands/splitListItem.ts +39 -13
  176. package/src/commands/toggleList.ts +4 -4
  177. package/src/commands/toggleMark.ts +15 -5
  178. package/src/commands/toggleNode.ts +3 -3
  179. package/src/commands/toggleWrap.ts +3 -3
  180. package/src/commands/undoInputRule.ts +33 -5
  181. package/src/commands/unsetAllMarks.ts +3 -3
  182. package/src/commands/unsetMark.ts +32 -20
  183. package/src/commands/updateAttributes.ts +72 -0
  184. package/src/commands/wrapIn.ts +3 -3
  185. package/src/commands/wrapInList.ts +3 -3
  186. package/src/extensions/clipboardTextSerializer.ts +11 -35
  187. package/src/extensions/commands.ts +27 -21
  188. package/src/extensions/focusEvents.ts +0 -3
  189. package/src/extensions/index.ts +1 -0
  190. package/src/extensions/keymap.ts +6 -6
  191. package/src/extensions/tabindex.ts +19 -0
  192. package/src/helpers/createChainableState.ts +37 -0
  193. package/src/helpers/createDocument.ts +11 -0
  194. package/src/helpers/createNodeFromContent.ts +56 -0
  195. package/src/helpers/findChildren.ts +17 -0
  196. package/src/helpers/findChildrenInRange.ts +31 -0
  197. package/src/helpers/generateHTML.ts +3 -3
  198. package/src/helpers/generateJSON.ts +13 -0
  199. package/src/helpers/generateText.ts +29 -0
  200. package/src/helpers/getAttributes.ts +27 -0
  201. package/src/helpers/getAttributesFromExtensions.ts +26 -5
  202. package/src/helpers/getDebugJSON.ts +46 -0
  203. package/src/helpers/getExtensionField.ts +25 -0
  204. package/src/helpers/getHTMLFromFragment.ts +5 -5
  205. package/src/helpers/getMarkAttributes.ts +11 -8
  206. package/src/helpers/getMarkRange.ts +34 -6
  207. package/src/helpers/getMarkType.ts +4 -0
  208. package/src/helpers/getMarksBetween.ts +3 -3
  209. package/src/helpers/getNodeAttributes.ts +6 -7
  210. package/src/helpers/getNodeType.ts +4 -0
  211. package/src/helpers/getRenderedAttributes.ts +3 -5
  212. package/src/helpers/getSchema.ts +5 -132
  213. package/src/helpers/getSchemaByResolvedExtensions.ts +147 -0
  214. package/src/helpers/getSchemaTypeByName.ts +1 -9
  215. package/src/helpers/getSplittedAttributes.ts +3 -3
  216. package/src/helpers/getText.ts +18 -0
  217. package/src/helpers/getTextBetween.ts +45 -0
  218. package/src/helpers/getTextSeralizersFromSchema.ts +9 -0
  219. package/src/helpers/injectExtensionAttributesToParseRule.ts +12 -8
  220. package/src/helpers/isActive.ts +1 -2
  221. package/src/helpers/isExtensionRulesEnabled.ts +15 -0
  222. package/src/helpers/isList.ts +11 -4
  223. package/src/helpers/isMarkActive.ts +40 -16
  224. package/src/helpers/isNodeActive.ts +23 -31
  225. package/src/helpers/posToDOMRect.ts +34 -0
  226. package/src/index.ts +34 -5
  227. package/src/inputRules/markInputRule.ts +57 -38
  228. package/src/inputRules/nodeInputRule.ts +43 -11
  229. package/src/inputRules/textInputRule.ts +35 -0
  230. package/src/inputRules/textblockTypeInputRule.ts +37 -0
  231. package/src/inputRules/wrappingInputRule.ts +59 -0
  232. package/src/pasteRules/markPasteRule.ts +61 -53
  233. package/src/pasteRules/textPasteRule.ts +35 -0
  234. package/src/style.ts +14 -0
  235. package/src/types.ts +118 -36
  236. package/src/utilities/callOrReturn.ts +6 -3
  237. package/src/utilities/createStyleTag.ts +7 -0
  238. package/src/utilities/deleteProps.ts +2 -4
  239. package/src/utilities/elementFromString.ts +3 -4
  240. package/src/utilities/findDuplicates.ts +5 -0
  241. package/src/utilities/fromString.ts +1 -1
  242. package/src/utilities/isClass.ts +2 -2
  243. package/src/utilities/isEmptyObject.ts +2 -2
  244. package/src/utilities/isFunction.ts +3 -0
  245. package/src/utilities/isNumber.ts +3 -0
  246. package/src/utilities/isObject.ts +5 -5
  247. package/src/utilities/isPlainObject.ts +5 -5
  248. package/src/utilities/isRegExp.ts +3 -0
  249. package/src/utilities/isString.ts +3 -0
  250. package/src/utilities/isiOS.ts +12 -0
  251. package/src/utilities/mergeAttributes.ts +2 -3
  252. package/src/utilities/mergeDeep.ts +1 -2
  253. package/src/utilities/objectIncludes.ts +17 -5
  254. package/CHANGELOG.md +0 -294
  255. package/dist/packages/core/src/commands/insertHTML.d.ts +0 -12
  256. package/dist/packages/core/src/commands/insertNode.d.ts +0 -13
  257. package/dist/packages/core/src/commands/insertText.d.ts +0 -12
  258. package/dist/packages/core/src/commands/replace.d.ts +0 -13
  259. package/dist/packages/core/src/commands/replaceRange.d.ts +0 -13
  260. package/dist/packages/core/src/commands/resetNodeAttributes.d.ts +0 -13
  261. package/dist/packages/core/src/commands/updateNodeAttributes.d.ts +0 -13
  262. package/dist/packages/core/src/utilities/removeElement.d.ts +0 -1
  263. package/dist/tiptap-core.bundle.umd.min.js +0 -17
  264. package/dist/tiptap-core.bundle.umd.min.js.map +0 -1
  265. package/src/commands/insertHTML.ts +0 -28
  266. package/src/commands/insertNode.ts +0 -31
  267. package/src/commands/insertText.ts +0 -20
  268. package/src/commands/replace.ts +0 -20
  269. package/src/commands/replaceRange.ts +0 -36
  270. package/src/commands/resetNodeAttributes.ts +0 -31
  271. package/src/commands/updateNodeAttributes.ts +0 -33
  272. package/src/utilities/removeElement.ts +0 -5
@@ -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,28 +140,39 @@ 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
  };
@@ -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 default function callOrReturn<T>(value: T, context?: any, ...props: any[]): MaybeReturnType<T>;
@@ -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 default function deleteProps(obj: Record<string, any>, propOrProps: string | string[]): Record<string, any>;
@@ -0,0 +1 @@
1
+ export default function findDuplicates(items: any[]): any[];
@@ -1 +1 @@
1
- export default function isClass(item: any): boolean;
1
+ export default function isClass(value: any): boolean;
@@ -1 +1 @@
1
- export default function isEmptyObject(object?: {}): boolean;
1
+ export default function isEmptyObject(value?: {}): boolean;
@@ -0,0 +1 @@
1
+ export default function isObject(value: any): value is Function;
@@ -0,0 +1 @@
1
+ export default function isNumber(value: any): value is number;
@@ -1 +1 @@
1
- export default function isObject(item: any): boolean;
1
+ export default function isObject(value: any): boolean;
@@ -1 +1 @@
1
- export default function isPlainObject(payload: any): payload is Record<string, any>;
1
+ export default function isPlainObject(value: any): value is Record<string, any>;
@@ -0,0 +1 @@
1
+ export default function isRegExp(value: any): value is RegExp;
@@ -0,0 +1 @@
1
+ export default function isiOS(): boolean;
@@ -1,2 +1 @@
1
- import { AnyObject } from '../types';
2
- export default function mergeAttributes(...objects: AnyObject[]): AnyObject;
1
+ export default 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 default function mergeDeep(target: Record<string, any>, source: Record<string, any>): Record<string, any>;
@@ -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 default function objectIncludes(object1: Record<string, any>, object2: Record<string, any>, options?: {
7
+ strict: boolean;
8
+ }): boolean;