diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 4cb4b4a..4d617b5 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: '@types/react-dom': ^17.0.0 '@typescript-eslint/eslint-plugin': 5.30.0 '@typescript-eslint/parser': 5.30.0 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 '@visactor/vchart-theme-utils': workspace:1.12.3 '@vitejs/plugin-react': ^4.1.1 '@vitejs/plugin-react-swc': ^3.4.1 @@ -102,8 +102,8 @@ importers: '@types/react-dom': 17.0.25 '@typescript-eslint/eslint-plugin': 5.30.0_cow5zg7tx6c3eisi5a4ud5kwia '@typescript-eslint/parser': 5.30.0_vwud3sodsb5zxmzckoj7rdwdbq - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@vitejs/plugin-react': 4.2.1_vite@4.5.3 '@vitejs/plugin-react-swc': 3.6.0_vite@4.5.3 classnames: 2.5.1 @@ -164,9 +164,9 @@ importers: '@types/jest': ~29.5.0 '@types/node': '*' '@types/offscreencanvas': 2019.6.4 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 - '@visactor/vchart-theme-utils': workspace:1.12.2 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 + '@visactor/vchart-theme-utils': workspace:1.12.3 '@vitejs/plugin-react': ^4.1.1 '@vitejs/plugin-react-swc': ^3.4.1 eslint: ~8.18.0 @@ -178,6 +178,7 @@ importers: react: ^18.0.0 react-device-detect: ^2.2.2 react-dom: ^18.0.0 + sass: ^1.63.6 ts-jest: ~29.1.0 ts-loader: 8.0.2 ts-node: 10.9.0 @@ -190,8 +191,8 @@ importers: '@visactor/vchart-theme-utils': link:../vchart-theme-utils devDependencies: '@babel/runtime': 7.28.6 - '@douyinfe/semi-icons': 2.90.13_react@18.2.0 - '@douyinfe/semi-icons-lab': 2.90.13_biqbaboplfbrettd7655fr4n2y + '@douyinfe/semi-icons': 2.92.2_react@18.2.0 + '@douyinfe/semi-icons-lab': 2.92.2_biqbaboplfbrettd7655fr4n2y '@douyinfe/semi-ui': 2.55.5_biqbaboplfbrettd7655fr4n2y '@esbuild-plugins/node-globals-polyfill': 0.1.1 '@esbuild-plugins/node-modules-polyfill': 0.1.4 @@ -205,8 +206,8 @@ importers: '@types/jest': 29.5.12 '@types/node': 20.12.7 '@types/offscreencanvas': 2019.6.4 - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@vitejs/plugin-react': 4.2.1_vite@4.5.3 '@vitejs/plugin-react-swc': 3.6.0_vite@4.5.3 eslint: 8.18.0 @@ -218,13 +219,14 @@ importers: react: 18.2.0 react-device-detect: 2.2.3_biqbaboplfbrettd7655fr4n2y react-dom: 18.2.0_react@18.2.0 + sass: 1.98.0 ts-jest: 29.1.2_doipufordlnvh5g4adbwayvyvy ts-loader: 8.0.2_typescript@4.9.5 ts-node: 10.9.0_misjo77sqtw74jgpkxp7bulu2q tslib: 2.3.1 tslint: 5.12.1_typescript@4.9.5 typescript: 4.9.5 - vite: 4.5.3_@types+node@20.12.7 + vite: 4.5.3_drwgbx6kncedk3tgksguhmevgq vite-plugin-svgr: 4.2.0_phsvvvlejkpjhjvgxznbnrvcoa ../../packages/vchart-semi-theme: @@ -245,8 +247,8 @@ importers: '@types/jest': ~29.5.0 '@types/node': '*' '@types/offscreencanvas': 2019.6.4 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 '@visactor/vchart-theme-utils': workspace:1.12.3 '@vitejs/plugin-react': ^4.1.1 '@vitejs/plugin-react-swc': ^3.4.1 @@ -271,8 +273,8 @@ importers: '@visactor/vchart-theme-utils': link:../vchart-theme-utils devDependencies: '@babel/runtime': 7.28.6 - '@douyinfe/semi-icons': 2.90.13_react@18.2.0 - '@douyinfe/semi-icons-lab': 2.90.13_biqbaboplfbrettd7655fr4n2y + '@douyinfe/semi-icons': 2.92.2_react@18.2.0 + '@douyinfe/semi-icons-lab': 2.92.2_biqbaboplfbrettd7655fr4n2y '@douyinfe/semi-ui': 2.55.5_biqbaboplfbrettd7655fr4n2y '@esbuild-plugins/node-globals-polyfill': 0.1.1 '@esbuild-plugins/node-modules-polyfill': 0.1.4 @@ -286,8 +288,8 @@ importers: '@types/jest': 29.5.12 '@types/node': 20.12.7 '@types/offscreencanvas': 2019.6.4 - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@vitejs/plugin-react': 4.2.1_vite@4.5.3 '@vitejs/plugin-react-swc': 3.6.0_vite@4.5.3 eslint: 8.18.0 @@ -320,11 +322,11 @@ importers: '@types/jest': ~29.5.0 '@types/node': '*' '@types/offscreencanvas': 2019.6.4 - '@visactor/vchart': 1.12.1 + '@visactor/vchart': 2.0.19 '@visactor/vchart-arco-theme': workspace:1.12.3 '@visactor/vchart-semi-theme': workspace:1.12.3 '@visactor/vchart-tt-platform-theme': workspace:1.12.3 - '@visactor/vchart-types': 1.12.1 + '@visactor/vchart-types': 2.0.19 '@visactor/vchart-ve-o-theme': workspace:1.12.3 eslint: ~8.18.0 husky: 7.0.4 @@ -352,11 +354,11 @@ importers: '@types/jest': 29.5.12 '@types/node': 20.12.7 '@types/offscreencanvas': 2019.6.4 - '@visactor/vchart': 1.12.1 + '@visactor/vchart': 2.0.19 '@visactor/vchart-arco-theme': link:../vchart-arco-theme '@visactor/vchart-semi-theme': link:../vchart-semi-theme '@visactor/vchart-tt-platform-theme': link:../vchart-tt-platform-theme - '@visactor/vchart-types': 1.12.1 + '@visactor/vchart-types': 2.0.19 '@visactor/vchart-ve-o-theme': link:../vchart-ve-o-theme eslint: 8.18.0 husky: 7.0.4 @@ -401,8 +403,8 @@ importers: '@types/react-dom': ^17.0.0 '@typescript-eslint/eslint-plugin': 5.30.0 '@typescript-eslint/parser': 5.30.0 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 '@visactor/vchart-semi-theme': workspace:1.12.3 '@visactor/vchart-theme': workspace:1.12.3 '@visactor/vutils': ~0.18.15 @@ -476,8 +478,8 @@ importers: '@types/react-dom': 17.0.25 '@typescript-eslint/eslint-plugin': 5.30.0_cow5zg7tx6c3eisi5a4ud5kwia '@typescript-eslint/parser': 5.30.0_vwud3sodsb5zxmzckoj7rdwdbq - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@visactor/vchart-semi-theme': link:../vchart-semi-theme '@visactor/vchart-theme': link:../vchart-theme '@vitejs/plugin-react': 4.2.1_vite@4.5.3 @@ -539,8 +541,8 @@ importers: '@types/offscreencanvas': 2019.6.4 '@types/react': ^17.0.0 '@types/react-dom': ^17.0.0 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 '@visactor/vchart-theme': workspace:1.12.3 '@visactor/vchart-theme-utils': workspace:1.12.3 '@vitejs/plugin-react': ^4.1.1 @@ -552,8 +554,8 @@ importers: vite: ^4.5.0 dependencies: '@arco-design/web-react': 2.61.2_42iwexueogtmu5amowprdpoisy - '@douyinfe/semi-icons': 2.90.13_react@18.2.0 - '@douyinfe/semi-icons-lab': 2.90.13_biqbaboplfbrettd7655fr4n2y + '@douyinfe/semi-icons': 2.92.2_react@18.2.0 + '@douyinfe/semi-icons-lab': 2.92.2_biqbaboplfbrettd7655fr4n2y '@douyinfe/semi-ui': 2.55.5_biqbaboplfbrettd7655fr4n2y '@visactor/vchart-theme': link:../vchart-theme '@visactor/vchart-theme-utils': link:../vchart-theme-utils @@ -568,8 +570,8 @@ importers: '@types/offscreencanvas': 2019.6.4 '@types/react': 17.0.80 '@types/react-dom': 17.0.25 - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@vitejs/plugin-react': 4.2.1_vite@4.5.3 eslint: 8.18.0 react: 18.2.0 @@ -589,8 +591,8 @@ importers: '@types/jest': ~29.5.0 '@types/node': '*' '@types/offscreencanvas': 2019.6.4 - '@visactor/vchart': 1.12.1 - '@visactor/vchart-types': 1.12.1 + '@visactor/vchart': 2.0.19 + '@visactor/vchart-types': 2.0.19 eslint: ~8.18.0 husky: 7.0.4 jest: ~29.5.0 @@ -616,8 +618,8 @@ importers: '@types/jest': 29.5.12 '@types/node': 20.12.7 '@types/offscreencanvas': 2019.6.4 - '@visactor/vchart': 1.12.1 - '@visactor/vchart-types': 1.12.1 + '@visactor/vchart': 2.0.19 + '@visactor/vchart-types': 2.0.19 eslint: 8.18.0 husky: 7.0.4 jest: 29.5.0_nfgaym6ygctcxvhgdn7jfhc2pq @@ -653,8 +655,8 @@ importers: '@types/jest': ~29.5.0 '@types/node': '*' '@types/offscreencanvas': 2019.6.4 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 '@visactor/vchart-semi-theme': workspace:1.12.3 '@visactor/vchart-theme-utils': workspace:1.12.3 '@vitejs/plugin-react': ^4.1.1 @@ -682,8 +684,8 @@ importers: '@visactor/vchart-theme-utils': link:../vchart-theme-utils devDependencies: '@babel/runtime': 7.28.6 - '@douyinfe/semi-icons': 2.90.13_react@18.2.0 - '@douyinfe/semi-icons-lab': 2.90.13_biqbaboplfbrettd7655fr4n2y + '@douyinfe/semi-icons': 2.92.2_react@18.2.0 + '@douyinfe/semi-icons-lab': 2.92.2_biqbaboplfbrettd7655fr4n2y '@douyinfe/semi-ui': 2.55.5_biqbaboplfbrettd7655fr4n2y '@esbuild-plugins/node-globals-polyfill': 0.1.1 '@esbuild-plugins/node-modules-polyfill': 0.1.4 @@ -698,8 +700,8 @@ importers: '@types/jest': 29.5.12 '@types/node': 20.12.7 '@types/offscreencanvas': 2019.6.4 - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@vitejs/plugin-react': 4.2.1_vite@4.5.3 '@vitejs/plugin-react-swc': 3.6.0_vite@4.5.3 eslint: 8.18.0 @@ -747,8 +749,8 @@ importers: '@types/react-dom': ^17.0.0 '@typescript-eslint/eslint-plugin': 5.30.0 '@typescript-eslint/parser': 5.30.0 - '@visactor/react-vchart': 1.12.1 - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19 + '@visactor/vchart': 2.0.19 '@visactor/vchart-arco-theme': workspace:1.12.3 '@visactor/vchart-theme-utils': workspace:1.12.3 '@vitejs/plugin-react': ^4.1.1 @@ -816,8 +818,8 @@ importers: '@types/react-dom': 17.0.25 '@typescript-eslint/eslint-plugin': 5.30.0_cow5zg7tx6c3eisi5a4ud5kwia '@typescript-eslint/parser': 5.30.0_vwud3sodsb5zxmzckoj7rdwdbq - '@visactor/react-vchart': 1.12.1_biqbaboplfbrettd7655fr4n2y - '@visactor/vchart': 1.12.1 + '@visactor/react-vchart': 2.0.19_biqbaboplfbrettd7655fr4n2y + '@visactor/vchart': 2.0.19 '@vitejs/plugin-react': 4.2.1_vite@4.5.3 '@vitejs/plugin-react-swc': 3.6.0_vite@4.5.3 classnames: 2.5.1 @@ -867,8 +869,8 @@ importers: '@types/jest': ~29.5.0 '@types/node': '*' '@types/offscreencanvas': 2019.6.4 - '@visactor/vchart': 1.12.1 - '@visactor/vchart-types': 1.12.1 + '@visactor/vchart': 2.0.19 + '@visactor/vchart-types': 2.0.19 eslint: ~8.18.0 husky: 7.0.4 jest: ~29.5.0 @@ -892,8 +894,8 @@ importers: '@types/jest': 29.5.12 '@types/node': 20.12.7 '@types/offscreencanvas': 2019.6.4 - '@visactor/vchart': 1.12.1 - '@visactor/vchart-types': 1.12.1 + '@visactor/vchart': 2.0.19 + '@visactor/vchart-types': 2.0.19 eslint: 8.18.0 husky: 7.0.4 jest: 29.5.0_nfgaym6ygctcxvhgdn7jfhc2pq @@ -2485,8 +2487,8 @@ packages: memoize-one: 5.2.1 scroll-into-view-if-needed: 2.2.31 - /@douyinfe/semi-icons-lab/2.90.13_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-/3ihlPM1F2XHB4IucYDyDkkZVQ5h43bSJksAwnnMwiDRCiwvfk1vMPruwWdJ6tFoIBANYo/qjyZHv1MwNH/Gmg==} + /@douyinfe/semi-icons-lab/2.92.2_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-fji8IsmaktOYztG2HSezObFgejz7WEBWT/X52jj48k8Mz3cOJxD6vZyzmttfvpQPKH2/G0KpmxbkQ3cNHOiHFQ==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' @@ -2502,8 +2504,8 @@ packages: classnames: 2.5.1 react: 18.2.0 - /@douyinfe/semi-icons/2.90.13_react@18.2.0: - resolution: {integrity: sha512-9OiKvleOMB+t0h+Vbq/6Tz90JJPANJDvW5g3XtVWmIwIgScgy/N52fMhWXDf6Avr6wi9MDPcQZ6SYPO2S7m4sQ==} + /@douyinfe/semi-icons/2.92.2_react@18.2.0: + resolution: {integrity: sha512-+fgK2Oe2+uokQZnrd+rHgksmfvDVvqT1fhbl49qJlDsg/xaXRxI2LOQRqBI+x0sOKabGKem+P3lY24Jgd/IGnQ==} peerDependencies: react: '>=16.0.0' dependencies: @@ -3193,6 +3195,149 @@ packages: rimraf: 3.0.2 dev: true + /@parcel/watcher-android-arm64/2.5.6: + resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-darwin-arm64/2.5.6: + resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-darwin-x64/2.5.6: + resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-freebsd-x64/2.5.6: + resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm-glibc/2.5.6: + resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm-musl/2.5.6: + resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm64-glibc/2.5.6: + resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm64-musl/2.5.6: + resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-x64-glibc/2.5.6: + resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-x64-musl/2.5.6: + resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-win32-arm64/2.5.6: + resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-win32-ia32/2.5.6: + resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-win32-x64/2.5.6: + resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher/2.5.6: + resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} + engines: {node: '>= 10.0.0'} + requiresBuild: true + dependencies: + detect-libc: 2.1.2 + is-glob: 4.0.3 + node-addon-api: 7.1.1 + picomatch: 4.0.3 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 + dev: true + optional: true + /@resvg/resvg-js-android-arm-eabi/2.4.1: resolution: {integrity: sha512-AA6f7hS0FAPpvQMhBCf6f1oD1LdlqNXKCxAAPpKh6tR11kqV0YIB9zOlIYgITM14mq2YooLFl6XIbbvmY+jwUw==} engines: {node: '>= 10'} @@ -4483,53 +4628,60 @@ packages: '@typescript-eslint/types': 5.30.0 eslint-visitor-keys: 3.4.3 - /@visactor/react-vchart/1.12.1_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-nQLsj6zQf/a6cClABbGKgwFYTSqFJ7ZWBAt0YjePEBHI8xERsVpD2lgEYXFqkA822QIFGv9wk82NeJXRkT8oJA==} + /@visactor/react-vchart/2.0.19_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-gLEJ8Q6DhI21xX6PDUEmhSUu4Ft8+Foho7TktiMMX6Nll5RYgXagjtjRAI1kSSKm6t/7ZXbBsmP4RdL+KaGtNA==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@visactor/vchart': 1.12.1 - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vutils': 0.18.15 + '@visactor/vchart': 2.0.19 + '@visactor/vchart-extension': 2.0.19 + '@visactor/vrender-core': 1.0.41 + '@visactor/vrender-kits': 1.0.41 + '@visactor/vutils': 1.0.23 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-is: 18.2.0 dev: true - /@visactor/vchart-types/1.12.1: - resolution: {integrity: sha512-jr6yw2kYFVbxAWPT3G50ZykXGm3//NMG0KhVFE7g6/VPDFIhb8HAAVkb5g/taybOxSAVbCZ3yHUbbe2ZhhBWgA==} + /@visactor/vchart-extension/2.0.19: + resolution: {integrity: sha512-SCFysGMRGdNK6wYFKDrvZzGdYbVjGhdbqlWA5t2fdbuVcCN7wNBTDKI+pL4yUL3n9M1ZtVxQp5uOw9I0AjFHZQ==} + dependencies: + '@visactor/vchart': 2.0.19 + '@visactor/vdataset': 1.0.23 + '@visactor/vlayouts': 1.0.23 + '@visactor/vrender-animate': 1.0.41 + '@visactor/vrender-components': 1.0.41 + '@visactor/vrender-core': 1.0.41 + '@visactor/vrender-kits': 1.0.41 + '@visactor/vutils': 1.0.23 + dev: true + + /@visactor/vchart-types/2.0.19: + resolution: {integrity: sha512-G3MaSthmlDPzcTMN/XlqPSzihDneh6lXZZ3MAqEUeamvoOSHPJPAcwe7PFE4tOFwthAgM43j+W3d2sbtujkzOg==} dev: true - /@visactor/vchart/1.12.1: - resolution: {integrity: sha512-/MSNRN2+gL8lgmXw3IQw9oG2ORxp1Kehvd4p4W95yd8EK6CVwYMRqredT84J3kr4jOtpK2a3ylsWNMUNFk8CrQ==} + /@visactor/vchart/2.0.19: + resolution: {integrity: sha512-pPNAHUuNlw1FNgbSSwT9comeJUXpaTAe8yed1MVI5rT+TspIg9Wpio29ZlUjrevUxosQqka5VAD63jQS6PMaOg==} dependencies: - '@visactor/vdataset': 0.18.15 - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-hierarchy': 0.14.0 - '@visactor/vgrammar-projection': 0.14.0 - '@visactor/vgrammar-sankey': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vgrammar-venn': 0.14.0 - '@visactor/vgrammar-wordcloud': 0.14.0 - '@visactor/vgrammar-wordcloud-shape': 0.14.0 - '@visactor/vrender-components': 0.20.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vscale': 0.18.15 - '@visactor/vutils': 0.18.15 - '@visactor/vutils-extension': 1.12.1 + '@visactor/vdataset': 1.0.23 + '@visactor/vlayouts': 1.0.23 + '@visactor/vrender-animate': 1.0.41 + '@visactor/vrender-components': 1.0.41 + '@visactor/vrender-core': 1.0.41 + '@visactor/vrender-kits': 1.0.41 + '@visactor/vscale': 1.0.23 + '@visactor/vutils': 1.0.23 + '@visactor/vutils-extension': 2.0.19 dev: true - /@visactor/vdataset/0.18.15: - resolution: {integrity: sha512-LWaaunGetH8ThWjz6CE7NMG/LcFS41lTl76UCNJM1msfQxyIsbtoHim7t+Hdvud76oRZM0rxX/V4iB/+JpMRfw==} + /@visactor/vdataset/1.0.23: + resolution: {integrity: sha512-zrLk9FBUWJoW6b30XnPKzXwAXl8USdLDfed6QZLsmdkylRU8V7yZeXE2aKwU8Lg1U4HmQngqmqOx7/QlbX44Tg==} dependencies: '@turf/flatten': 6.5.0 '@turf/helpers': 6.5.0 '@turf/rewind': 6.5.0 - '@visactor/vutils': 0.18.15 + '@visactor/vutils': 1.0.23 d3-dsv: 2.0.0 d3-geo: 1.12.1 d3-hexbin: 0.2.2 @@ -4545,129 +4697,62 @@ packages: topojson-client: 3.1.0 dev: true - /@visactor/vgrammar-coordinate/0.14.0: - resolution: {integrity: sha512-9ZxQ0BQmcxi70Bl5oHRe2xd4UVPTbjdHhyQOIT1l4X6fVUwyIf2nRibQILHOlQj+KN8AhrdQIuYp1rD6khecpg==} - dependencies: - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vutils': 0.18.15 - dev: true - - /@visactor/vgrammar-core/0.14.0: - resolution: {integrity: sha512-VZu/9cPkjrG6xVx4KeV5zJpEYKfqMR4vov3nIKqgXgIuKgqLcVSrsFsthoYu9qi8xCbPtgZSFI2yo0qiB9wN3g==} + /@visactor/vlayouts/1.0.23: + resolution: {integrity: sha512-fK1f5LmuumhYanLArk5yrT4BZxu4IAmdc8WMwfB/KAvV+2dTPFuBUMWbWnDl0siQoU9SX9l/bLozUnI9n7BwBQ==} dependencies: - '@visactor/vdataset': 0.18.15 - '@visactor/vgrammar-coordinate': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vrender-components': 0.20.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vscale': 0.18.15 - '@visactor/vutils': 0.18.15 - dev: true - - /@visactor/vgrammar-hierarchy/0.14.0: - resolution: {integrity: sha512-Tme/aCx3m+tKcUu5X5BJLqc654YzNXpCc29s6T97DEev1PCvyGeTf/lvBUirnfSBkgoCbrfDZVpK/zOAUtrC0g==} - dependencies: - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vutils': 0.18.15 - dev: true - - /@visactor/vgrammar-projection/0.14.0: - resolution: {integrity: sha512-/Y1ffjMl1j8X7TXHrni9IBQJkL7q1yzVaFILhXUjY3NnYXWuDGJKEgK1BX3KbJhZzGLjDLeRVATvSYN1pzkO4A==} - dependencies: - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vutils': 0.18.15 - d3-geo: 1.12.1 - dev: true - - /@visactor/vgrammar-sankey/0.14.0: - resolution: {integrity: sha512-VVnmi7znTYnDQNAxW0stK14LSVFKSQe/flnavkVds91tgtT5+RBLE09Vqz9eH45n23nxHEfwrWA4sHiWfQ8mLg==} - dependencies: - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vutils': 0.18.15 - dev: true - - /@visactor/vgrammar-util/0.14.0: - resolution: {integrity: sha512-h838qgT6IFHYtugTf7sC+rRvz2aU/W0EEnXX/cEeyvMAkuBgdC0Jq6vmGYAbmm+hwbhUREC5QvxudwSEEKCelg==} - dependencies: - '@visactor/vrender-core': 0.20.0 - '@visactor/vutils': 0.18.15 - dev: true - - /@visactor/vgrammar-venn/0.14.0: - resolution: {integrity: sha512-l8w802GiSs3oRhn9lvt5YERyQwvgaCHXlOMU26tQqssrR0u6tbdH0Q+crqL6jzLktwzVVfbVPRC3q1pBQU6geQ==} - dependencies: - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vutils': 0.18.15 - dev: true - - /@visactor/vgrammar-wordcloud-shape/0.14.0: - resolution: {integrity: sha512-gDMTVaryB37uTZSXYpf0Zih894lHVJQRrPZYSiHvu5Jj9FZcisqBU+G8Q1Lo4WZJVhfWvCeuv9tYHtR9Gvuw3A==} - dependencies: - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vscale': 0.18.15 - '@visactor/vutils': 0.18.15 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@visactor/vscale': 1.0.23 + '@visactor/vutils': 1.0.23 + eventemitter3: 4.0.7 dev: true - /@visactor/vgrammar-wordcloud/0.14.0: - resolution: {integrity: sha512-NYzNS9vKuZJJUvqshxA88ScH7fB57tdO/wvtBYTDwRp249xqK/uzrAtaOgzNj4bJ5vwu//R+i5hYOjzdQABebw==} + /@visactor/vrender-animate/1.0.41: + resolution: {integrity: sha512-kdMoIh7OEo6z4rZfnJHX7d+izBhGVWq6MR22uppk0LPilfdBd/1hSNAEKO6C9JWAy5uROGFpEkh+kk+ar/zSZg==} dependencies: - '@visactor/vgrammar-core': 0.14.0 - '@visactor/vgrammar-util': 0.14.0 - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vutils': 0.18.15 + '@visactor/vrender-core': 1.0.41 + '@visactor/vutils': 1.0.23 dev: true - /@visactor/vrender-components/0.20.0: - resolution: {integrity: sha512-nZUtFF1Kg8xjDGGIVeBdAOjxWW+jibUV4ltF1G/Z4GaHYUzpYfifWVrPBpo4BFIjaeICaSit2nKvntXhEUzj2w==} + /@visactor/vrender-components/1.0.41: + resolution: {integrity: sha512-B7iXJE1TdkYapPZN6DNxoaErY4FzGf5AbcbG/z6Q0hnzO4Iw1hKdtlTGOIYA1+JXhehDWcyy+D0bnoNQNf+rgw==} dependencies: - '@visactor/vrender-core': 0.20.0 - '@visactor/vrender-kits': 0.20.0 - '@visactor/vscale': 0.18.15 - '@visactor/vutils': 0.18.15 + '@visactor/vrender-animate': 1.0.41 + '@visactor/vrender-core': 1.0.41 + '@visactor/vrender-kits': 1.0.41 + '@visactor/vscale': 1.0.23 + '@visactor/vutils': 1.0.23 dev: true - /@visactor/vrender-core/0.20.0: - resolution: {integrity: sha512-P6Ata06lmVlLu23usSFluILuyxhMydRIgPW5o0zzK/EASstirRdWEx4EghZmobg3XPoipzh0/8O8ddBBtzaflg==} + /@visactor/vrender-core/1.0.41: + resolution: {integrity: sha512-P7YVUJ45vwqPA460W6JJjg201ThvxBrjEgTBJ4tHKaHZPP/nVyF8rPyUOCL8QesEFDB+R0e/sUJUVs+ckHhd2w==} dependencies: - '@visactor/vutils': 0.18.15 + '@visactor/vutils': 1.0.23 color-convert: 2.0.1 dev: true - /@visactor/vrender-kits/0.20.0: - resolution: {integrity: sha512-9r7XQdLoNfCtr+QQU0JpghDXQ7DOaa3CnvJmXrSn1gonkeDmUmTN9yDs8L2URdYEpXrThPUMJsVy/N3Tp3cqCA==} + /@visactor/vrender-kits/1.0.41: + resolution: {integrity: sha512-ffJlKkNseOsnRjvBmxKxQ9dsQXu+K288NFCtB0ZZ2N/mtcTsZUlH5SDCcsAvDhPGEvJ22Ye4MFKcXSEDctpGzA==} dependencies: '@resvg/resvg-js': 2.4.1 - '@visactor/vrender-core': 0.20.0 - '@visactor/vutils': 0.18.15 - roughjs: 4.5.2 + '@visactor/vrender-core': 1.0.41 + '@visactor/vutils': 1.0.23 + gifuct-js: 2.1.2 + lottie-web: 5.13.0 + roughjs: 4.6.6 dev: true - /@visactor/vscale/0.18.15: - resolution: {integrity: sha512-09dDWc6muJbOMxzp4odCsyLjqAF6u3BOx9kAJJ0tEpKE1AuHL4BTejNe697mJAnXqAo2ynAA+dn+cgWYiW1WQg==} + /@visactor/vscale/1.0.23: + resolution: {integrity: sha512-XePhYuRoNAp+8MeSMuEOOvhVAlOwvM1sDT2yFxE6zdwVB2GjZk8mH+5N2xQGQWk75YmGJjlJASFtgwjlb1yWxw==} dependencies: - '@visactor/vutils': 0.18.15 + '@visactor/vutils': 1.0.23 dev: true - /@visactor/vutils-extension/1.12.1: - resolution: {integrity: sha512-4UcTDdlgkCpDNUxO+U1OMWWqkxhYNS9UF8qR3xBC3x5z7Mu2c8ppM7oZDujnTeJEoG7+JKpOIpX/el3pFFh8Rg==} + /@visactor/vutils-extension/2.0.19: + resolution: {integrity: sha512-uRYCZFw7bYFdrSPQNIrYYsEGKuVn7lTMd4zDKBA2qnAfAZ/Y4WeXzZhQKdXgTFu5UGa292CqmVqMlVKFNWjC+A==} dependencies: - '@visactor/vdataset': 0.18.15 - '@visactor/vutils': 0.18.15 + '@visactor/vdataset': 1.0.23 + '@visactor/vutils': 1.0.23 dev: true /@visactor/vutils/0.18.15: @@ -4676,6 +4761,15 @@ packages: '@turf/helpers': 6.5.0 '@turf/invariant': 6.5.0 eventemitter3: 4.0.7 + dev: false + + /@visactor/vutils/1.0.23: + resolution: {integrity: sha512-M8SLqgdHhKN8QmQKTWD1gzEaHptpIV9pvMYvC6+VeOsqYvZZ6UdhSCAAczTYVo+m/uwcEC2JHSUspbrs8rzlRQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + eventemitter3: 4.0.7 + dev: true /@vitejs/plugin-react-swc/3.6.0_vite@4.5.3: resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==} @@ -5637,6 +5731,13 @@ packages: fsevents: 2.3.3 dev: true + /chokidar/4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + dependencies: + readdirp: 4.1.2 + dev: true + /chownr/2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -6292,6 +6393,12 @@ packages: engines: {node: '>=0.10.0'} dev: false + /detect-libc/2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + dev: true + optional: true + /detect-newline/2.1.0: resolution: {integrity: sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==} engines: {node: '>=0.10.0'} @@ -7357,6 +7464,12 @@ packages: engines: {node: '>=0.10.0'} dev: false + /gifuct-js/2.1.2: + resolution: {integrity: sha512-rI2asw77u0mGgwhV3qA+OEgYqaDn5UNqgs+Bx0FGwSpuqfYn+Ir6RQY5ENNQ8SbIiG/m5gVa7CD5RriO4f4Lsg==} + dependencies: + js-binary-schema-parser: 2.0.3 + dev: true + /glob-parent/3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: @@ -7640,6 +7753,10 @@ packages: glogg: 1.0.2 dev: false + /hachure-fill/0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + dev: true + /hard-rejection/2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -7851,6 +7968,10 @@ packages: requiresBuild: true optional: true + /immutable/5.1.5: + resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==} + dev: true + /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -8819,6 +8940,10 @@ packages: resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} dev: true + /js-binary-schema-parser/2.0.3: + resolution: {integrity: sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==} + dev: true + /js-string-escape/1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} engines: {node: '>= 0.8'} @@ -9166,6 +9291,10 @@ packages: dependencies: js-tokens: 4.0.0 + /lottie-web/5.13.0: + resolution: {integrity: sha512-+gfBXl6sxXMPe8tKQm7qzLnUy5DUPJPKIyRHwtpCpyUEYjHYRJC/5gjUvdkuO2c3JllrPtHXH5UJJK8LRYl5yQ==} + dev: true + /loupe/2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: @@ -9669,6 +9798,11 @@ packages: tslib: 2.3.1 dev: true + /node-addon-api/7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + dev: true + optional: true + /node-gyp/8.4.1: resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} engines: {node: '>= 10.12.0'} @@ -10140,6 +10274,12 @@ packages: engines: {node: '>=10'} dev: true + /picomatch/4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + dev: true + optional: true + /pidtree/0.5.0: resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} engines: {node: '>=0.10'} @@ -10724,6 +10864,11 @@ packages: picomatch: 2.3.1 dev: true + /readdirp/4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + dev: true + /rechoir/0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -11005,9 +11150,10 @@ packages: fsevents: 2.3.3 dev: true - /roughjs/4.5.2: - resolution: {integrity: sha512-2xSlLDKdsWyFxrveYWk9YQ/Y9UfK38EAMRNkYkMqYBJvPX8abCa9PN0x3w02H8Oa6/0bcZICJU+U95VumPqseg==} + /roughjs/4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} dependencies: + hachure-fill: 0.5.2 path-data-parser: 0.1.0 points-on-curve: 0.2.0 points-on-path: 0.2.1 @@ -11071,6 +11217,18 @@ packages: yargs: 17.7.2 dev: true + /sass/1.98.0: + resolution: {integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 4.0.3 + immutable: 5.1.5 + source-map-js: 1.2.0 + optionalDependencies: + '@parcel/watcher': 2.5.6 + dev: true + /sax/1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: true @@ -12701,6 +12859,43 @@ packages: fsevents: 2.3.3 dev: true + /vite/4.5.3_drwgbx6kncedk3tgksguhmevgq: + resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.7 + esbuild: 0.18.20 + postcss: 8.4.38 + rollup: 3.29.4 + sass: 1.98.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vitest/0.30.1_less@4.1.3+terser@5.17.1: resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==} engines: {node: '>=v14.18.0'} diff --git a/packages/vchart-arco-theme/package.json b/packages/vchart-arco-theme/package.json index da8720e..a94f171 100644 --- a/packages/vchart-arco-theme/package.json +++ b/packages/vchart-arco-theme/package.json @@ -77,8 +77,8 @@ "react-router-dom": "^5.2.0", "react-device-detect": "^2.2.2", "redux": "^4.1.2", - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19", "@arco-design/webpack-plugin": "^1.6.0", "@arco-plugins/vite-plugin-svgr": "^0.7.2", "@svgr/webpack": "^5.5.0", diff --git a/packages/vchart-aurora-theme/.trae/AI_DEVELOPMENT_GUIDE.md b/packages/vchart-aurora-theme/.trae/AI_DEVELOPMENT_GUIDE.md new file mode 100644 index 0000000..faa502a --- /dev/null +++ b/packages/vchart-aurora-theme/.trae/AI_DEVELOPMENT_GUIDE.md @@ -0,0 +1,52 @@ +# VChart Aurora Theme 开发指南 (AI Development Guide) + +本文档旨在为 AI 助手提供一套标准的开发、修改与验证流程,确保 VChart 主题包开发的规范性和高效性。 + +## 1. 项目环境 (Environment) + +- **项目根目录**: `/Users/bytedance/rep/vchart-theme/packages/vchart-aurora-theme` +- **Demo 目录**: `/Users/bytedance/rep/vchart-theme/packages/vchart-aurora-theme/demo` +- **启动项目**: 在 `packages/vchart-aurora-theme` 目录下执行 `npm run start`。 +- **运行状态**: 开发服务器启动后 (Vite),请根据终端输出的 Local 地址访问 Demo 页面(通常为 `http://localhost:5173/` 或 `http://localhost:5174/` 等)。 + +## 2. 核心文件映射 (File Mapping) + +在执行修改任务时,请根据需求类型定位到以下核心文件: + +| 模块 (Module) | 文件路径 (Path) | 关键内容 (Content) | +| :------------ | :--------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **全局色板** | [`src/common/color-scheme.ts`](src/common/color-scheme.ts) | `colorList` (数据色板), `palette` (背景色/字体色/轴线色) | +| **设计变量** | [`src/common/token.ts`](src/common/token.ts) | `fontFamily`, `fontSize`, `borderRadius`, `padding` 等基础 Token | +| **组件样式** | `src/common/component/*.ts` | - [`axis.ts`](src/common/component/axis.ts): 坐标轴
- [`legend.ts`](src/common/component/legend.ts): 图例
- [`tooltip.ts`](src/common/component/tooltip.ts): 提示框
- [`crosshair.ts`](src/common/component/crosshair.ts): 十字准星 | +| **图表系列** | `src/common/series/*.ts` | - [`bar.ts`](src/common/series/bar.ts): 柱状图
- [`line.ts`](src/common/series/line.ts): 折线图
- [`pie.ts`](src/common/series/pie.ts): 饼图
- 其他: `area.ts`, `scatter.ts`, `radar.ts` 等 | +| **测试用例** | [`demo/src/chartSpec.ts`](demo/src/chartSpec.ts) | 包含 `barSpec`, `lineSpec`, `pieSpec` 等测试配置,用于 Demo 展示 | + +## 3. 开发流程 (Workflow) + +### Step 1: 需求分析 + +阅读 `TASKS.md` 或用户指令,明确修改点(例如:“修改背景色”或“调整坐标轴字号”)。 + +### Step 2: 代码修改 + +1. **定位**: 根据映射表找到对应源码文件。 +2. **修改**: 保持代码风格一致,进行最小必要修改。 + - _Tip_: 修改 `color-scheme.ts` 影响全局颜色。 + - _Tip_: 修改 `token.ts` 影响全局尺寸/字体。 + - _Tip_: 修改 `component/series` 文件进行特定组件/图表的精细调整。 + +### Step 3: 验证闭环 + +1. **检查 Demo**: 修改保存后,Vite 会热更新。 +2. **更新用例 (可选)**: 如果现有 Demo 图表无法展示修改效果(例如缺少特定类型的图表),请在 `demo/src/chartSpec.ts` 中添加新的 Spec。 并在 `demo/src/chart-list.ts` 中注册。 +3. **确认**: 启动项目并通过内置浏览器访问 Demo 页面(URL 见启动日志)查看效果,确认是否符合需求。 + +## 4. 辅助工具 (Tools) + +- **VChart 专家助手**: 遇到 VChart 配置问题、需要创建复杂 Demo 或诊断图表问题时,可以使用 `vchart-development-assistant` skill 获取帮助。 + +## 5. 注意事项 + +- **只修改必要文件**: 避免改动构建配置或无关逻辑。 +- **保持类型安全**: 确保 TypeScript 类型检查通过。 +- **实时反馈**: 修改完成后,简要描述改动点并提示用户查看 Demo。 diff --git a/packages/vchart-aurora-theme/.trae/TASKS.md b/packages/vchart-aurora-theme/.trae/TASKS.md new file mode 100644 index 0000000..fac0d8b --- /dev/null +++ b/packages/vchart-aurora-theme/.trae/TASKS.md @@ -0,0 +1,72 @@ +# 任务列表 (Tasks) + +请在此文档中添加开发需求。AI 将会读取此文档,按顺序执行任务并更新状态。 + +## 📝 提需示例 (Request Examples) + +如果你需要提出新需求,请复制以下格式添加到 **[待办任务]** 区域: + +### 示例 1:修改样式 + +```markdown +- [ ] **Task: 调整柱状图默认宽度** + - **描述**: 将柱状图(Bar Chart)的默认 `barMaxWidth` 设置为 20px。 + - **文件**: `src/common/series/bar.ts` + - **验证**: 检查 Demo 中的柱状图是否变宽/变窄。 +``` + +### 示例 2:新增图表配置 + +```markdown +- [ ] **Task: 添加漏斗图测试用例** + - **描述**: 在 Demo 中新增一个漏斗图(Funnel Chart)的 Spec,用于测试漏斗图主题样式。 + - **文件**: `demo/src/chartSpec.ts` + - **验证**: Demo 页面出现漏斗图。 +``` + +--- + +## 🚀 待办任务 (Pending Tasks) + + + +## 🔄 进行中 (In Progress) + + + +--- + +## ✅ 已完成 (Completed) + + + +- [x] **Task: 修复 Line/Area 图例和 Tooltip 颜色渐变问题** + - **描述**: 在 Line 和 Area 图表中,由于 Series 样式使用了渐变色,导致 Legends 和 Tooltip 的图形也呈现渐变。需修改主题配置,使其显示为纯色。 + - **文件**: `src/common/series/line.ts`, `src/common/series/area.ts` + - **优先级**: 高 + +- [x] **Task: 新增柱状图双Y轴Demo** + - **描述**: 新增一个柱状图的demo,包含两个y轴,左边单位金额,右边单位百分比,比如退款金额、退款率。spec参考benchmarkSpec。 + - **文件**: `demo/src/chartSpec.ts`, `demo/src/chart-list.ts` + - **验证**: Demo 页面出现双Y轴柱状图。 + +- [x] **Task: legend取消选中时,shape有border** + - **描述**: legend取消选中时,shape有border,填充色变为白色,边框颜色保持原色。 + - **文件**: `src/common/component/legend.ts` + - **优先级**: 中 + +- [x] **Task: 禁用迷你面积图 Hover 效果 (Demo Only)** + + - **描述**: 修改 Demo 配置,禁用迷你面积图 (`areaSimpleSpec`) 的 Hover 交互。注意:只改 Demo,不改主题。 + - **文件**: `demo/src/chartSpec.ts` + - **优先级**: 中 + +- [x] **Task: 基础折线图增加背景色和圆角 (Demo Only)** + + - **描述**: 修改 Demo 配置,为基础折线图 (`lineSpec`) 添加渐变背景 `linear-gradient(180deg, #F5F9FF 0%, #FFFFFF 97.6%)` 和圆角 `12px`, 只包含图表区域,不包含 xy 轴。注意:只改 Demo,不改主题。 + - **文件**: `demo/src/chartSpec.ts` + - **优先级**: 中 + +- [x] **Task: tooltip 的每项的图形形状改成圆形** + - **描述**: tooltip 的每项的图形形状改成圆形,和 legends 的形状保持一致。在面积图 demo 中完成验证 + - **优先级**: 高 diff --git a/packages/vchart-aurora-theme/demo/src/chart-list.ts b/packages/vchart-aurora-theme/demo/src/chart-list.ts index 51c6d3d..ec1b3db 100644 --- a/packages/vchart-aurora-theme/demo/src/chart-list.ts +++ b/packages/vchart-aurora-theme/demo/src/chart-list.ts @@ -1,56 +1,159 @@ import type { IChartInfo } from '@internal/chart-demo'; import { + barSpec, areaSpec, + areaSimpleSpec, + multiAreaSpec, barGroupHorizontalSpec, barGroupSpec, - barStackedHorizontalSpec, - barStackedPercentSpec, + benchmarkSpec, + dualAxisBarSpec, barStackedSpec, funnelSpec, lineSpec, pieSpec, + nestPieSpec, + metricPieSpec, radarSpec } from './chartSpec'; -export const charts: IChartInfo[] = [ +export interface IChartCategory { + key: string; + title: string; + charts: IChartInfo[]; +} + +// 柱状图系列 +export const barCharts: IChartInfo[] = [ + { + title: '基础柱状图', + spec: barSpec + }, { - title: 'Grouped Bar Chart', + title: '基础柱状图', spec: barGroupSpec }, { - title: 'Stacked Bar Chart', + title: '堆叠柱状图&Hover总量', spec: barStackedSpec }, { - title: 'Horizontal Grouped Bar Chart', - spec: barGroupHorizontalSpec + title: '带同行标杆柱状图', + spec: benchmarkSpec }, { - title: 'Horizontal Stacked Bar Chart', - spec: barStackedHorizontalSpec + title: '双轴图(金额/比率)', + spec: dualAxisBarSpec }, { - title: 'Stacked Percentage Bar Chart', - spec: barStackedPercentSpec - }, + title: '水平分组柱状图', + spec: barGroupHorizontalSpec + } +]; + +// 折线图系列 +export const lineCharts: IChartInfo[] = [ { - title: 'Line Chart', + title: '基础折线图', spec: lineSpec - }, + } +]; + +// 面积图系列 +export const areaCharts: IChartInfo[] = [ { - title: 'Area Chart', + title: '基础面积图', spec: areaSpec }, { - title: 'Pie Chart', + title: '迷你面积图', + spec: areaSimpleSpec + }, + { + title: '多项面积图', + spec: multiAreaSpec + } +]; + +// 饼图系列 +export const pieCharts: IChartInfo[] = [ + { + title: '基础饼图', spec: pieSpec }, { - title: 'Radar Chart', - spec: radarSpec + title: '定制标签的饼图', + spec: nestPieSpec }, { - title: 'Funnel Chart', + title: '中心指标饼图', + spec: metricPieSpec + } +]; + +// 雷达图系列 +export const radarCharts: IChartInfo[] = [ + { + title: '基础雷达图', + spec: radarSpec + } +]; + +// 漏斗图系列 +export const funnelCharts: IChartInfo[] = [ + { + title: '基础漏斗图', spec: funnelSpec } ]; + +// 所有图表分类 +export const chartCategories: IChartCategory[] = [ + { + key: 'pie', + title: '饼图', + charts: pieCharts + }, + { + key: 'bar', + title: '柱状图', + charts: barCharts + }, + { + key: 'line', + title: '折线图', + charts: lineCharts + }, + { + key: 'area', + title: '面积图', + charts: areaCharts + } + + // { + // key: 'radar', + // title: '雷达图', + // charts: radarCharts + // }, + // { + // key: 'funnel', + // title: '漏斗图', + // charts: funnelCharts + // } +]; + +// 所有图表(向后兼容) +export const charts: IChartInfo[] = [ + ...barCharts, + ...lineCharts, + ...areaCharts, + ...pieCharts, + ...radarCharts, + ...funnelCharts +]; + +// 根据分类 key 获取图表列表 +export function getChartsByCategory(key: string): IChartInfo[] { + const category = chartCategories.find(c => c.key === key); + return category ? category.charts : charts; +} diff --git a/packages/vchart-aurora-theme/demo/src/chartSpec.js b/packages/vchart-aurora-theme/demo/src/chartSpec.ts similarity index 58% rename from packages/vchart-aurora-theme/demo/src/chartSpec.js rename to packages/vchart-aurora-theme/demo/src/chartSpec.ts index 9b532bd..e50a0cb 100644 --- a/packages/vchart-aurora-theme/demo/src/chartSpec.js +++ b/packages/vchart-aurora-theme/demo/src/chartSpec.ts @@ -1,3 +1,5 @@ +import { colorList, nestColorList } from '../../src/index'; + export const barSpec = { type: 'bar', data: { @@ -9,8 +11,8 @@ export const barSpec = { { type: 'Autocracies', year: '1970', value: 117 }, { type: 'Autocracies', year: '1980', value: 114 }, { type: 'Autocracies', year: '1990', value: 111 }, - { type: 'Autocracies', year: '2000', value: 89 }, - { type: 'Autocracies', year: '2010', value: 80 }, + { type: 'Autocracies', year: '2000', value: 0 }, + { type: 'Autocracies', year: '2010', value: 0.1 }, { type: 'Autocracies', year: '2018', value: 80 } ] }, @@ -64,8 +66,8 @@ export const barGroupSpec = { { type: 'Democracies', year: '2000', value: 87 }, { type: 'Democracies', year: '2010', value: 98 }, { type: 'Democracies', year: '2018', value: 99 }, - { type: 'Price', year: '1930', value: 56 }, - { type: 'Price', year: '1940', value: 122 }, + { type: 'Price', year: '1930', value: 0 }, + { type: 'Price', year: '1940', value: 0.1 }, { type: 'Price', year: '1950', value: 72 }, { type: 'Price', year: '1960', value: 82 }, { type: 'Price', year: '1970', value: 67 }, @@ -100,8 +102,9 @@ export const barGroupSpec = { indicator: { visible: true }, - label: { - visible: true + title: { + text: '柱状图标题', + subtext: '可选展示副标题一到两行文字' } }; @@ -215,75 +218,102 @@ export const barStackedSpec = { }, indicator: { visible: true + }, + tooltip: { + dimension: { + updateContent: items => { + const total = items.reduce((sum, item) => sum + Number(item.value), 0); + return [ + { key: '总量', value: total, hasShape: false }, // 新增总量项 + ...items + ]; + } + } } }; -export const barStackedHorizontalSpec = { +export const benchmarkSpec = { type: 'bar', - //stack: true, - data: { - values: [ - { type: 'Autocracies', year: '1930', value: 129 }, - { type: 'Autocracies', year: '1940', value: 133 }, - { type: 'Autocracies', year: '1950', value: 130 }, - { type: 'Autocracies', year: '1960', value: 126 }, - { type: 'Autocracies', year: '1970', value: 117 }, - { type: 'Autocracies', year: '1980', value: 114 }, - { type: 'Autocracies', year: '1990', value: 111 }, - { type: 'Democracies', year: '1930', value: 22 }, - { type: 'Democracies', year: '1940', value: 13 }, - { type: 'Democracies', year: '1950', value: 25 }, - { type: 'Democracies', year: '1960', value: 29 }, - { type: 'Democracies', year: '1970', value: 38 }, - { type: 'Democracies', year: '1980', value: 41 }, - { type: 'Democracies', year: '1990', value: 57 }, - { type: 'Price', year: '1930', value: 56 }, - { type: 'Price', year: '1940', value: 122 }, - { type: 'Price', year: '1950', value: 72 }, - { type: 'Price', year: '1960', value: 82 }, - { type: 'Price', year: '1970', value: 67 }, - { type: 'Price', year: '1980', value: 89 }, - { type: 'Price', year: '1990', value: 60 }, - { type: 'D', year: '1930', value: 56 }, - { type: 'D', year: '1940', value: 122 }, - { type: 'D', year: '1950', value: 72 }, - { type: 'D', year: '1960', value: 82 }, - { type: 'D', year: '1970', value: 67 }, - { type: 'D', year: '1980', value: 89 }, - { type: 'D', year: '1990', value: 60 }, - { type: 'E', year: '1930', value: 56 }, - { type: 'E', year: '1940', value: 122 }, - { type: 'E', year: '1950', value: 72 }, - { type: 'E', year: '1960', value: 82 }, - { type: 'E', year: '1970', value: 67 }, - { type: 'E', year: '1980', value: 89 }, - { type: 'E', year: '1990', value: 60 } - ] - }, - height: 500, - direction: 'horizontal', - xField: 'value', - yField: 'year', - seriesField: 'type', - axes: [ + data: [ { - orient: 'left', - visible: true, - domainLine: { visible: true }, - tick: { visible: true } + id: 'base', + values: [ + { + reason: '价格问题', + value: 250, + type: '退款金额' + }, + { + reason: '物流问题', + value: 200, + type: '退款金额' + }, + { + reason: '不想要了', + value: 100, + type: '退款金额' + }, + { + reason: '其他', + value: 20, + type: '退款金额' + } + ] }, { - orient: 'bottom', - visible: true, - domainLine: { visible: false }, - tick: { visible: false } + id: 'bench', + values: [ + { + reason: '价格问题', + value: 230, + type: '同行标杆' + }, + { + reason: '物流问题', + value: 230, + type: '同行标杆' + }, + { + reason: '不想要了', + value: 120, + type: '同行标杆' + }, + { + reason: '其他', + value: 10, + type: '同行标杆' + } + ] + } + ], + series: [ + { + id: 'base', + type: 'bar', + dataId: 'base', + seriesField: 'type', + xField: 'reason', + yField: 'value', + barMaxWidth: 16, + barGapInGroup: 2 + }, + { + id: 'bench', + type: 'scatter', + dataId: 'bench', + seriesField: 'type', + xField: 'reason', + yField: 'value', + point: { + style: { + shape: 'rect', + size: [16, 2] + } + } } ], legends: { visible: true - }, - indicator: { - visible: true } }; @@ -394,6 +424,48 @@ export const lineSpec = { { type: 'Mascara', country: 'USA', value: 11261 } ] }, + customMark: [ + { + type: 'rect', + zIndex: 1, + style: { + x: (datum, ctx) => { + const region = ctx.chart.getAllRegions()[0]; + return region.getLayoutStartPoint().x; + }, + y: (datum, ctx) => { + const region = ctx.chart.getAllRegions()[0]; + return region.getLayoutStartPoint().y - 12; + }, + width: (datum, ctx) => { + const region = ctx.chart.getAllRegions()[0]; + return region.getLayoutRect().width; + }, + height: (datum, ctx) => { + const region = ctx.chart.getAllRegions()[0]; + return region.getLayoutRect().height + 12; + }, + cornerRadius: 12, + fill: { + gradient: 'linear', + x0: 0, + y0: 0, + x1: 0, + y1: 1, + stops: [ + { + offset: 0, + color: '#F5F9FF' + }, + { + offset: 1, + color: '#fff' + } + ] + } + } + } + ], height: 600, xField: ['type'], yField: 'value', @@ -401,8 +473,18 @@ export const lineSpec = { legends: { visible: true }, - indicator: { - visible: true + crosshair: { + xField: { + line: { + type: 'line', + width: 1, + style: { + lineWidth: 1, + stroke: '#DCDEE1', + lineDash: [2, 2] + } + } + } } }; @@ -415,29 +497,223 @@ export const pieSpec = { { type: 'oxygen', value: '46.60' }, { type: 'silicon', value: '27.72' }, { type: 'aluminum', value: '8.13' }, - { type: 'iron', value: '5' }, - { type: 'calcium', value: '3.63' }, - { type: 'sodium', value: '2.83' }, - { type: 'potassium', value: '2.59' }, - { type: 'others', value: '3.5' } + { type: 'iron', value: '1' }, + { type: 'calcium', value: '3.63' } ] } ], valueField: 'value', categoryField: 'type', - legends: { + title: { visible: true, - orient: 'right' + text: '数据分布', + subtext: '可视化图表副标题一到两行文字' }, tooltip: { mark: { - content: [ - { - key: datum => datum['type'], - value: datum => datum['value'] + '%' + title: { + visible: false + } + } + }, + legends: { + visible: false + }, + label: { + visible: true + } +}; + +const rootDatum = [ + { type: '0~29', value: '126.04' }, + { type: '30~59', value: '128.77' }, + { type: '60 and over', value: '77.09' } +].map((item, index) => ({ ...item, color: nestColorList[index]?.pop() })); + +const subDatum = (() => { + const groupIndexMap = new Map(); + rootDatum.forEach((item, index) => { + groupIndexMap.set(item.type, index); + }); + + const groupItemIndexMap = new Map(); + const rawSubData = [ + { type: '0~9', group: '0~29', value: '39.12' }, + { type: '10~19', group: '0~29', value: '43.01' }, + { type: '20~29', group: '0~29', value: '43.91' }, + { type: '30~39', group: '30~59', value: '45.4' }, + { type: '40~49', group: '30~59', value: '40.89' }, + { type: '50~59', group: '30~59', value: '42.48' }, + { type: '60~69', group: '60 and over', value: '39.63' }, + { type: '70~79', group: '60 and over', value: '25.17' }, + { type: '80 and over', group: '60 and over', value: '12.29' } + ]; + + return rawSubData.map(item => { + const parentIndex = groupIndexMap.get(item.group)!; + const itemIndex = (groupItemIndexMap.get(item.group) ?? -1) + 1; + groupItemIndexMap.set(item.group, itemIndex); + return { ...item, color: nestColorList[parentIndex][itemIndex] }; + }); +})(); + +export const nestPieSpec = { + type: 'common', + data: [ + { + id: 'id0', + values: rootDatum + }, + { + id: 'id1', + values: subDatum + } + ], + title: { + visible: true, + text: '数据分布', + subtext: '可视化图表副标题一到两行文字' + }, + series: [ + { + type: 'pie', + dataIndex: 0, + outerRadius: 0.7, + innerRadius: 0, + valueField: 'value', + categoryField: 'type', + + label: { + interactive: false, + position: 'inside', + formatMethod: (label, data) => { + return data?.type; + }, + + smartInvert: false, + visible: true, + rotate: false, + style: { + fill: '#585858' + } + }, + color: nestColorList.map(item => item[item.length - 1]), + pie: { + state: { + hover: { + outerRadius: 0.7 + }, + selected: { + outerRadius: 0.7 + }, + hover_reverse: { + opacity: 0.5 + } + }, + style: { + fill: datum => { + return datum.color; + } + } + } + }, + { + type: 'pie', + dataIndex: 1, + outerRadius: 0.8, + innerRadius: 0.7, + valueField: 'value', + categoryField: 'type', + label: { + visible: true + }, + pie: { + state: { + hover: { + outerRadius: 0.85 + }, + selected: { + outerRadius: 0.85 + } + }, + style: { + fill: datum => { + return datum.color; + } } + } + } + ], + legends: { + visible: false + } +}; + +export const metricPieSpec = { + type: 'pie', + data: [ + { + id: 'id0', + values: [ + { type: 'oxygen', value: '46.60' }, + { type: 'silicon', value: '27.72' }, + { type: 'aluminum', value: '8.13' }, + { type: 'iron', value: '1' }, + { type: 'calcium', value: '3.63' } ] } + ], + outerRadius: 0.8, + innerRadius: 0.7, + valueField: 'value', + categoryField: 'type', + title: { + visible: true, + text: '数据分布', + subtext: '可视化图表副标题一到两行文字' + }, + indicator: { + visible: true, + trigger: 'hover', + limitRatio: 0.5, // same as inner radius + title: { + visible: true, + autoFit: false, + style: { + fontWeight: '500', + fontFamily: 'douyinNumber', + fill: '#111', + fontSize: 32, + lineHeight: 46, + text: '25%' + } + }, + content: [ + { + visible: true, + autoFit: false, + style: { + fill: '#585858', + fontSize: 14, + lineHeight: 20, + text: '指标名称' + } + } + ] + }, + tooltip: { + mark: { + title: { + visible: false + } + } + }, + legend: { + visible: true, + orient: 'bottom' + }, + label: { + visible: true } }; @@ -579,7 +855,185 @@ export const funnelSpec = { } }; +export const dualAxisBarSpec = { + type: 'common', + data: [ + { + id: 'dualAxisDataLeft', + values: [ + { category: '1月', type: '退款金额', value: 12.3 }, + { category: '2月', type: '退款金额', value: 15.8 }, + { category: '3月', type: '退款金额', value: 10.2 }, + { category: '4月', type: '退款金额', value: 18.6 }, + { category: '5月', type: '退款金额', value: 16.4 }, + { category: '6月', type: '退款金额', value: 20.1 } + ] + }, + { + id: 'dualAxisDataRight', + values: [ + { category: '1月', type: '退款率', value: 32.5 }, + { category: '2月', type: '退款率', value: 45.1 }, + { category: '3月', type: '退款率', value: 28.4 }, + { category: '4月', type: '退款率', value: 55.0 }, + { category: '5月', type: '退款率', value: 48.3 }, + { category: '6月', type: '退款率', value: 62.7 } + ] + } + ], + series: [ + { + type: 'bar', + id: 'amountBar', + name: '金额', + dataIndex: 0, + xField: ['category', 'type'], + yField: 'value' + }, + { + type: 'bar', + id: 'percentBar', + name: '占比', + dataIndex: 1, + xField: ['category', 'type'], + yField: 'value' + } + ], + axes: [ + { + orient: 'bottom', + type: 'band', + label: { + visible: true + } + }, + { + orient: 'left', + type: 'linear', + seriesId: ['amountBar'], + label: { + visible: true, + formatMethod: val => val.toFixed(1) + '万' + }, + grid: { + visible: true + } + }, + { + orient: 'right', + type: 'linear', + seriesId: ['percentBar'], + label: { + visible: true, + formatMethod: val => val.toFixed(1) + '%' + }, + grid: { + visible: false + } + } + ], + legends: { + visible: true + } +}; + export const areaSpec = { + type: 'area', + seriesMark: 'line', + data: { + values: [ + { type: 'Nail polish', country: 'Africa', value: 4229 }, + { type: 'Eyebrow pencil', country: 'Africa', value: 3932 }, + { type: 'Rouge', country: 'Africa', value: 5221 }, + { type: 'Lipstick', country: 'Africa', value: 9256 }, + { type: 'Eyeshadows', country: 'Africa', value: 3308 }, + { type: 'Eyeliner', country: 'Africa', value: 5432 }, + { type: 'Foundation', country: 'Africa', value: 13701 }, + { type: 'Lip gloss', country: 'Africa', value: 4008 }, + { type: 'Mascara', country: 'Africa', value: 18712 } + ] + }, + height: 600, + xField: ['type'], + yField: 'value', + seriesField: 'country', + legends: { + visible: false + }, + indicator: { + visible: true + }, + crosshair: { + xField: { + line: { + type: 'line', + width: 1, + style: { + lineWidth: 1, + stroke: '#DCDEE1', + lineDash: [2, 2] + } + } + } + } +}; + +export const areaSimpleSpec = { + type: 'area', + hover: { + enable: false + }, + seriesMark: 'line', + data: { + values: [ + { type: 'Nail polish', country: 'Africa', value: 4229 }, + { type: 'Eyebrow pencil', country: 'Africa', value: 3932 }, + { type: 'Rouge', country: 'Africa', value: 5221 }, + { type: 'Lipstick', country: 'Africa', value: 9256 }, + { type: 'Eyeshadows', country: 'Africa', value: 3308 }, + { type: 'Eyeliner', country: 'Africa', value: 5432 }, + { type: 'Foundation', country: 'Africa', value: 13701 }, + { type: 'Lip gloss', country: 'Africa', value: 4008 }, + { type: 'Mascara', country: 'Africa', value: 18712 } + ] + }, + axes: [ + { + orient: 'bottom', + visible: false + }, + { + orient: 'left', + visible: false + } + ], + tooltip: { + visible: false + }, + xField: ['type'], + yField: 'value', + seriesField: 'country', + point: { + state: { + dimension_hover: { + visible: false + } + } + }, + legends: { + visible: false + }, + indicator: { + visible: false + }, + crosshair: { + xField: { + visible: false + } + } +}; + +export const multiAreaSpec = { type: 'area', seriesMark: 'line', data: { @@ -626,10 +1080,23 @@ export const areaSpec = { xField: ['type'], yField: 'value', seriesField: 'country', - legends: { + indicator: { visible: true }, - indicator: { + legends: { visible: true + }, + crosshair: { + xField: { + line: { + type: 'line', + width: 1, + style: { + lineWidth: 1, + stroke: '#DCDEE1', + lineDash: [2, 2] + } + } + } } }; diff --git a/packages/vchart-aurora-theme/demo/src/charts.jsx b/packages/vchart-aurora-theme/demo/src/charts.jsx index 1c17f10..c2e884d 100644 --- a/packages/vchart-aurora-theme/demo/src/charts.jsx +++ b/packages/vchart-aurora-theme/demo/src/charts.jsx @@ -1,15 +1,18 @@ import React from 'react'; import { isMobile } from 'react-device-detect'; -import { charts } from './chart-list'; import { VChart } from '@visactor/react-vchart'; import { Card } from '@douyinfe/semi-ui'; const chartHeight = 400; -const Charts = () => { +const Charts = ({ charts = [] }) => { + if (charts.length === 0) { + return
暂无图表数据
; + } + return (
- {charts.map((chart, i) => { + {charts?.map((chart, i) => { return (
{ + const [selectedKey, setSelectedKey] = useState('bar'); + + const currentCharts = getChartsByCategory(selectedKey); + + const getCategoryTitle = key => { + const category = chartCategories.find(c => c.key === key); + return category ? category.title : '图表展示'; + }; + return (
), - text: 'Semi Templates' + text: 'VChart Aurora Theme' }} footer={
@@ -45,64 +46,24 @@ const Frame = () => { >
-

VChart Demo

+

{getCategoryTitle(selectedKey)}

- +
diff --git a/packages/vchart-aurora-theme/demo/src/index.jsx b/packages/vchart-aurora-theme/demo/src/index.jsx index b6b62c1..89679e6 100644 --- a/packages/vchart-aurora-theme/demo/src/index.jsx +++ b/packages/vchart-aurora-theme/demo/src/index.jsx @@ -2,6 +2,7 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; import Frame from './frame.jsx'; import './normalize.css'; +import './font.css'; import VChart from '@visactor/vchart'; import { chartAuroraTheme } from '../../src/index.ts'; diff --git a/packages/vchart-aurora-theme/package.json b/packages/vchart-aurora-theme/package.json index dedfbf9..da71513 100644 --- a/packages/vchart-aurora-theme/package.json +++ b/packages/vchart-aurora-theme/package.json @@ -62,9 +62,10 @@ "@vitejs/plugin-react-swc": "^3.4.1", "vite": "^4.5.0", "vite-plugin-svgr": "^4.1.0", + "sass": "^1.63.6", "@babel/runtime": "latest", - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19", "@douyinfe/semi-ui": "^2.51.3", "@douyinfe/semi-icons": "latest", "@douyinfe/semi-icons-lab": "latest" diff --git a/packages/vchart-aurora-theme/public/aurora.json b/packages/vchart-aurora-theme/public/aurora.json deleted file mode 100644 index 9afb2e9..0000000 --- a/packages/vchart-aurora-theme/public/aurora.json +++ /dev/null @@ -1 +0,0 @@ -{"colorScheme":{"default":{"dataScheme":["#1443FF","#33CCB2","#FFD500","#FFAA33","#FF7733","#F65656","#E93DBD","#9933FF","#5533FF","#A3ABC2"],"palette":{"backgroundColor":"transparent","borderColor":"#e3e5e8","shadowColor":"rgba(33,37,44,0.1)","hoverBackgroundColor":"#f1f2f5","sliderRailColor":"#f1f3f4","sliderHandleColor":"#ffffff","sliderTrackColor":"#0040ff","popupBackgroundColor":"#ffffff","primaryFontColor":"#21252c","secondaryFontColor":"#606773","tertiaryFontColor":"#89909d","axisLabelFontColor":"#909199","disableFontColor":"#bcc1cb","axisMarkerFontColor":"#ffffff","axisGridColor":"#E1E2E5","axisDomainColor":"#DCDEE1","dataZoomHandleStrokeColor":"#aeb5be","dataZoomChartColor":"#c9ced8","playerControllerColor":"#0040ff","scrollBarSliderColor":"rgba(0,0,0,0.3)","axisMarkerBackgroundColor":"#21252c","markLabelBackgroundColor":"#f1f2f5","markLineStrokeColor":"#606773","dangerColor":"#e33232","warningColor":"#ffc528","successColor":"#07a35a","infoColor":"#3073f2","discreteLegendPagerTextColor":"rgb(51, 51, 51)","discreteLegendPagerHandlerColor":"rgb(47, 69, 84)","discreteLegendPagerHandlerDisableColor":"rgb(170, 170, 170)","emptyCircleColor":"#e3e5e8","bandColor":"#1443FF","blackColors6":"#F0F0F0","blackColors15":"#D9D9D9","blackColors25":"#BFBFBF","blackColors45":"#8C8C8C","blackColors65":"#595959","blackColors85":"#262626","blackColors95":"#0D0D0D","blackColors100":"#000","whiteColors6":"#0F0F0F","whiteColors15":"#262626","whiteColors25":"#404040","whiteColors45":"#737373","whiteColors65":"#A6A6A6","whiteColors85":"#D9D9D9","whiteColors95":"#F2F2F2","whiteColors100":"#FFFFFF"}}},"token":{"fontFamily":"\"PingFang SC\", \"-apple-system\", \"Segoe UI\", \"Helvetica Neue\", Arial,\n Roboto, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"","fontSize":12,"l1FontSize":32,"l1LineHeight":"150%","l2FontSize":20,"l2LineHeight":"140%","l3FontSize":16,"l3LineHeight":"150%","l4FontSize":14,"l4LineHeight":"150%","l5FontSize":12,"l5LineHeight":"130%","l6FontSize":10,"l6LineHeight":"120%"},"series":{"scatter":{"point":{"style":{"size":8,"symbolType":"circle","lineWidth":1,"fillOpacity":0.35,"stroke":null}},"label":{"visible":false,"offset":5,"position":"top","style":{"lineWidth":2,"stroke":{"type":"palette","key":"backgroundColor"}}}},"line":{"label":{"visible":false,"position":"top","offset":4,"style":{"lineWidth":2,"stroke":{"type":"palette","key":"backgroundColor"}}},"point":{"style":{"symbolType":"circle","visible":false,"size":12,"lineWidth":2,"shadowColor":"rgba(0, 0, 0, 0.1)","shadowBlur":3,"stroke":{"type":"palette","key":"whiteColors100"}}},"line":{"style":{"lineWidth":2,"curveType":"monotone"}}},"area":{"label":{"visible":false,"offset":5,"position":"top","style":{"stroke":{"type":"palette","key":"backgroundColor"},"lineWidth":2}},"point":{"style":{"symbolType":"circle","visible":false,"size":12,"lineWidth":2,"shadowColor":"rgba(0, 0, 0, 0.1)","shadowBlur":3,"stroke":{"type":"palette","key":"whiteColors100"}}},"seriesMark":"area","line":{"style":{"curveType":"monotone","lineWidth":2}},"area":{"style":{"fillOpacity":0.25,"lineWidth":2},"state":{"selected":{"fillOpacity":0.5}}}},"bar":{"label":{"visible":false,"position":"outside","offset":5,"style":{"lineWidth":2,"stroke":{"type":"palette","key":"backgroundColor"},"fill":{"type":"palette","key":"secondaryFontColor"}}},"barMaxWidth":8,"barGapInGroup":4},"bar3d":{"bar3d":{"style":{"length":3}},"label":{"visible":false,"style":{"offset":12,"position":"outside"}}},"pie":{"outerRadius":0.8,"pie":{"style":{"fillOpacity":1,"padAngle":0,"stroke":"#fff","lineWidth":2},"state":{"hover":{"lineWidth":0},"selected":{"lineWidth":0}}},"label":{"visible":true,"interactive":true,"position":"outside","style":{"fontWeight":"normal","stroke":{"type":"palette","key":"backgroundColor"},"fillOpacity":1,"fill":null}},"innerLabel":{"style":{"lineWidth":2}},"emptyCircle":{"style":{"fill":{"type":"palette","key":"emptyCircleColor"},"fillOpacity":1}},"innerRadius":0.54},"pie3d":{"outerRadius":0.6,"pie3d":{"style":{"height":10,"fillOpacity":1}},"label":{"visible":false,"interactive":true,"position":"outside"}},"map":{"defaultFillColor":"#f3f3f3","area":{"style":{"lineWidth":0.5,"strokeOpacity":1,"stroke":"black","fillOpacity":1}},"label":{"interactive":false,"style":{"fontSize":{"type":"token","key":"l6FontSize"},"lineHeight":{"type":"token","key":"l6LineHeight"},"textBaseline":"middle","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"},"stroke":{"type":"palette","key":"backgroundColor"}}}},"radar":{"label":{"visible":false,"offset":4,"style":{"lineWidth":2,"stroke":{"type":"palette","key":"backgroundColor"}},"position":"top"},"point":{"style":{"symbolType":"circle","visible":false,"size":12,"lineWidth":2,"shadowColor":"rgba(0, 0, 0, 0.1)","shadowBlur":3,"stroke":{"type":"palette","key":"whiteColors100"}}},"line":{"style":{"lineWidth":1}},"area":{"visible":true}},"dot":{"dot":{"style":{"size":10,"fillOpacity":1}},"symbol":{"style":{"size":10}},"title":{"style":{"textAlign":"left","textBaseline":"middle","fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"}}},"subTitle":{"style":{"textAlign":"left","textBaseline":"top","fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"}}}},"link":{"arrow":{"style":{"size":10}}},"wordCloud":{"word":{"padding":1,"style":{"textAlign":"center","textBaseline":"alphabetic"}}},"wordCloud3d":{"word":{"padding":1,"style":{"textAlign":"center","textBaseline":"alphabetic"}}},"funnel":{"label":{"style":{"fill":{"type":"palette","key":"whiteColors100"},"textBaseline":"middle","lineWidth":2,"fontSize":12}},"outerLabel":{"style":{"fontSize":12,"fill":{"type":"palette","key":"secondaryFontColor"}},"line":{"style":{"stroke":{"type":"palette","key":"axisDomainColor"},"lineWidth":2}}},"transformLabel":{"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fill":{"type":"palette","key":"secondaryFontColor"},"textBaseline":"middle"}},"transform":{"style":{"fill":{"type":"palette","key":"axisGridColor"}}},"funnel":{"state":{"selected":{"fill":"#1966FF","stroke":"#3958E0","strokeOpacity":0.2,"lineWidth":4}}}},"funnel3d":{"label":{"style":{"fill":"white","textBaseline":"middle","lineWidth":2}},"outerLabel":{"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fill":{"type":"palette","key":"secondaryFontColor"}},"line":{"style":{"stroke":{"type":"palette","key":"axisDomainColor"}}}},"transformLabel":{"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fill":{"type":"palette","key":"secondaryFontColor"},"textBaseline":"middle"}},"transform3d":{"style":{"fill":{"type":"palette","key":"axisGridColor"}}}},"linearProgress":{"bandWidth":30,"progress":{"style":{"fillOpacity":1}},"track":{"style":{"fill":"#E7EBED","fillOpacity":1}}},"circularProgress":{"outerRadius":0.8,"innerRadius":0.6,"progress":{"style":{"fillOpacity":1,"cornerRadius":100}},"track":{"style":{"fillOpacity":1,"cornerRadius":100,"fill":"#DCDEE1"},"interactive":false},"tickMask":{"visible":false,"angle":3,"offsetAngle":0,"forceAlign":true}},"waterfall":{"seriesFieldName":{"total":"total","increase":"increase","decrease":"decrease"},"leaderLine":{"style":{"stroke":"black","lineWidth":1,"lineDash":[4,4]}},"stackLabel":{"visible":true,"offset":12,"position":"withChange","style":{"fill":"black","fontSize":{"type":"token","key":"l4FontSize"}}},"label":{"visible":false,"offset":12,"position":"inside","style":{"lineWidth":2}}},"gauge":{"outerRadius":0.8,"innerRadius":0.6,"padAngle":1.146,"segment":{"style":{"fillOpacity":1}},"tickMask":{"visible":false,"angle":3,"offsetAngle":0,"forceAlign":true}},"gaugePointer":{"pointer":{"type":"path","width":0.4,"height":0.4,"style":{"path":"M-0.020059 -0.978425 C-0.018029 -0.9888053 -0.013378 -1 0 -1 C0.01342 -1 0.01812 -0.989146 0.0201 -0.978425 C0.02161 -0.9702819 0.0692 -0.459505 0.09486 -0.184807 C0.10298 -0.097849 0.1089 -0.034548 0.11047 -0.018339 C0.11698 0.04908 0.07373 0.11111 0.00002 0.11111 C-0.07369 0.11111 -0.117184 0.04991 -0.110423 -0.018339 C-0.103662 -0.086591 -0.022089 -0.9680447 -0.020059 -0.978425Z"},"visible":false},"pin":{"width":0.025,"height":0.025,"style":{"path":"M1 0 C1 0.55228 0.55228 1 0 1 C-0.552285 1 -1 0.55228 -1 0 C-1 -0.552285 -0.552285 -1 0 -1 C0.55228 -1 1 -0.552285 1 0Z","fill":"#888"},"visible":false},"pinBackground":{"width":0.06,"height":0.06,"style":{"path":"M1 0 C1 0.55228 0.55228 1 0 1 C-0.552285 1 -1 0.55228 -1 0 C-1 -0.552285 -0.552285 -1 0 -1 C0.55228 -1 1 -0.552285 1 0Z","fill":"#ddd"},"visible":false}},"treemap":{"gapWidth":0,"nodePadding":[5],"nonLeaf":{"visible":false,"style":{"fillOpacity":0.5}},"label":{"style":{"fill":{"type":"palette","key":"whiteColors100"},"textBaseline":"middle","textAlign":"center","fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"}}},"nonLeafLabel":{"padding":24,"style":{"fill":"black","stroke":{"type":"palette","key":"backgroundColor"},"lineWidth":2,"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"textBaseline":"middle","textAlign":"center"}},"leaf":{"style":{"lineWidth":2,"stroke":{"type":"palette","key":"whiteColors100"}},"state":{"hover":{"fillOpacity":0.8,"lineWidth":0}}}},"sunburst":{"innerRadius":0,"outerRadius":1,"startAngle":-90,"endAngle":270,"gap":0,"labelLayout":{"align":"center","offset":0,"rotate":"radial"},"sunburst":{"style":{"stroke":{"type":"palette","key":"backgroundColor"},"fillOpacity":1,"cursor":"pointer"}},"label":{"visible":true,"style":{"cursor":"pointer","fill":{"type":"palette","key":"primaryFontColor"},"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"}}}},"rangeColumn":{"label":{"visible":false,"offset":5,"position":"inside","style":{"lineWidth":2,"fill":{"type":"palette","key":"axisMarkerFontColor"}},"minLabel":{"position":"end"},"maxLabel":{"position":"start"}}},"circlePacking":{"layoutPadding":5,"circlePacking":{"visible":true,"style":{"cursor":"pointer","stroke":{"type":"palette","key":"backgroundColor"}}},"label":{"visible":true,"style":{"cursor":"pointer","fill":"black","stroke":{"type":"palette","key":"backgroundColor"},"lineWidth":2,"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"}}}},"heatmap":{"cell":{"style":{"shape":"square","fillOpacity":1,"stroke":{"type":"palette","key":"whiteColors100"},"lineWidth":1},"state":{"hover":{"zIndex":100,"stroke":"#000"}}},"cellBackground":{"visible":false},"label":{"position":"inside","style":{"fill":{"type":"palette","key":"whiteColors100"},"fontSize":12}}},"sankey":{"link":{"style":{"fillOpacity":0.15,"round":true}}},"rose":{"rose":{"style":{"fillOpacity":1}},"label":{"style":{"lineWidth":2,"stroke":{"type":"palette","key":"backgroundColor"},"textAlign":"center","textBaseline":"middle"}}},"boxPlot":{"boxPlot":{"style":{"lineWidth":1}},"label":{"style":{"lineWidth":2}}},"correlation":{"centerLabel":{"visible":true,"position":"center","style":{"fill":"#fff","text":""}},"label":{"visible":true,"position":"bottom","style":{"fill":"#000"}}},"liquid":{"outlinePadding":10,"liquidBackground":{"style":{"lineWidth":0,"fillOpacity":0.2}},"liquidOutline":{"style":{"lineWidth":2}}},"venn":{"circle":{"style":{"opacity":0.8},"state":{"hover":{"opacity":1}}},"overlap":{"style":{"opacity":0.8},"state":{"hover":{"opacity":1,"stroke":"white","lineWidth":2}}},"label":{"visible":true,"style":{"fill":"white","textBaseline":"middle","textAlign":"center","fontSize":{"type":"token","key":"l4FontSize"},"lineHeight":{"type":"token","key":"l4LineHeight"}}},"overlapLabel":{"visible":true,"style":{"textBaseline":"middle","textAlign":"center","fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"}}}},"mosaic":{"label":{"visible":false,"position":"center","style":{"lineWidth":2,"stroke":{"type":"palette","key":"backgroundColor"}}},"bar":{"style":{"lineWidth":1,"stroke":{"type":"palette","key":"backgroundColor"}}}},"bar_horizontal":{"stackCornerRadius":[0,1,1,0],"label":{"position":"right","offset":4}},"bar_vertical":{"stackCornerRadius":[1,1,0,0],"label":{"position":"top","offset":4}}},"name":"aurora","background":{"type":"palette","key":"backgroundColor"},"padding":20,"fontFamily":{"type":"token","key":"fontFamily"},"mark":{"text":{"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fontWeight":"normal","fillOpacity":1}}},"markByName":{"label":{"style":{"fontSize":12,"fontWeight":"normal","fillOpacity":1,"lineJoin":"bevel","fill":{"type":"palette","key":"blackColors65"},"lineWidth":0}},"area":{"style":{"fillOpacity":0.2}},"line":{"style":{"lineWidth":2,"lineCap":"round","lineJoin":"round"}},"point":{"style":{"size":8,"stroke":{"type":"palette","key":"backgroundColor"},"lineWidth":1,"fillOpacity":1}},"word":{"style":{"fontSize":null}},"fillingWord":{"style":{"fontSize":null}},"sunburst":{"style":{"lineWidth":1,"stroke":{"type":"palette","key":"backgroundColor"}}},"circlePacking":{"style":{"lineWidth":1,"stroke":{"type":"palette","key":"backgroundColor"}}},"funnel3d":{"style":{"stroke":false}},"barBackground":{"visible":false,"style":{"fill":{"type":"palette","key":"primaryFontColor","a":0.06},"stroke":"transparent"}}},"component":{"discreteLegend":{"orient":"top","position":"middle","padding":[8,8,8,8],"title":{"visible":false,"padding":0,"textStyle":{"fontSize":12,"lineHeight":21,"fill":{"type":"palette","key":"blackColors45"},"fontWeight":"normal"},"space":12},"pager":{"textStyle":{"fill":{"type":"palette","key":"blackColors45"},"fontSize":10},"handler":{"style":{"fill":{"type":"palette","key":"blackColors100"},"size":10},"state":{"disable":{"fill":{"type":"palette","key":"discreteLegendPagerHandlerDisableColor"}}},"space":8}},"item":{"visible":true,"spaceCol":24,"spaceRow":12,"padding":0,"background":{"state":{"selectedHover":{"fill":{"type":"palette","key":"hoverBackgroundColor"}},"unSelectedHover":{"fill":{"type":"palette","key":"hoverBackgroundColor"}}},"visible":false},"shape":{"space":4,"style":{"lineWidth":0,"fillOpacity":1,"opacity":1,"size":8,"symbolType":"circle"},"state":{"unSelected":{"fillOpacity":0.2,"opacity":1,"fill":"#D8D8D8"}}},"label":{"space":100,"style":{"fill":"#85878A","fontSize":12,"lineHeight":12,"opacity":1,"fontWeight":400},"state":{"unSelected":{"fill":"#D8D8D8","opacity":1}}}},"allowAllCanceled":false,"visible":true,"maxRow":1},"colorLegend":{"horizontal":{"orient":"right","position":"middle","padding":[16,24],"title":{"visible":false,"padding":0,"textStyle":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"primaryFontColor"}},"space":5,"style":{"fontSize":12,"fill":"#2C3542"}},"handler":{"style":{"symbolType":"rectRound","lineWidth":1,"outerBorder":null,"shadowBlur":12,"shadowOffsetX":0,"shadowOffsetY":4,"shadowColor":{"type":"palette","key":"shadowColor"},"size":16,"scaleX":0.5,"fill":"#fff","stroke":"#99B0F3","radius":2}},"startText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"endText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"handlerText":{"style":{"fontSize":12,"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":"#2C3542"},"space":10},"rail":{"width":100,"height":4,"style":{"fill":"#DCDEE2"}}},"vertical":{"orient":"right","position":"middle","padding":[16,24],"title":{"visible":false,"padding":0,"textStyle":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"primaryFontColor"}},"space":5,"style":{"fontSize":12,"fill":"#2C3542"}},"handler":{"style":{"symbolType":"rectRound","lineWidth":1,"outerBorder":null,"shadowBlur":12,"shadowOffsetX":0,"shadowOffsetY":4,"shadowColor":{"type":"palette","key":"shadowColor"},"size":16,"scaleY":0.5,"fill":"#fff","stroke":"#99B0F3","radius":2}},"startText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"endText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"handlerText":{"style":{"fontSize":12,"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":"#2C3542"},"space":10},"rail":{"width":4,"height":100,"style":{"fill":"#DCDEE2"}}}},"sizeLegend":{"horizontal":{"orient":"right","position":"middle","padding":[16,24],"title":{"visible":false,"padding":0,"textStyle":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"primaryFontColor"}},"space":12},"handler":{"style":{"symbolType":"circle","lineWidth":0,"outerBorder":{"lineWidth":2,"distance":0.8,"stroke":{"type":"palette","key":"sliderTrackColor"}},"fill":{"type":"palette","key":"sliderHandleColor"}}},"startText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"endText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"handlerText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"sizeBackground":{"fill":{"type":"palette","key":"dataZoomChartColor"}},"track":{"style":{"fill":{"type":"palette","key":"sliderTrackColor","a":0.8}}},"rail":{"style":{"fill":{"type":"palette","key":"sliderRailColor"}},"width":200,"height":4}},"vertical":{"orient":"right","position":"middle","padding":[16,24],"title":{"visible":false,"padding":0,"textStyle":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"primaryFontColor"}},"space":12},"handler":{"style":{"symbolType":"circle","lineWidth":0,"outerBorder":{"lineWidth":2,"distance":0.8,"stroke":{"type":"palette","key":"sliderTrackColor"}},"fill":{"type":"palette","key":"sliderHandleColor"}}},"startText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"endText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"handlerText":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fontWeight":"normal","fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}},"space":6},"sizeBackground":{"fill":{"type":"palette","key":"dataZoomChartColor"}},"track":{"style":{"fill":{"type":"palette","key":"sliderTrackColor","a":0.8}}},"rail":{"style":{"fill":{"type":"palette","key":"sliderRailColor"}},"height":200,"width":4}}},"axis":{"domainLine":{"visible":true,"style":{"lineWidth":1,"stroke":{"type":"palette","key":"axisDomainColor"},"strokeOpacity":1}},"grid":{"visible":true,"style":{"lineWidth":1,"stroke":{"type":"palette","key":"axisGridColor"},"strokeOpacity":1,"lineDash":[4,4]}},"subGrid":{"visible":false,"style":{"lineWidth":1,"stroke":{"type":"palette","key":"axisGridColor"},"strokeOpacity":1,"lineDash":[4,4]}},"tick":{"visible":true,"inside":false,"tickSize":4,"alignWithLabel":true,"style":{"lineWidth":1,"stroke":{"type":"palette","key":"blackColors25"},"strokeOpacity":1}},"subTick":{"visible":false,"tickSize":2,"style":{"lineWidth":1,"stroke":{"type":"palette","key":"blackColors15"},"strokeOpacity":1}},"label":{"visible":true,"inside":false,"space":8,"style":{"fontSize":12,"fill":{"type":"palette","key":"blackColors45"},"fontWeight":400,"fillOpacity":1}},"title":{"space":10,"padding":0,"style":{"fontSize":12,"lineHeight":12,"fill":{"type":"palette","key":"blackColors65"},"fontWeight":"normal","fillOpacity":1},"visible":false}},"axisBand":{"domainLine":{"visible":true},"grid":{"visible":false},"subGrid":{"visible":false},"tick":{"visible":true},"subTick":{"visible":false}},"axisLinear":{"domainLine":{"visible":false},"grid":{"visible":true},"subGrid":{"visible":false},"tick":{"visible":false},"subTick":{"visible":false}},"axisX":{"label":{"space":8},"title":{"space":8},"maxHeight":"30%","unit":{"visible":false,"style":{"fontSize":{"type":"token","key":"l5FontSize"},"fill":{"type":"palette","key":"axisLabelFontColor"},"fontWeight":"normal","fillOpacity":1}}},"axisY":{"label":{"space":12,"autoLimit":true},"title":{"space":12,"autoRotate":true},"maxWidth":"30%","unit":{"visible":false,"style":{"fontSize":{"type":"token","key":"l5FontSize"},"fill":{"type":"palette","key":"axisLabelFontColor"},"fontWeight":"normal","fillOpacity":1}}},"axisZ":{"label":{"space":0},"title":{"space":8},"maxHeight":"30%","unit":{"visible":false,"style":{"fontSize":{"type":"token","key":"l5FontSize"},"fill":{"type":"palette","key":"axisLabelFontColor"},"fontWeight":"normal","fillOpacity":1}}},"axisAngle":{"grid":{"visible":true,"style":{"lineDash":[6,6]},"smooth":false},"label":{"space":4}},"axisRadius":{"grid":{"smooth":false,"visible":true},"subGrid":{"smooth":false,"visible":false},"domainLine":{}},"markLine":{"line":{"style":{"lineDash":[],"stroke":{"type":"palette","key":"blackColors25"},"lineWidth":1}},"startSymbol":{"visible":false,"symbolType":"triangle","size":10,"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"endSymbol":{"visible":false,"symbolType":"triangle","size":10,"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"label":{"refY":0,"style":{"fontSize":{"type":"token","key":"l5FontSize"},"fontWeight":"normal","fontStyle":"normal","fill":{"type":"palette","key":"blackColors65"}},"labelBackground":{"padding":{"top":2,"bottom":2,"right":4,"left":4},"style":{"cornerRadius":3,"fill":{"type":"palette","key":"markLabelBackgroundColor"}},"visible":false},"position":"insideStartTop","autoRotate":true}},"markArea":{"area":{"style":{"fill":{"type":"palette","key":"blackColors100","a":0.06}}},"label":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"fontWeight":"normal","fontStyle":"normal","fill":{"type":"palette","key":"blackColors65"}},"labelBackground":{"padding":{"top":2,"bottom":2,"right":4,"left":4},"style":{"cornerRadius":3,"fill":{"type":"palette","key":"markLabelBackgroundColor"}},"visible":false}}},"markPoint":{"itemLine":{"decorativeLine":{"visible":false},"startSymbol":{"size":6,"visible":true,"style":{"fill":"#fff","stroke":{"type":"palette","key":"bandColor"},"lineWidth":2}},"endSymbol":{"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0},"visible":false},"line":{"style":{"stroke":{"type":"palette","key":"blackColors25"},"lineWidth":1}}},"itemContent":{"offsetY":-16,"autoRotate":false,"text":{"style":{"fontSize":{"type":"token","key":"l5FontSize"},"fill":{"type":"palette","key":"blackColors65"}}}}},"polarMarkLine":{"line":{"style":{"lineDash":[3,3],"stroke":{"type":"palette","key":"markLineStrokeColor"}}},"startSymbol":{"visible":false,"symbolType":"triangle","size":10,"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"endSymbol":{"visible":true,"symbolType":"triangle","size":10,"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"label":{"refY":5,"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fontWeight":"normal","fontStyle":"normal","fill":{"type":"palette","key":"primaryFontColor"}},"labelBackground":{"padding":{"top":2,"bottom":2,"right":4,"left":4},"style":{"cornerRadius":3,"fill":{"type":"palette","key":"markLabelBackgroundColor"}}}}},"polarMarkArea":{"area":{"style":{"fill":{"type":"palette","key":"axisDomainColor","a":0.25}}},"label":{"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fontWeight":"normal","fontStyle":"normal","fill":{"type":"palette","key":"primaryFontColor"}},"labelBackground":{"padding":{"top":2,"bottom":2,"right":4,"left":4},"style":{"cornerRadius":3,"fill":{"type":"palette","key":"markLabelBackgroundColor"}}}}},"polarMarkPoint":{"itemLine":{"decorativeLine":{"visible":false},"startSymbol":{"size":5,"visible":true,"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"endSymbol":{"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"line":{"style":{"stroke":{"type":"palette","key":"markLineStrokeColor"}}}},"itemContent":{"offsetY":-50}},"geoMarkPoint":{"itemLine":{"decorativeLine":{"visible":false},"startSymbol":{"size":5,"visible":true,"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"endSymbol":{"style":{"fill":{"type":"palette","key":"markLineStrokeColor"},"stroke":null,"lineWidth":0}},"line":{"style":{"stroke":{"type":"palette","key":"markLineStrokeColor"}}}},"itemContent":{"offsetY":-50}},"tooltip":{"offset":{"x":16,"y":16},"panel":{"padding":{"top":12,"left":12,"right":12,"bottom":12},"backgroundColor":{"type":"palette","key":"popupBackgroundColor"},"border":{"color":{"type":"palette","key":"popupBackgroundColor"},"width":0,"radius":3},"shadow":{"x":0,"y":0,"blur":10,"spread":0,"color":"#aeaeae"}},"spaceRow":12,"titleLabel":{"fontSize":12,"lineHeight":12,"fontColor":"#1D1D2E","fontWeight":"500","textBaseline":"middle","spacing":0,"textAlign":"left"},"shape":{"size":8,"spacing":8},"keyLabel":{"fontSize":12,"lineHeight":12,"fontColor":{"type":"palette","key":"blackColors65"},"textBaseline":"middle","spacing":12,"textAlign":"left"},"valueLabel":{"fontSize":12,"lineHeight":12,"fontColor":{"type":"palette","key":"blackColors65"},"fontWeight":"normal","textBaseline":"middle","spacing":0}},"dataZoom":{"padding":[12,0],"showDetail":"auto","brushSelect":false,"middleHandler":{"visible":false,"background":{"size":6,"style":{"stroke":{"type":"palette","key":"dataZoomHandleStrokeColor"},"cornerRadius":2}},"icon":{"style":{"size":4,"fill":{"type":"palette","key":"sliderHandleColor"},"stroke":{"type":"palette","key":"dataZoomHandleStrokeColor"},"symbolType":"M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z","lineWidth":0.5}}},"background":{"size":20,"style":{"fill":{"type":"palette","key":"sliderRailColor"},"lineWidth":0}},"selectedBackground":{"style":{"fill":{"type":"palette","key":"sliderTrackColor"},"fillOpacity":0.1,"outerBorder":{"stroke":{"type":"palette","key":"sliderTrackColor"},"strokeOpacity":0.2,"distance":-0.5,"lineWidth":1}}},"selectedBackgroundChart":{"area":{"style":{"visible":false,"stroke":false,"fill":{"type":"palette","key":"dataZoomChartColor"}}},"line":{"style":{"visible":false,"stroke":{"type":"palette","key":"dataZoomChartColor"},"lineWidth":1}}},"startHandler":{"style":{"symbolType":"M-0.5-2.4h0.9c0.4,0,0.7,0.3,0.7,0.7v3.3c0,0.4-0.3,0.7-0.7,0.7h-0.9c-0.4,0-0.7-0.3-0.7-0.7v-3.3\nC-1.2-2-0.9-2.4-0.5-2.4z M-0.4-1.4L-0.4-1.4c0,0,0,0.1,0,0.1v2.6c0,0.1,0,0.1,0,0.1l0,0c0,0,0-0.1,0-0.1v-2.6\nC-0.4-1.4-0.4-1.4-0.4-1.4z M0.3-1.4L0.3-1.4c0,0,0,0.1,0,0.1v2.6c0,0.1,0,0.1,0,0.1l0,0c0,0,0-0.1,0-0.1v-2.6\nC0.3-1.4,0.3-1.4,0.3-1.4z;","fill":{"type":"palette","key":"sliderHandleColor"},"scaleX":1.2,"scaleY":1.2,"stroke":{"type":"palette","key":"dataZoomHandleStrokeColor"},"lineWidth":1}},"endHandler":{"style":{"symbolType":"M-0.5-2.4h0.9c0.4,0,0.7,0.3,0.7,0.7v3.3c0,0.4-0.3,0.7-0.7,0.7h-0.9c-0.4,0-0.7-0.3-0.7-0.7v-3.3\nC-1.2-2-0.9-2.4-0.5-2.4z M-0.4-1.4L-0.4-1.4c0,0,0,0.1,0,0.1v2.6c0,0.1,0,0.1,0,0.1l0,0c0,0,0-0.1,0-0.1v-2.6\nC-0.4-1.4-0.4-1.4-0.4-1.4z M0.3-1.4L0.3-1.4c0,0,0,0.1,0,0.1v2.6c0,0.1,0,0.1,0,0.1l0,0c0,0,0-0.1,0-0.1v-2.6\nC0.3-1.4,0.3-1.4,0.3-1.4z;","fill":{"type":"palette","key":"sliderHandleColor"},"scaleX":1.2,"scaleY":1.2,"stroke":{"type":"palette","key":"dataZoomHandleStrokeColor"},"lineWidth":1}},"startText":{"padding":8,"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}}},"endText":{"padding":8,"style":{"fontSize":{"type":"token","key":"l5FontSize"},"lineHeight":{"type":"token","key":"l5LineHeight"},"fill":{"type":"palette","key":"secondaryFontColor","default":"#89909d"}}},"backgroundChart":{"area":{"style":{"visible":true,"stroke":false,"fill":{"type":"palette","key":"dataZoomChartColor"}}},"line":{"style":{"visible":true,"stroke":{"type":"palette","key":"dataZoomChartColor"},"lineWidth":1}}},"horizontal":{"middleHandler":{"visible":false},"startHandler":{"style":{"size":22}},"selectedBackground":{"style":{"fill":"#6699FF","fillOpacity":0.2,"opacity":1,"stroke":"#6699FF","lineWidth":2,"cornerRadius":4}},"background":{"style":{"fill":"#F3F4F6","fillOpacity":0.2,"cornerRadius":4,"stroke":"#EDEEF0","opacity":1,"lineWidth":2}},"endHandler":{"style":{"size":22}},"backgroundChart":{"area":{"style":{"fill":false,"stroke":"#6699FF"}},"line":{"style":{"fill":false,"stroke":"#6699FF"}}},"startText":{"visible":false},"endText":{"visible":false},"height":44},"vertical":{"middleHandler":{"visible":false},"startHandler":{"style":{"size":22}},"selectedBackground":{"style":{"fill":"#6699FF","fillOpacity":0.2,"opacity":1,"stroke":"#6699FF","lineWidth":2,"cornerRadius":4}},"background":{"style":{"fill":"#F3F4F6","fillOpacity":0.2,"cornerRadius":4,"stroke":"#EDEEF0","opacity":1,"lineWidth":2}},"endHandler":{"style":{"size":22}},"backgroundChart":{"area":{"style":{"fill":false,"stroke":"#6699FF"}},"line":{"style":{"fill":false,"stroke":"#6699FF"}}},"startText":{"visible":false},"endText":{"visible":false},"width":44}},"crosshair":{"trigger":"hover","bandField":{"visible":false,"line":{"type":"rect","visible":true,"style":{"fill":"#CCD7EB","opacity":0.7,"lineWidth":0,"stroke":{"type":"palette","key":"markLineStrokeColor"},"lineDash":[],"fillOpacity":0.4}},"label":{"visible":false,"style":{"fontWeight":"normal","fill":{"type":"palette","key":"axisMarkerFontColor"},"fontSize":{"type":"token","key":"l5FontSize"}},"labelBackground":{"padding":{"bottom":0,"top":0,"left":2,"right":2},"style":{"fill":{"type":"palette","key":"axisMarkerBackgroundColor"},"cornerRadius":1}}}},"linearField":{"visible":false,"line":{"type":"line","visible":true,"style":{"stroke":"#CCD7EB","fill":"transparent","opacity":0.7,"lineDash":[],"lineWidth":0.4}},"label":{"visible":false,"style":{"fontWeight":"normal","fill":{"type":"palette","key":"axisMarkerFontColor"},"fontSize":{"type":"token","key":"l5FontSize"}},"labelBackground":{"padding":{"bottom":0,"top":0,"left":2,"right":2},"style":{"fill":{"type":"palette","key":"axisMarkerBackgroundColor"},"cornerRadius":1}}}}},"player":{"visible":true,"position":"start","padding":{"top":20,"bottom":20},"slider":{"space":10,"trackStyle":{"fill":{"type":"palette","key":"sliderTrackColor"},"fillOpacity":0.8},"railStyle":{"fill":{"type":"palette","key":"sliderRailColor"}},"handlerStyle":{"size":15,"stroke":{"type":"palette","key":"backgroundColor"},"lineWidth":2,"fill":{"type":"palette","key":"playerControllerColor"}}},"controller":{"start":{"order":0,"space":10,"position":"start","style":{"size":12,"fill":{"type":"palette","key":"playerControllerColor"},"fillOpacity":0.8}},"pause":{"order":0,"space":10,"position":"start","style":{"size":12,"fill":{"type":"palette","key":"playerControllerColor"},"fillOpacity":0.8}},"backward":{"order":0,"space":10,"position":"start","style":{"size":12,"fill":{"type":"palette","key":"playerControllerColor"},"fillOpacity":0.8}},"forward":{"order":0,"space":10,"position":"start","style":{"size":12,"fill":{"type":"palette","key":"playerControllerColor"},"fillOpacity":0.8}}}},"brush":{"style":{"fill":"#B0C8F9","fillOpacity":0.2,"stroke":"#B0C8F9","lineWidth":2},"brushMode":"single","brushType":"rect","brushMoved":true,"removeOnClick":true,"delayType":"throttle","delayTime":0},"indicator":{"title":{"visible":true,"autoLimit":false,"autoFit":false,"style":{"fontSize":16,"fill":"#12141A","fontWeight":500,"fillOpacity":1,"textBaseline":"top","textAlign":"center"}},"content":{"visible":true,"style":{"fontSize":12,"fill":"#85878A","fontWeight":400,"fillOpacity":1,"textBaseline":"top","textAlign":"center"}}},"title":{"padding":{"top":4,"bottom":20},"textStyle":{"fontSize":{"type":"token","key":"l3FontSize"},"lineHeight":{"type":"token","key":"l3LineHeight"},"fill":{"type":"palette","key":"primaryFontColor"}},"subtextStyle":{"fontSize":{"type":"token","key":"l4FontSize"},"lineHeight":{"type":"token","key":"l4LineHeight"},"fill":{"type":"palette","key":"tertiaryFontColor"}}},"mapLabel":{"visible":true,"offset":12,"position":"top","space":10,"nameLabel":{"visible":true,"style":{"textBaseline":"middle","textAlign":"left","fill":"black","fontSize":{"type":"token","key":"l6FontSize"}}},"valueLabel":{"visible":true,"style":{"textBaseline":"middle","textAlign":"left","fill":"black","fontSize":{"type":"token","key":"l6FontSize"}}},"background":{"visible":true,"padding":{"top":4,"bottom":4,"left":6,"right":6},"style":{"cornerRadius":2,"lineWidth":1,"fill":"white","stroke":"grey"}},"leader":{"visible":false,"style":{"lineWidth":1,"stroke":"red"}}},"poptip":{"visible":true,"position":"auto","padding":8,"titleStyle":{"fontSize":{"type":"token","key":"l5FontSize"},"fontWeight":"bold","fill":{"type":"palette","key":"primaryFontColor"}},"contentStyle":{"fontSize":{"type":"token","key":"l5FontSize"},"fill":{"type":"palette","key":"primaryFontColor"}},"panel":{"visible":true,"fill":{"type":"palette","key":"popupBackgroundColor"},"cornerRadius":3,"lineWidth":0,"shadowBlur":12,"shadowOffsetX":0,"shadowOffsetY":4,"shadowColor":{"type":"palette","key":"shadowColor"},"size":0,"space":12}},"totalLabel":{"visible":false,"offset":5,"overlap":{"clampForce":true,"strategy":[]},"smartInvert":false,"animation":false,"style":{"fontSize":{"type":"token","key":"l4FontSize"},"fill":{"type":"palette","key":"primaryFontColor"}}},"scrollBar":{"horizontal":{"height":12,"slider":{"style":{"fill":"rgba(0,0,0,0.15)"}}},"vertical":{"width":12,"slider":{"style":{"fill":"rgba(0,0,0,0.15)"}}}}},"animationThreshold":2000,"type":"light","description":"light theme for ChartHub."} \ No newline at end of file diff --git a/packages/vchart-aurora-theme/src/common/color-scheme.ts b/packages/vchart-aurora-theme/src/common/color-scheme.ts index e310222..3c2794f 100644 --- a/packages/vchart-aurora-theme/src/common/color-scheme.ts +++ b/packages/vchart-aurora-theme/src/common/color-scheme.ts @@ -1,68 +1,66 @@ import type { BuiltinColorPalette, IThemeColorScheme } from '@visactor/vchart'; -const defaultColor = [ +export const colorList = [ // 定义分类主题色 '#3377FF', '#1FE7F9', '#53F3B3', '#FFCD50', '#ADB8D6', - '#B46FF4', '#867AFF', '#FAA64D', - '#F25E68' + '#FF8082', + '#B46FF4' ]; -const BLACK_COLORS = { - 100: '#000', - 95: '#0D0D0D', - 85: '#262626', - 65: '#595959', - 45: '#8C8C8C', - 25: '#BFBFBF', - 15: '#D9D9D9', - 6: '#F0F0F0' -}; - -const WHITE_COLORS = { - 100: '#FFFFFF', - 95: '#F2F2F2', - 85: '#D9D9D9', - 65: '#A6A6A6', - 45: '#737373', - 25: '#404040', - 15: '#262626', - 6: '#0F0F0F' -}; - -const blackColorPalettes: Record = {}; -Object.entries(BLACK_COLORS).forEach(([key, value]) => { - blackColorPalettes[`blackColors${key}`] = value; -}); +export const barColorList = [ + // 定义分类主题色 + '#3377FF', + '#1FE7F9', + '#FFCD50', + '#53F3B3', + '#ADB8D6', + '#867AFF', + '#FAA64D', + '#FF8082', + '#B46FF4' +]; -const whiteColorPalettes: Record = {}; -Object.entries(WHITE_COLORS).forEach(([key, value]) => { - whiteColorPalettes[`whiteColors${key}`] = value; -}); +export const nestColorList = [ + ['#3377FF', '#5587FD', '#76A4FF', '#A0C0FF', '#BFD4FF', '#E5EEFF'], + ['#1FE7F9', '#71F1FF', '#A2F5FF', '#BCF8FF', '#D2FAFF', '#E5FDFF'], + ['#53F3B3', '#6BFFC4', '#9FFFD9', '#C1FFE6', '#DCFFF1', '#EBFFF7'], + ['#FFCD50', '#FFD971', '#FFE395', '#FFEBB2', '#FEF2D1', '#FFF8E8'], + ['#ADB8D6', '#BEC8E4', '#CBD3ED', '#D9E0F5', '#E7ECFB', '#F2F5FF'], + ['#867AFF', '#9A8DFF', '#ACA1FF', '#C4BCFF', '#DBD6FF', '#EDEBFF'], + ['#FAA64D', '#FFB96F', '#FECB94', '#FFD8AD', '#FFE5C9', '#FFF4E9'], + ['#FF8082', '#FF99A0', '#FFBBBF', '#FFD4D7', '#FFE8EA', '#FFF7F8'], + ['#B46FF4', '#BF80FF', '#D1A4FD', '#E0C1FF', '#EDDAFF', '#F5ECFF'] +]; export const colorScheme: IThemeColorScheme = { default: { - dataScheme: defaultColor, + dataScheme: colorList, palette: { - bandColor: defaultColor[0], - + bandColor: colorList[0], /** 背景色 */ backgroundColor: 'transparent', + /** 主要字色 */ + primaryFontColor: '#17171A', + /** 次要字色 */ + secondaryFontColor: '#5E5F66', + /** 第三字色 */ + tertiaryFontColor: '#888888', + /** 轴线颜色 */ axisDomainColor: '#DCDEE1', /** 轴标签字色 */ - axisLabelFontColor: '#909199', + axisLabelFontColor: '#888888', /** 轴网格线颜色 */ - axisGridColor: '#E1E2E5', - - ...blackColorPalettes, - ...whiteColorPalettes + axisGridColor: '#EFF0F2', + /** 浮层背景区域颜色 */ + popupBackgroundColor: '#ffffff' } as unknown as BuiltinColorPalette } }; diff --git a/packages/vchart-aurora-theme/src/common/component/axis.ts b/packages/vchart-aurora-theme/src/common/component/axis.ts deleted file mode 100644 index d9898ef..0000000 --- a/packages/vchart-aurora-theme/src/common/component/axis.ts +++ /dev/null @@ -1,65 +0,0 @@ -import type { IComponentTheme } from '@visactor/vchart'; - -export const axis: Pick< - IComponentTheme, - 'axis' | 'axisAngle' | 'axisBand' | 'axisLinear' | 'axisRadius' | 'axisX' | 'axisY' -> = { - axis: { - domainLine: { - visible: true, - style: { - lineWidth: 1, - stroke: { type: 'palette', key: 'axisDomainColor' } - } - }, - grid: { - visible: true, - style: { - lineWidth: 1, - stroke: { type: 'palette', key: 'axisGridColor' }, - lineDash: [4, 4] - } - }, - subGrid: { - visible: false, - style: { - lineWidth: 1, - stroke: { type: 'palette', key: 'axisGridColor' }, - lineDash: [4, 4] - } - }, - tick: { - visible: true, - style: { - lineWidth: 1, - stroke: { type: 'palette', key: 'blackColors25' } - } - }, - subTick: { - visible: false, - tickSize: 2, - style: { - lineWidth: 1, - stroke: { type: 'palette', key: 'blackColors15' } - } - }, - label: { - visible: true, - space: 8, - style: { - fontSize: 12, - fill: { type: 'palette', key: 'blackColors45' }, - fontWeight: 400, - fillOpacity: 1 - } - }, - title: { - visible: false, - style: { - fill: { type: 'palette', key: 'blackColors65' }, - fontSize: 12, - lineHeight: 12 - } - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/crosshair.ts b/packages/vchart-aurora-theme/src/common/component/crosshair.ts index 1f11492..83367d6 100644 --- a/packages/vchart-aurora-theme/src/common/component/crosshair.ts +++ b/packages/vchart-aurora-theme/src/common/component/crosshair.ts @@ -1,33 +1,36 @@ import type { ICrosshairTheme } from '@visactor/vchart'; -export const crosshair: ICrosshairTheme = { - trigger: 'hover', - bandField: { +export const barCrosshair: ICrosshairTheme = { + xField: { line: { - type: 'rect', - visible: true, + type: 'rect', // 设置为矩形类型 style: { - fill: '#CCD7EB', - fillOpacity: 0.4, - lineDash: [] + fill: { + gradient: 'linear', // 线性渐变 + x0: 0, + y0: 0, + x1: 0, + y1: 1, + stops: [ + { offset: 0, color: 'rgba(51, 119, 255, 0.1)' }, + { offset: 1, color: 'rgba(118, 164, 255, 0.1)' } + ] + } } - }, - label: { - visible: false } - }, - linearField: { - visible: false, + } +}; + +export const lineCrosshair: ICrosshairTheme = { + bandField: { line: { type: 'line', + width: 1, style: { - stroke: '#CCD7EB', - lineWidth: 0.4, - lineDash: [] + lineWidth: 1, + stroke: '#DCDEE1', + lineDash: [2, 2] } - }, - label: { - visible: false } } }; diff --git a/packages/vchart-aurora-theme/src/common/component/data-zoom.ts b/packages/vchart-aurora-theme/src/common/component/data-zoom.ts deleted file mode 100644 index 4fe7503..0000000 --- a/packages/vchart-aurora-theme/src/common/component/data-zoom.ts +++ /dev/null @@ -1,68 +0,0 @@ -import type { IDataZoomTheme } from '@visactor/vchart'; - -export const dataZoomCommon: IDataZoomTheme = { - middleHandler: { - visible: false - }, - startHandler: { - style: { - size: 22 - } - }, - selectedBackground: { - style: { - fill: '#6699FF', - fillOpacity: 0.2, - opacity: 1, - stroke: '#6699FF', - lineWidth: 2, - cornerRadius: 4 - } - }, - background: { - style: { - fill: '#F3F4F6', - fillOpacity: 0.2, - cornerRadius: 4, - stroke: '#EDEEF0', - opacity: 1, - lineWidth: 2 - } - }, - endHandler: { - style: { - size: 22 - } - }, - backgroundChart: { - area: { - style: { - fill: false, - stroke: '#6699FF' - } - }, - line: { - style: { - fill: false, - stroke: '#6699FF' - } - } - }, - startText: { - visible: false - }, - endText: { - visible: false - } -}; - -export const dataZoom: IDataZoomTheme = { - horizontal: { - ...dataZoomCommon, - height: 44 - }, - vertical: { - ...dataZoomCommon, - width: 44 - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/indicator.ts b/packages/vchart-aurora-theme/src/common/component/indicator.ts deleted file mode 100644 index 97b084e..0000000 --- a/packages/vchart-aurora-theme/src/common/component/indicator.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { IIndicatorTheme } from '@visactor/vchart'; - -export const indicator: IIndicatorTheme = { - title: { - visible: true, - style: { - fill: '#12141A', - fontWeight: 500, - fontSize: 16 - } - }, - content: { - visible: true, - style: { - fill: '#85878A', - fontWeight: 400, - fontSize: 12 - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/legend.ts b/packages/vchart-aurora-theme/src/common/component/legend.ts index 802f34b..8888e98 100644 --- a/packages/vchart-aurora-theme/src/common/component/legend.ts +++ b/packages/vchart-aurora-theme/src/common/component/legend.ts @@ -1,131 +1,50 @@ import type { IComponentTheme } from '@visactor/vchart'; -const commonColorLegendTheme = { - handlerText: { - space: 10, - style: { - fontSize: 12, - fill: '#2C3542' - } - }, - title: { - space: 5, - style: { - fontSize: 12, - fill: '#2C3542' - } - } -}; - export const legend: Partial = { discreteLegend: { visible: true, orient: 'top', - padding: [8, 8, 8, 8], + position: 'middle', maxRow: 1, title: { - visible: false, - textStyle: { - fill: { type: 'palette', key: 'blackColors45' }, - fontSize: 12, - lineHeight: 21 - } + visible: false }, item: { visible: true, - spaceCol: 24, - spaceRow: 12, - padding: 0, background: { visible: false }, shape: { - space: 4, style: { - size: 8, symbolType: 'circle' - }, - state: { unSelected: { fill: '#D8D8D8' } } - }, - label: { - space: 100, - style: { - fill: '#85878A', - fontSize: 12, - lineHeight: 12, - opacity: 1, - fontWeight: 400 - }, - state: { - unSelected: { - fill: '#D8D8D8', - opacity: 1 - } } } }, - pager: { - handler: { - space: 8, - style: { - size: 10, - fill: { - type: 'palette', - key: 'blackColors100' - } - } - }, - textStyle: { - fill: { type: 'palette', key: 'blackColors45' }, - fontSize: 10 - } - }, allowAllCanceled: false - }, - colorLegend: { - horizontal: { - ...commonColorLegendTheme, - handler: { - style: { - symbolType: 'rectRound', - size: 16, - scaleX: 0.5, - fill: '#fff', - lineWidth: 1, - stroke: '#99B0F3', - radius: 2, - outerBorder: null - } - }, - rail: { - height: 4, - width: 100, - style: { - fill: '#DCDEE2' - } - } + } +}; + +export const lineLegend: Partial = { + discreteLegend: { + visible: true, + orient: 'top', + position: 'middle', + maxRow: 1, + title: { + visible: false }, - vertical: { - ...commonColorLegendTheme, - handler: { - style: { - symbolType: 'rectRound', - size: 16, - scaleY: 0.5, - fill: '#fff', - lineWidth: 1, - stroke: '#99B0F3', - radius: 2, - outerBorder: null - } + item: { + visible: true, + background: { + visible: false }, - rail: { - width: 4, - height: 100, + shape: { style: { - fill: '#DCDEE2' + size: [8, 2], + symbolType: 'rect' } } - } + }, + allowAllCanceled: false } }; diff --git a/packages/vchart-aurora-theme/src/common/component/mark-area.ts b/packages/vchart-aurora-theme/src/common/component/mark-area.ts deleted file mode 100644 index 49117d1..0000000 --- a/packages/vchart-aurora-theme/src/common/component/mark-area.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { IMarkAreaTheme } from '@visactor/vchart'; - -export const markArea: IMarkAreaTheme = { - area: { - style: { - fill: { type: 'palette', key: 'blackColors100', a: 0.06 } - } - }, - label: { - style: { - fontSize: { type: 'token', key: 'l5FontSize' }, - fill: { type: 'palette', key: 'blackColors65' } - }, - labelBackground: { - visible: false - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/mark-line.ts b/packages/vchart-aurora-theme/src/common/component/mark-line.ts deleted file mode 100644 index efcf477..0000000 --- a/packages/vchart-aurora-theme/src/common/component/mark-line.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { IMarkLineTheme } from '@visactor/vchart'; - -export const markLine: IMarkLineTheme = { - line: { - style: { - lineDash: [], - lineWidth: 1, - stroke: { type: 'palette', key: 'blackColors25' } - } - }, - startSymbol: { - visible: false - }, - endSymbol: { - visible: false - }, - label: { - position: 'insideStartTop', - refY: 0, - autoRotate: true, - style: { - fontSize: { type: 'token', key: 'l5FontSize' }, - fill: { type: 'palette', key: 'blackColors65' } - }, - labelBackground: { - visible: false - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/mark-point.ts b/packages/vchart-aurora-theme/src/common/component/mark-point.ts deleted file mode 100644 index 388af88..0000000 --- a/packages/vchart-aurora-theme/src/common/component/mark-point.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { IMarkPointTheme } from '@visactor/vchart'; - -export const markPoint: IMarkPointTheme = { - itemContent: { - // @ts-ignore - autoRotate: false, // FIXME: type error - offsetY: -16, - text: { - style: { - fontSize: { type: 'token', key: 'l5FontSize' }, - fill: { type: 'palette', key: 'blackColors65' } - } - } - }, - itemLine: { - decorativeLine: { - visible: false - }, - startSymbol: { - visible: true, - size: 6, - style: { - fill: '#fff', - stroke: { type: 'palette', key: 'bandColor' }, - lineWidth: 2 - } - }, - endSymbol: { - visible: false - }, - line: { - style: { - lineWidth: 1, - stroke: { type: 'palette', key: 'blackColors25' } - } - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/polar-axis.ts b/packages/vchart-aurora-theme/src/common/component/polar-axis.ts deleted file mode 100644 index bc04e25..0000000 --- a/packages/vchart-aurora-theme/src/common/component/polar-axis.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { IPolarAxisCommonTheme } from '@visactor/vchart'; - -const axisRadius: IPolarAxisCommonTheme = { - domainLine: {}, - grid: { - smooth: false, - visible: true - }, - subGrid: { - smooth: false - } -}; - -const axisAngle: IPolarAxisCommonTheme = { - grid: { - visible: true, - smooth: false - }, - label: { - space: 4 - } -}; - -export const axisPolar = { - axisRadius, - axisAngle -}; diff --git a/packages/vchart-aurora-theme/src/common/component/scroll-bar.ts b/packages/vchart-aurora-theme/src/common/component/scroll-bar.ts deleted file mode 100644 index c92c07e..0000000 --- a/packages/vchart-aurora-theme/src/common/component/scroll-bar.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { IScrollBarTheme } from '@visactor/vchart'; - -export const scrollBar: IScrollBarTheme = { - horizontal: { - height: 12, - slider: { - style: { - fill: 'rgba(0,0,0,0.15)' - } - } - }, - vertical: { - width: 12, - slider: { - style: { - fill: 'rgba(0,0,0,0.15)' - } - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/component/tooltip.ts b/packages/vchart-aurora-theme/src/common/component/tooltip.ts index cf04faa..4d43ac4 100644 --- a/packages/vchart-aurora-theme/src/common/component/tooltip.ts +++ b/packages/vchart-aurora-theme/src/common/component/tooltip.ts @@ -1,60 +1,13 @@ import type { ITooltipTheme } from '@visactor/vchart'; export const tooltip: ITooltipTheme = { - offset: { x: 16, y: 16 }, panel: { - padding: { top: 12, left: 12, right: 12, bottom: 12 }, - backgroundColor: { - type: 'palette', - key: 'popupBackgroundColor' - } as any, border: { - color: { - type: 'palette', - key: 'popupBackgroundColor' - } as any, - width: 0, - radius: 3 - }, - shadow: { - x: 0, - y: 0, - blur: 10, - spread: 0, - color: '#aeaeae' + radius: 8 } }, - spaceRow: 12, - titleLabel: { - fontSize: 12, - lineHeight: 12, - fontColor: '#1D1D2E', - fontWeight: '500', - textAlign: 'left', - textBaseline: 'middle', - spacing: 0 - }, - shape: { size: 8, spacing: 8 }, - keyLabel: { - fontSize: 12, - lineHeight: 12, - fontColor: { - type: 'palette', - key: 'blackColors65' - } as any, - textAlign: 'left', - textBaseline: 'middle', - spacing: 12 - }, - valueLabel: { - fontSize: 12, - lineHeight: 12, - fontColor: { - type: 'palette', - key: 'blackColors65' - } as any, - fontWeight: 'normal', - textBaseline: 'middle', - spacing: 0 + shape: { + shapeType: 'circle', + size: 8 } }; diff --git a/packages/vchart-aurora-theme/src/common/mark.ts b/packages/vchart-aurora-theme/src/common/mark.ts deleted file mode 100644 index 13971f2..0000000 --- a/packages/vchart-aurora-theme/src/common/mark.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { IGlobalMarkThemeByName } from '@visactor/vchart'; - -export const markByName: IGlobalMarkThemeByName = { - label: { - style: { - fontSize: 12, - fill: { type: 'palette', key: 'blackColors65' }, - lineWidth: 0 - } - } -}; diff --git a/packages/vchart-aurora-theme/src/common/series/area.ts b/packages/vchart-aurora-theme/src/common/series/area.ts index 3e0bdce..9dc0fd8 100644 --- a/packages/vchart-aurora-theme/src/common/series/area.ts +++ b/packages/vchart-aurora-theme/src/common/series/area.ts @@ -5,6 +5,7 @@ export const area: Pick< SeriesTypeEnum.area | SeriesTypeForThemeEnum.area_vertical | SeriesTypeForThemeEnum.area_horizontal > = { area: { + seriesMark: 'line', point: { style: { visible: false, @@ -12,7 +13,12 @@ export const area: Pick< lineWidth: 2, shadowColor: 'rgba(0, 0, 0, 0.1)', shadowBlur: 3, - stroke: { type: 'palette', key: 'whiteColors100' } + stroke: '#fff' + }, + state: { + dimension_hover: { + visible: true + } } }, line: { @@ -23,12 +29,22 @@ export const area: Pick< }, area: { style: { - fillOpacity: 0.25, - lineWidth: 2 - }, - state: { - selected: { - fillOpacity: 0.5 + fill: { + gradient: 'linear', + x0: 0, + y0: 0, + x1: 0, + y1: 1, + stops: [ + { + offset: 0, + opacity: 0.7 + }, + { + offset: 1, + opacity: 0 + } + ] } } } diff --git a/packages/vchart-aurora-theme/src/common/series/bar.ts b/packages/vchart-aurora-theme/src/common/series/bar.ts index d3c89b5..dd497a6 100644 --- a/packages/vchart-aurora-theme/src/common/series/bar.ts +++ b/packages/vchart-aurora-theme/src/common/series/bar.ts @@ -1,19 +1,20 @@ import type { ISeriesTheme, SeriesTypeEnum, SeriesTypeForThemeEnum } from '@visactor/vchart'; const bar: ISeriesTheme['bar'] = { - barMaxWidth: 8, - // @ts-ignore - barGapInGroup: 4, // FIXME: typeError - label: { + barMaxWidth: 16, + barGapInGroup: 2, + // barMinHeight: 2, + bar: { style: { - fill: { type: 'palette', key: 'secondaryFontColor' } + // @ts-ignore + visible: datum => datum.value > 0 // 数据为0时隐藏柱子 } } }; const bar_horizontal: ISeriesTheme['bar'] = { // @ts-ignore - stackCornerRadius: [0, 1, 1, 0], // FIXME: typeError + stackCornerRadius: [0, 2, 2, 0], // FIXME: typeError label: { position: 'right', offset: 4 @@ -22,7 +23,7 @@ const bar_horizontal: ISeriesTheme['bar'] = { const bar_vertical: ISeriesTheme['bar'] = { // @ts-ignore - stackCornerRadius: [1, 1, 0, 0], // FIXME: typeError + stackCornerRadius: [2, 2, 0, 0], // FIXME: typeError, label: { position: 'top', offset: 4 diff --git a/packages/vchart-aurora-theme/src/common/series/line.ts b/packages/vchart-aurora-theme/src/common/series/line.ts index 29e11ec..b8ec5fb 100644 --- a/packages/vchart-aurora-theme/src/common/series/line.ts +++ b/packages/vchart-aurora-theme/src/common/series/line.ts @@ -14,11 +14,12 @@ export const line: ISeriesTheme['line'] = { lineWidth: 2, shadowColor: 'rgba(0, 0, 0, 0.1)', shadowBlur: 3, - stroke: { type: 'palette', key: 'whiteColors100' } + stroke: '#fff' + }, + state: { + dimension_hover: { + visible: true + } } - }, - label: { - position: 'top', - offset: 4 } }; diff --git a/packages/vchart-aurora-theme/src/common/series/pie.ts b/packages/vchart-aurora-theme/src/common/series/pie.ts index 20f0259..1615fa3 100644 --- a/packages/vchart-aurora-theme/src/common/series/pie.ts +++ b/packages/vchart-aurora-theme/src/common/series/pie.ts @@ -8,7 +8,10 @@ export const pie: ISeriesTheme['pie'] = { padAngle: 0, stroke: '#fff', lineWidth: 2, - lineJoin: 'round' + lineJoin: 'round', + cornerRadius: 2, + // @ts-ignore + visible: datum => datum.value > 0 // 数据为0时隐藏柱子 }, state: { hover: { @@ -21,8 +24,51 @@ export const pie: ISeriesTheme['pie'] = { } } }, + minAngle: 3, label: { visible: true, - position: 'outside' + position: 'outside', + formatMethod: (label, data) => { + const midAngle = data.__VCHART_ARC_MIDDLE_ANGLE; + const cos = Math.cos(midAngle); + return { + type: 'rich', + text: [ + { + text: `${data?.value}\n`, + fill: '#111', + fontSize: 16, + fontWeight: 500, + fontFamily: 'douyinNumber', + stroke: false, + textAlign: cos < 0 ? 'right' : 'left' + }, + { + text: data?.type, + fill: '#606165', + fontSize: 12, + fontWeight: 400, + stroke: false, + textAlign: cos < 0 ? 'right' : 'left' + } + ] + }; + }, + line: { + style: { + lineWidth: 2 + } + }, + layout: { + align: 'labelLine' + }, + style: { + type: 'rich', + boundsPadding: [6, 0, 6, 0] + }, + legend: { + visible: true, + orient: 'bottom' + } } }; diff --git a/packages/vchart-aurora-theme/src/index.ts b/packages/vchart-aurora-theme/src/index.ts index e10bd6d..98292d7 100644 --- a/packages/vchart-aurora-theme/src/index.ts +++ b/packages/vchart-aurora-theme/src/index.ts @@ -1,62 +1,62 @@ import type { ITheme } from '@visactor/vchart'; -import { colorScheme } from './common/color-scheme'; -import { axis } from './common/component/axis'; -import { axisPolar } from './common/component/polar-axis'; +import { colorScheme, colorList, barColorList, nestColorList } from './common/color-scheme'; -import { legend } from './common/component/legend'; +import { legend, lineLegend } from './common/component/legend'; import { token } from './common/token'; import { tooltip } from './common/component/tooltip'; -import { crosshair } from './common/component/crosshair'; +import { barCrosshair, lineCrosshair } from './common/component/crosshair'; import { area } from './common/series/area'; import { barTheme as bar } from './common/series/bar'; import { line } from './common/series/line'; -import { markByName } from './common/mark'; import { scatter } from './common/series/scatter'; import { pie } from './common/series/pie'; -import { indicator } from './common/component/indicator'; import { funnel } from './common/series/funnel'; import { treemap } from './common/series/treemap'; import { gauge } from './common/series/gauge'; import { heatmap } from './common/series/heatmap'; -import { markLine } from './common/component/mark-line'; -import { markArea } from './common/component/mark-area'; -import { markPoint } from './common/component/mark-point'; -import { dataZoom } from './common/component/data-zoom'; -import { scrollBar } from './common/component/scroll-bar'; import { radar } from './common/series/radar'; export const chartAuroraTheme: ITheme = { name: 'aurora', type: 'light', - description: 'light theme for ChartHub.', + description: 'light theme for Aurora.', colorScheme, - token, component: { - ...axis, ...legend, - ...axisPolar, - tooltip, - crosshair, - indicator, - markLine, - markArea, - markPoint, - dataZoom, - scrollBar + tooltip + }, + chart: { + line: { + component: { + crosshair: lineCrosshair, + ...lineLegend + } + }, + area: { + component: { + crosshair: lineCrosshair, + ...lineLegend + } + }, + bar: { + component: { + crosshair: barCrosshair + }, + colorScheme: { + default: { + dataScheme: barColorList + } + } + } }, series: { - ...area, - ...bar, - ...gauge, - line, - scatter, pie, - funnel, - treemap, - heatmap, - radar - }, - markByName + ...bar, + ...area, + line + } }; +export { colorList, nestColorList }; + export const allThemeMap = new Map([[chartAuroraTheme.name, chartAuroraTheme]]) as Map; diff --git a/packages/vchart-semi-theme/package.json b/packages/vchart-semi-theme/package.json index 05c768e..b344a6a 100644 --- a/packages/vchart-semi-theme/package.json +++ b/packages/vchart-semi-theme/package.json @@ -63,8 +63,8 @@ "vite": "^4.5.0", "vite-plugin-svgr": "^4.1.0", "@babel/runtime": "latest", - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19", "@douyinfe/semi-ui": "^2.51.3", "@douyinfe/semi-icons": "latest", "@douyinfe/semi-icons-lab": "latest" diff --git a/packages/vchart-theme-converter/package.json b/packages/vchart-theme-converter/package.json index f7bfd90..0285bfa 100644 --- a/packages/vchart-theme-converter/package.json +++ b/packages/vchart-theme-converter/package.json @@ -23,8 +23,8 @@ "@visactor/vutils": "~0.18.15" }, "devDependencies": { - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19", "@visactor/vchart-semi-theme": "workspace:1.12.3", "@visactor/vchart-theme": "workspace:1.12.3", "echarts": "5.5.0", diff --git a/packages/vchart-theme-demo-component/package.json b/packages/vchart-theme-demo-component/package.json index fcb8527..1a14e72 100644 --- a/packages/vchart-theme-demo-component/package.json +++ b/packages/vchart-theme-demo-component/package.json @@ -50,8 +50,8 @@ "@types/jest": "~29.5.0", "@types/offscreencanvas": "2019.6.4", "@types/node": "*", - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1" + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19" }, "publishConfig": { "access": "public" diff --git a/packages/vchart-theme-utils/package.json b/packages/vchart-theme-utils/package.json index 2e8f306..9953967 100644 --- a/packages/vchart-theme-utils/package.json +++ b/packages/vchart-theme-utils/package.json @@ -36,8 +36,8 @@ "ts-jest": "~29.1.0", "@types/jest": "~29.5.0", "@rushstack/eslint-patch": "~1.1.4", - "@visactor/vchart": "1.12.1", - "@visactor/vchart-types": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/vchart-types": "2.0.19", "eslint": "~8.18.0", "vite": "^4.5.0", "typescript": "4.9.5", diff --git a/packages/vchart-theme/package.json b/packages/vchart-theme/package.json index fa24e06..be4455d 100644 --- a/packages/vchart-theme/package.json +++ b/packages/vchart-theme/package.json @@ -38,8 +38,8 @@ "ts-jest": "~29.1.0", "@types/jest": "~29.5.0", "@rushstack/eslint-patch": "~1.1.4", - "@visactor/vchart": "1.12.1", - "@visactor/vchart-types": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/vchart-types": "2.0.19", "eslint": "~8.18.0", "vite": "^4.5.0", "typescript": "4.9.5", diff --git a/packages/vchart-tt-platform-theme/package.json b/packages/vchart-tt-platform-theme/package.json index 43f0f71..d6687da 100644 --- a/packages/vchart-tt-platform-theme/package.json +++ b/packages/vchart-tt-platform-theme/package.json @@ -65,8 +65,8 @@ "vite-plugin-svgr": "^4.1.0", "node-sass": "^9.0.0", "@babel/runtime": "latest", - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19", "@douyinfe/semi-ui": "^2.51.3", "@douyinfe/semi-icons": "latest", "@douyinfe/semi-icons-lab": "latest", diff --git a/packages/vchart-ve-o-theme/package.json b/packages/vchart-ve-o-theme/package.json index 1a6ca6d..6926d4e 100644 --- a/packages/vchart-ve-o-theme/package.json +++ b/packages/vchart-ve-o-theme/package.json @@ -74,8 +74,8 @@ "react-redux": "^7.2.6", "react-device-detect": "^2.2.2", "redux": "^4.1.2", - "@visactor/vchart": "1.12.1", - "@visactor/react-vchart": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/react-vchart": "2.0.19", "@arco-design/webpack-plugin": "^1.6.0", "@arco-plugins/vite-plugin-svgr": "^0.7.2", "@svgr/webpack": "^5.5.0", diff --git a/share/chart-demo/package.json b/share/chart-demo/package.json index b586357..b87e046 100644 --- a/share/chart-demo/package.json +++ b/share/chart-demo/package.json @@ -25,8 +25,8 @@ "@visactor/vchart": ">=1.10.4" }, "devDependencies": { - "@visactor/vchart": "1.12.1", - "@visactor/vchart-types": "1.12.1", + "@visactor/vchart": "2.0.19", + "@visactor/vchart-types": "2.0.19", "@internal/bundler": "workspace:*", "@internal/eslint-config": "workspace:*", "@internal/ts-config": "workspace:*",