vue-echarts 6.0.0 → 6.0.3

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
@@ -4,7 +4,7 @@
4
4
 
5
5
  > [🇨🇳 中文版](./README.zh-Hans.md)
6
6
 
7
- Uses [Apache ECharts](http://echarts.baidu.com/index.html) 5 and works for both [Vue.js](https://vuejs.org/) 2/3.
7
+ Uses [Apache ECharts](https://echarts.apache.org/en/index.html) 5 and works for both [Vue.js](https://vuejs.org/) 2/3.
8
8
 
9
9
  ## 💡 Heads up 💡
10
10
 
@@ -20,13 +20,21 @@ Not ready yet? Read documentation for older versions [here →](https://github.c
20
20
  $ npm install echarts vue-echarts
21
21
  ```
22
22
 
23
- To make `vue-echarts` work for Vue 2, you need to have `@vue/composition-api` installed:
23
+ To make `vue-echarts` work for *Vue 2*, you need to have `@vue/composition-api` installed:
24
24
 
25
25
  ```sh
26
26
  npm i -D @vue/composition-api
27
27
  ```
28
28
 
29
- <details open>
29
+ If you are using *NuxtJS* on top of *Vue 2*, you'll also need `@nuxtjs/composition-api`:
30
+
31
+ ```sh
32
+ npm i -D @nuxtjs/composition-api
33
+ ```
34
+
35
+ And then add `'@nuxtjs/composition-api/module'` in the `buildModules` option in your `nuxt.config.js`.
36
+
37
+ <details>
30
38
  <summary>Vue 3</summary>
31
39
 
32
40
  ```js
@@ -108,7 +116,7 @@ import "echarts";
108
116
 
109
117
  #### SFC example
110
118
 
111
- <details open>
119
+ <details>
112
120
  <summary>Vue 3</summary>
113
121
 
114
122
  ```vue
@@ -299,14 +307,14 @@ export default {
299
307
 
300
308
  Drop `<script>` inside your HTML file and access the component via `window.VueECharts`.
301
309
 
302
- <details open>
310
+ <details>
303
311
  <summary>Vue 3</summary>
304
312
 
305
313
  <!-- vue3Scripts:start -->
306
314
  ```html
307
- <script src="https://cdn.jsdelivr.net/npm/vue@3.1.1"></script>
308
- <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2"></script>
309
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0"></script>
315
+ <script src="https://cdn.jsdelivr.net/npm/vue@3.2.33"></script>
316
+ <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
317
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
310
318
  ```
311
319
  <!-- vue3Scripts:end -->
312
320
 
@@ -319,7 +327,7 @@ app.component('v-chart', VueECharts)
319
327
 
320
328
  <!-- vue3Demo:start -->
321
329
 
322
- [Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwARhec_3HJjrGJqYrZ-YZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVheOAATO8Ar9vr5Pn8ZnMFgQlis1hstrt9odjqdzpdrrcCkiSuU0QA2HBOPl44mEmRCggKABqtxwExUtAAgsYABRmVAWdDKAjKRUASlM5gswnqBCqpVVKoNBr6XVQ9nNFoNtCwBAAytpYLb9faDWBqAQAGLKIjQLT2ADkAEkaDBSgAaYQZAASUISpwg5GUwgAcjBbhk43LJsooHG4MpUHACnBoxAwKHPfavDH6xbOgR3XrVV6HdgCPYMtxSsowJByMJnZQTeR4Hnm_bYGBe_GQFOo6UMrOLI2N8JapQoJ1DB7O12d5NrNZo32QBBaEQZ8euz7SkQNbRSlfgMovMJGBFSkNgAib9bXIb9lXQLwAFJtXXB8LS3OCDVgC8MCPE8LDqCA6EXDIU3KNMi3vdDhHnHCQFIoj0PVTV7AAbW3C0MlYCB6nIAhKOIjJBBfaAOPQjI5XQLNTgAdzqABrOA-JPDJxRSGBKGEQSpJAJtEK9DJnRUOY8GEQRUGsNBpxABjhAAXW3BCTyrSZ4Do0y7WI1BAxgK8ByHEcxwnOZjLU4iLG0QxXKXQwsOkrtB3iKoViXdF0Ug8KvRXN97JAdEnAS1Sl25DKMjMvz_Oo5R7PUrtgGEBIi1uewHgedE42cohgqYlikXYkBhCs_yLHKyqoGq4QHmeJwGpcq9uOUXiOq67reqq4LsQeBxRqaq9BOEggxNKSSMk6grZoq-b7GeOqVuakA5MwRTlN2mb_Lm_rguedEHAADjOq8tLKYo9IMoyVM60yLHyoHhBgIhDBKOAIBixz_JvcHXSCNDuoNOASnQSgRIAIX699hGG_bUfR1QsfYYcqwIAANewRtBi0ScxkTOD3Oor1KawIi1EbhB5vmcHRGCTNKr0fBFg0xeIyWuwsxDpc3TxOzFrwYM7aVKAh6hsMVXCik5dq40lGBBE4fW4FViwcCICcaB1kADGMDJtUVj4CTFXw_CiGIQjkcQQC8AOgA)
330
+ [Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwAJhwHh5z_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVjeL0-AX-v183wBMzmCwISxWaw2W12-0Ox1O50u11uBRRJXKGIAbDgnG88cTCTIhQQFAA1W44CYqWgAQWMAAozKgLOhlARlIqAJSmcwWYT1AhVUqqlUGg19Lqoezmi0G2hYAgAZW0sFt-vtBrA1AIADFlERoFp7AByACSNBgpQANMIMgAJGEJU4QcjKYQAORgtwycblk2UUDjcGUqDgBTg0YgYFDnvtXhj9YtnQI7r1qq9DuwBHsGW4pWUYEg5GEzsoJvI8DzzftsDAvfjICnUdKGVnFkbG-EtUoUE6hg9na7O8m1ms0b7IAgtCIM-PXZ9pSIGtopSvwGUXmEjAipSGwARN-trkN-yroF4ACk2rrg-FpbnBBqwBeGBHieFh1BAdCLhkKblGmRb3uhwjzjhICkUR6Hqpq9gANrbhaGSsBA9TkAQlHERkggvtAHHoRkcroFmpwAO51AA1nAfEnhk4opDAlDCIJUkgE2iFehkzoqHMeDCIIqDWGg04gAxwgALrbghJ5VpM8B0aZdrEaggYwFeA5DiOY4TnMxlqcRFjaIYrlLoYWHSV2g7xFUKxLpimKQeFXorm-9kgJiTgJapS7chlGRmX5_nUco9nqV2wDCAkRa3PY7yYnGzlEMFTEsSi7EgMIVn-RY5WVVA1XCA8ACMTj1S5V7ccovHtZ1XU9VVwXPA8DijY1V6CcJBBiaUkkZB1BWzRV832INDx1cIDVNSAcmYIpym7TN_lzX1wWDZiDgABwrZdWllMUekGUZKkdaZFj5SDwgwEQhglHAEAxY5_k3pDrpBGhXUGnAJToJQIkAEJ9e-wjDft6OY6oOPsMOVYEAAGvYI3gxaZPYyJnB7nUV6lNYERaiNwh8wLOCYjBJmlV6PhiwaEvEdLXYWYhsubp4nYS14MGdtKlBQ9Q2GKrhRScm1caSjAgicIbcDqxYOBEBONB6yABjGBk2rK18BJir4fhRDEIRyOIIBeEHQA)
323
331
 
324
332
  <!-- vue3Demo:end -->
325
333
 
@@ -330,10 +338,10 @@ app.component('v-chart', VueECharts)
330
338
 
331
339
  <!-- vue2Scripts:start -->
332
340
  ```html
333
- <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
334
- <script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.0.5"></script>
335
- <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2"></script>
336
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0"></script>
341
+ <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
342
+ <script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.6.1"></script>
343
+ <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
344
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
337
345
  ```
338
346
  <!-- vue2Scripts:end -->
339
347
 
@@ -344,7 +352,7 @@ Vue.component("v-chart", VueECharts);
344
352
 
345
353
  <!-- vue2Demo:start -->
346
354
 
347
- [Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAJhwANhwARgec_3HJjrGJqYVWbzDKLZardabHZ7GAHBJHE5nC5XO43GDrShEQyUOAQfqoApGCB3N44Jw4ACsXwCAL-vh-gJmcwWBCWKzWGy2u32h2Op3Olz8MGKZQIcDuFPeOE-IHE31pBH-vyBzNBrPBHKh3NhvMRAquaIKwpK5XFr3JTmpDLpMmtiukADVbjgqFjqHQCAAKDKFEXlDIAGmETpggk4JrFAEpPKhpCcAO7B26esyoCyw-wZAzGQPmYToZQEZSeyOmPMWeoEKqlNOpiz14R9Lqoex1hv12hYAgAZW0sFb5fbFjA1AIADFlERoFp7AByACSNBgpSDGQAErCEqcIORlMIAHIwW6B4QAQUmyigQbgylQcAKcGXEDAs8HDa8AbfHbx_bLaaHHbYAQmYgNwpTKGAkDkMI3aUNW5DwLm_4AcIsBgMBwgZAhS6lBkX4WB--HCLUlBQJ0hgDshAEEJM1jWMuIF4jARBIShw51EQha0KUIHAMoXjCIwESlEMwARAJrbkAJKboF4ACkkZ4VR76fsp9awPRGCUWxjaTB6IFbuUO6XqxbFoRhGTmaZKEFkW9gANpEQ2GSsBA9TkAQ1lsRkgicdAXkoRkp7oAepzxnUADWcABQBGQOikMCUGe6DRSAqk6RYGTdiocx4MIgioNYaCISATnCAAukRhFqRYj56SswiOTV9ZtjpqCTjAIFgRBUEwXBcwlelGXaIYnWYSAhgQDAMVDuB8RVA1GQUhSckze22HcQ5S1OKtaXjc8O0ZOVQ06bZyhbc1Q7AMICSXrc9gAMwPRSQbtUQY0uW5wqeSAwjVRlLU3XdY0PW8TivR1IG-co_m_f9AOmEDUD3cIDwPQ4EPvSBwWhQQ4WlFFGR_SdGXXbdyNjW8z2Yx9IDxZgSXBalxNlQ2ZPA_YbwUg4AAcNMgdlZTFPlhXFczPiXfWx2s8IzGGCUuINa1GVMUQvZBNpCO1SU6CUPGABCyM8cIYMkwDcA63r7CQY-BAABr2ODMsNhbqh65wpF1CBpTWBExbg8IAdB5SimlZL74yxLOlRwBlVqTHBExgR3jRr4NLKiEUQxCEcjiCAXgF0AA)
355
+ [Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAJhwANhwARgcc_3HJjrGJqYVWbzDKLZardabHZ7GAHBJHE5nC5XO43GDrShEQyUOAQfqoApGCB3N4vd5fAIAv6-H6AmZzBYEJYrNYbLa7faHY6nc6XPwwYplAhwO4AVhwAGYcA8KbTqTI5UCGaCmeDWVCObCuYjeVc0QUBSVyiLXk5JbKqQR_r8rdIAGq3HBULHUOgEAAUGUKgvKGQANMIHTBBJwjcKAJSeVDSE4Ad0Dt3dZlQFlh9gyBmM_vMwnQygIynd4dMOYs9QIVVKKeTFlrwj6XVQ9hrddrtCwBAAytpYM3S62LGBqAQAGLKIjQLT2ADkAEkaDBSgGMgAJWEJU4QcjKYQAORgt39wgAgpNlFAA3BlKg4AU4IuIGBp_2614_S-23jeyWUwO29gCHTEBuFKZQwEgchhE7ShK3IeBs1_P9hFgMBAOEDI4IXUoMg_Cw31w4RakoKBOkMPtEL_AhJmsaxFyAvEYCIBCkMHOoiHzWhSiA4BlC8YRGAiUohmACI-Obcg-KTdAvAAUnDHCKNfd9FNrWBaIwciWPrSY3SAjdyi3c9mJYlC0IyUzjKQvMC3sABtAi6wyVgIHqcgCEsliMkEdjoA8pCMmPdA91OWM6gAazgPy_wyO0UhgSgT3QSKQGUrSLAyTsVDmPBhEEVBrDQeCQAc4QAF0CPwlSLHvHSVmEeyqtrFstNQccYCAkCwIgqCYLmIrUrS7RDHa9CQEMCAYCigdQPiKo6oyUVRRkqbW0wzi7IWpxlpS0bni2jJSoGrTrOUDbGoHYBhASc9bnsCUJVFANWqIEanJcgV3JAYRKrSpqrpukaJTeJwnraoDvOUXyvp-37TH-qBbuEB4JQcUGXqAwLgoIULSgijJvqOtLLuuhGRreB60dekBYswBLAuSgmSrrYmAfsN5RQcAAOSmgMyspily_LCoZnxztrQ6meERjDBKXE6uatKGKIbsgk02HqpKdBKFjAAhBGuOEYHCd-uBNe19hwPvAgAA17BByW61N1Rtc4Yi6iA0prAiQsQeEX3_ZwUV5OKsXX0l0WtIjv9ypUqO8KjPDvEjXxKRtEIohiEI5HEEAvDzoA)
348
356
 
349
357
  <!-- vue2Demo:end -->
350
358
 
@@ -370,6 +378,8 @@ See more examples [here](https://github.com/ecomfe/vue-echarts/tree/main/src/dem
370
378
 
371
379
  ECharts' universal interface. Modifying this prop will trigger ECharts' `setOption` method. Read more [here →](https://echarts.apache.org/en/option.html)
372
380
 
381
+ > 💡 When `update-options` is not specified, `notMerge: false` will be specified by default when the `setOption` method is called if the `option` object is modified directly and the reference remains unchanged; otherwise, if a new reference is bound to `option`, ` notMerge: true` will be specified.
382
+
373
383
  - `update-options: object`
374
384
 
375
385
  Options for updating chart option. See `echartsInstance.setOption`'s `opts` parameter [here →](https://echarts.apache.org/en/api.html#echartsInstance.setOption)
@@ -402,7 +412,7 @@ See more examples [here](https://github.com/ecomfe/vue-echarts/tree/main/src/dem
402
412
 
403
413
  Vue-ECharts provides provide/inject API for `theme`, `init-options`, `update-options` and `loading-options` to help configuring contextual options. eg. for `init-options` you can use the provide API like this:
404
414
 
405
- <details open>
415
+ <details>
406
416
  <summary>Vue 3</summary>
407
417
 
408
418
  ```js
@@ -452,7 +462,6 @@ import { INIT_OPTIONS_KEY } from 'vue-echarts'
452
462
  - `containPixel` [→](https://echarts.apache.org/en/api.html#echartsInstance.containPixel)
453
463
  - `showLoading` [→](https://echarts.apache.org/en/api.html#echartsInstance.showLoading)
454
464
  - `hideLoading` [→](https://echarts.apache.org/en/api.html#echartsInstance.hideLoading)
455
- - `containPixel` [→](https://echarts.apache.org/en/api.html#echartsInstance.containPixel)
456
465
  - `getDataURL` [→](https://echarts.apache.org/en/api.html#echartsInstance.getDataURL)
457
466
  - `getConnectedDataURL` [→](https://echarts.apache.org/en/api.html#echartsInstance.getConnectedDataURL)
458
467
  - `clear` [→](https://echarts.apache.org/en/api.html#echartsInstance.clear)
package/README.zh-Hans.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Apache ECharts 的 Vue.js 组件。
4
4
 
5
- 使用 [Apache ECharts](http://echarts.baidu.com/index.html) 5,同时支持 [Vue.js](https://vuejs.org/) 2/3。
5
+ 使用 [Apache ECharts](https://echarts.apache.org/zh/index.html) 5,同时支持 [Vue.js](https://vuejs.org/) 2/3。
6
6
 
7
7
  ## 💡 注意 💡
8
8
 
@@ -18,13 +18,21 @@
18
18
  $ npm install echarts vue-echarts
19
19
  ```
20
20
 
21
- 要在 Vue 2 下使用 `vue-echarts`,需要确保 `@vue/composition-api` 已经安装:
21
+ 要在 *Vue 2* 下使用 `vue-echarts`,需要确保 `@vue/composition-api` 已经安装:
22
22
 
23
23
  ```sh
24
24
  npm i -D @vue/composition-api
25
25
  ```
26
26
 
27
- <details open>
27
+ 如果你在使用基于 *Vue 2* 的 *NuxtJS*,那么还需要安装 `@nuxtjs/composition-api`:
28
+
29
+ ```sh
30
+ npm i -D @nuxtjs/composition-api
31
+ ```
32
+
33
+ 然后在 `nuxt.config.js` 的 `buildModules` 选项中添加 `'@nuxtjs/composition-api/module'`。
34
+
35
+ <details>
28
36
  <summary>Vue 3</summary>
29
37
 
30
38
  ```js
@@ -106,7 +114,7 @@ import "echarts";
106
114
 
107
115
  #### 单文件组件示例
108
116
 
109
- <details open>
117
+ <details>
110
118
  <summary>Vue 3</summary>
111
119
 
112
120
  ```vue
@@ -293,14 +301,14 @@ export default {
293
301
 
294
302
  用如下方式在 HTML 中插入 `<script>` 标签,并且通过 `window.VueECharts` 来访问组件接口:
295
303
 
296
- <details open>
304
+ <details>
297
305
  <summary>Vue 3</summary>
298
306
 
299
307
  <!-- vue3Scripts:start -->
300
308
  ```html
301
- <script src="https://cdn.jsdelivr.net/npm/vue@3.1.1"></script>
302
- <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2"></script>
303
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0"></script>
309
+ <script src="https://cdn.jsdelivr.net/npm/vue@3.2.33"></script>
310
+ <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
311
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
304
312
  ```
305
313
  <!-- vue3Scripts:end -->
306
314
 
@@ -313,7 +321,7 @@ app.component('v-chart', VueECharts)
313
321
 
314
322
  <!-- vue3Demo:start -->
315
323
 
316
- [Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwARhec_3HJjrGJqYrZ-YZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVheOAATO8Ar9vr5Pn8ZnMFgQlis1hstrt9odjqdzpdrrcCkiSuU0QA2HBOPl44mEmRCggKABqtxwExUtAAgsYABRmVAWdDKAjKRUASlM5gswnqBCqpVVKoNBr6XVQ9nNFoNtCwBAAytpYLb9faDWBqAQAGLKIjQLT2ADkAEkaDBSgAaYQZAASUISpwg5GUwgAcjBbhk43LJsooHG4MpUHACnBoxAwKHPfavDH6xbOgR3XrVV6HdgCPYMtxSsowJByMJnZQTeR4Hnm_bYGBe_GQFOo6UMrOLI2N8JapQoJ1DB7O12d5NrNZo32QBBaEQZ8euz7SkQNbRSlfgMovMJGBFSkNgAib9bXIb9lXQLwAFJtXXB8LS3OCDVgC8MCPE8LDqCA6EXDIU3KNMi3vdDhHnHCQFIoj0PVTV7AAbW3C0MlYCB6nIAhKOIjJBBfaAOPQjI5XQLNTgAdzqABrOA-JPDJxRSGBKGEQSpJAJtEK9DJnRUOY8GEQRUGsNBpxABjhAAXW3BCTyrSZ4Do0y7WI1BAxgK8ByHEcxwnOZjLU4iLG0QxXKXQwsOkrtB3iKoViXdF0Ug8KvRXN97JAdEnAS1Sl25DKMjMvz_Oo5R7PUrtgGEBIi1uewHgedE42cohgqYlikXYkBhCs_yLHKyqoGq4QHmeJwGpcq9uOUXiOq67reqq4LsQeBxRqaq9BOEggxNKSSMk6grZoq-b7GeOqVuakA5MwRTlN2mb_Lm_rguedEHAADjOq8tLKYo9IMoyVM60yLHyoHhBgIhDBKOAIBixz_JvcHXSCNDuoNOASnQSgRIAIX699hGG_bUfR1QsfYYcqwIAANewRtBi0ScxkTOD3Oor1KawIi1EbhB5vmcHRGCTNKr0fBFg0xeIyWuwsxDpc3TxOzFrwYM7aVKAh6hsMVXCik5dq40lGBBE4fW4FViwcCICcaB1kADGMDJtUVj4CTFXw_CiGIQjkcQQC8AOgA)
324
+ [Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwAJhwHh5z_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVjeL0-AX-v183wBMzmCwISxWaw2W12-0Ox1O50u11uBRRJXKGIAbDgnG88cTCTIhQQFAA1W44CYqWgAQWMAAozKgLOhlARlIqAJSmcwWYT1AhVUqqlUGg19Lqoezmi0G2hYAgAZW0sFt-vtBrA1AIADFlERoFp7AByACSNBgpQANMIMgAJGEJU4QcjKYQAORgtwycblk2UUDjcGUqDgBTg0YgYFDnvtXhj9YtnQI7r1qq9DuwBHsGW4pWUYEg5GEzsoJvI8DzzftsDAvfjICnUdKGVnFkbG-EtUoUE6hg9na7O8m1ms0b7IAgtCIM-PXZ9pSIGtopSvwGUXmEjAipSGwARN-trkN-yroF4ACk2rrg-FpbnBBqwBeGBHieFh1BAdCLhkKblGmRb3uhwjzjhICkUR6Hqpq9gANrbhaGSsBA9TkAQlHERkggvtAHHoRkcroFmpwAO51AA1nAfEnhk4opDAlDCIJUkgE2iFehkzoqHMeDCIIqDWGg04gAxwgALrbghJ5VpM8B0aZdrEaggYwFeA5DiOY4TnMxlqcRFjaIYrlLoYWHSV2g7xFUKxLpimKQeFXorm-9kgJiTgJapS7chlGRmX5_nUco9nqV2wDCAkRa3PY7yYnGzlEMFTEsSi7EgMIVn-RY5WVVA1XCA8ACMTj1S5V7ccovHtZ1XU9VVwXPA8DijY1V6CcJBBiaUkkZB1BWzRV832INDx1cIDVNSAcmYIpym7TN_lzX1wWDZiDgABwrZdWllMUekGUZKkdaZFj5SDwgwEQhglHAEAxY5_k3pDrpBGhXUGnAJToJQIkAEJ9e-wjDft6OY6oOPsMOVYEAAGvYI3gxaZPYyJnB7nUV6lNYERaiNwh8wLOCYjBJmlV6PhiwaEvEdLXYWYhsubp4nYS14MGdtKlBQ9Q2GKrhRScm1caSjAgicIbcDqxYOBEBONB6yABjGBk2rK18BJir4fhRDEIRyOIIBeEHQA)
317
325
 
318
326
  <!-- vue3Demo:end -->
319
327
 
@@ -324,10 +332,10 @@ app.component('v-chart', VueECharts)
324
332
 
325
333
  <!-- vue2Scripts:start -->
326
334
  ```html
327
- <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
328
- <script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.0.5"></script>
329
- <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2"></script>
330
- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.0"></script>
335
+ <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
336
+ <script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.6.1"></script>
337
+ <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
338
+ <script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
331
339
  ```
332
340
  <!-- vue2Scripts:end -->
333
341
 
@@ -360,6 +368,8 @@ Vue.component("v-chart", VueECharts);
360
368
 
361
369
  ECharts 的万能接口。修改这个 prop 会触发 ECharts 实例的 `setOption` 方法。查看[详情 →](https://echarts.apache.org/zh/option.html)
362
370
 
371
+ > 💡 在没有指定 `update-options` 时,如果直接修改 `option` 对象而引用保持不变,`setOption` 方法调用时将默认指定 `notMerge: false`;否则,如果为 `option` 绑定一个新的引用,将指定 `notMerge: true`。
372
+
363
373
  - `update-options: object`
364
374
 
365
375
  图表更新的配置项。请参考 `echartsInstance.setOption` 的 `opts` 参数。[前往 →](https://echarts.apache.org/zh/api.html#echartsInstance.setOption)
@@ -392,7 +402,7 @@ Vue.component("v-chart", VueECharts);
392
402
 
393
403
  Vue-ECharts 为 `theme`、`init-options`、`update-options` 和 `loading-options` 提供了 provide/inject API,以通过上下文配置选项。例如:可以通过如下方式来使用 provide API 为 `init-options` 提供上下文配置:
394
404
 
395
- <details open>
405
+ <details>
396
406
  <summary>Vue 3</summary>
397
407
 
398
408
  ```js
@@ -442,7 +452,6 @@ import { INIT_OPTIONS_KEY } from 'vue-echarts'
442
452
  - `containPixel` [→](https://echarts.apache.org/zh/api.html#echartsInstance.containPixel)
443
453
  - `showLoading` [→](https://echarts.apache.org/zh/api.html#echartsInstance.showLoading)
444
454
  - `hideLoading` [→](https://echarts.apache.org/zh/api.html#echartsInstance.hideLoading)
445
- - `containPixel` [→](https://echarts.apache.org/zh/api.html#echartsInstance.containPixel)
446
455
  - `getDataURL` [→](https://echarts.apache.org/zh/api.html#echartsInstance.getDataURL)
447
456
  - `getConnectedDataURL` [→](https://echarts.apache.org/zh/api.html#echartsInstance.getConnectedDataURL)
448
457
  - `clear` [→](https://echarts.apache.org/zh/api.html#echartsInstance.clear)
package/dist/index.cjs.js CHANGED
@@ -49,16 +49,13 @@ var METHOD_NAMES = [
49
49
  "isDisposed",
50
50
  "dispose"
51
51
  ];
52
- function usePublicAPI(chart, init) {
52
+ function usePublicAPI(chart) {
53
53
  function makePublicMethod(name) {
54
54
  return function () {
55
55
  var args = [];
56
56
  for (var _i = 0; _i < arguments.length; _i++) {
57
57
  args[_i] = arguments[_i];
58
58
  }
59
- if (!chart.value) {
60
- init();
61
- }
62
59
  if (!chart.value) {
63
60
  throw new Error("ECharts is not initialized yet.");
64
61
  }
@@ -157,13 +154,13 @@ var ECharts = vueDemi.defineComponent({
157
154
  var defaultInitOptions = vueDemi.inject(INIT_OPTIONS_KEY, null);
158
155
  var defaultUpdateOptions = vueDemi.inject(UPDATE_OPTIONS_KEY, null);
159
156
  var _b = vueDemi.toRefs(props), autoresize = _b.autoresize, manualUpdate = _b.manualUpdate, loading = _b.loading, loadingOptions = _b.loadingOptions;
160
- var realOption = vueDemi.computed(function () { return manualOption.value || props.option || Object.create(null); });
157
+ var realOption = vueDemi.computed(function () { return manualOption.value || props.option || null; });
161
158
  var realTheme = vueDemi.computed(function () { return props.theme || vueDemi.unref(defaultTheme) || {}; });
162
159
  var realInitOptions = vueDemi.computed(function () { return props.initOptions || vueDemi.unref(defaultInitOptions) || {}; });
163
160
  var realUpdateOptions = vueDemi.computed(function () { return props.updateOptions || vueDemi.unref(defaultUpdateOptions) || {}; });
164
161
  var nonEventAttrs = vueDemi.computed(function () { return omitOn(attrs); });
165
162
  function init(option) {
166
- if (chart.value || !root.value) {
163
+ if (!root.value) {
167
164
  return;
168
165
  }
169
166
  var instance = (chart.value = core.init(root.value, realTheme.value, realInitOptions.value));
@@ -194,19 +191,14 @@ var ECharts = vueDemi.defineComponent({
194
191
  });
195
192
  function resize() {
196
193
  if (instance && !instance.isDisposed()) {
197
- try {
198
- instance.resize();
199
- }
200
- catch (e) {
201
- if (e.message === "Cannot read property 'get' of undefined") {
202
- return;
203
- }
204
- throw e;
205
- }
194
+ instance.resize();
206
195
  }
207
196
  }
208
197
  function commit() {
209
- instance.setOption(option || realOption.value, realUpdateOptions.value);
198
+ var opt = option || realOption.value;
199
+ if (opt) {
200
+ instance.setOption(opt, realUpdateOptions.value);
201
+ }
210
202
  }
211
203
  if (autoresize.value) {
212
204
  vueDemi.nextTick(function () {
@@ -242,7 +234,7 @@ var ECharts = vueDemi.defineComponent({
242
234
  unwatchOption = null;
243
235
  }
244
236
  if (!manualUpdate) {
245
- unwatchOption = vueDemi.watch(function () { return props.option; }, function (option) {
237
+ unwatchOption = vueDemi.watch(function () { return props.option; }, function (option, oldOption) {
246
238
  if (!option) {
247
239
  return;
248
240
  }
@@ -250,7 +242,7 @@ var ECharts = vueDemi.defineComponent({
250
242
  init();
251
243
  }
252
244
  else {
253
- chart.value.setOption(option, realUpdateOptions.value);
245
+ chart.value.setOption(option, __assign({ notMerge: option.value !== (oldOption === null || oldOption === void 0 ? void 0 : oldOption.value) }, realUpdateOptions.value));
254
246
  }
255
247
  }, { deep: true });
256
248
  }
@@ -268,13 +260,11 @@ var ECharts = vueDemi.defineComponent({
268
260
  chart.value.group = props.group;
269
261
  }
270
262
  });
271
- var publicApi = usePublicAPI(chart, init);
263
+ var publicApi = usePublicAPI(chart);
272
264
  useLoading(chart, loading, loadingOptions);
273
265
  useAutoresize(chart, autoresize, root);
274
266
  vueDemi.onMounted(function () {
275
- if (props.option) {
276
- init();
277
- }
267
+ init();
278
268
  });
279
269
  vueDemi.onUnmounted(cleanup);
280
270
  return __assign({ chart: chart,
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { EChartsType, Option } 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;\ntype MethodName = typeof METHOD_NAMES[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>,\n init: (option?: Option) => void\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 init();\n }\n\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 { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(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\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type 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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\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 inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || Object.create(null)\n );\n const realTheme = computed(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n\n function init(option?: Option) {\n if (chart.value || !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 let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n // temporarily suppress errors caused by https://github.com/apache/echarts/issues/14846\n try {\n instance.resize();\n } catch (e) {\n if (e.message === \"Cannot read property 'get' of undefined\") {\n return;\n }\n\n throw e;\n }\n }\n }\n\n function commit() {\n instance.setOption(option || realOption.value, realUpdateOptions.value);\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 => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, realUpdateOptions.value);\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, init);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n if (props.option) {\n init();\n }\n });\n\n onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["watch","throttle","addListener","removeListener","inject","computed","unref","watchEffect","Vue2","defineComponent","shallowRef","toRefs","initChart","nextTick","onMounted","onUnmounted","h"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { 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;\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 { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(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\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type 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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\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 inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\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(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\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 let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\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 notMerge: option.value !== oldOption?.value,\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 onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["watch","throttle","addListener","removeListener","inject","computed","unref","watchEffect","Vue2","defineComponent","shallowRef","toRefs","initChart","nextTick","onMounted","onUnmounted","h"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue-demi"),t=require("echarts/core"),n=require("resize-detector"),o=function(){return(o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},r=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function i(e,t){return n=Object.create(null),r.forEach((function(o){n[o]=function(n){return function(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];if(e.value||t(),!e.value)throw new Error("ECharts is not initialized yet.");return e.value[n].apply(e.value,o)}}(o)})),n;var n}var a={autoresize:Boolean};var u={loading:Boolean,loadingOptions:Object},c=[],s=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,o=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,i="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var a=c.indexOf(i);-1===a&&(a=c.push(i)-1,s[a]={}),n=s[a]&&s[a][o]?s[a][o]:s[a][o]=u()}else n=u();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function u(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var a="prepend"===o?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}("x-vue-echarts{display:block;width:100%;height:100%}",{});var l=/^on[^a-z]/,p=function(e){return l.test(e)};e.Vue2&&e.Vue2.config.ignoredElements.push("x-vue-echarts");var f=e.defineComponent({name:"echarts",props:o(o({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},a),u),inheritAttrs:!1,setup:function(r,a){var u=a.attrs,c=a.listeners,s=e.shallowRef(),l=e.shallowRef(),f=e.shallowRef(),d=e.inject("ecTheme",null),v=e.inject("ecInitOptions",null),h=e.inject("ecUpdateOptions",null),g=e.toRefs(r),O=g.autoresize,m=g.manualUpdate,b=g.loading,y=g.loadingOptions,E=e.computed((function(){return f.value||r.option||Object.create(null)})),x=e.computed((function(){return r.theme||e.unref(d)||{}})),j=e.computed((function(){return r.initOptions||e.unref(v)||{}})),w=e.computed((function(){return r.updateOptions||e.unref(h)||{}})),T=e.computed((function(){return function(e){var t={};for(var n in e)p(n)||(t[n]=e[n]);return t}(u)}));function L(n){if(!l.value&&s.value){var o=l.value=t.init(s.value,x.value,j.value);r.group&&(o.group=r.group);var i=c;i||(i={},Object.keys(u).filter((function(e){return 0===e.indexOf("on")&&e.length>2})).forEach((function(e){var t=e.charAt(2).toLowerCase()+e.slice(3);i[t]=u[e]}))),Object.keys(i).forEach((function(e){var t=i[e];t&&(0===e.indexOf("zr:")?o.getZr().on(e.slice(3).toLowerCase(),t):o.on(e.toLowerCase(),t))})),O.value?e.nextTick((function(){!function(){if(o&&!o.isDisposed())try{o.resize()}catch(e){if("Cannot read property 'get' of undefined"===e.message)return;throw e}}(),a()})):a()}function a(){o.setOption(n||E.value,w.value)}}function A(){l.value&&(l.value.dispose(),l.value=void 0)}var z=null;e.watch(m,(function(t){"function"==typeof z&&(z(),z=null),t||(z=e.watch((function(){return r.option}),(function(e){e&&(l.value?l.value.setOption(e,w.value):L())}),{deep:!0}))}),{immediate:!0}),e.watch([x,j],(function(){A(),L()}),{deep:!0}),e.watchEffect((function(){r.group&&l.value&&(l.value.group=r.group)}));var C=i(l,L);return function(t,n,r){var i=e.inject("ecLoadingOptions",{}),a=e.computed((function(){return o(o({},e.unref(i)),null==r?void 0:r.value)}));e.watchEffect((function(){var e=t.value;e&&(n.value?e.showLoading(a.value):e.hideLoading())}))}(l,b,y),function(o,r,i){var a=null;e.watch([i,o,r],(function(e,o,r){var i=e[0],u=e[1],c=e[2];i&&u&&c&&(a=t.throttle((function(){u.resize()}),100),n.addListener(i,a)),r((function(){a&&i&&n.removeListener(i,a)}))}))}(l,O,s),e.onMounted((function(){r.option&&L()})),e.onUnmounted(A),o({chart:l,root:s,setOption:function(e,t){r.manualUpdate&&(f.value=e),l.value?l.value.setOption(e,t||{}):L(e)},nonEventAttrs:T},C)},render:function(){var t=o({},this.nonEventAttrs);return t.ref="root",t.class=t.class?["echarts"].concat(t.class):"echarts",e.h("x-vue-echarts",t)}});exports.INIT_OPTIONS_KEY="ecInitOptions",exports.LOADING_OPTIONS_KEY="ecLoadingOptions",exports.THEME_KEY="ecTheme",exports.UPDATE_OPTIONS_KEY="ecUpdateOptions",exports.default=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue-demi"),t=require("echarts/core"),n=require("resize-detector"),o=function(){return(o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},r=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function i(e){return t=Object.create(null),r.forEach((function(n){t[n]=function(t){return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];if(!e.value)throw new Error("ECharts is not initialized yet.");return e.value[t].apply(e.value,n)}}(n)})),t;var t}var a={autoresize:Boolean};var u={loading:Boolean,loadingOptions:Object},c=[],s=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,o=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,i="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var a=c.indexOf(i);-1===a&&(a=c.push(i)-1,s[a]={}),n=s[a]&&s[a][o]?s[a][o]:s[a][o]=u()}else n=u();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function u(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var a="prepend"===o?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}("x-vue-echarts{display:block;width:100%;height:100%}",{});var l=/^on[^a-z]/,p=function(e){return l.test(e)};e.Vue2&&e.Vue2.config.ignoredElements.push("x-vue-echarts");var f=e.defineComponent({name:"echarts",props:o(o({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},a),u),inheritAttrs:!1,setup:function(r,a){var u=a.attrs,c=a.listeners,s=e.shallowRef(),l=e.shallowRef(),f=e.shallowRef(),d=e.inject("ecTheme",null),v=e.inject("ecInitOptions",null),h=e.inject("ecUpdateOptions",null),g=e.toRefs(r),O=g.autoresize,m=g.manualUpdate,b=g.loading,y=g.loadingOptions,E=e.computed((function(){return f.value||r.option||null})),x=e.computed((function(){return r.theme||e.unref(d)||{}})),j=e.computed((function(){return r.initOptions||e.unref(v)||{}})),w=e.computed((function(){return r.updateOptions||e.unref(h)||{}})),T=e.computed((function(){return function(e){var t={};for(var n in e)p(n)||(t[n]=e[n]);return t}(u)}));function L(n){if(s.value){var o=l.value=t.init(s.value,x.value,j.value);r.group&&(o.group=r.group);var i=c;i||(i={},Object.keys(u).filter((function(e){return 0===e.indexOf("on")&&e.length>2})).forEach((function(e){var t=e.charAt(2).toLowerCase()+e.slice(3);i[t]=u[e]}))),Object.keys(i).forEach((function(e){var t=i[e];t&&(0===e.indexOf("zr:")?o.getZr().on(e.slice(3).toLowerCase(),t):o.on(e.toLowerCase(),t))})),O.value?e.nextTick((function(){o&&!o.isDisposed()&&o.resize(),a()})):a()}function a(){var e=n||E.value;e&&o.setOption(e,w.value)}}function A(){l.value&&(l.value.dispose(),l.value=void 0)}var z=null;e.watch(m,(function(t){"function"==typeof z&&(z(),z=null),t||(z=e.watch((function(){return r.option}),(function(e,t){e&&(l.value?l.value.setOption(e,o({notMerge:e.value!==(null==t?void 0:t.value)},w.value)):L())}),{deep:!0}))}),{immediate:!0}),e.watch([x,j],(function(){A(),L()}),{deep:!0}),e.watchEffect((function(){r.group&&l.value&&(l.value.group=r.group)}));var P=i(l);return function(t,n,r){var i=e.inject("ecLoadingOptions",{}),a=e.computed((function(){return o(o({},e.unref(i)),null==r?void 0:r.value)}));e.watchEffect((function(){var e=t.value;e&&(n.value?e.showLoading(a.value):e.hideLoading())}))}(l,b,y),function(o,r,i){var a=null;e.watch([i,o,r],(function(e,o,r){var i=e[0],u=e[1],c=e[2];i&&u&&c&&(a=t.throttle((function(){u.resize()}),100),n.addListener(i,a)),r((function(){a&&i&&n.removeListener(i,a)}))}))}(l,O,s),e.onMounted((function(){L()})),e.onUnmounted(A),o({chart:l,root:s,setOption:function(e,t){r.manualUpdate&&(f.value=e),l.value?l.value.setOption(e,t||{}):L(e)},nonEventAttrs:T},P)},render:function(){var t=o({},this.nonEventAttrs);return t.ref="root",t.class=t.class?["echarts"].concat(t.class):"echarts",e.h("x-vue-echarts",t)}});exports.INIT_OPTIONS_KEY="ecInitOptions",exports.LOADING_OPTIONS_KEY="ecLoadingOptions",exports.THEME_KEY="ecTheme",exports.UPDATE_OPTIONS_KEY="ecUpdateOptions",exports.default=f;
2
2
  //# sourceMappingURL=index.cjs.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.min.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { EChartsType, Option } 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;\ntype MethodName = typeof METHOD_NAMES[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>,\n init: (option?: Option) => void\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 init();\n }\n\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 { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(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\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type 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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\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 inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || Object.create(null)\n );\n const realTheme = computed(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n\n function init(option?: Option) {\n if (chart.value || !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 let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n // temporarily suppress errors caused by https://github.com/apache/echarts/issues/14846\n try {\n instance.resize();\n } catch (e) {\n if (e.message === \"Cannot read property 'get' of undefined\") {\n return;\n }\n\n throw e;\n }\n }\n }\n\n function commit() {\n instance.setOption(option || realOption.value, realUpdateOptions.value);\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 => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, realUpdateOptions.value);\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, init);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n if (props.option) {\n init();\n }\n });\n\n onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["METHOD_NAMES","usePublicAPI","chart","init","methods","Object","create","forEach","name","_i","args","value","Error","apply","makePublicMethod","autoresizeProps","autoresize","Boolean","loadingProps","loading","loadingOptions","e","t","n","r","document","a","s","prepend","d","singleTag","i","container","querySelector","getElementsByTagName","u","indexOf","push","c","charCodeAt","substring","styleSheet","cssText","appendChild","createTextNode","createElement","setAttribute","attributes","keys","length","insertAdjacentElement","onRE","isOn","key","test","Vue2","config","ignoredElements","defineComponent","props","option","theme","type","String","initOptions","updateOptions","group","manualUpdate","inheritAttrs","setup","_a","attrs","listeners","root","shallowRef","manualOption","defaultTheme","inject","defaultInitOptions","defaultUpdateOptions","_b","toRefs","realOption","computed","realTheme","unref","realInitOptions","realUpdateOptions","nonEventAttrs","result","omitOn","instance","initChart","realListeners","filter","event","charAt","toLowerCase","slice","handler","getZr","on","nextTick","isDisposed","resize","message","commit","setOption","cleanup","dispose","undefined","unwatchOption","watch","deep","immediate","watchEffect","publicApi","defaultLoadingOptions","realLoadingOptions","showLoading","hideLoading","useLoading","resizeListener","_","throttle","addListener","removeListener","useAutoresize","onMounted","onUnmounted","render","this","ref","class","concat","h"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.min.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { 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;\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 { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(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\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type 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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\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 inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\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(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\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 let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\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 notMerge: option.value !== oldOption?.value,\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 onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["METHOD_NAMES","usePublicAPI","chart","methods","Object","create","forEach","name","_i","args","value","Error","apply","makePublicMethod","autoresizeProps","autoresize","Boolean","loadingProps","loading","loadingOptions","e","t","n","r","document","a","s","prepend","d","singleTag","i","container","querySelector","getElementsByTagName","u","indexOf","push","c","charCodeAt","substring","styleSheet","cssText","appendChild","createTextNode","createElement","setAttribute","attributes","keys","length","insertAdjacentElement","onRE","isOn","key","test","Vue2","config","ignoredElements","defineComponent","props","option","theme","type","String","initOptions","updateOptions","group","manualUpdate","inheritAttrs","setup","_a","attrs","listeners","root","shallowRef","manualOption","defaultTheme","inject","defaultInitOptions","defaultUpdateOptions","_b","toRefs","realOption","computed","realTheme","unref","realInitOptions","realUpdateOptions","nonEventAttrs","result","omitOn","init","instance","initChart","realListeners","filter","event","charAt","toLowerCase","slice","handler","getZr","on","nextTick","isDisposed","resize","commit","opt","setOption","cleanup","dispose","undefined","unwatchOption","watch","oldOption","notMerge","deep","immediate","watchEffect","publicApi","defaultLoadingOptions","realLoadingOptions","showLoading","hideLoading","useLoading","resizeListener","_","throttle","addListener","removeListener","useAutoresize","onMounted","onUnmounted","render","this","ref","class","concat","h"],"mappings":"oWAIMA,EAAe,CACnB,WACA,YACA,SACA,YACA,SACA,iBACA,iBACA,mBACA,eACA,aACA,sBACA,aACA,QACA,aACA,oBAMcC,EACdC,GAsBA,OARQC,EAAUC,OAAOC,OAAO,MAC9BL,EAAaM,SAAQ,SAAAC,GACnBJ,EAAQI,GAdZ,SACEA,GAEA,OAAO,eAAC,aAAAC,mBAAAA,IAAAC,kBACN,IAAKP,EAAMQ,MACT,MAAM,IAAIC,MAAM,mCAElB,OAAQT,EAAMQ,MAAMH,GAAcK,MAAMV,EAAMQ,MAAOD,IAOrCI,CAAiBN,MAG5BJ,EANT,IACQA,ECXH,IAAMW,EAAkB,CAC7BC,WAAYC,SCIP,IAAMC,EAAe,CAC1BC,QAASF,QACTG,eAAgBf,QCpCdgB,EAAE,GAAGC,EAAE,IAAG,SAAWC,EAAEC,GAAG,GAAGD,GAAG,oBAAoBE,SAAS,CAAC,IAAIC,EAAEC,GAAE,IAAKH,EAAEI,QAAQ,UAAU,SAASC,GAAE,IAAKL,EAAEM,UAAUC,EAAE,iBAAiBP,EAAEQ,UAAUP,SAASQ,cAAcT,EAAEQ,WAAWP,SAASS,qBAAqB,QAAQ,GAAG,GAAGL,EAAE,CAAC,IAAIM,EAAEd,EAAEe,QAAQL,IAAI,IAAII,IAAIA,EAAEd,EAAEgB,KAAKN,GAAG,EAAET,EAAEa,GAAG,IAAIT,EAAEJ,EAAEa,IAAIb,EAAEa,GAAGR,GAAGL,EAAEa,GAAGR,GAAGL,EAAEa,GAAGR,GAAGW,SAASZ,EAAEY,IAAI,QAAQf,EAAEgB,WAAW,KAAKhB,EAAEA,EAAEiB,UAAU,IAAId,EAAEe,WAAWf,EAAEe,WAAWC,SAASnB,EAAEG,EAAEiB,YAAYlB,SAASmB,eAAerB,IAAI,SAASe,IAAI,IAAIjB,EAAEI,SAASoB,cAAc,SAAS,GAAGxB,EAAEyB,aAAa,OAAO,YAAYtB,EAAEuB,WAAW,IAAI,IAAIzB,EAAEjB,OAAO2C,KAAKxB,EAAEuB,YAAYxB,EAAE,EAAEA,EAAED,EAAE2B,OAAO1B,IAAIF,EAAEyB,aAAaxB,EAAEC,GAAGC,EAAEuB,WAAWzB,EAAEC,KAAK,IAAIG,EAAE,YAAYC,EAAE,aAAa,YAAY,OAAOI,EAAEmB,sBAAsBxB,EAAEL,GAAGA,8DCOnuB,IAAM8B,EAAO,YACAC,EAAO,SAACC,GAAyB,OAAAF,EAAKG,KAAKD,ICgCpDE,QACFA,OAAKC,OAAOC,gBAAgBpB,KAHb,uBAWFqB,kBAAgB,CAC7BlD,KAAM,UACNmD,WACEC,OAAQvD,OACRwD,MAAO,CACLC,KAAM,CAACzD,OAAQ0D,SAEjBC,YAAa3D,OACb4D,cAAe5D,OACf6D,MAAOH,OACPI,aAAclD,SACXF,GACAG,GAELkD,cAAc,EAEdC,MAAA,SAAMV,EAAOW,OAAEC,UAAOC,cACdC,EAAOC,eACPvE,EAAQuE,eACRC,EAAeD,eACfE,EAAeC,SAzBA,UAyBkB,MACjCC,EAAqBD,SAzBC,gBA2B1B,MAEIE,EAAuBF,SA5BC,kBA8B5B,MAGIG,EAAwDC,SAAOtB,GAA7D3C,eAAYmD,iBAAchD,YAASC,mBAErC8D,EAAaC,YACjB,WAAM,OAAAR,EAAahE,OAASgD,EAAMC,QAAU,QAExCwB,EAAYD,YAAS,WAAM,OAAAxB,EAAME,OAASwB,QAAMT,IAAiB,MACjEU,EAAkBH,YACtB,WAAM,OAAAxB,EAAMK,aAAeqB,QAAMP,IAAuB,MAEpDS,EAAoBJ,YACxB,WAAM,OAAAxB,EAAMM,eAAiBoB,QAAMN,IAAyB,MAExDS,EAAgBL,YAAS,WAAM,gBDjFlBZ,GACrB,IAAMkB,EAAgB,GACtB,IAAK,IAAMpC,KAAOkB,EACXnB,EAAKC,KACRoC,EAAOpC,GAAOkB,EAAMlB,IAIxB,OAAOoC,ECyEgCC,CAAOnB,MAE5C,SAASoB,EAAK/B,GACZ,GAAKa,EAAK9D,MAAV,CAIA,IAAMiF,EAAYzF,EAAMQ,MAAQkF,OAC9BpB,EAAK9D,MACLyE,EAAUzE,MACV2E,EAAgB3E,OAGdgD,EAAMO,QACR0B,EAAS1B,MAAQP,EAAMO,OAGzB,IAAI4B,EAAgBtB,EACfsB,IACHA,EAAgB,GAEhBzF,OAAO2C,KAAKuB,GACTwB,QAAO,SAAA1C,GAAO,OAAsB,IAAtBA,EAAIjB,QAAQ,OAAeiB,EAAIJ,OAAS,KACtD1C,SAAQ,SAAA8C,GAGP,IAAM2C,EAAQ3C,EAAI4C,OAAO,GAAGC,cAAgB7C,EAAI8C,MAAM,GACtDL,EAAcE,GAASzB,EAAMlB,OAInChD,OAAO2C,KAAK8C,GAAevF,SAAQ,SAAA8C,GACjC,IAAM+C,EAAUN,EAAczC,GAEzB+C,IAIsB,IAAvB/C,EAAIjB,QAAQ,OACdwD,EAASS,QAAQC,GAAGjD,EAAI8C,MAAM,GAAGD,cAAeE,GAEhDR,EAASU,GAAGjD,EAAI6C,cAAeE,OAiB/BpF,EAAWL,MAGb4F,YAAS,WAfLX,IAAaA,EAASY,cACxBZ,EAASa,SAgBTC,OAGFA,IAfF,SAASA,IACP,IAAMC,EAAM/C,GAAUsB,EAAWvE,MAC7BgG,GACFf,EAASgB,UAAUD,EAAKpB,EAAkB5E,QA4BhD,SAASkG,IACH1G,EAAMQ,QACRR,EAAMQ,MAAMmG,UACZ3G,EAAMQ,WAAQoG,GAIlB,IAAIC,EAAqC,KACzCC,QACE9C,GACA,SAAAA,GAC+B,mBAAlB6C,IACTA,IACAA,EAAgB,MAGb7C,IACH6C,EAAgBC,SACd,WAAM,OAAAtD,EAAMC,UACZ,SAACA,EAAQsD,GACFtD,IAGAzD,EAAMQ,MAGTR,EAAMQ,MAAMiG,UAAUhD,KACpBuD,SAAUvD,EAAOjD,SAAUuG,MAAAA,SAAAA,EAAWvG,QACnC4E,EAAkB5E,QAJvBgF,OAQJ,CAAEyB,MAAM,OAId,CACEC,WAAW,IAIfJ,QACE,CAAC7B,EAAWE,IACZ,WACEuB,IACAlB,MAEF,CACEyB,MAAM,IAIVE,eAAY,WACN3D,EAAMO,OAAS/D,EAAMQ,QACvBR,EAAMQ,MAAMuD,MAAQP,EAAMO,UAI9B,IAAMqD,EAAYrH,EAAaC,GAY/B,gBH3OFA,EACAgB,EACAC,GAEA,IAAMoG,EAAwB3C,SATG,mBASyB,IAGpD4C,EAAqBtC,YAAS,WAAM,cACrCE,QAAMmC,IACNpG,MAAAA,SAAAA,EAAgBT,UAGrB2G,eAAY,WACV,IAAM1B,EAAWzF,EAAMQ,MAClBiF,IAIDzE,EAAQR,MACViF,EAAS8B,YAAYD,EAAmB9G,OAExCiF,EAAS+B,kBG4MXC,CAAWzH,EAAOgB,EAASC,YJnO7BjB,EACAa,EACAyD,GAEA,IAAIoD,EAAwC,KAE5CZ,QAAM,CAACxC,EAAMtE,EAAOa,IAAa,SAACsD,EAA2BwD,EAAGjB,OAA7BpC,OAAMtE,OAAOa,OAC1CyD,GAAQtE,GAASa,IACnB6G,EAAiBE,YAAS,WACxB5H,EAAMsG,WACL,KAEHuB,cAAYvD,EAAMoD,IAGpBhB,GAAQ,WACFgB,GAAkBpD,GACpBwD,iBAAexD,EAAMoD,SIoNzBK,CAAc/H,EAAOa,EAAYyD,GAEjC0D,aAAU,WACRxC,OAGFyC,cAAYvB,MAGV1G,QACAsE,OACAmC,UArFF,SAAmBhD,EAAgBK,GAC7BN,EAAMQ,eACRQ,EAAahE,MAAQiD,GAGlBzD,EAAMQ,MAGTR,EAAMQ,MAAMiG,UAAUhD,EAAQK,GAAiB,IAF/C0B,EAAK/B,IAgFP4B,iBACG+B,IAGPc,kBACE,IAAM9D,OAAa+D,KAAK9C,eAGxB,OAFAjB,EAAMgE,IAAM,OACZhE,EAAMiE,MAAQjE,EAAMiE,MAAQ,CAAC,WAAWC,OAAOlE,EAAMiE,OAAS,UACvDE,IAzNM,gBAyNMnE,+BAlNS,4CH1CG,qCGyCV,qCAES"}