diff --git a/README.md b/README.md
index 9ad186b..6602b7c 100644
--- a/README.md
+++ b/README.md
@@ -96,100 +96,6 @@ const option = ref({
-
-Vue 2 Demo →
-
-```vue
-
-
-
-
-
-
-
-```
-
-
-
> [!IMPORTANT]
> We encourage manually importing components and charts from ECharts for smaller bundle size. We've built an [import code generator](https://vue-echarts.dev/#codegen) to help you with that. You can just paste in your `option` code and we'll generate the precise import code for you.
>
@@ -212,7 +118,7 @@ Drop `
+
```
@@ -227,24 +133,6 @@ app.component('v-chart', VueECharts)
-
-Vue 2 Demo →
-
-
-```html
-
-
-
-```
-
-
-```js
-// register globally (or you can do it locally)
-Vue.component("v-chart", VueECharts);
-```
-
-
-
See more examples [here](https://github.com/ecomfe/vue-echarts/tree/main/src/demo).
### Props
@@ -359,7 +247,7 @@ See supported events [here →](https://echarts.apache.org/en/api.html#events)
#### Native DOM Events
-As Vue-ECharts binds events to the ECharts instance by default, there is some caveat when using native DOM events. You need to prefix the event name with `native:` to bind native DOM events (or you can use the `.native` modifier in Vue 2, which is dropped in Vue 3).
+As Vue-ECharts binds events to the ECharts instance by default, there is some caveat when using native DOM events. You need to prefix the event name with `native:` to bind native DOM events.
```vue
@@ -369,61 +257,56 @@ As Vue-ECharts binds events to the ECharts instance by default, there is some ca
### Provide / Inject
-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:
+Vue-ECharts provides provide/inject API for `theme`, `init-options`, `update-options` and `loading-options` to help configuring contextual options. eg. for `theme` you can use the provide API like this:
-Vue 3
+Composition API
```js
import { THEME_KEY } from 'vue-echarts'
import { provide } from 'vue'
-// composition API
provide(THEME_KEY, 'dark')
-// options API
-{
- provide: {
- [THEME_KEY]: 'dark'
- }
-}
+// or provide a ref
+const theme = ref('dark')
+provide(THEME_KEY, theme)
+
+// getter is also supported
+provide(THEME_KEY, () => theme.value)
```
-Vue 2
+Options API
```js
import { THEME_KEY } from 'vue-echarts'
+import { computed } from 'vue'
-// in component options
-{
- provide: {
- [THEME_KEY]: 'dark'
+export default {
+ {
+ provide: {
+ [THEME_KEY]: 'dark'
+ }
}
}
-```
-> **Note**
->
-> You need to provide an object for Vue 2 if you want to change it dynamically.
->
-> ```js
-> // in component options
-> {
-> data () {
-> return {
-> theme: { value: 'dark' }
-> }
-> },
-> provide () {
-> return {
-> [THEME_KEY]: this.theme
-> }
-> }
-> }
-> ```
+// Or make injections reactive
+export default {
+ data() {
+ return {
+ theme: 'dark'
+ }
+ },
+ provide() {
+ return {
+ [THEME_KEY]: computed(() => this.theme)
+ }
+ }
+}
+```
diff --git a/README.zh-Hans.md b/README.zh-Hans.md
index 17b929e..b77d4a8 100644
--- a/README.zh-Hans.md
+++ b/README.zh-Hans.md
@@ -96,100 +96,6 @@ const option = ref({
-
-Vue 2 Demo →
-
-```vue
-
-
-
-
-
-
-
-```
-
-
-
> [!IMPORTANT]
> 我们鼓励手动从 ECharts 中引入组件和图表,以减小打包体积。我们已经为此构建了一个[导入代码生成器](https://vue-echarts.dev/#codegen)。你只需要把`option` 代码粘贴进去,就可以得到精确的导入代码。
>
@@ -212,7 +118,7 @@ import "echarts";
```html
-
+
```
@@ -227,24 +133,6 @@ app.component('v-chart', VueECharts)
-
-Vue 2 Demo →
-
-
-```html
-
-
-
-```
-
-
-```js
-// 全局注册组件(也可以使用局部注册)
-Vue.component("v-chart", VueECharts);
-```
-
-
-
可以在[这里](https://github.com/ecomfe/vue-echarts/tree/main/src/demo)查看更多例子。
### Prop
@@ -359,7 +247,7 @@ Vue-ECharts 支持如下事件:
#### 原生 DOM 事件
-由于 Vue-ECharts 默认将事件绑定到 ECharts 实例,因此在使用原生 DOM 事件时需要做一些特殊处理。你需要在事件名称前加上 `native:` 前缀来绑定原生 DOM 事件(可以在 Vue 2 中也可以使用 `.native` 修饰符,但这在 Vue 3 中已被废弃)。
+由于 Vue-ECharts 默认将事件绑定到 ECharts 实例,因此在使用原生 DOM 事件时需要做一些特殊处理。你需要在事件名称前加上 `native:` 前缀来绑定原生 DOM 事件。
```vue
@@ -369,61 +257,56 @@ Vue-ECharts 支持如下事件:
### Provide / Inject
-Vue-ECharts 为 `theme`、`init-options`、`update-options` 和 `loading-options` 提供了 provide/inject API,以通过上下文配置选项。例如:可以通过如下方式来使用 provide API 为 `init-options` 提供上下文配置:
+Vue-ECharts 为 `theme`、`init-options`、`update-options` 和 `loading-options` 提供了 provide/inject API,以通过上下文配置选项。例如:可以通过如下方式来使用 provide API 为 `theme` 提供上下文配置:
-Vue 3
+组合式 API
```js
import { THEME_KEY } from 'vue-echarts'
import { provide } from 'vue'
-// 组合式 API
provide(THEME_KEY, 'dark')
-// 选项式 API
-{
- provide: {
- [THEME_KEY]: 'dark'
- }
-}
+// or provide a ref
+const theme = ref('dark')
+provide(THEME_KEY, theme)
+
+// getter is also supported
+provide(THEME_KEY, () => theme.value)
```
-Vue 2
+选项式 API
```js
import { THEME_KEY } from 'vue-echarts'
+import { computed } from 'vue'
-// 组件选项中
-{
- provide: {
- [THEME_KEY]: 'dark'
+export default {
+ {
+ provide: {
+ [THEME_KEY]: 'dark'
+ }
}
}
-```
-> **Note**
->
-> 在 Vue 2 中,如果你想动态地改变这些选项,那么你需要提供一个对象。
->
-> ```js
-> // 组件选项中
-> {
-> data () {
-> return {
-> theme: { value: 'dark' }
-> }
-> },
-> provide () {
-> return {
-> [THEME_KEY]: this.theme
-> }
-> }
-> }
-> ```
+// Or make injections reactive
+export default {
+ data() {
+ return {
+ theme: 'dark'
+ }
+ },
+ provide() {
+ return {
+ [THEME_KEY]: computed(() => this.theme)
+ }
+ }
+}
+```
diff --git a/package.json b/package.json
index 4676b5e..3acdf29 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"scripts": {
"serve": "vue-cli-service serve",
"build": "pnpm run docs && rimraf dist && pnpm run build:rollup",
- "build:rollup": "vue-demi-switch 3 && rollup -c rollup.config.js",
+ "build:rollup": "rollup -c rollup.config.js",
"lint": "vue-cli-service lint",
"publint": "publint",
"build:demo": "vue-cli-service build",
@@ -29,18 +29,9 @@
"dist",
"scripts/postinstall.js"
],
- "dependencies": {
- "vue-demi": "^0.13.11"
- },
"peerDependencies": {
- "@vue/runtime-core": "^3.0.0",
"echarts": "^5.5.1",
- "vue": "^2.7.0 || ^3.1.1"
- },
- "peerDependenciesMeta": {
- "@vue/runtime-core": {
- "optional": true
- }
+ "vue": "^3.1.1"
},
"devDependencies": {
"@babel/core": "^7.24.9",
@@ -57,7 +48,7 @@
"@vue/compiler-sfc": "^3.4.33",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
- "@vueuse/core": "^10.11.0",
+ "@vueuse/core": "^13.1.0",
"comment-mark": "^1.1.1",
"core-js": "^3.37.1",
"echarts": "^5.5.1",
@@ -68,7 +59,7 @@
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-vue": "^9.27.0",
"highlight.js": "^11.10.0",
- "pinia": "^2.1.7",
+ "pinia": "^3.0.2",
"postcss": "^8.4.39",
"postcss-loader": "^8.1.1",
"postcss-nested": "^6.2.0",
@@ -83,8 +74,7 @@
"rollup-plugin-import-css": "^3.5.1",
"tslib": "^2.6.3",
"typescript": "5.5.4",
- "vue": "^3.4.33",
- "vue2": "npm:vue@^2.7.16",
+ "vue": "^3.5.13",
"webpack": "^5.93.0"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e3df642..1c0ab09 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,20 +7,13 @@ settings:
importers:
.:
- dependencies:
- '@vue/runtime-core':
- specifier: ^3.0.0
- version: 3.4.24
- vue-demi:
- specifier: ^0.13.11
- version: 0.13.11(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))
devDependencies:
'@babel/core':
specifier: ^7.24.9
version: 7.24.9
'@highlightjs/vue-plugin':
specifier: ^2.1.0
- version: 2.1.0(highlight.js@11.10.0)(vue@3.4.33(typescript@5.5.4))
+ version: 2.1.0(highlight.js@11.10.0)(vue@3.5.13(typescript@5.5.4))
'@rollup/plugin-node-resolve':
specifier: ^15.2.3
version: 15.2.3(rollup@4.19.0)
@@ -38,16 +31,16 @@ importers:
version: 1.3.1
'@vue/cli-plugin-babel':
specifier: ^5.0.8
- version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))(core-js@3.37.1)(esbuild@0.23.0)(vue@3.4.33(typescript@5.5.4))
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))(core-js@3.37.1)(esbuild@0.23.0)(vue@3.5.13(typescript@5.5.4))
'@vue/cli-plugin-eslint':
specifier: ^5.0.8
- version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)
'@vue/cli-plugin-typescript':
specifier: ^5.0.8
- version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)(typescript@5.5.4)(vue@3.4.33(typescript@5.5.4))
+ version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
'@vue/cli-service':
specifier: ^5.0.8
- version: 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)
+ version: 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)
'@vue/compiler-sfc':
specifier: ^3.4.33
version: 3.4.33
@@ -58,8 +51,8 @@ importers:
specifier: ^13.0.0
version: 13.0.0(eslint-plugin-vue@9.27.0(eslint@8.57.0))(eslint@8.57.0)(typescript@5.5.4)
'@vueuse/core':
- specifier: ^10.11.0
- version: 10.11.0(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))
+ specifier: ^13.1.0
+ version: 13.1.0(vue@3.5.13(typescript@5.5.4))
comment-mark:
specifier: ^1.1.1
version: 1.1.1
@@ -91,8 +84,8 @@ importers:
specifier: ^11.10.0
version: 11.10.0
pinia:
- specifier: ^2.1.7
- version: 2.1.7(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.33(typescript@5.5.4))
+ specifier: ^3.0.2
+ version: 3.0.2(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
postcss:
specifier: ^8.4.39
version: 8.4.39
@@ -136,11 +129,8 @@ importers:
specifier: 5.5.4
version: 5.5.4
vue:
- specifier: ^3.4.33
- version: 3.4.33(typescript@5.5.4)
- vue2:
- specifier: npm:vue@^2.7.16
- version: vue@2.7.16
+ specifier: ^3.5.13
+ version: 3.5.13(typescript@5.5.4)
webpack:
specifier: ^5.93.0
version: 5.93.0(esbuild@0.23.0)
@@ -320,6 +310,10 @@ packages:
resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.22.20':
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
@@ -328,6 +322,10 @@ packages:
resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-option@7.23.5':
resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
@@ -362,6 +360,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.27.2':
+ resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4':
resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==}
engines: {node: '>=6.9.0'}
@@ -849,6 +852,10 @@ packages:
resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.27.1':
+ resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==}
+ engines: {node: '>=6.9.0'}
+
'@discoveryjs/json-ext@0.5.7':
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
engines: {node: '>=10.0.0'}
@@ -1066,6 +1073,9 @@ packages:
'@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
@@ -1150,46 +1160,55 @@ packages:
resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.19.0':
resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==}
cpu: [arm]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.19.0':
resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.19.0':
resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-powerpc64le-gnu@4.19.0':
resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-riscv64-gnu@4.19.0':
resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-s390x-gnu@4.19.0':
resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.19.0':
resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.19.0':
resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-win32-arm64-msvc@4.19.0':
resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==}
@@ -1309,8 +1328,8 @@ packages:
'@types/sockjs@0.3.36':
resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
- '@types/web-bluetooth@0.0.20':
- resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ '@types/web-bluetooth@0.0.21':
+ resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
'@types/webpack-env@1.18.4':
resolution: {integrity: sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A==}
@@ -1540,28 +1559,38 @@ packages:
'@vue/compiler-core@3.4.33':
resolution: {integrity: sha512-MoIREbkdPQlnGfSKDMgzTqzqx5nmEjIc0ydLVYlTACGBsfvOJ4tHSbZXKVF536n6fB+0eZaGEOqsGThPpdvF5A==}
+ '@vue/compiler-core@3.5.13':
+ resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
+
'@vue/compiler-dom@3.4.33':
resolution: {integrity: sha512-GzB8fxEHKw0gGet5BKlpfXEqoBnzSVWwMnT+dc25wE7pFEfrU/QsvjZMP9rD4iVXHBBoemTct8mN0GJEI6ZX5A==}
- '@vue/compiler-sfc@2.7.16':
- resolution: {integrity: sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==}
+ '@vue/compiler-dom@3.5.13':
+ resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
'@vue/compiler-sfc@3.4.33':
resolution: {integrity: sha512-7rk7Vbkn21xMwIUpHQR4hCVejwE6nvhBOiDgoBcR03qvGqRKA7dCBSsHZhwhYUsmjlbJ7OtD5UFIyhP6BY+c8A==}
+ '@vue/compiler-sfc@3.5.13':
+ resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
+
'@vue/compiler-ssr@3.4.33':
resolution: {integrity: sha512-0WveC9Ai+eT/1b6LCV5IfsufBZ0HP7pSSTdDjcuW302tTEgoBw8rHVHKPbGUtzGReUFCRXbv6zQDDgucnV2WzQ==}
+ '@vue/compiler-ssr@3.5.13':
+ resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
+
'@vue/component-compiler-utils@3.3.0':
resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==}
- '@vue/composition-api@1.7.2':
- resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==}
- peerDependencies:
- vue: '>= 2.5 < 2.7'
+ '@vue/devtools-api@7.7.6':
+ resolution: {integrity: sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==}
- '@vue/devtools-api@6.6.1':
- resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
+ '@vue/devtools-kit@7.7.6':
+ resolution: {integrity: sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==}
+
+ '@vue/devtools-shared@7.7.6':
+ resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==}
'@vue/eslint-config-prettier@9.0.0':
resolution: {integrity: sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==}
@@ -1580,43 +1609,41 @@ packages:
typescript:
optional: true
- '@vue/reactivity@3.4.24':
- resolution: {integrity: sha512-nup3fSYg4i4LtNvu9slF/HF/0dkMQYfepUdORBcMSsankzRPzE7ypAFurpwyRBfU1i7Dn1kcwpYsE1wETSh91g==}
-
- '@vue/reactivity@3.4.33':
- resolution: {integrity: sha512-B24QIelahDbyHipBgbUItQblbd4w5HpG3KccL+YkGyo3maXyS253FzcTR3pSz739OTphmzlxP7JxEMWBpewilA==}
+ '@vue/reactivity@3.5.13':
+ resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
- '@vue/runtime-core@3.4.24':
- resolution: {integrity: sha512-c7iMfj6cJMeAG3s5yOn9Rc5D9e2/wIuaozmGf/ICGCY3KV5H7mbTVdvEkd4ZshTq7RUZqj2k7LMJWVx+EBiY1g==}
+ '@vue/runtime-core@3.5.13':
+ resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
- '@vue/runtime-core@3.4.33':
- resolution: {integrity: sha512-6wavthExzT4iAxpe8q37/rDmf44nyOJGISJPxCi9YsQO+8w9v0gLCFLfH5TzD1V1AYrTAdiF4Y1cgUmP68jP6w==}
+ '@vue/runtime-dom@3.5.13':
+ resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
- '@vue/runtime-dom@3.4.33':
- resolution: {integrity: sha512-iHsMCUSFJ+4z432Bn9kZzHX+zOXa6+iw36DaVRmKYZpPt9jW9riF32SxNwB124i61kp9+AZtheQ/mKoJLerAaQ==}
-
- '@vue/server-renderer@3.4.33':
- resolution: {integrity: sha512-jTH0d6gQcaYideFP/k0WdEu8PpRS9MF8d0b6SfZzNi+ap972pZ0TNIeTaESwdOtdY0XPVj54XEJ6K0wXxir4fw==}
+ '@vue/server-renderer@3.5.13':
+ resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
peerDependencies:
- vue: 3.4.33
-
- '@vue/shared@3.4.24':
- resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==}
+ vue: 3.5.13
'@vue/shared@3.4.33':
resolution: {integrity: sha512-aoRY0jQk3A/cuvdkodTrM4NMfxco8n55eG4H7ML/CRy7OryHfiqvug4xrCBBMbbN+dvXAetDDwZW9DXWWjBntA==}
+ '@vue/shared@3.5.13':
+ resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
+
'@vue/web-component-wrapper@1.3.0':
resolution: {integrity: sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==}
- '@vueuse/core@10.11.0':
- resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==}
+ '@vueuse/core@13.1.0':
+ resolution: {integrity: sha512-PAauvdRXZvTWXtGLg8cPUFjiZEddTqmogdwYpnn60t08AA5a8Q4hZokBnpTOnVNqySlFlTcRYIC8OqreV4hv3Q==}
+ peerDependencies:
+ vue: ^3.5.0
- '@vueuse/metadata@10.11.0':
- resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==}
+ '@vueuse/metadata@13.1.0':
+ resolution: {integrity: sha512-+TDd7/a78jale5YbHX9KHW3cEDav1lz1JptwDvep2zSG8XjCsVE+9mHIzjTOaPbHUAk5XiE4jXLz51/tS+aKQw==}
- '@vueuse/shared@10.11.0':
- resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
+ '@vueuse/shared@13.1.0':
+ resolution: {integrity: sha512-IVS/qRRjhPTZ6C2/AM3jieqXACGwFZwWTdw5sNTSKk2m/ZpkuuN+ri+WCVUP8TqaKwJYt/KuMwmXspMAw8E6ew==}
+ peerDependencies:
+ vue: ^3.5.0
'@webassemblyjs/ast@1.12.1':
resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
@@ -1828,6 +1855,9 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
+ birpc@2.3.0:
+ resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==}
+
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -2211,6 +2241,10 @@ packages:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'}
+ copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+
copy-webpack-plugin@9.1.0:
resolution: {integrity: sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==}
engines: {node: '>= 12.13.0'}
@@ -2898,6 +2932,9 @@ packages:
resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==}
engines: {node: '>=12.0.0'}
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
@@ -3092,6 +3129,10 @@ packages:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
@@ -3278,6 +3319,9 @@ packages:
magic-string@0.30.10:
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+ magic-string@0.30.17:
+ resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+
make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
@@ -3370,6 +3414,9 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
@@ -3401,6 +3448,11 @@ packages:
mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -3622,6 +3674,9 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
picocolors@0.2.1:
resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
@@ -3631,19 +3686,19 @@ packages:
picocolors@1.0.1:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- pinia@2.1.7:
- resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==}
+ pinia@3.0.2:
+ resolution: {integrity: sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==}
peerDependencies:
- '@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
- vue: ^2.6.14 || ^3.3.0
+ vue: ^2.7.0 || ^3.5.11
peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
typescript:
optional: true
@@ -3885,6 +3940,10 @@ packages:
resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.3:
+ resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
+ engines: {node: ^10 || ^12 || >=14}
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -4046,6 +4105,9 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -4210,6 +4272,10 @@ packages:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
@@ -4240,6 +4306,10 @@ packages:
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
engines: {node: '>=6.0.0'}
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+
ssri@8.0.1:
resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
engines: {node: '>= 8'}
@@ -4311,6 +4381,10 @@ packages:
peerDependencies:
postcss: ^8.2.15
+ superjson@2.2.2:
+ resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
+ engines: {node: '>=16'}
+
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -4513,39 +4587,6 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
- vue-demi@0.13.11:
- resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
-
- vue-demi@0.14.7:
- resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
-
- vue-demi@0.14.9:
- resolution: {integrity: sha512-dC1TJMODGM8lxhP6wLToncaDPPNB3biVxxRDuNCYpuXwi70ou7NsGd97KVTJ2omepGId429JZt8oaZKeXbqxwg==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
-
vue-eslint-parser@9.4.3:
resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
engines: {node: ^14.17.0 || >=16.0.0}
@@ -4592,12 +4633,8 @@ packages:
vue-template-es2015-compiler@1.9.1:
resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==}
- vue@2.7.16:
- resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==}
- deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.
-
- vue@3.4.33:
- resolution: {integrity: sha512-VdMCWQOummbhctl4QFMcW6eNtXHsFyDlX60O/tsSQuCcuDOnJ1qPOhhVla65Niece7xq/P2zyZReIO5mP+LGTQ==}
+ vue@3.5.13:
+ resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -5003,10 +5040,14 @@ snapshots:
'@babel/helper-string-parser@7.24.8': {}
+ '@babel/helper-string-parser@7.27.1': {}
+
'@babel/helper-validator-identifier@7.22.20': {}
'@babel/helper-validator-identifier@7.24.7': {}
+ '@babel/helper-validator-identifier@7.27.1': {}
+
'@babel/helper-validator-option@7.23.5': {}
'@babel/helper-validator-option@7.24.8': {}
@@ -5044,6 +5085,10 @@ snapshots:
dependencies:
'@babel/types': 7.24.9
+ '@babel/parser@7.27.2':
+ dependencies:
+ '@babel/types': 7.27.1
+
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.9)':
dependencies:
'@babel/core': 7.24.9
@@ -5643,6 +5688,11 @@ snapshots:
'@babel/helper-validator-identifier': 7.24.7
to-fast-properties: 2.0.0
+ '@babel/types@7.27.1':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
'@discoveryjs/json-ext@0.5.7': {}
'@esbuild/aix-ppc64@0.23.0':
@@ -5748,10 +5798,10 @@ snapshots:
dependencies:
'@hapi/hoek': 9.3.0
- '@highlightjs/vue-plugin@2.1.0(highlight.js@11.10.0)(vue@3.4.33(typescript@5.5.4))':
+ '@highlightjs/vue-plugin@2.1.0(highlight.js@11.10.0)(vue@3.5.13(typescript@5.5.4))':
dependencies:
highlight.js: 11.10.0
- vue: 3.4.33(typescript@5.5.4)
+ vue: 3.5.13(typescript@5.5.4)
'@humanwhocodes/config-array@0.11.14':
dependencies:
@@ -5791,6 +5841,8 @@ snapshots:
'@jridgewell/sourcemap-codec@1.4.15': {}
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
@@ -6012,7 +6064,7 @@ snapshots:
dependencies:
'@types/node': 20.12.7
- '@types/web-bluetooth@0.0.20': {}
+ '@types/web-bluetooth@0.0.21': {}
'@types/webpack-env@1.18.4': {}
@@ -6148,7 +6200,7 @@ snapshots:
lodash.kebabcase: 4.1.1
svg-tags: 1.0.0
- '@vue/babel-preset-app@5.0.8(@babel/core@7.24.9)(core-js@3.37.1)(vue@3.4.33(typescript@5.5.4))':
+ '@vue/babel-preset-app@5.0.8(@babel/core@7.24.9)(core-js@3.37.1)(vue@3.5.13(typescript@5.5.4))':
dependencies:
'@babel/core': 7.24.9
'@babel/helper-compilation-targets': 7.23.6
@@ -6161,17 +6213,17 @@ snapshots:
'@babel/preset-env': 7.24.4(@babel/core@7.24.9)
'@babel/runtime': 7.24.4
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.9)
- '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.24.9)(vue@3.4.33(typescript@5.5.4))
+ '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.24.9)(vue@3.5.13(typescript@5.5.4))
babel-plugin-dynamic-import-node: 2.3.3
core-js-compat: 3.37.0
semver: 7.6.0
optionalDependencies:
core-js: 3.37.1
- vue: 3.4.33(typescript@5.5.4)
+ vue: 3.5.13(typescript@5.5.4)
transitivePeerDependencies:
- supports-color
- '@vue/babel-preset-jsx@1.4.0(@babel/core@7.24.9)(vue@3.4.33(typescript@5.5.4))':
+ '@vue/babel-preset-jsx@1.4.0(@babel/core@7.24.9)(vue@3.5.13(typescript@5.5.4))':
dependencies:
'@babel/core': 7.24.9
'@vue/babel-helper-vue-jsx-merge-props': 1.4.0
@@ -6183,7 +6235,7 @@ snapshots:
'@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.24.9)
'@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.24.9)
optionalDependencies:
- vue: 3.4.33(typescript@5.5.4)
+ vue: 3.5.13(typescript@5.5.4)
'@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.24.9)':
dependencies:
@@ -6224,11 +6276,11 @@ snapshots:
'@vue/cli-overlay@5.0.8': {}
- '@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))(core-js@3.37.1)(esbuild@0.23.0)(vue@3.4.33(typescript@5.5.4))':
+ '@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))(core-js@3.37.1)(esbuild@0.23.0)(vue@3.5.13(typescript@5.5.4))':
dependencies:
'@babel/core': 7.24.9
- '@vue/babel-preset-app': 5.0.8(@babel/core@7.24.9)(core-js@3.37.1)(vue@3.4.33(typescript@5.5.4))
- '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)
+ '@vue/babel-preset-app': 5.0.8(@babel/core@7.24.9)(core-js@3.37.1)(vue@3.5.13(typescript@5.5.4))
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)
'@vue/cli-shared-utils': 5.0.8
babel-loader: 8.3.0(@babel/core@7.24.9)(webpack@5.93.0(esbuild@0.23.0))
thread-loader: 3.0.4(webpack@5.93.0(esbuild@0.23.0))
@@ -6243,9 +6295,9 @@ snapshots:
- vue
- webpack-cli
- '@vue/cli-plugin-eslint@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)':
+ '@vue/cli-plugin-eslint@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)':
dependencies:
- '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)
'@vue/cli-shared-utils': 5.0.8
eslint: 8.57.0
eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.93.0(esbuild@0.23.0))
@@ -6259,18 +6311,18 @@ snapshots:
- uglify-js
- webpack-cli
- '@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))':
+ '@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))':
dependencies:
- '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)
'@vue/cli-shared-utils': 5.0.8
transitivePeerDependencies:
- encoding
- '@vue/cli-plugin-typescript@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)(typescript@5.5.4)(vue@3.4.33(typescript@5.5.4))':
+ '@vue/cli-plugin-typescript@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@8.57.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
dependencies:
'@babel/core': 7.24.9
'@types/webpack-env': 1.18.4
- '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)
'@vue/cli-shared-utils': 5.0.8
babel-loader: 8.3.0(@babel/core@7.24.9)(webpack@5.93.0(esbuild@0.23.0))
fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.5.4)(webpack@5.93.0(esbuild@0.23.0))
@@ -6278,7 +6330,7 @@ snapshots:
thread-loader: 3.0.4(webpack@5.93.0(esbuild@0.23.0))
ts-loader: 9.5.1(typescript@5.5.4)(webpack@5.93.0(esbuild@0.23.0))
typescript: 5.5.4
- vue: 3.4.33(typescript@5.5.4)
+ vue: 3.5.13(typescript@5.5.4)
webpack: 5.93.0(esbuild@0.23.0)
transitivePeerDependencies:
- '@swc/core'
@@ -6289,19 +6341,19 @@ snapshots:
- uglify-js
- webpack-cli
- '@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))':
+ '@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))':
dependencies:
- '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)
- '@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3)':
+ '@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3)':
dependencies:
'@babel/helper-compilation-targets': 7.23.6
'@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.93.0(esbuild@0.23.0))
'@soda/get-current-script': 1.0.2
'@types/minimist': 1.2.5
'@vue/cli-overlay': 5.0.8
- '@vue/cli-plugin-router': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))
- '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.4.33(typescript@5.5.4))(webpack-sources@3.2.3))
+ '@vue/cli-plugin-router': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))
+ '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.33)(esbuild@0.23.0)(lodash@4.17.21)(prettier@3.3.3)(raw-loader@4.0.2(webpack@5.93.0(esbuild@0.23.0)))(vue@3.5.13(typescript@5.5.4))(webpack-sources@3.2.3))
'@vue/cli-shared-utils': 5.0.8
'@vue/component-compiler-utils': 3.3.0(lodash@4.17.21)
'@vue/vue-loader-v15': vue-loader@15.11.1(@vue/compiler-sfc@3.4.33)(css-loader@6.11.0(webpack@5.93.0(esbuild@0.23.0)))(lodash@4.17.21)(prettier@3.3.3)(webpack@5.93.0(esbuild@0.23.0))
@@ -6341,7 +6393,7 @@ snapshots:
ssri: 8.0.1
terser-webpack-plugin: 5.3.10(esbuild@0.23.0)(webpack@5.93.0(esbuild@0.23.0))
thread-loader: 3.0.4(webpack@5.93.0(esbuild@0.23.0))
- vue-loader: 17.4.2(@vue/compiler-sfc@3.4.33)(vue@3.4.33(typescript@5.5.4))(webpack@5.93.0(esbuild@0.23.0))
+ vue-loader: 17.4.2(@vue/compiler-sfc@3.4.33)(vue@3.5.13(typescript@5.5.4))(webpack@5.93.0(esbuild@0.23.0))
vue-style-loader: 4.1.3
webpack: 5.93.0(esbuild@0.23.0)
webpack-bundle-analyzer: 4.10.2
@@ -6448,18 +6500,23 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.0
+ '@vue/compiler-core@3.5.13':
+ dependencies:
+ '@babel/parser': 7.27.2
+ '@vue/shared': 3.5.13
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.0
+
'@vue/compiler-dom@3.4.33':
dependencies:
'@vue/compiler-core': 3.4.33
'@vue/shared': 3.4.33
- '@vue/compiler-sfc@2.7.16':
+ '@vue/compiler-dom@3.5.13':
dependencies:
- '@babel/parser': 7.24.4
- postcss: 8.4.39
- source-map: 0.6.1
- optionalDependencies:
- prettier: 2.8.8
+ '@vue/compiler-core': 3.5.13
+ '@vue/shared': 3.5.13
'@vue/compiler-sfc@3.4.33':
dependencies:
@@ -6473,11 +6530,28 @@ snapshots:
postcss: 8.4.39
source-map-js: 1.2.0
+ '@vue/compiler-sfc@3.5.13':
+ dependencies:
+ '@babel/parser': 7.27.2
+ '@vue/compiler-core': 3.5.13
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-ssr': 3.5.13
+ '@vue/shared': 3.5.13
+ estree-walker: 2.0.2
+ magic-string: 0.30.17
+ postcss: 8.5.3
+ source-map-js: 1.2.0
+
'@vue/compiler-ssr@3.4.33':
dependencies:
'@vue/compiler-dom': 3.4.33
'@vue/shared': 3.4.33
+ '@vue/compiler-ssr@3.5.13':
+ dependencies:
+ '@vue/compiler-dom': 3.5.13
+ '@vue/shared': 3.5.13
+
'@vue/component-compiler-utils@3.3.0(lodash@4.17.21)':
dependencies:
consolidate: 0.15.1(lodash@4.17.21)
@@ -6545,12 +6619,23 @@ snapshots:
- walrus
- whiskers
- '@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4))':
+ '@vue/devtools-api@7.7.6':
dependencies:
- vue: 3.4.33(typescript@5.5.4)
- optional: true
+ '@vue/devtools-kit': 7.7.6
- '@vue/devtools-api@6.6.1': {}
+ '@vue/devtools-kit@7.7.6':
+ dependencies:
+ '@vue/devtools-shared': 7.7.6
+ birpc: 2.3.0
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.2
+
+ '@vue/devtools-shared@7.7.6':
+ dependencies:
+ rfdc: 1.4.1
'@vue/eslint-config-prettier@9.0.0(@types/eslint@8.56.10)(eslint@8.57.0)(prettier@3.3.3)':
dependencies:
@@ -6573,61 +6658,46 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vue/reactivity@3.4.24':
+ '@vue/reactivity@3.5.13':
dependencies:
- '@vue/shared': 3.4.24
+ '@vue/shared': 3.5.13
- '@vue/reactivity@3.4.33':
+ '@vue/runtime-core@3.5.13':
dependencies:
- '@vue/shared': 3.4.33
-
- '@vue/runtime-core@3.4.24':
- dependencies:
- '@vue/reactivity': 3.4.24
- '@vue/shared': 3.4.24
-
- '@vue/runtime-core@3.4.33':
- dependencies:
- '@vue/reactivity': 3.4.33
- '@vue/shared': 3.4.33
+ '@vue/reactivity': 3.5.13
+ '@vue/shared': 3.5.13
- '@vue/runtime-dom@3.4.33':
+ '@vue/runtime-dom@3.5.13':
dependencies:
- '@vue/reactivity': 3.4.33
- '@vue/runtime-core': 3.4.33
- '@vue/shared': 3.4.33
+ '@vue/reactivity': 3.5.13
+ '@vue/runtime-core': 3.5.13
+ '@vue/shared': 3.5.13
csstype: 3.1.3
- '@vue/server-renderer@3.4.33(vue@3.4.33(typescript@5.5.4))':
+ '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.5.4))':
dependencies:
- '@vue/compiler-ssr': 3.4.33
- '@vue/shared': 3.4.33
- vue: 3.4.33(typescript@5.5.4)
-
- '@vue/shared@3.4.24': {}
+ '@vue/compiler-ssr': 3.5.13
+ '@vue/shared': 3.5.13
+ vue: 3.5.13(typescript@5.5.4)
'@vue/shared@3.4.33': {}
+ '@vue/shared@3.5.13': {}
+
'@vue/web-component-wrapper@1.3.0': {}
- '@vueuse/core@10.11.0(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))':
+ '@vueuse/core@13.1.0(vue@3.5.13(typescript@5.5.4))':
dependencies:
- '@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.11.0
- '@vueuse/shared': 10.11.0(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))
- vue-demi: 0.14.9(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 13.1.0
+ '@vueuse/shared': 13.1.0(vue@3.5.13(typescript@5.5.4))
+ vue: 3.5.13(typescript@5.5.4)
- '@vueuse/metadata@10.11.0': {}
+ '@vueuse/metadata@13.1.0': {}
- '@vueuse/shared@10.11.0(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))':
+ '@vueuse/shared@13.1.0(vue@3.5.13(typescript@5.5.4))':
dependencies:
- vue-demi: 0.14.9(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
+ vue: 3.5.13(typescript@5.5.4)
'@webassemblyjs/ast@1.12.1':
dependencies:
@@ -6853,6 +6923,8 @@ snapshots:
binary-extensions@2.3.0: {}
+ birpc@2.3.0: {}
+
bl@4.1.0:
dependencies:
buffer: 5.7.1
@@ -7098,6 +7170,10 @@ snapshots:
cookie@0.6.0: {}
+ copy-anything@3.0.5:
+ dependencies:
+ is-what: 4.1.16
+
copy-webpack-plugin@9.1.0(webpack@5.93.0(esbuild@0.23.0)):
dependencies:
fast-glob: 3.3.2
@@ -7889,6 +7965,8 @@ snapshots:
highlight.js@11.10.0: {}
+ hookable@5.5.3: {}
+
hosted-git-info@2.8.9: {}
hpack.js@2.1.6:
@@ -8064,6 +8142,8 @@ snapshots:
is-unicode-supported@0.1.0: {}
+ is-what@4.1.16: {}
+
is-wsl@2.2.0:
dependencies:
is-docker: 2.2.1
@@ -8238,6 +8318,10 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
+ magic-string@0.30.17:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
make-dir@3.1.0:
dependencies:
semver: 6.3.1
@@ -8311,6 +8395,8 @@ snapshots:
minipass@7.1.2: {}
+ mitt@3.0.1: {}
+
mkdirp@0.5.6:
dependencies:
minimist: 1.2.8
@@ -8338,6 +8424,8 @@ snapshots:
object-assign: 4.1.1
thenify-all: 1.6.0
+ nanoid@3.3.11: {}
+
nanoid@3.3.7: {}
natural-compare@1.4.0: {}
@@ -8540,21 +8628,23 @@ snapshots:
path-type@4.0.0: {}
+ perfect-debounce@1.0.0: {}
+
picocolors@0.2.1: {}
picocolors@1.0.0: {}
picocolors@1.0.1: {}
+ picocolors@1.1.1: {}
+
picomatch@2.3.1: {}
- pinia@2.1.7(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.33(typescript@5.5.4)):
+ pinia@3.0.2(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)):
dependencies:
- '@vue/devtools-api': 6.6.1
- vue: 3.4.33(typescript@5.5.4)
- vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4))
+ '@vue/devtools-api': 7.7.6
+ vue: 3.5.13(typescript@5.5.4)
optionalDependencies:
- '@vue/composition-api': 1.7.2(vue@3.4.33(typescript@5.5.4))
typescript: 5.5.4
pkg-dir@4.2.0:
@@ -8785,6 +8875,12 @@ snapshots:
picocolors: 1.0.1
source-map-js: 1.2.0
+ postcss@8.5.3:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.0:
@@ -8955,6 +9051,8 @@ snapshots:
reusify@1.0.4: {}
+ rfdc@1.4.1: {}
+
rimraf@3.0.2:
dependencies:
glob: 7.2.3
@@ -9167,6 +9265,8 @@ snapshots:
source-map-js@1.2.0: {}
+ source-map-js@1.2.1: {}
+
source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
@@ -9211,6 +9311,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ speakingurl@14.0.1: {}
+
ssri@8.0.1:
dependencies:
minipass: 3.3.6
@@ -9274,6 +9376,10 @@ snapshots:
postcss: 8.4.39
postcss-selector-parser: 6.0.16
+ superjson@2.2.2:
+ dependencies:
+ copy-anything: 3.0.5
+
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
@@ -9443,24 +9549,6 @@ snapshots:
vary@1.1.2: {}
- vue-demi@0.13.11(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4)):
- dependencies:
- vue: 3.4.33(typescript@5.5.4)
- optionalDependencies:
- '@vue/composition-api': 1.7.2(vue@3.4.33(typescript@5.5.4))
-
- vue-demi@0.14.7(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4)):
- dependencies:
- vue: 3.4.33(typescript@5.5.4)
- optionalDependencies:
- '@vue/composition-api': 1.7.2(vue@3.4.33(typescript@5.5.4))
-
- vue-demi@0.14.9(@vue/composition-api@1.7.2(vue@3.4.33(typescript@5.5.4)))(vue@3.4.33(typescript@5.5.4)):
- dependencies:
- vue: 3.4.33(typescript@5.5.4)
- optionalDependencies:
- '@vue/composition-api': 1.7.2(vue@3.4.33(typescript@5.5.4))
-
vue-eslint-parser@9.4.3(eslint@8.57.0):
dependencies:
debug: 4.3.4
@@ -9543,7 +9631,7 @@ snapshots:
- walrus
- whiskers
- vue-loader@17.4.2(@vue/compiler-sfc@3.4.33)(vue@3.4.33(typescript@5.5.4))(webpack@5.93.0(esbuild@0.23.0)):
+ vue-loader@17.4.2(@vue/compiler-sfc@3.4.33)(vue@3.5.13(typescript@5.5.4))(webpack@5.93.0(esbuild@0.23.0)):
dependencies:
chalk: 4.1.2
hash-sum: 2.0.0
@@ -9551,7 +9639,7 @@ snapshots:
webpack: 5.93.0(esbuild@0.23.0)
optionalDependencies:
'@vue/compiler-sfc': 3.4.33
- vue: 3.4.33(typescript@5.5.4)
+ vue: 3.5.13(typescript@5.5.4)
vue-style-loader@4.1.3:
dependencies:
@@ -9560,18 +9648,13 @@ snapshots:
vue-template-es2015-compiler@1.9.1: {}
- vue@2.7.16:
- dependencies:
- '@vue/compiler-sfc': 2.7.16
- csstype: 3.1.3
-
- vue@3.4.33(typescript@5.5.4):
+ vue@3.5.13(typescript@5.5.4):
dependencies:
- '@vue/compiler-dom': 3.4.33
- '@vue/compiler-sfc': 3.4.33
- '@vue/runtime-dom': 3.4.33
- '@vue/server-renderer': 3.4.33(vue@3.4.33(typescript@5.5.4))
- '@vue/shared': 3.4.33
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-sfc': 3.5.13
+ '@vue/runtime-dom': 3.5.13
+ '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.5.4))
+ '@vue/shared': 3.5.13
optionalDependencies:
typescript: 5.5.4
diff --git a/rollup.config.js b/rollup.config.js
index d5367d4..2f4e644 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -2,7 +2,6 @@ import replace from "@rollup/plugin-replace";
import esbuild from "rollup-plugin-esbuild";
import { dts } from "rollup-plugin-dts";
import css from "rollup-plugin-import-css";
-import { injectVueDemi } from "./scripts/rollup.mjs";
/**
* Modifies the Rollup options for a build to support strict CSP
@@ -39,7 +38,7 @@ const builds = [
{
input: "src/index.ts",
plugins: [esbuild()],
- external: ["vue-demi", /^echarts/],
+ external: ["vue", /^echarts/],
output: [
{
file: "dist/index.js",
@@ -51,7 +50,7 @@ const builds = [
{
input: "src/global.ts",
plugins: [esbuild({ minify: true })],
- external: ["vue-demi", /^echarts/],
+ external: ["vue", /^echarts/],
output: [
{
file: "dist/index.min.js", // for unpkg/jsdelivr
@@ -60,11 +59,10 @@ const builds = [
exports: "default",
sourcemap: true,
globals: {
- "vue-demi": "VueDemi",
+ vue: "vue",
echarts: "echarts",
"echarts/core": "echarts"
- },
- plugins: [injectVueDemi]
+ }
}
]
}
diff --git a/scripts/docs.mjs b/scripts/docs.mjs
index d5f5d1a..84240c2 100644
--- a/scripts/docs.mjs
+++ b/scripts/docs.mjs
@@ -7,19 +7,13 @@ const { name, version } = getPackageMeta();
const CDN_PREFIX = "https://cdn.jsdelivr.net/npm/";
const DEP_VERSIONS = {
- "vue@3": "3.4.33",
- "vue@2": "2.7.16",
+ vue: "3.5.13",
echarts: "5.5.1",
[name]: version
};
-const markConfig = {
- vue3Scripts: ["vue@3", "echarts", name],
- vue2Scripts: ["vue@2", "echarts", name]
-};
-
-function getScripts(version) {
- const deps = markConfig[`vue${version}Scripts`];
+function getScripts() {
+ const deps = ["vue", "echarts", name];
return deps
.map(dep => {
const [, name] = dep.match(/^(.+?)(?:@.+)?$/) || [];
@@ -32,11 +26,6 @@ function getCodeBlock(code) {
return "```html\n" + code + "\n```";
}
-const scripts = {
- 2: getScripts(2),
- 3: getScripts(3)
-};
-
const README_FILES = ["README.md", "README.zh-Hans.md"].map(name =>
resolvePath(import.meta.url, "..", name)
);
@@ -47,8 +36,7 @@ README_FILES.forEach(file => {
writeFileSync(
file,
commentMark(content, {
- vue2Scripts: getCodeBlock(scripts[2]),
- vue3Scripts: getCodeBlock(scripts[3])
+ vue3Scripts: getCodeBlock(getScripts())
}),
"utf8"
);
diff --git a/scripts/rollup.mjs b/scripts/rollup.mjs
deleted file mode 100644
index 7cffcab..0000000
--- a/scripts/rollup.mjs
+++ /dev/null
@@ -1,17 +0,0 @@
-import { readFileSync } from "node:fs";
-import { createRequire } from "node:module";
-
-const require = createRequire(import.meta.url);
-
-const VUE_DEMI_IIFE = readFileSync(
- require.resolve("vue-demi/lib/index.iife.js"),
- "utf8"
-);
-
-/** @type {import('rollup').Plugin} */
-export const injectVueDemi = {
- name: "inject-vue-demi",
- banner() {
- return `${VUE_DEMI_IIFE};\n;`;
- }
-};
diff --git a/src/ECharts.ts b/src/ECharts.ts
index 5177b74..86c79fc 100644
--- a/src/ECharts.ts
+++ b/src/ECharts.ts
@@ -11,10 +11,8 @@ import {
onBeforeUnmount,
h,
nextTick,
- watchEffect,
- getCurrentInstance,
- Vue2
-} from "vue-demi";
+ watchEffect
+} from "vue";
import { init as initChart } from "echarts/core";
import {
@@ -24,13 +22,12 @@ import {
useLoading,
loadingProps
} from "./composables";
-import { isOn, omitOn, unwrapInjected } from "./utils";
+import { isOn, omitOn, toValue } from "./utils";
import { register, TAG_NAME } from "./wc";
-import type { PropType, InjectionKey } from "vue-demi";
+import type { PropType, InjectionKey } from "vue";
import type {
EChartsType,
- EventTarget,
Option,
Theme,
ThemeInjection,
@@ -47,10 +44,6 @@ import "./style.css";
const __CSP__ = false;
const wcRegistered = __CSP__ ? false : register();
-if (Vue2) {
- Vue2.config.ignoredElements.push(TAG_NAME);
-}
-
export const THEME_KEY = "ecTheme" as unknown as InjectionKey;
export const INIT_OPTIONS_KEY =
"ecInitOptions" as unknown as InjectionKey;
@@ -58,8 +51,6 @@ export const UPDATE_OPTIONS_KEY =
"ecUpdateOptions" as unknown as InjectionKey;
export { LOADING_OPTIONS_KEY } from "./composables";
-const NATIVE_EVENT_RE = /(^&?~?!?)native:/;
-
export default defineComponent({
name: "echarts",
props: {
@@ -90,71 +81,54 @@ export default defineComponent({
() => manualOption.value || props.option || null
);
const realTheme = computed(
- () => props.theme || unwrapInjected(defaultTheme, {})
+ () => props.theme || toValue(defaultTheme) || {}
);
const realInitOptions = computed(
- () => props.initOptions || unwrapInjected(defaultInitOptions, {})
+ () => props.initOptions || toValue(defaultInitOptions) || {}
);
const realUpdateOptions = computed(
- () => props.updateOptions || unwrapInjected(defaultUpdateOptions, {})
+ () => props.updateOptions || toValue(defaultUpdateOptions) || {}
);
const nonEventAttrs = computed(() => omitOn(attrs));
const nativeListeners: Record = {};
- // @ts-expect-error listeners for Vue 2 compatibility
- const listeners = getCurrentInstance().proxy.$listeners;
- const realListeners: Record = {};
-
- if (!listeners) {
- // This is for Vue 3.
- // We are converting all `on` props to event listeners compatible with Vue 2
- // and collect them into `realListeners` so that we can bind them to the chart instance
- // later in the same way.
- // For `onNative:` props, we just strip the `Native:` part and collect them into
- // `nativeListeners` so that we can bind them to the root element directly.
- Object.keys(attrs)
- .filter(key => isOn(key))
- .forEach(key => {
- // onClick -> c + lick
- // onZr:click -> z + r:click
- let event = key.charAt(2).toLowerCase() + key.slice(3);
-
- // Collect native DOM events
- if (event.indexOf("native:") === 0) {
- // native:click -> onClick
- const nativeKey = `on${event.charAt(7).toUpperCase()}${event.slice(
- 8
- )}`;
-
- nativeListeners[nativeKey] = attrs[key];
- return;
- }
-
- // clickOnce -> ~click
- // zr:clickOnce -> ~zr:click
- if (event.substring(event.length - 4) === "Once") {
- event = `~${event.substring(0, event.length - 4)}`;
- }
-
- realListeners[event] = attrs[key];
- });
- } else {
- // This is for Vue 2.
- // We just need to distinguish normal events and `native:` events and
- // collect them into `realListeners` and `nativeListeners` respectively.
- // For `native:` events, we just strip the `native:` part and collect them
- // into `nativeListeners` so that we can bind them to the root element directly.
- // native:click -> click
- // ~native:click -> ~click
- // &~!native:click -> &~!click
- Object.keys(listeners).forEach(key => {
- if (NATIVE_EVENT_RE.test(key)) {
- nativeListeners[key.replace(NATIVE_EVENT_RE, "$1")] = listeners[key];
- } else {
- realListeners[key] = listeners[key];
+ const listeners: Map<{ event: string; once?: boolean; zr?: boolean }, any> =
+ new Map();
+
+ // We are converting all `on` props and collect them into `listeners` so that
+ // we can bind them to the chart instance later.
+ // For `onNative:` props, we just strip the `Native:` part and collect them into
+ // `nativeListeners` so that we can bind them to the root element directly.
+ Object.keys(attrs)
+ .filter(key => isOn(key))
+ .forEach(key => {
+ // Collect native DOM events
+ if (key.indexOf("Native:") === 2) {
+ // onNative:click -> onClick
+ const nativeKey = `on${key.charAt(9).toUpperCase()}${key.slice(10)}`;
+
+ nativeListeners[nativeKey] = attrs[key];
+ return;
+ }
+
+ // onClick -> c + lick
+ // onZr:click -> z + r:click
+ let event = key.charAt(2).toLowerCase() + key.slice(3);
+
+ let zr: boolean | undefined;
+ if (event.indexOf("zr:") === 0) {
+ zr = true;
+ event = event.substring(3);
+ }
+
+ let once: boolean | undefined;
+ if (event.substring(event.length - 4) === "Once") {
+ once = true;
+ event = event.substring(0, event.length - 4);
}
+
+ listeners.set({ event, zr, once }, attrs[key]);
});
- }
function init(option?: Option) {
if (!root.value) {
@@ -171,28 +145,14 @@ export default defineComponent({
instance.group = props.group;
}
- Object.keys(realListeners).forEach(key => {
- let handler = realListeners[key];
-
+ listeners.forEach((handler, { zr, once, event }) => {
if (!handler) {
return;
}
- let event = key.toLowerCase();
- if (event.charAt(0) === "~") {
- event = event.substring(1);
- handler.__once__ = true;
- }
-
- let target: EventTarget = instance;
- if (event.indexOf("zr:") === 0) {
- target = instance.getZr();
- event = event.substring(3);
- }
-
- if (handler.__once__) {
- delete handler.__once__;
+ const target = zr ? instance.getZr() : instance;
+ if (once) {
const raw = handler;
handler = (...args: any[]) => {
@@ -336,15 +296,11 @@ export default defineComponent({
};
},
render() {
- // Vue 3 and Vue 2 have different vnode props format:
- // See https://v3-migration.vuejs.org/breaking-changes/render-function-api.html#vnode-props-format
- const attrs = (
- Vue2
- ? { attrs: this.nonEventAttrs, on: this.nativeListeners }
- : { ...this.nonEventAttrs, ...this.nativeListeners }
- ) as any;
- attrs.ref = "root";
- attrs.class = attrs.class ? ["echarts"].concat(attrs.class) : "echarts";
- return h(TAG_NAME, attrs);
+ return h(TAG_NAME, {
+ ...this.nonEventAttrs,
+ ...this.nativeListeners,
+ ref: "root",
+ class: ["echarts", ...(this.nonEventAttrs.class || [])]
+ });
}
});
diff --git a/src/composables/api.ts b/src/composables/api.ts
index fadedfe..805a892 100644
--- a/src/composables/api.ts
+++ b/src/composables/api.ts
@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
-import type { Ref } from "vue-demi";
+import type { Ref } from "vue";
import type { EChartsType } from "../types";
const METHOD_NAMES = [
diff --git a/src/composables/autoresize.ts b/src/composables/autoresize.ts
index 7658346..06499c4 100644
--- a/src/composables/autoresize.ts
+++ b/src/composables/autoresize.ts
@@ -1,7 +1,7 @@
-import { watch } from "vue-demi";
+import { watch } from "vue";
import { throttle } from "echarts/core";
-import type { Ref, PropType } from "vue-demi";
+import type { Ref, PropType } from "vue";
import type { EChartsType, AutoResize } from "../types";
export function useAutoresize(
diff --git a/src/composables/loading.ts b/src/composables/loading.ts
index 74abec8..37a3341 100644
--- a/src/composables/loading.ts
+++ b/src/composables/loading.ts
@@ -1,7 +1,7 @@
-import { unwrapInjected } from "../utils";
-import { inject, computed, watchEffect } from "vue-demi";
+import { inject, computed, watchEffect } from "vue";
+import { toValue } from "../utils";
-import type { Ref, InjectionKey, PropType } from "vue-demi";
+import type { Ref, InjectionKey, PropType } from "vue";
import type { EChartsType, LoadingOptions } from "../types";
export const LOADING_OPTIONS_KEY =
@@ -16,7 +16,7 @@ export function useLoading(
): void {
const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {});
const realLoadingOptions = computed(() => ({
- ...unwrapInjected(defaultLoadingOptions, {}),
+ ...(toValue(defaultLoadingOptions) || {}),
...loadingOptions?.value
}));
diff --git a/src/index.d.ts b/src/index.d.ts
index 1cfebc9..ce6c607 100644
--- a/src/index.d.ts
+++ b/src/index.d.ts
@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/ban-types */
-import type { Ref, DefineComponent, InjectionKey } from "vue-demi";
+import type { Ref, DefineComponent, InjectionKey } from "vue";
import type {
Option,
Theme,
diff --git a/src/types.ts b/src/types.ts
index 9a21aa9..b7f6bf7 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -1,9 +1,18 @@
import { init } from "echarts/core";
import type { SetOptionOpts, ECElementEvent, ElementEvent } from "echarts/core";
-import type { Ref } from "vue-demi";
-
-export type Injection = T | null | Ref | { value: T | null };
+import type { Ref, ShallowRef, WritableComputedRef, ComputedRef } from "vue";
+
+export type MaybeRef =
+ | T
+ | Ref
+ | ShallowRef
+ | WritableComputedRef;
+export type MaybeRefOrGetter =
+ | MaybeRef
+ | ComputedRef
+ | (() => T);
+export type Injection = MaybeRefOrGetter;
type InitType = typeof init;
export type InitParameters = Parameters;
@@ -17,8 +26,6 @@ export type UpdateOptions = SetOptionOpts;
export type UpdateOptionsInjection = Injection;
export type EChartsType = ReturnType;
-type ZRenderType = ReturnType;
-export type EventTarget = EChartsType | ZRenderType;
type SetOptionType = EChartsType["setOption"];
export type Option = Parameters[0];
diff --git a/src/utils.ts b/src/utils.ts
index c4320ea..8792277 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -1,6 +1,5 @@
-import { unref, isRef } from "vue-demi";
-
-import type { Injection } from "./types";
+import type { MaybeRefOrGetter } from "./types";
+import { unref } from "vue";
type Attrs = {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -23,15 +22,12 @@ export function omitOn(attrs: Attrs): Attrs {
return result;
}
-export function unwrapInjected(
- injection: Injection,
- defaultValue: V
-): T | V {
- const value = isRef(injection) ? unref(injection) : injection;
-
- if (value && typeof value === "object" && "value" in value) {
- return value.value || defaultValue;
- }
+// Copied from
+// https://github.com/vuejs/core/blob/3cb4db21efa61852b0541475b4ddf57fdec4c479/packages/shared/src/general.ts#L49-L50
+const isFunction = (val: unknown): val is Function => typeof val === "function";
- return value || defaultValue;
+// Copied from
+// https://github.com/vuejs/core/blob/3cb4db21efa61852b0541475b4ddf57fdec4c479/packages/reactivity/src/ref.ts#L246-L248
+export function toValue(source: MaybeRefOrGetter): T {
+ return isFunction(source) ? source() : unref(source);
}