@tiptap/core 2.0.0-beta.20 → 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.
- package/README.md +2 -2
- package/dist/packages/core/src/CommandManager.d.ts +13 -6
- package/dist/packages/core/src/Editor.d.ts +24 -19
- package/dist/packages/core/src/EventEmitter.d.ts +8 -4
- package/dist/packages/core/src/Extension.d.ts +99 -27
- package/dist/packages/core/src/ExtensionManager.d.ts +7 -13
- package/dist/packages/core/src/InputRule.d.ts +42 -0
- package/dist/packages/core/src/Mark.d.ts +139 -31
- package/dist/packages/core/src/Node.d.ts +157 -33
- package/dist/packages/core/src/NodeView.d.ts +8 -12
- package/dist/packages/core/src/PasteRule.d.ts +42 -0
- package/dist/packages/core/src/Tracker.d.ts +11 -0
- package/dist/packages/core/src/commands/blur.d.ts +3 -3
- package/dist/packages/core/src/commands/clearContent.d.ts +3 -3
- package/dist/packages/core/src/commands/clearNodes.d.ts +3 -3
- package/dist/packages/core/src/commands/command.d.ts +2 -2
- package/dist/packages/core/src/commands/createParagraphNear.d.ts +3 -3
- package/dist/packages/core/src/commands/deleteNode.d.ts +13 -0
- package/dist/packages/core/src/commands/deleteRange.d.ts +3 -3
- package/dist/packages/core/src/commands/deleteSelection.d.ts +3 -3
- package/dist/packages/core/src/commands/enter.d.ts +3 -3
- package/dist/packages/core/src/commands/exitCode.d.ts +3 -3
- package/dist/packages/core/src/commands/extendMarkRange.d.ts +3 -3
- package/dist/packages/core/src/commands/first.d.ts +3 -3
- package/dist/packages/core/src/commands/focus.d.ts +5 -3
- package/dist/packages/core/src/commands/forEach.d.ts +14 -0
- package/dist/packages/core/src/commands/index.d.ts +50 -0
- package/dist/packages/core/src/commands/insertContent.d.ts +7 -3
- package/dist/packages/core/src/commands/insertContentAt.d.ts +16 -0
- package/dist/packages/core/src/commands/joinBackward.d.ts +3 -3
- package/dist/packages/core/src/commands/joinForward.d.ts +3 -3
- package/dist/packages/core/src/commands/keyboardShortcut.d.ts +3 -3
- package/dist/packages/core/src/commands/lift.d.ts +3 -3
- package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +3 -3
- package/dist/packages/core/src/commands/liftListItem.d.ts +3 -3
- package/dist/packages/core/src/commands/newlineInCode.d.ts +3 -3
- package/dist/packages/core/src/commands/resetAttributes.d.ts +4 -4
- package/dist/packages/core/src/commands/scrollIntoView.d.ts +3 -3
- package/dist/packages/core/src/commands/selectAll.d.ts +3 -3
- package/dist/packages/core/src/commands/selectNodeBackward.d.ts +3 -3
- package/dist/packages/core/src/commands/selectNodeForward.d.ts +3 -3
- package/dist/packages/core/src/commands/selectParentNode.d.ts +3 -3
- package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +12 -0
- package/dist/packages/core/src/commands/selectTextblockStart.d.ts +12 -0
- package/dist/packages/core/src/commands/setContent.d.ts +4 -3
- package/dist/packages/core/src/commands/setMark.d.ts +3 -3
- package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
- package/dist/packages/core/src/commands/setNode.d.ts +3 -3
- package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
- package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
- package/dist/packages/core/src/commands/sinkListItem.d.ts +3 -3
- package/dist/packages/core/src/commands/splitBlock.d.ts +3 -3
- package/dist/packages/core/src/commands/splitListItem.d.ts +3 -3
- package/dist/packages/core/src/commands/toggleList.d.ts +3 -3
- package/dist/packages/core/src/commands/toggleMark.d.ts +8 -3
- package/dist/packages/core/src/commands/toggleNode.d.ts +3 -3
- package/dist/packages/core/src/commands/toggleWrap.d.ts +3 -3
- package/dist/packages/core/src/commands/undoInputRule.d.ts +3 -3
- package/dist/packages/core/src/commands/unsetAllMarks.d.ts +3 -3
- package/dist/packages/core/src/commands/unsetMark.d.ts +8 -3
- package/dist/packages/core/src/commands/updateAttributes.d.ts +4 -4
- package/dist/packages/core/src/commands/wrapIn.d.ts +3 -3
- package/dist/packages/core/src/commands/wrapInList.d.ts +3 -3
- package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +1 -1
- package/dist/packages/core/src/extensions/commands.d.ts +2 -99
- package/dist/packages/core/src/extensions/editable.d.ts +1 -1
- package/dist/packages/core/src/extensions/focusEvents.d.ts +1 -1
- package/dist/packages/core/src/extensions/index.d.ts +1 -0
- package/dist/packages/core/src/extensions/keymap.d.ts +1 -1
- package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
- package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +7 -0
- package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
- package/dist/packages/core/src/helpers/createDocument.d.ts +3 -4
- package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +4 -5
- package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +2 -0
- package/dist/packages/core/src/helpers/findChildren.d.ts +3 -0
- package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
- package/dist/packages/core/src/helpers/findParentNode.d.ts +2 -3
- package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +2 -2
- package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -2
- package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
- package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
- package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
- package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +2 -2
- package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
- package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
- package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
- package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -2
- package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +2 -3
- package/dist/packages/core/src/helpers/getMarkRange.d.ts +1 -1
- package/dist/packages/core/src/helpers/getMarkType.d.ts +1 -1
- package/dist/packages/core/src/helpers/getMarksBetween.d.ts +2 -2
- package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +2 -3
- package/dist/packages/core/src/helpers/getNodeType.d.ts +1 -1
- package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -3
- package/dist/packages/core/src/helpers/getSchema.d.ts +1 -1
- package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
- package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +1 -1
- package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +1 -1
- package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -2
- package/dist/packages/core/src/helpers/getText.d.ts +6 -0
- package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
- package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +2 -0
- package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +3 -0
- package/dist/packages/core/src/helpers/index.d.ts +33 -0
- package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +1 -1
- package/dist/packages/core/src/helpers/isActive.d.ts +1 -2
- package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
- package/dist/packages/core/src/helpers/isList.d.ts +1 -1
- package/dist/packages/core/src/helpers/isMarkActive.d.ts +2 -3
- package/dist/packages/core/src/helpers/isNodeActive.d.ts +2 -3
- package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +1 -1
- package/dist/packages/core/src/helpers/isNodeSelection.d.ts +1 -1
- package/dist/packages/core/src/helpers/isTextSelection.d.ts +1 -1
- package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
- package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
- package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +1 -1
- package/dist/packages/core/src/helpers/splitExtensions.d.ts +6 -6
- package/dist/packages/core/src/index.d.ts +14 -21
- package/dist/packages/core/src/inputRules/index.d.ts +5 -0
- package/dist/packages/core/src/inputRules/markInputRule.d.ts +11 -2
- package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +11 -2
- package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
- package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
- package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +23 -0
- package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
- package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +11 -2
- package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +12 -0
- package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +9 -0
- package/dist/packages/core/src/style.d.ts +1 -2
- package/dist/packages/core/src/types.d.ts +112 -56
- package/dist/packages/core/src/utilities/callOrReturn.d.ts +2 -1
- package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -1
- package/dist/packages/core/src/utilities/deleteProps.d.ts +1 -2
- package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -1
- package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +1 -0
- package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
- package/dist/packages/core/src/utilities/fromString.d.ts +1 -1
- package/dist/packages/core/src/utilities/index.d.ts +3 -0
- package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -1
- package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
- package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
- package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
- package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -1
- package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
- package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
- package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -2
- package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -2
- package/dist/packages/core/src/utilities/minMax.d.ts +1 -1
- package/dist/packages/core/src/utilities/objectIncludes.d.ts +3 -2
- package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
- package/dist/tiptap-core.cjs.js +2755 -1460
- package/dist/tiptap-core.cjs.js.map +1 -1
- package/dist/tiptap-core.esm.js +2709 -1448
- package/dist/tiptap-core.esm.js.map +1 -1
- package/dist/tiptap-core.umd.js +2731 -1435
- package/dist/tiptap-core.umd.js.map +1 -1
- package/package.json +16 -20
- package/src/CommandManager.ts +64 -65
- package/src/Editor.ts +116 -78
- package/src/EventEmitter.ts +14 -4
- package/src/Extension.ts +193 -43
- package/src/ExtensionManager.ts +242 -84
- package/src/InputRule.ts +265 -0
- package/src/Mark.ts +277 -48
- package/src/Node.ts +279 -57
- package/src/NodeView.ts +115 -47
- package/src/PasteRule.ts +280 -0
- package/src/Tracker.ts +42 -0
- package/src/commands/blur.ts +12 -6
- package/src/commands/clearContent.ts +3 -3
- package/src/commands/clearNodes.ts +30 -18
- package/src/commands/command.ts +2 -2
- package/src/commands/createParagraphNear.ts +4 -3
- package/src/commands/deleteNode.ts +37 -0
- package/src/commands/deleteRange.ts +3 -3
- package/src/commands/deleteSelection.ts +4 -3
- package/src/commands/enter.ts +3 -3
- package/src/commands/exitCode.ts +4 -3
- package/src/commands/extendMarkRange.ts +12 -11
- package/src/commands/first.ts +3 -3
- package/src/commands/focus.ts +47 -44
- package/src/commands/forEach.ts +24 -0
- package/src/commands/index.ts +50 -0
- package/src/commands/insertContent.ts +13 -24
- package/src/commands/insertContentAt.ts +108 -0
- package/src/commands/joinBackward.ts +4 -3
- package/src/commands/joinForward.ts +4 -3
- package/src/commands/keyboardShortcut.ts +6 -6
- package/src/commands/lift.ts +6 -5
- package/src/commands/liftEmptyBlock.ts +4 -3
- package/src/commands/liftListItem.ts +6 -5
- package/src/commands/newlineInCode.ts +4 -3
- package/src/commands/resetAttributes.ts +9 -8
- package/src/commands/scrollIntoView.ts +3 -3
- package/src/commands/selectAll.ts +8 -6
- package/src/commands/selectNodeBackward.ts +4 -3
- package/src/commands/selectNodeForward.ts +4 -3
- package/src/commands/selectParentNode.ts +4 -3
- package/src/commands/selectTextblockEnd.ts +20 -0
- package/src/commands/selectTextblockStart.ts +20 -0
- package/src/commands/setContent.ts +9 -15
- package/src/commands/setMark.ts +80 -14
- package/src/commands/setMeta.ts +18 -0
- package/src/commands/setNode.ts +29 -7
- package/src/commands/setNodeSelection.ts +27 -0
- package/src/commands/setTextSelection.ts +33 -0
- package/src/commands/sinkListItem.ts +6 -5
- package/src/commands/splitBlock.ts +14 -19
- package/src/commands/splitListItem.ts +45 -18
- package/src/commands/toggleList.ts +83 -18
- package/src/commands/toggleMark.ts +18 -7
- package/src/commands/toggleNode.ts +6 -5
- package/src/commands/toggleWrap.ts +9 -9
- package/src/commands/undoInputRule.ts +34 -5
- package/src/commands/unsetAllMarks.ts +7 -11
- package/src/commands/unsetMark.ts +35 -22
- package/src/commands/updateAttributes.ts +16 -9
- package/src/commands/wrapIn.ts +5 -10
- package/src/commands/wrapInList.ts +6 -5
- package/src/extensions/clipboardTextSerializer.ts +14 -35
- package/src/extensions/commands.ts +3 -147
- package/src/extensions/editable.ts +1 -0
- package/src/extensions/focusEvents.ts +3 -5
- package/src/extensions/index.ts +1 -0
- package/src/extensions/keymap.ts +110 -13
- package/src/extensions/tabindex.ts +18 -0
- package/src/helpers/combineTransactionSteps.ts +18 -0
- package/src/helpers/createChainableState.ts +38 -0
- package/src/helpers/createDocument.ts +5 -6
- package/src/helpers/createNodeFromContent.ts +17 -19
- package/src/helpers/defaultBlockAt.ts +13 -0
- package/src/helpers/findChildren.ts +18 -0
- package/src/helpers/findChildrenInRange.ts +32 -0
- package/src/helpers/findParentNode.ts +3 -2
- package/src/helpers/findParentNodeClosestToPos.ts +3 -2
- package/src/helpers/generateHTML.ts +6 -5
- package/src/helpers/generateJSON.ts +14 -0
- package/src/helpers/generateText.ts +30 -0
- package/src/helpers/getAttributes.ts +28 -0
- package/src/helpers/getAttributesFromExtensions.ts +42 -14
- package/src/helpers/getChangedRanges.ts +83 -0
- package/src/helpers/getDebugJSON.ts +54 -0
- package/src/helpers/getExtensionField.ts +25 -0
- package/src/helpers/getHTMLFromFragment.ts +6 -5
- package/src/helpers/getMarkAttributes.ts +14 -10
- package/src/helpers/getMarkRange.ts +41 -8
- package/src/helpers/getMarkType.ts +5 -1
- package/src/helpers/getMarksBetween.ts +32 -10
- package/src/helpers/getNodeAttributes.ts +9 -9
- package/src/helpers/getNodeType.ts +5 -1
- package/src/helpers/getRenderedAttributes.ts +6 -7
- package/src/helpers/getSchema.ts +7 -133
- package/src/helpers/getSchemaByResolvedExtensions.ts +148 -0
- package/src/helpers/getSchemaTypeByName.ts +2 -10
- package/src/helpers/getSchemaTypeNameByName.ts +1 -1
- package/src/helpers/getSplittedAttributes.ts +4 -4
- package/src/helpers/getText.ts +19 -0
- package/src/helpers/getTextBetween.ts +49 -0
- package/src/helpers/getTextContentFromNodes.ts +21 -0
- package/src/helpers/getTextSerializersFromSchema.ts +10 -0
- package/src/helpers/index.ts +33 -0
- package/src/helpers/injectExtensionAttributesToParseRule.ts +17 -19
- package/src/helpers/isActive.ts +5 -5
- package/src/helpers/isExtensionRulesEnabled.ts +15 -0
- package/src/helpers/isList.ts +14 -7
- package/src/helpers/isMarkActive.ts +45 -20
- package/src/helpers/isNodeActive.ts +28 -35
- package/src/helpers/isNodeEmpty.ts +1 -1
- package/src/helpers/isNodeSelection.ts +2 -3
- package/src/helpers/isTextSelection.ts +2 -3
- package/src/helpers/posToDOMRect.ts +35 -0
- package/src/helpers/resolveFocusPosition.ts +43 -0
- package/src/helpers/selectionToInsertionEnd.ts +2 -2
- package/src/helpers/splitExtensions.ts +3 -3
- package/src/index.ts +15 -24
- package/src/inputRules/index.ts +5 -0
- package/src/inputRules/markInputRule.ts +59 -39
- package/src/inputRules/nodeInputRule.ts +45 -11
- package/src/inputRules/textInputRule.ts +35 -0
- package/src/inputRules/textblockTypeInputRule.ts +38 -0
- package/src/inputRules/wrappingInputRule.ts +60 -0
- package/src/pasteRules/index.ts +3 -0
- package/src/pasteRules/markPasteRule.ts +62 -53
- package/src/pasteRules/nodePasteRule.ts +39 -0
- package/src/pasteRules/textPasteRule.ts +35 -0
- package/src/style.ts +16 -3
- package/src/types.ts +129 -43
- package/src/utilities/callOrReturn.ts +6 -3
- package/src/utilities/createStyleTag.ts +12 -1
- package/src/utilities/deleteProps.ts +2 -4
- package/src/utilities/elementFromString.ts +4 -5
- package/src/utilities/escapeForRegEx.ts +4 -0
- package/src/utilities/findDuplicates.ts +5 -0
- package/src/utilities/fromString.ts +2 -2
- package/src/utilities/index.ts +3 -0
- package/src/utilities/isEmptyObject.ts +2 -2
- package/src/utilities/isFunction.ts +3 -0
- package/src/utilities/isMacOS.ts +5 -0
- package/src/utilities/isNumber.ts +3 -0
- package/src/utilities/isPlainObject.ts +8 -5
- package/src/utilities/isRegExp.ts +3 -0
- package/src/utilities/isString.ts +3 -0
- package/src/utilities/isiOS.ts +12 -0
- package/src/utilities/mergeAttributes.ts +2 -3
- package/src/utilities/mergeDeep.ts +2 -3
- package/src/utilities/minMax.ts +1 -1
- package/src/utilities/objectIncludes.ts +17 -5
- package/src/utilities/removeDuplicates.ts +15 -0
- package/CHANGELOG.md +0 -357
- package/LICENSE.md +0 -21
- package/dist/packages/core/src/commands/insertHTML.d.ts +0 -12
- package/dist/packages/core/src/commands/insertNode.d.ts +0 -13
- package/dist/packages/core/src/commands/insertText.d.ts +0 -12
- package/dist/packages/core/src/commands/replace.d.ts +0 -13
- package/dist/packages/core/src/commands/replaceRange.d.ts +0 -13
- package/dist/packages/core/src/commands/resetNodeAttributes.d.ts +0 -13
- package/dist/packages/core/src/commands/updateNodeAttributes.d.ts +0 -13
- package/dist/packages/core/src/utilities/isClass.d.ts +0 -1
- package/dist/packages/core/src/utilities/isObject.d.ts +0 -1
- package/dist/packages/core/src/utilities/removeElement.d.ts +0 -1
- package/dist/tiptap-core.bundle.umd.min.js +0 -17
- package/dist/tiptap-core.bundle.umd.min.js.map +0 -1
- package/src/commands/insertHTML.ts +0 -30
- package/src/commands/insertNode.ts +0 -33
- package/src/commands/insertText.ts +0 -22
- package/src/commands/replace.ts +0 -20
- package/src/commands/replaceRange.ts +0 -36
- package/src/commands/resetNodeAttributes.ts +0 -33
- package/src/commands/updateNodeAttributes.ts +0 -35
- package/src/utilities/isClass.ts +0 -7
- package/src/utilities/isObject.ts +0 -10
- package/src/utilities/removeElement.ts +0 -5
package/README.md
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
## Introduction
|
|
8
8
|
tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a toolkit for building rich text WYSIWYG editors, which is already in use at many well-known companies such as *New York Times*, *The Guardian* or *Atlassian*.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Official Documentation
|
|
11
11
|
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
|
12
12
|
|
|
13
13
|
## License
|
|
14
|
-
tiptap is open
|
|
14
|
+
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap/blob/main/LICENSE.md).
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { EditorState, Transaction } from 'prosemirror-state';
|
|
2
2
|
import { Editor } from './Editor';
|
|
3
|
-
import {
|
|
4
|
-
export
|
|
3
|
+
import { AnyCommands, CanCommands, ChainedCommands, CommandProps, SingleCommands } from './types';
|
|
4
|
+
export declare class CommandManager {
|
|
5
5
|
editor: Editor;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
rawCommands: AnyCommands;
|
|
7
|
+
customState?: EditorState;
|
|
8
|
+
constructor(props: {
|
|
9
|
+
editor: Editor;
|
|
10
|
+
state?: EditorState;
|
|
11
|
+
});
|
|
12
|
+
get hasCustomState(): boolean;
|
|
13
|
+
get state(): EditorState;
|
|
14
|
+
get commands(): SingleCommands;
|
|
15
|
+
get chain(): () => ChainedCommands;
|
|
16
|
+
get can(): () => CanCommands;
|
|
9
17
|
createChain(startTr?: Transaction, shouldDispatch?: boolean): ChainedCommands;
|
|
10
18
|
createCan(startTr?: Transaction): CanCommands;
|
|
11
19
|
buildProps(tr: Transaction, shouldDispatch?: boolean): CommandProps;
|
|
12
|
-
chainableState(tr: Transaction, state: EditorState): EditorState;
|
|
13
20
|
}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
|
+
import { MarkType, NodeType, Schema } from 'prosemirror-model';
|
|
1
2
|
import { EditorState, Plugin, PluginKey, Transaction } from 'prosemirror-state';
|
|
2
3
|
import { EditorView } from 'prosemirror-view';
|
|
3
|
-
import {
|
|
4
|
-
import ExtensionManager from './ExtensionManager';
|
|
5
|
-
import EventEmitter from './EventEmitter';
|
|
6
|
-
import { EditorOptions, CanCommands, ChainedCommands, SingleCommands, AnyObject } from './types';
|
|
4
|
+
import { EventEmitter } from './EventEmitter';
|
|
5
|
+
import { ExtensionManager } from './ExtensionManager';
|
|
7
6
|
import * as extensions from './extensions';
|
|
7
|
+
import { CanCommands, ChainedCommands, EditorEvents, EditorOptions, JSONContent, SingleCommands, TextSerializer } from './types';
|
|
8
8
|
export { extensions };
|
|
9
9
|
export interface HTMLElement {
|
|
10
10
|
editor?: Editor;
|
|
11
11
|
}
|
|
12
|
-
export declare class Editor extends EventEmitter {
|
|
12
|
+
export declare class Editor extends EventEmitter<EditorEvents> {
|
|
13
13
|
private commandManager;
|
|
14
14
|
extensionManager: ExtensionManager;
|
|
15
15
|
private css;
|
|
16
16
|
schema: Schema;
|
|
17
17
|
view: EditorView;
|
|
18
18
|
isFocused: boolean;
|
|
19
|
-
|
|
19
|
+
extensionStorage: Record<string, any>;
|
|
20
20
|
options: EditorOptions;
|
|
21
21
|
constructor(options?: Partial<EditorOptions>);
|
|
22
|
+
/**
|
|
23
|
+
* Returns the editor storage.
|
|
24
|
+
*/
|
|
25
|
+
get storage(): Record<string, any>;
|
|
22
26
|
/**
|
|
23
27
|
* An object of all registered commands.
|
|
24
28
|
*/
|
|
@@ -63,7 +67,7 @@ export declare class Editor extends EventEmitter {
|
|
|
63
67
|
/**
|
|
64
68
|
* Unregister a ProseMirror plugin.
|
|
65
69
|
*
|
|
66
|
-
* @param
|
|
70
|
+
* @param nameOrPluginKey The plugins name
|
|
67
71
|
*/
|
|
68
72
|
unregisterPlugin(nameOrPluginKey: string | PluginKey): void;
|
|
69
73
|
/**
|
|
@@ -88,7 +92,7 @@ export declare class Editor extends EventEmitter {
|
|
|
88
92
|
createNodeViews(): void;
|
|
89
93
|
isCapturingTransaction: boolean;
|
|
90
94
|
private capturedTransaction;
|
|
91
|
-
captureTransaction(fn: Function): Transaction
|
|
95
|
+
captureTransaction(fn: Function): Transaction | null;
|
|
92
96
|
/**
|
|
93
97
|
* The callback over which to send transactions (state updates) produced by the view.
|
|
94
98
|
*
|
|
@@ -96,17 +100,9 @@ export declare class Editor extends EventEmitter {
|
|
|
96
100
|
*/
|
|
97
101
|
private dispatchTransaction;
|
|
98
102
|
/**
|
|
99
|
-
* Get attributes of the currently selected node.
|
|
100
|
-
*
|
|
101
|
-
* @param name Name of the node
|
|
103
|
+
* Get attributes of the currently selected node or mark.
|
|
102
104
|
*/
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Get attributes of the currently selected mark.
|
|
106
|
-
*
|
|
107
|
-
* @param name Name of the mark
|
|
108
|
-
*/
|
|
109
|
-
getMarkAttributes(name: string): AnyObject;
|
|
105
|
+
getAttributes(nameOrType: string | NodeType | MarkType): Record<string, any>;
|
|
110
106
|
/**
|
|
111
107
|
* Returns if the currently selected node or mark is active.
|
|
112
108
|
*
|
|
@@ -118,17 +114,26 @@ export declare class Editor extends EventEmitter {
|
|
|
118
114
|
/**
|
|
119
115
|
* Get the document as JSON.
|
|
120
116
|
*/
|
|
121
|
-
getJSON():
|
|
117
|
+
getJSON(): JSONContent;
|
|
122
118
|
/**
|
|
123
119
|
* Get the document as HTML.
|
|
124
120
|
*/
|
|
125
121
|
getHTML(): string;
|
|
122
|
+
/**
|
|
123
|
+
* Get the document as text.
|
|
124
|
+
*/
|
|
125
|
+
getText(options?: {
|
|
126
|
+
blockSeparator?: string;
|
|
127
|
+
textSerializers?: Record<string, TextSerializer>;
|
|
128
|
+
}): string;
|
|
126
129
|
/**
|
|
127
130
|
* Check if there is no content.
|
|
128
131
|
*/
|
|
129
132
|
get isEmpty(): boolean;
|
|
130
133
|
/**
|
|
131
134
|
* Get the number of characters for the current document.
|
|
135
|
+
*
|
|
136
|
+
* @deprecated
|
|
132
137
|
*/
|
|
133
138
|
getCharacterCount(): number;
|
|
134
139
|
/**
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
declare type StringKeyOf<T> = Extract<keyof T, string>;
|
|
2
|
+
declare type CallbackType<T extends Record<string, any>, EventName extends StringKeyOf<T>> = T[EventName] extends any[] ? T[EventName] : [T[EventName]];
|
|
3
|
+
declare type CallbackFunction<T extends Record<string, any>, EventName extends StringKeyOf<T>> = (...props: CallbackType<T, EventName>) => any;
|
|
4
|
+
export declare class EventEmitter<T extends Record<string, any>> {
|
|
2
5
|
private callbacks;
|
|
3
|
-
on(event:
|
|
4
|
-
protected emit(event:
|
|
5
|
-
off(event:
|
|
6
|
+
on<EventName extends StringKeyOf<T>>(event: EventName, fn: CallbackFunction<T, EventName>): this;
|
|
7
|
+
protected emit<EventName extends StringKeyOf<T>>(event: EventName, ...args: CallbackType<T, EventName>): this;
|
|
8
|
+
off<EventName extends StringKeyOf<T>>(event: EventName, fn?: CallbackFunction<T, EventName>): this;
|
|
6
9
|
protected removeAllListeners(): void;
|
|
7
10
|
}
|
|
11
|
+
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Plugin, Transaction } from 'prosemirror-state';
|
|
2
|
-
import {
|
|
3
|
-
import { InputRule } from 'prosemirror-inputrules';
|
|
2
|
+
import { ExtensionConfig } from '.';
|
|
4
3
|
import { Editor } from './Editor';
|
|
4
|
+
import { InputRule } from './InputRule';
|
|
5
|
+
import { Mark } from './Mark';
|
|
5
6
|
import { Node } from './Node';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
7
|
+
import { PasteRule } from './PasteRule';
|
|
8
|
+
import { Extensions, GlobalAttributes, KeyboardShortcutCommand, ParentConfig, RawCommands } from './types';
|
|
8
9
|
declare module '@tiptap/core' {
|
|
9
|
-
interface ExtensionConfig<Options = any> {
|
|
10
|
+
interface ExtensionConfig<Options = any, Storage = any> {
|
|
10
11
|
[key: string]: any;
|
|
11
12
|
/**
|
|
12
13
|
* Name
|
|
@@ -20,99 +21,158 @@ declare module '@tiptap/core' {
|
|
|
20
21
|
* Default options
|
|
21
22
|
*/
|
|
22
23
|
defaultOptions?: Options;
|
|
24
|
+
/**
|
|
25
|
+
* Default Options
|
|
26
|
+
*/
|
|
27
|
+
addOptions?: (this: {
|
|
28
|
+
name: string;
|
|
29
|
+
parent: Exclude<ParentConfig<ExtensionConfig<Options, Storage>>['addOptions'], undefined>;
|
|
30
|
+
}) => Options;
|
|
31
|
+
/**
|
|
32
|
+
* Default Storage
|
|
33
|
+
*/
|
|
34
|
+
addStorage?: (this: {
|
|
35
|
+
name: string;
|
|
36
|
+
options: Options;
|
|
37
|
+
parent: Exclude<ParentConfig<ExtensionConfig<Options, Storage>>['addStorage'], undefined>;
|
|
38
|
+
}) => Storage;
|
|
23
39
|
/**
|
|
24
40
|
* Global attributes
|
|
25
41
|
*/
|
|
26
42
|
addGlobalAttributes?: (this: {
|
|
43
|
+
name: string;
|
|
27
44
|
options: Options;
|
|
45
|
+
storage: Storage;
|
|
46
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addGlobalAttributes'];
|
|
28
47
|
}) => GlobalAttributes | {};
|
|
29
48
|
/**
|
|
30
49
|
* Raw
|
|
31
50
|
*/
|
|
32
51
|
addCommands?: (this: {
|
|
52
|
+
name: string;
|
|
33
53
|
options: Options;
|
|
54
|
+
storage: Storage;
|
|
34
55
|
editor: Editor;
|
|
56
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addCommands'];
|
|
35
57
|
}) => Partial<RawCommands>;
|
|
36
58
|
/**
|
|
37
59
|
* Keyboard shortcuts
|
|
38
60
|
*/
|
|
39
61
|
addKeyboardShortcuts?: (this: {
|
|
62
|
+
name: string;
|
|
40
63
|
options: Options;
|
|
64
|
+
storage: Storage;
|
|
41
65
|
editor: Editor;
|
|
66
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addKeyboardShortcuts'];
|
|
42
67
|
}) => {
|
|
43
|
-
[key: string]:
|
|
68
|
+
[key: string]: KeyboardShortcutCommand;
|
|
44
69
|
};
|
|
45
70
|
/**
|
|
46
71
|
* Input rules
|
|
47
72
|
*/
|
|
48
73
|
addInputRules?: (this: {
|
|
74
|
+
name: string;
|
|
49
75
|
options: Options;
|
|
76
|
+
storage: Storage;
|
|
50
77
|
editor: Editor;
|
|
78
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addInputRules'];
|
|
51
79
|
}) => InputRule[];
|
|
52
80
|
/**
|
|
53
81
|
* Paste rules
|
|
54
82
|
*/
|
|
55
83
|
addPasteRules?: (this: {
|
|
84
|
+
name: string;
|
|
56
85
|
options: Options;
|
|
86
|
+
storage: Storage;
|
|
57
87
|
editor: Editor;
|
|
58
|
-
|
|
88
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addPasteRules'];
|
|
89
|
+
}) => PasteRule[];
|
|
59
90
|
/**
|
|
60
91
|
* ProseMirror plugins
|
|
61
92
|
*/
|
|
62
93
|
addProseMirrorPlugins?: (this: {
|
|
94
|
+
name: string;
|
|
63
95
|
options: Options;
|
|
96
|
+
storage: Storage;
|
|
64
97
|
editor: Editor;
|
|
98
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addProseMirrorPlugins'];
|
|
65
99
|
}) => Plugin[];
|
|
100
|
+
/**
|
|
101
|
+
* Extensions
|
|
102
|
+
*/
|
|
103
|
+
addExtensions?: (this: {
|
|
104
|
+
name: string;
|
|
105
|
+
options: Options;
|
|
106
|
+
storage: Storage;
|
|
107
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['addExtensions'];
|
|
108
|
+
}) => Extensions;
|
|
66
109
|
/**
|
|
67
110
|
* Extend Node Schema
|
|
68
111
|
*/
|
|
69
112
|
extendNodeSchema?: ((this: {
|
|
113
|
+
name: string;
|
|
70
114
|
options: Options;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}) | null;
|
|
115
|
+
storage: Storage;
|
|
116
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['extendNodeSchema'];
|
|
117
|
+
}, extension: Node) => Record<string, any>) | null;
|
|
74
118
|
/**
|
|
75
119
|
* Extend Mark Schema
|
|
76
120
|
*/
|
|
77
121
|
extendMarkSchema?: ((this: {
|
|
122
|
+
name: string;
|
|
78
123
|
options: Options;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}) | null;
|
|
124
|
+
storage: Storage;
|
|
125
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['extendMarkSchema'];
|
|
126
|
+
}, extension: Mark) => Record<string, any>) | null;
|
|
127
|
+
/**
|
|
128
|
+
* The editor is not ready yet.
|
|
129
|
+
*/
|
|
130
|
+
onBeforeCreate?: ((this: {
|
|
131
|
+
name: string;
|
|
132
|
+
options: Options;
|
|
133
|
+
storage: Storage;
|
|
134
|
+
editor: Editor;
|
|
135
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onBeforeCreate'];
|
|
136
|
+
}) => void) | null;
|
|
82
137
|
/**
|
|
83
138
|
* The editor is ready.
|
|
84
139
|
*/
|
|
85
140
|
onCreate?: ((this: {
|
|
141
|
+
name: string;
|
|
86
142
|
options: Options;
|
|
143
|
+
storage: Storage;
|
|
87
144
|
editor: Editor;
|
|
145
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onCreate'];
|
|
88
146
|
}) => void) | null;
|
|
89
147
|
/**
|
|
90
148
|
* The content has changed.
|
|
91
149
|
*/
|
|
92
150
|
onUpdate?: ((this: {
|
|
151
|
+
name: string;
|
|
93
152
|
options: Options;
|
|
153
|
+
storage: Storage;
|
|
94
154
|
editor: Editor;
|
|
155
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onUpdate'];
|
|
95
156
|
}) => void) | null;
|
|
96
157
|
/**
|
|
97
158
|
* The selection has changed.
|
|
98
159
|
*/
|
|
99
160
|
onSelectionUpdate?: ((this: {
|
|
161
|
+
name: string;
|
|
100
162
|
options: Options;
|
|
163
|
+
storage: Storage;
|
|
101
164
|
editor: Editor;
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* The view has changed.
|
|
105
|
-
*/
|
|
106
|
-
onViewUpdate?: ((this: {
|
|
107
|
-
options: Options;
|
|
108
|
-
editor: Editor;
|
|
165
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onSelectionUpdate'];
|
|
109
166
|
}) => void) | null;
|
|
110
167
|
/**
|
|
111
168
|
* The editor state has changed.
|
|
112
169
|
*/
|
|
113
170
|
onTransaction?: ((this: {
|
|
171
|
+
name: string;
|
|
114
172
|
options: Options;
|
|
173
|
+
storage: Storage;
|
|
115
174
|
editor: Editor;
|
|
175
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onTransaction'];
|
|
116
176
|
}, props: {
|
|
117
177
|
transaction: Transaction;
|
|
118
178
|
}) => void) | null;
|
|
@@ -120,8 +180,11 @@ declare module '@tiptap/core' {
|
|
|
120
180
|
* The editor is focused.
|
|
121
181
|
*/
|
|
122
182
|
onFocus?: ((this: {
|
|
183
|
+
name: string;
|
|
123
184
|
options: Options;
|
|
185
|
+
storage: Storage;
|
|
124
186
|
editor: Editor;
|
|
187
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onFocus'];
|
|
125
188
|
}, props: {
|
|
126
189
|
event: FocusEvent;
|
|
127
190
|
}) => void) | null;
|
|
@@ -129,8 +192,11 @@ declare module '@tiptap/core' {
|
|
|
129
192
|
* The editor isn’t focused anymore.
|
|
130
193
|
*/
|
|
131
194
|
onBlur?: ((this: {
|
|
195
|
+
name: string;
|
|
132
196
|
options: Options;
|
|
197
|
+
storage: Storage;
|
|
133
198
|
editor: Editor;
|
|
199
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onBlur'];
|
|
134
200
|
}, props: {
|
|
135
201
|
event: FocusEvent;
|
|
136
202
|
}) => void) | null;
|
|
@@ -138,18 +204,24 @@ declare module '@tiptap/core' {
|
|
|
138
204
|
* The editor is destroyed.
|
|
139
205
|
*/
|
|
140
206
|
onDestroy?: ((this: {
|
|
207
|
+
name: string;
|
|
141
208
|
options: Options;
|
|
209
|
+
storage: Storage;
|
|
142
210
|
editor: Editor;
|
|
211
|
+
parent: ParentConfig<ExtensionConfig<Options, Storage>>['onDestroy'];
|
|
143
212
|
}) => void) | null;
|
|
144
213
|
}
|
|
145
214
|
}
|
|
146
|
-
export declare class Extension<Options = any> {
|
|
147
|
-
#private;
|
|
215
|
+
export declare class Extension<Options = any, Storage = any> {
|
|
148
216
|
type: string;
|
|
149
|
-
|
|
217
|
+
name: string;
|
|
218
|
+
parent: Extension | null;
|
|
219
|
+
child: Extension | null;
|
|
150
220
|
options: Options;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
221
|
+
storage: Storage;
|
|
222
|
+
config: ExtensionConfig;
|
|
223
|
+
constructor(config?: Partial<ExtensionConfig<Options, Storage>>);
|
|
224
|
+
static create<O = any, S = any>(config?: Partial<ExtensionConfig<O, S>>): Extension<O, S>;
|
|
225
|
+
configure(options?: Partial<Options>): Extension<Options, Storage>;
|
|
226
|
+
extend<ExtendedOptions = Options, ExtendedStorage = Storage>(extendedConfig?: Partial<ExtensionConfig<ExtendedOptions, ExtendedStorage>>): Extension<ExtendedOptions, ExtendedStorage>;
|
|
155
227
|
}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
import { Schema
|
|
2
|
-
import { EditorView, Decoration } from 'prosemirror-view';
|
|
1
|
+
import { Schema } from 'prosemirror-model';
|
|
3
2
|
import { Plugin } from 'prosemirror-state';
|
|
4
3
|
import { Editor } from './Editor';
|
|
5
4
|
import { Extensions, RawCommands } from './types';
|
|
6
|
-
export
|
|
5
|
+
export declare class ExtensionManager {
|
|
7
6
|
editor: Editor;
|
|
8
7
|
schema: Schema;
|
|
9
8
|
extensions: Extensions;
|
|
10
9
|
splittableMarks: string[];
|
|
11
10
|
constructor(extensions: Extensions, editor: Editor);
|
|
12
|
-
|
|
11
|
+
static resolve(extensions: Extensions): Extensions;
|
|
12
|
+
static flatten(extensions: Extensions): Extensions;
|
|
13
|
+
static sort(extensions: Extensions): Extensions;
|
|
13
14
|
get commands(): RawCommands;
|
|
14
15
|
get plugins(): Plugin[];
|
|
15
|
-
get attributes(): import("
|
|
16
|
-
get nodeViews():
|
|
17
|
-
[k: string]: (node: ProsemirrorNode, view: EditorView, getPos: (() => number) | boolean, decorations: Decoration[]) => {} | import("prosemirror-view").NodeView<any>;
|
|
18
|
-
};
|
|
19
|
-
get textSerializers(): {
|
|
20
|
-
[k: string]: (props: {
|
|
21
|
-
node: ProsemirrorNode;
|
|
22
|
-
}) => string | undefined;
|
|
23
|
-
};
|
|
16
|
+
get attributes(): import("@tiptap/core").ExtensionAttribute[];
|
|
17
|
+
get nodeViews(): any;
|
|
24
18
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EditorState, Plugin } from 'prosemirror-state';
|
|
2
|
+
import { Editor } from './Editor';
|
|
3
|
+
import { CanCommands, ChainedCommands, ExtendedRegExpMatchArray, Range, SingleCommands } from './types';
|
|
4
|
+
export declare type InputRuleMatch = {
|
|
5
|
+
index: number;
|
|
6
|
+
text: string;
|
|
7
|
+
replaceWith?: string;
|
|
8
|
+
match?: RegExpMatchArray;
|
|
9
|
+
data?: Record<string, any>;
|
|
10
|
+
};
|
|
11
|
+
export declare type InputRuleFinder = RegExp | ((text: string) => InputRuleMatch | null);
|
|
12
|
+
export declare class InputRule {
|
|
13
|
+
find: InputRuleFinder;
|
|
14
|
+
handler: (props: {
|
|
15
|
+
state: EditorState;
|
|
16
|
+
range: Range;
|
|
17
|
+
match: ExtendedRegExpMatchArray;
|
|
18
|
+
commands: SingleCommands;
|
|
19
|
+
chain: () => ChainedCommands;
|
|
20
|
+
can: () => CanCommands;
|
|
21
|
+
}) => void | null;
|
|
22
|
+
constructor(config: {
|
|
23
|
+
find: InputRuleFinder;
|
|
24
|
+
handler: (props: {
|
|
25
|
+
state: EditorState;
|
|
26
|
+
range: Range;
|
|
27
|
+
match: ExtendedRegExpMatchArray;
|
|
28
|
+
commands: SingleCommands;
|
|
29
|
+
chain: () => ChainedCommands;
|
|
30
|
+
can: () => CanCommands;
|
|
31
|
+
}) => void | null;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create an input rules plugin. When enabled, it will cause text
|
|
36
|
+
* input that matches any of the given rules to trigger the rule’s
|
|
37
|
+
* action.
|
|
38
|
+
*/
|
|
39
|
+
export declare function inputRulesPlugin(props: {
|
|
40
|
+
editor: Editor;
|
|
41
|
+
rules: InputRule[];
|
|
42
|
+
}): Plugin;
|