@tiptap/vue-3 2.5.0-beta.2 → 2.5.0-beta.4
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/index.cjs +453 -447
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +453 -445
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +453 -447
- package/dist/index.umd.js.map +1 -1
- package/dist/packages/core/src/CommandManager.d.ts +20 -0
- package/dist/packages/core/src/Editor.d.ts +161 -0
- package/dist/packages/core/src/EventEmitter.d.ts +11 -0
- package/dist/packages/core/src/Extension.d.ts +343 -0
- package/dist/packages/core/src/ExtensionManager.d.ts +55 -0
- package/dist/packages/core/src/InputRule.d.ts +42 -0
- package/dist/packages/core/src/Mark.d.ts +451 -0
- package/dist/packages/core/src/Node.d.ts +611 -0
- package/dist/packages/core/src/NodePos.d.ts +44 -0
- package/dist/packages/core/src/NodeView.d.ts +31 -0
- package/dist/packages/core/src/PasteRule.d.ts +50 -0
- package/dist/packages/core/src/Tracker.d.ts +11 -0
- package/dist/packages/core/src/commands/blur.d.ts +13 -0
- package/dist/packages/core/src/commands/clearContent.d.ts +14 -0
- package/dist/packages/core/src/commands/clearNodes.d.ts +13 -0
- package/dist/packages/core/src/commands/command.d.ts +18 -0
- package/dist/packages/core/src/commands/createParagraphNear.d.ts +13 -0
- package/dist/packages/core/src/commands/cut.d.ts +20 -0
- package/dist/packages/core/src/commands/deleteCurrentNode.d.ts +13 -0
- package/dist/packages/core/src/commands/deleteNode.d.ts +15 -0
- package/dist/packages/core/src/commands/deleteRange.d.ts +14 -0
- package/dist/packages/core/src/commands/deleteSelection.d.ts +13 -0
- package/dist/packages/core/src/commands/enter.d.ts +13 -0
- package/dist/packages/core/src/commands/exitCode.d.ts +13 -0
- package/dist/packages/core/src/commands/extendMarkRange.d.ts +25 -0
- package/dist/packages/core/src/commands/first.d.ts +14 -0
- package/dist/packages/core/src/commands/focus.d.ts +27 -0
- package/dist/packages/core/src/commands/forEach.d.ts +14 -0
- package/dist/packages/core/src/commands/index.d.ts +55 -0
- package/dist/packages/core/src/commands/insertContent.d.ts +34 -0
- package/dist/packages/core/src/commands/insertContentAt.d.ts +47 -0
- package/dist/packages/core/src/commands/join.d.ts +41 -0
- package/dist/packages/core/src/commands/joinItemBackward.d.ts +13 -0
- package/dist/packages/core/src/commands/joinItemForward.d.ts +13 -0
- package/dist/packages/core/src/commands/joinTextblockBackward.d.ts +12 -0
- package/dist/packages/core/src/commands/joinTextblockForward.d.ts +12 -0
- package/dist/packages/core/src/commands/keyboardShortcut.d.ts +14 -0
- package/dist/packages/core/src/commands/lift.d.ts +17 -0
- package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +13 -0
- package/dist/packages/core/src/commands/liftListItem.d.ts +15 -0
- package/dist/packages/core/src/commands/newlineInCode.d.ts +13 -0
- package/dist/packages/core/src/commands/resetAttributes.d.ts +16 -0
- package/dist/packages/core/src/commands/scrollIntoView.d.ts +13 -0
- package/dist/packages/core/src/commands/selectAll.d.ts +13 -0
- package/dist/packages/core/src/commands/selectNodeBackward.d.ts +13 -0
- package/dist/packages/core/src/commands/selectNodeForward.d.ts +13 -0
- package/dist/packages/core/src/commands/selectParentNode.d.ts +13 -0
- package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +13 -0
- package/dist/packages/core/src/commands/selectTextblockStart.d.ts +13 -0
- package/dist/packages/core/src/commands/setContent.d.ts +40 -0
- package/dist/packages/core/src/commands/setMark.d.ts +15 -0
- package/dist/packages/core/src/commands/setMeta.d.ts +15 -0
- package/dist/packages/core/src/commands/setNode.d.ts +16 -0
- package/dist/packages/core/src/commands/setNodeSelection.d.ts +14 -0
- package/dist/packages/core/src/commands/setTextSelection.d.ts +14 -0
- package/dist/packages/core/src/commands/sinkListItem.d.ts +15 -0
- package/dist/packages/core/src/commands/splitBlock.d.ts +17 -0
- package/dist/packages/core/src/commands/splitListItem.d.ts +15 -0
- package/dist/packages/core/src/commands/toggleList.d.ts +18 -0
- package/dist/packages/core/src/commands/toggleMark.d.ts +30 -0
- package/dist/packages/core/src/commands/toggleNode.d.ts +17 -0
- package/dist/packages/core/src/commands/toggleWrap.d.ts +16 -0
- package/dist/packages/core/src/commands/undoInputRule.d.ts +13 -0
- package/dist/packages/core/src/commands/unsetAllMarks.d.ts +13 -0
- package/dist/packages/core/src/commands/unsetMark.d.ts +25 -0
- package/dist/packages/core/src/commands/updateAttributes.d.ts +24 -0
- package/dist/packages/core/src/commands/wrapIn.d.ts +16 -0
- package/dist/packages/core/src/commands/wrapInList.d.ts +16 -0
- package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +5 -0
- package/dist/packages/core/src/extensions/commands.d.ts +3 -0
- package/dist/packages/core/src/extensions/editable.d.ts +2 -0
- package/dist/packages/core/src/extensions/focusEvents.d.ts +2 -0
- package/dist/packages/core/src/extensions/index.d.ts +6 -0
- package/dist/packages/core/src/extensions/keymap.d.ts +2 -0
- package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
- package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +10 -0
- package/dist/packages/core/src/helpers/createChainableState.d.ts +10 -0
- package/dist/packages/core/src/helpers/createDocument.d.ts +12 -0
- package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +15 -0
- package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +7 -0
- package/dist/packages/core/src/helpers/findChildren.d.ts +9 -0
- package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +10 -0
- package/dist/packages/core/src/helpers/findParentNode.d.ts +16 -0
- package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +17 -0
- package/dist/packages/core/src/helpers/generateHTML.d.ts +8 -0
- package/dist/packages/core/src/helpers/generateJSON.d.ts +8 -0
- package/dist/packages/core/src/helpers/generateText.d.ts +12 -0
- package/dist/packages/core/src/helpers/getAttributes.d.ts +9 -0
- package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +6 -0
- 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 +9 -0
- package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -0
- package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +3 -0
- package/dist/packages/core/src/helpers/getMarkRange.d.ts +3 -0
- package/dist/packages/core/src/helpers/getMarkType.d.ts +2 -0
- package/dist/packages/core/src/helpers/getMarksBetween.d.ts +3 -0
- package/dist/packages/core/src/helpers/getNodeAtPosition.d.ts +11 -0
- package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +3 -0
- package/dist/packages/core/src/helpers/getNodeType.d.ts +2 -0
- package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -0
- package/dist/packages/core/src/helpers/getSchema.d.ts +4 -0
- package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +10 -0
- package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +8 -0
- package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +8 -0
- package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +9 -0
- package/dist/packages/core/src/helpers/getText.d.ts +15 -0
- package/dist/packages/core/src/helpers/getTextBetween.d.ts +14 -0
- package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +8 -0
- package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +8 -0
- package/dist/packages/core/src/helpers/index.d.ts +50 -0
- package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +9 -0
- package/dist/packages/core/src/helpers/isActive.d.ts +2 -0
- package/dist/packages/core/src/helpers/isAtEndOfNode.d.ts +2 -0
- package/dist/packages/core/src/helpers/isAtStartOfNode.d.ts +2 -0
- package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
- package/dist/packages/core/src/helpers/isList.d.ts +2 -0
- package/dist/packages/core/src/helpers/isMarkActive.d.ts +3 -0
- package/dist/packages/core/src/helpers/isNodeActive.d.ts +3 -0
- package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +2 -0
- package/dist/packages/core/src/helpers/isNodeSelection.d.ts +2 -0
- package/dist/packages/core/src/helpers/isTextSelection.d.ts +2 -0
- 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 +2 -0
- package/dist/packages/core/src/helpers/splitExtensions.d.ts +9 -0
- package/dist/packages/core/src/index.d.ts +24 -0
- package/dist/packages/core/src/inputRules/index.d.ts +5 -0
- package/dist/packages/core/src/inputRules/markInputRule.d.ts +13 -0
- package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +23 -0
- package/dist/packages/core/src/inputRules/textInputRule.d.ts +10 -0
- package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +15 -0
- package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +28 -0
- package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
- package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +13 -0
- package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +13 -0
- package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +10 -0
- package/dist/packages/core/src/style.d.ts +1 -0
- package/dist/packages/core/src/types.d.ts +250 -0
- package/dist/packages/core/src/utilities/callOrReturn.d.ts +9 -0
- package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -0
- package/dist/packages/core/src/utilities/deleteProps.d.ts +6 -0
- package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -0
- 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 -0
- package/dist/packages/core/src/utilities/index.d.ts +20 -0
- package/dist/packages/core/src/utilities/isAndroid.d.ts +1 -0
- package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -0
- 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 -0
- package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
- package/dist/packages/core/src/utilities/isString.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 -0
- package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -0
- package/dist/packages/core/src/utilities/minMax.d.ts +1 -0
- package/dist/packages/core/src/utilities/objectIncludes.d.ts +8 -0
- package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
- package/dist/packages/extension-bubble-menu/src/bubble-menu-plugin.d.ts +76 -0
- package/dist/packages/extension-bubble-menu/src/bubble-menu.d.ts +15 -0
- package/dist/packages/extension-bubble-menu/src/index.d.ts +4 -0
- package/dist/packages/extension-floating-menu/src/floating-menu-plugin.d.ts +66 -0
- package/dist/packages/extension-floating-menu/src/floating-menu.d.ts +15 -0
- package/dist/packages/extension-floating-menu/src/index.d.ts +4 -0
- package/dist/packages/vue-3/src/BubbleMenu.d.ts +72 -72
- package/dist/packages/vue-3/src/Editor.d.ts +23 -24
- package/dist/packages/vue-3/src/EditorContent.d.ts +17 -17
- package/dist/packages/vue-3/src/FloatingMenu.d.ts +57 -57
- package/dist/packages/vue-3/src/NodeViewContent.d.ts +13 -13
- package/dist/packages/vue-3/src/NodeViewWrapper.d.ts +13 -13
- package/dist/packages/vue-3/src/VueNodeViewRenderer.d.ts +48 -48
- package/dist/packages/vue-3/src/VueRenderer.d.ts +36 -22
- package/dist/packages/vue-3/src/index.d.ts +10 -10
- package/dist/packages/vue-3/src/useEditor.d.ts +3 -3
- package/package.json +5 -5
- package/src/Editor.ts +3 -5
- package/src/EditorContent.ts +12 -26
- package/src/VueNodeViewRenderer.ts +7 -3
- package/src/VueRenderer.ts +32 -17
package/src/EditorContent.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
DefineComponent,
|
|
3
2
|
defineComponent,
|
|
4
3
|
getCurrentInstance,
|
|
5
4
|
h,
|
|
@@ -8,7 +7,6 @@ import {
|
|
|
8
7
|
PropType,
|
|
9
8
|
Ref,
|
|
10
9
|
ref,
|
|
11
|
-
Teleport,
|
|
12
10
|
unref,
|
|
13
11
|
watchEffect,
|
|
14
12
|
} from 'vue'
|
|
@@ -45,6 +43,17 @@ export const EditorContent = defineComponent({
|
|
|
45
43
|
// @ts-ignore
|
|
46
44
|
editor.contentComponent = instance.ctx._
|
|
47
45
|
|
|
46
|
+
if (instance) {
|
|
47
|
+
editor.appContext = {
|
|
48
|
+
...instance.appContext,
|
|
49
|
+
provides: {
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
...instance.provides,
|
|
52
|
+
...instance.appContext.provides,
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
48
57
|
editor.setOptions({
|
|
49
58
|
element,
|
|
50
59
|
})
|
|
@@ -69,6 +78,7 @@ export const EditorContent = defineComponent({
|
|
|
69
78
|
}
|
|
70
79
|
|
|
71
80
|
editor.contentComponent = null
|
|
81
|
+
editor.appContext = null
|
|
72
82
|
|
|
73
83
|
if (!editor.options.element.firstChild) {
|
|
74
84
|
return
|
|
@@ -87,35 +97,11 @@ export const EditorContent = defineComponent({
|
|
|
87
97
|
},
|
|
88
98
|
|
|
89
99
|
render() {
|
|
90
|
-
const vueRenderers: any[] = []
|
|
91
|
-
|
|
92
|
-
if (this.editor) {
|
|
93
|
-
this.editor.vueRenderers.forEach(vueRenderer => {
|
|
94
|
-
const node = h(
|
|
95
|
-
Teleport,
|
|
96
|
-
{
|
|
97
|
-
to: vueRenderer.teleportElement,
|
|
98
|
-
key: vueRenderer.id,
|
|
99
|
-
},
|
|
100
|
-
h(
|
|
101
|
-
vueRenderer.component as DefineComponent,
|
|
102
|
-
{
|
|
103
|
-
ref: vueRenderer.id,
|
|
104
|
-
...vueRenderer.props,
|
|
105
|
-
},
|
|
106
|
-
),
|
|
107
|
-
)
|
|
108
|
-
|
|
109
|
-
vueRenderers.push(node)
|
|
110
|
-
})
|
|
111
|
-
}
|
|
112
|
-
|
|
113
100
|
return h(
|
|
114
101
|
'div',
|
|
115
102
|
{
|
|
116
103
|
ref: (el: any) => { this.rootEl = el },
|
|
117
104
|
},
|
|
118
|
-
...vueRenderers,
|
|
119
105
|
)
|
|
120
106
|
},
|
|
121
107
|
})
|
|
@@ -124,7 +124,7 @@ class VueNodeView extends NodeView<Component, Editor, VueNodeViewRendererOptions
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
get dom() {
|
|
127
|
-
if (!this.renderer.element.hasAttribute('data-node-view-wrapper')) {
|
|
127
|
+
if (!this.renderer.element || !this.renderer.element.hasAttribute('data-node-view-wrapper')) {
|
|
128
128
|
throw Error('Please use the NodeViewWrapper component for your node view.')
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -183,14 +183,18 @@ class VueNodeView extends NodeView<Component, Editor, VueNodeViewRendererOptions
|
|
|
183
183
|
this.renderer.updateProps({
|
|
184
184
|
selected: true,
|
|
185
185
|
})
|
|
186
|
-
this.renderer.element
|
|
186
|
+
if (this.renderer.element) {
|
|
187
|
+
this.renderer.element.classList.add('ProseMirror-selectednode')
|
|
188
|
+
}
|
|
187
189
|
}
|
|
188
190
|
|
|
189
191
|
deselectNode() {
|
|
190
192
|
this.renderer.updateProps({
|
|
191
193
|
selected: false,
|
|
192
194
|
})
|
|
193
|
-
this.renderer.element
|
|
195
|
+
if (this.renderer.element) {
|
|
196
|
+
this.renderer.element.classList.remove('ProseMirror-selectednode')
|
|
197
|
+
}
|
|
194
198
|
}
|
|
195
199
|
|
|
196
200
|
getDecorationClasses() {
|
package/src/VueRenderer.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Editor } from '@tiptap/core'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Component, DefineComponent, h, markRaw, reactive, render,
|
|
4
|
+
} from 'vue'
|
|
3
5
|
|
|
4
6
|
import { Editor as ExtendedEditor } from './Editor.js'
|
|
5
7
|
|
|
@@ -8,19 +10,27 @@ export interface VueRendererOptions {
|
|
|
8
10
|
props?: Record<string, any>,
|
|
9
11
|
}
|
|
10
12
|
|
|
13
|
+
type ExtendedVNode = ReturnType<typeof h> | null
|
|
14
|
+
|
|
15
|
+
interface RenderedComponent {
|
|
16
|
+
vNode: ExtendedVNode
|
|
17
|
+
destroy: () => void
|
|
18
|
+
el: Element | null
|
|
19
|
+
}
|
|
20
|
+
|
|
11
21
|
/**
|
|
12
22
|
* This class is used to render Vue components inside the editor.
|
|
13
23
|
*/
|
|
14
24
|
export class VueRenderer {
|
|
15
25
|
id: string
|
|
16
26
|
|
|
27
|
+
renderedComponent!: RenderedComponent
|
|
28
|
+
|
|
17
29
|
editor: ExtendedEditor
|
|
18
30
|
|
|
19
31
|
component: Component
|
|
20
32
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
element: Element
|
|
33
|
+
el: Element | null
|
|
24
34
|
|
|
25
35
|
props: Record<string, any>
|
|
26
36
|
|
|
@@ -28,35 +38,40 @@ export class VueRenderer {
|
|
|
28
38
|
this.id = Math.floor(Math.random() * 0xFFFFFFFF).toString()
|
|
29
39
|
this.editor = editor as ExtendedEditor
|
|
30
40
|
this.component = markRaw(component)
|
|
31
|
-
this.
|
|
32
|
-
this.element = this.teleportElement
|
|
41
|
+
this.el = document.createElement('div')
|
|
33
42
|
this.props = reactive(props)
|
|
34
|
-
this.
|
|
43
|
+
this.renderedComponent = this.renderComponent()
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
get element(): Element | null {
|
|
47
|
+
return this.renderedComponent.el
|
|
48
|
+
}
|
|
35
49
|
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
renderComponent() {
|
|
51
|
+
let vNode: ExtendedVNode = h(this.component as DefineComponent, this.props)
|
|
38
52
|
|
|
39
|
-
|
|
40
|
-
throw Error('VueRenderer doesn’t support multiple child elements.')
|
|
41
|
-
}
|
|
53
|
+
if (typeof document !== 'undefined' && this.el) { render(vNode, this.el) }
|
|
42
54
|
|
|
43
|
-
|
|
55
|
+
const destroy = () => {
|
|
56
|
+
if (this.el) { render(null, this.el) }
|
|
57
|
+
this.el = null
|
|
58
|
+
vNode = null
|
|
44
59
|
}
|
|
45
|
-
}
|
|
46
60
|
|
|
47
|
-
|
|
48
|
-
return this.editor.contentComponent?.refs[this.id]
|
|
61
|
+
return { vNode, destroy, el: this.el ? this.el.firstElementChild : null }
|
|
49
62
|
}
|
|
50
63
|
|
|
51
64
|
updateProps(props: Record<string, any> = {}): void {
|
|
65
|
+
|
|
52
66
|
Object
|
|
53
67
|
.entries(props)
|
|
54
68
|
.forEach(([key, value]) => {
|
|
55
69
|
this.props[key] = value
|
|
56
70
|
})
|
|
71
|
+
this.renderComponent()
|
|
57
72
|
}
|
|
58
73
|
|
|
59
74
|
destroy(): void {
|
|
60
|
-
this.
|
|
75
|
+
this.renderedComponent.destroy()
|
|
61
76
|
}
|
|
62
77
|
}
|