vue-echarts 7.0.1 → 7.0.2

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/README.md CHANGED
@@ -214,7 +214,7 @@ Drop `<script>` inside your HTML file and access the component via `window.VueEC
214
214
  ```html
215
215
  <script src="https://cdn.jsdelivr.net/npm/vue@3.4.33"></script>
216
216
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.5.1"></script>
217
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.1"></script>
217
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.2"></script>
218
218
  ```
219
219
  <!-- vue3Scripts:end -->
220
220
 
@@ -234,7 +234,7 @@ app.component('v-chart', VueECharts)
234
234
  ```html
235
235
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.16"></script>
236
236
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.5.1"></script>
237
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.1"></script>
237
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.2"></script>
238
238
  ```
239
239
  <!-- vue2Scripts:end -->
240
240
 
package/README.zh-Hans.md CHANGED
@@ -214,7 +214,7 @@ import "echarts";
214
214
  ```html
215
215
  <script src="https://cdn.jsdelivr.net/npm/vue@3.4.33"></script>
216
216
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.5.1"></script>
217
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.1"></script>
217
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.2"></script>
218
218
  ```
219
219
  <!-- vue3Scripts:end -->
220
220
 
@@ -234,7 +234,7 @@ app.component('v-chart', VueECharts)
234
234
  ```html
