├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ ├── auto-release.yml │ ├── automerge.yml │ ├── build.yml │ ├── codeql-analysis.yml │ └── npm-publish-github-packages.yml ├── .gitignore ├── .husky ├── .gitignore ├── commit-msg ├── post-merge └── pre-commit ├── .npmrc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── __tests__ ├── index.spec.tsx ├── plots │ ├── area.spec.tsx │ ├── bar.spec.tsx │ ├── bidirectional-bar.spec.tsx │ ├── box.spec.tsx │ ├── bullet.spec.tsx │ ├── chord.spec.tsx │ ├── circle-packing-data.json │ ├── circle-packing.spec.tsx │ ├── column.spec.tsx │ ├── dual-axes.spec.tsx │ ├── facet.spec.tsx │ ├── funnel.spec.tsx │ ├── guage.spec.tsx │ ├── heatmap.spec.tsx │ ├── histogram.spec.tsx │ ├── line.spec.tsx │ ├── liquid.spec.tsx │ ├── mix.spec.tsx │ ├── multi-view.spec.tsx │ ├── pie.spec.tsx │ ├── progress.spec.tsx │ ├── radar.spec.tsx │ ├── radial-bar.spec.tsx │ ├── ring-progress.spec.tsx │ ├── rose.spec.tsx │ ├── sankey.spec.tsx │ ├── scatter.spec.tsx │ ├── stock.spec.tsx │ ├── sunburst-data.json │ ├── sunburst.spec.tsx │ ├── tiny-area.spec.tsx │ ├── tiny-column.spec.tsx │ ├── tiny-line.spec.tsx │ ├── treemap.spec.tsx │ ├── venn.spec.tsx │ ├── violin.spec.tsx │ ├── waterfall.spec.tsx │ └── word-cloud.spec.tsx └── setups │ ├── url.js │ └── worker.js ├── assets └── logo.svg ├── babel.config.js ├── commitlint.config.js ├── docs ├── .vitepress │ └── config.mts ├── demo │ └── index.md ├── guide │ └── index.md ├── index.md └── public │ └── logo.svg ├── jest.config.js ├── package-lock.json ├── package.json ├── scripts └── sync.js ├── src ├── components │ └── base.tsx ├── index.ts ├── plots │ ├── area │ │ └── index.tsx │ ├── bar │ │ └── index.tsx │ ├── bidirectional-bar │ │ └── index.tsx │ ├── box │ │ └── index.tsx │ ├── bullet │ │ └── index.tsx │ ├── chord │ │ └── index.tsx │ ├── circle-packing │ │ └── index.tsx │ ├── column │ │ └── index.tsx │ ├── dual-axes │ │ └── index.tsx │ ├── facet │ │ └── index.tsx │ ├── funnel │ │ └── index.tsx │ ├── gauge │ │ └── index.tsx │ ├── heatmap │ │ └── index.tsx │ ├── histogram │ │ └── index.tsx │ ├── line │ │ └── index.tsx │ ├── liquid │ │ └── index.tsx │ ├── mix │ │ └── index.tsx │ ├── multi-view │ │ └── index.tsx │ ├── pie │ │ └── index.tsx │ ├── progress │ │ └── index.tsx │ ├── radar │ │ └── index.tsx │ ├── radial-bar │ │ └── index.tsx │ ├── ring-progress │ │ └── index.tsx │ ├── rose │ │ └── index.tsx │ ├── sankey │ │ └── index.tsx │ ├── scatter │ │ └── index.tsx │ ├── stock │ │ └── index.tsx │ ├── sunburst │ │ └── index.tsx │ ├── tiny-area │ │ └── index.tsx │ ├── tiny-column │ │ └── index.tsx │ ├── tiny-line │ │ └── index.tsx │ ├── treemap │ │ └── index.tsx │ ├── venn │ │ └── index.tsx │ ├── violin │ │ └── index.tsx │ ├── waterfall │ │ └── index.tsx │ └── word-cloud │ │ └── index.tsx ├── types.ts └── utils.ts ├── tsconfig.json └── tsconfig.sync.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # output 2 | es/ 3 | lib/ 4 | es2/ 5 | lib2/ 6 | es3/ 7 | lib3/ 8 | *.d.ts 9 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true, 5 | }, 6 | extends: [ 7 | 'plugin:vue/vue3-strongly-recommended', 8 | 'standard', 9 | 'prettier', 10 | 'plugin:prettier/recommended', 11 | 'plugin:@typescript-eslint/recommended', 12 | ], 13 | plugins: ['prettier', '@typescript-eslint'], 14 | parser: 'vue-eslint-parser', 15 | parserOptions: { 16 | parser: '@typescript-eslint/parser', 17 | sourceType: 'module', 18 | extraFileExtensions: ['.vue'], 19 | ecmaVersion: 2020, 20 | ecmaFeatures: { 21 | jsx: true, 22 | }, 23 | warnOnUnsupportedTypeScriptVersion: true, 24 | }, 25 | rules: { 26 | // TypeScript's `noFallthroughCasesInSwitch` option is more robust (#6906) 27 | 'default-case': 'off', 28 | // 'tsc' already handles this (https://github.com/typescript-eslint/typescript-eslint/issues/291) 29 | 'no-dupe-class-members': 'off', 30 | // 'tsc' already handles this (https://github.com/typescript-eslint/typescript-eslint/issues/477) 31 | 'no-undef': 'off', 32 | 33 | // Add TypeScript specific rules (and turn off ESLint equivalents) 34 | '@typescript-eslint/consistent-type-assertions': 'warn', 35 | 'no-array-constructor': 'off', 36 | '@typescript-eslint/no-array-constructor': 'warn', 37 | '@typescript-eslint/no-namespace': 'error', 38 | 'no-use-before-define': 'off', 39 | '@typescript-eslint/no-use-before-define': [ 40 | 'error', 41 | { 42 | functions: false, 43 | classes: false, 44 | variables: false, 45 | typedefs: false, 46 | }, 47 | ], 48 | 'no-unused-vars': 'off', 49 | '@typescript-eslint/no-unused-vars': [ 50 | 'error', 51 | { 52 | args: 'none', 53 | ignoreRestSiblings: true, 54 | }, 55 | ], 56 | 'no-useless-constructor': 'off', 57 | '@typescript-eslint/no-useless-constructor': 'warn', 58 | 'prettier/prettier': 'error', 59 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 60 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 61 | '@typescript-eslint/explicit-function-return-type': 'off', 62 | '@typescript-eslint/explicit-module-boundary-types': 'off', 63 | '@typescript-eslint/member-delimiter-style': 'off', 64 | '@typescript-eslint/no-explicit-any': 'off', 65 | 'standard/no-callback-literal': 'off', 66 | }, 67 | overrides: [ 68 | { 69 | files: [ 70 | '**/__tests__/*.{j,t}s?(x)', 71 | '**/tests/unit/**/*.spec.{j,t}s?(x)', 72 | ], 73 | env: { 74 | jest: true, 75 | }, 76 | }, 77 | { 78 | files: ['shims-tsx.d.ts'], 79 | rules: { 80 | '@typescript-eslint/no-empty-interface': 'off', 81 | '@typescript-eslint/no-explicit-any': 'off', 82 | '@typescript-eslint/no-unused-vars': 'off', 83 | }, 84 | }, 85 | ], 86 | } 87 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '[Bug]' 5 | labels: bug 6 | assignees: kagawagao 7 | --- 8 | 9 | **Describe the bug** 10 | A clear and concise description of what the bug is. 11 | 12 | **To Reproduce** 13 | Steps to reproduce the behavior: 14 | 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem or a mini showcase. 25 | 26 | **Desktop (please complete the following information):** 27 | 28 | - OS: [e.g. iOS] 29 | - Browser [e.g. chrome, safari] 30 | - `@antv/g2plot` Version [e.g. v2.3.12] 31 | - `@opd/g2plot-vue` Version [e.g. v3.0.0] 32 | - `vue` Version [e.g. v3.0.0] 33 | 34 | **Additional context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '[Feature]' 5 | labels: feature 6 | assignees: kagawagao 7 | --- 8 | 9 | **Is your feature request related to a problem? Please describe.** 10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 11 | 12 | **Describe the solution you'd like** 13 | A clear and concise description of what you want to happen. 14 | 15 | **Describe alternatives you've considered** 16 | A clear and concise description of any alternative solutions or features you've considered. 17 | 18 | **Additional context** 19 | Add any other context or screenshots about the feature request here. 20 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/" 5 | schedule: 6 | interval: weekly 7 | open-pull-requests-limit: 10 8 | ignore: 9 | - dependency-name: "eslint" 10 | -------------------------------------------------------------------------------- /.github/workflows/auto-release.yml: -------------------------------------------------------------------------------- 1 | name: "auto-release" 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*" 7 | 8 | jobs: 9 | tagged-release: 10 | name: "Tagged Release" 11 | runs-on: "ubuntu-latest" 12 | 13 | steps: 14 | - uses: "marvinpinto/action-automatic-releases@latest" 15 | with: 16 | repo_token: "${{ secrets.GITHUB_TOKEN }}" 17 | prerelease: false 18 | -------------------------------------------------------------------------------- /.github/workflows/automerge.yml: -------------------------------------------------------------------------------- 1 | name: automerge 2 | on: 3 | pull_request: 4 | types: 5 | - labeled 6 | - unlabeled 7 | - synchronize 8 | - opened 9 | - edited 10 | - ready_for_review 11 | - reopened 12 | - unlocked 13 | pull_request_review: 14 | types: 15 | - submitted 16 | check_suite: 17 | types: 18 | - completed 19 | status: {} 20 | jobs: 21 | automerge: 22 | runs-on: ubuntu-latest 23 | steps: 24 | - name: automerge 25 | uses: "pascalgn/automerge-action@v0.16.2" 26 | env: 27 | GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" 28 | MERGE_LABELS: "dependencies,!wip" 29 | MERGE_METHOD: "squash" 30 | UPDATE_METHOD: "rebase" 31 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v4.1.7 10 | - name: Setup Node.js environment 11 | uses: actions/setup-node@v4.0.3 12 | with: 13 | check-latest: true 14 | - name: npm install, test and build 15 | run: | 16 | npm ci 17 | npm run build 18 | - name: Codecov 19 | uses: codecov/codecov-action@v1.5.0 20 | env: 21 | CI: true 22 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ master ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ master ] 20 | schedule: 21 | - cron: '16 5 * * 3' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'javascript' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 37 | # Learn more: 38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@v2 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@v1 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 55 | # If this step fails, then you should remove it and run the build manually (see below) 56 | - name: Autobuild 57 | uses: github/codeql-action/autobuild@v1 58 | 59 | # ℹ️ Command-line programs to run using the OS shell. 60 | # 📚 https://git.io/JvXDl 61 | 62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 63 | # and modify them (or add more) to build your code if your project 64 | # uses a compiled language 65 | 66 | #- run: | 67 | # make bootstrap 68 | # make release 69 | 70 | - name: Perform CodeQL Analysis 71 | uses: github/codeql-action/analyze@v1 72 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish-github-packages.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages 3 | 4 | name: Node.js Package 5 | 6 | on: 7 | release: 8 | types: [published] 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v3 15 | - uses: actions/setup-node@v3 16 | - run: npm ci 17 | - run: npm run build 18 | 19 | publish-gpr: 20 | needs: build 21 | runs-on: ubuntu-latest 22 | permissions: 23 | contents: read 24 | packages: write 25 | steps: 26 | - uses: actions/checkout@v3 27 | - uses: actions/setup-node@v3 28 | with: 29 | registry-url: https://npm.pkg.github.com/ 30 | - run: npm ci 31 | - run: npm publish 32 | env: 33 | NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | # vitepress build output 94 | docs/.vitepress/dist 95 | docs/.vitepress/cache 96 | 97 | # Serverless directories 98 | .serverless/ 99 | 100 | # FuseBox cache 101 | .fusebox/ 102 | 103 | # DynamoDB Local files 104 | .dynamodb/ 105 | 106 | # TernJS port file 107 | .tern-port 108 | 109 | # build output 110 | es/ 111 | lib/ 112 | es2/ 113 | lib2/ 114 | es3/ 115 | lib3/ 116 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | npx commitlint --edit $1 2 | -------------------------------------------------------------------------------- /.husky/post-merge: -------------------------------------------------------------------------------- 1 | npx diff-run 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 4.0.1 (2025-02-08) 2 | 3 | - fix: remove vue-demi ([da0857c](https://github.com/open-data-plan/g2plot-vue/commit/da0857c)) 4 | - chore(deps-dev): bump @commitlint/cli from 19.6.1 to 19.7.1 (#1743) ([d31069b](https://github.com/open-data-plan/g2plot-vue/commit/d31069b)), closes [#1743](https://github.com/open-data-plan/g2plot-vue/issues/1743) 5 | - chore(deps-dev): bump @commitlint/config-conventional from 19.6.0 to 19.7.1 (#1741) ([4edb413](https://github.com/open-data-plan/g2plot-vue/commit/4edb413)), closes [#1741](https://github.com/open-data-plan/g2plot-vue/issues/1741) 6 | - chore(deps-dev): bump @types/lodash from 4.17.14 to 4.17.15 (#1740) ([47aed55](https://github.com/open-data-plan/g2plot-vue/commit/47aed55)), closes [#1740](https://github.com/open-data-plan/g2plot-vue/issues/1740) 7 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.19.0 to 8.19.1 (#1728) ([a4a5ab8](https://github.com/open-data-plan/g2plot-vue/commit/a4a5ab8)), closes [#1728](https://github.com/open-data-plan/g2plot-vue/issues/1728) 8 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.19.1 to 8.20.0 (#1731) ([38d3053](https://github.com/open-data-plan/g2plot-vue/commit/38d3053)), closes [#1731](https://github.com/open-data-plan/g2plot-vue/issues/1731) 9 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.20.0 to 8.21.0 (#1736) ([77e3d54](https://github.com/open-data-plan/g2plot-vue/commit/77e3d54)), closes [#1736](https://github.com/open-data-plan/g2plot-vue/issues/1736) 10 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.21.0 to 8.22.0 (#1742) ([1d0a5fd](https://github.com/open-data-plan/g2plot-vue/commit/1d0a5fd)), closes [#1742](https://github.com/open-data-plan/g2plot-vue/issues/1742) 11 | - chore(deps-dev): bump @typescript-eslint/parser from 8.19.0 to 8.19.1 (#1727) ([dd9cc7c](https://github.com/open-data-plan/g2plot-vue/commit/dd9cc7c)), closes [#1727](https://github.com/open-data-plan/g2plot-vue/issues/1727) 12 | - chore(deps-dev): bump @typescript-eslint/parser from 8.19.1 to 8.20.0 (#1729) ([0095217](https://github.com/open-data-plan/g2plot-vue/commit/0095217)), closes [#1729](https://github.com/open-data-plan/g2plot-vue/issues/1729) 13 | - chore(deps-dev): bump @typescript-eslint/parser from 8.20.0 to 8.21.0 (#1734) ([72bc4de](https://github.com/open-data-plan/g2plot-vue/commit/72bc4de)), closes [#1734](https://github.com/open-data-plan/g2plot-vue/issues/1734) 14 | - chore(deps-dev): bump @typescript-eslint/parser from 8.21.0 to 8.22.0 (#1739) ([e170f11](https://github.com/open-data-plan/g2plot-vue/commit/e170f11)), closes [#1739](https://github.com/open-data-plan/g2plot-vue/issues/1739) 15 | - chore(deps-dev): bump canvas from 3.0.1 to 3.1.0 (#1738) ([82081a6](https://github.com/open-data-plan/g2plot-vue/commit/82081a6)), closes [#1738](https://github.com/open-data-plan/g2plot-vue/issues/1738) 16 | - chore(deps-dev): bump eslint-config-prettier from 9.1.0 to 10.0.1 (#1725) ([791cb08](https://github.com/open-data-plan/g2plot-vue/commit/791cb08)), closes [#1725](https://github.com/open-data-plan/g2plot-vue/issues/1725) 17 | - chore(deps-dev): bump eslint-plugin-prettier from 5.2.1 to 5.2.3 (#1730) ([9c6272c](https://github.com/open-data-plan/g2plot-vue/commit/9c6272c)), closes [#1730](https://github.com/open-data-plan/g2plot-vue/issues/1730) 18 | - chore(deps-dev): bump lint-staged from 15.3.0 to 15.4.1 (#1733) ([c353fab](https://github.com/open-data-plan/g2plot-vue/commit/c353fab)), closes [#1733](https://github.com/open-data-plan/g2plot-vue/issues/1733) 19 | - chore(deps-dev): bump lint-staged from 15.4.1 to 15.4.3 (#1735) ([d72e37b](https://github.com/open-data-plan/g2plot-vue/commit/d72e37b)), closes [#1735](https://github.com/open-data-plan/g2plot-vue/issues/1735) 20 | - chore(deps-dev): bump typescript from 5.7.2 to 5.7.3 (#1726) ([20de1eb](https://github.com/open-data-plan/g2plot-vue/commit/20de1eb)), closes [#1726](https://github.com/open-data-plan/g2plot-vue/issues/1726) 21 | - chore(deps-dev): bump vitepress from 1.5.0 to 1.6.0 (#1732) ([6a632d9](https://github.com/open-data-plan/g2plot-vue/commit/6a632d9)), closes [#1732](https://github.com/open-data-plan/g2plot-vue/issues/1732) 22 | - chore(deps-dev): bump vitepress from 1.6.0 to 1.6.3 (#1737) ([1719a30](https://github.com/open-data-plan/g2plot-vue/commit/1719a30)), closes [#1737](https://github.com/open-data-plan/g2plot-vue/issues/1737) 23 | 24 | ## 4.0.0 (2025-01-08) 25 | 26 | - feat: drop vue v2 support ([45c3076](https://github.com/open-data-plan/g2plot-vue/commit/45c3076)) 27 | - chore(deps-dev): bump @antv/g2plot from 2.4.31 to 2.4.32 (#1613) ([89eaf5e](https://github.com/open-data-plan/g2plot-vue/commit/89eaf5e)), closes [#1613](https://github.com/open-data-plan/g2plot-vue/issues/1613) 28 | - chore(deps-dev): bump @babel/cli from 7.24.8 to 7.25.6 (#1630) ([660884c](https://github.com/open-data-plan/g2plot-vue/commit/660884c)), closes [#1630](https://github.com/open-data-plan/g2plot-vue/issues/1630) 29 | - chore(deps-dev): bump @babel/cli from 7.25.6 to 7.25.7 (#1658) ([9f552f4](https://github.com/open-data-plan/g2plot-vue/commit/9f552f4)), closes [#1658](https://github.com/open-data-plan/g2plot-vue/issues/1658) 30 | - chore(deps-dev): bump @babel/cli from 7.25.7 to 7.25.9 (#1679) ([108e34c](https://github.com/open-data-plan/g2plot-vue/commit/108e34c)), closes [#1679](https://github.com/open-data-plan/g2plot-vue/issues/1679) 31 | - chore(deps-dev): bump @babel/cli from 7.25.9 to 7.26.4 (#1706) ([d4b1a80](https://github.com/open-data-plan/g2plot-vue/commit/d4b1a80)), closes [#1706](https://github.com/open-data-plan/g2plot-vue/issues/1706) 32 | - chore(deps-dev): bump @babel/preset-typescript from 7.24.7 to 7.25.7 (#1656) ([b9773f0](https://github.com/open-data-plan/g2plot-vue/commit/b9773f0)), closes [#1656](https://github.com/open-data-plan/g2plot-vue/issues/1656) 33 | - chore(deps-dev): bump @babel/preset-typescript from 7.25.7 to 7.26.0 (#1675) ([0533b69](https://github.com/open-data-plan/g2plot-vue/commit/0533b69)), closes [#1675](https://github.com/open-data-plan/g2plot-vue/issues/1675) 34 | - chore(deps-dev): bump @commitlint/cli from 19.3.0 to 19.4.0 (#1616) ([0168965](https://github.com/open-data-plan/g2plot-vue/commit/0168965)), closes [#1616](https://github.com/open-data-plan/g2plot-vue/issues/1616) 35 | - chore(deps-dev): bump @commitlint/cli from 19.4.0 to 19.4.1 (#1631) ([e4254ee](https://github.com/open-data-plan/g2plot-vue/commit/e4254ee)), closes [#1631](https://github.com/open-data-plan/g2plot-vue/issues/1631) 36 | - chore(deps-dev): bump @commitlint/cli from 19.4.1 to 19.5.0 (#1646) ([0b7d23e](https://github.com/open-data-plan/g2plot-vue/commit/0b7d23e)), closes [#1646](https://github.com/open-data-plan/g2plot-vue/issues/1646) 37 | - chore(deps-dev): bump @commitlint/cli from 19.5.0 to 19.6.0 (#1702) ([095eefb](https://github.com/open-data-plan/g2plot-vue/commit/095eefb)), closes [#1702](https://github.com/open-data-plan/g2plot-vue/issues/1702) 38 | - chore(deps-dev): bump @commitlint/cli from 19.6.0 to 19.6.1 (#1709) ([710f2e7](https://github.com/open-data-plan/g2plot-vue/commit/710f2e7)), closes [#1709](https://github.com/open-data-plan/g2plot-vue/issues/1709) 39 | - chore(deps-dev): bump @commitlint/config-conventional from 19.2.2 to 19.4.1 (#1629) ([9121265](https://github.com/open-data-plan/g2plot-vue/commit/9121265)), closes [#1629](https://github.com/open-data-plan/g2plot-vue/issues/1629) 40 | - chore(deps-dev): bump @commitlint/config-conventional from 19.4.1 to 19.5.0 (#1640) ([aa29f72](https://github.com/open-data-plan/g2plot-vue/commit/aa29f72)), closes [#1640](https://github.com/open-data-plan/g2plot-vue/issues/1640) 41 | - chore(deps-dev): bump @commitlint/config-conventional from 19.5.0 to 19.6.0 (#1700) ([c60b83b](https://github.com/open-data-plan/g2plot-vue/commit/c60b83b)), closes [#1700](https://github.com/open-data-plan/g2plot-vue/issues/1700) 42 | - chore(deps-dev): bump @types/lodash from 4.17.10 to 4.17.12 (#1674) ([632173a](https://github.com/open-data-plan/g2plot-vue/commit/632173a)), closes [#1674](https://github.com/open-data-plan/g2plot-vue/issues/1674) 43 | - chore(deps-dev): bump @types/lodash from 4.17.12 to 4.17.13 (#1684) ([bf18a76](https://github.com/open-data-plan/g2plot-vue/commit/bf18a76)), closes [#1684](https://github.com/open-data-plan/g2plot-vue/issues/1684) 44 | - chore(deps-dev): bump @types/lodash from 4.17.13 to 4.17.14 (#1724) ([dd62411](https://github.com/open-data-plan/g2plot-vue/commit/dd62411)), closes [#1724](https://github.com/open-data-plan/g2plot-vue/issues/1724) 45 | - chore(deps-dev): bump @types/lodash from 4.17.7 to 4.17.9 (#1655) ([6beb4b2](https://github.com/open-data-plan/g2plot-vue/commit/6beb4b2)), closes [#1655](https://github.com/open-data-plan/g2plot-vue/issues/1655) 46 | - chore(deps-dev): bump @types/lodash from 4.17.9 to 4.17.10 (#1659) ([7833627](https://github.com/open-data-plan/g2plot-vue/commit/7833627)), closes [#1659](https://github.com/open-data-plan/g2plot-vue/issues/1659) 47 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.17.0 to 8.0.0 (#1612) ([19d1546](https://github.com/open-data-plan/g2plot-vue/commit/19d1546)), closes [#1612](https://github.com/open-data-plan/g2plot-vue/issues/1612) 48 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.0.0 to 8.0.1 (#1614) ([1b86b39](https://github.com/open-data-plan/g2plot-vue/commit/1b86b39)), closes [#1614](https://github.com/open-data-plan/g2plot-vue/issues/1614) 49 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.0.1 to 8.1.0 (#1621) ([9841a99](https://github.com/open-data-plan/g2plot-vue/commit/9841a99)), closes [#1621](https://github.com/open-data-plan/g2plot-vue/issues/1621) 50 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.1.0 to 8.2.0 (#1627) ([aa2d88e](https://github.com/open-data-plan/g2plot-vue/commit/aa2d88e)), closes [#1627](https://github.com/open-data-plan/g2plot-vue/issues/1627) 51 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.10.0 to 8.11.0 (#1676) ([1d3f7bc](https://github.com/open-data-plan/g2plot-vue/commit/1d3f7bc)), closes [#1676](https://github.com/open-data-plan/g2plot-vue/issues/1676) 52 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.11.0 to 8.12.2 (#1682) ([62374bc](https://github.com/open-data-plan/g2plot-vue/commit/62374bc)), closes [#1682](https://github.com/open-data-plan/g2plot-vue/issues/1682) 53 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.12.2 to 8.13.0 (#1688) ([fb9ca8a](https://github.com/open-data-plan/g2plot-vue/commit/fb9ca8a)), closes [#1688](https://github.com/open-data-plan/g2plot-vue/issues/1688) 54 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.13.0 to 8.14.0 (#1692) ([5cccba0](https://github.com/open-data-plan/g2plot-vue/commit/5cccba0)), closes [#1692](https://github.com/open-data-plan/g2plot-vue/issues/1692) 55 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.14.0 to 8.15.0 (#1697) ([b574727](https://github.com/open-data-plan/g2plot-vue/commit/b574727)), closes [#1697](https://github.com/open-data-plan/g2plot-vue/issues/1697) 56 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.15.0 to 8.17.0 (#1708) ([0731d35](https://github.com/open-data-plan/g2plot-vue/commit/0731d35)), closes [#1708](https://github.com/open-data-plan/g2plot-vue/issues/1708) 57 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.17.0 to 8.18.0 (#1711) ([3ccad62](https://github.com/open-data-plan/g2plot-vue/commit/3ccad62)), closes [#1711](https://github.com/open-data-plan/g2plot-vue/issues/1711) 58 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.18.0 to 8.18.1 (#1716) ([c86316f](https://github.com/open-data-plan/g2plot-vue/commit/c86316f)), closes [#1716](https://github.com/open-data-plan/g2plot-vue/issues/1716) 59 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.18.1 to 8.18.2 (#1720) ([a5bf075](https://github.com/open-data-plan/g2plot-vue/commit/a5bf075)), closes [#1720](https://github.com/open-data-plan/g2plot-vue/issues/1720) 60 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.18.2 to 8.19.0 (#1723) ([06b61a4](https://github.com/open-data-plan/g2plot-vue/commit/06b61a4)), closes [#1723](https://github.com/open-data-plan/g2plot-vue/issues/1723) 61 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.2.0 to 8.3.0 (#1632) ([2393a7d](https://github.com/open-data-plan/g2plot-vue/commit/2393a7d)), closes [#1632](https://github.com/open-data-plan/g2plot-vue/issues/1632) 62 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.3.0 to 8.4.0 (#1636) ([36bf7ce](https://github.com/open-data-plan/g2plot-vue/commit/36bf7ce)), closes [#1636](https://github.com/open-data-plan/g2plot-vue/issues/1636) 63 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.4.0 to 8.5.0 (#1645) ([163b724](https://github.com/open-data-plan/g2plot-vue/commit/163b724)), closes [#1645](https://github.com/open-data-plan/g2plot-vue/issues/1645) 64 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.5.0 to 8.6.0 (#1650) ([929414d](https://github.com/open-data-plan/g2plot-vue/commit/929414d)), closes [#1650](https://github.com/open-data-plan/g2plot-vue/issues/1650) 65 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.6.0 to 8.8.0 (#1661) ([a5eca7b](https://github.com/open-data-plan/g2plot-vue/commit/a5eca7b)), closes [#1661](https://github.com/open-data-plan/g2plot-vue/issues/1661) 66 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.8.0 to 8.8.1 (#1670) ([2ca6f40](https://github.com/open-data-plan/g2plot-vue/commit/2ca6f40)), closes [#1670](https://github.com/open-data-plan/g2plot-vue/issues/1670) 67 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.8.1 to 8.10.0 (#1673) ([2316362](https://github.com/open-data-plan/g2plot-vue/commit/2316362)), closes [#1673](https://github.com/open-data-plan/g2plot-vue/issues/1673) 68 | - chore(deps-dev): bump @typescript-eslint/parser from 7.17.0 to 8.0.0 (#1608) ([c57d932](https://github.com/open-data-plan/g2plot-vue/commit/c57d932)), closes [#1608](https://github.com/open-data-plan/g2plot-vue/issues/1608) 69 | - chore(deps-dev): bump @typescript-eslint/parser from 8.0.0 to 8.0.1 (#1615) ([a71b519](https://github.com/open-data-plan/g2plot-vue/commit/a71b519)), closes [#1615](https://github.com/open-data-plan/g2plot-vue/issues/1615) 70 | - chore(deps-dev): bump @typescript-eslint/parser from 8.0.1 to 8.1.0 (#1623) ([9ad9c1b](https://github.com/open-data-plan/g2plot-vue/commit/9ad9c1b)), closes [#1623](https://github.com/open-data-plan/g2plot-vue/issues/1623) 71 | - chore(deps-dev): bump @typescript-eslint/parser from 8.1.0 to 8.2.0 (#1625) ([2eb7f94](https://github.com/open-data-plan/g2plot-vue/commit/2eb7f94)), closes [#1625](https://github.com/open-data-plan/g2plot-vue/issues/1625) 72 | - chore(deps-dev): bump @typescript-eslint/parser from 8.10.0 to 8.11.0 (#1678) ([cc16144](https://github.com/open-data-plan/g2plot-vue/commit/cc16144)), closes [#1678](https://github.com/open-data-plan/g2plot-vue/issues/1678) 73 | - chore(deps-dev): bump @typescript-eslint/parser from 8.11.0 to 8.12.2 (#1683) ([2828b96](https://github.com/open-data-plan/g2plot-vue/commit/2828b96)), closes [#1683](https://github.com/open-data-plan/g2plot-vue/issues/1683) 74 | - chore(deps-dev): bump @typescript-eslint/parser from 8.12.2 to 8.13.0 (#1687) ([3e074c1](https://github.com/open-data-plan/g2plot-vue/commit/3e074c1)), closes [#1687](https://github.com/open-data-plan/g2plot-vue/issues/1687) 75 | - chore(deps-dev): bump @typescript-eslint/parser from 8.13.0 to 8.14.0 (#1691) ([7ce9ac7](https://github.com/open-data-plan/g2plot-vue/commit/7ce9ac7)), closes [#1691](https://github.com/open-data-plan/g2plot-vue/issues/1691) 76 | - chore(deps-dev): bump @typescript-eslint/parser from 8.14.0 to 8.15.0 (#1698) ([2a36d78](https://github.com/open-data-plan/g2plot-vue/commit/2a36d78)), closes [#1698](https://github.com/open-data-plan/g2plot-vue/issues/1698) 77 | - chore(deps-dev): bump @typescript-eslint/parser from 8.15.0 to 8.17.0 (#1707) ([6386080](https://github.com/open-data-plan/g2plot-vue/commit/6386080)), closes [#1707](https://github.com/open-data-plan/g2plot-vue/issues/1707) 78 | - chore(deps-dev): bump @typescript-eslint/parser from 8.17.0 to 8.18.0 (#1713) ([d723786](https://github.com/open-data-plan/g2plot-vue/commit/d723786)), closes [#1713](https://github.com/open-data-plan/g2plot-vue/issues/1713) 79 | - chore(deps-dev): bump @typescript-eslint/parser from 8.18.0 to 8.18.1 (#1714) ([8c7ae00](https://github.com/open-data-plan/g2plot-vue/commit/8c7ae00)), closes [#1714](https://github.com/open-data-plan/g2plot-vue/issues/1714) 80 | - chore(deps-dev): bump @typescript-eslint/parser from 8.18.1 to 8.18.2 (#1717) ([bb130d2](https://github.com/open-data-plan/g2plot-vue/commit/bb130d2)), closes [#1717](https://github.com/open-data-plan/g2plot-vue/issues/1717) 81 | - chore(deps-dev): bump @typescript-eslint/parser from 8.18.2 to 8.19.0 (#1722) ([5b65c05](https://github.com/open-data-plan/g2plot-vue/commit/5b65c05)), closes [#1722](https://github.com/open-data-plan/g2plot-vue/issues/1722) 82 | - chore(deps-dev): bump @typescript-eslint/parser from 8.2.0 to 8.3.0 (#1633) ([730f42b](https://github.com/open-data-plan/g2plot-vue/commit/730f42b)), closes [#1633](https://github.com/open-data-plan/g2plot-vue/issues/1633) 83 | - chore(deps-dev): bump @typescript-eslint/parser from 8.3.0 to 8.4.0 (#1639) ([dcf2dad](https://github.com/open-data-plan/g2plot-vue/commit/dcf2dad)), closes [#1639](https://github.com/open-data-plan/g2plot-vue/issues/1639) 84 | - chore(deps-dev): bump @typescript-eslint/parser from 8.4.0 to 8.5.0 (#1644) ([1b290f2](https://github.com/open-data-plan/g2plot-vue/commit/1b290f2)), closes [#1644](https://github.com/open-data-plan/g2plot-vue/issues/1644) 85 | - chore(deps-dev): bump @typescript-eslint/parser from 8.5.0 to 8.6.0 (#1648) ([e52a945](https://github.com/open-data-plan/g2plot-vue/commit/e52a945)), closes [#1648](https://github.com/open-data-plan/g2plot-vue/issues/1648) 86 | - chore(deps-dev): bump @typescript-eslint/parser from 8.6.0 to 8.7.0 (#1654) ([4a971f4](https://github.com/open-data-plan/g2plot-vue/commit/4a971f4)), closes [#1654](https://github.com/open-data-plan/g2plot-vue/issues/1654) 87 | - chore(deps-dev): bump @typescript-eslint/parser from 8.7.0 to 8.8.0 (#1663) ([4fc58ef](https://github.com/open-data-plan/g2plot-vue/commit/4fc58ef)), closes [#1663](https://github.com/open-data-plan/g2plot-vue/issues/1663) 88 | - chore(deps-dev): bump @typescript-eslint/parser from 8.8.0 to 8.8.1 (#1665) ([66770f2](https://github.com/open-data-plan/g2plot-vue/commit/66770f2)), closes [#1665](https://github.com/open-data-plan/g2plot-vue/issues/1665) 89 | - chore(deps-dev): bump @typescript-eslint/parser from 8.8.1 to 8.10.0 (#1671) ([d1a4388](https://github.com/open-data-plan/g2plot-vue/commit/d1a4388)), closes [#1671](https://github.com/open-data-plan/g2plot-vue/issues/1671) 90 | - chore(deps-dev): bump @vue/tsconfig from 0.5.1 to 0.6.0 (#1686) ([8eec752](https://github.com/open-data-plan/g2plot-vue/commit/8eec752)), closes [#1686](https://github.com/open-data-plan/g2plot-vue/issues/1686) 91 | - chore(deps-dev): bump @vue/tsconfig from 0.6.0 to 0.7.0 (#1704) ([16602b4](https://github.com/open-data-plan/g2plot-vue/commit/16602b4)), closes [#1704](https://github.com/open-data-plan/g2plot-vue/issues/1704) 92 | - chore(deps-dev): bump canvas from 2.11.2 to 3.0.0 (#1718) ([5cdaab0](https://github.com/open-data-plan/g2plot-vue/commit/5cdaab0)), closes [#1718](https://github.com/open-data-plan/g2plot-vue/issues/1718) 93 | - chore(deps-dev): bump canvas from 3.0.0 to 3.0.1 (#1721) ([e545144](https://github.com/open-data-plan/g2plot-vue/commit/e545144)), closes [#1721](https://github.com/open-data-plan/g2plot-vue/issues/1721) 94 | - chore(deps-dev): bump eslint-plugin-import from 2.29.1 to 2.30.0 (#1638) ([e98c994](https://github.com/open-data-plan/g2plot-vue/commit/e98c994)), closes [#1638](https://github.com/open-data-plan/g2plot-vue/issues/1638) 95 | - chore(deps-dev): bump eslint-plugin-import from 2.30.0 to 2.31.0 (#1660) ([e04f027](https://github.com/open-data-plan/g2plot-vue/commit/e04f027)), closes [#1660](https://github.com/open-data-plan/g2plot-vue/issues/1660) 96 | - chore(deps-dev): bump eslint-plugin-n from 17.10.1 to 17.10.2 (#1610) ([3551838](https://github.com/open-data-plan/g2plot-vue/commit/3551838)), closes [#1610](https://github.com/open-data-plan/g2plot-vue/issues/1610) 97 | - chore(deps-dev): bump eslint-plugin-n from 17.10.2 to 17.10.3 (#1649) ([fb7f0aa](https://github.com/open-data-plan/g2plot-vue/commit/fb7f0aa)), closes [#1649](https://github.com/open-data-plan/g2plot-vue/issues/1649) 98 | - chore(deps-dev): bump eslint-plugin-n from 17.10.3 to 17.11.1 (#1669) ([16f1082](https://github.com/open-data-plan/g2plot-vue/commit/16f1082)), closes [#1669](https://github.com/open-data-plan/g2plot-vue/issues/1669) 99 | - chore(deps-dev): bump eslint-plugin-n from 17.11.1 to 17.12.0 (#1680) ([e52c4fd](https://github.com/open-data-plan/g2plot-vue/commit/e52c4fd)), closes [#1680](https://github.com/open-data-plan/g2plot-vue/issues/1680) 100 | - chore(deps-dev): bump eslint-plugin-n from 17.12.0 to 17.13.1 (#1685) ([c27bcd7](https://github.com/open-data-plan/g2plot-vue/commit/c27bcd7)), closes [#1685](https://github.com/open-data-plan/g2plot-vue/issues/1685) 101 | - chore(deps-dev): bump eslint-plugin-n from 17.13.1 to 17.13.2 (#1695) ([8fd277a](https://github.com/open-data-plan/g2plot-vue/commit/8fd277a)), closes [#1695](https://github.com/open-data-plan/g2plot-vue/issues/1695) 102 | - chore(deps-dev): bump eslint-plugin-n from 17.13.2 to 17.14.0 (#1701) ([4b78354](https://github.com/open-data-plan/g2plot-vue/commit/4b78354)), closes [#1701](https://github.com/open-data-plan/g2plot-vue/issues/1701) 103 | - chore(deps-dev): bump eslint-plugin-n from 17.14.0 to 17.15.0 (#1712) ([2cf721a](https://github.com/open-data-plan/g2plot-vue/commit/2cf721a)), closes [#1712](https://github.com/open-data-plan/g2plot-vue/issues/1712) 104 | - chore(deps-dev): bump eslint-plugin-n from 17.15.0 to 17.15.1 (#1715) ([fa09c59](https://github.com/open-data-plan/g2plot-vue/commit/fa09c59)), closes [#1715](https://github.com/open-data-plan/g2plot-vue/issues/1715) 105 | - chore(deps-dev): bump eslint-plugin-n from 17.9.0 to 17.10.1 (#1607) ([0b7e875](https://github.com/open-data-plan/g2plot-vue/commit/0b7e875)), closes [#1607](https://github.com/open-data-plan/g2plot-vue/issues/1607) 106 | - chore(deps-dev): bump eslint-plugin-promise from 6.6.0 to 7.0.0 (#1603) ([a640b9c](https://github.com/open-data-plan/g2plot-vue/commit/a640b9c)), closes [#1603](https://github.com/open-data-plan/g2plot-vue/issues/1603) 107 | - chore(deps-dev): bump eslint-plugin-promise from 7.0.0 to 7.1.0 (#1618) ([cc6fbda](https://github.com/open-data-plan/g2plot-vue/commit/cc6fbda)), closes [#1618](https://github.com/open-data-plan/g2plot-vue/issues/1618) 108 | - chore(deps-dev): bump eslint-plugin-promise from 7.1.0 to 7.2.0 (#1696) ([07e75b8](https://github.com/open-data-plan/g2plot-vue/commit/07e75b8)), closes [#1696](https://github.com/open-data-plan/g2plot-vue/issues/1696) 109 | - chore(deps-dev): bump eslint-plugin-promise from 7.2.0 to 7.2.1 (#1703) ([1417525](https://github.com/open-data-plan/g2plot-vue/commit/1417525)), closes [#1703](https://github.com/open-data-plan/g2plot-vue/issues/1703) 110 | - chore(deps-dev): bump eslint-plugin-vue from 9.27.0 to 9.28.0 (#1637) ([c08e666](https://github.com/open-data-plan/g2plot-vue/commit/c08e666)), closes [#1637](https://github.com/open-data-plan/g2plot-vue/issues/1637) 111 | - chore(deps-dev): bump eslint-plugin-vue from 9.28.0 to 9.29.0 (#1666) ([ad87865](https://github.com/open-data-plan/g2plot-vue/commit/ad87865)), closes [#1666](https://github.com/open-data-plan/g2plot-vue/issues/1666) 112 | - chore(deps-dev): bump eslint-plugin-vue from 9.29.0 to 9.29.1 (#1672) ([09fc5ac](https://github.com/open-data-plan/g2plot-vue/commit/09fc5ac)), closes [#1672](https://github.com/open-data-plan/g2plot-vue/issues/1672) 113 | - chore(deps-dev): bump eslint-plugin-vue from 9.29.1 to 9.30.0 (#1677) ([a3a0eba](https://github.com/open-data-plan/g2plot-vue/commit/a3a0eba)), closes [#1677](https://github.com/open-data-plan/g2plot-vue/issues/1677) 114 | - chore(deps-dev): bump eslint-plugin-vue from 9.30.0 to 9.31.0 (#1693) ([401a8f1](https://github.com/open-data-plan/g2plot-vue/commit/401a8f1)), closes [#1693](https://github.com/open-data-plan/g2plot-vue/issues/1693) 115 | - chore(deps-dev): bump eslint-plugin-vue from 9.31.0 to 9.32.0 (#1705) ([fb7afa2](https://github.com/open-data-plan/g2plot-vue/commit/fb7afa2)), closes [#1705](https://github.com/open-data-plan/g2plot-vue/issues/1705) 116 | - chore(deps-dev): bump husky from 9.1.1 to 9.1.4 (#1605) ([d5f4fe9](https://github.com/open-data-plan/g2plot-vue/commit/d5f4fe9)), closes [#1605](https://github.com/open-data-plan/g2plot-vue/issues/1605) 117 | - chore(deps-dev): bump husky from 9.1.4 to 9.1.5 (#1628) ([086ad89](https://github.com/open-data-plan/g2plot-vue/commit/086ad89)), closes [#1628](https://github.com/open-data-plan/g2plot-vue/issues/1628) 118 | - chore(deps-dev): bump husky from 9.1.5 to 9.1.6 (#1642) ([5a3f297](https://github.com/open-data-plan/g2plot-vue/commit/5a3f297)), closes [#1642](https://github.com/open-data-plan/g2plot-vue/issues/1642) 119 | - chore(deps-dev): bump husky from 9.1.6 to 9.1.7 (#1694) ([b335684](https://github.com/open-data-plan/g2plot-vue/commit/b335684)), closes [#1694](https://github.com/open-data-plan/g2plot-vue/issues/1694) 120 | - chore(deps-dev): bump lint-staged from 15.2.10 to 15.2.11 (#1710) ([aaa87cb](https://github.com/open-data-plan/g2plot-vue/commit/aaa87cb)), closes [#1710](https://github.com/open-data-plan/g2plot-vue/issues/1710) 121 | - chore(deps-dev): bump lint-staged from 15.2.11 to 15.3.0 (#1719) ([7ee950d](https://github.com/open-data-plan/g2plot-vue/commit/7ee950d)), closes [#1719](https://github.com/open-data-plan/g2plot-vue/issues/1719) 122 | - chore(deps-dev): bump lint-staged from 15.2.7 to 15.2.8 (#1609) ([2eaa214](https://github.com/open-data-plan/g2plot-vue/commit/2eaa214)), closes [#1609](https://github.com/open-data-plan/g2plot-vue/issues/1609) 123 | - chore(deps-dev): bump lint-staged from 15.2.8 to 15.2.9 (#1624) ([3581c55](https://github.com/open-data-plan/g2plot-vue/commit/3581c55)), closes [#1624](https://github.com/open-data-plan/g2plot-vue/issues/1624) 124 | - chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10 (#1634) ([da3766b](https://github.com/open-data-plan/g2plot-vue/commit/da3766b)), closes [#1634](https://github.com/open-data-plan/g2plot-vue/issues/1634) 125 | - chore(deps-dev): bump typescript from 5.5.4 to 5.6.2 (#1643) ([1f538d9](https://github.com/open-data-plan/g2plot-vue/commit/1f538d9)), closes [#1643](https://github.com/open-data-plan/g2plot-vue/issues/1643) 126 | - chore(deps-dev): bump typescript from 5.6.2 to 5.6.3 (#1667) ([2e61da4](https://github.com/open-data-plan/g2plot-vue/commit/2e61da4)), closes [#1667](https://github.com/open-data-plan/g2plot-vue/issues/1667) 127 | - chore(deps-dev): bump typescript from 5.6.3 to 5.7.2 (#1699) ([21d5cf2](https://github.com/open-data-plan/g2plot-vue/commit/21d5cf2)), closes [#1699](https://github.com/open-data-plan/g2plot-vue/issues/1699) 128 | - chore(deps-dev): bump vite from 5.4.1 to 5.4.6 (#1647) ([94f1aa2](https://github.com/open-data-plan/g2plot-vue/commit/94f1aa2)), closes [#1647](https://github.com/open-data-plan/g2plot-vue/issues/1647) 129 | - chore(deps-dev): bump vitepress from 1.3.1 to 1.3.2 (#1619) ([a382b7f](https://github.com/open-data-plan/g2plot-vue/commit/a382b7f)), closes [#1619](https://github.com/open-data-plan/g2plot-vue/issues/1619) 130 | - chore(deps-dev): bump vitepress from 1.3.2 to 1.3.3 (#1620) ([d5db475](https://github.com/open-data-plan/g2plot-vue/commit/d5db475)), closes [#1620](https://github.com/open-data-plan/g2plot-vue/issues/1620) 131 | - chore(deps-dev): bump vitepress from 1.3.3 to 1.3.4 (#1626) ([a4e4e23](https://github.com/open-data-plan/g2plot-vue/commit/a4e4e23)), closes [#1626](https://github.com/open-data-plan/g2plot-vue/issues/1626) 132 | - chore(deps-dev): bump vitepress from 1.3.4 to 1.4.0 (#1662) ([98fe3d2](https://github.com/open-data-plan/g2plot-vue/commit/98fe3d2)), closes [#1662](https://github.com/open-data-plan/g2plot-vue/issues/1662) 133 | - chore(deps-dev): bump vitepress from 1.4.0 to 1.4.1 (#1664) ([871e02a](https://github.com/open-data-plan/g2plot-vue/commit/871e02a)), closes [#1664](https://github.com/open-data-plan/g2plot-vue/issues/1664) 134 | - chore(deps-dev): bump vitepress from 1.4.1 to 1.4.5 (#1681) ([90d4da4](https://github.com/open-data-plan/g2plot-vue/commit/90d4da4)), closes [#1681](https://github.com/open-data-plan/g2plot-vue/issues/1681) 135 | - chore(deps-dev): bump vitepress from 1.4.5 to 1.5.0 (#1689) ([8321098](https://github.com/open-data-plan/g2plot-vue/commit/8321098)), closes [#1689](https://github.com/open-data-plan/g2plot-vue/issues/1689) 136 | - chore(deps-dev): bump vue from 3.4.33 to 3.4.34 (#1604) ([1975fa1](https://github.com/open-data-plan/g2plot-vue/commit/1975fa1)), closes [#1604](https://github.com/open-data-plan/g2plot-vue/issues/1604) 137 | - chore(deps-dev): bump vue from 3.4.34 to 3.4.35 (#1611) ([4ab15e2](https://github.com/open-data-plan/g2plot-vue/commit/4ab15e2)), closes [#1611](https://github.com/open-data-plan/g2plot-vue/issues/1611) 138 | - chore(deps-dev): bump vue from 3.4.35 to 3.4.37 (#1617) ([d0eb896](https://github.com/open-data-plan/g2plot-vue/commit/d0eb896)), closes [#1617](https://github.com/open-data-plan/g2plot-vue/issues/1617) 139 | - chore(deps-dev): bump vue from 3.4.37 to 3.4.38 (#1622) ([36b2e10](https://github.com/open-data-plan/g2plot-vue/commit/36b2e10)), closes [#1622](https://github.com/open-data-plan/g2plot-vue/issues/1622) 140 | - chore(deps-dev): bump vue from 3.4.38 to 3.5.3 (#1635) ([71d62b5](https://github.com/open-data-plan/g2plot-vue/commit/71d62b5)), closes [#1635](https://github.com/open-data-plan/g2plot-vue/issues/1635) 141 | - chore(deps-dev): bump vue from 3.5.10 to 3.5.11 (#1657) ([6700788](https://github.com/open-data-plan/g2plot-vue/commit/6700788)), closes [#1657](https://github.com/open-data-plan/g2plot-vue/issues/1657) 142 | - chore(deps-dev): bump vue from 3.5.11 to 3.5.12 (#1668) ([cdf342f](https://github.com/open-data-plan/g2plot-vue/commit/cdf342f)), closes [#1668](https://github.com/open-data-plan/g2plot-vue/issues/1668) 143 | - chore(deps-dev): bump vue from 3.5.12 to 3.5.13 (#1690) ([0514427](https://github.com/open-data-plan/g2plot-vue/commit/0514427)), closes [#1690](https://github.com/open-data-plan/g2plot-vue/issues/1690) 144 | - chore(deps-dev): bump vue from 3.5.3 to 3.5.6 (#1641) ([cd0d31a](https://github.com/open-data-plan/g2plot-vue/commit/cd0d31a)), closes [#1641](https://github.com/open-data-plan/g2plot-vue/issues/1641) 145 | - chore(deps-dev): bump vue from 3.5.6 to 3.5.8 (#1651) ([43f5790](https://github.com/open-data-plan/g2plot-vue/commit/43f5790)), closes [#1651](https://github.com/open-data-plan/g2plot-vue/issues/1651) 146 | - chore(deps-dev): bump vue from 3.5.8 to 3.5.10 (#1652) ([444027f](https://github.com/open-data-plan/g2plot-vue/commit/444027f)), closes [#1652](https://github.com/open-data-plan/g2plot-vue/issues/1652) 147 | - chore(deps): bump vue-demi from 0.14.8 to 0.14.10 (#1606) ([46d59d0](https://github.com/open-data-plan/g2plot-vue/commit/46d59d0)), closes [#1606](https://github.com/open-data-plan/g2plot-vue/issues/1606) 148 | 149 | ## 3.6.10 (2024-07-23) 150 | 151 | - chore: downgrade eslint ([b4b4b8d](https://github.com/open-data-plan/g2plot-vue/commit/b4b4b8d)) 152 | - chore: reset tsconfig ([60e823b](https://github.com/open-data-plan/g2plot-vue/commit/60e823b)) 153 | - chore: update build config ([91c10c8](https://github.com/open-data-plan/g2plot-vue/commit/91c10c8)) 154 | - chore: update husky config ([883815b](https://github.com/open-data-plan/g2plot-vue/commit/883815b)) 155 | - chore(deps-dev): bump @babel/cli from 7.23.9 to 7.24.1 (#1475) ([cdf4334](https://github.com/open-data-plan/g2plot-vue/commit/cdf4334)), closes [#1475](https://github.com/open-data-plan/g2plot-vue/issues/1475) 156 | - chore(deps-dev): bump @babel/cli from 7.24.1 to 7.24.5 (#1526) ([a2b5795](https://github.com/open-data-plan/g2plot-vue/commit/a2b5795)), closes [#1526](https://github.com/open-data-plan/g2plot-vue/issues/1526) 157 | - chore(deps-dev): bump @babel/cli from 7.24.5 to 7.24.6 (#1549) ([ad742b3](https://github.com/open-data-plan/g2plot-vue/commit/ad742b3)), closes [#1549](https://github.com/open-data-plan/g2plot-vue/issues/1549) 158 | - chore(deps-dev): bump @babel/cli from 7.24.6 to 7.24.7 (#1561) ([b7d0f87](https://github.com/open-data-plan/g2plot-vue/commit/b7d0f87)), closes [#1561](https://github.com/open-data-plan/g2plot-vue/issues/1561) 159 | - chore(deps-dev): bump @babel/cli from 7.24.7 to 7.24.8 (#1589) ([fb9efc0](https://github.com/open-data-plan/g2plot-vue/commit/fb9efc0)), closes [#1589](https://github.com/open-data-plan/g2plot-vue/issues/1589) 160 | - chore(deps-dev): bump @babel/preset-typescript from 7.23.3 to 7.24.1 (#1480) ([af42964](https://github.com/open-data-plan/g2plot-vue/commit/af42964)), closes [#1480](https://github.com/open-data-plan/g2plot-vue/issues/1480) 161 | - chore(deps-dev): bump @babel/preset-typescript from 7.24.1 to 7.24.6 (#1548) ([024f4df](https://github.com/open-data-plan/g2plot-vue/commit/024f4df)), closes [#1548](https://github.com/open-data-plan/g2plot-vue/issues/1548) 162 | - chore(deps-dev): bump @babel/preset-typescript from 7.24.6 to 7.24.7 (#1559) ([1cfa06d](https://github.com/open-data-plan/g2plot-vue/commit/1cfa06d)), closes [#1559](https://github.com/open-data-plan/g2plot-vue/issues/1559) 163 | - chore(deps-dev): bump @commitlint/cli from 19.1.0 to 19.2.1 (#1476) ([c9570b4](https://github.com/open-data-plan/g2plot-vue/commit/c9570b4)), closes [#1476](https://github.com/open-data-plan/g2plot-vue/issues/1476) 164 | - chore(deps-dev): bump @commitlint/cli from 19.2.1 to 19.2.2 (#1505) ([61f9a51](https://github.com/open-data-plan/g2plot-vue/commit/61f9a51)), closes [#1505](https://github.com/open-data-plan/g2plot-vue/issues/1505) 165 | - chore(deps-dev): bump @commitlint/cli from 19.2.2 to 19.3.0 (#1514) ([4041fa1](https://github.com/open-data-plan/g2plot-vue/commit/4041fa1)), closes [#1514](https://github.com/open-data-plan/g2plot-vue/issues/1514) 166 | - chore(deps-dev): bump @commitlint/config-conventional from 19.1.0 to 19.2.2 (#1502) ([fc7c520](https://github.com/open-data-plan/g2plot-vue/commit/fc7c520)), closes [#1502](https://github.com/open-data-plan/g2plot-vue/issues/1502) 167 | - chore(deps-dev): bump @types/eslint from 8.56.5 to 8.56.7 (#1487) ([e738b9f](https://github.com/open-data-plan/g2plot-vue/commit/e738b9f)), closes [#1487](https://github.com/open-data-plan/g2plot-vue/issues/1487) 168 | - chore(deps-dev): bump @types/eslint from 8.56.7 to 8.56.8 (#1500) ([e6b3203](https://github.com/open-data-plan/g2plot-vue/commit/e6b3203)), closes [#1500](https://github.com/open-data-plan/g2plot-vue/issues/1500) 169 | - chore(deps-dev): bump @types/eslint from 8.56.8 to 8.56.9 (#1501) ([52a2e19](https://github.com/open-data-plan/g2plot-vue/commit/52a2e19)), closes [#1501](https://github.com/open-data-plan/g2plot-vue/issues/1501) 170 | - chore(deps-dev): bump @types/eslint from 8.56.9 to 8.56.10 (#1512) ([32fd487](https://github.com/open-data-plan/g2plot-vue/commit/32fd487)), closes [#1512](https://github.com/open-data-plan/g2plot-vue/issues/1512) 171 | - chore(deps-dev): bump @types/lodash from 4.17.0 to 4.17.1 (#1528) ([dd2ae2e](https://github.com/open-data-plan/g2plot-vue/commit/dd2ae2e)), closes [#1528](https://github.com/open-data-plan/g2plot-vue/issues/1528) 172 | - chore(deps-dev): bump @types/lodash from 4.17.1 to 4.17.4 (#1539) ([4749b21](https://github.com/open-data-plan/g2plot-vue/commit/4749b21)), closes [#1539](https://github.com/open-data-plan/g2plot-vue/issues/1539) 173 | - chore(deps-dev): bump @types/lodash from 4.17.4 to 4.17.5 (#1562) ([cd55e8f](https://github.com/open-data-plan/g2plot-vue/commit/cd55e8f)), closes [#1562](https://github.com/open-data-plan/g2plot-vue/issues/1562) 174 | - chore(deps-dev): bump @types/lodash from 4.17.5 to 4.17.6 (#1578) ([514bf7b](https://github.com/open-data-plan/g2plot-vue/commit/514bf7b)), closes [#1578](https://github.com/open-data-plan/g2plot-vue/issues/1578) 175 | - chore(deps-dev): bump @types/lodash from 4.17.6 to 4.17.7 (#1592) ([9973f8e](https://github.com/open-data-plan/g2plot-vue/commit/9973f8e)), closes [#1592](https://github.com/open-data-plan/g2plot-vue/issues/1592) 176 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.10.0 to 7.11.0 (#1550) ([bc67173](https://github.com/open-data-plan/g2plot-vue/commit/bc67173)), closes [#1550](https://github.com/open-data-plan/g2plot-vue/issues/1550) 177 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.11.0 to 7.12.0 (#1555) ([ce789fc](https://github.com/open-data-plan/g2plot-vue/commit/ce789fc)), closes [#1555](https://github.com/open-data-plan/g2plot-vue/issues/1555) 178 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.12.0 to 7.13.0 (#1563) ([39e0a5f](https://github.com/open-data-plan/g2plot-vue/commit/39e0a5f)), closes [#1563](https://github.com/open-data-plan/g2plot-vue/issues/1563) 179 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.13.0 to 7.13.1 (#1572) ([16c3c43](https://github.com/open-data-plan/g2plot-vue/commit/16c3c43)), closes [#1572](https://github.com/open-data-plan/g2plot-vue/issues/1572) 180 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.13.1 to 7.14.1 (#1576) ([2650aec](https://github.com/open-data-plan/g2plot-vue/commit/2650aec)), closes [#1576](https://github.com/open-data-plan/g2plot-vue/issues/1576) 181 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.14.1 to 7.15.0 (#1585) ([ec6936d](https://github.com/open-data-plan/g2plot-vue/commit/ec6936d)), closes [#1585](https://github.com/open-data-plan/g2plot-vue/issues/1585) 182 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.15.0 to 7.16.0 (#1587) ([c7f5b09](https://github.com/open-data-plan/g2plot-vue/commit/c7f5b09)), closes [#1587](https://github.com/open-data-plan/g2plot-vue/issues/1587) 183 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.16.0 to 7.16.1 (#1593) ([efc32c7](https://github.com/open-data-plan/g2plot-vue/commit/efc32c7)), closes [#1593](https://github.com/open-data-plan/g2plot-vue/issues/1593) 184 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.16.1 to 7.17.0 (#1602) ([f76d262](https://github.com/open-data-plan/g2plot-vue/commit/f76d262)), closes [#1602](https://github.com/open-data-plan/g2plot-vue/issues/1602) 185 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.2.0 to 7.4.0 (#1484) ([9bdb878](https://github.com/open-data-plan/g2plot-vue/commit/9bdb878)), closes [#1484](https://github.com/open-data-plan/g2plot-vue/issues/1484) 186 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.4.0 to 7.5.0 (#1489) ([142b6cb](https://github.com/open-data-plan/g2plot-vue/commit/142b6cb)), closes [#1489](https://github.com/open-data-plan/g2plot-vue/issues/1489) 187 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.6.0 (#1494) ([23f989c](https://github.com/open-data-plan/g2plot-vue/commit/23f989c)), closes [#1494](https://github.com/open-data-plan/g2plot-vue/issues/1494) 188 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.6.0 to 7.7.0 (#1508) ([b32f012](https://github.com/open-data-plan/g2plot-vue/commit/b32f012)), closes [#1508](https://github.com/open-data-plan/g2plot-vue/issues/1508) 189 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.7.0 to 7.7.1 (#1517) ([4cb5e95](https://github.com/open-data-plan/g2plot-vue/commit/4cb5e95)), closes [#1517](https://github.com/open-data-plan/g2plot-vue/issues/1517) 190 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.7.1 to 7.8.0 (#1524) ([870e930](https://github.com/open-data-plan/g2plot-vue/commit/870e930)), closes [#1524](https://github.com/open-data-plan/g2plot-vue/issues/1524) 191 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.8.0 to 7.9.0 (#1536) ([57f471b](https://github.com/open-data-plan/g2plot-vue/commit/57f471b)), closes [#1536](https://github.com/open-data-plan/g2plot-vue/issues/1536) 192 | - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.9.0 to 7.10.0 (#1543) ([10b4b60](https://github.com/open-data-plan/g2plot-vue/commit/10b4b60)), closes [#1543](https://github.com/open-data-plan/g2plot-vue/issues/1543) 193 | - chore(deps-dev): bump @typescript-eslint/parser from 7.10.0 to 7.11.0 (#1551) ([107e38c](https://github.com/open-data-plan/g2plot-vue/commit/107e38c)), closes [#1551](https://github.com/open-data-plan/g2plot-vue/issues/1551) 194 | - chore(deps-dev): bump @typescript-eslint/parser from 7.11.0 to 7.12.0 (#1554) ([023a0c5](https://github.com/open-data-plan/g2plot-vue/commit/023a0c5)), closes [#1554](https://github.com/open-data-plan/g2plot-vue/issues/1554) 195 | - chore(deps-dev): bump @typescript-eslint/parser from 7.12.0 to 7.13.0 (#1564) ([af8dc30](https://github.com/open-data-plan/g2plot-vue/commit/af8dc30)), closes [#1564](https://github.com/open-data-plan/g2plot-vue/issues/1564) 196 | - chore(deps-dev): bump @typescript-eslint/parser from 7.13.0 to 7.13.1 (#1571) ([84bed07](https://github.com/open-data-plan/g2plot-vue/commit/84bed07)), closes [#1571](https://github.com/open-data-plan/g2plot-vue/issues/1571) 197 | - chore(deps-dev): bump @typescript-eslint/parser from 7.13.1 to 7.14.1 (#1577) ([22b2bcb](https://github.com/open-data-plan/g2plot-vue/commit/22b2bcb)), closes [#1577](https://github.com/open-data-plan/g2plot-vue/issues/1577) 198 | - chore(deps-dev): bump @typescript-eslint/parser from 7.14.1 to 7.15.0 (#1582) ([b75fc3d](https://github.com/open-data-plan/g2plot-vue/commit/b75fc3d)), closes [#1582](https://github.com/open-data-plan/g2plot-vue/issues/1582) 199 | - chore(deps-dev): bump @typescript-eslint/parser from 7.15.0 to 7.16.0 (#1588) ([8a06470](https://github.com/open-data-plan/g2plot-vue/commit/8a06470)), closes [#1588](https://github.com/open-data-plan/g2plot-vue/issues/1588) 200 | - chore(deps-dev): bump @typescript-eslint/parser from 7.16.0 to 7.16.1 (#1594) ([857ab61](https://github.com/open-data-plan/g2plot-vue/commit/857ab61)), closes [#1594](https://github.com/open-data-plan/g2plot-vue/issues/1594) 201 | - chore(deps-dev): bump @typescript-eslint/parser from 7.16.1 to 7.17.0 (#1601) ([595f7df](https://github.com/open-data-plan/g2plot-vue/commit/595f7df)), closes [#1601](https://github.com/open-data-plan/g2plot-vue/issues/1601) 202 | - chore(deps-dev): bump @typescript-eslint/parser from 7.2.0 to 7.4.0 (#1485) ([197f98c](https://github.com/open-data-plan/g2plot-vue/commit/197f98c)), closes [#1485](https://github.com/open-data-plan/g2plot-vue/issues/1485) 203 | - chore(deps-dev): bump @typescript-eslint/parser from 7.4.0 to 7.5.0 (#1488) ([3415621](https://github.com/open-data-plan/g2plot-vue/commit/3415621)), closes [#1488](https://github.com/open-data-plan/g2plot-vue/issues/1488) 204 | - chore(deps-dev): bump @typescript-eslint/parser from 7.5.0 to 7.6.0 (#1497) ([db6405d](https://github.com/open-data-plan/g2plot-vue/commit/db6405d)), closes [#1497](https://github.com/open-data-plan/g2plot-vue/issues/1497) 205 | - chore(deps-dev): bump @typescript-eslint/parser from 7.6.0 to 7.7.0 (#1507) ([7f61422](https://github.com/open-data-plan/g2plot-vue/commit/7f61422)), closes [#1507](https://github.com/open-data-plan/g2plot-vue/issues/1507) 206 | - chore(deps-dev): bump @typescript-eslint/parser from 7.7.0 to 7.7.1 (#1515) ([460ebab](https://github.com/open-data-plan/g2plot-vue/commit/460ebab)), closes [#1515](https://github.com/open-data-plan/g2plot-vue/issues/1515) 207 | - chore(deps-dev): bump @typescript-eslint/parser from 7.7.1 to 7.8.0 (#1525) ([0b9419d](https://github.com/open-data-plan/g2plot-vue/commit/0b9419d)), closes [#1525](https://github.com/open-data-plan/g2plot-vue/issues/1525) 208 | - chore(deps-dev): bump @typescript-eslint/parser from 7.8.0 to 7.9.0 (#1537) ([5725cbf](https://github.com/open-data-plan/g2plot-vue/commit/5725cbf)), closes [#1537](https://github.com/open-data-plan/g2plot-vue/issues/1537) 209 | - chore(deps-dev): bump @typescript-eslint/parser from 7.9.0 to 7.10.0 (#1542) ([2ed40b6](https://github.com/open-data-plan/g2plot-vue/commit/2ed40b6)), closes [#1542](https://github.com/open-data-plan/g2plot-vue/issues/1542) 210 | - chore(deps-dev): bump @vue/test-utils from 2.4.4 to 2.4.5 (#1473) ([576d4ea](https://github.com/open-data-plan/g2plot-vue/commit/576d4ea)), closes [#1473](https://github.com/open-data-plan/g2plot-vue/issues/1473) 211 | - chore(deps-dev): bump @vue/test-utils from 2.4.5 to 2.4.6 (#1531) ([7a3fa9f](https://github.com/open-data-plan/g2plot-vue/commit/7a3fa9f)), closes [#1531](https://github.com/open-data-plan/g2plot-vue/issues/1531) 212 | - chore(deps-dev): bump conventional-changelog-cli from 4.1.0 to 5.0.0 (#1529) ([41cbcce](https://github.com/open-data-plan/g2plot-vue/commit/41cbcce)), closes [#1529](https://github.com/open-data-plan/g2plot-vue/issues/1529) 213 | - chore(deps-dev): bump eslint from 8.57.0 to 9.0.0 (#1492) ([db3c77b](https://github.com/open-data-plan/g2plot-vue/commit/db3c77b)), closes [#1492](https://github.com/open-data-plan/g2plot-vue/issues/1492) 214 | - chore(deps-dev): bump eslint from 9.0.0 to 9.1.0 (#1513) ([be911a0](https://github.com/open-data-plan/g2plot-vue/commit/be911a0)), closes [#1513](https://github.com/open-data-plan/g2plot-vue/issues/1513) 215 | - chore(deps-dev): bump eslint from 9.1.0 to 9.1.1 (#1518) ([1b578ef](https://github.com/open-data-plan/g2plot-vue/commit/1b578ef)), closes [#1518](https://github.com/open-data-plan/g2plot-vue/issues/1518) 216 | - chore(deps-dev): bump eslint from 9.1.1 to 9.2.0 (#1530) ([d8f991d](https://github.com/open-data-plan/g2plot-vue/commit/d8f991d)), closes [#1530](https://github.com/open-data-plan/g2plot-vue/issues/1530) 217 | - chore(deps-dev): bump eslint from 9.2.0 to 9.3.0 (#1540) ([e78a6f0](https://github.com/open-data-plan/g2plot-vue/commit/e78a6f0)), closes [#1540](https://github.com/open-data-plan/g2plot-vue/issues/1540) 218 | - chore(deps-dev): bump eslint from 9.3.0 to 9.4.0 (#1553) ([0c82b66](https://github.com/open-data-plan/g2plot-vue/commit/0c82b66)), closes [#1553](https://github.com/open-data-plan/g2plot-vue/issues/1553) 219 | - chore(deps-dev): bump eslint from 9.4.0 to 9.5.0 (#1569) ([bb82752](https://github.com/open-data-plan/g2plot-vue/commit/bb82752)), closes [#1569](https://github.com/open-data-plan/g2plot-vue/issues/1569) 220 | - chore(deps-dev): bump eslint from 9.5.0 to 9.6.0 (#1581) ([60989ad](https://github.com/open-data-plan/g2plot-vue/commit/60989ad)), closes [#1581](https://github.com/open-data-plan/g2plot-vue/issues/1581) 221 | - chore(deps-dev): bump eslint from 9.6.0 to 9.7.0 (#1591) ([fc9efb9](https://github.com/open-data-plan/g2plot-vue/commit/fc9efb9)), closes [#1591](https://github.com/open-data-plan/g2plot-vue/issues/1591) 222 | - chore(deps-dev): bump eslint-plugin-n from 16.6.2 to 17.0.0 (#1491) ([4f9cb6a](https://github.com/open-data-plan/g2plot-vue/commit/4f9cb6a)), closes [#1491](https://github.com/open-data-plan/g2plot-vue/issues/1491) 223 | - chore(deps-dev): bump eslint-plugin-n from 17.0.0 to 17.1.0 (#1496) ([2d15327](https://github.com/open-data-plan/g2plot-vue/commit/2d15327)), closes [#1496](https://github.com/open-data-plan/g2plot-vue/issues/1496) 224 | - chore(deps-dev): bump eslint-plugin-n from 17.1.0 to 17.2.0 (#1498) ([e4e9e8e](https://github.com/open-data-plan/g2plot-vue/commit/e4e9e8e)), closes [#1498](https://github.com/open-data-plan/g2plot-vue/issues/1498) 225 | - chore(deps-dev): bump eslint-plugin-n from 17.2.0 to 17.2.1 (#1503) ([4a94fc8](https://github.com/open-data-plan/g2plot-vue/commit/4a94fc8)), closes [#1503](https://github.com/open-data-plan/g2plot-vue/issues/1503) 226 | - chore(deps-dev): bump eslint-plugin-n from 17.2.1 to 17.3.0 (#1520) ([e87cd78](https://github.com/open-data-plan/g2plot-vue/commit/e87cd78)), closes [#1520](https://github.com/open-data-plan/g2plot-vue/issues/1520) 227 | - chore(deps-dev): bump eslint-plugin-n from 17.3.0 to 17.3.1 (#1521) ([98d6641](https://github.com/open-data-plan/g2plot-vue/commit/98d6641)), closes [#1521](https://github.com/open-data-plan/g2plot-vue/issues/1521) 228 | - chore(deps-dev): bump eslint-plugin-n from 17.3.1 to 17.4.0 (#1527) ([10eea25](https://github.com/open-data-plan/g2plot-vue/commit/10eea25)), closes [#1527](https://github.com/open-data-plan/g2plot-vue/issues/1527) 229 | - chore(deps-dev): bump eslint-plugin-n from 17.4.0 to 17.5.1 (#1532) ([2acde56](https://github.com/open-data-plan/g2plot-vue/commit/2acde56)), closes [#1532](https://github.com/open-data-plan/g2plot-vue/issues/1532) 230 | - chore(deps-dev): bump eslint-plugin-n from 17.5.1 to 17.6.0 (#1535) ([7e2f99d](https://github.com/open-data-plan/g2plot-vue/commit/7e2f99d)), closes [#1535](https://github.com/open-data-plan/g2plot-vue/issues/1535) 231 | - chore(deps-dev): bump eslint-plugin-n from 17.6.0 to 17.7.0 (#1538) ([e9c93f1](https://github.com/open-data-plan/g2plot-vue/commit/e9c93f1)), closes [#1538](https://github.com/open-data-plan/g2plot-vue/issues/1538) 232 | - chore(deps-dev): bump eslint-plugin-n from 17.7.0 to 17.8.0 (#1558) ([680add8](https://github.com/open-data-plan/g2plot-vue/commit/680add8)), closes [#1558](https://github.com/open-data-plan/g2plot-vue/issues/1558) 233 | - chore(deps-dev): bump eslint-plugin-n from 17.8.0 to 17.8.1 (#1560) ([84a5458](https://github.com/open-data-plan/g2plot-vue/commit/84a5458)), closes [#1560](https://github.com/open-data-plan/g2plot-vue/issues/1560) 234 | - chore(deps-dev): bump eslint-plugin-n from 17.8.1 to 17.9.0 (#1568) ([f458785](https://github.com/open-data-plan/g2plot-vue/commit/f458785)), closes [#1568](https://github.com/open-data-plan/g2plot-vue/issues/1568) 235 | - chore(deps-dev): bump eslint-plugin-prettier from 5.1.3 to 5.2.1 (#1596) ([d8f290f](https://github.com/open-data-plan/g2plot-vue/commit/d8f290f)), closes [#1596](https://github.com/open-data-plan/g2plot-vue/issues/1596) 236 | - chore(deps-dev): bump eslint-plugin-promise from 6.1.1 to 6.2.0 (#1547) ([89de156](https://github.com/open-data-plan/g2plot-vue/commit/89de156)), closes [#1547](https://github.com/open-data-plan/g2plot-vue/issues/1547) 237 | - chore(deps-dev): bump eslint-plugin-promise from 6.2.0 to 6.4.0 (#1580) ([e70e67c](https://github.com/open-data-plan/g2plot-vue/commit/e70e67c)), closes [#1580](https://github.com/open-data-plan/g2plot-vue/issues/1580) 238 | - chore(deps-dev): bump eslint-plugin-promise from 6.4.0 to 6.6.0 (#1599) ([2ee30d2](https://github.com/open-data-plan/g2plot-vue/commit/2ee30d2)), closes [#1599](https://github.com/open-data-plan/g2plot-vue/issues/1599) 239 | - chore(deps-dev): bump eslint-plugin-vue from 9.23.0 to 9.24.0 (#1483) ([7f1615e](https://github.com/open-data-plan/g2plot-vue/commit/7f1615e)), closes [#1483](https://github.com/open-data-plan/g2plot-vue/issues/1483) 240 | - chore(deps-dev): bump eslint-plugin-vue from 9.24.0 to 9.24.1 (#1493) ([a8c3909](https://github.com/open-data-plan/g2plot-vue/commit/a8c3909)), closes [#1493](https://github.com/open-data-plan/g2plot-vue/issues/1493) 241 | - chore(deps-dev): bump eslint-plugin-vue from 9.24.1 to 9.25.0 (#1504) ([e8fb34f](https://github.com/open-data-plan/g2plot-vue/commit/e8fb34f)), closes [#1504](https://github.com/open-data-plan/g2plot-vue/issues/1504) 242 | - chore(deps-dev): bump eslint-plugin-vue from 9.25.0 to 9.26.0 (#1534) ([f0bacfa](https://github.com/open-data-plan/g2plot-vue/commit/f0bacfa)), closes [#1534](https://github.com/open-data-plan/g2plot-vue/issues/1534) 243 | - chore(deps-dev): bump eslint-plugin-vue from 9.26.0 to 9.27.0 (#1583) ([38adc86](https://github.com/open-data-plan/g2plot-vue/commit/38adc86)), closes [#1583](https://github.com/open-data-plan/g2plot-vue/issues/1583) 244 | - chore(deps-dev): bump husky from 9.0.11 to 9.1.1 (#1597) ([e8268fd](https://github.com/open-data-plan/g2plot-vue/commit/e8268fd)), closes [#1597](https://github.com/open-data-plan/g2plot-vue/issues/1597) 245 | - chore(deps-dev): bump lint-staged from 15.2.2 to 15.2.4 (#1545) ([ad8f6db](https://github.com/open-data-plan/g2plot-vue/commit/ad8f6db)), closes [#1545](https://github.com/open-data-plan/g2plot-vue/issues/1545) 246 | - chore(deps-dev): bump lint-staged from 15.2.4 to 15.2.5 (#1546) ([92257aa](https://github.com/open-data-plan/g2plot-vue/commit/92257aa)), closes [#1546](https://github.com/open-data-plan/g2plot-vue/issues/1546) 247 | - chore(deps-dev): bump lint-staged from 15.2.5 to 15.2.6 (#1565) ([680c9b8](https://github.com/open-data-plan/g2plot-vue/commit/680c9b8)), closes [#1565](https://github.com/open-data-plan/g2plot-vue/issues/1565) 248 | - chore(deps-dev): bump lint-staged from 15.2.6 to 15.2.7 (#1566) ([f2855b4](https://github.com/open-data-plan/g2plot-vue/commit/f2855b4)), closes [#1566](https://github.com/open-data-plan/g2plot-vue/issues/1566) 249 | - chore(deps-dev): bump typescript from 5.4.2 to 5.4.3 (#1481) ([26db3ce](https://github.com/open-data-plan/g2plot-vue/commit/26db3ce)), closes [#1481](https://github.com/open-data-plan/g2plot-vue/issues/1481) 250 | - chore(deps-dev): bump typescript from 5.4.3 to 5.4.4 (#1490) ([9068252](https://github.com/open-data-plan/g2plot-vue/commit/9068252)), closes [#1490](https://github.com/open-data-plan/g2plot-vue/issues/1490) 251 | - chore(deps-dev): bump typescript from 5.4.4 to 5.4.5 (#1499) ([327614f](https://github.com/open-data-plan/g2plot-vue/commit/327614f)), closes [#1499](https://github.com/open-data-plan/g2plot-vue/issues/1499) 252 | - chore(deps-dev): bump typescript from 5.4.5 to 5.5.2 (#1574) ([732f1a8](https://github.com/open-data-plan/g2plot-vue/commit/732f1a8)), closes [#1574](https://github.com/open-data-plan/g2plot-vue/issues/1574) 253 | - chore(deps-dev): bump typescript from 5.5.2 to 5.5.3 (#1584) ([cac8d2e](https://github.com/open-data-plan/g2plot-vue/commit/cac8d2e)), closes [#1584](https://github.com/open-data-plan/g2plot-vue/issues/1584) 254 | - chore(deps-dev): bump typescript from 5.5.3 to 5.5.4 (#1600) ([9b28ad9](https://github.com/open-data-plan/g2plot-vue/commit/9b28ad9)), closes [#1600](https://github.com/open-data-plan/g2plot-vue/issues/1600) 255 | - chore(deps-dev): bump vitepress from 1.0.0-rc.45 to 1.0.2 (#1486) ([346bef2](https://github.com/open-data-plan/g2plot-vue/commit/346bef2)), closes [#1486](https://github.com/open-data-plan/g2plot-vue/issues/1486) 256 | - chore(deps-dev): bump vitepress from 1.0.2 to 1.1.0 (#1495) ([61adc22](https://github.com/open-data-plan/g2plot-vue/commit/61adc22)), closes [#1495](https://github.com/open-data-plan/g2plot-vue/issues/1495) 257 | - chore(deps-dev): bump vitepress from 1.1.0 to 1.1.1 (#1510) ([a25138b](https://github.com/open-data-plan/g2plot-vue/commit/a25138b)), closes [#1510](https://github.com/open-data-plan/g2plot-vue/issues/1510) 258 | - chore(deps-dev): bump vitepress from 1.1.1 to 1.1.3 (#1511) ([43efbc0](https://github.com/open-data-plan/g2plot-vue/commit/43efbc0)), closes [#1511](https://github.com/open-data-plan/g2plot-vue/issues/1511) 259 | - chore(deps-dev): bump vitepress from 1.1.3 to 1.1.4 (#1523) ([5e284e5](https://github.com/open-data-plan/g2plot-vue/commit/5e284e5)), closes [#1523](https://github.com/open-data-plan/g2plot-vue/issues/1523) 260 | - chore(deps-dev): bump vitepress from 1.1.4 to 1.2.0 (#1541) ([52cee8a](https://github.com/open-data-plan/g2plot-vue/commit/52cee8a)), closes [#1541](https://github.com/open-data-plan/g2plot-vue/issues/1541) 261 | - chore(deps-dev): bump vitepress from 1.2.0 to 1.2.2 (#1544) ([4e7a3f0](https://github.com/open-data-plan/g2plot-vue/commit/4e7a3f0)), closes [#1544](https://github.com/open-data-plan/g2plot-vue/issues/1544) 262 | - chore(deps-dev): bump vitepress from 1.2.2 to 1.2.3 (#1556) ([8dbe409](https://github.com/open-data-plan/g2plot-vue/commit/8dbe409)), closes [#1556](https://github.com/open-data-plan/g2plot-vue/issues/1556) 263 | - chore(deps-dev): bump vitepress from 1.2.3 to 1.3.0 (#1586) ([e6a0b3e](https://github.com/open-data-plan/g2plot-vue/commit/e6a0b3e)), closes [#1586](https://github.com/open-data-plan/g2plot-vue/issues/1586) 264 | - chore(deps-dev): bump vitepress from 1.3.0 to 1.3.1 (#1590) ([d656a59](https://github.com/open-data-plan/g2plot-vue/commit/d656a59)), closes [#1590](https://github.com/open-data-plan/g2plot-vue/issues/1590) 265 | - chore(deps-dev): bump vue from 3.4.21 to 3.4.22 (#1506) ([021eb55](https://github.com/open-data-plan/g2plot-vue/commit/021eb55)), closes [#1506](https://github.com/open-data-plan/g2plot-vue/issues/1506) 266 | - chore(deps-dev): bump vue from 3.4.22 to 3.4.23 (#1509) ([9669383](https://github.com/open-data-plan/g2plot-vue/commit/9669383)), closes [#1509](https://github.com/open-data-plan/g2plot-vue/issues/1509) 267 | - chore(deps-dev): bump vue from 3.4.23 to 3.4.24 (#1516) ([699d65c](https://github.com/open-data-plan/g2plot-vue/commit/699d65c)), closes [#1516](https://github.com/open-data-plan/g2plot-vue/issues/1516) 268 | - chore(deps-dev): bump vue from 3.4.24 to 3.4.25 (#1519) ([d66955c](https://github.com/open-data-plan/g2plot-vue/commit/d66955c)), closes [#1519](https://github.com/open-data-plan/g2plot-vue/issues/1519) 269 | - chore(deps-dev): bump vue from 3.4.25 to 3.4.26 (#1522) ([3cbf5e7](https://github.com/open-data-plan/g2plot-vue/commit/3cbf5e7)), closes [#1522](https://github.com/open-data-plan/g2plot-vue/issues/1522) 270 | - chore(deps-dev): bump vue from 3.4.26 to 3.4.27 (#1533) ([91b194d](https://github.com/open-data-plan/g2plot-vue/commit/91b194d)), closes [#1533](https://github.com/open-data-plan/g2plot-vue/issues/1533) 271 | - chore(deps-dev): bump vue from 3.4.27 to 3.4.28 (#1567) ([7f1154a](https://github.com/open-data-plan/g2plot-vue/commit/7f1154a)), closes [#1567](https://github.com/open-data-plan/g2plot-vue/issues/1567) 272 | - chore(deps-dev): bump vue from 3.4.28 to 3.4.29 (#1570) ([3972065](https://github.com/open-data-plan/g2plot-vue/commit/3972065)), closes [#1570](https://github.com/open-data-plan/g2plot-vue/issues/1570) 273 | - chore(deps-dev): bump vue from 3.4.29 to 3.4.30 (#1575) ([82c7ecc](https://github.com/open-data-plan/g2plot-vue/commit/82c7ecc)), closes [#1575](https://github.com/open-data-plan/g2plot-vue/issues/1575) 274 | - chore(deps-dev): bump vue from 3.4.30 to 3.4.31 (#1579) ([f52536e](https://github.com/open-data-plan/g2plot-vue/commit/f52536e)), closes [#1579](https://github.com/open-data-plan/g2plot-vue/issues/1579) 275 | - chore(deps-dev): bump vue from 3.4.31 to 3.4.32 (#1595) ([0e785c5](https://github.com/open-data-plan/g2plot-vue/commit/0e785c5)), closes [#1595](https://github.com/open-data-plan/g2plot-vue/issues/1595) 276 | - chore(deps-dev): bump vue from 3.4.32 to 3.4.33 (#1598) ([c415061](https://github.com/open-data-plan/g2plot-vue/commit/c415061)), closes [#1598](https://github.com/open-data-plan/g2plot-vue/issues/1598) 277 | - chore(deps-dev): bump ws from 7.5.9 to 7.5.10 (#1573) ([f2ef00f](https://github.com/open-data-plan/g2plot-vue/commit/f2ef00f)), closes [#1573](https://github.com/open-data-plan/g2plot-vue/issues/1573) 278 | - chore(deps): bump vue-demi from 0.14.7 to 0.14.8 (#1552) ([312475f](https://github.com/open-data-plan/g2plot-vue/commit/312475f)), closes [#1552](https://github.com/open-data-plan/g2plot-vue/issues/1552) 279 | - ci: update automerge.yml ([b8824fa](https://github.com/open-data-plan/g2plot-vue/commit/b8824fa)) 280 | 281 | ## [3.6.9](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.8...v3.6.9) (2024-03-14) 282 | 283 | ### Bug Fixes 284 | 285 | - fix ts type error ([063d91b](https://github.com/open-data-plan/g2plot-vue/commit/063d91b38314adb0a1d080138b93c36c56a81c28)) 286 | 287 | ## [3.6.8](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.7...v3.6.8) (2024-01-05) 288 | 289 | ### Bug Fixes 290 | 291 | - attrs update ([bb28e15](https://github.com/open-data-plan/g2plot-vue/commit/bb28e15d2b31db56f2c9aa02c0c958bc848f53c2)), closes [#1392](https://github.com/open-data-plan/g2plot-vue/issues/1392) 292 | 293 | ## [3.6.7](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.6...v3.6.7) (2023-07-01) 294 | 295 | ## [3.6.6](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.5...v3.6.6) (2023-04-06) 296 | 297 | ## [3.6.5](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.4...v3.6.5) (2023-01-29) 298 | 299 | ## [3.6.4](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.3...v3.6.4) (2022-07-27) 300 | 301 | ## [3.6.3](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.2...v3.6.3) (2022-01-17) 302 | 303 | ### Bug Fixes 304 | 305 | - **types:** fix type error ([3d9e6c6](https://github.com/open-data-plan/g2plot-vue/commit/3d9e6c6f92dc5668f0ed10f7d30fd56a749f7ac2)) 306 | 307 | ## [3.6.2](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.1...v3.6.2) (2021-11-08) 308 | 309 | ## [3.6.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.0...v3.6.1) (2021-10-28) 310 | 311 | # [3.6.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.5.0...v3.6.0) (2021-09-24) 312 | 313 | ### Features 314 | 315 | - add onReady callback support ([a45c27f](https://github.com/open-data-plan/g2plot-vue/commit/a45c27ff06e9e5d26c2263f4bf8e1ee30ee5091a)) 316 | 317 | # [3.5.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.4.1...v3.5.0) (2021-09-18) 318 | 319 | ### Bug Fixes 320 | 321 | - fix vue peer version for v3 ([5adeca8](https://github.com/open-data-plan/g2plot-vue/commit/5adeca87ca2ec5baf773520c10893edac3d3a217)) 322 | 323 | ### Features 324 | 325 | - introduce VennChart ([bdd9208](https://github.com/open-data-plan/g2plot-vue/commit/bdd9208a82be61bb1b358bd936d2de3820c20d3f)) 326 | 327 | ## [3.4.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.4.0...v3.4.1) (2021-07-22) 328 | 329 | # [3.4.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.3.2...v3.4.0) (2021-07-13) 330 | 331 | ### Features 332 | 333 | - introduce CirclePackingChart ([30014a6](https://github.com/open-data-plan/g2plot-vue/commit/30014a6c3ffea03ebaee54146d6a3155410739c7)) 334 | 335 | ## [3.3.2](https://github.com/open-data-plan/g2plot-vue/compare/v3.3.1...v3.3.2) (2021-07-08) 336 | 337 | ### Bug Fixes 338 | 339 | - fix build output ([e4fdf20](https://github.com/open-data-plan/g2plot-vue/commit/e4fdf205447663c4710c446a78d4826bffce7ed8)), closes [#334](https://github.com/open-data-plan/g2plot-vue/issues/334) 340 | 341 | ## [3.3.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.3.0...v3.3.1) (2021-06-29) 342 | 343 | ### Bug Fixes 344 | 345 | - add sideEffects ([3812d05](https://github.com/open-data-plan/g2plot-vue/commit/3812d05c4774ca6d53c51bcf14be174bd496c43b)) 346 | 347 | # [3.3.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.2.1...v3.3.0) (2021-06-16) 348 | 349 | ### Bug Fixes 350 | 351 | - add @babel/runtime to peer deps, closes: [#293](https://github.com/open-data-plan/g2plot-vue/issues/293) ([fab140e](https://github.com/open-data-plan/g2plot-vue/commit/fab140ecaa376a65c9496ee43070cbc1b6858999)) 352 | 353 | ### Features 354 | 355 | - introduce new charts ([fc7f0f3](https://github.com/open-data-plan/g2plot-vue/commit/fc7f0f3bf3f5ac5c0c8886cd8fde3800a3f57ad6)), closes [#299](https://github.com/open-data-plan/g2plot-vue/issues/299) 356 | 357 | ## [3.2.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.2.0...v3.2.1) (2021-05-19) 358 | 359 | ### Bug Fixes 360 | 361 | - fix MixChart and MultiViewChart ([#256](https://github.com/open-data-plan/g2plot-vue/issues/256)) ([98fee07](https://github.com/open-data-plan/g2plot-vue/commit/98fee07704a71b16df535fd6e202f8c8ae94084c)) 362 | 363 | # [3.2.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.13...v3.2.0) (2021-05-14) 364 | 365 | ### Features 366 | 367 | - add MixChart and deprecate MultiViewChart ([81020bf](https://github.com/open-data-plan/g2plot-vue/commit/81020bf0c7aa4e2c69307cbdcc92407d5c9242b1)) 368 | 369 | ## [3.1.13](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.12...v3.1.13) (2021-04-23) 370 | 371 | ### Bug Fixes 372 | 373 | - fix ref ([f99bd4e](https://github.com/open-data-plan/g2plot-vue/commit/f99bd4ec1a09bb2c494b03eb2fc90c33f336b858)) 374 | - fix types definitions ([2652624](https://github.com/open-data-plan/g2plot-vue/commit/2652624d24d24efec83ae49bc2aaa79e75de1a8d)) 375 | 376 | ## [3.1.12](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.11...v3.1.12) (2021-04-07) 377 | 378 | ### Bug Fixes 379 | 380 | - fix chartRef ([ab4c947](https://github.com/open-data-plan/g2plot-vue/commit/ab4c947c5f0564317f98dbdfec40b91698adb214)) 381 | 382 | ## [3.1.11](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.10...v3.1.11) (2021-04-07) 383 | 384 | ## [3.1.10](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.9...v3.1.10) (2021-04-07) 385 | 386 | ### Bug Fixes 387 | 388 | - fix postinstall script ([17ec50f](https://github.com/open-data-plan/g2plot-vue/commit/17ec50fad6d670c79e3f37ca5b2646d4394d2627)) 389 | 390 | ## [3.1.9](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.8...v3.1.9) (2021-04-07) 391 | 392 | ### Bug Fixes 393 | 394 | - fix attrs chang not trigger re-render in vue 2 ([58f3bad](https://github.com/open-data-plan/g2plot-vue/commit/58f3bad0de5fce86a08606bbf530ded4b32d0426)), closes [#203](https://github.com/open-data-plan/g2plot-vue/issues/203) 395 | 396 | ## [3.1.8](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.7...v3.1.8) (2021-03-29) 397 | 398 | ### Bug Fixes 399 | 400 | - add core-js to deps ([64b3333](https://github.com/open-data-plan/g2plot-vue/commit/64b33335a18b4e00c7ea084d894eee3e5fdafc9a)) 401 | 402 | ## [3.1.7](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.6...v3.1.7) (2021-03-29) 403 | 404 | ### Features 405 | 406 | - bump vue-demi ([25b5757](https://github.com/open-data-plan/g2plot-vue/commit/25b5757fcf74857b9407b63168c45ceb70b851ce)) 407 | 408 | ## [3.1.6](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.5...v3.1.6) (2021-03-19) 409 | 410 | ## [3.1.5](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.4...v3.1.5) (2021-03-03) 411 | 412 | ### Bug Fixes 413 | 414 | - compatible with vue 2 ([bf772c1](https://github.com/open-data-plan/g2plot-vue/commit/bf772c19000a90b80dfaeff0c6e13b981924fbdf)) 415 | 416 | ## [3.1.4](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.3...v3.1.4) (2021-03-03) 417 | 418 | ### Bug Fixes 419 | 420 | - fix vue 2 jsx transform error ([f503530](https://github.com/open-data-plan/g2plot-vue/commit/f503530aba2dd907527c7969d4b0b45a7f1d9d68)) 421 | 422 | ## [3.1.3](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.2...v3.1.3) (2021-03-03) 423 | 424 | ### Bug Fixes 425 | 426 | - fix render error in vue 2 ([63d9901](https://github.com/open-data-plan/g2plot-vue/commit/63d99016d27f414bbd1ccdb8c0928f5e7ebe74d9)) 427 | 428 | ## [3.1.2](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.1...v3.1.2) (2021-03-03) 429 | 430 | ### Bug Fixes 431 | 432 | - fix missed postinstall scripts ([3090f9a](https://github.com/open-data-plan/g2plot-vue/commit/3090f9afee68cc327e639ca3f515b706b4966976)) 433 | 434 | ## [3.1.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.0...v3.1.1) (2021-03-03) 435 | 436 | ### Bug Fixes 437 | 438 | - fix output version ([407ef56](https://github.com/open-data-plan/g2plot-vue/commit/407ef562d8433266b07694af559530beeefa8416)) 439 | 440 | # [3.1.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.0.1...v3.1.0) (2021-03-03) 441 | 442 | ### Features 443 | 444 | - add MultiViewChart ([c7adfc1](https://github.com/open-data-plan/g2plot-vue/commit/c7adfc16cd911daab89d4511ca4705a8c61409f3)) 445 | 446 | ## [3.0.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.0.0...v3.0.1) (2021-03-03) 447 | 448 | ### Bug Fixes 449 | 450 | - add g2plot to peer ([30f8ab3](https://github.com/open-data-plan/g2plot-vue/commit/30f8ab37517698148fb6dd6793b7af69a7ce4191)) 451 | 452 | # [3.0.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.4.2...v3.0.0) (2021-03-03) 453 | 454 | ### Features 455 | 456 | - support vue 2 ([67a657b](https://github.com/open-data-plan/g2plot-vue/commit/67a657bc61f3f13b2f05c3014371518128cbc035)) 457 | 458 | ## [2.4.2](https://github.com/open-data-plan/g2plot-vue/compare/v2.4.0...v2.4.2) (2021-02-22) 459 | 460 | ### Bug Fixes 461 | 462 | - fix types definitions ([39badf2](https://github.com/open-data-plan/g2plot-vue/commit/39badf2ea51a833185a915af29baf152f30dd939)), closes [#141](https://github.com/open-data-plan/g2plot-vue/issues/141) 463 | - mark props as writeable ([ae73878](https://github.com/open-data-plan/g2plot-vue/commit/ae738782b5b43c9ec75a35fd6e566367bf007481)), closes [#138](https://github.com/open-data-plan/g2plot-vue/issues/138) 464 | 465 | # [2.4.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.3.1...v2.4.0) (2021-01-15) 466 | 467 | ### Features 468 | 469 | - introduce new charts ([dba197a](https://github.com/open-data-plan/g2plot-vue/commit/dba197a48ec3b8f70699045081b1e91797447348)) 470 | 471 | ## [2.3.1](https://github.com/open-data-plan/g2plot-vue/compare/v2.3.0...v2.3.1) (2020-11-24) 472 | 473 | # [2.3.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.2.0...v2.3.0) (2020-11-10) 474 | 475 | ### Features 476 | 477 | - add new chart ([2262259](https://github.com/open-data-plan/g2plot-vue/commit/2262259be07e415ab0142c851b225c5403657d71)) 478 | 479 | # [2.2.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.1.0...v2.2.0) (2020-10-23) 480 | 481 | ### Features 482 | 483 | - add new chart ([43c0882](https://github.com/open-data-plan/g2plot-vue/commit/43c08825b4cfa4134eca425a5507b3dfed474c5f)) 484 | 485 | # [2.1.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.0.0...v2.1.0) (2020-10-16) 486 | 487 | ### Features 488 | 489 | - add waterfall chart suport ([902ccd1](https://github.com/open-data-plan/g2plot-vue/commit/902ccd1c8d2344871335c888b20192eae6cda057)) 490 | 491 | # [2.0.0](https://github.com/open-data-plan/g2plot-vue/compare/v1.0.0...v2.0.0) (2020-10-13) 492 | 493 | ### Features 494 | 495 | - compatible with g2plot v2 ([e71643c](https://github.com/open-data-plan/g2plot-vue/commit/e71643c8aaa9d037a8291d99a3e27bb02875e518)) 496 | 497 | # [1.0.0](https://github.com/open-data-plan/g2plot-vue/compare/c9116e3280cd5c18241cd101aa787063806fe19f...v1.0.0) (2020-09-01) 498 | 499 | ### Bug Fixes 500 | 501 | - fix vue waring ([6cc5441](https://github.com/open-data-plan/g2plot-vue/commit/6cc54414038b93f2eb64098348333de365e65591)) 502 | 503 | ### Features 504 | 505 | - support g2plot chart ([c9116e3](https://github.com/open-data-plan/g2plot-vue/commit/c9116e3280cd5c18241cd101aa787063806fe19f)) 506 | 507 | ## [3.6.6](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.5...v3.6.6) (2023-04-06) 508 | 509 | ## [3.6.5](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.4...v3.6.5) (2023-01-29) 510 | 511 | ## [3.6.4](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.3...v3.6.4) (2022-07-27) 512 | 513 | ## [3.6.3](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.2...v3.6.3) (2022-01-17) 514 | 515 | ### Bug Fixes 516 | 517 | - **types:** fix type error ([3d9e6c6](https://github.com/open-data-plan/g2plot-vue/commit/3d9e6c6f92dc5668f0ed10f7d30fd56a749f7ac2)) 518 | 519 | ## [3.6.2](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.1...v3.6.2) (2021-11-08) 520 | 521 | ## [3.6.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.6.0...v3.6.1) (2021-10-28) 522 | 523 | # [3.6.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.5.0...v3.6.0) (2021-09-24) 524 | 525 | ### Features 526 | 527 | - add onReady callback support ([a45c27f](https://github.com/open-data-plan/g2plot-vue/commit/a45c27ff06e9e5d26c2263f4bf8e1ee30ee5091a)) 528 | 529 | # [3.5.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.4.1...v3.5.0) (2021-09-18) 530 | 531 | ### Bug Fixes 532 | 533 | - fix vue peer version for v3 ([5adeca8](https://github.com/open-data-plan/g2plot-vue/commit/5adeca87ca2ec5baf773520c10893edac3d3a217)) 534 | 535 | ### Features 536 | 537 | - introduce VennChart ([bdd9208](https://github.com/open-data-plan/g2plot-vue/commit/bdd9208a82be61bb1b358bd936d2de3820c20d3f)) 538 | 539 | ## [3.4.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.4.0...v3.4.1) (2021-07-22) 540 | 541 | # [3.4.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.3.2...v3.4.0) (2021-07-13) 542 | 543 | ### Features 544 | 545 | - introduce CirclePackingChart ([30014a6](https://github.com/open-data-plan/g2plot-vue/commit/30014a6c3ffea03ebaee54146d6a3155410739c7)) 546 | 547 | ## [3.3.2](https://github.com/open-data-plan/g2plot-vue/compare/v3.3.1...v3.3.2) (2021-07-08) 548 | 549 | ### Bug Fixes 550 | 551 | - fix build output ([e4fdf20](https://github.com/open-data-plan/g2plot-vue/commit/e4fdf205447663c4710c446a78d4826bffce7ed8)), closes [#334](https://github.com/open-data-plan/g2plot-vue/issues/334) 552 | 553 | ## [3.3.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.3.0...v3.3.1) (2021-06-29) 554 | 555 | ### Bug Fixes 556 | 557 | - add sideEffects ([3812d05](https://github.com/open-data-plan/g2plot-vue/commit/3812d05c4774ca6d53c51bcf14be174bd496c43b)) 558 | 559 | # [3.3.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.2.1...v3.3.0) (2021-06-16) 560 | 561 | ### Bug Fixes 562 | 563 | - add @babel/runtime to peer deps, closes: [#293](https://github.com/open-data-plan/g2plot-vue/issues/293) ([fab140e](https://github.com/open-data-plan/g2plot-vue/commit/fab140ecaa376a65c9496ee43070cbc1b6858999)) 564 | 565 | ### Features 566 | 567 | - introduce new charts ([fc7f0f3](https://github.com/open-data-plan/g2plot-vue/commit/fc7f0f3bf3f5ac5c0c8886cd8fde3800a3f57ad6)), closes [#299](https://github.com/open-data-plan/g2plot-vue/issues/299) 568 | 569 | ## [3.2.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.2.0...v3.2.1) (2021-05-19) 570 | 571 | ### Bug Fixes 572 | 573 | - fix MixChart and MultiViewChart ([#256](https://github.com/open-data-plan/g2plot-vue/issues/256)) ([98fee07](https://github.com/open-data-plan/g2plot-vue/commit/98fee07704a71b16df535fd6e202f8c8ae94084c)) 574 | 575 | # [3.2.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.13...v3.2.0) (2021-05-14) 576 | 577 | ### Features 578 | 579 | - add MixChart and deprecate MultiViewChart ([81020bf](https://github.com/open-data-plan/g2plot-vue/commit/81020bf0c7aa4e2c69307cbdcc92407d5c9242b1)) 580 | 581 | ## [3.1.13](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.12...v3.1.13) (2021-04-23) 582 | 583 | ### Bug Fixes 584 | 585 | - fix ref ([f99bd4e](https://github.com/open-data-plan/g2plot-vue/commit/f99bd4ec1a09bb2c494b03eb2fc90c33f336b858)) 586 | - fix types definitions ([2652624](https://github.com/open-data-plan/g2plot-vue/commit/2652624d24d24efec83ae49bc2aaa79e75de1a8d)) 587 | 588 | ## [3.1.12](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.11...v3.1.12) (2021-04-07) 589 | 590 | ### Bug Fixes 591 | 592 | - fix chartRef ([ab4c947](https://github.com/open-data-plan/g2plot-vue/commit/ab4c947c5f0564317f98dbdfec40b91698adb214)) 593 | 594 | ## [3.1.11](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.10...v3.1.11) (2021-04-07) 595 | 596 | ## [3.1.10](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.9...v3.1.10) (2021-04-07) 597 | 598 | ### Bug Fixes 599 | 600 | - fix postinstall script ([17ec50f](https://github.com/open-data-plan/g2plot-vue/commit/17ec50fad6d670c79e3f37ca5b2646d4394d2627)) 601 | 602 | ## [3.1.9](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.8...v3.1.9) (2021-04-07) 603 | 604 | ### Bug Fixes 605 | 606 | - fix attrs chang not trigger re-render in vue 2 ([58f3bad](https://github.com/open-data-plan/g2plot-vue/commit/58f3bad0de5fce86a08606bbf530ded4b32d0426)), closes [#203](https://github.com/open-data-plan/g2plot-vue/issues/203) 607 | 608 | ## [3.1.8](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.7...v3.1.8) (2021-03-29) 609 | 610 | ### Bug Fixes 611 | 612 | - add core-js to deps ([64b3333](https://github.com/open-data-plan/g2plot-vue/commit/64b33335a18b4e00c7ea084d894eee3e5fdafc9a)) 613 | 614 | ## [3.1.7](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.6...v3.1.7) (2021-03-29) 615 | 616 | ### Features 617 | 618 | - bump vue-demi ([25b5757](https://github.com/open-data-plan/g2plot-vue/commit/25b5757fcf74857b9407b63168c45ceb70b851ce)) 619 | 620 | ## [3.1.6](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.5...v3.1.6) (2021-03-19) 621 | 622 | ## [3.1.5](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.4...v3.1.5) (2021-03-03) 623 | 624 | ### Bug Fixes 625 | 626 | - compatible with vue 2 ([bf772c1](https://github.com/open-data-plan/g2plot-vue/commit/bf772c19000a90b80dfaeff0c6e13b981924fbdf)) 627 | 628 | ## [3.1.4](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.3...v3.1.4) (2021-03-03) 629 | 630 | ### Bug Fixes 631 | 632 | - fix vue 2 jsx transform error ([f503530](https://github.com/open-data-plan/g2plot-vue/commit/f503530aba2dd907527c7969d4b0b45a7f1d9d68)) 633 | 634 | ## [3.1.3](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.2...v3.1.3) (2021-03-03) 635 | 636 | ### Bug Fixes 637 | 638 | - fix render error in vue 2 ([63d9901](https://github.com/open-data-plan/g2plot-vue/commit/63d99016d27f414bbd1ccdb8c0928f5e7ebe74d9)) 639 | 640 | ## [3.1.2](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.1...v3.1.2) (2021-03-03) 641 | 642 | ### Bug Fixes 643 | 644 | - fix missed postinstall scripts ([3090f9a](https://github.com/open-data-plan/g2plot-vue/commit/3090f9afee68cc327e639ca3f515b706b4966976)) 645 | 646 | ## [3.1.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.1.0...v3.1.1) (2021-03-03) 647 | 648 | ### Bug Fixes 649 | 650 | - fix output version ([407ef56](https://github.com/open-data-plan/g2plot-vue/commit/407ef562d8433266b07694af559530beeefa8416)) 651 | 652 | # [3.1.0](https://github.com/open-data-plan/g2plot-vue/compare/v3.0.1...v3.1.0) (2021-03-03) 653 | 654 | ### Features 655 | 656 | - add MultiViewChart ([c7adfc1](https://github.com/open-data-plan/g2plot-vue/commit/c7adfc16cd911daab89d4511ca4705a8c61409f3)) 657 | 658 | ## [3.0.1](https://github.com/open-data-plan/g2plot-vue/compare/v3.0.0...v3.0.1) (2021-03-03) 659 | 660 | ### Bug Fixes 661 | 662 | - add g2plot to peer ([30f8ab3](https://github.com/open-data-plan/g2plot-vue/commit/30f8ab37517698148fb6dd6793b7af69a7ce4191)) 663 | 664 | # [3.0.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.4.2...v3.0.0) (2021-03-03) 665 | 666 | ### Features 667 | 668 | - support vue 2 ([67a657b](https://github.com/open-data-plan/g2plot-vue/commit/67a657bc61f3f13b2f05c3014371518128cbc035)) 669 | 670 | ## [2.4.2](https://github.com/open-data-plan/g2plot-vue/compare/v2.4.0...v2.4.2) (2021-02-22) 671 | 672 | ### Bug Fixes 673 | 674 | - fix types definitions ([39badf2](https://github.com/open-data-plan/g2plot-vue/commit/39badf2ea51a833185a915af29baf152f30dd939)), closes [#141](https://github.com/open-data-plan/g2plot-vue/issues/141) 675 | - mark props as writeable ([ae73878](https://github.com/open-data-plan/g2plot-vue/commit/ae738782b5b43c9ec75a35fd6e566367bf007481)), closes [#138](https://github.com/open-data-plan/g2plot-vue/issues/138) 676 | 677 | ## [2.4.1](https://github.com/open-data-plan/g2plot-vue/compare/v2.4.0...v2.4.1) (2021-02-19) 678 | 679 | ### Bug Fixes 680 | 681 | - mark props as writeable ([ae73878](https://github.com/open-data-plan/g2plot-vue/commit/ae738782b5b43c9ec75a35fd6e566367bf007481)), closes [#138](https://github.com/open-data-plan/g2plot-vue/issues/138) 682 | 683 | # [2.4.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.3.1...v2.4.0) (2021-01-15) 684 | 685 | ### Features 686 | 687 | - introduce new charts ([dba197a](https://github.com/open-data-plan/g2plot-vue/commit/dba197a48ec3b8f70699045081b1e91797447348)) 688 | 689 | ## [2.3.1](https://github.com/open-data-plan/g2plot-vue/compare/v2.3.0...v2.3.1) (2020-11-24) 690 | 691 | # [2.3.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.2.0...v2.3.0) (2020-11-10) 692 | 693 | ### Features 694 | 695 | - add new chart ([2262259](https://github.com/open-data-plan/g2plot-vue/commit/2262259be07e415ab0142c851b225c5403657d71)) 696 | 697 | # [2.2.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.1.0...v2.2.0) (2020-10-23) 698 | 699 | ### Features 700 | 701 | - add new chart ([43c0882](https://github.com/open-data-plan/g2plot-vue/commit/43c08825b4cfa4134eca425a5507b3dfed474c5f)) 702 | 703 | # [2.1.0](https://github.com/open-data-plan/g2plot-vue/compare/v2.0.0...v2.1.0) (2020-10-16) 704 | 705 | ### Features 706 | 707 | - add waterfall chart suport ([902ccd1](https://github.com/open-data-plan/g2plot-vue/commit/902ccd1c8d2344871335c888b20192eae6cda057)) 708 | 709 | # [2.0.0](https://github.com/open-data-plan/g2plot-vue/compare/v1.0.0...v2.0.0) (2020-10-13) 710 | 711 | ### Features 712 | 713 | - compatible with g2plot v2 ([e71643c](https://github.com/open-data-plan/g2plot-vue/commit/e71643c8aaa9d037a8291d99a3e27bb02875e518)) 714 | 715 | # [1.0.0](https://github.com/open-data-plan/g2plot-vue/compare/c9116e3280cd5c18241cd101aa787063806fe19f...v1.0.0) (2020-09-01) 716 | 717 | ### Bug Fixes 718 | 719 | - fix vue waring ([6cc5441](https://github.com/open-data-plan/g2plot-vue/commit/6cc54414038b93f2eb64098348333de365e65591)) 720 | 721 | ### Features 722 | 723 | - support g2plot chart ([c9116e3](https://github.com/open-data-plan/g2plot-vue/commit/c9116e3280cd5c18241cd101aa787063806fe19f)) 724 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | - Using welcoming and inclusive language 18 | - Being respectful of differing viewpoints and experiences 19 | - Gracefully accepting constructive criticism 20 | - Focusing on what is best for the community 21 | - Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | - The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | - Trolling, insulting/derogatory comments, and personal or political attacks 28 | - Public or private harassment 29 | - Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | - Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at kingsongao1221@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # CONTRIBUTING 2 | 3 | ## Process 4 | 5 | 1. Fork repository 6 | 1. Create a branch based on `master` 7 | 1. Do what you want 8 | 1. Pull request 9 | 1. Review 10 | 1. Merge or Block 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Open Data Plan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | # @opd/g2plot-vue 6 | 7 | > [G2Plot](https://g2plot.antv.vision/) for `Vue`, see [documentation](https://g2plot-vue.opd.cool) for more 8 | 9 | [![build](https://github.com/open-data-plan/g2plot-vue/workflows/build/badge.svg)](https://github.com/open-data-plan/g2plot-vue/actions?query=workflow%3Abuild) 10 | [![npm](https://img.shields.io/npm/v/@opd/g2plot-vue.svg)](https://www.npmjs.com/package/@opd/g2plot-vue) 11 | [![npm](https://img.shields.io/npm/dm/@opd/g2plot-vue.svg)](https://www.npmjs.com/package/@opd/g2plot-vue) 12 | [![npm](https://img.shields.io/npm/l/@opd/g2plot-vue.svg)](https://www.npmjs.com/package/@opd/g2plot-vue) 13 | [![codecov](https://codecov.io/gh/open-data-plan/g2plot-vue/branch/master/graph/badge.svg)](https://codecov.io/gh/open-data-plan/g2plot-vue) 14 | [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopen-data-plan%2Fg2plot-vue.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopen-data-plan%2Fg2plot-vue?ref=badge_shield) 15 | 16 | ## Install 17 | 18 | ``` 19 | npm install @opd/g2plot-vue 20 | ``` 21 | 22 | ## Usage 23 | 24 | [![Edit g2plot-vue-basic-example](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/g2plot-vue-basic-example-uxde9?fontsize=14&hidenavigation=1&theme=dark) 25 | 26 | ### jsx 27 | 28 | ```tsx 29 | import { defineComponent, ref } from 'vue' 30 | import { LineChart, LineChartProps } from '@opd/g2plot-vue' 31 | 32 | const config: LineChartProps = { 33 | height: 350, 34 | autoFit: true, 35 | xField: 'year', 36 | yField: 'value', 37 | smooth: true, 38 | meta: { 39 | value: { 40 | max: 15, 41 | }, 42 | }, 43 | data: [ 44 | { year: '1991', value: 3 }, 45 | { year: '1992', value: 4 }, 46 | { year: '1993', value: 3.5 }, 47 | { year: '1994', value: 5 }, 48 | { year: '1995', value: 4.9 }, 49 | { year: '1996', value: 6 }, 50 | { year: '1997', value: 7 }, 51 | { year: '1998', value: 9 }, 52 | { year: '1999', value: 11 }, 53 | ], 54 | } 55 | 56 | export default defineComponent(() => { 57 | const chartRef = ref(null) 58 | return () => 59 | }) 60 | ``` 61 | 62 | ### template 63 | 64 | ```vue 65 | 68 | 104 | ``` 105 | 106 | ## DEMO 107 | 108 | - Vue 3 109 | - [github](https://github.com/open-data-plan/g2plot-vue-demo) 110 | - [online](http://g2plot-vue-demo-opd.vercel.app/) 111 | 112 | ## API 113 | 114 | All config defined in `G2Plot` [document](https://g2plot.antv.vision/zh/docs/manual/introduction) can be used as `props` or `attrs` 115 | 116 | Notable API in `g2plot-vue` 117 | 118 | - `chartRef`: `ref` of rendered `plot`, available after `plot` mounted, **NOT** component mounted 119 | - `onReady`: `callback` after `plot` mounted, **NOT** component mounted 120 | 121 | ## FYI 122 | 123 | - [Build failed with `vite`](https://github.com/open-data-plan/g2plot-vue/issues/505) 124 | 125 | `g2plot-vue` use `babel` to build output files, and transform `@babel/runtime` with dependencies, so `@babel/runtime` is required. 126 | 127 | ## Develop 128 | 129 | ``` 130 | npm install 131 | npm run build 132 | ``` 133 | 134 | ## License 135 | 136 | [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopen-data-plan%2Fg2plot-vue.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopen-data-plan%2Fg2plot-vue?ref=badge_large) 137 | -------------------------------------------------------------------------------- /__tests__/index.spec.tsx: -------------------------------------------------------------------------------- 1 | import * as components from '../src' 2 | 3 | describe('index.tsx', () => { 4 | it('component exported', () => { 5 | expect(components).toBeTruthy() 6 | expect(components).toHaveProperty('LineChart') 7 | }) 8 | }) 9 | -------------------------------------------------------------------------------- /__tests__/plots/area.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import AreaChart from '../../src/plots/area' 3 | 4 | const config = { 5 | data: [], 6 | xField: 'a', 7 | yField: 'b', 8 | } 9 | 10 | describe('AreaChart', () => { 11 | test('should render without crashed', () => { 12 | mount(() => ) 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /__tests__/plots/bar.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import BarChart from '../../src/plots/bar' 3 | 4 | describe('BarChart', () => { 5 | test('should render without crashed', () => { 6 | mount(BarChart, { 7 | props: { 8 | data: [], 9 | xField: 'a', 10 | yField: 'b', 11 | }, 12 | }) 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /__tests__/plots/bidirectional-bar.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import BidirectionalBarChart from '../../src/plots/bidirectional-bar' 3 | 4 | const config = { 5 | data: [ 6 | { 7 | a: 'a', 8 | b: 1, 9 | c: 2, 10 | }, 11 | ], 12 | xField: 'a', 13 | yField: ['b', 'c'] as [string, string], 14 | } 15 | 16 | describe('BidirectionalBarChart', () => { 17 | test('should render without crashed', () => { 18 | mount(() => ) 19 | }) 20 | }) 21 | -------------------------------------------------------------------------------- /__tests__/plots/box.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import BoxChart from '../../src/plots/box' 3 | 4 | const config = { 5 | data: [], 6 | xField: 'a', 7 | yField: 'b', 8 | } 9 | 10 | describe('BoxChart', () => { 11 | test('should render without crashed', () => { 12 | mount(() => ) 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /__tests__/plots/bullet.spec.tsx: -------------------------------------------------------------------------------- 1 | import { BulletOptions } from '@antv/g2plot' 2 | import { mount } from '@vue/test-utils' 3 | import BulletChart from '../../src/plots/bullet' 4 | 5 | const props: BulletOptions = { 6 | data: [ 7 | { 8 | title: '满意度', 9 | ranges: [100], 10 | measures: [80], 11 | target: 85, 12 | }, 13 | ], 14 | measureField: 'measures', 15 | rangeField: 'ranges', 16 | targetField: 'target', 17 | xField: 'title', 18 | style: { 19 | range: { 20 | color: '#5B8FF9', 21 | }, 22 | measure: { 23 | color: '#5B8FF9', 24 | }, 25 | target: { 26 | color: '#5B8FF9', 27 | }, 28 | }, 29 | xAxis: { 30 | line: null, 31 | }, 32 | yAxis: false, 33 | } 34 | 35 | describe('BulletChart', () => { 36 | test('should render without crashed', () => { 37 | mount(() => ) 38 | }) 39 | }) 40 | -------------------------------------------------------------------------------- /__tests__/plots/chord.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import ChordChart from '../../src/plots/chord' 3 | 4 | const DATA = [ 5 | { source: '北京', target: '天津', value: 30 }, 6 | { source: '北京', target: '上海', value: 80 }, 7 | { source: '北京', target: '河北', value: 46 }, 8 | { source: '北京', target: '辽宁', value: 49 }, 9 | { source: '北京', target: '黑龙江', value: 69 }, 10 | { source: '北京', target: '吉林', value: 19 }, 11 | { source: '天津', target: '河北', value: 62 }, 12 | { source: '天津', target: '辽宁', value: 82 }, 13 | { source: '天津', target: '上海', value: 16 }, 14 | { source: '上海', target: '黑龙江', value: 16 }, 15 | { source: '河北', target: '黑龙江', value: 76 }, 16 | { source: '河北', target: '内蒙古', value: 24 }, 17 | { source: '内蒙古', target: '北京', value: 32 }, 18 | ] 19 | 20 | const config = { 21 | data: DATA, 22 | sourceField: 'source', 23 | targetField: 'target', 24 | weightField: 'value', 25 | } 26 | 27 | describe('ChordChart', () => { 28 | test('should render without crashed', () => { 29 | mount(() => ) 30 | }) 31 | }) 32 | -------------------------------------------------------------------------------- /__tests__/plots/circle-packing-data.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "root", 3 | "children": [ 4 | { "name": "Drama", "value": 1046790 }, 5 | { "name": "Comedy", "value": 1039358 }, 6 | { "name": "Documentary", "value": 461880 }, 7 | { "name": "News", "value": 308136 }, 8 | { "name": "Talk-Show", "value": 270578 }, 9 | { "name": "Action", "value": 226334 }, 10 | { "name": "Animation", "value": 197342 }, 11 | { "name": "Reality-TV", "value": 189739 }, 12 | { "name": "Crime", "value": 175272 }, 13 | { "name": "Family", "value": 150621 }, 14 | { "name": "Short", "value": 138255 }, 15 | { "name": "Adventure", "value": 121216 }, 16 | { "name": "Game-Show", "value": 119912 }, 17 | { "name": "Music", "value": 102488 }, 18 | { "name": "Adult", "value": 90157 }, 19 | { "name": "Biography", "value": 59307 }, 20 | { "name": "Sport", "value": 58999 }, 21 | { "name": "Romance", "value": 52776 }, 22 | { "name": "Horror", "value": 50800 }, 23 | { "name": "Fantasy", "value": 22614 }, 24 | { "name": "Sci-Fi", "value": 22026 }, 25 | { "name": "Thriller", "value": 19706 }, 26 | { "name": "Mystery", "value": 18274 }, 27 | { "name": "History", "value": 16108 }, 28 | { "name": "Western", "value": 12535 }, 29 | { "name": "Musical", "value": 12240 }, 30 | { "name": "War", "value": 1992 }, 31 | { "name": "Film-Noir", "value": 36 } 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /__tests__/plots/circle-packing.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import CirclePackingChart, { CirclePackingChartProps } from '../../src/plots/circle-packing' 3 | import data from './circle-packing-data.json' 4 | 5 | const config: CirclePackingChartProps = { 6 | autoFit: true, 7 | data: data as Record, 8 | label: false, 9 | legend: false, 10 | hierarchyConfig: { 11 | sort: (a, b) => b.depth - a.depth, 12 | }, 13 | } 14 | 15 | describe('CirclePackingChart', () => { 16 | test('should render without crashed', () => { 17 | mount(() => ) 18 | }) 19 | }) 20 | -------------------------------------------------------------------------------- /__tests__/plots/column.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/column' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/dual-axes.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import DualAxesChart from '../../src/plots/dual-axes' 3 | const data = [ 4 | { year: '1991', value: 3, count: 10 }, 5 | { year: '1992', value: 4, count: 4 }, 6 | { year: '1993', value: 3.5, count: 5 }, 7 | { year: '1994', value: 5, count: 5 }, 8 | { year: '1995', value: 4.9, count: 4.9 }, 9 | { year: '1996', value: 6, count: 35 }, 10 | { year: '1997', value: 7, count: 7 }, 11 | { year: '1998', value: 9, count: 1 }, 12 | { year: '1999', value: 13, count: 20 }, 13 | ] 14 | const config = { 15 | data: [data, data], 16 | xField: 'year', 17 | yField: ['value', 'count'], 18 | } 19 | 20 | describe('DualAxesChart', () => { 21 | test('should render without crashed', () => { 22 | mount(() => ) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /__tests__/plots/facet.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import FacetChart, { FacetChartProps } from '../../src/plots/facet' 3 | 4 | const config: FacetChartProps = { 5 | padding: [0, 10, 10], 6 | appendPadding: [0, 0, 30, 20], 7 | type: 'rect', 8 | fields: ['cut'], 9 | cols: 3, // 超过3个换行 10 | data: [], 11 | axes: {}, 12 | meta: { 13 | carat: { 14 | sync: true, 15 | }, 16 | price: { 17 | sync: true, 18 | }, 19 | clarity: { 20 | sync: true, 21 | }, 22 | }, 23 | eachView: (view, f) => { 24 | return { 25 | type: 'scatter', 26 | options: { 27 | data: f.data, 28 | xField: 'carat', 29 | yField: 'price', 30 | colorField: 'clarity', 31 | shape: 'circle', 32 | pointStyle: { fillOpacity: 0.3, stroke: null }, 33 | }, 34 | } 35 | }, 36 | } 37 | 38 | describe('FacetChart', () => { 39 | test('should render without crashed', () => { 40 | mount(() => ) 41 | }) 42 | }) 43 | -------------------------------------------------------------------------------- /__tests__/plots/funnel.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import FunnelChart from '../../src/plots/funnel' 3 | 4 | describe('FunnelChart', () => { 5 | test('should render without crashed', () => { 6 | mount(() => ) 7 | }) 8 | }) 9 | -------------------------------------------------------------------------------- /__tests__/plots/guage.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/gauge' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/heatmap.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/heatmap' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/histogram.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/histogram' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | const config = { 7 | data: [], 8 | binField: 'value', 9 | binWidth: 2, 10 | } 11 | mount() 12 | }) 13 | }) 14 | -------------------------------------------------------------------------------- /__tests__/plots/line.spec.tsx: -------------------------------------------------------------------------------- 1 | import { LineOptions, Plot } from '@antv/g2plot' 2 | import { mount } from '@vue/test-utils' 3 | import { ref } from 'vue' 4 | import LineChart from '../../src/plots/line' 5 | 6 | describe('LineChart', () => { 7 | test('render without crashed', () => { 8 | const chartRef = ref(null) 9 | const onReady = (plot: Plot) => { 10 | expect(plot).toBeDefined() 11 | } 12 | mount() 13 | 14 | expect(chartRef.value).toBeDefined() 15 | }) 16 | 17 | test('test update config and data', async () => { 18 | const handleLineClick1 = () => { 19 | console.log(1) 20 | } 21 | const handleLineClick2 = () => { 22 | console.log(2) 23 | } 24 | const wrapper = mount() 25 | 26 | await wrapper.setProps({ 27 | autoFit: true, 28 | data: [], 29 | xField: 'x', 30 | yField: 'y', 31 | }) 32 | await wrapper.setProps({ 33 | autoFit: true, 34 | data: null, 35 | xField: 'x', 36 | yField: 'y', 37 | }) 38 | 39 | await wrapper.setProps({ 40 | autoFit: true, 41 | data: [{ x: 1 }], 42 | xField: 'x', 43 | yField: 'y', 44 | }) 45 | 46 | await wrapper.setProps({ 47 | autoFit: true, 48 | data: [{ x: 2 }], 49 | xField: 'x', 50 | yField: 'y', 51 | }) 52 | 53 | await wrapper.setProps({ 54 | autoFit: true, 55 | xField: 'x', 56 | yField: 'y', 57 | }) 58 | 59 | await wrapper.setProps({ 60 | data: [], 61 | autoFit: true, 62 | xAxis: { 63 | nice: true, 64 | }, 65 | xField: 'x', 66 | yField: 'y', 67 | events: { 68 | onLineClick: handleLineClick1, 69 | }, 70 | }) 71 | 72 | await wrapper.setProps({ 73 | data: [], 74 | autoFit: true, 75 | xAxis: { 76 | nice: true, 77 | }, 78 | xField: 'x', 79 | yField: 'y', 80 | events: { 81 | onLineClick: handleLineClick2, 82 | }, 83 | }) 84 | 85 | await wrapper.setProps({ 86 | data: [], 87 | autoFit: true, 88 | xAxis: { 89 | nice: true, 90 | }, 91 | xField: 'x', 92 | yField: 'y', 93 | events: { 94 | onLineClick: handleLineClick2, 95 | }, 96 | }) 97 | 98 | wrapper.unmount() 99 | }) 100 | }) 101 | -------------------------------------------------------------------------------- /__tests__/plots/liquid.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import LiquidChart from '../../src/plots/liquid' 3 | 4 | describe('LiquidChart', () => { 5 | test('should render without crashed', () => { 6 | mount(LiquidChart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/mix.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import MixChart from '../../src/plots/mix' 3 | 4 | const config = { 5 | plots: [], 6 | } 7 | 8 | describe('MixChart', () => { 9 | test('should render without crashed', () => { 10 | mount(() => ) 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /__tests__/plots/multi-view.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import MultiViewChart from '../../src/plots/multi-view' 3 | 4 | const config = { 5 | plots: [], 6 | } 7 | 8 | describe('MultiViewChart', () => { 9 | test('should render without crashed', () => { 10 | mount(() => ) 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /__tests__/plots/pie.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import PieChart from '../../src/plots/pie' 3 | 4 | const data = [ 5 | { type: '分类一', value: 27 }, 6 | { type: '分类二', value: 25 }, 7 | { type: '分类三', value: 18 }, 8 | { type: '分类四', value: 15 }, 9 | { type: '分类五', value: 10 }, 10 | { type: '其他', value: 5 }, 11 | ] 12 | 13 | const config = { 14 | appendPadding: 10, 15 | data, 16 | angleField: 'value', 17 | colorField: 'type', 18 | radius: 0.9, 19 | label: { 20 | type: 'inner', 21 | offset: '-30%', 22 | content: ({ percent }) => `${(percent * 100).toFixed(0)}%`, 23 | style: { 24 | fontSize: 14, 25 | textAlign: 'center', 26 | }, 27 | }, 28 | interactions: [{ type: 'element-active' }], 29 | } 30 | describe('PieChart', () => { 31 | test('should render without crashed', () => { 32 | mount(PieChart, { 33 | props: { 34 | ...config, 35 | }, 36 | }) 37 | }) 38 | }) 39 | -------------------------------------------------------------------------------- /__tests__/plots/progress.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/progress' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/radar.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/radar' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/radial-bar.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import RadialBarChart from '../../src/plots/radial-bar' 3 | 4 | const config = { 5 | data: [], 6 | xField: 'a', 7 | yField: 'b', 8 | } 9 | 10 | describe('RadialBarChart', () => { 11 | test('should render without crashed', () => { 12 | mount(() => ) 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /__tests__/plots/ring-progress.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/ring-progress' 3 | 4 | const config = {} 5 | 6 | describe('Chart', () => { 7 | test('should render without crashed', () => { 8 | mount(() => ) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/rose.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/rose' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/sankey.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import SankeyChart from '../../src/plots/sankey' 3 | const DATA = [ 4 | { source: '首次打开', target: '首页 UV', value: 160 }, 5 | { source: '结果页', target: '首页 UV', value: 40 }, 6 | { source: '验证页', target: '首页 UV', value: 10 }, 7 | { source: '我的', target: '首页 UV', value: 10 }, 8 | { source: '朋友', target: '首页 UV', value: 8 }, 9 | { source: '其他来源', target: '首页 UV', value: 27 }, 10 | { source: '首页 UV', target: '理财', value: 30 }, 11 | { source: '首页 UV', target: '扫一扫', value: 40 }, 12 | { source: '首页 UV', target: '服务', value: 35 }, 13 | { source: '首页 UV', target: '蚂蚁森林', value: 25 }, 14 | { source: '首页 UV', target: '跳失', value: 10 }, 15 | { source: '首页 UV', target: '借呗', value: 30 }, 16 | { source: '首页 UV', target: '花呗', value: 40 }, 17 | { source: '首页 UV', target: '其他流向', value: 45 }, 18 | ] 19 | 20 | const config = { 21 | data: DATA, 22 | sourceField: 'source', 23 | targetField: 'target', 24 | weightField: 'value', 25 | nodeWidthRatio: 0.008, 26 | nodePaddingRatio: 0.03, 27 | } 28 | 29 | describe('SankeyChart', () => { 30 | test('should render without crashed', () => { 31 | mount(() => ) 32 | }) 33 | }) 34 | -------------------------------------------------------------------------------- /__tests__/plots/scatter.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/scatter' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: { 8 | data: [], 9 | xField: 'Revenue (Millions)', 10 | yField: 'Rating', 11 | xAxis: { 12 | visible: true, 13 | min: -5, 14 | }, 15 | }, 16 | }) 17 | }) 18 | }) 19 | -------------------------------------------------------------------------------- /__tests__/plots/stock.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import StockChart from '../../src/plots/stock' 3 | 4 | const data = [ 5 | { x: 'Oceania', low: 1, q1: 9, median: 16, q3: 22, high: 24 }, 6 | { x: 'East Europe', low: 1, q1: 5, median: 8, q3: 12, high: 16 }, 7 | { x: 'Australia', low: 1, q1: 8, median: 12, q3: 19, high: 26 }, 8 | { x: 'South America', low: 2, q1: 8, median: 12, q3: 21, high: 28 }, 9 | { x: 'North Africa', low: 1, q1: 8, median: 14, q3: 18, high: 24 }, 10 | { x: 'North America', low: 3, q1: 10, median: 17, q3: 28, high: 30 }, 11 | { x: 'West Europe', low: 1, q1: 7, median: 10, q3: 17, high: 22 }, 12 | { x: 'West Africa', low: 1, q1: 6, median: 8, q3: 13, high: 16 }, 13 | ] 14 | 15 | const config = { 16 | width: 400, 17 | height: 500, 18 | data, 19 | xField: 'x', 20 | yField: ['low', 'q1', 'median', 'q3', 'high'], 21 | boxStyle: { 22 | stroke: '#545454', 23 | fill: '#1890FF', 24 | fillOpacity: 0.3, 25 | }, 26 | animation: false, 27 | } as any 28 | 29 | describe('StockChart', () => { 30 | test('should render without crashed', () => { 31 | mount(() => ) 32 | }) 33 | }) 34 | -------------------------------------------------------------------------------- /__tests__/plots/sunburst.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import SunburstChart from '../../src/plots/sunburst' 3 | import data from './sunburst-data.json' 4 | 5 | const config = { 6 | data: { 7 | name: 'root', 8 | children: data, 9 | }, 10 | type: 'treemap', 11 | seriesField: 'value', 12 | reflect: 'y', 13 | colorField: 'brand', 14 | sunburstStyle: { 15 | lineWidth: 1, 16 | stroke: '#fff', 17 | }, 18 | interactions: [{ type: 'element-active' }], 19 | } as any 20 | 21 | describe('SunburstChart', () => { 22 | test('should render without crashed', () => { 23 | mount(() => ) 24 | }) 25 | }) 26 | -------------------------------------------------------------------------------- /__tests__/plots/tiny-area.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/tiny-area' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/tiny-column.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/tiny-column' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/tiny-line.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/tiny-line' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(Chart, { 7 | props: {}, 8 | }) 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /__tests__/plots/treemap.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import TreemapChart from '../../src/plots/treemap' 3 | 4 | const data = { 5 | name: 'root', 6 | children: [ 7 | { name: '分类 1', value: 560 }, 8 | { name: '分类 2', value: 500 }, 9 | { name: '分类 3', value: 150 }, 10 | { name: '分类 4', value: 140 }, 11 | { name: '分类 5', value: 115 }, 12 | { name: '分类 6', value: 95 }, 13 | { name: '分类 7', value: 90 }, 14 | { name: '分类 8', value: 75 }, 15 | { name: '分类 9', value: 98 }, 16 | { name: '分类 10', value: 60 }, 17 | { name: '分类 11', value: 45 }, 18 | { name: '分类 12', value: 40 }, 19 | { name: '分类 13', value: 40 }, 20 | { name: '分类 14', value: 35 }, 21 | { name: '分类 15', value: 40 }, 22 | { name: '分类 16', value: 40 }, 23 | { name: '分类 17', value: 40 }, 24 | { name: '分类 18', value: 30 }, 25 | { name: '分类 19', value: 28 }, 26 | { name: '分类 20', value: 16 }, 27 | ], 28 | } 29 | 30 | const config = { 31 | data, 32 | colorField: 'name', 33 | } 34 | 35 | describe('TreemapChart', () => { 36 | test('should render without crashed', () => { 37 | mount(() => ) 38 | }) 39 | }) 40 | -------------------------------------------------------------------------------- /__tests__/plots/venn.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import VennChart from '../../src/plots/venn' 3 | 4 | const config = { 5 | data: [ 6 | { sets: ['A'], size: 12, label: 'A' }, 7 | { sets: ['B'], size: 12, label: 'B' }, 8 | { sets: ['C'], size: 12, label: 'C' }, 9 | { sets: ['A', 'B'], size: 2, label: 'A&B' }, 10 | { sets: ['A', 'C'], size: 2, label: 'A&C' }, 11 | { sets: ['B', 'C'], size: 2, label: 'B&C' }, 12 | { sets: ['A', 'B', 'C'], size: 1 }, 13 | ], 14 | setsField: 'sets', 15 | sizeField: 'size', 16 | pointStyle: { fillOpacity: 0.85 }, 17 | } 18 | 19 | describe('VennChart', () => { 20 | test('should render without crashed', () => { 21 | mount(() => ) 22 | }) 23 | }) 24 | -------------------------------------------------------------------------------- /__tests__/plots/violin.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import ViolinChart, { ViolinChartProps } from '../../src/plots/violin' 3 | 4 | const config: ViolinChartProps = { 5 | data: [], 6 | xField: 'a', 7 | yField: 'b', 8 | } 9 | 10 | describe('ViolinChart', () => { 11 | test('should render without crashed', () => { 12 | mount(() => ) 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /__tests__/plots/waterfall.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/waterfall' 3 | 4 | describe('Chart', () => { 5 | test('should render without crashed', () => { 6 | mount(() => ) 7 | }) 8 | }) 9 | -------------------------------------------------------------------------------- /__tests__/plots/word-cloud.spec.tsx: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils' 2 | import Chart from '../../src/plots/word-cloud' 3 | 4 | const config = { 5 | width: 600, 6 | height: 500, 7 | wordField: 'x', 8 | weightField: 'value', 9 | color: '#6262ff', 10 | wordStyle: { 11 | fontFamily: 'Verdana', 12 | fontSize: [24, 80], 13 | }, 14 | } 15 | 16 | describe('Chart', () => { 17 | test('should render without crashed', () => { 18 | mount(() => ) 19 | }) 20 | }) 21 | -------------------------------------------------------------------------------- /__tests__/setups/url.js: -------------------------------------------------------------------------------- 1 | window.URL.createObjectURL = jest.fn() 2 | -------------------------------------------------------------------------------- /__tests__/setups/worker.js: -------------------------------------------------------------------------------- 1 | class Worker { 2 | constructor(stringUrl) { 3 | this.url = stringUrl 4 | // eslint-disable-next-line @typescript-eslint/no-empty-function 5 | this.onmessage = () => {} 6 | } 7 | 8 | postMessage(msg) { 9 | this.onmessage(msg) 10 | } 11 | } 12 | 13 | window.Worker = Worker 14 | -------------------------------------------------------------------------------- /assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 未命名 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line 2 | 3 | module.exports = { 4 | presets: [ 5 | [ 6 | '@vue/babel-preset-app', 7 | { 8 | modules: false, 9 | corejs: 3, 10 | jsx: false, 11 | absoluteRuntime: false, 12 | targets: { 13 | browsers: 'last 2 versions, IE >= 11', 14 | }, 15 | }, 16 | ], 17 | '@babel/preset-typescript', 18 | ], 19 | plugins: ['@vue/babel-plugin-jsx'], 20 | env: { 21 | commonjs: { 22 | presets: [ 23 | [ 24 | '@vue/babel-preset-app', 25 | { 26 | modules: 'commonjs', 27 | corejs: 3, 28 | jsx: false, 29 | absoluteRuntime: false, 30 | targets: { 31 | browsers: 'last 2 versions, IE >= 11', 32 | }, 33 | }, 34 | ], 35 | '@babel/preset-typescript', 36 | ], 37 | plugins: ['@vue/babel-plugin-jsx'], 38 | }, 39 | }, 40 | } 41 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'], 3 | } 4 | -------------------------------------------------------------------------------- /docs/.vitepress/config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitepress' 2 | 3 | export default defineConfig({ 4 | title: 'G2Plot Vue', 5 | description: 'G2Plot for Vue', 6 | themeConfig: { 7 | logo: '/logo.svg', 8 | nav: [ 9 | { text: 'Guide', link: '/guide/' }, 10 | { text: 'Demo', link: '/demo/' }, 11 | { text: 'Github', link: 'https://github.com/open-data-plan/g2plot-vue' }, 12 | { 13 | text: 'Changelog', 14 | link: 'https://github.com/open-data-plan/g2plot-vue/blob/master/CHANGELOG.md', 15 | }, 16 | { text: 'G2Plot', link: 'https://g2plot.antv.vision' }, 17 | ], 18 | footer: { 19 | message: 'MIT Licensed', 20 | copyright: 'Copyright © 2020-present Open Data Plan', 21 | }, 22 | }, 23 | vite: { 24 | optimizeDeps: { 25 | exclude: ['vue-demi'], 26 | }, 27 | }, 28 | }) 29 | -------------------------------------------------------------------------------- /docs/demo/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Demo 3 | --- 4 | 5 | ## Basic 6 | 7 | 13 | 14 | ## Update Config 15 | 16 | 22 | 23 | ## Update Data 24 | 25 | 31 | 32 | ## Use Custom Theme 33 | 34 | 40 | -------------------------------------------------------------------------------- /docs/guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Guide 3 | --- 4 | 5 | ## What 6 | 7 | `G2Plot Vue` is a chart component set powered by [`G2Plot`](https://g2plot.antv.vision/). 8 | 9 | ## Features 10 | 11 | - Fully support `G2Plot` charts, and will support new chart at first time. 12 | - Native support for `TypeScript`. 13 | - **100%** unit test coverage 14 | 15 | > Vue 2 has reached EOL and is no longer actively maintained, so we dropped support for Vue 2 and only support Vue 3. 16 | 17 | ## Install 18 | 19 | ``` 20 | npm install @opd/g2plot-vue 21 | ``` 22 | 23 | ## Usage 24 | 25 | ### jsx 26 | 27 | ```tsx 28 | import { defineComponent, ref } from 'vue' 29 | import { LineChart, LineChartProps } from '@opd/g2plot-vue' 30 | 31 | const config: LineChartProps = { 32 | height: 350, 33 | autoFit: true, 34 | xField: 'year', 35 | yField: 'value', 36 | smooth: true, 37 | meta: { 38 | value: { 39 | max: 15, 40 | }, 41 | }, 42 | data: [ 43 | { year: '1991', value: 3 }, 44 | { year: '1992', value: 4 }, 45 | { year: '1993', value: 3.5 }, 46 | { year: '1994', value: 5 }, 47 | { year: '1995', value: 4.9 }, 48 | { year: '1996', value: 6 }, 49 | { year: '1997', value: 7 }, 50 | { year: '1998', value: 9 }, 51 | { year: '1999', value: 11 }, 52 | ], 53 | } 54 | 55 | export default defineComponent(() => { 56 | const chartRef = ref(null) 57 | return 58 | }) 59 | ``` 60 | 61 | ### template 62 | 63 | ```vue 64 | 67 | 103 | ``` 104 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | hero: 4 | name: G2Plot Vue 5 | actions: 6 | - theme: brand 7 | text: Get Started 8 | link: /guide/ 9 | features: 10 | - title: G2Plot 11 | details: Powered by G2Plot 12 | - title: TypeScript 13 | details: Fully type definitions support 14 | - title: 100% 15 | details: Fully tested 16 | --- 17 | -------------------------------------------------------------------------------- /docs/public/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 未命名 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('jest').Config} */ 2 | const config = { 3 | preset: '@opd/jest-preset-pangu', 4 | setupFiles: [ 5 | 'jest-canvas-mock', 6 | './__tests__/setups/worker.js', 7 | './__tests__/setups/url.js', 8 | ], 9 | transformIgnorePatterns: ['/node_modules/!d3-*'], 10 | collectCoverageFrom: ['./src/**/*.{ts,tsx}', '!./**/*.d.ts'], 11 | testEnvironment: 'jsdom', 12 | } 13 | 14 | module.exports = config 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@opd/g2plot-vue", 3 | "version": "4.0.1", 4 | "description": "G2Plot for vue, both v2 and v3", 5 | "main": "lib/index.js", 6 | "module": "es/index.js", 7 | "sideEffects": false, 8 | "directories": { 9 | "lib": "lib", 10 | "test": "__tests__" 11 | }, 12 | "files": [ 13 | "lib", 14 | "es", 15 | "lib2", 16 | "es2", 17 | "scripts", 18 | "*.d.ts" 19 | ], 20 | "publishConfig": { 21 | "access": "public" 22 | }, 23 | "scripts": { 24 | "dev": "vitepress dev docs", 25 | "lint": "eslint . --ext=.ts,.tsx", 26 | "lint:fix": "eslint . --ext=.ts,.tsx --fix", 27 | "test": "jest", 28 | "prebuild": "npm test", 29 | "build": "npm run build:es && npm run build:commonjs && npm run build:types", 30 | "build:es": "babel src -d es --extensions .ts,.tsx --delete-dir-on-start", 31 | "build:commonjs": "cross-env BABEL_ENV=commonjs babel src -d lib --extensions .ts,.tsx --delete-dir-on-start", 32 | "build:types": "tsc && tsc --declarationDir ./es", 33 | "build:docs": "vitepress build docs", 34 | "preversion": "npm run build", 35 | "version": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md", 36 | "postversion": "npm publish", 37 | "sync": "node ./scripts/sync.js", 38 | "prepare": "husky" 39 | }, 40 | "repository": { 41 | "type": "git", 42 | "url": "git+https://github.com/open-data-plan/g2plot-vue.git" 43 | }, 44 | "keywords": [ 45 | "g2plot", 46 | "vue3", 47 | "vue", 48 | "g2", 49 | "chart" 50 | ], 51 | "author": "kagawagao (https://kingsongao.com/)", 52 | "license": "MIT", 53 | "bugs": { 54 | "url": "https://github.com/open-data-plan/g2plot-vue/issues" 55 | }, 56 | "homepage": "https://github.com/open-data-plan/g2plot-vue#readme", 57 | "devDependencies": { 58 | "@antv/g2plot": "^2.4.31", 59 | "@babel/cli": "^7.12.1", 60 | "@babel/preset-typescript": "^7.12.1", 61 | "@commitlint/cli": "^19.0.0", 62 | "@commitlint/config-conventional": "^19.0.0", 63 | "@opd/jest-preset-pangu": "^1.11.6", 64 | "@opd/prettier-config-pangu": "^1.8.7", 65 | "@types/eslint": "^8.2.0", 66 | "@types/lodash": "^4.14.162", 67 | "@typescript-eslint/eslint-plugin": "^8.0.0", 68 | "@typescript-eslint/parser": "^8.0.0", 69 | "@vue/babel-preset-app": "^5.0.1", 70 | "@vue/babel-preset-jsx": "^1.3.0", 71 | "@vue/composition-api": "^1.7.0", 72 | "@vue/test-utils": "^2.0.0-beta.7", 73 | "@vue/tsconfig": "^0.7.0", 74 | "canvas": "^3.0.0", 75 | "conventional-changelog-cli": "^5.0.0", 76 | "cross-env": "^7.0.2", 77 | "diff-run": "^1.0.4", 78 | "eslint": "8.57.0", 79 | "eslint-config-prettier": "^10.0.1", 80 | "eslint-config-standard": "^17.0.0", 81 | "eslint-plugin-import": "^2.22.1", 82 | "eslint-plugin-n": "^17.0.0", 83 | "eslint-plugin-node": "^11.1.0", 84 | "eslint-plugin-prettier": "^5.0.0", 85 | "eslint-plugin-promise": "^7.0.0", 86 | "eslint-plugin-vue": "^10.0.0", 87 | "husky": "^9.0.2", 88 | "jest-canvas-mock": "^2.3.0", 89 | "lint-staged": "^16.0.0", 90 | "lodash": "^4.17.20", 91 | "ts-node": "^10.0.0", 92 | "typescript": "^5.0.3", 93 | "vitepress": "^1.0.0-alpha.4", 94 | "vue": "^3.0.2" 95 | }, 96 | "browserslist": [ 97 | "> 1%", 98 | "last 2 versions", 99 | "not dead" 100 | ], 101 | "lint-staged": { 102 | "*.{vue,js,jsx,ts,tsx}": [ 103 | "eslint --fix" 104 | ], 105 | "*.{md,json}": [ 106 | "prettier --write" 107 | ] 108 | }, 109 | "diffrun": { 110 | "package-lock.json": "npm ci" 111 | }, 112 | "prettier": "@opd/prettier-config-pangu", 113 | "dependencies": { 114 | "core-js": "^3.12.1" 115 | }, 116 | "peerDependencies": { 117 | "@antv/g2plot": "^2.3.0", 118 | "@babel/runtime": "^7.13.0", 119 | "vue": ">=3.0.0" 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /scripts/sync.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-var-requires */ 2 | const path = require('path') 3 | const fs = require('fs') 4 | const { promisify } = require('util') 5 | const { ESLint } = require('eslint') 6 | const { kebabCase, camelCase, upperFirst } = require('lodash') 7 | const eslintConfig = require('../.eslintrc') 8 | 9 | const mkdir = promisify(fs.mkdir) 10 | const writeFile = promisify(fs.writeFile) 11 | const readFile = promisify(fs.readFile) 12 | 13 | const eslint = new ESLint({ 14 | extensions: ['.tsx'], 15 | baseConfig: eslintConfig, 16 | fix: true, 17 | }) 18 | 19 | const g2PlotDir = path.resolve(process.cwd(), 'node_modules/@antv/g2plot/src/plots') 20 | const plotDir = path.resolve(process.cwd(), 'src/plots') 21 | const testDir = path.resolve(process.cwd(), '__tests__/plots') 22 | const exportPath = path.resolve(process.cwd(), 'src/index.ts') 23 | 24 | const plotNames = fs 25 | .readdirSync(g2PlotDir) 26 | .filter((dir) => !dir.startsWith('_')) 27 | .map((dir) => upperFirst(camelCase(dir))) 28 | 29 | const newCharts = [] 30 | 31 | plotNames.forEach((chartName) => { 32 | try { 33 | if (!fs.existsSync(path.resolve(plotDir, `${kebabCase(chartName)}/index.tsx`))) { 34 | newCharts.push(chartName) 35 | } 36 | } catch (error) {} 37 | }) 38 | 39 | const lintAndFixFileContent = async (fileContent, filePath) => { 40 | const lintResult = await eslint.lintText(fileContent, { 41 | filePath, 42 | }) 43 | 44 | const { output } = lintResult[0] 45 | 46 | return output || fileContent 47 | } 48 | 49 | const getChartConfig = (chart) => { 50 | return { 51 | cmpName: `${chart}Chart`, 52 | cmpPath: kebabCase(chart), 53 | } 54 | } 55 | 56 | const createComponents = async () => { 57 | const promises = newCharts.map(async (chart) => { 58 | const cmp = ` 59 | import { App, defineComponent } from 'vue-demi' 60 | import { ${chart}, ${chart}Options } from '@antv/g2plot' 61 | import BaseChart, { BaseChartProps } from '../../components/base' 62 | import { Writeable } from '../../types' 63 | import { mergeAttrs } from '../../utils' 64 | 65 | export type ${chart}ChartProps = Writeable, 'chart' | 'data'> & 66 | ${chart}Options> 67 | 68 | const ${chart}Chart = defineComponent<${chart}ChartProps>({ 69 | name: '${chart}Chart', 70 | setup: (props, ctx) => { 71 | return () => 72 | }, 73 | }) 74 | 75 | /* istanbul ignore next */ 76 | ${chart}Chart.install = (app: App) => { 77 | app.component('${chart}Chart', ${chart}Chart) 78 | } 79 | 80 | export default ${chart}Chart 81 | ` 82 | 83 | const { cmpPath } = getChartConfig(chart) 84 | const dir = path.resolve(plotDir, cmpPath) 85 | await mkdir(dir) 86 | const filePath = path.resolve(dir, `index.tsx`) 87 | const fixedContent = await lintAndFixFileContent(cmp, filePath) 88 | 89 | await writeFile(filePath, fixedContent, { 90 | encoding: 'utf8', 91 | }) 92 | }) 93 | 94 | await Promise.all(promises) 95 | } 96 | 97 | const addExport = async () => { 98 | let exportFileContent = await readFile(exportPath, { 99 | encoding: 'utf8', 100 | }) 101 | 102 | newCharts.forEach((chart) => { 103 | const chartName = chart + 'Chart' 104 | const { cmpPath } = getChartConfig(chart) 105 | const importPath = `./plots/${cmpPath}` 106 | 107 | const content = ` 108 | \nimport { ${chartName}Props as _${chartName}Props } from '${importPath}' 109 | export { default as ${chartName} } from '${importPath}' 110 | export type ${chartName}Props = _${chartName}Props 111 | ` 112 | 113 | exportFileContent += content 114 | }) 115 | 116 | const fixedContent = await lintAndFixFileContent(exportFileContent, exportPath) 117 | 118 | writeFile(exportPath, fixedContent, { 119 | encoding: 'utf8', 120 | }) 121 | } 122 | 123 | const createTestCases = async () => { 124 | const promises = newCharts.map(async (chart) => { 125 | const { cmpPath } = getChartConfig(chart) 126 | const cmp = ` 127 | import { mount } from '@vue/test-utils' 128 | import ${chart}Chart from '../../src/plots/${cmpPath}' 129 | 130 | const config = { 131 | data: [], 132 | xField: 'a', 133 | yField: 'b', 134 | } 135 | 136 | describe('${chart}Chart', () => { 137 | test('should render without crashed', () => { 138 | mount(() => <${chart}Chart {...config} />) 139 | }) 140 | }) 141 | ` 142 | 143 | const filePath = path.resolve(testDir, `${cmpPath}.spec.tsx`) 144 | const fixedContent = await lintAndFixFileContent(cmp, filePath) 145 | 146 | await writeFile(filePath, fixedContent, { 147 | encoding: 'utf8', 148 | }) 149 | }) 150 | 151 | await Promise.all(promises) 152 | } 153 | 154 | const start = async () => { 155 | await Promise.all([createComponents(), addExport(), createTestCases()]) 156 | } 157 | 158 | start() 159 | -------------------------------------------------------------------------------- /src/components/base.tsx: -------------------------------------------------------------------------------- 1 | import { Plot as BasePlot } from '@antv/g2plot' 2 | import isEmpty from 'lodash/isEmpty' 3 | import isEqual from 'lodash/isEqual' 4 | import { computed, defineComponent, HTMLAttributes, onBeforeUnmount, onMounted, ref, Ref, useAttrs, watch } from 'vue' 5 | 6 | interface Options { 7 | [x: string]: any 8 | } 9 | 10 | export interface Plot extends BasePlot { 11 | new (container: HTMLElement, config: C): BasePlot 12 | } 13 | 14 | type PickedAttrs = 'class' | 'style' 15 | 16 | type Data = Record[] | Record 17 | 18 | export interface BaseChartProps extends Pick { 19 | chart: any 20 | data: Data 21 | chartRef?: Ref | null> 22 | onReady?: (plot: BasePlot) => void 23 | } 24 | 25 | export interface BaseChartRawBindings { 26 | plot: BasePlot 27 | } 28 | 29 | const BaseChart = defineComponent>({ 30 | inheritAttrs: false, 31 | name: 'BaseChart', 32 | setup(props, ctx) { 33 | const plotRef = ref | null>(null) 34 | const containerRef = ref(null) 35 | const attrs = useAttrs() 36 | const attrConfig = computed(() => ({ 37 | ...attrs, 38 | ...props, 39 | })) 40 | const chartData = computed(() => { 41 | return attrConfig.value.data || [] 42 | }) 43 | 44 | const chartConfig = computed(() => { 45 | const { 46 | chart, 47 | chartRef, 48 | data, 49 | class: className, 50 | // eslint-disable-next-line @typescript-eslint/ban-ts-comment 51 | // @ts-ignore 52 | style, 53 | onReady, 54 | ...config 55 | } = attrConfig.value 56 | return config 57 | }) 58 | 59 | onMounted(() => { 60 | /* istanbul ignore else */ 61 | if (containerRef.value) { 62 | const { chart: Chart, onReady, chartRef } = attrConfig.value 63 | const plot = new Chart(containerRef.value, { 64 | data: chartData.value, 65 | ...chartConfig.value, 66 | }) 67 | plot.render() 68 | if (chartRef) { 69 | chartRef.value = plot 70 | } 71 | plotRef.value = plot 72 | onReady?.(plot) 73 | } 74 | }) 75 | onBeforeUnmount(() => { 76 | /* istanbul ignore else */ 77 | if (plotRef.value) { 78 | plotRef.value.destroy() 79 | } 80 | }) 81 | 82 | watch(chartData, (data, oldData) => { 83 | /* istanbul ignore else */ 84 | if (plotRef.value) { 85 | if (isEmpty(oldData)) { 86 | plotRef.value.update({ 87 | data, 88 | ...chartConfig.value, 89 | }) 90 | plotRef.value.render() 91 | } else { 92 | plotRef.value.changeData(data) 93 | } 94 | } 95 | }) 96 | 97 | watch(chartConfig, (config, oldConfig) => { 98 | /* istanbul ignore else */ 99 | if (plotRef.value) { 100 | if (!isEqual(config, oldConfig)) { 101 | plotRef.value.update({ 102 | data: chartData.value, 103 | ...config, 104 | }) 105 | } 106 | } 107 | }) 108 | return () => { 109 | return
110 | } 111 | }, 112 | }) 113 | 114 | export default BaseChart 115 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | // base plots 2 | import { AreaChartProps as _AreaChartProps } from './plots/area' 3 | import { BarChartProps as _BarChartProps } from './plots/bar' 4 | import { BulletChartProps as _BulletChartProps } from './plots/bullet' 5 | import { ColumnChartProps as _ColumnChartProps } from './plots/column' 6 | import { FunnelChartProps as _FunnelChartProps } from './plots/funnel' 7 | import { GaugeChartProps as _GaugeChartProps } from './plots/gauge' 8 | import { HeatmapChartProps as _HeatmapChartProps } from './plots/heatmap' 9 | import { HistogramChartProps as _HistogramChartProps } from './plots/histogram' 10 | import { LineChartProps as _LineChartProps } from './plots/line' 11 | import { LiquidChartProps as _LiquidChartProps } from './plots/liquid' 12 | import { PieChartProps as _PieChartProps } from './plots/pie' 13 | import { RadarChartProps as _RadarChartProps } from './plots/radar' 14 | import { RoseChartProps as _RoseChartProps } from './plots/rose' 15 | import { ScatterChartProps as _ScatterChartProps } from './plots/scatter' 16 | import { WaterfallChartProps as _WaterfallChartProps } from './plots/waterfall' 17 | import { WordCloudChartProps as _WordCloudChartProps } from './plots/word-cloud' 18 | 19 | // mini plots 20 | import { ProgressChartProps as _ProgressChartProps } from './plots/progress' 21 | import { RingProgressChartProps as _RingProgressChartProps } from './plots/ring-progress' 22 | import { TinyAreaChartProps as _TinyAreaChartProps } from './plots/tiny-area' 23 | import { TinyColumnChartProps as _TinyColumnChartProps } from './plots/tiny-column' 24 | import { TinyLineChartProps as _TinyLineChartProps } from './plots/tiny-line' 25 | 26 | import { DualAxesChartProps as _DualAxesChartProps } from './plots/dual-axes' 27 | 28 | import { BoxChartProps as _BoxChartProps } from './plots/box' 29 | 30 | import { StockChartProps as _StockChartProps } from './plots/stock' 31 | 32 | import { SunburstChartProps as _SunburstChartProps } from './plots/sunburst' 33 | 34 | import { RadialBarChartProps as _RadialBarChartProps } from './plots/radial-bar' 35 | 36 | import { BidirectionalBarChartProps as _BidirectionalBarChartProps } from './plots/bidirectional-bar' 37 | 38 | import { TreemapChartProps as _TreemapChartProps } from './plots/treemap' 39 | 40 | import { SankeyChartProps as _SankeyChartProps } from './plots/sankey' 41 | 42 | import { ChordChartProps as _ChordChartProps } from './plots/chord' 43 | 44 | import { MultiViewChartProps as _MultiViewChartProps } from './plots/multi-view' 45 | 46 | import { MixChartProps as _MixChartProps } from './plots/mix' 47 | 48 | import { ViolinChartProps as _ViolinChartProps } from './plots/violin' 49 | 50 | import { FacetChartProps as _FacetChartProps } from './plots/facet' 51 | 52 | import { CirclePackingChartProps as _CirclePackingChartProps } from './plots/circle-packing' 53 | 54 | import { VennChartProps as _VennChartProps } from './plots/venn' 55 | 56 | export { default as AreaChart } from './plots/area' 57 | export type AreaChartProps = _AreaChartProps 58 | 59 | export { default as BarChart } from './plots/bar' 60 | export type BarChartProps = _BarChartProps 61 | 62 | export { default as BulletChart } from './plots/bullet' 63 | export type BulletChartProps = _BulletChartProps 64 | 65 | export { default as ColumnChart } from './plots/column' 66 | export type ColumnChartProps = _ColumnChartProps 67 | 68 | export { default as FunnelChart } from './plots/funnel' 69 | export type FunnelChartProps = _FunnelChartProps 70 | 71 | export { default as GaugeChart } from './plots/gauge' 72 | export type GaugeChartProps = _GaugeChartProps 73 | 74 | export { default as HeatmapChart } from './plots/heatmap' 75 | export type HeatmapChartProps = _HeatmapChartProps 76 | 77 | export { default as HistogramChart } from './plots/histogram' 78 | export type HistogramChartProps = _HistogramChartProps 79 | 80 | export { default as LineChart } from './plots/line' 81 | export type LineChartProps = _LineChartProps 82 | 83 | export { default as LiquidChart } from './plots/liquid' 84 | export type LiquidChartProps = _LiquidChartProps 85 | 86 | export { default as PieChart } from './plots/pie' 87 | export type PieChartProps = _PieChartProps 88 | 89 | export { default as RadarChart } from './plots/radar' 90 | export type RadarChartProps = _RadarChartProps 91 | 92 | export { default as RoseChart } from './plots/rose' 93 | export type RoseChartProps = _RoseChartProps 94 | 95 | export { default as ScatterChart } from './plots/scatter' 96 | export type ScatterChartProps = _ScatterChartProps 97 | 98 | export { default as WaterfallChart } from './plots/waterfall' 99 | export { default as WordCloudChart } from './plots/word-cloud' 100 | export type WordCloudChartProps = _WordCloudChartProps 101 | export type WaterfallChartProps = _WaterfallChartProps 102 | 103 | // mini plots 104 | export { default as ProgressChart } from './plots/progress' 105 | export type ProgressChartProps = _ProgressChartProps 106 | 107 | export { default as RingProgressChart } from './plots/ring-progress' 108 | export type RingProgressChartProps = _RingProgressChartProps 109 | 110 | export { default as TinyAreaChart } from './plots/tiny-area' 111 | export type TinyAreaChartProps = _TinyAreaChartProps 112 | 113 | export { default as TinyColumnChart } from './plots/tiny-column' 114 | export type TinyColumnChartProps = _TinyColumnChartProps 115 | 116 | export { default as BidirectionalBarChart } from './plots/bidirectional-bar' 117 | export { default as BoxChart } from './plots/box' 118 | export { default as ChordChart } from './plots/chord' 119 | export { default as CirclePackingChart } from './plots/circle-packing' 120 | export { default as DualAxesChart } from './plots/dual-axes' 121 | export { default as FacetChart } from './plots/facet' 122 | export { default as MixChart } from './plots/mix' 123 | export { default as MultiViewChart } from './plots/multi-view' 124 | export { default as RadialBarChart } from './plots/radial-bar' 125 | export { default as SankeyChart } from './plots/sankey' 126 | export { default as StockChart } from './plots/stock' 127 | export { default as SunburstChart } from './plots/sunburst' 128 | export { default as TinyLineChart } from './plots/tiny-line' 129 | export { default as TreemapChart } from './plots/treemap' 130 | export { default as VennChart } from './plots/venn' 131 | export { default as ViolinChart } from './plots/violin' 132 | export type TinyLineChartProps = _TinyLineChartProps 133 | export type DualAxesChartProps = _DualAxesChartProps 134 | export type BoxChartProps = _BoxChartProps 135 | export type StockChartProps = _StockChartProps 136 | export type SunburstChartProps = _SunburstChartProps 137 | export type RadialBarChartProps = _RadialBarChartProps 138 | export type BidirectionalBarChartProps = _BidirectionalBarChartProps 139 | export type TreemapChartProps = _TreemapChartProps 140 | export type SankeyChartProps = _SankeyChartProps 141 | export type ChordChartProps = _ChordChartProps 142 | export type MultiViewChartProps = _MultiViewChartProps 143 | export type MixChartProps = _MixChartProps 144 | export type ViolinChartProps = _ViolinChartProps 145 | export type FacetChartProps = _FacetChartProps 146 | export type CirclePackingChartProps = _CirclePackingChartProps 147 | export type VennChartProps = _VennChartProps 148 | -------------------------------------------------------------------------------- /src/plots/area/index.tsx: -------------------------------------------------------------------------------- 1 | import { Area, AreaOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type AreaChartProps = Writeable, 'chart' | 'data'> & AreaOptions> 8 | 9 | const AreaChart = defineComponent({ 10 | name: 'AreaChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | AreaChart.install = (app: App) => { 18 | app.component('AreaChart', AreaChart) 19 | } 20 | 21 | export default AreaChart 22 | -------------------------------------------------------------------------------- /src/plots/bar/index.tsx: -------------------------------------------------------------------------------- 1 | import { Bar, BarOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type BarChartProps = Writeable, 'chart' | 'data'> & BarOptions> 8 | 9 | const BarChart = defineComponent({ 10 | name: 'BarChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | BarChart.install = (app: App) => { 18 | app.component('BarChart', BarChart) 19 | } 20 | 21 | export default BarChart 22 | -------------------------------------------------------------------------------- /src/plots/bidirectional-bar/index.tsx: -------------------------------------------------------------------------------- 1 | import { BidirectionalBar, BidirectionalBarOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type BidirectionalBarChartProps = Writeable< 8 | Omit, 'chart' | 'data'> & BidirectionalBarOptions 9 | > 10 | 11 | const BidirectionalBarChart = defineComponent({ 12 | name: 'BidirectionalBarChart', 13 | setup: (props, ctx) => { 14 | return () => 15 | }, 16 | }) 17 | 18 | /* istanbul ignore next */ 19 | BidirectionalBarChart.install = (app: App) => { 20 | app.component('BidirectionalBarChart', BidirectionalBarChart) 21 | } 22 | 23 | export default BidirectionalBarChart 24 | -------------------------------------------------------------------------------- /src/plots/box/index.tsx: -------------------------------------------------------------------------------- 1 | import { Box, BoxOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type BoxChartProps = Writeable, 'chart' | 'data'> & BoxOptions> 8 | 9 | const BoxChart = defineComponent({ 10 | name: 'BoxChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | BoxChart.install = (app: App) => { 18 | app.component('BoxChart', BoxChart) 19 | } 20 | 21 | export default BoxChart 22 | -------------------------------------------------------------------------------- /src/plots/bullet/index.tsx: -------------------------------------------------------------------------------- 1 | import { Bullet, BulletOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type BulletChartProps = Writeable, 'chart' | 'data'> & BulletOptions> 8 | 9 | const BulletChart = defineComponent({ 10 | name: 'BulletChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | BulletChart.install = (app: App) => { 18 | app.component('BulletChart', BulletChart) 19 | } 20 | 21 | export default BulletChart 22 | -------------------------------------------------------------------------------- /src/plots/chord/index.tsx: -------------------------------------------------------------------------------- 1 | import { Chord, ChordOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type ChordChartProps = Writeable, 'chart' | 'data'> & ChordOptions> 8 | 9 | const ChordChart = defineComponent({ 10 | name: 'ChordChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | ChordChart.install = (app: App) => { 18 | app.component('ChordChart', ChordChart) 19 | } 20 | 21 | export default ChordChart 22 | -------------------------------------------------------------------------------- /src/plots/circle-packing/index.tsx: -------------------------------------------------------------------------------- 1 | import { CirclePacking, CirclePackingOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type CirclePackingChartProps = Writeable< 8 | Omit, 'chart' | 'data'> & CirclePackingOptions 9 | > 10 | 11 | const CirclePackingChart = defineComponent({ 12 | name: 'CirclePackingChart', 13 | setup: (props, ctx) => { 14 | return () => 15 | }, 16 | }) 17 | 18 | /* istanbul ignore next */ 19 | CirclePackingChart.install = (app: App) => { 20 | app.component('CirclePackingChart', CirclePackingChart) 21 | } 22 | 23 | export default CirclePackingChart 24 | -------------------------------------------------------------------------------- /src/plots/column/index.tsx: -------------------------------------------------------------------------------- 1 | import { Column, ColumnOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type ColumnChartProps = Writeable, 'chart' | 'data'> & ColumnOptions> 8 | 9 | const ColumnChart = defineComponent({ 10 | name: 'ColumnChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | ColumnChart.install = (app: App) => { 18 | app.component('ColumnChart', ColumnChart) 19 | } 20 | 21 | export default ColumnChart 22 | -------------------------------------------------------------------------------- /src/plots/dual-axes/index.tsx: -------------------------------------------------------------------------------- 1 | import { DualAxes, DualAxesOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type DualAxesChartProps = Writeable, 'chart' | 'data'> & DualAxesOptions> 8 | 9 | const DualAxesChart = defineComponent({ 10 | name: 'DualAxesChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | DualAxesChart.install = (app: App) => { 18 | app.component('DualAxesChart', DualAxesChart) 19 | } 20 | 21 | export default DualAxesChart 22 | -------------------------------------------------------------------------------- /src/plots/facet/index.tsx: -------------------------------------------------------------------------------- 1 | import { Facet, FacetOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type FacetChartProps = Writeable, 'chart' | 'data'> & FacetOptions> 8 | 9 | const FacetChart = defineComponent({ 10 | name: 'FacetChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | FacetChart.install = (app: App) => { 18 | app.component('FacetChart', FacetChart) 19 | } 20 | 21 | export default FacetChart 22 | -------------------------------------------------------------------------------- /src/plots/funnel/index.tsx: -------------------------------------------------------------------------------- 1 | import { Funnel, FunnelOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type FunnelChartProps = Writeable, 'chart' | 'data'> & FunnelOptions> 8 | 9 | const FunnelChart = defineComponent({ 10 | name: 'FunnelChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | FunnelChart.install = (app: App) => { 18 | app.component('FunnelChart', FunnelChart) 19 | } 20 | 21 | export default FunnelChart 22 | -------------------------------------------------------------------------------- /src/plots/gauge/index.tsx: -------------------------------------------------------------------------------- 1 | import { Gauge, GaugeOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type GaugeChartProps = Writeable, 'chart' | 'data'> & GaugeOptions> 8 | 9 | const GaugeChart = defineComponent({ 10 | name: 'GaugeChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | GaugeChart.install = (app: App) => { 18 | app.component('GaugeChart', GaugeChart) 19 | } 20 | 21 | export default GaugeChart 22 | -------------------------------------------------------------------------------- /src/plots/heatmap/index.tsx: -------------------------------------------------------------------------------- 1 | import { Heatmap, HeatmapOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type HeatmapChartProps = Writeable, 'chart' | 'data'> & HeatmapOptions> 8 | 9 | const HeatmapChart = defineComponent({ 10 | name: 'HeatmapChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | HeatmapChart.install = (app: App) => { 18 | app.component('HeatmapChart', HeatmapChart) 19 | } 20 | 21 | export default HeatmapChart 22 | -------------------------------------------------------------------------------- /src/plots/histogram/index.tsx: -------------------------------------------------------------------------------- 1 | import { Histogram, HistogramOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type HistogramChartProps = Writeable, 'chart' | 'data'> & HistogramOptions> 8 | 9 | const HistogramChart = defineComponent({ 10 | name: 'HistogramChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | HistogramChart.install = (app: App) => { 18 | app.component('HistogramChart', HistogramChart) 19 | } 20 | 21 | export default HistogramChart 22 | -------------------------------------------------------------------------------- /src/plots/line/index.tsx: -------------------------------------------------------------------------------- 1 | import { Line, LineOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type LineChartProps = Writeable, 'chart' | 'data'> & LineOptions> 8 | 9 | const LineChart = defineComponent({ 10 | name: 'LineChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | LineChart.install = (app: App) => { 18 | app.component('LineChart', LineChart) 19 | } 20 | 21 | export default LineChart 22 | -------------------------------------------------------------------------------- /src/plots/liquid/index.tsx: -------------------------------------------------------------------------------- 1 | import { Liquid, LiquidOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type LiquidChartProps = Writeable, 'chart' | 'data'> & LiquidOptions> 8 | 9 | const LiquidChart = defineComponent({ 10 | name: 'LiquidChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | LiquidChart.install = (app: App) => { 18 | app.component('LiquidChart', LiquidChart) 19 | } 20 | 21 | export default LiquidChart 22 | -------------------------------------------------------------------------------- /src/plots/mix/index.tsx: -------------------------------------------------------------------------------- 1 | import { Mix, MixOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type MixChartProps = Writeable, 'chart' | 'data'> & MixOptions> 8 | 9 | const MixChart = defineComponent({ 10 | name: 'MixChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | MixChart.install = (app: App) => { 18 | app.component('MixChart', MixChart) 19 | } 20 | 21 | export default MixChart 22 | -------------------------------------------------------------------------------- /src/plots/multi-view/index.tsx: -------------------------------------------------------------------------------- 1 | import { Mix, MixOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type MultiViewChartProps = Writeable, 'chart' | 'data'> & MixOptions> 8 | 9 | /** 10 | * @deprecated use `MixChart` instead 11 | */ 12 | const MultiViewChart = defineComponent({ 13 | name: 'MultiViewChart', 14 | setup: (props, ctx) => { 15 | return () => 16 | }, 17 | }) 18 | 19 | /* istanbul ignore next */ 20 | MultiViewChart.install = (app: App) => { 21 | app.component('MultiViewChart', MultiViewChart) 22 | } 23 | 24 | export default MultiViewChart 25 | -------------------------------------------------------------------------------- /src/plots/pie/index.tsx: -------------------------------------------------------------------------------- 1 | import { Pie, PieOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type PieChartProps = Writeable, 'chart' | 'data'> & PieOptions> 8 | 9 | const PieChart = defineComponent({ 10 | name: 'PieChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | PieChart.install = (app: App) => { 18 | app.component('PieChart', PieChart) 19 | } 20 | 21 | export default PieChart 22 | -------------------------------------------------------------------------------- /src/plots/progress/index.tsx: -------------------------------------------------------------------------------- 1 | import { Progress, ProgressOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type ProgressChartProps = Writeable, 'chart' | 'data'> & ProgressOptions> 8 | 9 | const ProgressChart = defineComponent({ 10 | name: 'ProgressChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | ProgressChart.install = (app: App) => { 18 | app.component('ProgressChart', ProgressChart) 19 | } 20 | 21 | export default ProgressChart 22 | -------------------------------------------------------------------------------- /src/plots/radar/index.tsx: -------------------------------------------------------------------------------- 1 | import { Radar, RadarOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type RadarChartProps = Writeable, 'chart' | 'data'> & RadarOptions> 8 | 9 | const RadarChart = defineComponent({ 10 | name: 'RadarChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | RadarChart.install = (app: App) => { 18 | app.component('RadarChart', RadarChart) 19 | } 20 | 21 | export default RadarChart 22 | -------------------------------------------------------------------------------- /src/plots/radial-bar/index.tsx: -------------------------------------------------------------------------------- 1 | import { RadialBar, RadialBarOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type RadialBarChartProps = Writeable, 'chart' | 'data'> & RadialBarOptions> 8 | 9 | const RadialBarChart = defineComponent({ 10 | name: 'RadialBarChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | RadialBarChart.install = (app: App) => { 18 | app.component('RadialBarChart', RadialBarChart) 19 | } 20 | 21 | export default RadialBarChart 22 | -------------------------------------------------------------------------------- /src/plots/ring-progress/index.tsx: -------------------------------------------------------------------------------- 1 | import { RingProgress, RingProgressOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type RingProgressChartProps = Writeable< 8 | Omit, 'chart' | 'data'> & RingProgressOptions 9 | > 10 | 11 | const RingProgressChart = defineComponent({ 12 | name: 'RingProgressChart', 13 | setup: (props, ctx) => { 14 | return () => 15 | }, 16 | }) 17 | 18 | /* istanbul ignore next */ 19 | RingProgressChart.install = (app: App) => { 20 | app.component('RingProgressChart', RingProgressChart) 21 | } 22 | 23 | export default RingProgressChart 24 | -------------------------------------------------------------------------------- /src/plots/rose/index.tsx: -------------------------------------------------------------------------------- 1 | import { Rose, RoseOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type RoseChartProps = Writeable, 'chart' | 'data'> & RoseOptions> 8 | 9 | const RoseChart = defineComponent({ 10 | name: 'RoseChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | RoseChart.install = (app: App) => { 18 | app.component('RoseChart', RoseChart) 19 | } 20 | 21 | export default RoseChart 22 | -------------------------------------------------------------------------------- /src/plots/sankey/index.tsx: -------------------------------------------------------------------------------- 1 | import { Sankey, SankeyOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type SankeyChartProps = Writeable, 'chart' | 'data'> & SankeyOptions> 8 | 9 | const SankeyChart = defineComponent({ 10 | name: 'SankeyChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | SankeyChart.install = (app: App) => { 18 | app.component('SankeyChart', SankeyChart) 19 | } 20 | 21 | export default SankeyChart 22 | -------------------------------------------------------------------------------- /src/plots/scatter/index.tsx: -------------------------------------------------------------------------------- 1 | import { Scatter, ScatterOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type ScatterChartProps = Writeable, 'chart' | 'data'> & ScatterOptions> 8 | 9 | const ScatterChart = defineComponent({ 10 | name: 'ScatterChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | ScatterChart.install = (app: App) => { 18 | app.component('ScatterChart', ScatterChart) 19 | } 20 | 21 | export default ScatterChart 22 | -------------------------------------------------------------------------------- /src/plots/stock/index.tsx: -------------------------------------------------------------------------------- 1 | import { Stock, StockOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type StockChartProps = Writeable, 'chart' | 'data'> & StockOptions> 8 | 9 | const StockChart = defineComponent({ 10 | name: 'StockChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | StockChart.install = (app: App) => { 18 | app.component('StockChart', StockChart) 19 | } 20 | 21 | export default StockChart 22 | -------------------------------------------------------------------------------- /src/plots/sunburst/index.tsx: -------------------------------------------------------------------------------- 1 | import { Sunburst, SunburstOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type SunburstChartProps = Writeable, 'chart' | 'data'> & SunburstOptions> 8 | 9 | const SunburstChart = defineComponent({ 10 | name: 'SunburstChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | SunburstChart.install = (app: App) => { 18 | app.component('SunburstChart', SunburstChart) 19 | } 20 | 21 | export default SunburstChart 22 | -------------------------------------------------------------------------------- /src/plots/tiny-area/index.tsx: -------------------------------------------------------------------------------- 1 | import { TinyArea, TinyAreaOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type TinyAreaChartProps = Writeable, 'chart' | 'data'> & TinyAreaOptions> 8 | 9 | const TinyAreaChart = defineComponent({ 10 | name: 'TinyAreaChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | TinyAreaChart.install = (app: App) => { 18 | app.component('TinyAreaChart', TinyAreaChart) 19 | } 20 | 21 | export default TinyAreaChart 22 | -------------------------------------------------------------------------------- /src/plots/tiny-column/index.tsx: -------------------------------------------------------------------------------- 1 | import { TinyColumn, TinyColumnOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type TinyColumnChartProps = Writeable< 8 | Omit, 'chart' | 'data'> & TinyColumnOptions 9 | > 10 | 11 | const TinyColumnChart = defineComponent({ 12 | name: 'TinyColumnChart', 13 | setup: (props, ctx) => { 14 | return () => 15 | }, 16 | }) 17 | 18 | /* istanbul ignore next */ 19 | TinyColumnChart.install = (app: App) => { 20 | app.component('TinyColumnChart', TinyColumnChart) 21 | } 22 | 23 | export default TinyColumnChart 24 | -------------------------------------------------------------------------------- /src/plots/tiny-line/index.tsx: -------------------------------------------------------------------------------- 1 | import { TinyLine, TinyLineOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type TinyLineChartProps = Writeable, 'chart' | 'data'> & TinyLineOptions> 8 | 9 | const TinyLineChart = defineComponent({ 10 | name: 'TinyLineChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | TinyLineChart.install = (app: App) => { 18 | app.component('TinyLineChart', TinyLineChart) 19 | } 20 | 21 | export default TinyLineChart 22 | -------------------------------------------------------------------------------- /src/plots/treemap/index.tsx: -------------------------------------------------------------------------------- 1 | import { Treemap, TreemapOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type TreemapChartProps = Writeable, 'chart' | 'data'> & TreemapOptions> 8 | 9 | const TreemapChart = defineComponent({ 10 | name: 'TreemapChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | TreemapChart.install = (app: App) => { 18 | app.component('TreemapChart', TreemapChart) 19 | } 20 | 21 | export default TreemapChart 22 | -------------------------------------------------------------------------------- /src/plots/venn/index.tsx: -------------------------------------------------------------------------------- 1 | import { Venn, VennOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type VennChartProps = Writeable, 'chart' | 'data'> & VennOptions> 8 | 9 | const VennChart = defineComponent({ 10 | name: 'VennChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | VennChart.install = (app: App) => { 18 | app.component('VennChart', VennChart) 19 | } 20 | 21 | export default VennChart 22 | -------------------------------------------------------------------------------- /src/plots/violin/index.tsx: -------------------------------------------------------------------------------- 1 | import { Violin, ViolinOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type ViolinChartProps = Writeable, 'chart' | 'data'> & ViolinOptions> 8 | 9 | const ViolinChart = defineComponent({ 10 | name: 'ViolinChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | ViolinChart.install = (app: App) => { 18 | app.component('ViolinChart', ViolinChart) 19 | } 20 | 21 | export default ViolinChart 22 | -------------------------------------------------------------------------------- /src/plots/waterfall/index.tsx: -------------------------------------------------------------------------------- 1 | import { Waterfall, WaterfallOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type WaterfallChartProps = Writeable, 'chart' | 'data'> & WaterfallOptions> 8 | 9 | const WaterfallChart = defineComponent({ 10 | name: 'WaterfallChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | WaterfallChart.install = (app: App) => { 18 | app.component('WaterfallChart', WaterfallChart) 19 | } 20 | 21 | export default WaterfallChart 22 | -------------------------------------------------------------------------------- /src/plots/word-cloud/index.tsx: -------------------------------------------------------------------------------- 1 | import { WordCloud, WordCloudOptions } from '@antv/g2plot' 2 | import { App, defineComponent } from 'vue' 3 | import BaseChart, { BaseChartProps } from '../../components/base' 4 | import { Writeable } from '../../types' 5 | import { mergeAttrs } from '../../utils' 6 | 7 | export type WordCloudChartProps = Writeable, 'chart' | 'data'> & WordCloudOptions> 8 | 9 | const WordCloudChart = defineComponent({ 10 | name: 'WordCloudChart', 11 | setup: (props, ctx) => { 12 | return () => 13 | }, 14 | }) 15 | 16 | /* istanbul ignore next */ 17 | WordCloudChart.install = (app: App) => { 18 | app.component('WordCloudChart', WordCloudChart) 19 | } 20 | 21 | export default WordCloudChart 22 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export type Writeable = { -readonly [P in keyof T]: T[P] } 2 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * compatible merge attrs 3 | * @param props props 4 | * @param attrs attrs 5 | * @returns merged attrs 6 | */ 7 | export const mergeAttrs = (props: any, attrs: Record) => { 8 | return { 9 | ...attrs, 10 | ...props, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["@vue/tsconfig/tsconfig.dom.json", "@vue/tsconfig/tsconfig.lib.json"], 3 | "compilerOptions": { 4 | /* Basic Options */ 5 | // "incremental": true, /* Enable incremental compilation */ 6 | "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, 7 | "module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, 8 | // "lib": [], /* Specify library files to be included in the compilation. */ 9 | "allowJs": true /* Allow javascript files to be compiled. */, 10 | // "checkJs": true, /* Report errors in .js files. */ 11 | "jsx": "preserve" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */, 12 | "declaration": true /* Generates corresponding '.d.ts' file. */, 13 | "declarationDir": "./lib", 14 | "noEmit": false /* Do not emit outputs. */, 15 | "emitDeclarationOnly": true, 16 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 17 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 18 | // "outFile": "./", /* Concatenate and emit output to single file. */ 19 | // "outDir": "./lib" /* Redirect output structure to the directory. */, 20 | "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, 21 | // "composite": true, /* Enable project compilation */ 22 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 23 | // "removeComments": true, /* Do not emit comments to output. */ 24 | // "noEmit": true /* Do not emit outputs. */, 25 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 26 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 27 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 28 | 29 | /* Strict Type-Checking Options */ 30 | "strict": true /* Enable all strict type-checking options. */, 31 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 32 | // "strictNullChecks": true, /* Enable strict null checks. */ 33 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 34 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 35 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 36 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 37 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 38 | 39 | /* Additional Checks */ 40 | "noUnusedLocals": true /* Report errors on unused locals. */, 41 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 42 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 43 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 44 | 45 | /* Module Resolution Options */ 46 | "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, 47 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 48 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 49 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 50 | // "typeRoots": [], /* List of folders to include type definitions from. */ 51 | // "types": [], /* Type declaration files to be included in compilation. */ 52 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 53 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, 54 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 55 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 56 | 57 | /* Source Map Options */ 58 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 61 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 62 | 63 | /* Experimental Options */ 64 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 65 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 66 | "skipLibCheck": true, 67 | "types": ["@vue/runtime-dom"], 68 | "verbatimModuleSyntax": false 69 | }, 70 | "include": ["src"], 71 | "exclude": ["lib", "es"] 72 | } 73 | -------------------------------------------------------------------------------- /tsconfig.sync.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | // "incremental": true, /* Enable incremental compilation */ 5 | "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, 6 | "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, 7 | // "lib": [], /* Specify library files to be included in the compilation. */ 8 | "allowJs": true /* Allow javascript files to be compiled. */, 9 | // "checkJs": true, /* Report errors in .js files. */ 10 | "jsx": "preserve" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */, 11 | "declaration": true /* Generates corresponding '.d.ts' file. */, 12 | "declarationDir": "./lib", 13 | "emitDeclarationOnly": true, 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | // "outDir": "./lib" /* Redirect output structure to the directory. */, 18 | "rootDir": "." /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, 19 | // "composite": true, /* Enable project compilation */ 20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true /* Do not emit outputs. */, 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true /* Enable all strict type-checking options. */, 29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | // "strictNullChecks": true, /* Enable strict null checks. */ 31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 36 | 37 | /* Additional Checks */ 38 | "noUnusedLocals": true /* Report errors on unused locals. */, 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 42 | 43 | /* Module Resolution Options */ 44 | "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, 45 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 46 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 47 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 48 | // "typeRoots": [], /* List of folders to include type definitions from. */ 49 | // "types": [], /* Type declaration files to be included in compilation. */ 50 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 51 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, 52 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 53 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 54 | 55 | /* Source Map Options */ 56 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 59 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 60 | 61 | /* Experimental Options */ 62 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 63 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 64 | "skipLibCheck": true 65 | }, 66 | "include": ["src"], 67 | "exclude": ["lib", "es"] 68 | } 69 | --------------------------------------------------------------------------------