@tiptap/core 2.7.4 → 2.9.0
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/dist/{packages/core/src/CommandManager.d.ts → CommandManager.d.ts} +1 -0
- package/dist/CommandManager.d.ts.map +1 -0
- package/dist/{packages/core/src/Editor.d.ts → Editor.d.ts} +3 -2
- package/dist/Editor.d.ts.map +1 -0
- package/dist/{packages/core/src/EventEmitter.d.ts → EventEmitter.d.ts} +1 -0
- package/dist/EventEmitter.d.ts.map +1 -0
- package/dist/{packages/core/src/Extension.d.ts → Extension.d.ts} +1 -0
- package/dist/Extension.d.ts.map +1 -0
- package/dist/{packages/core/src/ExtensionManager.d.ts → ExtensionManager.d.ts} +1 -0
- package/dist/ExtensionManager.d.ts.map +1 -0
- package/dist/{packages/core/src/InputRule.d.ts → InputRule.d.ts} +1 -0
- package/dist/InputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/Mark.d.ts → Mark.d.ts} +1 -0
- package/dist/Mark.d.ts.map +1 -0
- package/dist/{packages/core/src/Node.d.ts → Node.d.ts} +1 -0
- package/dist/Node.d.ts.map +1 -0
- package/dist/{packages/core/src/NodePos.d.ts → NodePos.d.ts} +1 -0
- package/dist/NodePos.d.ts.map +1 -0
- package/dist/{packages/core/src/NodeView.d.ts → NodeView.d.ts} +1 -0
- package/dist/NodeView.d.ts.map +1 -0
- package/dist/{packages/core/src/PasteRule.d.ts → PasteRule.d.ts} +1 -0
- package/dist/PasteRule.d.ts.map +1 -0
- package/dist/{packages/core/src/Tracker.d.ts → Tracker.d.ts} +1 -0
- package/dist/Tracker.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/blur.d.ts +1 -0
- package/dist/commands/blur.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/clearContent.d.ts +1 -0
- package/dist/commands/clearContent.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/clearNodes.d.ts +1 -0
- package/dist/commands/clearNodes.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/command.d.ts +1 -0
- package/dist/commands/command.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/createParagraphNear.d.ts +1 -0
- package/dist/commands/createParagraphNear.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/cut.d.ts +1 -0
- package/dist/commands/cut.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/deleteCurrentNode.d.ts +1 -0
- package/dist/commands/deleteCurrentNode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/deleteNode.d.ts +1 -0
- package/dist/commands/deleteNode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/deleteRange.d.ts +1 -0
- package/dist/commands/deleteRange.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/deleteSelection.d.ts +1 -0
- package/dist/commands/deleteSelection.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/enter.d.ts +1 -0
- package/dist/commands/enter.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/exitCode.d.ts +1 -0
- package/dist/commands/exitCode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/extendMarkRange.d.ts +1 -0
- package/dist/commands/extendMarkRange.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/first.d.ts +1 -0
- package/dist/commands/first.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/focus.d.ts +1 -0
- package/dist/commands/focus.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/forEach.d.ts +1 -0
- package/dist/commands/forEach.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/insertContent.d.ts +1 -0
- package/dist/commands/insertContent.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/insertContentAt.d.ts +1 -0
- package/dist/commands/insertContentAt.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/join.d.ts +1 -0
- package/dist/commands/join.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/joinItemBackward.d.ts +1 -0
- package/dist/commands/joinItemBackward.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/joinItemForward.d.ts +1 -0
- package/dist/commands/joinItemForward.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/joinTextblockBackward.d.ts +1 -0
- package/dist/commands/joinTextblockBackward.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/joinTextblockForward.d.ts +1 -0
- package/dist/commands/joinTextblockForward.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/keyboardShortcut.d.ts +1 -0
- package/dist/commands/keyboardShortcut.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/lift.d.ts +1 -0
- package/dist/commands/lift.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/liftEmptyBlock.d.ts +1 -0
- package/dist/commands/liftEmptyBlock.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/liftListItem.d.ts +1 -0
- package/dist/commands/liftListItem.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/newlineInCode.d.ts +1 -0
- package/dist/commands/newlineInCode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/resetAttributes.d.ts +1 -0
- package/dist/commands/resetAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/scrollIntoView.d.ts +1 -0
- package/dist/commands/scrollIntoView.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/selectAll.d.ts +1 -0
- package/dist/commands/selectAll.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/selectNodeBackward.d.ts +1 -0
- package/dist/commands/selectNodeBackward.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/selectNodeForward.d.ts +1 -0
- package/dist/commands/selectNodeForward.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/selectParentNode.d.ts +1 -0
- package/dist/commands/selectParentNode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/selectTextblockEnd.d.ts +1 -0
- package/dist/commands/selectTextblockEnd.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/selectTextblockStart.d.ts +1 -0
- package/dist/commands/selectTextblockStart.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/setContent.d.ts +1 -0
- package/dist/commands/setContent.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/setMark.d.ts +1 -0
- package/dist/commands/setMark.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/setMeta.d.ts +1 -0
- package/dist/commands/setMeta.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/setNode.d.ts +1 -0
- package/dist/commands/setNode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/setNodeSelection.d.ts +1 -0
- package/dist/commands/setNodeSelection.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/setTextSelection.d.ts +1 -0
- package/dist/commands/setTextSelection.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/sinkListItem.d.ts +1 -0
- package/dist/commands/sinkListItem.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/splitBlock.d.ts +1 -0
- package/dist/commands/splitBlock.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/splitListItem.d.ts +1 -0
- package/dist/commands/splitListItem.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/toggleList.d.ts +1 -0
- package/dist/commands/toggleList.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/toggleMark.d.ts +1 -0
- package/dist/commands/toggleMark.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/toggleNode.d.ts +1 -0
- package/dist/commands/toggleNode.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/toggleWrap.d.ts +1 -0
- package/dist/commands/toggleWrap.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/undoInputRule.d.ts +1 -0
- package/dist/commands/undoInputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/unsetAllMarks.d.ts +1 -0
- package/dist/commands/unsetAllMarks.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/unsetMark.d.ts +1 -0
- package/dist/commands/unsetMark.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/updateAttributes.d.ts +1 -0
- package/dist/commands/updateAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/wrapIn.d.ts +1 -0
- package/dist/commands/wrapIn.d.ts.map +1 -0
- package/dist/{packages/core/src/commands → commands}/wrapInList.d.ts +1 -0
- package/dist/commands/wrapInList.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/clipboardTextSerializer.d.ts +1 -0
- package/dist/extensions/clipboardTextSerializer.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/commands.d.ts +1 -0
- package/dist/extensions/commands.d.ts.map +1 -0
- package/dist/extensions/drop.d.ts +3 -0
- package/dist/extensions/drop.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/editable.d.ts +1 -0
- package/dist/extensions/editable.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/focusEvents.d.ts +1 -0
- package/dist/extensions/focusEvents.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/index.d.ts +3 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/keymap.d.ts +1 -0
- package/dist/extensions/keymap.d.ts.map +1 -0
- package/dist/extensions/paste.d.ts +3 -0
- package/dist/extensions/paste.d.ts.map +1 -0
- package/dist/{packages/core/src/extensions → extensions}/tabindex.d.ts +1 -0
- package/dist/extensions/tabindex.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/combineTransactionSteps.d.ts +1 -0
- package/dist/helpers/combineTransactionSteps.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/createChainableState.d.ts +1 -0
- package/dist/helpers/createChainableState.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/createDocument.d.ts +1 -0
- package/dist/helpers/createDocument.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/createNodeFromContent.d.ts +1 -0
- package/dist/helpers/createNodeFromContent.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/defaultBlockAt.d.ts +1 -0
- package/dist/helpers/defaultBlockAt.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/findChildren.d.ts +1 -0
- package/dist/helpers/findChildren.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/findChildrenInRange.d.ts +1 -0
- package/dist/helpers/findChildrenInRange.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/findParentNode.d.ts +1 -0
- package/dist/helpers/findParentNode.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/findParentNodeClosestToPos.d.ts +1 -0
- package/dist/helpers/findParentNodeClosestToPos.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/generateHTML.d.ts +1 -0
- package/dist/helpers/generateHTML.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/generateJSON.d.ts +1 -0
- package/dist/helpers/generateJSON.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/generateText.d.ts +1 -0
- package/dist/helpers/generateText.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getAttributes.d.ts +1 -0
- package/dist/helpers/getAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getAttributesFromExtensions.d.ts +1 -0
- package/dist/helpers/getAttributesFromExtensions.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getChangedRanges.d.ts +1 -0
- package/dist/helpers/getChangedRanges.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getDebugJSON.d.ts +1 -0
- package/dist/helpers/getDebugJSON.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getExtensionField.d.ts +1 -0
- package/dist/helpers/getExtensionField.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getHTMLFromFragment.d.ts +1 -0
- package/dist/helpers/getHTMLFromFragment.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getMarkAttributes.d.ts +1 -0
- package/dist/helpers/getMarkAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getMarkRange.d.ts +1 -0
- package/dist/helpers/getMarkRange.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getMarkType.d.ts +1 -0
- package/dist/helpers/getMarkType.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getMarksBetween.d.ts +1 -0
- package/dist/helpers/getMarksBetween.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getNodeAtPosition.d.ts +1 -0
- package/dist/helpers/getNodeAtPosition.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getNodeAttributes.d.ts +1 -0
- package/dist/helpers/getNodeAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getNodeType.d.ts +1 -0
- package/dist/helpers/getNodeType.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getRenderedAttributes.d.ts +1 -0
- package/dist/helpers/getRenderedAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getSchema.d.ts +1 -0
- package/dist/helpers/getSchema.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getSchemaByResolvedExtensions.d.ts +1 -0
- package/dist/helpers/getSchemaByResolvedExtensions.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getSchemaTypeByName.d.ts +1 -0
- package/dist/helpers/getSchemaTypeByName.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getSchemaTypeNameByName.d.ts +1 -0
- package/dist/helpers/getSchemaTypeNameByName.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getSplittedAttributes.d.ts +1 -0
- package/dist/helpers/getSplittedAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getText.d.ts +1 -0
- package/dist/helpers/getText.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getTextBetween.d.ts +1 -0
- package/dist/helpers/getTextBetween.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getTextContentFromNodes.d.ts +1 -0
- package/dist/helpers/getTextContentFromNodes.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/getTextSerializersFromSchema.d.ts +1 -0
- package/dist/helpers/getTextSerializersFromSchema.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/injectExtensionAttributesToParseRule.d.ts +1 -0
- package/dist/helpers/injectExtensionAttributesToParseRule.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isActive.d.ts +1 -0
- package/dist/helpers/isActive.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isAtEndOfNode.d.ts +1 -0
- package/dist/helpers/isAtEndOfNode.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isAtStartOfNode.d.ts +1 -0
- package/dist/helpers/isAtStartOfNode.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isExtensionRulesEnabled.d.ts +1 -0
- package/dist/helpers/isExtensionRulesEnabled.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isList.d.ts +1 -0
- package/dist/helpers/isList.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isMarkActive.d.ts +1 -0
- package/dist/helpers/isMarkActive.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isNodeActive.d.ts +1 -0
- package/dist/helpers/isNodeActive.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isNodeEmpty.d.ts +1 -0
- package/dist/helpers/isNodeEmpty.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isNodeSelection.d.ts +1 -0
- package/dist/helpers/isNodeSelection.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/isTextSelection.d.ts +1 -0
- package/dist/helpers/isTextSelection.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/posToDOMRect.d.ts +1 -0
- package/dist/helpers/posToDOMRect.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/resolveFocusPosition.d.ts +1 -0
- package/dist/helpers/resolveFocusPosition.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/selectionToInsertionEnd.d.ts +1 -0
- package/dist/helpers/selectionToInsertionEnd.d.ts.map +1 -0
- package/dist/{packages/core/src/helpers → helpers}/splitExtensions.d.ts +1 -0
- package/dist/helpers/splitExtensions.d.ts.map +1 -0
- package/dist/index.cjs +206 -161
- package/dist/index.cjs.map +1 -1
- package/dist/{packages/core/src/index.d.ts → index.d.ts} +1 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +207 -160
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +206 -161
- package/dist/index.umd.js.map +1 -1
- package/dist/{packages/core/src/inputRules → inputRules}/index.d.ts +1 -0
- package/dist/inputRules/index.d.ts.map +1 -0
- package/dist/{packages/core/src/inputRules → inputRules}/markInputRule.d.ts +1 -0
- package/dist/inputRules/markInputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/inputRules → inputRules}/nodeInputRule.d.ts +1 -0
- package/dist/inputRules/nodeInputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/inputRules → inputRules}/textInputRule.d.ts +1 -0
- package/dist/inputRules/textInputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/inputRules → inputRules}/textblockTypeInputRule.d.ts +1 -0
- package/dist/inputRules/textblockTypeInputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/inputRules → inputRules}/wrappingInputRule.d.ts +1 -0
- package/dist/inputRules/wrappingInputRule.d.ts.map +1 -0
- package/dist/{packages/core/src/pasteRules → pasteRules}/index.d.ts +1 -0
- package/dist/pasteRules/index.d.ts.map +1 -0
- package/dist/{packages/core/src/pasteRules → pasteRules}/markPasteRule.d.ts +1 -0
- package/dist/pasteRules/markPasteRule.d.ts.map +1 -0
- package/dist/{packages/core/src/pasteRules → pasteRules}/nodePasteRule.d.ts +1 -0
- package/dist/pasteRules/nodePasteRule.d.ts.map +1 -0
- package/dist/{packages/core/src/pasteRules → pasteRules}/textPasteRule.d.ts +1 -0
- package/dist/pasteRules/textPasteRule.d.ts.map +1 -0
- package/dist/{packages/core/src/style.d.ts → style.d.ts} +1 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/{packages/core/src/types.d.ts → types.d.ts} +60 -4
- package/dist/types.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/callOrReturn.d.ts +1 -0
- package/dist/utilities/callOrReturn.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/createStyleTag.d.ts +1 -0
- package/dist/utilities/createStyleTag.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/deleteProps.d.ts +1 -0
- package/dist/utilities/deleteProps.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/elementFromString.d.ts +1 -0
- package/dist/utilities/elementFromString.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/escapeForRegEx.d.ts +1 -0
- package/dist/utilities/escapeForRegEx.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/findDuplicates.d.ts +1 -0
- package/dist/utilities/findDuplicates.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/fromString.d.ts +1 -0
- package/dist/utilities/fromString.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/index.d.ts +1 -0
- package/dist/utilities/index.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isAndroid.d.ts +1 -0
- package/dist/utilities/isAndroid.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isEmptyObject.d.ts +1 -0
- package/dist/utilities/isEmptyObject.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isFunction.d.ts +1 -0
- package/dist/utilities/isFunction.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isMacOS.d.ts +1 -0
- package/dist/utilities/isMacOS.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isNumber.d.ts +1 -0
- package/dist/utilities/isNumber.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isPlainObject.d.ts +1 -0
- package/dist/utilities/isPlainObject.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isRegExp.d.ts +1 -0
- package/dist/utilities/isRegExp.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isString.d.ts +1 -0
- package/dist/utilities/isString.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/isiOS.d.ts +1 -0
- package/dist/utilities/isiOS.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/mergeAttributes.d.ts +1 -0
- package/dist/utilities/mergeAttributes.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/mergeDeep.d.ts +1 -0
- package/dist/utilities/mergeDeep.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/minMax.d.ts +1 -0
- package/dist/utilities/minMax.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/objectIncludes.d.ts +1 -0
- package/dist/utilities/objectIncludes.d.ts.map +1 -0
- package/dist/{packages/core/src/utilities → utilities}/removeDuplicates.d.ts +1 -0
- package/dist/utilities/removeDuplicates.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/Editor.ts +35 -17
- package/src/ExtensionManager.ts +2 -1
- package/src/NodePos.ts +9 -4
- package/src/commands/insertContentAt.ts +4 -2
- package/src/extensions/drop.ts +26 -0
- package/src/extensions/index.ts +2 -0
- package/src/extensions/paste.ts +26 -0
- package/src/helpers/getMarkRange.ts +6 -3
- package/src/index.ts +0 -2
- package/src/types.ts +53 -3
- package/dist/packages/core/src/plugins/DropPlugin.d.ts +0 -3
- package/dist/packages/core/src/plugins/PastePlugin.d.ts +0 -3
- package/src/plugins/DropPlugin.ts +0 -14
- package/src/plugins/PastePlugin.ts +0 -14
package/dist/index.umd.js
CHANGED
|
@@ -777,6 +777,123 @@
|
|
|
777
777
|
return plugin;
|
|
778
778
|
}
|
|
779
779
|
|
|
780
|
+
// see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts
|
|
781
|
+
function getType(value) {
|
|
782
|
+
return Object.prototype.toString.call(value).slice(8, -1);
|
|
783
|
+
}
|
|
784
|
+
function isPlainObject(value) {
|
|
785
|
+
if (getType(value) !== 'Object') {
|
|
786
|
+
return false;
|
|
787
|
+
}
|
|
788
|
+
return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
function mergeDeep(target, source) {
|
|
792
|
+
const output = { ...target };
|
|
793
|
+
if (isPlainObject(target) && isPlainObject(source)) {
|
|
794
|
+
Object.keys(source).forEach(key => {
|
|
795
|
+
if (isPlainObject(source[key]) && isPlainObject(target[key])) {
|
|
796
|
+
output[key] = mergeDeep(target[key], source[key]);
|
|
797
|
+
}
|
|
798
|
+
else {
|
|
799
|
+
output[key] = source[key];
|
|
800
|
+
}
|
|
801
|
+
});
|
|
802
|
+
}
|
|
803
|
+
return output;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* The Mark class is used to create custom mark extensions.
|
|
808
|
+
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
809
|
+
*/
|
|
810
|
+
class Mark {
|
|
811
|
+
constructor(config = {}) {
|
|
812
|
+
this.type = 'mark';
|
|
813
|
+
this.name = 'mark';
|
|
814
|
+
this.parent = null;
|
|
815
|
+
this.child = null;
|
|
816
|
+
this.config = {
|
|
817
|
+
name: this.name,
|
|
818
|
+
defaultOptions: {},
|
|
819
|
+
};
|
|
820
|
+
this.config = {
|
|
821
|
+
...this.config,
|
|
822
|
+
...config,
|
|
823
|
+
};
|
|
824
|
+
this.name = this.config.name;
|
|
825
|
+
if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
|
|
826
|
+
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
|
|
827
|
+
}
|
|
828
|
+
// TODO: remove `addOptions` fallback
|
|
829
|
+
this.options = this.config.defaultOptions;
|
|
830
|
+
if (this.config.addOptions) {
|
|
831
|
+
this.options = callOrReturn(getExtensionField(this, 'addOptions', {
|
|
832
|
+
name: this.name,
|
|
833
|
+
}));
|
|
834
|
+
}
|
|
835
|
+
this.storage = callOrReturn(getExtensionField(this, 'addStorage', {
|
|
836
|
+
name: this.name,
|
|
837
|
+
options: this.options,
|
|
838
|
+
})) || {};
|
|
839
|
+
}
|
|
840
|
+
static create(config = {}) {
|
|
841
|
+
return new Mark(config);
|
|
842
|
+
}
|
|
843
|
+
configure(options = {}) {
|
|
844
|
+
// return a new instance so we can use the same extension
|
|
845
|
+
// with different calls of `configure`
|
|
846
|
+
const extension = this.extend({
|
|
847
|
+
...this.config,
|
|
848
|
+
addOptions: () => {
|
|
849
|
+
return mergeDeep(this.options, options);
|
|
850
|
+
},
|
|
851
|
+
});
|
|
852
|
+
// Always preserve the current name
|
|
853
|
+
extension.name = this.name;
|
|
854
|
+
// Set the parent to be our parent
|
|
855
|
+
extension.parent = this.parent;
|
|
856
|
+
return extension;
|
|
857
|
+
}
|
|
858
|
+
extend(extendedConfig = {}) {
|
|
859
|
+
const extension = new Mark(extendedConfig);
|
|
860
|
+
extension.parent = this;
|
|
861
|
+
this.child = extension;
|
|
862
|
+
extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
|
|
863
|
+
if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
|
|
864
|
+
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
|
|
865
|
+
}
|
|
866
|
+
extension.options = callOrReturn(getExtensionField(extension, 'addOptions', {
|
|
867
|
+
name: extension.name,
|
|
868
|
+
}));
|
|
869
|
+
extension.storage = callOrReturn(getExtensionField(extension, 'addStorage', {
|
|
870
|
+
name: extension.name,
|
|
871
|
+
options: extension.options,
|
|
872
|
+
}));
|
|
873
|
+
return extension;
|
|
874
|
+
}
|
|
875
|
+
static handleExit({ editor, mark }) {
|
|
876
|
+
const { tr } = editor.state;
|
|
877
|
+
const currentPos = editor.state.selection.$from;
|
|
878
|
+
const isAtEnd = currentPos.pos === currentPos.end();
|
|
879
|
+
if (isAtEnd) {
|
|
880
|
+
const currentMarks = currentPos.marks();
|
|
881
|
+
const isInMark = !!currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
882
|
+
if (!isInMark) {
|
|
883
|
+
return false;
|
|
884
|
+
}
|
|
885
|
+
const removeMark = currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
886
|
+
if (removeMark) {
|
|
887
|
+
tr.removeStoredMark(removeMark);
|
|
888
|
+
}
|
|
889
|
+
tr.insertText(' ', currentPos.pos);
|
|
890
|
+
editor.view.dispatch(tr);
|
|
891
|
+
return true;
|
|
892
|
+
}
|
|
893
|
+
return false;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
|
|
780
897
|
function isNumber(value) {
|
|
781
898
|
return typeof value === 'number';
|
|
782
899
|
}
|
|
@@ -1236,32 +1353,6 @@
|
|
|
1236
1353
|
}
|
|
1237
1354
|
}
|
|
1238
1355
|
|
|
1239
|
-
// see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts
|
|
1240
|
-
function getType(value) {
|
|
1241
|
-
return Object.prototype.toString.call(value).slice(8, -1);
|
|
1242
|
-
}
|
|
1243
|
-
function isPlainObject(value) {
|
|
1244
|
-
if (getType(value) !== 'Object') {
|
|
1245
|
-
return false;
|
|
1246
|
-
}
|
|
1247
|
-
return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
function mergeDeep(target, source) {
|
|
1251
|
-
const output = { ...target };
|
|
1252
|
-
if (isPlainObject(target) && isPlainObject(source)) {
|
|
1253
|
-
Object.keys(source).forEach(key => {
|
|
1254
|
-
if (isPlainObject(source[key]) && isPlainObject(target[key])) {
|
|
1255
|
-
output[key] = mergeDeep(target[key], source[key]);
|
|
1256
|
-
}
|
|
1257
|
-
else {
|
|
1258
|
-
output[key] = source[key];
|
|
1259
|
-
}
|
|
1260
|
-
});
|
|
1261
|
-
}
|
|
1262
|
-
return output;
|
|
1263
|
-
}
|
|
1264
|
-
|
|
1265
1356
|
/**
|
|
1266
1357
|
* The Extension class is the base class for all extensions.
|
|
1267
1358
|
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
@@ -1575,12 +1666,16 @@
|
|
|
1575
1666
|
return;
|
|
1576
1667
|
}
|
|
1577
1668
|
let start = $pos.parent.childAfter($pos.parentOffset);
|
|
1578
|
-
|
|
1669
|
+
// If the cursor is at the start of a text node that does not have the mark, look backward
|
|
1670
|
+
if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
|
|
1579
1671
|
start = $pos.parent.childBefore($pos.parentOffset);
|
|
1580
1672
|
}
|
|
1581
|
-
|
|
1673
|
+
// If there is no text node with the mark even backward, return undefined
|
|
1674
|
+
if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
|
|
1582
1675
|
return;
|
|
1583
1676
|
}
|
|
1677
|
+
// We now know that the cursor is either at the start, middle or end of a text node with the specified mark
|
|
1678
|
+
// so we can look it up on the targeted mark
|
|
1584
1679
|
const mark = findMarkInSet([...start.node.marks], type, attributes);
|
|
1585
1680
|
if (!mark) {
|
|
1586
1681
|
return;
|
|
@@ -1870,7 +1965,7 @@
|
|
|
1870
1965
|
var _a;
|
|
1871
1966
|
if (dispatch) {
|
|
1872
1967
|
options = {
|
|
1873
|
-
parseOptions:
|
|
1968
|
+
parseOptions: editor.options.parseOptions,
|
|
1874
1969
|
updateSelection: true,
|
|
1875
1970
|
applyInputRules: false,
|
|
1876
1971
|
applyPasteRules: false,
|
|
@@ -1891,7 +1986,9 @@
|
|
|
1891
1986
|
editor,
|
|
1892
1987
|
error: e,
|
|
1893
1988
|
disableCollaboration: () => {
|
|
1894
|
-
|
|
1989
|
+
if (editor.storage.collaboration) {
|
|
1990
|
+
editor.storage.collaboration.isDisabled = true;
|
|
1991
|
+
}
|
|
1895
1992
|
},
|
|
1896
1993
|
});
|
|
1897
1994
|
return false;
|
|
@@ -3545,6 +3642,27 @@
|
|
|
3545
3642
|
},
|
|
3546
3643
|
});
|
|
3547
3644
|
|
|
3645
|
+
const Drop = Extension.create({
|
|
3646
|
+
name: 'drop',
|
|
3647
|
+
addProseMirrorPlugins() {
|
|
3648
|
+
return [
|
|
3649
|
+
new state.Plugin({
|
|
3650
|
+
key: new state.PluginKey('tiptapDrop'),
|
|
3651
|
+
props: {
|
|
3652
|
+
handleDrop: (_, e, slice, moved) => {
|
|
3653
|
+
this.editor.emit('drop', {
|
|
3654
|
+
editor: this.editor,
|
|
3655
|
+
event: e,
|
|
3656
|
+
slice,
|
|
3657
|
+
moved,
|
|
3658
|
+
});
|
|
3659
|
+
},
|
|
3660
|
+
},
|
|
3661
|
+
}),
|
|
3662
|
+
];
|
|
3663
|
+
},
|
|
3664
|
+
});
|
|
3665
|
+
|
|
3548
3666
|
const Editable = Extension.create({
|
|
3549
3667
|
name: 'editable',
|
|
3550
3668
|
addProseMirrorPlugins() {
|
|
@@ -3709,6 +3827,26 @@
|
|
|
3709
3827
|
},
|
|
3710
3828
|
});
|
|
3711
3829
|
|
|
3830
|
+
const Paste = Extension.create({
|
|
3831
|
+
name: 'paste',
|
|
3832
|
+
addProseMirrorPlugins() {
|
|
3833
|
+
return [
|
|
3834
|
+
new state.Plugin({
|
|
3835
|
+
key: new state.PluginKey('tiptapPaste'),
|
|
3836
|
+
props: {
|
|
3837
|
+
handlePaste: (_view, e, slice) => {
|
|
3838
|
+
this.editor.emit('paste', {
|
|
3839
|
+
editor: this.editor,
|
|
3840
|
+
event: e,
|
|
3841
|
+
slice,
|
|
3842
|
+
});
|
|
3843
|
+
},
|
|
3844
|
+
},
|
|
3845
|
+
}),
|
|
3846
|
+
];
|
|
3847
|
+
},
|
|
3848
|
+
});
|
|
3849
|
+
|
|
3712
3850
|
const Tabindex = Extension.create({
|
|
3713
3851
|
name: 'tabindex',
|
|
3714
3852
|
addProseMirrorPlugins() {
|
|
@@ -3727,9 +3865,11 @@
|
|
|
3727
3865
|
__proto__: null,
|
|
3728
3866
|
ClipboardTextSerializer: ClipboardTextSerializer,
|
|
3729
3867
|
Commands: Commands,
|
|
3868
|
+
Drop: Drop,
|
|
3730
3869
|
Editable: Editable,
|
|
3731
3870
|
FocusEvents: FocusEvents,
|
|
3732
3871
|
Keymap: Keymap,
|
|
3872
|
+
Paste: Paste,
|
|
3733
3873
|
Tabindex: Tabindex
|
|
3734
3874
|
});
|
|
3735
3875
|
|
|
@@ -3827,7 +3967,8 @@
|
|
|
3827
3967
|
const children = [];
|
|
3828
3968
|
this.node.content.forEach((node, offset) => {
|
|
3829
3969
|
const isBlock = node.isBlock && !node.isTextblock;
|
|
3830
|
-
const
|
|
3970
|
+
const isNonTextAtom = node.isAtom && !node.isText;
|
|
3971
|
+
const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);
|
|
3831
3972
|
const $pos = this.resolvedPos.doc.resolve(targetPos);
|
|
3832
3973
|
if (!isBlock && $pos.depth <= this.depth) {
|
|
3833
3974
|
return;
|
|
@@ -3903,34 +4044,15 @@
|
|
|
3903
4044
|
return nodes;
|
|
3904
4045
|
}
|
|
3905
4046
|
setAttribute(attributes) {
|
|
3906
|
-
const
|
|
3907
|
-
|
|
3908
|
-
.
|
|
4047
|
+
const { tr } = this.editor.state;
|
|
4048
|
+
tr.setNodeMarkup(this.from, undefined, {
|
|
4049
|
+
...this.node.attrs,
|
|
4050
|
+
...attributes,
|
|
4051
|
+
});
|
|
4052
|
+
this.editor.view.dispatch(tr);
|
|
3909
4053
|
}
|
|
3910
4054
|
}
|
|
3911
4055
|
|
|
3912
|
-
const DropPlugin = (onDrop) => {
|
|
3913
|
-
return new state.Plugin({
|
|
3914
|
-
key: new state.PluginKey('tiptapDrop'),
|
|
3915
|
-
props: {
|
|
3916
|
-
handleDrop: (_, e, slice, moved) => {
|
|
3917
|
-
onDrop(e, slice, moved);
|
|
3918
|
-
},
|
|
3919
|
-
},
|
|
3920
|
-
});
|
|
3921
|
-
};
|
|
3922
|
-
|
|
3923
|
-
const PastePlugin = (onPaste) => {
|
|
3924
|
-
return new state.Plugin({
|
|
3925
|
-
key: new state.PluginKey('tiptapPaste'),
|
|
3926
|
-
props: {
|
|
3927
|
-
handlePaste: (_view, e, slice) => {
|
|
3928
|
-
onPaste(e, slice);
|
|
3929
|
-
},
|
|
3930
|
-
},
|
|
3931
|
-
});
|
|
3932
|
-
};
|
|
3933
|
-
|
|
3934
4056
|
const style = `.ProseMirror {
|
|
3935
4057
|
position: relative;
|
|
3936
4058
|
}
|
|
@@ -4076,12 +4198,8 @@ img.ProseMirror-separator {
|
|
|
4076
4198
|
this.on('focus', this.options.onFocus);
|
|
4077
4199
|
this.on('blur', this.options.onBlur);
|
|
4078
4200
|
this.on('destroy', this.options.onDestroy);
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
}
|
|
4082
|
-
if (this.options.onDrop) {
|
|
4083
|
-
this.registerPlugin(DropPlugin(this.options.onDrop));
|
|
4084
|
-
}
|
|
4201
|
+
this.on('drop', ({ event, slice, moved }) => this.options.onDrop(event, slice, moved));
|
|
4202
|
+
this.on('paste', ({ event, slice }) => this.options.onPaste(event, slice));
|
|
4085
4203
|
window.setTimeout(() => {
|
|
4086
4204
|
if (this.isDestroyed) {
|
|
4087
4205
|
return;
|
|
@@ -4183,18 +4301,27 @@ img.ProseMirror-separator {
|
|
|
4183
4301
|
/**
|
|
4184
4302
|
* Unregister a ProseMirror plugin.
|
|
4185
4303
|
*
|
|
4186
|
-
* @param
|
|
4304
|
+
* @param nameOrPluginKeyToRemove The plugins name
|
|
4187
4305
|
* @returns The new editor state or undefined if the editor is destroyed
|
|
4188
4306
|
*/
|
|
4189
|
-
unregisterPlugin(
|
|
4307
|
+
unregisterPlugin(nameOrPluginKeyToRemove) {
|
|
4190
4308
|
if (this.isDestroyed) {
|
|
4191
4309
|
return undefined;
|
|
4192
4310
|
}
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4311
|
+
const prevPlugins = this.state.plugins;
|
|
4312
|
+
let plugins = prevPlugins;
|
|
4313
|
+
[].concat(nameOrPluginKeyToRemove).forEach(nameOrPluginKey => {
|
|
4314
|
+
// @ts-ignore
|
|
4315
|
+
const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
|
|
4196
4316
|
// @ts-ignore
|
|
4197
|
-
plugins
|
|
4317
|
+
plugins = prevPlugins.filter(plugin => !plugin.key.startsWith(name));
|
|
4318
|
+
});
|
|
4319
|
+
if (prevPlugins.length === plugins.length) {
|
|
4320
|
+
// No plugin was removed, so we don’t need to update the state
|
|
4321
|
+
return undefined;
|
|
4322
|
+
}
|
|
4323
|
+
const state = this.state.reconfigure({
|
|
4324
|
+
plugins,
|
|
4198
4325
|
});
|
|
4199
4326
|
this.view.updateState(state);
|
|
4200
4327
|
return state;
|
|
@@ -4213,6 +4340,8 @@ img.ProseMirror-separator {
|
|
|
4213
4340
|
FocusEvents,
|
|
4214
4341
|
Keymap,
|
|
4215
4342
|
Tabindex,
|
|
4343
|
+
Drop,
|
|
4344
|
+
Paste,
|
|
4216
4345
|
].filter(ext => {
|
|
4217
4346
|
if (typeof this.options.enableCoreExtensions === 'object') {
|
|
4218
4347
|
return this.options.enableCoreExtensions[ext.name] !== false;
|
|
@@ -4255,6 +4384,9 @@ img.ProseMirror-separator {
|
|
|
4255
4384
|
editor: this,
|
|
4256
4385
|
error: e,
|
|
4257
4386
|
disableCollaboration: () => {
|
|
4387
|
+
if (this.storage.collaboration) {
|
|
4388
|
+
this.storage.collaboration.isDisabled = true;
|
|
4389
|
+
}
|
|
4258
4390
|
// To avoid syncing back invalid content, reinitialize the extensions without the collaboration extension
|
|
4259
4391
|
this.options.extensions = this.options.extensions.filter(extension => extension.name !== 'collaboration');
|
|
4260
4392
|
// Restart the initialization process by recreating the extension manager with the new set of extensions
|
|
@@ -4273,6 +4405,12 @@ img.ProseMirror-separator {
|
|
|
4273
4405
|
selection: selection || undefined,
|
|
4274
4406
|
}),
|
|
4275
4407
|
});
|
|
4408
|
+
// add `role="textbox"` to the editor element
|
|
4409
|
+
this.view.dom.setAttribute('role', 'textbox');
|
|
4410
|
+
// add aria-label to the editor element
|
|
4411
|
+
if (!this.view.dom.getAttribute('aria-label')) {
|
|
4412
|
+
this.view.dom.setAttribute('aria-label', 'Rich-Text Editor');
|
|
4413
|
+
}
|
|
4276
4414
|
// `editor.view` is not yet available at this time.
|
|
4277
4415
|
// Therefore we will add all plugins and node views directly afterwards.
|
|
4278
4416
|
const newState = this.state.reconfigure({
|
|
@@ -4650,97 +4788,6 @@ img.ProseMirror-separator {
|
|
|
4650
4788
|
});
|
|
4651
4789
|
}
|
|
4652
4790
|
|
|
4653
|
-
/**
|
|
4654
|
-
* The Mark class is used to create custom mark extensions.
|
|
4655
|
-
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
4656
|
-
*/
|
|
4657
|
-
class Mark {
|
|
4658
|
-
constructor(config = {}) {
|
|
4659
|
-
this.type = 'mark';
|
|
4660
|
-
this.name = 'mark';
|
|
4661
|
-
this.parent = null;
|
|
4662
|
-
this.child = null;
|
|
4663
|
-
this.config = {
|
|
4664
|
-
name: this.name,
|
|
4665
|
-
defaultOptions: {},
|
|
4666
|
-
};
|
|
4667
|
-
this.config = {
|
|
4668
|
-
...this.config,
|
|
4669
|
-
...config,
|
|
4670
|
-
};
|
|
4671
|
-
this.name = this.config.name;
|
|
4672
|
-
if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
|
|
4673
|
-
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
|
|
4674
|
-
}
|
|
4675
|
-
// TODO: remove `addOptions` fallback
|
|
4676
|
-
this.options = this.config.defaultOptions;
|
|
4677
|
-
if (this.config.addOptions) {
|
|
4678
|
-
this.options = callOrReturn(getExtensionField(this, 'addOptions', {
|
|
4679
|
-
name: this.name,
|
|
4680
|
-
}));
|
|
4681
|
-
}
|
|
4682
|
-
this.storage = callOrReturn(getExtensionField(this, 'addStorage', {
|
|
4683
|
-
name: this.name,
|
|
4684
|
-
options: this.options,
|
|
4685
|
-
})) || {};
|
|
4686
|
-
}
|
|
4687
|
-
static create(config = {}) {
|
|
4688
|
-
return new Mark(config);
|
|
4689
|
-
}
|
|
4690
|
-
configure(options = {}) {
|
|
4691
|
-
// return a new instance so we can use the same extension
|
|
4692
|
-
// with different calls of `configure`
|
|
4693
|
-
const extension = this.extend({
|
|
4694
|
-
...this.config,
|
|
4695
|
-
addOptions: () => {
|
|
4696
|
-
return mergeDeep(this.options, options);
|
|
4697
|
-
},
|
|
4698
|
-
});
|
|
4699
|
-
// Always preserve the current name
|
|
4700
|
-
extension.name = this.name;
|
|
4701
|
-
// Set the parent to be our parent
|
|
4702
|
-
extension.parent = this.parent;
|
|
4703
|
-
return extension;
|
|
4704
|
-
}
|
|
4705
|
-
extend(extendedConfig = {}) {
|
|
4706
|
-
const extension = new Mark(extendedConfig);
|
|
4707
|
-
extension.parent = this;
|
|
4708
|
-
this.child = extension;
|
|
4709
|
-
extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
|
|
4710
|
-
if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
|
|
4711
|
-
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
|
|
4712
|
-
}
|
|
4713
|
-
extension.options = callOrReturn(getExtensionField(extension, 'addOptions', {
|
|
4714
|
-
name: extension.name,
|
|
4715
|
-
}));
|
|
4716
|
-
extension.storage = callOrReturn(getExtensionField(extension, 'addStorage', {
|
|
4717
|
-
name: extension.name,
|
|
4718
|
-
options: extension.options,
|
|
4719
|
-
}));
|
|
4720
|
-
return extension;
|
|
4721
|
-
}
|
|
4722
|
-
static handleExit({ editor, mark }) {
|
|
4723
|
-
const { tr } = editor.state;
|
|
4724
|
-
const currentPos = editor.state.selection.$from;
|
|
4725
|
-
const isAtEnd = currentPos.pos === currentPos.end();
|
|
4726
|
-
if (isAtEnd) {
|
|
4727
|
-
const currentMarks = currentPos.marks();
|
|
4728
|
-
const isInMark = !!currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
4729
|
-
if (!isInMark) {
|
|
4730
|
-
return false;
|
|
4731
|
-
}
|
|
4732
|
-
const removeMark = currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
4733
|
-
if (removeMark) {
|
|
4734
|
-
tr.removeStoredMark(removeMark);
|
|
4735
|
-
}
|
|
4736
|
-
tr.insertText(' ', currentPos.pos);
|
|
4737
|
-
editor.view.dispatch(tr);
|
|
4738
|
-
return true;
|
|
4739
|
-
}
|
|
4740
|
-
return false;
|
|
4741
|
-
}
|
|
4742
|
-
}
|
|
4743
|
-
|
|
4744
4791
|
/**
|
|
4745
4792
|
* The Node class is used to create custom node extensions.
|
|
4746
4793
|
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
@@ -5161,7 +5208,6 @@ img.ProseMirror-separator {
|
|
|
5161
5208
|
}
|
|
5162
5209
|
|
|
5163
5210
|
exports.CommandManager = CommandManager;
|
|
5164
|
-
exports.DropPlugin = DropPlugin;
|
|
5165
5211
|
exports.Editor = Editor;
|
|
5166
5212
|
exports.Extension = Extension;
|
|
5167
5213
|
exports.InputRule = InputRule;
|
|
@@ -5169,7 +5215,6 @@ img.ProseMirror-separator {
|
|
|
5169
5215
|
exports.Node = Node;
|
|
5170
5216
|
exports.NodePos = NodePos;
|
|
5171
5217
|
exports.NodeView = NodeView;
|
|
5172
|
-
exports.PastePlugin = PastePlugin;
|
|
5173
5218
|
exports.PasteRule = PasteRule;
|
|
5174
5219
|
exports.Tracker = Tracker;
|
|
5175
5220
|
exports.callOrReturn = callOrReturn;
|