235
235
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.16"></script>
236
236
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.5.1"></script>
237
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.1"></script>
237
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@7.0.2"></script>
238
238
  ```
239
239
  <!-- vue2Scripts:end -->
240
240
 
package/dist/index.js CHANGED
@@ -142,7 +142,7 @@ function register() {
142
142
  return registered = true;
143
143
  }
144
144
 
145
- document.head.innerHTML += "<style>x-vue-echarts{display:block;width:100%;height:100%;min-width:0}\n</style>";
145
+ document.head.appendChild(document.createElement('style')).textContent="x-vue-echarts{display:block;width:100%;height:100%;min-width:0}\n";
146
146
 
147
147
  const wcRegistered = register();
148
148
  if (Vue2) {
package/dist/index.min.js CHANGED
@@ -1,3 +1,3 @@
1
- var VueDemi=function(e,t,y){if(e.install)return e;if(!t)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),e;if(t.version.slice(0,4)==="2.7."){let a=function(u,v){var f,P={},b={config:t.config,use:t.use.bind(t),mixin:t.mixin.bind(t),component:t.component.bind(t),provide:function(p,O){return P[p]=O,this},directive:function(p,O){return O?(t.directive(p,O),b):t.directive(p)},mount:function(p,O){return f||(f=new t(Object.assign({propsData:v},u,{provide:Object.assign(P,u.provide)})),f.$mount(p,O),f)},unmount:function(){f&&(f.$destroy(),f=void 0)}};return b};var m=a;for(var d in t)e[d]=t[d];e.isVue2=!0,e.isVue3=!1,e.install=function(){},e.Vue=t,e.Vue2=t,e.version=t.version,e.warn=t.util.warn,e.createApp=a}else if(t.version.slice(0,2)==="2.")if(y){for(var d in y)e[d]=y[d];e.isVue2=!0,e.isVue3=!1,e.install=function(){},e.Vue=t,e.Vue2=t,e.version=t.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(t.version.slice(0,2)==="3."){for(var d in t)e[d]=t[d];e.isVue2=!1,e.isVue3=!0,e.install=function(){},e.Vue=t,e.Vue2=void 0,e.version=t.version,e.set=function(a,u,v){return Array.isArray(a)?(a.length=Math.max(a.length,u),a.splice(u,1,v),v):(a[u]=v,v)},e.del=function(a,u){if(Array.isArray(a)){a.splice(u,1);return}delete a[u]}}else console.error("[vue-demi] Vue version "+t.version+" is unsupported.");return e}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t(require("echarts"),require("vue-demi"),require("echarts/core")):typeof define=="function"&&define.amd?define(["echarts","vue-demi","echarts/core"],t):(e=typeof globalThis<"u"?globalThis:e||self,e.VueECharts=t(e.echarts,e.VueDemi,e.echarts))})(this,function(e,t,y){"use strict";const d=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function m(n){function c(o){return(...l)=>{if(!n.value)throw new Error("ECharts is not initialized yet.");return n.value[o].apply(n.value,l)}}function r(){const o=Object.create(null);return d.forEach(l=>{o[l]=c(l)}),o}return r()}function a(n,c,r){t.watch([r,n,c],([o,l,h],J,M)=>{let g=null;if(o&&l&&h){const{offsetWidth:K,offsetHeight:S}=o,Y=h===!0?{}:h,{throttle:L=100,onResize:x}=Y;let w=!1;const j=()=>{l.resize(),x?.()},$=L?y.throttle(j,L):j;g=new ResizeObserver(()=>{!w&&(w=!0,o.offsetWidth===K&&o.offsetHeight===S)||$()}),g.observe(o)}M(()=>{g&&(g.disconnect(),g=null)})})}const u={autoresize:[Boolean,Object]},v=/^on[^a-z]/,f=n=>v.test(n);function P(n){const c={};for(const r in n)f(r)||(c[r]=n[r]);return c}function b(n,c){const r=t.isRef(n)?t.unref(n):n;return r&&typeof r=="object"&&"value"in r?r.value||c:r||c}const p="ecLoadingOptions";function O(n,c,r){const o=t.inject(p,{}),l=t.computed(()=>({...b(o,{}),...r?.value}));t.watchEffect(()=>{const h=n.value;h&&(c.value?h.showLoading(l.value):h.hideLoading())})}const X={loading:Boolean,loadingOptions:Object};let A=null;const U="x-vue-echarts";function V(){if(A!=null)return A;if(typeof HTMLElement>"u"||typeof customElements>"u")return A=!1;try{new Function("tag","class EChartsElement extends HTMLElement{__dispose=null;disconnectedCallback(){this.__dispose&&(this.__dispose(),this.__dispose=null)}}customElements.get(tag)==null&&customElements.define(tag,EChartsElement);")(U)}catch{return A=!1}return A=!0}document.head.innerHTML+=`<style>x-vue-echarts{display:block;width:100%;height:100%;min-width:0}
2
- </style>`;const D=V();t.Vue2&&t.Vue2.config.ignoredElements.push(U);const q="ecTheme",G="ecInitOptions",W="ecUpdateOptions",F=/(^&?~?!?)native:/;var Z=t.defineComponent({name:"echarts",props:{option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean,...u,...X},emits:{},inheritAttrs:!1,setup(n,{attrs:c}){const r=t.shallowRef(),o=t.shallowRef(),l=t.shallowRef(),h=t.inject(q,null),J=t.inject(G,null),M=t.inject(W,null),{autoresize:g,manualUpdate:K,loading:S,loadingOptions:Y}=t.toRefs(n),L=t.computed(()=>l.value||n.option||null),x=t.computed(()=>n.theme||b(h,{})),w=t.computed(()=>n.initOptions||b(J,{})),j=t.computed(()=>n.updateOptions||b(M,{})),$=t.computed(()=>P(c)),H={},z=t.getCurrentInstance().proxy.$listeners,C={};z?Object.keys(z).forEach(i=>{F.test(i)?H[i.replace(F,"$1")]=z[i]:C[i]=z[i]}):Object.keys(c).filter(i=>f(i)).forEach(i=>{let s=i.charAt(2).toLowerCase()+i.slice(3);if(s.indexOf("native:")===0){const T=`on${s.charAt(7).toUpperCase()}${s.slice(8)}`;H[T]=c[i];return}s.substring(s.length-4)==="Once"&&(s=`~${s.substring(0,s.length-4)}`),C[s]=c[i]});function N(i){if(!r.value)return;const s=o.value=y.init(r.value,x.value,w.value);n.group&&(s.group=n.group),Object.keys(C).forEach(I=>{let _=C[I];if(!_)return;let E=I.toLowerCase();E.charAt(0)==="~"&&(E=E.substring(1),_.__once__=!0);let B=s;if(E.indexOf("zr:")===0&&(B=s.getZr(),E=E.substring(3)),_.__once__){delete _.__once__;const st=_;_=(...rt)=>{st(...rt),B.off(E,_)}}B.on(E,_)});function T(){s&&!s.isDisposed()&&s.resize()}function Q(){const I=i||L.value;I&&s.setOption(I,j.value)}g.value?t.nextTick(()=>{T(),Q()}):Q()}function nt(i,s){n.manualUpdate&&(l.value=i),o.value?o.value.setOption(i,s||{}):N(i)}function k(){o.value&&(o.value.dispose(),o.value=void 0)}let R=null;t.watch(K,i=>{typeof R=="function"&&(R(),R=null),i||(R=t.watch(()=>n.option,(s,T)=>{s&&(o.value?o.value.setOption(s,{notMerge:s!==T,...j.value}):N())},{deep:!0}))},{immediate:!0}),t.watch([x,w],()=>{k(),N()},{deep:!0}),t.watchEffect(()=>{n.group&&o.value&&(o.value.group=n.group)});const ot=m(o);return O(o,S,Y),a(o,g,r),t.onMounted(()=>{N()}),t.onBeforeUnmount(()=>{D&&r.value?r.value.__dispose=k:k()}),{chart:o,root:r,setOption:nt,nonEventAttrs:$,nativeListeners:H,...ot}},render(){const n=t.Vue2?{attrs:this.nonEventAttrs,on:this.nativeListeners}:{...this.nonEventAttrs,...this.nativeListeners};return n.ref="root",n.class=n.class?["echarts"].concat(n.class):"echarts",t.h(U,n)}}),tt=Object.freeze({__proto__:null,INIT_OPTIONS_KEY:G,LOADING_OPTIONS_KEY:p,THEME_KEY:q,UPDATE_OPTIONS_KEY:W,default:Z}),et={...Z,...tt};return et});
1
+ var VueDemi=function(e,t,y){if(e.install)return e;if(!t)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),e;if(t.version.slice(0,4)==="2.7."){let a=function(u,v){var f,P={},b={config:t.config,use:t.use.bind(t),mixin:t.mixin.bind(t),component:t.component.bind(t),provide:function(p,O){return P[p]=O,this},directive:function(p,O){return O?(t.directive(p,O),b):t.directive(p)},mount:function(p,O){return f||(f=new t(Object.assign({propsData:v},u,{provide:Object.assign(P,u.provide)})),f.$mount(p,O),f)},unmount:function(){f&&(f.$destroy(),f=void 0)}};return b};var B=a;for(var d in t)e[d]=t[d];e.isVue2=!0,e.isVue3=!1,e.install=function(){},e.Vue=t,e.Vue2=t,e.version=t.version,e.warn=t.util.warn,e.createApp=a}else if(t.version.slice(0,2)==="2.")if(y){for(var d in y)e[d]=y[d];e.isVue2=!0,e.isVue3=!1,e.install=function(){},e.Vue=t,e.Vue2=t,e.version=t.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(t.version.slice(0,2)==="3."){for(var d in t)e[d]=t[d];e.isVue2=!1,e.isVue3=!0,e.install=function(){},e.Vue=t,e.Vue2=void 0,e.version=t.version,e.set=function(a,u,v){return Array.isArray(a)?(a.length=Math.max(a.length,u),a.splice(u,1,v),v):(a[u]=v,v)},e.del=function(a,u){if(Array.isArray(a)){a.splice(u,1);return}delete a[u]}}else console.error("[vue-demi] Vue version "+t.version+" is unsupported.");return e}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t(require("echarts"),require("vue-demi"),require("echarts/core")):typeof define=="function"&&define.amd?define(["echarts","vue-demi","echarts/core"],t):(e=typeof globalThis<"u"?globalThis:e||self,e.VueECharts=t(e.echarts,e.VueDemi,e.echarts))})(this,function(e,t,y){"use strict";const d=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function B(n){function c(o){return(...l)=>{if(!n.value)throw new Error("ECharts is not initialized yet.");return n.value[o].apply(n.value,l)}}function r(){const o=Object.create(null);return d.forEach(l=>{o[l]=c(l)}),o}return r()}function a(n,c,r){t.watch([r,n,c],([o,l,h],J,K)=>{let g=null;if(o&&l&&h){const{offsetWidth:M,offsetHeight:S}=o,Y=h===!0?{}:h,{throttle:x=100,onResize:L}=Y;let w=!1;const j=()=>{l.resize(),L?.()},$=x?y.throttle(j,x):j;g=new ResizeObserver(()=>{!w&&(w=!0,o.offsetWidth===M&&o.offsetHeight===S)||$()}),g.observe(o)}K(()=>{g&&(g.disconnect(),g=null)})})}const u={autoresize:[Boolean,Object]},v=/^on[^a-z]/,f=n=>v.test(n);function P(n){const c={};for(const r in n)f(r)||(c[r]=n[r]);return c}function b(n,c){const r=t.isRef(n)?t.unref(n):n;return r&&typeof r=="object"&&"value"in r?r.value||c:r||c}const p="ecLoadingOptions";function O(n,c,r){const o=t.inject(p,{}),l=t.computed(()=>({...b(o,{}),...r?.value}));t.watchEffect(()=>{const h=n.value;h&&(c.value?h.showLoading(l.value):h.hideLoading())})}const X={loading:Boolean,loadingOptions:Object};let A=null;const U="x-vue-echarts";function V(){if(A!=null)return A;if(typeof HTMLElement>"u"||typeof customElements>"u")return A=!1;try{new Function("tag","class EChartsElement extends HTMLElement{__dispose=null;disconnectedCallback(){this.__dispose&&(this.__dispose(),this.__dispose=null)}}customElements.get(tag)==null&&customElements.define(tag,EChartsElement);")(U)}catch{return A=!1}return A=!0}document.head.appendChild(document.createElement("style")).textContent=`x-vue-echarts{display:block;width:100%;height:100%;min-width:0}
2
+ `;const D=V();t.Vue2&&t.Vue2.config.ignoredElements.push(U);const q="ecTheme",G="ecInitOptions",W="ecUpdateOptions",F=/(^&?~?!?)native:/;var Z=t.defineComponent({name:"echarts",props:{option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean,...u,...X},emits:{},inheritAttrs:!1,setup(n,{attrs:c}){const r=t.shallowRef(),o=t.shallowRef(),l=t.shallowRef(),h=t.inject(q,null),J=t.inject(G,null),K=t.inject(W,null),{autoresize:g,manualUpdate:M,loading:S,loadingOptions:Y}=t.toRefs(n),x=t.computed(()=>l.value||n.option||null),L=t.computed(()=>n.theme||b(h,{})),w=t.computed(()=>n.initOptions||b(J,{})),j=t.computed(()=>n.updateOptions||b(K,{})),$=t.computed(()=>P(c)),H={},z=t.getCurrentInstance().proxy.$listeners,C={};z?Object.keys(z).forEach(i=>{F.test(i)?H[i.replace(F,"$1")]=z[i]:C[i]=z[i]}):Object.keys(c).filter(i=>f(i)).forEach(i=>{let s=i.charAt(2).toLowerCase()+i.slice(3);if(s.indexOf("native:")===0){const T=`on${s.charAt(7).toUpperCase()}${s.slice(8)}`;H[T]=c[i];return}s.substring(s.length-4)==="Once"&&(s=`~${s.substring(0,s.length-4)}`),C[s]=c[i]});function N(i){if(!r.value)return;const s=o.value=y.init(r.value,L.value,w.value);n.group&&(s.group=n.group),Object.keys(C).forEach(I=>{let _=C[I];if(!_)return;let E=I.toLowerCase();E.charAt(0)==="~"&&(E=E.substring(1),_.__once__=!0);let k=s;if(E.indexOf("zr:")===0&&(k=s.getZr(),E=E.substring(3)),_.__once__){delete _.__once__;const st=_;_=(...rt)=>{st(...rt),k.off(E,_)}}k.on(E,_)});function T(){s&&!s.isDisposed()&&s.resize()}function Q(){const I=i||x.value;I&&s.setOption(I,j.value)}g.value?t.nextTick(()=>{T(),Q()}):Q()}function nt(i,s){n.manualUpdate&&(l.value=i),o.value?o.value.setOption(i,s||{}):N(i)}function m(){o.value&&(o.value.dispose(),o.value=void 0)}let R=null;t.watch(M,i=>{typeof R=="function"&&(R(),R=null),i||(R=t.watch(()=>n.option,(s,T)=>{s&&(o.value?o.value.setOption(s,{notMerge:s!==T,...j.value}):N())},{deep:!0}))},{immediate:!0}),t.watch([L,w],()=>{m(),N()},{deep:!0}),t.watchEffect(()=>{n.group&&o.value&&(o.value.group=n.group)});const ot=B(o);return O(o,S,Y),a(o,g,r),t.onMounted(()=>{N()}),t.onBeforeUnmount(()=>{D&&r.value?r.value.__dispose=m:m()}),{chart:o,root:r,setOption:nt,nonEventAttrs:$,nativeListeners:H,...ot}},render(){const n=t.Vue2?{attrs:this.nonEventAttrs,on:this.nativeListeners}:{...this.nonEventAttrs,...this.nativeListeners};return n.ref="root",n.class=n.class?["echarts"].concat(n.class):"echarts",t.h(U,n)}}),tt=Object.freeze({__proto__:null,INIT_OPTIONS_KEY:G,LOADING_OPTIONS_KEY:p,THEME_KEY:q,UPDATE_OPTIONS_KEY:W,default:Z}),et={...Z,...tt};return et});
3
3
  //# sourceMappingURL=index.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/utils.ts","../src/composables/loading.ts","../src/wc.ts","../src/ECharts.ts","../src/global.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Ref } from \"vue-demi\";\nimport type { EChartsType } from \"../types\";\n\nconst METHOD_NAMES = [\n \"getWidth\",\n \"getHeight\",\n \"getDom\",\n \"getOption\",\n \"resize\",\n \"dispatchAction\",\n \"convertToPixel\",\n \"convertFromPixel\",\n \"containPixel\",\n \"getDataURL\",\n \"getConnectedDataURL\",\n \"appendData\",\n \"clear\",\n \"isDisposed\",\n \"dispose\"\n] as const;\n\ntype MethodName = (typeof METHOD_NAMES)[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>\n): PublicMethods {\n function makePublicMethod<T extends MethodName>(\n name: T\n ): (...args: Parameters<EChartsType[T]>) => ReturnType<EChartsType[T]> {\n return (...args) => {\n if (!chart.value) {\n throw new Error(\"ECharts is not initialized yet.\");\n }\n return (chart.value[name] as any).apply(chart.value, args);\n };\n }\n\n function makePublicMethods(): PublicMethods {\n const methods = Object.create(null);\n METHOD_NAMES.forEach(name => {\n methods[name] = makePublicMethod(name);\n });\n\n return methods as PublicMethods;\n }\n\n return makePublicMethods();\n}\n","import { watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\n\nimport type { Ref, PropType } from \"vue-demi\";\nimport type { EChartsType, AutoResize } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<AutoResize | undefined>,\n root: Ref<HTMLElement | undefined>\n): void {\n watch(\n [root, chart, autoresize],\n ([root, chart, autoresize], _, onCleanup) => {\n let ro: ResizeObserver | null = null;\n\n if (root && chart && autoresize) {\n const { offsetWidth, offsetHeight } = root;\n const autoresizeOptions = autoresize === true ? {} : autoresize;\n const { throttle: wait = 100, onResize } = autoresizeOptions;\n\n let initialResizeTriggered = false;\n\n const callback = () => {\n chart.resize();\n onResize?.();\n };\n\n const resizeCallback = wait ? throttle(callback, wait) : callback;\n\n ro = new ResizeObserver(() => {\n // We just skip ResizeObserver's initial resize callback if the\n // size has not changed since the chart is rendered.\n if (!initialResizeTriggered) {\n initialResizeTriggered = true;\n if (\n root.offsetWidth === offsetWidth &&\n root.offsetHeight === offsetHeight\n ) {\n return;\n }\n }\n resizeCallback();\n });\n ro.observe(root);\n }\n\n onCleanup(() => {\n if (ro) {\n ro.disconnect();\n ro = null;\n }\n });\n }\n );\n}\n\nexport const autoresizeProps = {\n autoresize: [Boolean, Object] as PropType<AutoResize>\n};\n","import { unref, isRef } from \"vue-demi\";\n\nimport type { Injection } from \"./types\";\n\ntype Attrs = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\n// Copied from\n// https://github.com/vuejs/vue-next/blob/5a7a1b8293822219283d6e267496bec02234b0bc/packages/shared/src/index.ts#L40-L41\nconst onRE = /^on[^a-z]/;\nexport const isOn = (key: string): boolean => onRE.test(key);\n\nexport function omitOn(attrs: Attrs): Attrs {\n const result: Attrs = {};\n for (const key in attrs) {\n if (!isOn(key)) {\n result[key] = attrs[key];\n }\n }\n\n return result;\n}\n\nexport function unwrapInjected<T, V>(\n injection: Injection<T>,\n defaultValue: V\n): T | V {\n const value = isRef(injection) ? unref(injection) : injection;\n\n if (value && typeof value === \"object\" && \"value\" in value) {\n return value.value || defaultValue;\n }\n\n return value || defaultValue;\n}\n","import { unwrapInjected } from \"../utils\";\nimport { inject, computed, watchEffect } from \"vue-demi\";\n\nimport type { Ref, InjectionKey, PropType } from \"vue-demi\";\nimport type { EChartsType, LoadingOptions } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY =\n \"ecLoadingOptions\" as unknown as InjectionKey<\n LoadingOptions | Ref<LoadingOptions>\n >;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<LoadingOptions | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {});\n const realLoadingOptions = computed(() => ({\n ...unwrapInjected(defaultLoadingOptions, {}),\n ...loadingOptions?.value\n }));\n\n watchEffect(() => {\n const instance = chart.value;\n if (!instance) {\n return;\n }\n\n if (loading.value) {\n instance.showLoading(realLoadingOptions.value);\n } else {\n instance.hideLoading();\n }\n });\n}\n\nexport const loadingProps = {\n loading: Boolean,\n loadingOptions: Object as PropType<LoadingOptions>\n};\n","let registered: boolean | null = null;\n\nexport const TAG_NAME = \"x-vue-echarts\";\n\nexport interface EChartsElement extends HTMLElement {\n __dispose: (() => void) | null;\n}\n\nexport function register(): boolean {\n if (registered != null) {\n return registered;\n }\n\n if (\n typeof HTMLElement === \"undefined\" ||\n typeof customElements === \"undefined\"\n ) {\n return (registered = false);\n }\n\n try {\n // Class definitions cannot be transpiled to ES5\n // so we are doing a little trick here to ensure\n // we are using native classes. As we use this as\n // a progressive enhancement, it will be fine even\n // if the browser doesn't support native classes.\n const reg = new Function(\n \"tag\",\n // Use esbuild repl to keep build process simple\n // https://esbuild.github.io/try/#dAAwLjIzLjAALS1taW5pZnkAY2xhc3MgRUNoYXJ0c0VsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgX19kaXNwb3NlID0gbnVsbDsKCiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICBpZiAodGhpcy5fX2Rpc3Bvc2UpIHsKICAgICAgdGhpcy5fX2Rpc3Bvc2UoKTsKICAgICAgdGhpcy5fX2Rpc3Bvc2UgPSBudWxsOwogICAgfQogIH0KfQoKaWYgKGN1c3RvbUVsZW1lbnRzLmdldCh0YWcpID09IG51bGwpIHsKICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnLCBFQ2hhcnRzRWxlbWVudCk7Cn0K\n \"class EChartsElement extends HTMLElement{__dispose=null;disconnectedCallback(){this.__dispose&&(this.__dispose(),this.__dispose=null)}}customElements.get(tag)==null&&customElements.define(tag,EChartsElement);\"\n );\n reg(TAG_NAME);\n } catch (e) {\n return (registered = false);\n }\n\n return (registered = true);\n}\n","/* eslint-disable vue/multi-word-component-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onBeforeUnmount,\n h,\n nextTick,\n watchEffect,\n getCurrentInstance,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\n\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport { isOn, omitOn, unwrapInjected } from \"./utils\";\nimport { register, TAG_NAME } from \"./wc\";\n\nimport type { PropType, InjectionKey } from \"vue-demi\";\nimport type {\n EChartsType,\n EventTarget,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection,\n Emits\n} from \"./types\";\nimport type { EChartsElement } from \"./wc\";\n\nimport \"./style.css\";\n\nconst __CSP__ = false;\nconst wcRegistered = __CSP__ ? false : register();\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\" as unknown as InjectionKey<ThemeInjection>;\nexport const INIT_OPTIONS_KEY =\n \"ecInitOptions\" as unknown as InjectionKey<InitOptionsInjection>;\nexport const UPDATE_OPTIONS_KEY =\n \"ecUpdateOptions\" as unknown as InjectionKey<UpdateOptionsInjection>;\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\n\nconst NATIVE_EVENT_RE = /(^&?~?!?)native:/;\n\nexport default defineComponent({\n name: \"echarts\",\n props: {\n option: Object as PropType<Option>,\n theme: {\n type: [Object, String] as PropType<Theme>\n },\n initOptions: Object as PropType<InitOptions>,\n updateOptions: Object as PropType<UpdateOptions>,\n group: String,\n manualUpdate: Boolean,\n ...autoresizeProps,\n ...loadingProps\n },\n emits: {} as unknown as Emits,\n inheritAttrs: false,\n setup(props, { attrs }) {\n const root = shallowRef<EChartsElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null);\n const defaultInitOptions = inject(INIT_OPTIONS_KEY, null);\n const defaultUpdateOptions = inject(UPDATE_OPTIONS_KEY, null);\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || null\n );\n const realTheme = computed(\n () => props.theme || unwrapInjected(defaultTheme, {})\n );\n const realInitOptions = computed(\n () => props.initOptions || unwrapInjected(defaultInitOptions, {})\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unwrapInjected(defaultUpdateOptions, {})\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n const nativeListeners: Record<string, unknown> = {};\n\n // @ts-expect-error listeners for Vue 2 compatibility\n const listeners = getCurrentInstance().proxy.$listeners;\n const realListeners: Record<string, any> = {};\n\n if (!listeners) {\n // This is for Vue 3.\n // We are converting all `on<Event>` props to event listeners compatible with Vue 2\n // and collect them into `realListeners` so that we can bind them to the chart instance\n // later in the same way.\n // For `onNative:<event>` props, we just strip the `Native:` part and collect them into\n // `nativeListeners` so that we can bind them to the root element directly.\n Object.keys(attrs)\n .filter(key => isOn(key))\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n let event = key.charAt(2).toLowerCase() + key.slice(3);\n\n // Collect native DOM events\n if (event.indexOf(\"native:\") === 0) {\n // native:click -> onClick\n const nativeKey = `on${event.charAt(7).toUpperCase()}${event.slice(\n 8\n )}`;\n\n nativeListeners[nativeKey] = attrs[key];\n return;\n }\n\n // clickOnce -> ~click\n // zr:clickOnce -> ~zr:click\n if (event.substring(event.length - 4) === \"Once\") {\n event = `~${event.substring(0, event.length - 4)}`;\n }\n\n realListeners[event] = attrs[key];\n });\n } else {\n // This is for Vue 2.\n // We just need to distinguish normal events and `native:<event>` events and\n // collect them into `realListeners` and `nativeListeners` respectively.\n // For `native:<event>` events, we just strip the `native:` part and collect them\n // into `nativeListeners` so that we can bind them to the root element directly.\n // native:click -> click\n // ~native:click -> ~click\n // &~!native:click -> &~!click\n Object.keys(listeners).forEach(key => {\n if (NATIVE_EVENT_RE.test(key)) {\n nativeListeners[key.replace(NATIVE_EVENT_RE, \"$1\")] = listeners[key];\n } else {\n realListeners[key] = listeners[key];\n }\n });\n }\n\n function init(option?: Option) {\n if (!root.value) {\n return;\n }\n\n const instance = (chart.value = initChart(\n root.value,\n realTheme.value,\n realInitOptions.value\n ));\n\n if (props.group) {\n instance.group = props.group;\n }\n\n Object.keys(realListeners).forEach(key => {\n let handler = realListeners[key];\n\n if (!handler) {\n return;\n }\n\n let event = key.toLowerCase();\n if (event.charAt(0) === \"~\") {\n event = event.substring(1);\n handler.__once__ = true;\n }\n\n let target: EventTarget = instance;\n if (event.indexOf(\"zr:\") === 0) {\n target = instance.getZr();\n event = event.substring(3);\n }\n\n if (handler.__once__) {\n delete handler.__once__;\n\n const raw = handler;\n\n handler = (...args: any[]) => {\n raw(...args);\n target.off(event, handler);\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore EChartsType[\"on\"] is not compatible with ZRenderType[\"on\"]\n // but it's okay here\n target.on(event, handler);\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n instance.resize();\n }\n }\n\n function commit() {\n const opt = option || realOption.value;\n if (opt) {\n instance.setOption(opt, realUpdateOptions.value);\n }\n }\n\n if (autoresize.value) {\n // Try to make chart fit to container in case container size\n // is changed synchronously or in already queued microtasks\n nextTick(() => {\n resize();\n commit();\n });\n } else {\n commit();\n }\n }\n\n function setOption(option: Option, updateOptions?: UpdateOptions) {\n if (props.manualUpdate) {\n manualOption.value = option;\n }\n\n if (!chart.value) {\n init(option);\n } else {\n chart.value.setOption(option, updateOptions || {});\n }\n }\n\n function cleanup() {\n if (chart.value) {\n chart.value.dispose();\n chart.value = undefined;\n }\n }\n\n let unwatchOption: (() => void) | null = null;\n watch(\n manualUpdate,\n manualUpdate => {\n if (typeof unwatchOption === \"function\") {\n unwatchOption();\n unwatchOption = null;\n }\n\n if (!manualUpdate) {\n unwatchOption = watch(\n () => props.option,\n (option, oldOption) => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, {\n // mutating `option` will lead to `notMerge: false` and\n // replacing it with new reference will lead to `notMerge: true`\n notMerge: option !== oldOption,\n ...realUpdateOptions.value\n });\n }\n },\n { deep: true }\n );\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n [realTheme, realInitOptions],\n () => {\n cleanup();\n init();\n },\n {\n deep: true\n }\n );\n\n watchEffect(() => {\n if (props.group && chart.value) {\n chart.value.group = props.group;\n }\n });\n\n const publicApi = usePublicAPI(chart);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n init();\n });\n\n onBeforeUnmount(() => {\n if (wcRegistered && root.value) {\n // For registered web component, we can leverage the\n // `disconnectedCallback` to dispose the chart instance\n // so that we can delay the cleanup after exsiting leaving\n // transition.\n root.value.__dispose = cleanup;\n } else {\n cleanup();\n }\n });\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n nativeListeners,\n ...publicApi\n };\n },\n render() {\n // Vue 3 and Vue 2 have different vnode props format:\n // See https://v3-migration.vuejs.org/breaking-changes/render-function-api.html#vnode-props-format\n const attrs = (\n Vue2\n ? { attrs: this.nonEventAttrs, on: this.nativeListeners }\n : { ...this.nonEventAttrs, ...this.nativeListeners }\n ) as any;\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n","import \"echarts\";\nimport ECharts, * as exported from \"./index\";\n\nexport default {\n ...ECharts,\n ...exported\n};\n"],"names":["METHOD_NAMES","usePublicAPI","chart","makePublicMethod","name","args","makePublicMethods","methods","useAutoresize","autoresize","root","watch","_","onCleanup","ro","offsetWidth","offsetHeight","autoresizeOptions","wait","onResize","initialResizeTriggered","callback","resizeCallback","throttle","autoresizeProps","onRE","isOn","key","omitOn","attrs","result","unwrapInjected","injection","defaultValue","value","isRef","unref","LOADING_OPTIONS_KEY","useLoading","loading","loadingOptions","defaultLoadingOptions","inject","realLoadingOptions","computed","watchEffect","instance","loadingProps","registered","TAG_NAME","register","__CSP__","wcRegistered","Vue2","THEME_KEY","INIT_OPTIONS_KEY","UPDATE_OPTIONS_KEY","NATIVE_EVENT_RE","defineComponent","props","shallowRef","manualOption","defaultTheme","defaultInitOptions","defaultUpdateOptions","manualUpdate","toRefs","realOption","realTheme","realInitOptions","realUpdateOptions","nonEventAttrs","nativeListeners","listeners","getCurrentInstance","realListeners","event","nativeKey","init","option","initChart","handler","target","raw","resize","commit","opt","nextTick","setOption","updateOptions","cleanup","unwatchOption","oldOption","publicApi","onMounted","onBeforeUnmount","h","global","ECharts","exported"],"mappings":"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"}
1
+ {"version":3,"file":"index.min.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/utils.ts","../src/composables/loading.ts","../src/wc.ts","../src/ECharts.ts","../src/global.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Ref } from \"vue-demi\";\nimport type { EChartsType } from \"../types\";\n\nconst METHOD_NAMES = [\n \"getWidth\",\n \"getHeight\",\n \"getDom\",\n \"getOption\",\n \"resize\",\n \"dispatchAction\",\n \"convertToPixel\",\n \"convertFromPixel\",\n \"containPixel\",\n \"getDataURL\",\n \"getConnectedDataURL\",\n \"appendData\",\n \"clear\",\n \"isDisposed\",\n \"dispose\"\n] as const;\n\ntype MethodName = (typeof METHOD_NAMES)[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>\n): PublicMethods {\n function makePublicMethod<T extends MethodName>(\n name: T\n ): (...args: Parameters<EChartsType[T]>) => ReturnType<EChartsType[T]> {\n return (...args) => {\n if (!chart.value) {\n throw new Error(\"ECharts is not initialized yet.\");\n }\n return (chart.value[name] as any).apply(chart.value, args);\n };\n }\n\n function makePublicMethods(): PublicMethods {\n const methods = Object.create(null);\n METHOD_NAMES.forEach(name => {\n methods[name] = makePublicMethod(name);\n });\n\n return methods as PublicMethods;\n }\n\n return makePublicMethods();\n}\n","import { watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\n\nimport type { Ref, PropType } from \"vue-demi\";\nimport type { EChartsType, AutoResize } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<AutoResize | undefined>,\n root: Ref<HTMLElement | undefined>\n): void {\n watch(\n [root, chart, autoresize],\n ([root, chart, autoresize], _, onCleanup) => {\n let ro: ResizeObserver | null = null;\n\n if (root && chart && autoresize) {\n const { offsetWidth, offsetHeight } = root;\n const autoresizeOptions = autoresize === true ? {} : autoresize;\n const { throttle: wait = 100, onResize } = autoresizeOptions;\n\n let initialResizeTriggered = false;\n\n const callback = () => {\n chart.resize();\n onResize?.();\n };\n\n const resizeCallback = wait ? throttle(callback, wait) : callback;\n\n ro = new ResizeObserver(() => {\n // We just skip ResizeObserver's initial resize callback if the\n // size has not changed since the chart is rendered.\n if (!initialResizeTriggered) {\n initialResizeTriggered = true;\n if (\n root.offsetWidth === offsetWidth &&\n root.offsetHeight === offsetHeight\n ) {\n return;\n }\n }\n resizeCallback();\n });\n ro.observe(root);\n }\n\n onCleanup(() => {\n if (ro) {\n ro.disconnect();\n ro = null;\n }\n });\n }\n );\n}\n\nexport const autoresizeProps = {\n autoresize: [Boolean, Object] as PropType<AutoResize>\n};\n","import { unref, isRef } from \"vue-demi\";\n\nimport type { Injection } from \"./types\";\n\ntype Attrs = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\n// Copied from\n// https://github.com/vuejs/vue-next/blob/5a7a1b8293822219283d6e267496bec02234b0bc/packages/shared/src/index.ts#L40-L41\nconst onRE = /^on[^a-z]/;\nexport const isOn = (key: string): boolean => onRE.test(key);\n\nexport function omitOn(attrs: Attrs): Attrs {\n const result: Attrs = {};\n for (const key in attrs) {\n if (!isOn(key)) {\n result[key] = attrs[key];\n }\n }\n\n return result;\n}\n\nexport function unwrapInjected<T, V>(\n injection: Injection<T>,\n defaultValue: V\n): T | V {\n const value = isRef(injection) ? unref(injection) : injection;\n\n if (value && typeof value === \"object\" && \"value\" in value) {\n return value.value || defaultValue;\n }\n\n return value || defaultValue;\n}\n","import { unwrapInjected } from \"../utils\";\nimport { inject, computed, watchEffect } from \"vue-demi\";\n\nimport type { Ref, InjectionKey, PropType } from \"vue-demi\";\nimport type { EChartsType, LoadingOptions } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY =\n \"ecLoadingOptions\" as unknown as InjectionKey<\n LoadingOptions | Ref<LoadingOptions>\n >;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<LoadingOptions | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {});\n const realLoadingOptions = computed(() => ({\n ...unwrapInjected(defaultLoadingOptions, {}),\n ...loadingOptions?.value\n }));\n\n watchEffect(() => {\n const instance = chart.value;\n if (!instance) {\n return;\n }\n\n if (loading.value) {\n instance.showLoading(realLoadingOptions.value);\n } else {\n instance.hideLoading();\n }\n });\n}\n\nexport const loadingProps = {\n loading: Boolean,\n loadingOptions: Object as PropType<LoadingOptions>\n};\n","let registered: boolean | null = null;\n\nexport const TAG_NAME = \"x-vue-echarts\";\n\nexport interface EChartsElement extends HTMLElement {\n __dispose: (() => void) | null;\n}\n\nexport function register(): boolean {\n if (registered != null) {\n return registered;\n }\n\n if (\n typeof HTMLElement === \"undefined\" ||\n typeof customElements === \"undefined\"\n ) {\n return (registered = false);\n }\n\n try {\n // Class definitions cannot be transpiled to ES5\n // so we are doing a little trick here to ensure\n // we are using native classes. As we use this as\n // a progressive enhancement, it will be fine even\n // if the browser doesn't support native classes.\n const reg = new Function(\n \"tag\",\n // Use esbuild repl to keep build process simple\n // https://esbuild.github.io/try/#dAAwLjIzLjAALS1taW5pZnkAY2xhc3MgRUNoYXJ0c0VsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgX19kaXNwb3NlID0gbnVsbDsKCiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICBpZiAodGhpcy5fX2Rpc3Bvc2UpIHsKICAgICAgdGhpcy5fX2Rpc3Bvc2UoKTsKICAgICAgdGhpcy5fX2Rpc3Bvc2UgPSBudWxsOwogICAgfQogIH0KfQoKaWYgKGN1c3RvbUVsZW1lbnRzLmdldCh0YWcpID09IG51bGwpIHsKICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnLCBFQ2hhcnRzRWxlbWVudCk7Cn0K\n \"class EChartsElement extends HTMLElement{__dispose=null;disconnectedCallback(){this.__dispose&&(this.__dispose(),this.__dispose=null)}}customElements.get(tag)==null&&customElements.define(tag,EChartsElement);\"\n );\n reg(TAG_NAME);\n } catch (e) {\n return (registered = false);\n }\n\n return (registered = true);\n}\n","/* eslint-disable vue/multi-word-component-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onBeforeUnmount,\n h,\n nextTick,\n watchEffect,\n getCurrentInstance,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\n\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport { isOn, omitOn, unwrapInjected } from \"./utils\";\nimport { register, TAG_NAME } from \"./wc\";\n\nimport type { PropType, InjectionKey } from \"vue-demi\";\nimport type {\n EChartsType,\n EventTarget,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection,\n Emits\n} from \"./types\";\nimport type { EChartsElement } from \"./wc\";\n\nimport \"./style.css\";\n\nconst __CSP__ = false;\nconst wcRegistered = __CSP__ ? false : register();\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\" as unknown as InjectionKey<ThemeInjection>;\nexport const INIT_OPTIONS_KEY =\n \"ecInitOptions\" as unknown as InjectionKey<InitOptionsInjection>;\nexport const UPDATE_OPTIONS_KEY =\n \"ecUpdateOptions\" as unknown as InjectionKey<UpdateOptionsInjection>;\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\n\nconst NATIVE_EVENT_RE = /(^&?~?!?)native:/;\n\nexport default defineComponent({\n name: \"echarts\",\n props: {\n option: Object as PropType<Option>,\n theme: {\n type: [Object, String] as PropType<Theme>\n },\n initOptions: Object as PropType<InitOptions>,\n updateOptions: Object as PropType<UpdateOptions>,\n group: String,\n manualUpdate: Boolean,\n ...autoresizeProps,\n ...loadingProps\n },\n emits: {} as unknown as Emits,\n inheritAttrs: false,\n setup(props, { attrs }) {\n const root = shallowRef<EChartsElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null);\n const defaultInitOptions = inject(INIT_OPTIONS_KEY, null);\n const defaultUpdateOptions = inject(UPDATE_OPTIONS_KEY, null);\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || null\n );\n const realTheme = computed(\n () => props.theme || unwrapInjected(defaultTheme, {})\n );\n const realInitOptions = computed(\n () => props.initOptions || unwrapInjected(defaultInitOptions, {})\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unwrapInjected(defaultUpdateOptions, {})\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n const nativeListeners: Record<string, unknown> = {};\n\n // @ts-expect-error listeners for Vue 2 compatibility\n const listeners = getCurrentInstance().proxy.$listeners;\n const realListeners: Record<string, any> = {};\n\n if (!listeners) {\n // This is for Vue 3.\n // We are converting all `on<Event>` props to event listeners compatible with Vue 2\n // and collect them into `realListeners` so that we can bind them to the chart instance\n // later in the same way.\n // For `onNative:<event>` props, we just strip the `Native:` part and collect them into\n // `nativeListeners` so that we can bind them to the root element directly.\n Object.keys(attrs)\n .filter(key => isOn(key))\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n let event = key.charAt(2).toLowerCase() + key.slice(3);\n\n // Collect native DOM events\n if (event.indexOf(\"native:\") === 0) {\n // native:click -> onClick\n const nativeKey = `on${event.charAt(7).toUpperCase()}${event.slice(\n 8\n )}`;\n\n nativeListeners[nativeKey] = attrs[key];\n return;\n }\n\n // clickOnce -> ~click\n // zr:clickOnce -> ~zr:click\n if (event.substring(event.length - 4) === \"Once\") {\n event = `~${event.substring(0, event.length - 4)}`;\n }\n\n realListeners[event] = attrs[key];\n });\n } else {\n // This is for Vue 2.\n // We just need to distinguish normal events and `native:<event>` events and\n // collect them into `realListeners` and `nativeListeners` respectively.\n // For `native:<event>` events, we just strip the `native:` part and collect them\n // into `nativeListeners` so that we can bind them to the root element directly.\n // native:click -> click\n // ~native:click -> ~click\n // &~!native:click -> &~!click\n Object.keys(listeners).forEach(key => {\n if (NATIVE_EVENT_RE.test(key)) {\n nativeListeners[key.replace(NATIVE_EVENT_RE, \"$1\")] = listeners[key];\n } else {\n realListeners[key] = listeners[key];\n }\n });\n }\n\n function init(option?: Option) {\n if (!root.value) {\n return;\n }\n\n const instance = (chart.value = initChart(\n root.value,\n realTheme.value,\n realInitOptions.value\n ));\n\n if (props.group) {\n instance.group = props.group;\n }\n\n Object.keys(realListeners).forEach(key => {\n let handler = realListeners[key];\n\n if (!handler) {\n return;\n }\n\n let event = key.toLowerCase();\n if (event.charAt(0) === \"~\") {\n event = event.substring(1);\n handler.__once__ = true;\n }\n\n let target: EventTarget = instance;\n if (event.indexOf(\"zr:\") === 0) {\n target = instance.getZr();\n event = event.substring(3);\n }\n\n if (handler.__once__) {\n delete handler.__once__;\n\n const raw = handler;\n\n handler = (...args: any[]) => {\n raw(...args);\n target.off(event, handler);\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore EChartsType[\"on\"] is not compatible with ZRenderType[\"on\"]\n // but it's okay here\n target.on(event, handler);\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n instance.resize();\n }\n }\n\n function commit() {\n const opt = option || realOption.value;\n if (opt) {\n instance.setOption(opt, realUpdateOptions.value);\n }\n }\n\n if (autoresize.value) {\n // Try to make chart fit to container in case container size\n // is changed synchronously or in already queued microtasks\n nextTick(() => {\n resize();\n commit();\n });\n } else {\n commit();\n }\n }\n\n function setOption(option: Option, updateOptions?: UpdateOptions) {\n if (props.manualUpdate) {\n manualOption.value = option;\n }\n\n if (!chart.value) {\n init(option);\n } else {\n chart.value.setOption(option, updateOptions || {});\n }\n }\n\n function cleanup() {\n if (chart.value) {\n chart.value.dispose();\n chart.value = undefined;\n }\n }\n\n let unwatchOption: (() => void) | null = null;\n watch(\n manualUpdate,\n manualUpdate => {\n if (typeof unwatchOption === \"function\") {\n unwatchOption();\n unwatchOption = null;\n }\n\n if (!manualUpdate) {\n unwatchOption = watch(\n () => props.option,\n (option, oldOption) => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, {\n // mutating `option` will lead to `notMerge: false` and\n // replacing it with new reference will lead to `notMerge: true`\n notMerge: option !== oldOption,\n ...realUpdateOptions.value\n });\n }\n },\n { deep: true }\n );\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n [realTheme, realInitOptions],\n () => {\n cleanup();\n init();\n },\n {\n deep: true\n }\n );\n\n watchEffect(() => {\n if (props.group && chart.value) {\n chart.value.group = props.group;\n }\n });\n\n const publicApi = usePublicAPI(chart);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n init();\n });\n\n onBeforeUnmount(() => {\n if (wcRegistered && root.value) {\n // For registered web component, we can leverage the\n // `disconnectedCallback` to dispose the chart instance\n // so that we can delay the cleanup after exsiting leaving\n // transition.\n root.value.__dispose = cleanup;\n } else {\n cleanup();\n }\n });\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n nativeListeners,\n ...publicApi\n };\n },\n render() {\n // Vue 3 and Vue 2 have different vnode props format:\n // See https://v3-migration.vuejs.org/breaking-changes/render-function-api.html#vnode-props-format\n const attrs = (\n Vue2\n ? { attrs: this.nonEventAttrs, on: this.nativeListeners }\n : { ...this.nonEventAttrs, ...this.nativeListeners }\n ) as any;\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n","import \"echarts\";\nimport ECharts, * as exported from \"./index\";\n\nexport default {\n ...ECharts,\n ...exported\n};\n"],"names":["METHOD_NAMES","usePublicAPI","chart","makePublicMethod","name","args","makePublicMethods","methods","useAutoresize","autoresize","root","watch","_","onCleanup","ro","offsetWidth","offsetHeight","autoresizeOptions","wait","onResize","initialResizeTriggered","callback","resizeCallback","throttle","autoresizeProps","onRE","isOn","key","omitOn","attrs","result","unwrapInjected","injection","defaultValue","value","isRef","unref","LOADING_OPTIONS_KEY","useLoading","loading","loadingOptions","defaultLoadingOptions","inject","realLoadingOptions","computed","watchEffect","instance","loadingProps","registered","TAG_NAME","register","__CSP__","wcRegistered","Vue2","THEME_KEY","INIT_OPTIONS_KEY","UPDATE_OPTIONS_KEY","NATIVE_EVENT_RE","defineComponent","props","shallowRef","manualOption","defaultTheme","defaultInitOptions","defaultUpdateOptions","manualUpdate","toRefs","realOption","realTheme","realInitOptions","realUpdateOptions","nonEventAttrs","nativeListeners","listeners","getCurrentInstance","realListeners","event","nativeKey","init","option","initChart","handler","target","raw","resize","commit","opt","nextTick","setOption","updateOptions","cleanup","unwatchOption","oldOption","publicApi","onMounted","onBeforeUnmount","h","global","ECharts","exported"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-echarts",
3
- "version": "7.0.1",
3
+ "version": "7.0.2",
4
4
  "description": "Vue.js component for Apache ECharts™.",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/ecomfe/vue-echarts.git",
@@ -70,7 +70,7 @@
70
70
  "rollup": "^4.19.0",
71
71
  "rollup-plugin-dts": "^6.1.0",
72
72
  "rollup-plugin-esbuild": "^6.1.1",
73
- "rollup-plugin-import-css": "^3.5.0",
73
+ "@justfork/rollup-plugin-import-css": "^3.5.1",
74
74
  "tslib": "^2.6.3",
75
75
  "typescript": "5.5.4",
76
76
  "vue": "^3.4.33",