@textbus/adapter-vue 5.4.3 → 5.4.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.esm.js +3 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { makeError,
|
|
1
|
+
import { makeError, Adapter } from '@textbus/core';
|
|
2
2
|
import { getCurrentInstance, onMounted, onUpdated, onUnmounted, h, ref } from 'vue';
|
|
3
3
|
import { DomAdapter } from '@textbus/platform-browser';
|
|
4
4
|
import { ReflectiveInjector } from '@viewfly/core';
|
|
@@ -169,13 +169,13 @@ var VueAdapter = /*#__PURE__*/ function(DomAdapter1) {
|
|
|
169
169
|
_this = _call_super(this, VueAdapter, [
|
|
170
170
|
{
|
|
171
171
|
createCompositionNode: function createCompositionNode(compositionState, updateNativeCompositionNode) {
|
|
172
|
-
return
|
|
172
|
+
return h('span', {
|
|
173
173
|
style: {
|
|
174
174
|
textDecoration: 'underline'
|
|
175
175
|
},
|
|
176
176
|
ref: updateNativeCompositionNode
|
|
177
177
|
}, [
|
|
178
|
-
|
|
178
|
+
compositionState.text
|
|
179
179
|
]);
|
|
180
180
|
},
|
|
181
181
|
getParentNode: function getParentNode(node) {
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/vue-adapter.ts"],"sourcesContent":["import { Adapter, Component, CompositionState, makeError, VElement, ViewMount, VTextNode } from '@textbus/core'\nimport { DefineComponent, getCurrentInstance, h, onMounted, onUnmounted, onUpdated, ref, Ref, VNode } from 'vue'\nimport { DomAdapter } from '@textbus/platform-browser'\nimport { Injector, ReflectiveInjector } from '@viewfly/core'\nimport { merge } from '@tanbo/stream'\n\nconst adapterError = makeError('VueAdapter')\n\nexport interface ViewComponentProps<T extends Component> {\n component: T\n rootRef: Ref<Element | undefined>\n}\n\nexport interface VueAdapterComponents {\n [key: string]: DefineComponent<ViewComponentProps<any>>\n}\n\nexport class VueAdapter extends DomAdapter<VNode, VNode> {\n // private compositionRef = ref<Element>()\n private componentRefs = new WeakMap<Component, Ref<Element | undefined>>()\n private components: Record<string, DefineComponent<ViewComponentProps<any>>> = {}\n\n constructor(components: VueAdapterComponents,\n mount: ViewMount<VNode, Element>) {\n super({\n createCompositionNode: (compositionState: CompositionState,\n updateNativeCompositionNode: (nativeNode: (Element | null)) => void): VElement => {\n return new VElement('span', {\n style: {\n textDecoration: 'underline'\n },\n ref: updateNativeCompositionNode\n }, [\n new VTextNode(compositionState.text)\n ])\n },\n getParentNode(node: Element | Text): Element | null {\n return (node as Node).parentNode as Element\n },\n getChildNodes(parentElement: Element): Array<Element | Text> {\n return Array.from(parentElement.childNodes) as Element[]\n },\n isNativeElementNode(node: Element | Text): node is Element {\n return node instanceof Element\n },\n getChildByIndex(parentElement, index) {\n return parentElement.childNodes[index] as Element\n },\n getAndUpdateSlotRootNativeElement(vElement: VElement, update: (nativeElement: (Element | null)) => void) {\n const currentRef = vElement.attrs.get('ref')\n if (currentRef) {\n vElement.attrs.set('ref', (v: Element) => {\n update(v)\n if (typeof currentRef === 'function') {\n currentRef(v)\n } else if (!currentRef.value) {\n currentRef.value = v\n }\n })\n } else {\n vElement.attrs.set('ref', update)\n }\n },\n componentRender: (component: Component<any>): VNode => {\n const comp = this.components[component.name] || this.components['*']\n if (comp) {\n let rootRef = this.componentRefs.get(component)\n if (!rootRef) {\n rootRef = ref<Element>()\n this.componentRefs.set(component, rootRef)\n }\n return h(comp, {\n component,\n rootRef,\n key: component.id\n })\n }\n throw adapterError(`cannot found view component \\`${component.name}\\`!`)\n },\n vElementToViewElement(vNode: VElement, children: Array<string | VNode>): VNode {\n const props: any = {\n ...(Array.from(vNode.attrs).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>))\n }\n if (vNode.classes.size) {\n props.class = Array.from(vNode.classes).join(' ')\n }\n if (vNode.styles) {\n props.style = Array.from(vNode.styles).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>)\n }\n return h(vNode.tagName, props, ...children)\n }\n }, mount)\n\n // watchEffect(() => {\n // this.compositionNode = this.compositionRef.value || null\n // })\n\n Object.keys(components).forEach(key => {\n const vueComponent = components[key]\n const setup = vueComponent.setup!\n const self = this\n vueComponent.setup = function (props: ViewComponentProps<Component>, context, ...args: any[]) {\n const component = props.component\n const vueInstance = getCurrentInstance()!\n const sub = merge(component.changeMarker.onChange, component.changeMarker.onForceChange).subscribe(() => {\n if (component.changeMarker.dirty) {\n vueInstance.proxy!.$forceUpdate()\n }\n })\n onMounted(() => {\n if (props.rootRef.value) {\n self.componentRootElementCaches.set(component, props.rootRef.value)\n } else {\n self.componentRootElementCaches.remove(component)\n }\n })\n onUpdated(() => {\n component.changeMarker.rendered()\n self.onViewUpdated.next()\n\n if (!(self.componentRefs.get(component)?.value instanceof Element)) {\n // eslint-disable-next-line max-len\n throw adapterError(`Component \\`${component.name}\\` is not bound to rootRef, you must bind rootRef to the root element node of the component view.`)\n }\n })\n onUnmounted(() => {\n sub.unsubscribe()\n })\n return (setup as any)(props, context, ...args)\n }\n this.components[key] = vueComponent\n })\n }\n\n override render(rootComponent: Component, injector: Injector): void | (() => void) {\n const childrenInjector = new ReflectiveInjector(injector, [{\n provide: Adapter,\n useValue: this\n }, {\n provide: DomAdapter,\n useValue: this,\n }, {\n provide: VueAdapter,\n useValue: this\n }])\n return super.render(rootComponent, childrenInjector)\n }\n\n override copy() {\n document.execCommand('copy')\n }\n}\n"],"names":["adapterError","makeError","VueAdapter","components","mount","createCompositionNode","compositionState","updateNativeCompositionNode","VElement","style","textDecoration","ref","VTextNode","text","getParentNode","node","parentNode","getChildNodes","parentElement","Array","from","childNodes","isNativeElementNode","Element","getChildByIndex","index","getAndUpdateSlotRootNativeElement","vElement","update","currentRef","attrs","get","set","v","value","componentRender","component","comp","name","rootRef","componentRefs","h","key","id","vElementToViewElement","vNode","children","props","reduce","a","b","classes","size","class","join","styles","tagName","WeakMap","Object","keys","forEach","vueComponent","setup","self","context","args","vueInstance","getCurrentInstance","sub","merge","changeMarker","onChange","onForceChange","subscribe","dirty","proxy","$forceUpdate","onMounted","componentRootElementCaches","remove","onUpdated","rendered","onViewUpdated","next","onUnmounted","unsubscribe","render","rootComponent","injector","childrenInjector","ReflectiveInjector","provide","Adapter","useValue","DomAdapter","copy","document","execCommand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/vue-adapter.ts"],"sourcesContent":["import { Adapter, Component, CompositionState, makeError, VElement, ViewMount } from '@textbus/core'\nimport { DefineComponent, getCurrentInstance, h, onMounted, onUnmounted, onUpdated, ref, Ref, VNode, VNodeRef } from 'vue'\nimport { DomAdapter } from '@textbus/platform-browser'\nimport { Injector, ReflectiveInjector } from '@viewfly/core'\nimport { merge } from '@tanbo/stream'\n\nconst adapterError = makeError('VueAdapter')\n\nexport interface ViewComponentProps<T extends Component> {\n component: T\n rootRef: Ref<Element | undefined>\n}\n\nexport interface VueAdapterComponents {\n [key: string]: DefineComponent<ViewComponentProps<any>>\n}\n\nexport class VueAdapter extends DomAdapter<VNode, VNode> {\n // private compositionRef = ref<Element>()\n private componentRefs = new WeakMap<Component, Ref<Element | undefined>>()\n private components: Record<string, DefineComponent<ViewComponentProps<any>>> = {}\n\n constructor(components: VueAdapterComponents,\n mount: ViewMount<VNode, Element>) {\n super({\n createCompositionNode: (compositionState: CompositionState,\n updateNativeCompositionNode: (nativeNode: (Element | null)) => void) => {\n return h('span', {\n style: {\n textDecoration: 'underline'\n },\n ref: updateNativeCompositionNode as VNodeRef,\n }, [compositionState.text])\n },\n getParentNode(node: Element | Text): Element | null {\n return (node as Node).parentNode as Element\n },\n getChildNodes(parentElement: Element): Array<Element | Text> {\n return Array.from(parentElement.childNodes) as Element[]\n },\n isNativeElementNode(node: Element | Text): node is Element {\n return node instanceof Element\n },\n getChildByIndex(parentElement, index) {\n return parentElement.childNodes[index] as Element\n },\n getAndUpdateSlotRootNativeElement(vElement: VElement, update: (nativeElement: (Element | null)) => void) {\n const currentRef = vElement.attrs.get('ref')\n if (currentRef) {\n vElement.attrs.set('ref', (v: Element) => {\n update(v)\n if (typeof currentRef === 'function') {\n currentRef(v)\n } else if (!currentRef.value) {\n currentRef.value = v\n }\n })\n } else {\n vElement.attrs.set('ref', update)\n }\n },\n componentRender: (component: Component<any>): VNode => {\n const comp = this.components[component.name] || this.components['*']\n if (comp) {\n let rootRef = this.componentRefs.get(component)\n if (!rootRef) {\n rootRef = ref<Element>()\n this.componentRefs.set(component, rootRef)\n }\n return h(comp, {\n component,\n rootRef,\n key: component.id\n })\n }\n throw adapterError(`cannot found view component \\`${component.name}\\`!`)\n },\n vElementToViewElement(vNode: VElement, children: Array<string | VNode>): VNode {\n const props: any = {\n ...(Array.from(vNode.attrs).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>))\n }\n if (vNode.classes.size) {\n props.class = Array.from(vNode.classes).join(' ')\n }\n if (vNode.styles) {\n props.style = Array.from(vNode.styles).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>)\n }\n return h(vNode.tagName, props, ...children)\n }\n }, mount)\n\n // watchEffect(() => {\n // this.compositionNode = this.compositionRef.value || null\n // })\n\n Object.keys(components).forEach(key => {\n const vueComponent = components[key]\n const setup = vueComponent.setup!\n const self = this\n vueComponent.setup = function (props: ViewComponentProps<Component>, context, ...args: any[]) {\n const component = props.component\n const vueInstance = getCurrentInstance()!\n const sub = merge(component.changeMarker.onChange, component.changeMarker.onForceChange).subscribe(() => {\n if (component.changeMarker.dirty) {\n vueInstance.proxy!.$forceUpdate()\n }\n })\n onMounted(() => {\n if (props.rootRef.value) {\n self.componentRootElementCaches.set(component, props.rootRef.value)\n } else {\n self.componentRootElementCaches.remove(component)\n }\n })\n onUpdated(() => {\n component.changeMarker.rendered()\n self.onViewUpdated.next()\n\n if (!(self.componentRefs.get(component)?.value instanceof Element)) {\n // eslint-disable-next-line max-len\n throw adapterError(`Component \\`${component.name}\\` is not bound to rootRef, you must bind rootRef to the root element node of the component view.`)\n }\n })\n onUnmounted(() => {\n sub.unsubscribe()\n })\n return (setup as any)(props, context, ...args)\n }\n this.components[key] = vueComponent\n })\n }\n\n override render(rootComponent: Component, injector: Injector): void | (() => void) {\n const childrenInjector = new ReflectiveInjector(injector, [{\n provide: Adapter,\n useValue: this\n }, {\n provide: DomAdapter,\n useValue: this,\n }, {\n provide: VueAdapter,\n useValue: this\n }])\n return super.render(rootComponent, childrenInjector)\n }\n\n override copy() {\n document.execCommand('copy')\n }\n}\n"],"names":["adapterError","makeError","VueAdapter","components","mount","createCompositionNode","compositionState","updateNativeCompositionNode","h","style","textDecoration","ref","text","getParentNode","node","parentNode","getChildNodes","parentElement","Array","from","childNodes","isNativeElementNode","Element","getChildByIndex","index","getAndUpdateSlotRootNativeElement","vElement","update","currentRef","attrs","get","set","v","value","componentRender","component","comp","name","rootRef","componentRefs","key","id","vElementToViewElement","vNode","children","props","reduce","a","b","classes","size","class","join","styles","tagName","WeakMap","Object","keys","forEach","vueComponent","setup","self","context","args","vueInstance","getCurrentInstance","sub","merge","changeMarker","onChange","onForceChange","subscribe","dirty","proxy","$forceUpdate","onMounted","componentRootElementCaches","remove","onUpdated","rendered","onViewUpdated","next","onUnmounted","unsubscribe","render","rootComponent","injector","childrenInjector","ReflectiveInjector","provide","Adapter","useValue","DomAdapter","copy","document","execCommand"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -173,13 +173,13 @@ var VueAdapter = /*#__PURE__*/ function(DomAdapter1) {
|
|
|
173
173
|
_this = _call_super(this, VueAdapter, [
|
|
174
174
|
{
|
|
175
175
|
createCompositionNode: function createCompositionNode(compositionState, updateNativeCompositionNode) {
|
|
176
|
-
return
|
|
176
|
+
return vue.h('span', {
|
|
177
177
|
style: {
|
|
178
178
|
textDecoration: 'underline'
|
|
179
179
|
},
|
|
180
180
|
ref: updateNativeCompositionNode
|
|
181
181
|
}, [
|
|
182
|
-
|
|
182
|
+
compositionState.text
|
|
183
183
|
]);
|
|
184
184
|
},
|
|
185
185
|
getParentNode: function getParentNode(node) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/vue-adapter.ts"],"sourcesContent":["import { Adapter, Component, CompositionState, makeError, VElement, ViewMount, VTextNode } from '@textbus/core'\nimport { DefineComponent, getCurrentInstance, h, onMounted, onUnmounted, onUpdated, ref, Ref, VNode } from 'vue'\nimport { DomAdapter } from '@textbus/platform-browser'\nimport { Injector, ReflectiveInjector } from '@viewfly/core'\nimport { merge } from '@tanbo/stream'\n\nconst adapterError = makeError('VueAdapter')\n\nexport interface ViewComponentProps<T extends Component> {\n component: T\n rootRef: Ref<Element | undefined>\n}\n\nexport interface VueAdapterComponents {\n [key: string]: DefineComponent<ViewComponentProps<any>>\n}\n\nexport class VueAdapter extends DomAdapter<VNode, VNode> {\n // private compositionRef = ref<Element>()\n private componentRefs = new WeakMap<Component, Ref<Element | undefined>>()\n private components: Record<string, DefineComponent<ViewComponentProps<any>>> = {}\n\n constructor(components: VueAdapterComponents,\n mount: ViewMount<VNode, Element>) {\n super({\n createCompositionNode: (compositionState: CompositionState,\n updateNativeCompositionNode: (nativeNode: (Element | null)) => void): VElement => {\n return new VElement('span', {\n style: {\n textDecoration: 'underline'\n },\n ref: updateNativeCompositionNode\n }, [\n new VTextNode(compositionState.text)\n ])\n },\n getParentNode(node: Element | Text): Element | null {\n return (node as Node).parentNode as Element\n },\n getChildNodes(parentElement: Element): Array<Element | Text> {\n return Array.from(parentElement.childNodes) as Element[]\n },\n isNativeElementNode(node: Element | Text): node is Element {\n return node instanceof Element\n },\n getChildByIndex(parentElement, index) {\n return parentElement.childNodes[index] as Element\n },\n getAndUpdateSlotRootNativeElement(vElement: VElement, update: (nativeElement: (Element | null)) => void) {\n const currentRef = vElement.attrs.get('ref')\n if (currentRef) {\n vElement.attrs.set('ref', (v: Element) => {\n update(v)\n if (typeof currentRef === 'function') {\n currentRef(v)\n } else if (!currentRef.value) {\n currentRef.value = v\n }\n })\n } else {\n vElement.attrs.set('ref', update)\n }\n },\n componentRender: (component: Component<any>): VNode => {\n const comp = this.components[component.name] || this.components['*']\n if (comp) {\n let rootRef = this.componentRefs.get(component)\n if (!rootRef) {\n rootRef = ref<Element>()\n this.componentRefs.set(component, rootRef)\n }\n return h(comp, {\n component,\n rootRef,\n key: component.id\n })\n }\n throw adapterError(`cannot found view component \\`${component.name}\\`!`)\n },\n vElementToViewElement(vNode: VElement, children: Array<string | VNode>): VNode {\n const props: any = {\n ...(Array.from(vNode.attrs).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>))\n }\n if (vNode.classes.size) {\n props.class = Array.from(vNode.classes).join(' ')\n }\n if (vNode.styles) {\n props.style = Array.from(vNode.styles).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>)\n }\n return h(vNode.tagName, props, ...children)\n }\n }, mount)\n\n // watchEffect(() => {\n // this.compositionNode = this.compositionRef.value || null\n // })\n\n Object.keys(components).forEach(key => {\n const vueComponent = components[key]\n const setup = vueComponent.setup!\n const self = this\n vueComponent.setup = function (props: ViewComponentProps<Component>, context, ...args: any[]) {\n const component = props.component\n const vueInstance = getCurrentInstance()!\n const sub = merge(component.changeMarker.onChange, component.changeMarker.onForceChange).subscribe(() => {\n if (component.changeMarker.dirty) {\n vueInstance.proxy!.$forceUpdate()\n }\n })\n onMounted(() => {\n if (props.rootRef.value) {\n self.componentRootElementCaches.set(component, props.rootRef.value)\n } else {\n self.componentRootElementCaches.remove(component)\n }\n })\n onUpdated(() => {\n component.changeMarker.rendered()\n self.onViewUpdated.next()\n\n if (!(self.componentRefs.get(component)?.value instanceof Element)) {\n // eslint-disable-next-line max-len\n throw adapterError(`Component \\`${component.name}\\` is not bound to rootRef, you must bind rootRef to the root element node of the component view.`)\n }\n })\n onUnmounted(() => {\n sub.unsubscribe()\n })\n return (setup as any)(props, context, ...args)\n }\n this.components[key] = vueComponent\n })\n }\n\n override render(rootComponent: Component, injector: Injector): void | (() => void) {\n const childrenInjector = new ReflectiveInjector(injector, [{\n provide: Adapter,\n useValue: this\n }, {\n provide: DomAdapter,\n useValue: this,\n }, {\n provide: VueAdapter,\n useValue: this\n }])\n return super.render(rootComponent, childrenInjector)\n }\n\n override copy() {\n document.execCommand('copy')\n }\n}\n"],"names":["adapterError","makeError","VueAdapter","components","mount","createCompositionNode","compositionState","updateNativeCompositionNode","VElement","style","textDecoration","ref","VTextNode","text","getParentNode","node","parentNode","getChildNodes","parentElement","Array","from","childNodes","isNativeElementNode","Element","getChildByIndex","index","getAndUpdateSlotRootNativeElement","vElement","update","currentRef","attrs","get","set","v","value","componentRender","component","comp","name","rootRef","componentRefs","h","key","id","vElementToViewElement","vNode","children","props","reduce","a","b","classes","size","class","join","styles","tagName","WeakMap","Object","keys","forEach","vueComponent","setup","self","context","args","vueInstance","getCurrentInstance","sub","merge","changeMarker","onChange","onForceChange","subscribe","dirty","proxy","$forceUpdate","onMounted","componentRootElementCaches","remove","onUpdated","rendered","onViewUpdated","next","onUnmounted","unsubscribe","render","rootComponent","injector","childrenInjector","ReflectiveInjector","provide","Adapter","useValue","DomAdapter","copy","document","execCommand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/vue-adapter.ts"],"sourcesContent":["import { Adapter, Component, CompositionState, makeError, VElement, ViewMount } from '@textbus/core'\nimport { DefineComponent, getCurrentInstance, h, onMounted, onUnmounted, onUpdated, ref, Ref, VNode, VNodeRef } from 'vue'\nimport { DomAdapter } from '@textbus/platform-browser'\nimport { Injector, ReflectiveInjector } from '@viewfly/core'\nimport { merge } from '@tanbo/stream'\n\nconst adapterError = makeError('VueAdapter')\n\nexport interface ViewComponentProps<T extends Component> {\n component: T\n rootRef: Ref<Element | undefined>\n}\n\nexport interface VueAdapterComponents {\n [key: string]: DefineComponent<ViewComponentProps<any>>\n}\n\nexport class VueAdapter extends DomAdapter<VNode, VNode> {\n // private compositionRef = ref<Element>()\n private componentRefs = new WeakMap<Component, Ref<Element | undefined>>()\n private components: Record<string, DefineComponent<ViewComponentProps<any>>> = {}\n\n constructor(components: VueAdapterComponents,\n mount: ViewMount<VNode, Element>) {\n super({\n createCompositionNode: (compositionState: CompositionState,\n updateNativeCompositionNode: (nativeNode: (Element | null)) => void) => {\n return h('span', {\n style: {\n textDecoration: 'underline'\n },\n ref: updateNativeCompositionNode as VNodeRef,\n }, [compositionState.text])\n },\n getParentNode(node: Element | Text): Element | null {\n return (node as Node).parentNode as Element\n },\n getChildNodes(parentElement: Element): Array<Element | Text> {\n return Array.from(parentElement.childNodes) as Element[]\n },\n isNativeElementNode(node: Element | Text): node is Element {\n return node instanceof Element\n },\n getChildByIndex(parentElement, index) {\n return parentElement.childNodes[index] as Element\n },\n getAndUpdateSlotRootNativeElement(vElement: VElement, update: (nativeElement: (Element | null)) => void) {\n const currentRef = vElement.attrs.get('ref')\n if (currentRef) {\n vElement.attrs.set('ref', (v: Element) => {\n update(v)\n if (typeof currentRef === 'function') {\n currentRef(v)\n } else if (!currentRef.value) {\n currentRef.value = v\n }\n })\n } else {\n vElement.attrs.set('ref', update)\n }\n },\n componentRender: (component: Component<any>): VNode => {\n const comp = this.components[component.name] || this.components['*']\n if (comp) {\n let rootRef = this.componentRefs.get(component)\n if (!rootRef) {\n rootRef = ref<Element>()\n this.componentRefs.set(component, rootRef)\n }\n return h(comp, {\n component,\n rootRef,\n key: component.id\n })\n }\n throw adapterError(`cannot found view component \\`${component.name}\\`!`)\n },\n vElementToViewElement(vNode: VElement, children: Array<string | VNode>): VNode {\n const props: any = {\n ...(Array.from(vNode.attrs).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>))\n }\n if (vNode.classes.size) {\n props.class = Array.from(vNode.classes).join(' ')\n }\n if (vNode.styles) {\n props.style = Array.from(vNode.styles).reduce((a, b) => {\n a[b[0]] = b[1]\n return a\n }, {} as Record<string, any>)\n }\n return h(vNode.tagName, props, ...children)\n }\n }, mount)\n\n // watchEffect(() => {\n // this.compositionNode = this.compositionRef.value || null\n // })\n\n Object.keys(components).forEach(key => {\n const vueComponent = components[key]\n const setup = vueComponent.setup!\n const self = this\n vueComponent.setup = function (props: ViewComponentProps<Component>, context, ...args: any[]) {\n const component = props.component\n const vueInstance = getCurrentInstance()!\n const sub = merge(component.changeMarker.onChange, component.changeMarker.onForceChange).subscribe(() => {\n if (component.changeMarker.dirty) {\n vueInstance.proxy!.$forceUpdate()\n }\n })\n onMounted(() => {\n if (props.rootRef.value) {\n self.componentRootElementCaches.set(component, props.rootRef.value)\n } else {\n self.componentRootElementCaches.remove(component)\n }\n })\n onUpdated(() => {\n component.changeMarker.rendered()\n self.onViewUpdated.next()\n\n if (!(self.componentRefs.get(component)?.value instanceof Element)) {\n // eslint-disable-next-line max-len\n throw adapterError(`Component \\`${component.name}\\` is not bound to rootRef, you must bind rootRef to the root element node of the component view.`)\n }\n })\n onUnmounted(() => {\n sub.unsubscribe()\n })\n return (setup as any)(props, context, ...args)\n }\n this.components[key] = vueComponent\n })\n }\n\n override render(rootComponent: Component, injector: Injector): void | (() => void) {\n const childrenInjector = new ReflectiveInjector(injector, [{\n provide: Adapter,\n useValue: this\n }, {\n provide: DomAdapter,\n useValue: this,\n }, {\n provide: VueAdapter,\n useValue: this\n }])\n return super.render(rootComponent, childrenInjector)\n }\n\n override copy() {\n document.execCommand('copy')\n }\n}\n"],"names":["adapterError","makeError","VueAdapter","components","mount","createCompositionNode","compositionState","updateNativeCompositionNode","h","style","textDecoration","ref","text","getParentNode","node","parentNode","getChildNodes","parentElement","Array","from","childNodes","isNativeElementNode","Element","getChildByIndex","index","getAndUpdateSlotRootNativeElement","vElement","update","currentRef","attrs","get","set","v","value","componentRender","component","comp","name","rootRef","componentRefs","key","id","vElementToViewElement","vNode","children","props","reduce","a","b","classes","size","class","join","styles","tagName","WeakMap","Object","keys","forEach","vueComponent","setup","self","context","args","vueInstance","getCurrentInstance","sub","merge","changeMarker","onChange","onForceChange","subscribe","dirty","proxy","$forceUpdate","onMounted","componentRootElementCaches","remove","onUpdated","rendered","onViewUpdated","next","onUnmounted","unsubscribe","render","rootComponent","injector","childrenInjector","ReflectiveInjector","provide","Adapter","useValue","DomAdapter","copy","document","execCommand"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,eAAeC,cAAAA,CAAU,YAAA,CAAA;AAWxB,IAAA,UAAMC,iBAAN,SAAA,WAAA,EAAA;AAAMA,IAAAA,SAAAA,CAAAA,UAAAA,EAAAA,WAAAA,CAAAA;aAAAA,UAAAA,CAKCC,UAAgC,EAChCC,KAAgC,EAAA;AANjCF,QAAAA,iBAAAA,CAAAA,IAAAA,EAAAA,UAAAA,CAAAA;;gBAOT,WAAA,CAAA,IAAA,EAPSA,UAAAA,EAAAA;AAOH,YAAA;gBACJG,qBAAAA,EAAuB,SAAvBA,sBAAwBC,gBAAAA,EACAC,2BAAAA,EAAAA;AACtB,oBAAA,OAAOC,MAAE,MAAA,EAAQ;wBACfC,KAAAA,EAAO;4BACLC,cAAAA,EAAgB;AAClB,yBAAA;wBACAC,GAAAA,EAAKJ;qBACP,EAAG;AAACD,wBAAAA,gBAAAA,CAAiBM;AAAK,qBAAA,CAAA;AAC5B,gBAAA,CAAA;gBACAC,aAAAA,EAAAA,SAAAA,cAAcC,IAAoB,EAAA;oBAChC,OAAQA,KAAcC,UAAU;AAClC,gBAAA,CAAA;gBACAC,aAAAA,EAAAA,SAAAA,cAAcC,aAAsB,EAAA;AAClC,oBAAA,OAAOC,KAAAA,CAAMC,IAAI,CAACF,aAAAA,CAAcG,UAAU,CAAA;AAC5C,gBAAA,CAAA;gBACAC,mBAAAA,EAAAA,SAAAA,oBAAoBP,IAAoB,EAAA;oBACtC,OAAW,YAAJA,IAAAA,EAAgBQ,OAAAA,CAAAA;AACzB,gBAAA,CAAA;AACAC,gBAAAA,eAAAA,EAAAA,SAAAA,eAAAA,CAAgBN,aAAa,EAAEO,KAAK,EAAA;oBAClC,OAAOP,aAAAA,CAAcG,UAAU,CAACI,KAAAA,CAAM;AACxC,gBAAA,CAAA;AACAC,gBAAAA,iCAAAA,EAAAA,SAAAA,iCAAAA,CAAkCC,QAAkB,EAAEC,MAAiD,EAAA;AACrG,oBAAA,IAAMC,UAAAA,GAAaF,QAAAA,CAASG,KAAK,CAACC,GAAG,CAAC,KAAA,CAAA;AACtC,oBAAA,IAAIF,UAAAA,EAAY;AACdF,wBAAAA,QAAAA,CAASG,KAAK,CAACE,GAAG,CAAC,OAAO,SAACC,CAAAA,EAAAA;4BACzBL,MAAAA,CAAOK,CAAAA,CAAAA;4BACP,IAAI,OAAOJ,eAAe,UAAA,EAAY;gCACpCA,UAAAA,CAAWI,CAAAA,CAAAA;AACb,4BAAA,CAAA,MAAO,IAAI,CAACJ,UAAAA,CAAWK,KAAK,EAAE;AAC5BL,gCAAAA,UAAAA,CAAWK,KAAK,GAAGD,CAAAA;AACrB,4BAAA;AACF,wBAAA,CAAA,CAAA;oBACF,CAAA,MAAO;AACLN,wBAAAA,QAAAA,CAASG,KAAK,CAACE,GAAG,CAAC,KAAA,EAAOJ,MAAAA,CAAAA;AAC5B,oBAAA;AACF,gBAAA,CAAA;AACAO,gBAAAA,eAAAA,EAAiB,SAAjBA,eAAAA,CAAkBC,SAAAA,EAAAA;oBAChB,IAAMC,IAAAA,GAAO,wBAAA,CAAA,KAAA,CAAA,CAAKjC,UAAU,CAACgC,SAAAA,CAAUE,IAAI,CAAC,IAAI,wBAAA,CAAA,KAAA,CAAA,CAAKlC,UAAU,CAAC,GAAA,CAAI;AACpE,oBAAA,IAAIiC,IAAAA,EAAM;AACR,wBAAA,IAAIE,OAAAA,GAAU,wBAAA,CAAA,KAAA,CAAA,CAAKC,aAAa,CAACT,GAAG,CAACK,SAAAA,CAAAA;AACrC,wBAAA,IAAI,CAACG,OAAAA,EAAS;4BACZA,OAAAA,GAAU3B,OAAAA,EAAAA;AACV,4BAAA,wBAAA,CAAA,KAAA,CAAA,CAAK4B,aAAa,CAACR,GAAG,CAACI,SAAAA,EAAWG,OAAAA,CAAAA;AACpC,wBAAA;AACA,wBAAA,OAAO9B,MAAE4B,IAAAA,EAAM;4BACbD,SAAAA,EAAAA,SAAAA;4BACAG,OAAAA,EAAAA,OAAAA;AACAE,4BAAAA,GAAAA,EAAKL,UAAUM;AACjB,yBAAA,CAAA;AACF,oBAAA;AACA,oBAAA,MAAMzC,aAAa,+BAAC,CAA+C,MAAA,CAAfmC,SAAAA,CAAUE,IAAI,EAAC,IAAA,CAAA,CAAA;AACrE,gBAAA,CAAA;AACAK,gBAAAA,qBAAAA,EAAAA,SAAAA,qBAAAA,CAAsBC,KAAe,EAAEC,QAA+B,EAAA;oBACpE,IAAMC,KAAAA,GAAa,cAAA,CAAA,EAAA,EACb3B,KAAAA,CAAMC,IAAI,CAACwB,KAAAA,CAAMd,KAAK,CAAA,CAAEiB,MAAM,CAAC,SAACC,CAAAA,EAAGC,CAAAA,EAAAA;wBACrCD,CAAC,CAACC,CAAC,CAAC,CAAA,CAAE,CAAC,GAAGA,CAAC,CAAC,CAAA,CAAE;wBACd,OAAOD,CAAAA;AACT,oBAAA,CAAA,EAAG,EAAC,CAAA,CAAA;AAEN,oBAAA,IAAIJ,KAAAA,CAAMM,OAAO,CAACC,IAAI,EAAE;wBACtBL,KAAAA,CAAMM,KAAK,GAAGjC,KAAAA,CAAMC,IAAI,CAACwB,KAAAA,CAAMM,OAAO,CAAA,CAAEG,IAAI,CAAC,GAAA,CAAA;AAC/C,oBAAA;oBACA,IAAIT,KAAAA,CAAMU,MAAM,EAAE;wBAChBR,KAAAA,CAAMpC,KAAK,GAAGS,KAAAA,CAAMC,IAAI,CAACwB,KAAAA,CAAMU,MAAM,CAAA,CAAEP,MAAM,CAAC,SAACC,CAAAA,EAAGC,CAAAA,EAAAA;4BAChDD,CAAC,CAACC,CAAC,CAAC,CAAA,CAAE,CAAC,GAAGA,CAAC,CAAC,CAAA,CAAE;4BACd,OAAOD,CAAAA;AACT,wBAAA,CAAA,EAAG,EAAC,CAAA;AACN,oBAAA;oBACA,OAAOvC,KAAAA,CAAAA,KAAAA,CAAAA,MAAAA,EAAAA;AAAEmC,wBAAAA,KAAAA,CAAMW,OAAO;AAAET,wBAAAA;AAAmB,qBAAA,CAApCrC,OAAwB,oBAAA,CAAGoC,QAAAA,CAAAA,CAAAA,CAAAA;AACpC,gBAAA;AACF,aAAA;AAAGxC,YAAAA;;AA5EL,QAAA,gBAAA,CAAA,KAAA,EAAQmC,eAAAA,EAAgB,IAAIgB,OAAAA,EAAAA,CAAAA,EAC5B,gBAAA,CAAA,KAAA,EAAQpD,cAAuE,EAAC,CAAA;;;;AAiF9EqD,QAAAA,MAAAA,CAAOC,IAAI,CAACtD,UAAAA,CAAAA,CAAYuD,OAAO,CAAClB,SAAAA,GAAAA,EAAAA;YAC9B,IAAMmB,YAAAA,GAAexD,UAAU,CAACqC,GAAAA,CAAI;YACpC,IAAMoB,KAAAA,GAAQD,aAAaC,KAAK;YAChC,IAAMC,IAAAA,GAAAA,KAAAA;AACNF,YAAAA,YAAAA,CAAaC,KAAK,GAAG,SAAUf,KAAoC,EAAEiB,OAAO,EAAA;AAAE,gBAAA,IAAA,IAAA,IAAA,GAAA,SAAA,CAAA,MAAA,EAAA,IAAGC,GAAH,IAAA,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,IAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,IAAA,GAAA,CAAA,EAAA,OAAA,IAAA,EAAA,IAAA,EAAA,CAAA;AAAGA,oBAAAA,IAAAA,CAAH,IAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,IAAA,CAAc;;gBAC1F,IAAM5B,SAAAA,GAAYU,MAAMV,SAAS;AACjC,gBAAA,IAAM6B,WAAAA,GAAcC,sBAAAA,EAAAA;AACpB,gBAAA,IAAMC,GAAAA,GAAMC,YAAAA,CAAMhC,SAAAA,CAAUiC,YAAY,CAACC,QAAQ,EAAElC,SAAAA,CAAUiC,YAAY,CAACE,aAAa,CAAA,CAAEC,SAAS,CAAC,WAAA;AACjG,oBAAA,IAAIpC,SAAAA,CAAUiC,YAAY,CAACI,KAAK,EAAE;wBAChCR,WAAAA,CAAYS,KAAK,CAAEC,YAAY,EAAA;AACjC,oBAAA;AACF,gBAAA,CAAA,CAAA;gBACAC,aAAAA,CAAU,WAAA;AACR,oBAAA,IAAI9B,KAAAA,CAAMP,OAAO,CAACL,KAAK,EAAE;wBACvB4B,IAAAA,CAAKe,0BAA0B,CAAC7C,GAAG,CAACI,WAAWU,KAAAA,CAAMP,OAAO,CAACL,KAAK,CAAA;oBACpE,CAAA,MAAO;wBACL4B,IAAAA,CAAKe,0BAA0B,CAACC,MAAM,CAAC1C,SAAAA,CAAAA;AACzC,oBAAA;AACF,gBAAA,CAAA,CAAA;gBACA2C,aAAAA,CAAU,WAAA;AAIFjB,oBAAAA,IAAAA,uBAAAA;oBAHN1B,SAAAA,CAAUiC,YAAY,CAACW,QAAQ,EAAA;oBAC/BlB,IAAAA,CAAKmB,aAAa,CAACC,IAAI,EAAA;AAEvB,oBAAA,IAAI,CAAEpB,WAAAA,CAAAA,CAAAA,uBAAAA,GAAAA,IAAAA,CAAKtB,aAAa,CAACT,GAAG,CAACK,SAAAA,CAAAA,MAAAA,IAAAA,IAAvB0B,uBAAAA,KAAAA,MAAAA,GAAAA,MAAAA,GAAAA,uBAAAA,CAAmC5B,KAAK,EAAYX,OAAAA,CAAAA,EAAU;;AAElE,wBAAA,MAAMtB,aAAa,aAAC,CAA6B,MAAA,CAAfmC,SAAAA,CAAUE,IAAI,EAAC,kGAAA,CAAA,CAAA;AACnD,oBAAA;AACF,gBAAA,CAAA,CAAA;gBACA6C,eAAAA,CAAY,WAAA;AACVhB,oBAAAA,GAAAA,CAAIiB,WAAW,EAAA;AACjB,gBAAA,CAAA,CAAA;gBACA,OAAQvB,KAAAA,CAAAA,KAAAA,CAAAA,MAAAA,EAAD;AAAef,oBAAAA,KAAAA;AAAOiB,oBAAAA;AAAiB,iBAAA,CAAvC,OAA+B,oBAAA,CAAGC,IAAAA,CAAAA,CAAAA,CAAAA;AAC3C,YAAA,CAAA;YACA,KAAA,CAAK5D,UAAU,CAACqC,GAAAA,CAAI,GAAGmB,YAAAA;AACzB,QAAA,CAAA,CAAA;;;AAtHSzD,IAAAA,aAAAA,CAAAA,UAAAA,EAAAA;;YAyHFkF,GAAAA,EAAAA,QAAAA;mBAAT,SAASA,MAAAA,CAAOC,aAAwB,EAAEC,QAAkB,EAAA;gBAC1D,IAAMC,gBAAAA,GAAmB,IAAIC,yBAAAA,CAAmBF,QAAAA,EAAU;AAAC,oBAAA;wBACzDG,OAAAA,EAASC,YAAAA;AACTC,wBAAAA,QAAAA,EAAU;AACZ,qBAAA;AAAG,oBAAA;wBACDF,OAAAA,EAASG,0BAAAA;AACTD,wBAAAA,QAAAA,EAAU;AACZ,qBAAA;AAAG,oBAAA;wBACDF,OAAAA,EAjIOvF,UAAAA;AAkIPyF,wBAAAA,QAAAA,EAAU;AACZ;AAAE,iBAAA,CAAA;AACF,gBAAA,OAAO,IAAA,CAAA,iBAAA,CApIEzF,UAAAA,CAAAA,SAAAA,CAAAA,EAoIIkF,QAAAA,EAAN,IAAK,aAAQC,aAAAA,EAAeE,gBAAAA,CAAAA;AACrC,YAAA;;;YAESM,GAAAA,EAAAA,MAAAA;mBAAT,SAASA,IAAAA,GAAAA;AACPC,gBAAAA,QAAAA,CAASC,WAAW,CAAC,MAAA,CAAA;AACvB,YAAA;;;AAzIW7F,IAAAA,OAAAA,UAAAA;EAAmB0F,0BAAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@textbus/adapter-vue",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.4",
|
|
4
4
|
"description": "Textbus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@tanbo/stream": "^1.2.7",
|
|
36
|
-
"@viewfly/core": "^3.0.
|
|
37
|
-
"@textbus/core": "^5.4.
|
|
38
|
-
"@textbus/platform-browser": "^5.4.
|
|
36
|
+
"@viewfly/core": "^3.0.5",
|
|
37
|
+
"@textbus/core": "^5.4.4",
|
|
38
|
+
"@textbus/platform-browser": "^5.4.4"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"vue": "^3.4.28"
|