@textbus/adapter-vue 5.4.6 → 5.4.7

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 CHANGED
@@ -173,10 +173,9 @@ var VueAdapter = /*#__PURE__*/ function(DomAdapter1) {
173
173
  style: {
174
174
  textDecoration: 'underline'
175
175
  },
176
- ref: updateNativeCompositionNode
177
- }, [
178
- compositionState.text
179
- ]);
176
+ ref: updateNativeCompositionNode,
177
+ key: compositionState.slot.id
178
+ }, compositionState.text);
180
179
  },
181
180
  getParentNode: function getParentNode(node) {
182
181
  return node.parentNode;
@@ -1 +1 @@
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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"}
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 key: compositionState.slot.id\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","key","slot","id","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","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
@@ -177,10 +177,9 @@ var VueAdapter = /*#__PURE__*/ function(DomAdapter1) {
177
177
  style: {
178
178
  textDecoration: 'underline'
179
179
  },
180
- ref: updateNativeCompositionNode
181
- }, [
182
- compositionState.text
183
- ]);
180
+ ref: updateNativeCompositionNode,
181
+ key: compositionState.slot.id
182
+ }, compositionState.text);
184
183
  },
185
184
  getParentNode: function getParentNode(node) {
186
185
  return node.parentNode;
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 } 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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"}
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 key: compositionState.slot.id\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","key","slot","id","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","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,2BAAAA;wBACLK,GAAAA,EAAKN,gBAAAA,CAAiBO,IAAI,CAACC;AAC7B,qBAAA,EAAGR,iBAAiBS,IAAI,CAAA;AAC1B,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,CAAKpC,UAAU,CAACmC,SAAAA,CAAUE,IAAI,CAAC,IAAI,wBAAA,CAAA,KAAA,CAAA,CAAKrC,UAAU,CAAC,GAAA,CAAI;AACpE,oBAAA,IAAIoC,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,GAAU9B,OAAAA,EAAAA;AACV,4BAAA,wBAAA,CAAA,KAAA,CAAA,CAAK+B,aAAa,CAACR,GAAG,CAACI,SAAAA,EAAWG,OAAAA,CAAAA;AACpC,wBAAA;AACA,wBAAA,OAAOjC,MAAE+B,IAAAA,EAAM;4BACbD,SAAAA,EAAAA,SAAAA;4BACAG,OAAAA,EAAAA,OAAAA;AACA7B,4BAAAA,GAAAA,EAAK0B,UAAUxB;AACjB,yBAAA,CAAA;AACF,oBAAA;AACA,oBAAA,MAAMd,aAAa,+BAAC,CAA+C,MAAA,CAAfsC,SAAAA,CAAUE,IAAI,EAAC,IAAA,CAAA,CAAA;AACrE,gBAAA,CAAA;AACAG,gBAAAA,qBAAAA,EAAAA,SAAAA,qBAAAA,CAAsBC,KAAe,EAAEC,QAA+B,EAAA;oBACpE,IAAMC,KAAAA,GAAa,cAAA,CAAA,EAAA,EACbzB,KAAAA,CAAMC,IAAI,CAACsB,KAAAA,CAAMZ,KAAK,CAAA,CAAEe,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,GAAG/B,KAAAA,CAAMC,IAAI,CAACsB,KAAAA,CAAMM,OAAO,CAAA,CAAEG,IAAI,CAAC,GAAA,CAAA;AAC/C,oBAAA;oBACA,IAAIT,KAAAA,CAAMU,MAAM,EAAE;wBAChBR,KAAAA,CAAMrC,KAAK,GAAGY,KAAAA,CAAMC,IAAI,CAACsB,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,OAAOxC,KAAAA,CAAAA,KAAAA,CAAAA,MAAAA,EAAAA;AAAEoC,wBAAAA,KAAAA,CAAMW,OAAO;AAAET,wBAAAA;AAAmB,qBAAA,CAApCtC,OAAwB,oBAAA,CAAGqC,QAAAA,CAAAA,CAAAA,CAAAA;AACpC,gBAAA;AACF,aAAA;AAAGzC,YAAAA;;AA7EL,QAAA,gBAAA,CAAA,KAAA,EAAQsC,eAAAA,EAAgB,IAAIc,OAAAA,EAAAA,CAAAA,EAC5B,gBAAA,CAAA,KAAA,EAAQrD,cAAuE,EAAC,CAAA;;;;AAkF9EsD,QAAAA,MAAAA,CAAOC,IAAI,CAACvD,UAAAA,CAAAA,CAAYwD,OAAO,CAAC/C,SAAAA,GAAAA,EAAAA;YAC9B,IAAMgD,YAAAA,GAAezD,UAAU,CAACS,GAAAA,CAAI;YACpC,IAAMiD,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,IAAM1B,SAAAA,GAAYQ,MAAMR,SAAS;AACjC,gBAAA,IAAM2B,WAAAA,GAAcC,sBAAAA,EAAAA;AACpB,gBAAA,IAAMC,GAAAA,GAAMC,YAAAA,CAAM9B,SAAAA,CAAU+B,YAAY,CAACC,QAAQ,EAAEhC,SAAAA,CAAU+B,YAAY,CAACE,aAAa,CAAA,CAAEC,SAAS,CAAC,WAAA;AACjG,oBAAA,IAAIlC,SAAAA,CAAU+B,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,CAAML,OAAO,CAACL,KAAK,EAAE;wBACvB0B,IAAAA,CAAKe,0BAA0B,CAAC3C,GAAG,CAACI,WAAWQ,KAAAA,CAAML,OAAO,CAACL,KAAK,CAAA;oBACpE,CAAA,MAAO;wBACL0B,IAAAA,CAAKe,0BAA0B,CAACC,MAAM,CAACxC,SAAAA,CAAAA;AACzC,oBAAA;AACF,gBAAA,CAAA,CAAA;gBACAyC,aAAAA,CAAU,WAAA;AAIFjB,oBAAAA,IAAAA,uBAAAA;oBAHNxB,SAAAA,CAAU+B,YAAY,CAACW,QAAQ,EAAA;oBAC/BlB,IAAAA,CAAKmB,aAAa,CAACC,IAAI,EAAA;AAEvB,oBAAA,IAAI,CAAEpB,WAAAA,CAAAA,CAAAA,uBAAAA,GAAAA,IAAAA,CAAKpB,aAAa,CAACT,GAAG,CAACK,SAAAA,CAAAA,MAAAA,IAAAA,IAAvBwB,uBAAAA,KAAAA,MAAAA,GAAAA,MAAAA,GAAAA,uBAAAA,CAAmC1B,KAAK,EAAYX,OAAAA,CAAAA,EAAU;;AAElE,wBAAA,MAAMzB,aAAa,aAAC,CAA6B,MAAA,CAAfsC,SAAAA,CAAUE,IAAI,EAAC,kGAAA,CAAA,CAAA;AACnD,oBAAA;AACF,gBAAA,CAAA,CAAA;gBACA2C,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,CAAK7D,UAAU,CAACS,GAAAA,CAAI,GAAGgD,YAAAA;AACzB,QAAA,CAAA,CAAA;;;AAvHS1D,IAAAA,aAAAA,CAAAA,UAAAA,EAAAA;;YA0HFmF,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,EAlIOxF,UAAAA;AAmIP0F,wBAAAA,QAAAA,EAAU;AACZ;AAAE,iBAAA,CAAA;AACF,gBAAA,OAAO,IAAA,CAAA,iBAAA,CArIE1F,UAAAA,CAAAA,SAAAA,CAAAA,EAqIImF,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;;;AA1IW9F,IAAAA,OAAAA,UAAAA;EAAmB2F,0BAAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textbus/adapter-vue",
3
- "version": "5.4.6",
3
+ "version": "5.4.7",
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",
@@ -34,8 +34,8 @@
34
34
  "dependencies": {
35
35
  "@tanbo/stream": "^1.2.7",
36
36
  "@viewfly/core": "^3.0.5",
37
- "@textbus/core": "^5.4.6",
38
- "@textbus/platform-browser": "^5.4.6"
37
+ "@textbus/core": "^5.4.7",
38
+ "@textbus/platform-browser": "^5.4.7"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "vue": "^3.4.28"