@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.cjs
CHANGED
|
@@ -781,6 +781,123 @@ function inputRulesPlugin(props) {
|
|
|
781
781
|
return plugin;
|
|
782
782
|
}
|
|
783
783
|
|
|
784
|
+
// see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts
|
|
785
|
+
function getType(value) {
|
|
786
|
+
return Object.prototype.toString.call(value).slice(8, -1);
|
|
787
|
+
}
|
|
788
|
+
function isPlainObject(value) {
|
|
789
|
+
if (getType(value) !== 'Object') {
|
|
790
|
+
return false;
|
|
791
|
+
}
|
|
792
|
+
return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
function mergeDeep(target, source) {
|
|
796
|
+
const output = { ...target };
|
|
797
|
+
if (isPlainObject(target) && isPlainObject(source)) {
|
|
798
|
+
Object.keys(source).forEach(key => {
|
|
799
|
+
if (isPlainObject(source[key]) && isPlainObject(target[key])) {
|
|
800
|
+
output[key] = mergeDeep(target[key], source[key]);
|
|
801
|
+
}
|
|
802
|
+
else {
|
|
803
|
+
output[key] = source[key];
|
|
804
|
+
}
|
|
805
|
+
});
|
|
806
|
+
}
|
|
807
|
+
return output;
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* The Mark class is used to create custom mark extensions.
|
|
812
|
+
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
813
|
+
*/
|
|
814
|
+
class Mark {
|
|
815
|
+
constructor(config = {}) {
|
|
816
|
+
this.type = 'mark';
|
|
817
|
+
this.name = 'mark';
|
|
818
|
+
this.parent = null;
|
|
819
|
+
this.child = null;
|
|
820
|
+
this.config = {
|
|
821
|
+
name: this.name,
|
|
822
|
+
defaultOptions: {},
|
|
823
|
+
};
|
|
824
|
+
this.config = {
|
|
825
|
+
...this.config,
|
|
826
|
+
...config,
|
|
827
|
+
};
|
|
828
|
+
this.name = this.config.name;
|
|
829
|
+
if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
|
|
830
|
+
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
|
|
831
|
+
}
|
|
832
|
+
// TODO: remove `addOptions` fallback
|
|
833
|
+
this.options = this.config.defaultOptions;
|
|
834
|
+
if (this.config.addOptions) {
|
|
835
|
+
this.options = callOrReturn(getExtensionField(this, 'addOptions', {
|
|
836
|
+
name: this.name,
|
|
837
|
+
}));
|
|
838
|
+
}
|
|
839
|
+
this.storage = callOrReturn(getExtensionField(this, 'addStorage', {
|
|
840
|
+
name: this.name,
|
|
841
|
+
options: this.options,
|
|
842
|
+
})) || {};
|
|
843
|
+
}
|
|
844
|
+
static create(config = {}) {
|
|
845
|
+
return new Mark(config);
|
|
846
|
+
}
|
|
847
|
+
configure(options = {}) {
|
|
848
|
+
// return a new instance so we can use the same extension
|
|
849
|
+
// with different calls of `configure`
|
|
850
|
+
const extension = this.extend({
|
|
851
|
+
...this.config,
|
|
852
|
+
addOptions: () => {
|
|
853
|
+
return mergeDeep(this.options, options);
|
|
854
|
+
},
|
|
855
|
+
});
|
|
856
|
+
// Always preserve the current name
|
|
857
|
+
extension.name = this.name;
|
|
858
|
+
// Set the parent to be our parent
|
|
859
|
+
extension.parent = this.parent;
|
|
860
|
+
return extension;
|
|
861
|
+
}
|
|
862
|
+
extend(extendedConfig = {}) {
|
|
863
|
+
const extension = new Mark(extendedConfig);
|
|
864
|
+
extension.parent = this;
|
|
865
|
+
this.child = extension;
|
|
866
|
+
extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
|
|
867
|
+
if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
|
|
868
|
+
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
|
|
869
|
+
}
|
|
870
|
+
extension.options = callOrReturn(getExtensionField(extension, 'addOptions', {
|
|
871
|
+
name: extension.name,
|
|
872
|
+
}));
|
|
873
|
+
extension.storage = callOrReturn(getExtensionField(extension, 'addStorage', {
|
|
874
|
+
name: extension.name,
|
|
875
|
+
options: extension.options,
|
|
876
|
+
}));
|
|
877
|
+
return extension;
|
|
878
|
+
}
|
|
879
|
+
static handleExit({ editor, mark }) {
|
|
880
|
+
const { tr } = editor.state;
|
|
881
|
+
const currentPos = editor.state.selection.$from;
|
|
882
|
+
const isAtEnd = currentPos.pos === currentPos.end();
|
|
883
|
+
if (isAtEnd) {
|
|
884
|
+
const currentMarks = currentPos.marks();
|
|
885
|
+
const isInMark = !!currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
886
|
+
if (!isInMark) {
|
|
887
|
+
return false;
|
|
888
|
+
}
|
|
889
|
+
const removeMark = currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
890
|
+
if (removeMark) {
|
|
891
|
+
tr.removeStoredMark(removeMark);
|
|
892
|
+
}
|
|
893
|
+
tr.insertText(' ', currentPos.pos);
|
|
894
|
+
editor.view.dispatch(tr);
|
|
895
|
+
return true;
|
|
896
|
+
}
|
|
897
|
+
return false;
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
784
901
|
function isNumber(value) {
|
|
785
902
|
return typeof value === 'number';
|
|
786
903
|
}
|
|
@@ -1240,32 +1357,6 @@ class ExtensionManager {
|
|
|
1240
1357
|
}
|
|
1241
1358
|
}
|
|
1242
1359
|
|
|
1243
|
-
// see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts
|
|
1244
|
-
function getType(value) {
|
|
1245
|
-
return Object.prototype.toString.call(value).slice(8, -1);
|
|
1246
|
-
}
|
|
1247
|
-
function isPlainObject(value) {
|
|
1248
|
-
if (getType(value) !== 'Object') {
|
|
1249
|
-
return false;
|
|
1250
|
-
}
|
|
1251
|
-
return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
|
|
1252
|
-
}
|
|
1253
|
-
|
|
1254
|
-
function mergeDeep(target, source) {
|
|
1255
|
-
const output = { ...target };
|
|
1256
|
-
if (isPlainObject(target) && isPlainObject(source)) {
|
|
1257
|
-
Object.keys(source).forEach(key => {
|
|
1258
|
-
if (isPlainObject(source[key]) && isPlainObject(target[key])) {
|
|
1259
|
-
output[key] = mergeDeep(target[key], source[key]);
|
|
1260
|
-
}
|
|
1261
|
-
else {
|
|
1262
|
-
output[key] = source[key];
|
|
1263
|
-
}
|
|
1264
|
-
});
|
|
1265
|
-
}
|
|
1266
|
-
return output;
|
|
1267
|
-
}
|
|
1268
|
-
|
|
1269
1360
|
/**
|
|
1270
1361
|
* The Extension class is the base class for all extensions.
|
|
1271
1362
|
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
@@ -1579,12 +1670,16 @@ function getMarkRange($pos, type, attributes = {}) {
|
|
|
1579
1670
|
return;
|
|
1580
1671
|
}
|
|
1581
1672
|
let start = $pos.parent.childAfter($pos.parentOffset);
|
|
1582
|
-
|
|
1673
|
+
// If the cursor is at the start of a text node that does not have the mark, look backward
|
|
1674
|
+
if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
|
|
1583
1675
|
start = $pos.parent.childBefore($pos.parentOffset);
|
|
1584
1676
|
}
|
|
1585
|
-
|
|
1677
|
+
// If there is no text node with the mark even backward, return undefined
|
|
1678
|
+
if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
|
|
1586
1679
|
return;
|
|
1587
1680
|
}
|
|
1681
|
+
// We now know that the cursor is either at the start, middle or end of a text node with the specified mark
|
|
1682
|
+
// so we can look it up on the targeted mark
|
|
1588
1683
|
const mark = findMarkInSet([...start.node.marks], type, attributes);
|
|
1589
1684
|
if (!mark) {
|
|
1590
1685
|
return;
|
|
@@ -1874,7 +1969,7 @@ const insertContentAt = (position, value, options) => ({ tr, dispatch, editor })
|
|
|
1874
1969
|
var _a;
|
|
1875
1970
|
if (dispatch) {
|
|
1876
1971
|
options = {
|
|
1877
|
-
parseOptions:
|
|
1972
|
+
parseOptions: editor.options.parseOptions,
|
|
1878
1973
|
updateSelection: true,
|
|
1879
1974
|
applyInputRules: false,
|
|
1880
1975
|
applyPasteRules: false,
|
|
@@ -1895,7 +1990,9 @@ const insertContentAt = (position, value, options) => ({ tr, dispatch, editor })
|
|
|
1895
1990
|
editor,
|
|
1896
1991
|
error: e,
|
|
1897
1992
|
disableCollaboration: () => {
|
|
1898
|
-
|
|
1993
|
+
if (editor.storage.collaboration) {
|
|
1994
|
+
editor.storage.collaboration.isDisabled = true;
|
|
1995
|
+
}
|
|
1899
1996
|
},
|
|
1900
1997
|
});
|
|
1901
1998
|
return false;
|
|
@@ -3549,6 +3646,27 @@ const Commands = Extension.create({
|
|
|
3549
3646
|
},
|
|
3550
3647
|
});
|
|
3551
3648
|
|
|
3649
|
+
const Drop = Extension.create({
|
|
3650
|
+
name: 'drop',
|
|
3651
|
+
addProseMirrorPlugins() {
|
|
3652
|
+
return [
|
|
3653
|
+
new state.Plugin({
|
|
3654
|
+
key: new state.PluginKey('tiptapDrop'),
|
|
3655
|
+
props: {
|
|
3656
|
+
handleDrop: (_, e, slice, moved) => {
|
|
3657
|
+
this.editor.emit('drop', {
|
|
3658
|
+
editor: this.editor,
|
|
3659
|
+
event: e,
|
|
3660
|
+
slice,
|
|
3661
|
+
moved,
|
|
3662
|
+
});
|
|
3663
|
+
},
|
|
3664
|
+
},
|
|
3665
|
+
}),
|
|
3666
|
+
];
|
|
3667
|
+
},
|
|
3668
|
+
});
|
|
3669
|
+
|
|
3552
3670
|
const Editable = Extension.create({
|
|
3553
3671
|
name: 'editable',
|
|
3554
3672
|
addProseMirrorPlugins() {
|
|
@@ -3713,6 +3831,26 @@ const Keymap = Extension.create({
|
|
|
3713
3831
|
},
|
|
3714
3832
|
});
|
|
3715
3833
|
|
|
3834
|
+
const Paste = Extension.create({
|
|
3835
|
+
name: 'paste',
|
|
3836
|
+
addProseMirrorPlugins() {
|
|
3837
|
+
return [
|
|
3838
|
+
new state.Plugin({
|
|
3839
|
+
key: new state.PluginKey('tiptapPaste'),
|
|
3840
|
+
props: {
|
|
3841
|
+
handlePaste: (_view, e, slice) => {
|
|
3842
|
+
this.editor.emit('paste', {
|
|
3843
|
+
editor: this.editor,
|
|
3844
|
+
event: e,
|
|
3845
|
+
slice,
|
|
3846
|
+
});
|
|
3847
|
+
},
|
|
3848
|
+
},
|
|
3849
|
+
}),
|
|
3850
|
+
];
|
|
3851
|
+
},
|
|
3852
|
+
});
|
|
3853
|
+
|
|
3716
3854
|
const Tabindex = Extension.create({
|
|
3717
3855
|
name: 'tabindex',
|
|
3718
3856
|
addProseMirrorPlugins() {
|
|
@@ -3731,9 +3869,11 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
3731
3869
|
__proto__: null,
|
|
3732
3870
|
ClipboardTextSerializer: ClipboardTextSerializer,
|
|
3733
3871
|
Commands: Commands,
|
|
3872
|
+
Drop: Drop,
|
|
3734
3873
|
Editable: Editable,
|
|
3735
3874
|
FocusEvents: FocusEvents,
|
|
3736
3875
|
Keymap: Keymap,
|
|
3876
|
+
Paste: Paste,
|
|
3737
3877
|
Tabindex: Tabindex
|
|
3738
3878
|
});
|
|
3739
3879
|
|
|
@@ -3831,7 +3971,8 @@ class NodePos {
|
|
|
3831
3971
|
const children = [];
|
|
3832
3972
|
this.node.content.forEach((node, offset) => {
|
|
3833
3973
|
const isBlock = node.isBlock && !node.isTextblock;
|
|
3834
|
-
const
|
|
3974
|
+
const isNonTextAtom = node.isAtom && !node.isText;
|
|
3975
|
+
const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);
|
|
3835
3976
|
const $pos = this.resolvedPos.doc.resolve(targetPos);
|
|
3836
3977
|
if (!isBlock && $pos.depth <= this.depth) {
|
|
3837
3978
|
return;
|
|
@@ -3907,34 +4048,15 @@ class NodePos {
|
|
|
3907
4048
|
return nodes;
|
|
3908
4049
|
}
|
|
3909
4050
|
setAttribute(attributes) {
|
|
3910
|
-
const
|
|
3911
|
-
|
|
3912
|
-
.
|
|
4051
|
+
const { tr } = this.editor.state;
|
|
4052
|
+
tr.setNodeMarkup(this.from, undefined, {
|
|
4053
|
+
...this.node.attrs,
|
|
4054
|
+
...attributes,
|
|
4055
|
+
});
|
|
4056
|
+
this.editor.view.dispatch(tr);
|
|
3913
4057
|
}
|
|
3914
4058
|
}
|
|
3915
4059
|
|
|
3916
|
-
const DropPlugin = (onDrop) => {
|
|
3917
|
-
return new state.Plugin({
|
|
3918
|
-
key: new state.PluginKey('tiptapDrop'),
|
|
3919
|
-
props: {
|
|
3920
|
-
handleDrop: (_, e, slice, moved) => {
|
|
3921
|
-
onDrop(e, slice, moved);
|
|
3922
|
-
},
|
|
3923
|
-
},
|
|
3924
|
-
});
|
|
3925
|
-
};
|
|
3926
|
-
|
|
3927
|
-
const PastePlugin = (onPaste) => {
|
|
3928
|
-
return new state.Plugin({
|
|
3929
|
-
key: new state.PluginKey('tiptapPaste'),
|
|
3930
|
-
props: {
|
|
3931
|
-
handlePaste: (_view, e, slice) => {
|
|
3932
|
-
onPaste(e, slice);
|
|
3933
|
-
},
|
|
3934
|
-
},
|
|
3935
|
-
});
|
|
3936
|
-
};
|
|
3937
|
-
|
|
3938
4060
|
const style = `.ProseMirror {
|
|
3939
4061
|
position: relative;
|
|
3940
4062
|
}
|
|
@@ -4080,12 +4202,8 @@ class Editor extends EventEmitter {
|
|
|
4080
4202
|
this.on('focus', this.options.onFocus);
|
|
4081
4203
|
this.on('blur', this.options.onBlur);
|
|
4082
4204
|
this.on('destroy', this.options.onDestroy);
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
}
|
|
4086
|
-
if (this.options.onDrop) {
|
|
4087
|
-
this.registerPlugin(DropPlugin(this.options.onDrop));
|
|
4088
|
-
}
|
|
4205
|
+
this.on('drop', ({ event, slice, moved }) => this.options.onDrop(event, slice, moved));
|
|
4206
|
+
this.on('paste', ({ event, slice }) => this.options.onPaste(event, slice));
|
|
4089
4207
|
window.setTimeout(() => {
|
|
4090
4208
|
if (this.isDestroyed) {
|
|
4091
4209
|
return;
|
|
@@ -4187,18 +4305,27 @@ class Editor extends EventEmitter {
|
|
|
4187
4305
|
/**
|
|
4188
4306
|
* Unregister a ProseMirror plugin.
|
|
4189
4307
|
*
|
|
4190
|
-
* @param
|
|
4308
|
+
* @param nameOrPluginKeyToRemove The plugins name
|
|
4191
4309
|
* @returns The new editor state or undefined if the editor is destroyed
|
|
4192
4310
|
*/
|
|
4193
|
-
unregisterPlugin(
|
|
4311
|
+
unregisterPlugin(nameOrPluginKeyToRemove) {
|
|
4194
4312
|
if (this.isDestroyed) {
|
|
4195
4313
|
return undefined;
|
|
4196
4314
|
}
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4315
|
+
const prevPlugins = this.state.plugins;
|
|
4316
|
+
let plugins = prevPlugins;
|
|
4317
|
+
[].concat(nameOrPluginKeyToRemove).forEach(nameOrPluginKey => {
|
|
4318
|
+
// @ts-ignore
|
|
4319
|
+
const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
|
|
4200
4320
|
// @ts-ignore
|
|
4201
|
-
plugins
|
|
4321
|
+
plugins = prevPlugins.filter(plugin => !plugin.key.startsWith(name));
|
|
4322
|
+
});
|
|
4323
|
+
if (prevPlugins.length === plugins.length) {
|
|
4324
|
+
// No plugin was removed, so we don’t need to update the state
|
|
4325
|
+
return undefined;
|
|
4326
|
+
}
|
|
4327
|
+
const state = this.state.reconfigure({
|
|
4328
|
+
plugins,
|
|
4202
4329
|
});
|
|
4203
4330
|
this.view.updateState(state);
|
|
4204
4331
|
return state;
|
|
@@ -4217,6 +4344,8 @@ class Editor extends EventEmitter {
|
|
|
4217
4344
|
FocusEvents,
|
|
4218
4345
|
Keymap,
|
|
4219
4346
|
Tabindex,
|
|
4347
|
+
Drop,
|
|
4348
|
+
Paste,
|
|
4220
4349
|
].filter(ext => {
|
|
4221
4350
|
if (typeof this.options.enableCoreExtensions === 'object') {
|
|
4222
4351
|
return this.options.enableCoreExtensions[ext.name] !== false;
|
|
@@ -4259,6 +4388,9 @@ class Editor extends EventEmitter {
|
|
|
4259
4388
|
editor: this,
|
|
4260
4389
|
error: e,
|
|
4261
4390
|
disableCollaboration: () => {
|
|
4391
|
+
if (this.storage.collaboration) {
|
|
4392
|
+
this.storage.collaboration.isDisabled = true;
|
|
4393
|
+
}
|
|
4262
4394
|
// To avoid syncing back invalid content, reinitialize the extensions without the collaboration extension
|
|
4263
4395
|
this.options.extensions = this.options.extensions.filter(extension => extension.name !== 'collaboration');
|
|
4264
4396
|
// Restart the initialization process by recreating the extension manager with the new set of extensions
|
|
@@ -4277,6 +4409,12 @@ class Editor extends EventEmitter {
|
|
|
4277
4409
|
selection: selection || undefined,
|
|
4278
4410
|
}),
|
|
4279
4411
|
});
|
|
4412
|
+
// add `role="textbox"` to the editor element
|
|
4413
|
+
this.view.dom.setAttribute('role', 'textbox');
|
|
4414
|
+
// add aria-label to the editor element
|
|
4415
|
+
if (!this.view.dom.getAttribute('aria-label')) {
|
|
4416
|
+
this.view.dom.setAttribute('aria-label', 'Rich-Text Editor');
|
|
4417
|
+
}
|
|
4280
4418
|
// `editor.view` is not yet available at this time.
|
|
4281
4419
|
// Therefore we will add all plugins and node views directly afterwards.
|
|
4282
4420
|
const newState = this.state.reconfigure({
|
|
@@ -4654,97 +4792,6 @@ function wrappingInputRule(config) {
|
|
|
4654
4792
|
});
|
|
4655
4793
|
}
|
|
4656
4794
|
|
|
4657
|
-
/**
|
|
4658
|
-
* The Mark class is used to create custom mark extensions.
|
|
4659
|
-
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
4660
|
-
*/
|
|
4661
|
-
class Mark {
|
|
4662
|
-
constructor(config = {}) {
|
|
4663
|
-
this.type = 'mark';
|
|
4664
|
-
this.name = 'mark';
|
|
4665
|
-
this.parent = null;
|
|
4666
|
-
this.child = null;
|
|
4667
|
-
this.config = {
|
|
4668
|
-
name: this.name,
|
|
4669
|
-
defaultOptions: {},
|
|
4670
|
-
};
|
|
4671
|
-
this.config = {
|
|
4672
|
-
...this.config,
|
|
4673
|
-
...config,
|
|
4674
|
-
};
|
|
4675
|
-
this.name = this.config.name;
|
|
4676
|
-
if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
|
|
4677
|
-
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
|
|
4678
|
-
}
|
|
4679
|
-
// TODO: remove `addOptions` fallback
|
|
4680
|
-
this.options = this.config.defaultOptions;
|
|
4681
|
-
if (this.config.addOptions) {
|
|
4682
|
-
this.options = callOrReturn(getExtensionField(this, 'addOptions', {
|
|
4683
|
-
name: this.name,
|
|
4684
|
-
}));
|
|
4685
|
-
}
|
|
4686
|
-
this.storage = callOrReturn(getExtensionField(this, 'addStorage', {
|
|
4687
|
-
name: this.name,
|
|
4688
|
-
options: this.options,
|
|
4689
|
-
})) || {};
|
|
4690
|
-
}
|
|
4691
|
-
static create(config = {}) {
|
|
4692
|
-
return new Mark(config);
|
|
4693
|
-
}
|
|
4694
|
-
configure(options = {}) {
|
|
4695
|
-
// return a new instance so we can use the same extension
|
|
4696
|
-
// with different calls of `configure`
|
|
4697
|
-
const extension = this.extend({
|
|
4698
|
-
...this.config,
|
|
4699
|
-
addOptions: () => {
|
|
4700
|
-
return mergeDeep(this.options, options);
|
|
4701
|
-
},
|
|
4702
|
-
});
|
|
4703
|
-
// Always preserve the current name
|
|
4704
|
-
extension.name = this.name;
|
|
4705
|
-
// Set the parent to be our parent
|
|
4706
|
-
extension.parent = this.parent;
|
|
4707
|
-
return extension;
|
|
4708
|
-
}
|
|
4709
|
-
extend(extendedConfig = {}) {
|
|
4710
|
-
const extension = new Mark(extendedConfig);
|
|
4711
|
-
extension.parent = this;
|
|
4712
|
-
this.child = extension;
|
|
4713
|
-
extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
|
|
4714
|
-
if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
|
|
4715
|
-
console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
|
|
4716
|
-
}
|
|
4717
|
-
extension.options = callOrReturn(getExtensionField(extension, 'addOptions', {
|
|
4718
|
-
name: extension.name,
|
|
4719
|
-
}));
|
|
4720
|
-
extension.storage = callOrReturn(getExtensionField(extension, 'addStorage', {
|
|
4721
|
-
name: extension.name,
|
|
4722
|
-
options: extension.options,
|
|
4723
|
-
}));
|
|
4724
|
-
return extension;
|
|
4725
|
-
}
|
|
4726
|
-
static handleExit({ editor, mark }) {
|
|
4727
|
-
const { tr } = editor.state;
|
|
4728
|
-
const currentPos = editor.state.selection.$from;
|
|
4729
|
-
const isAtEnd = currentPos.pos === currentPos.end();
|
|
4730
|
-
if (isAtEnd) {
|
|
4731
|
-
const currentMarks = currentPos.marks();
|
|
4732
|
-
const isInMark = !!currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
4733
|
-
if (!isInMark) {
|
|
4734
|
-
return false;
|
|
4735
|
-
}
|
|
4736
|
-
const removeMark = currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
4737
|
-
if (removeMark) {
|
|
4738
|
-
tr.removeStoredMark(removeMark);
|
|
4739
|
-
}
|
|
4740
|
-
tr.insertText(' ', currentPos.pos);
|
|
4741
|
-
editor.view.dispatch(tr);
|
|
4742
|
-
return true;
|
|
4743
|
-
}
|
|
4744
|
-
return false;
|
|
4745
|
-
}
|
|
4746
|
-
}
|
|
4747
|
-
|
|
4748
4795
|
/**
|
|
4749
4796
|
* The Node class is used to create custom node extensions.
|
|
4750
4797
|
* @see https://tiptap.dev/api/extensions#create-a-new-extension
|
|
@@ -5165,7 +5212,6 @@ class Tracker {
|
|
|
5165
5212
|
}
|
|
5166
5213
|
|
|
5167
5214
|
exports.CommandManager = CommandManager;
|
|
5168
|
-
exports.DropPlugin = DropPlugin;
|
|
5169
5215
|
exports.Editor = Editor;
|
|
5170
5216
|
exports.Extension = Extension;
|
|
5171
5217
|
exports.InputRule = InputRule;
|
|
@@ -5173,7 +5219,6 @@ exports.Mark = Mark;
|
|
|
5173
5219
|
exports.Node = Node;
|
|
5174
5220
|
exports.NodePos = NodePos;
|
|
5175
5221
|
exports.NodeView = NodeView;
|
|
5176
|
-
exports.PastePlugin = PastePlugin;
|
|
5177
5222
|
exports.PasteRule = PasteRule;
|
|
5178
5223
|
exports.Tracker = Tracker;
|
|
5179
5224
|
exports.callOrReturn = callOrReturn;
|