@visactor/vchart-extension 2.0.2 → 2.0.3-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +25393 -0
- package/build/index.min.js +15 -0
- package/cjs/charts/3d/arc-3d.d.ts +11 -0
- package/cjs/charts/3d/arc-3d.js +30 -0
- package/cjs/charts/3d/arc-3d.js.map +1 -0
- package/cjs/charts/3d/enum.d.ts +33 -0
- package/cjs/charts/3d/enum.js +28 -0
- package/cjs/charts/3d/enum.js.map +1 -0
- package/cjs/charts/3d/interface.d.ts +13 -0
- package/cjs/charts/3d/interface.js +6 -0
- package/cjs/charts/3d/interface.js.map +1 -0
- package/cjs/charts/3d/layout.d.ts +21 -0
- package/cjs/charts/3d/layout.js +97 -0
- package/cjs/charts/3d/layout.js.map +1 -0
- package/cjs/charts/3d/plugin.d.ts +12 -0
- package/cjs/charts/3d/plugin.js +35 -0
- package/cjs/charts/3d/plugin.js.map +1 -0
- package/cjs/charts/3d/pyramid-3d.d.ts +11 -0
- package/cjs/charts/3d/pyramid-3d.js +31 -0
- package/cjs/charts/3d/pyramid-3d.js.map +1 -0
- package/cjs/charts/3d/rect-3d.d.ts +13 -0
- package/cjs/charts/3d/rect-3d.js +36 -0
- package/cjs/charts/3d/rect-3d.js.map +1 -0
- package/cjs/charts/3d/util.d.ts +3 -0
- package/cjs/charts/3d/util.js +19 -0
- package/cjs/charts/3d/util.js.map +1 -0
- package/cjs/charts/axis-3d/axis-3d-mixin.d.ts +13 -0
- package/cjs/charts/axis-3d/axis-3d-mixin.js +19 -0
- package/cjs/charts/axis-3d/axis-3d-mixin.js.map +1 -0
- package/cjs/charts/axis-3d/band-axis.d.ts +1 -0
- package/cjs/charts/axis-3d/band-axis.js +16 -0
- package/cjs/charts/axis-3d/band-axis.js.map +1 -0
- package/cjs/charts/axis-3d/index.d.ts +1 -0
- package/cjs/charts/axis-3d/index.js +14 -0
- package/cjs/charts/axis-3d/index.js.map +1 -0
- package/cjs/charts/axis-3d/linear-axis.d.ts +1 -0
- package/cjs/charts/axis-3d/linear-axis.js +15 -0
- package/cjs/charts/axis-3d/linear-axis.js.map +1 -0
- package/cjs/charts/axis-3d/log-axis.d.ts +1 -0
- package/cjs/charts/axis-3d/log-axis.js +16 -0
- package/cjs/charts/axis-3d/log-axis.js.map +1 -0
- package/cjs/charts/axis-3d/symlog-axis.d.ts +1 -0
- package/cjs/charts/axis-3d/symlog-axis.js +16 -0
- package/cjs/charts/axis-3d/symlog-axis.js.map +1 -0
- package/cjs/charts/axis-3d/theme.d.ts +2 -0
- package/cjs/charts/axis-3d/theme.js +10 -0
- package/cjs/charts/axis-3d/theme.js.map +1 -0
- package/cjs/charts/axis-3d/time-axis.d.ts +1 -0
- package/cjs/charts/axis-3d/time-axis.js +16 -0
- package/cjs/charts/axis-3d/time-axis.js.map +1 -0
- package/cjs/charts/axis-3d/util.d.ts +2 -0
- package/cjs/charts/axis-3d/util.js +45 -0
- package/cjs/charts/axis-3d/util.js.map +1 -0
- package/cjs/charts/bar-3d/animation.d.ts +1 -0
- package/cjs/charts/bar-3d/animation.js +17 -0
- package/cjs/charts/bar-3d/animation.js.map +1 -0
- package/cjs/charts/bar-3d/chart-spec-transformer.d.ts +6 -0
- package/cjs/charts/bar-3d/chart-spec-transformer.js +19 -0
- package/cjs/charts/bar-3d/chart-spec-transformer.js.map +1 -0
- package/cjs/charts/bar-3d/chart.d.ts +13 -0
- package/cjs/charts/bar-3d/chart.js +25 -0
- package/cjs/charts/bar-3d/chart.js.map +1 -0
- package/cjs/charts/bar-3d/constant.d.ts +12 -0
- package/cjs/charts/bar-3d/constant.js +15 -0
- package/cjs/charts/bar-3d/constant.js.map +1 -0
- package/cjs/charts/bar-3d/index.d.ts +5 -0
- package/cjs/charts/bar-3d/index.js +23 -0
- package/cjs/charts/bar-3d/index.js.map +1 -0
- package/cjs/charts/bar-3d/interface.d.ts +13 -0
- package/cjs/charts/bar-3d/interface.js +6 -0
- package/cjs/charts/bar-3d/interface.js.map +1 -0
- package/cjs/charts/bar-3d/series-spec-transformer.d.ts +5 -0
- package/cjs/charts/bar-3d/series-spec-transformer.js +16 -0
- package/cjs/charts/bar-3d/series-spec-transformer.js.map +1 -0
- package/cjs/charts/bar-3d/series.d.ts +17 -0
- package/cjs/charts/bar-3d/series.js +28 -0
- package/cjs/charts/bar-3d/series.js.map +1 -0
- package/cjs/charts/bar-3d/theme.d.ts +2 -0
- package/cjs/charts/bar-3d/theme.js +19 -0
- package/cjs/charts/bar-3d/theme.js.map +1 -0
- package/cjs/charts/conversion-funnel/arrow-data-transform.d.ts +24 -0
- package/cjs/charts/conversion-funnel/arrow-data-transform.js +99 -0
- package/cjs/charts/conversion-funnel/arrow-data-transform.js.map +1 -0
- package/cjs/charts/conversion-funnel/constants.d.ts +21 -0
- package/cjs/charts/conversion-funnel/constants.js +23 -0
- package/cjs/charts/conversion-funnel/constants.js.map +1 -0
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.d.ts +6 -0
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +197 -0
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -0
- package/cjs/charts/conversion-funnel/conversion-funnel.d.ts +19 -0
- package/cjs/charts/conversion-funnel/conversion-funnel.js +62 -0
- package/cjs/charts/conversion-funnel/conversion-funnel.js.map +1 -0
- package/cjs/charts/conversion-funnel/index.d.ts +2 -0
- package/cjs/charts/conversion-funnel/index.js +21 -0
- package/cjs/charts/conversion-funnel/index.js.map +1 -0
- package/cjs/charts/conversion-funnel/interface.d.ts +35 -0
- package/cjs/charts/conversion-funnel/interface.js +6 -0
- package/cjs/charts/conversion-funnel/interface.js.map +1 -0
- package/cjs/charts/conversion-funnel/util.d.ts +3 -0
- package/cjs/charts/conversion-funnel/util.js +17 -0
- package/cjs/charts/conversion-funnel/util.js.map +1 -0
- package/cjs/charts/funnel-3d/chart.d.ts +12 -0
- package/cjs/charts/funnel-3d/chart.js +25 -0
- package/cjs/charts/funnel-3d/chart.js.map +1 -0
- package/cjs/charts/funnel-3d/constant.d.ts +82 -0
- package/cjs/charts/funnel-3d/constant.js +31 -0
- package/cjs/charts/funnel-3d/constant.js.map +1 -0
- package/cjs/charts/funnel-3d/index.d.ts +4 -0
- package/cjs/charts/funnel-3d/index.js +22 -0
- package/cjs/charts/funnel-3d/index.js.map +1 -0
- package/cjs/charts/funnel-3d/interface.d.ts +18 -0
- package/cjs/charts/funnel-3d/interface.js +6 -0
- package/cjs/charts/funnel-3d/interface.js.map +1 -0
- package/cjs/charts/funnel-3d/series-spec-transformer.d.ts +5 -0
- package/cjs/charts/funnel-3d/series-spec-transformer.js +16 -0
- package/cjs/charts/funnel-3d/series-spec-transformer.js.map +1 -0
- package/cjs/charts/funnel-3d/series.d.ts +101 -0
- package/cjs/charts/funnel-3d/series.js +83 -0
- package/cjs/charts/funnel-3d/series.js.map +1 -0
- package/cjs/charts/funnel-3d/theme.d.ts +1 -0
- package/cjs/charts/funnel-3d/theme.js +10 -0
- package/cjs/charts/funnel-3d/theme.js.map +1 -0
- package/cjs/charts/histogram-3d/chart.d.ts +12 -0
- package/cjs/charts/histogram-3d/chart.js +31 -0
- package/cjs/charts/histogram-3d/chart.js.map +1 -0
- package/cjs/charts/histogram-3d/index.d.ts +2 -0
- package/cjs/charts/histogram-3d/index.js +21 -0
- package/cjs/charts/histogram-3d/index.js.map +1 -0
- package/cjs/charts/histogram-3d/interface.d.ts +5 -0
- package/cjs/charts/histogram-3d/interface.js +6 -0
- package/cjs/charts/histogram-3d/interface.js.map +1 -0
- package/cjs/charts/image-cloud/image-cloud-transformer.d.ts +6 -0
- package/cjs/charts/image-cloud/image-cloud-transformer.js +18 -0
- package/cjs/charts/image-cloud/image-cloud-transformer.js.map +1 -0
- package/cjs/charts/image-cloud/image-cloud.d.ts +12 -0
- package/cjs/charts/image-cloud/image-cloud.js +24 -0
- package/cjs/charts/image-cloud/image-cloud.js.map +1 -0
- package/cjs/charts/image-cloud/index.d.ts +2 -0
- package/cjs/charts/image-cloud/index.js +21 -0
- package/cjs/charts/image-cloud/index.js.map +1 -0
- package/cjs/charts/image-cloud/interface.d.ts +6 -0
- package/cjs/charts/image-cloud/interface.js +6 -0
- package/cjs/charts/image-cloud/interface.js.map +1 -0
- package/cjs/charts/image-cloud/series/animation.d.ts +23 -0
- package/cjs/charts/image-cloud/series/animation.js +100 -0
- package/cjs/charts/image-cloud/series/animation.js.map +1 -0
- package/cjs/charts/image-cloud/series/constant.d.ts +78 -0
- package/cjs/charts/image-cloud/series/constant.js +25 -0
- package/cjs/charts/image-cloud/series/constant.js.map +1 -0
- package/cjs/charts/image-cloud/series/image-cloud.d.ts +139 -0
- package/cjs/charts/image-cloud/series/image-cloud.js +196 -0
- package/cjs/charts/image-cloud/series/image-cloud.js.map +1 -0
- package/cjs/charts/image-cloud/series/index.d.ts +2 -0
- package/cjs/charts/image-cloud/series/index.js +21 -0
- package/cjs/charts/image-cloud/series/index.js.map +1 -0
- package/cjs/charts/image-cloud/series/interface.d.ts +25 -0
- package/cjs/charts/image-cloud/series/interface.js +6 -0
- package/cjs/charts/image-cloud/series/interface.js.map +1 -0
- package/cjs/charts/image-cloud/series/tooltip-helper.d.ts +10 -0
- package/cjs/charts/image-cloud/series/tooltip-helper.js +30 -0
- package/cjs/charts/image-cloud/series/tooltip-helper.js.map +1 -0
- package/cjs/charts/pictogram/element-highlight-by-graphic-name.d.ts +12 -0
- package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +53 -0
- package/cjs/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -0
- package/cjs/charts/pictogram/element-select-by-graphic-name.d.ts +8 -0
- package/cjs/charts/pictogram/element-select-by-graphic-name.js +31 -0
- package/cjs/charts/pictogram/element-select-by-graphic-name.js.map +1 -0
- package/cjs/charts/pictogram/index.d.ts +6 -0
- package/cjs/charts/pictogram/index.js +23 -0
- package/cjs/charts/pictogram/index.js.map +1 -0
- package/cjs/charts/pictogram/interface.d.ts +6 -0
- package/cjs/charts/pictogram/interface.js +6 -0
- package/cjs/charts/pictogram/interface.js.map +1 -0
- package/cjs/charts/pictogram/pictogram-transformer.d.ts +8 -0
- package/cjs/charts/pictogram/pictogram-transformer.js +24 -0
- package/cjs/charts/pictogram/pictogram-transformer.js.map +1 -0
- package/cjs/charts/pictogram/pictogram.d.ts +12 -0
- package/cjs/charts/pictogram/pictogram.js +25 -0
- package/cjs/charts/pictogram/pictogram.js.map +1 -0
- package/cjs/charts/pictogram/series/constant.d.ts +75 -0
- package/cjs/charts/pictogram/series/constant.js +22 -0
- package/cjs/charts/pictogram/series/constant.js.map +1 -0
- package/cjs/charts/pictogram/series/interface.d.ts +13 -0
- package/cjs/charts/pictogram/series/interface.js +6 -0
- package/cjs/charts/pictogram/series/interface.js.map +1 -0
- package/cjs/charts/pictogram/series/pictogram-transformer.d.ts +4 -0
- package/cjs/charts/pictogram/series/pictogram-transformer.js +23 -0
- package/cjs/charts/pictogram/series/pictogram-transformer.js.map +1 -0
- package/cjs/charts/pictogram/series/pictogram.d.ts +131 -0
- package/cjs/charts/pictogram/series/pictogram.js +296 -0
- package/cjs/charts/pictogram/series/pictogram.js.map +1 -0
- package/cjs/charts/pictogram/series/svg-source.d.ts +7 -0
- package/cjs/charts/pictogram/series/svg-source.js +38 -0
- package/cjs/charts/pictogram/series/svg-source.js.map +1 -0
- package/cjs/charts/pictogram/series/tooltip-helper.d.ts +7 -0
- package/cjs/charts/pictogram/series/tooltip-helper.js +26 -0
- package/cjs/charts/pictogram/series/tooltip-helper.js.map +1 -0
- package/cjs/charts/pictogram/series/transform.d.ts +76 -0
- package/cjs/charts/pictogram/series/transform.js +150 -0
- package/cjs/charts/pictogram/series/transform.js.map +1 -0
- package/cjs/charts/pie-3d/animation.d.ts +1 -0
- package/cjs/charts/pie-3d/animation.js +17 -0
- package/cjs/charts/pie-3d/animation.js.map +1 -0
- package/cjs/charts/pie-3d/chart-spec-transformer.d.ts +6 -0
- package/cjs/charts/pie-3d/chart-spec-transformer.js +18 -0
- package/cjs/charts/pie-3d/chart-spec-transformer.js.map +1 -0
- package/cjs/charts/pie-3d/chart.d.ts +13 -0
- package/cjs/charts/pie-3d/chart.js +25 -0
- package/cjs/charts/pie-3d/chart.js.map +1 -0
- package/cjs/charts/pie-3d/constant.d.ts +72 -0
- package/cjs/charts/pie-3d/constant.js +19 -0
- package/cjs/charts/pie-3d/constant.js.map +1 -0
- package/cjs/charts/pie-3d/index.d.ts +5 -0
- package/cjs/charts/pie-3d/index.js +23 -0
- package/cjs/charts/pie-3d/index.js.map +1 -0
- package/cjs/charts/pie-3d/interface.d.ts +17 -0
- package/cjs/charts/pie-3d/interface.js +6 -0
- package/cjs/charts/pie-3d/interface.js.map +1 -0
- package/cjs/charts/pie-3d/series-spec-transformer.d.ts +5 -0
- package/cjs/charts/pie-3d/series-spec-transformer.js +16 -0
- package/cjs/charts/pie-3d/series-spec-transformer.js.map +1 -0
- package/cjs/charts/pie-3d/series.d.ts +90 -0
- package/cjs/charts/pie-3d/series.js +42 -0
- package/cjs/charts/pie-3d/series.js.map +1 -0
- package/cjs/charts/pie-3d/theme.d.ts +2 -0
- package/cjs/charts/pie-3d/theme.js +19 -0
- package/cjs/charts/pie-3d/theme.js.map +1 -0
- package/cjs/charts/range-column-3d/chart-spec-transformer.d.ts +5 -0
- package/cjs/charts/range-column-3d/chart-spec-transformer.js +19 -0
- package/cjs/charts/range-column-3d/chart-spec-transformer.js.map +1 -0
- package/cjs/charts/range-column-3d/chart.d.ts +13 -0
- package/cjs/charts/range-column-3d/chart.js +31 -0
- package/cjs/charts/range-column-3d/chart.js.map +1 -0
- package/cjs/charts/range-column-3d/constant.d.ts +19 -0
- package/cjs/charts/range-column-3d/constant.js +19 -0
- package/cjs/charts/range-column-3d/constant.js.map +1 -0
- package/cjs/charts/range-column-3d/index.d.ts +5 -0
- package/cjs/charts/range-column-3d/index.js +23 -0
- package/cjs/charts/range-column-3d/index.js.map +1 -0
- package/cjs/charts/range-column-3d/interface.d.ts +8 -0
- package/cjs/charts/range-column-3d/interface.js +6 -0
- package/cjs/charts/range-column-3d/interface.js.map +1 -0
- package/cjs/charts/range-column-3d/series-spec-transformer.d.ts +6 -0
- package/cjs/charts/range-column-3d/series-spec-transformer.js +17 -0
- package/cjs/charts/range-column-3d/series-spec-transformer.js.map +1 -0
- package/cjs/charts/range-column-3d/series.d.ts +30 -0
- package/cjs/charts/range-column-3d/series.js +27 -0
- package/cjs/charts/range-column-3d/series.js.map +1 -0
- package/cjs/charts/ranking-bar/interface.d.ts +45 -0
- package/cjs/charts/ranking-bar/interface.js +6 -0
- package/cjs/charts/ranking-bar/interface.js.map +1 -0
- package/cjs/charts/ranking-bar/ranking-bar-transformer.d.ts +10 -0
- package/cjs/charts/ranking-bar/ranking-bar-transformer.js +291 -0
- package/cjs/charts/ranking-bar/ranking-bar-transformer.js.map +1 -0
- package/cjs/charts/ranking-bar/ranking-bar.d.ts +16 -0
- package/cjs/charts/ranking-bar/ranking-bar.js +34 -0
- package/cjs/charts/ranking-bar/ranking-bar.js.map +1 -0
- package/cjs/charts/ranking-list/constant.d.ts +2 -0
- package/cjs/charts/ranking-list/constant.js +75 -0
- package/cjs/charts/ranking-list/constant.js.map +1 -0
- package/cjs/charts/ranking-list/interface.d.ts +74 -0
- package/cjs/charts/ranking-list/interface.js +6 -0
- package/cjs/charts/ranking-list/interface.js.map +1 -0
- package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +460 -0
- package/cjs/charts/ranking-list/ranking-list-transformer.js +383 -0
- package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -0
- package/cjs/charts/ranking-list/ranking-list.d.ts +16 -0
- package/cjs/charts/ranking-list/ranking-list.js +34 -0
- package/cjs/charts/ranking-list/ranking-list.js.map +1 -0
- package/cjs/charts/ranking-list/utils.d.ts +7 -0
- package/cjs/charts/ranking-list/utils.js +51 -0
- package/cjs/charts/ranking-list/utils.js.map +1 -0
- package/cjs/charts/sequence-analysis/constant.d.ts +3 -0
- package/cjs/charts/sequence-analysis/constant.js +7 -0
- package/cjs/charts/sequence-analysis/constant.js.map +1 -0
- package/cjs/charts/sequence-analysis/interface.d.ts +40 -0
- package/cjs/charts/sequence-analysis/interface.js +6 -0
- package/cjs/charts/sequence-analysis/interface.js.map +1 -0
- package/cjs/charts/sequence-analysis/sequence-analysis-transformer.d.ts +4 -0
- package/cjs/charts/sequence-analysis/sequence-analysis-transformer.js +266 -0
- package/cjs/charts/sequence-analysis/sequence-analysis-transformer.js.map +1 -0
- package/cjs/charts/sequence-analysis/sequence-analysis.d.ts +16 -0
- package/cjs/charts/sequence-analysis/sequence-analysis.js +34 -0
- package/cjs/charts/sequence-analysis/sequence-analysis.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/constant.d.ts +3 -0
- package/cjs/charts/sequence-scatter-kde/constant.js +7 -0
- package/cjs/charts/sequence-scatter-kde/constant.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/interface.d.ts +29 -0
- package/cjs/charts/sequence-scatter-kde/interface.js +6 -0
- package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +142 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js +34 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/utils.d.ts +9 -0
- package/cjs/charts/sequence-scatter-kde/utils.js +42 -0
- package/cjs/charts/sequence-scatter-kde/utils.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/interface.d.ts +59 -0
- package/cjs/charts/sequence-scatter-link/interface.js +6 -0
- package/cjs/charts/sequence-scatter-link/interface.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +328 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js +34 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/constant.d.ts +3 -0
- package/cjs/charts/sequence-scatter-pixel/constant.js +7 -0
- package/cjs/charts/sequence-scatter-pixel/constant.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/interface.d.ts +29 -0
- package/cjs/charts/sequence-scatter-pixel/interface.js +6 -0
- package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +68 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +34 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/utils.d.ts +3 -0
- package/cjs/charts/sequence-scatter-pixel/utils.js +54 -0
- package/cjs/charts/sequence-scatter-pixel/utils.js.map +1 -0
- package/cjs/charts/word-cloud-3d/animation.d.ts +4 -0
- package/cjs/charts/word-cloud-3d/animation.js +24 -0
- package/cjs/charts/word-cloud-3d/animation.js.map +1 -0
- package/cjs/charts/word-cloud-3d/chart-spec-transformer.d.ts +5 -0
- package/cjs/charts/word-cloud-3d/chart-spec-transformer.js +17 -0
- package/cjs/charts/word-cloud-3d/chart-spec-transformer.js.map +1 -0
- package/cjs/charts/word-cloud-3d/chart.d.ts +14 -0
- package/cjs/charts/word-cloud-3d/chart.js +31 -0
- package/cjs/charts/word-cloud-3d/chart.js.map +1 -0
- package/cjs/charts/word-cloud-3d/index.d.ts +4 -0
- package/cjs/charts/word-cloud-3d/index.js +22 -0
- package/cjs/charts/word-cloud-3d/index.js.map +1 -0
- package/cjs/charts/word-cloud-3d/interface.d.ts +22 -0
- package/cjs/charts/word-cloud-3d/interface.js +6 -0
- package/cjs/charts/word-cloud-3d/interface.js.map +1 -0
- package/cjs/charts/word-cloud-3d/series.d.ts +37 -0
- package/cjs/charts/word-cloud-3d/series.js +80 -0
- package/cjs/charts/word-cloud-3d/series.js.map +1 -0
- package/cjs/charts/word-cloud-3d/theme.d.ts +2 -0
- package/cjs/charts/word-cloud-3d/theme.js +14 -0
- package/cjs/charts/word-cloud-3d/theme.js.map +1 -0
- package/cjs/components/bar-link/bar-link.d.ts +7 -0
- package/cjs/components/bar-link/bar-link.js +87 -0
- package/cjs/components/bar-link/bar-link.js.map +1 -0
- package/cjs/components/bar-link/constant.d.ts +1 -0
- package/cjs/components/bar-link/constant.js +6 -0
- package/cjs/components/bar-link/constant.js.map +1 -0
- package/cjs/components/bar-link/index.d.ts +4 -0
- package/cjs/components/bar-link/index.js +49 -0
- package/cjs/components/bar-link/index.js.map +1 -0
- package/cjs/components/bar-link/type.d.ts +27 -0
- package/cjs/components/bar-link/type.js +6 -0
- package/cjs/components/bar-link/type.js.map +1 -0
- package/cjs/components/bar-link/util.d.ts +21 -0
- package/cjs/components/bar-link/util.js +183 -0
- package/cjs/components/bar-link/util.js.map +1 -0
- package/cjs/components/map-label/index.d.ts +2 -0
- package/cjs/components/map-label/index.js +21 -0
- package/cjs/components/map-label/index.js.map +1 -0
- package/cjs/components/map-label/layout.d.ts +23 -0
- package/cjs/components/map-label/layout.js +154 -0
- package/cjs/components/map-label/layout.js.map +1 -0
- package/cjs/components/map-label/map-label-transformer.d.ts +5 -0
- package/cjs/components/map-label/map-label-transformer.js +16 -0
- package/cjs/components/map-label/map-label-transformer.js.map +1 -0
- package/cjs/components/map-label/map-label.d.ts +53 -0
- package/cjs/components/map-label/map-label.js +266 -0
- package/cjs/components/map-label/map-label.js.map +1 -0
- package/cjs/components/map-label/theme.d.ts +2 -0
- package/cjs/components/map-label/theme.js +63 -0
- package/cjs/components/map-label/theme.js.map +1 -0
- package/cjs/components/map-label/type.d.ts +39 -0
- package/cjs/components/map-label/type.js +6 -0
- package/cjs/components/map-label/type.js.map +1 -0
- package/cjs/components/series-break/constant.d.ts +1 -0
- package/cjs/components/series-break/constant.js +6 -0
- package/cjs/components/series-break/constant.js.map +1 -0
- package/cjs/components/series-break/index.d.ts +4 -0
- package/cjs/components/series-break/index.js +49 -0
- package/cjs/components/series-break/index.js.map +1 -0
- package/cjs/components/series-break/series-break.d.ts +7 -0
- package/cjs/components/series-break/series-break.js +118 -0
- package/cjs/components/series-break/series-break.js.map +1 -0
- package/cjs/components/series-break/type.d.ts +14 -0
- package/cjs/components/series-break/type.js +6 -0
- package/cjs/components/series-break/type.js.map +1 -0
- package/cjs/components/series-break/util.d.ts +13 -0
- package/cjs/components/series-break/util.js +248 -0
- package/cjs/components/series-break/util.js.map +1 -0
- package/cjs/components/series-label/constant.d.ts +1 -0
- package/cjs/components/series-label/constant.js +6 -0
- package/cjs/components/series-label/constant.js.map +1 -0
- package/cjs/components/series-label/index.d.ts +3 -0
- package/cjs/components/series-label/index.js +49 -0
- package/cjs/components/series-label/index.js.map +1 -0
- package/cjs/components/series-label/series-label.d.ts +7 -0
- package/cjs/components/series-label/series-label.js +114 -0
- package/cjs/components/series-label/series-label.js.map +1 -0
- package/cjs/components/series-label/type.d.ts +41 -0
- package/cjs/components/series-label/type.js +6 -0
- package/cjs/components/series-label/type.js.map +1 -0
- package/cjs/components/series-label/util.d.ts +33 -0
- package/cjs/components/series-label/util.js +152 -0
- package/cjs/components/series-label/util.js.map +1 -0
- package/cjs/index.d.ts +21 -0
- package/cjs/index.js +40 -0
- package/cjs/index.js.map +1 -0
- package/cjs/type/index.d.ts +1 -0
- package/cjs/type/index.js +21 -0
- package/cjs/type/index.js.map +1 -0
- package/cjs/type/type.d.ts +8 -0
- package/cjs/type/type.js +6 -0
- package/cjs/type/type.js.map +1 -0
- package/cjs/utils/element.d.ts +7 -0
- package/cjs/utils/element.js +21 -0
- package/cjs/utils/element.js.map +1 -0
- package/cjs/utils/math.d.ts +1 -0
- package/cjs/utils/math.js +10 -0
- package/cjs/utils/math.js.map +1 -0
- package/esm/charts/3d/arc-3d.d.ts +11 -0
- package/esm/charts/3d/arc-3d.js +25 -0
- package/esm/charts/3d/arc-3d.js.map +1 -0
- package/esm/charts/3d/enum.d.ts +33 -0
- package/esm/charts/3d/enum.js +36 -0
- package/esm/charts/3d/enum.js.map +1 -0
- package/esm/charts/3d/interface.d.ts +13 -0
- package/esm/charts/3d/interface.js +2 -0
- package/esm/charts/3d/interface.js.map +1 -0
- package/esm/charts/3d/layout.d.ts +21 -0
- package/esm/charts/3d/layout.js +87 -0
- package/esm/charts/3d/layout.js.map +1 -0
- package/esm/charts/3d/plugin.d.ts +12 -0
- package/esm/charts/3d/plugin.js +31 -0
- package/esm/charts/3d/plugin.js.map +1 -0
- package/esm/charts/3d/pyramid-3d.d.ts +11 -0
- package/esm/charts/3d/pyramid-3d.js +26 -0
- package/esm/charts/3d/pyramid-3d.js.map +1 -0
- package/esm/charts/3d/rect-3d.d.ts +13 -0
- package/esm/charts/3d/rect-3d.js +32 -0
- package/esm/charts/3d/rect-3d.js.map +1 -0
- package/esm/charts/3d/util.d.ts +3 -0
- package/esm/charts/3d/util.js +10 -0
- package/esm/charts/3d/util.js.map +1 -0
- package/esm/charts/axis-3d/axis-3d-mixin.d.ts +13 -0
- package/esm/charts/axis-3d/axis-3d-mixin.js +13 -0
- package/esm/charts/axis-3d/axis-3d-mixin.js.map +1 -0
- package/esm/charts/axis-3d/band-axis.d.ts +1 -0
- package/esm/charts/axis-3d/band-axis.js +16 -0
- package/esm/charts/axis-3d/band-axis.js.map +1 -0
- package/esm/charts/axis-3d/index.d.ts +1 -0
- package/esm/charts/axis-3d/index.js +19 -0
- package/esm/charts/axis-3d/index.js.map +1 -0
- package/esm/charts/axis-3d/linear-axis.d.ts +1 -0
- package/esm/charts/axis-3d/linear-axis.js +15 -0
- package/esm/charts/axis-3d/linear-axis.js.map +1 -0
- package/esm/charts/axis-3d/log-axis.d.ts +1 -0
- package/esm/charts/axis-3d/log-axis.js +16 -0
- package/esm/charts/axis-3d/log-axis.js.map +1 -0
- package/esm/charts/axis-3d/symlog-axis.d.ts +1 -0
- package/esm/charts/axis-3d/symlog-axis.js +16 -0
- package/esm/charts/axis-3d/symlog-axis.js.map +1 -0
- package/esm/charts/axis-3d/theme.d.ts +2 -0
- package/esm/charts/axis-3d/theme.js +6 -0
- package/esm/charts/axis-3d/theme.js.map +1 -0
- package/esm/charts/axis-3d/time-axis.d.ts +1 -0
- package/esm/charts/axis-3d/time-axis.js +16 -0
- package/esm/charts/axis-3d/time-axis.js.map +1 -0
- package/esm/charts/axis-3d/util.d.ts +2 -0
- package/esm/charts/axis-3d/util.js +39 -0
- package/esm/charts/axis-3d/util.js.map +1 -0
- package/esm/charts/bar-3d/animation.d.ts +1 -0
- package/esm/charts/bar-3d/animation.js +11 -0
- package/esm/charts/bar-3d/animation.js.map +1 -0
- package/esm/charts/bar-3d/chart-spec-transformer.d.ts +6 -0
- package/esm/charts/bar-3d/chart-spec-transformer.js +11 -0
- package/esm/charts/bar-3d/chart-spec-transformer.js.map +1 -0
- package/esm/charts/bar-3d/chart.d.ts +13 -0
- package/esm/charts/bar-3d/chart.js +25 -0
- package/esm/charts/bar-3d/chart.js.map +1 -0
- package/esm/charts/bar-3d/constant.d.ts +12 -0
- package/esm/charts/bar-3d/constant.js +11 -0
- package/esm/charts/bar-3d/constant.js.map +1 -0
- package/esm/charts/bar-3d/index.d.ts +5 -0
- package/esm/charts/bar-3d/index.js +10 -0
- package/esm/charts/bar-3d/index.js.map +1 -0
- package/esm/charts/bar-3d/interface.d.ts +13 -0
- package/esm/charts/bar-3d/interface.js +2 -0
- package/esm/charts/bar-3d/interface.js.map +1 -0
- package/esm/charts/bar-3d/series-spec-transformer.d.ts +5 -0
- package/esm/charts/bar-3d/series-spec-transformer.js +8 -0
- package/esm/charts/bar-3d/series-spec-transformer.js.map +1 -0
- package/esm/charts/bar-3d/series.d.ts +17 -0
- package/esm/charts/bar-3d/series.js +30 -0
- package/esm/charts/bar-3d/series.js.map +1 -0
- package/esm/charts/bar-3d/theme.d.ts +2 -0
- package/esm/charts/bar-3d/theme.js +15 -0
- package/esm/charts/bar-3d/theme.js.map +1 -0
- package/esm/charts/conversion-funnel/arrow-data-transform.d.ts +24 -0
- package/esm/charts/conversion-funnel/arrow-data-transform.js +94 -0
- package/esm/charts/conversion-funnel/arrow-data-transform.js.map +1 -0
- package/esm/charts/conversion-funnel/constants.d.ts +21 -0
- package/esm/charts/conversion-funnel/constants.js +24 -0
- package/esm/charts/conversion-funnel/constants.js.map +1 -0
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.d.ts +6 -0
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +193 -0
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -0
- package/esm/charts/conversion-funnel/conversion-funnel.d.ts +19 -0
- package/esm/charts/conversion-funnel/conversion-funnel.js +57 -0
- package/esm/charts/conversion-funnel/conversion-funnel.js.map +1 -0
- package/esm/charts/conversion-funnel/index.d.ts +2 -0
- package/esm/charts/conversion-funnel/index.js +4 -0
- package/esm/charts/conversion-funnel/index.js.map +1 -0
- package/esm/charts/conversion-funnel/interface.d.ts +35 -0
- package/esm/charts/conversion-funnel/interface.js +2 -0
- package/esm/charts/conversion-funnel/interface.js.map +1 -0
- package/esm/charts/conversion-funnel/util.d.ts +3 -0
- package/esm/charts/conversion-funnel/util.js +10 -0
- package/esm/charts/conversion-funnel/util.js.map +1 -0
- package/esm/charts/funnel-3d/chart.d.ts +12 -0
- package/esm/charts/funnel-3d/chart.js +25 -0
- package/esm/charts/funnel-3d/chart.js.map +1 -0
- package/esm/charts/funnel-3d/constant.d.ts +82 -0
- package/esm/charts/funnel-3d/constant.js +25 -0
- package/esm/charts/funnel-3d/constant.js.map +1 -0
- package/esm/charts/funnel-3d/index.d.ts +4 -0
- package/esm/charts/funnel-3d/index.js +8 -0
- package/esm/charts/funnel-3d/index.js.map +1 -0
- package/esm/charts/funnel-3d/interface.d.ts +18 -0
- package/esm/charts/funnel-3d/interface.js +2 -0
- package/esm/charts/funnel-3d/interface.js.map +1 -0
- package/esm/charts/funnel-3d/series-spec-transformer.d.ts +5 -0
- package/esm/charts/funnel-3d/series-spec-transformer.js +8 -0
- package/esm/charts/funnel-3d/series-spec-transformer.js.map +1 -0
- package/esm/charts/funnel-3d/series.d.ts +101 -0
- package/esm/charts/funnel-3d/series.js +84 -0
- package/esm/charts/funnel-3d/series.js.map +1 -0
- package/esm/charts/funnel-3d/theme.d.ts +1 -0
- package/esm/charts/funnel-3d/theme.js +4 -0
- package/esm/charts/funnel-3d/theme.js.map +1 -0
- package/esm/charts/histogram-3d/chart.d.ts +12 -0
- package/esm/charts/histogram-3d/chart.js +30 -0
- package/esm/charts/histogram-3d/chart.js.map +1 -0
- package/esm/charts/histogram-3d/index.d.ts +2 -0
- package/esm/charts/histogram-3d/index.js +4 -0
- package/esm/charts/histogram-3d/index.js.map +1 -0
- package/esm/charts/histogram-3d/interface.d.ts +5 -0
- package/esm/charts/histogram-3d/interface.js +2 -0
- package/esm/charts/histogram-3d/interface.js.map +1 -0
- package/esm/charts/image-cloud/image-cloud-transformer.d.ts +6 -0
- package/esm/charts/image-cloud/image-cloud-transformer.js +10 -0
- package/esm/charts/image-cloud/image-cloud-transformer.js.map +1 -0
- package/esm/charts/image-cloud/image-cloud.d.ts +12 -0
- package/esm/charts/image-cloud/image-cloud.js +22 -0
- package/esm/charts/image-cloud/image-cloud.js.map +1 -0
- package/esm/charts/image-cloud/index.d.ts +2 -0
- package/esm/charts/image-cloud/index.js +4 -0
- package/esm/charts/image-cloud/index.js.map +1 -0
- package/esm/charts/image-cloud/interface.d.ts +6 -0
- package/esm/charts/image-cloud/interface.js +2 -0
- package/esm/charts/image-cloud/interface.js.map +1 -0
- package/esm/charts/image-cloud/series/animation.d.ts +23 -0
- package/esm/charts/image-cloud/series/animation.js +94 -0
- package/esm/charts/image-cloud/series/animation.js.map +1 -0
- package/esm/charts/image-cloud/series/constant.d.ts +78 -0
- package/esm/charts/image-cloud/series/constant.js +23 -0
- package/esm/charts/image-cloud/series/constant.js.map +1 -0
- package/esm/charts/image-cloud/series/image-cloud.d.ts +139 -0
- package/esm/charts/image-cloud/series/image-cloud.js +198 -0
- package/esm/charts/image-cloud/series/image-cloud.js.map +1 -0
- package/esm/charts/image-cloud/series/index.d.ts +2 -0
- package/esm/charts/image-cloud/series/index.js +4 -0
- package/esm/charts/image-cloud/series/index.js.map +1 -0
- package/esm/charts/image-cloud/series/interface.d.ts +25 -0
- package/esm/charts/image-cloud/series/interface.js +2 -0
- package/esm/charts/image-cloud/series/interface.js.map +1 -0
- package/esm/charts/image-cloud/series/tooltip-helper.d.ts +10 -0
- package/esm/charts/image-cloud/series/tooltip-helper.js +22 -0
- package/esm/charts/image-cloud/series/tooltip-helper.js.map +1 -0
- package/esm/charts/pictogram/element-highlight-by-graphic-name.d.ts +12 -0
- package/esm/charts/pictogram/element-highlight-by-graphic-name.js +49 -0
- package/esm/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -0
- package/esm/charts/pictogram/element-select-by-graphic-name.d.ts +8 -0
- package/esm/charts/pictogram/element-select-by-graphic-name.js +25 -0
- package/esm/charts/pictogram/element-select-by-graphic-name.js.map +1 -0
- package/esm/charts/pictogram/index.d.ts +6 -0
- package/esm/charts/pictogram/index.js +12 -0
- package/esm/charts/pictogram/index.js.map +1 -0
- package/esm/charts/pictogram/interface.d.ts +6 -0
- package/esm/charts/pictogram/interface.js +2 -0
- package/esm/charts/pictogram/interface.js.map +1 -0
- package/esm/charts/pictogram/pictogram-transformer.d.ts +8 -0
- package/esm/charts/pictogram/pictogram-transformer.js +18 -0
- package/esm/charts/pictogram/pictogram-transformer.js.map +1 -0
- package/esm/charts/pictogram/pictogram.d.ts +12 -0
- package/esm/charts/pictogram/pictogram.js +22 -0
- package/esm/charts/pictogram/pictogram.js.map +1 -0
- package/esm/charts/pictogram/series/constant.d.ts +75 -0
- package/esm/charts/pictogram/series/constant.js +23 -0
- package/esm/charts/pictogram/series/constant.js.map +1 -0
- package/esm/charts/pictogram/series/interface.d.ts +13 -0
- package/esm/charts/pictogram/series/interface.js +2 -0
- package/esm/charts/pictogram/series/interface.js.map +1 -0
- package/esm/charts/pictogram/series/pictogram-transformer.d.ts +4 -0
- package/esm/charts/pictogram/series/pictogram-transformer.js +19 -0
- package/esm/charts/pictogram/series/pictogram-transformer.js.map +1 -0
- package/esm/charts/pictogram/series/pictogram.d.ts +131 -0
- package/esm/charts/pictogram/series/pictogram.js +305 -0
- package/esm/charts/pictogram/series/pictogram.js.map +1 -0
- package/esm/charts/pictogram/series/svg-source.d.ts +7 -0
- package/esm/charts/pictogram/series/svg-source.js +33 -0
- package/esm/charts/pictogram/series/svg-source.js.map +1 -0
- package/esm/charts/pictogram/series/tooltip-helper.d.ts +7 -0
- package/esm/charts/pictogram/series/tooltip-helper.js +18 -0
- package/esm/charts/pictogram/series/tooltip-helper.js.map +1 -0
- package/esm/charts/pictogram/series/transform.d.ts +76 -0
- package/esm/charts/pictogram/series/transform.js +144 -0
- package/esm/charts/pictogram/series/transform.js.map +1 -0
- package/esm/charts/pie-3d/animation.d.ts +1 -0
- package/esm/charts/pie-3d/animation.js +11 -0
- package/esm/charts/pie-3d/animation.js.map +1 -0
- package/esm/charts/pie-3d/chart-spec-transformer.d.ts +6 -0
- package/esm/charts/pie-3d/chart-spec-transformer.js +10 -0
- package/esm/charts/pie-3d/chart-spec-transformer.js.map +1 -0
- package/esm/charts/pie-3d/chart.d.ts +13 -0
- package/esm/charts/pie-3d/chart.js +26 -0
- package/esm/charts/pie-3d/chart.js.map +1 -0
- package/esm/charts/pie-3d/constant.d.ts +72 -0
- package/esm/charts/pie-3d/constant.js +13 -0
- package/esm/charts/pie-3d/constant.js.map +1 -0
- package/esm/charts/pie-3d/index.d.ts +5 -0
- package/esm/charts/pie-3d/index.js +10 -0
- package/esm/charts/pie-3d/index.js.map +1 -0
- package/esm/charts/pie-3d/interface.d.ts +17 -0
- package/esm/charts/pie-3d/interface.js +2 -0
- package/esm/charts/pie-3d/interface.js.map +1 -0
- package/esm/charts/pie-3d/series-spec-transformer.d.ts +5 -0
- package/esm/charts/pie-3d/series-spec-transformer.js +8 -0
- package/esm/charts/pie-3d/series-spec-transformer.js.map +1 -0
- package/esm/charts/pie-3d/series.d.ts +90 -0
- package/esm/charts/pie-3d/series.js +45 -0
- package/esm/charts/pie-3d/series.js.map +1 -0
- package/esm/charts/pie-3d/theme.d.ts +2 -0
- package/esm/charts/pie-3d/theme.js +15 -0
- package/esm/charts/pie-3d/theme.js.map +1 -0
- package/esm/charts/range-column-3d/chart-spec-transformer.d.ts +5 -0
- package/esm/charts/range-column-3d/chart-spec-transformer.js +11 -0
- package/esm/charts/range-column-3d/chart-spec-transformer.js.map +1 -0
- package/esm/charts/range-column-3d/chart.d.ts +13 -0
- package/esm/charts/range-column-3d/chart.js +32 -0
- package/esm/charts/range-column-3d/chart.js.map +1 -0
- package/esm/charts/range-column-3d/constant.d.ts +19 -0
- package/esm/charts/range-column-3d/constant.js +13 -0
- package/esm/charts/range-column-3d/constant.js.map +1 -0
- package/esm/charts/range-column-3d/index.d.ts +5 -0
- package/esm/charts/range-column-3d/index.js +10 -0
- package/esm/charts/range-column-3d/index.js.map +1 -0
- package/esm/charts/range-column-3d/interface.d.ts +8 -0
- package/esm/charts/range-column-3d/interface.js +2 -0
- package/esm/charts/range-column-3d/interface.js.map +1 -0
- package/esm/charts/range-column-3d/series-spec-transformer.d.ts +6 -0
- package/esm/charts/range-column-3d/series-spec-transformer.js +9 -0
- package/esm/charts/range-column-3d/series-spec-transformer.js.map +1 -0
- package/esm/charts/range-column-3d/series.d.ts +30 -0
- package/esm/charts/range-column-3d/series.js +24 -0
- package/esm/charts/range-column-3d/series.js.map +1 -0
- package/esm/charts/ranking-bar/interface.d.ts +45 -0
- package/esm/charts/ranking-bar/interface.js +2 -0
- package/esm/charts/ranking-bar/interface.js.map +1 -0
- package/esm/charts/ranking-bar/ranking-bar-transformer.d.ts +10 -0
- package/esm/charts/ranking-bar/ranking-bar-transformer.js +285 -0
- package/esm/charts/ranking-bar/ranking-bar-transformer.js.map +1 -0
- package/esm/charts/ranking-bar/ranking-bar.d.ts +16 -0
- package/esm/charts/ranking-bar/ranking-bar.js +27 -0
- package/esm/charts/ranking-bar/ranking-bar.js.map +1 -0
- package/esm/charts/ranking-list/constant.d.ts +2 -0
- package/esm/charts/ranking-list/constant.js +69 -0
- package/esm/charts/ranking-list/constant.js.map +1 -0
- package/esm/charts/ranking-list/interface.d.ts +74 -0
- package/esm/charts/ranking-list/interface.js +2 -0
- package/esm/charts/ranking-list/interface.js.map +1 -0
- package/esm/charts/ranking-list/ranking-list-transformer.d.ts +460 -0
- package/esm/charts/ranking-list/ranking-list-transformer.js +383 -0
- package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -0
- package/esm/charts/ranking-list/ranking-list.d.ts +16 -0
- package/esm/charts/ranking-list/ranking-list.js +27 -0
- package/esm/charts/ranking-list/ranking-list.js.map +1 -0
- package/esm/charts/ranking-list/utils.d.ts +7 -0
- package/esm/charts/ranking-list/utils.js +41 -0
- package/esm/charts/ranking-list/utils.js.map +1 -0
- package/esm/charts/sequence-analysis/constant.d.ts +3 -0
- package/esm/charts/sequence-analysis/constant.js +6 -0
- package/esm/charts/sequence-analysis/constant.js.map +1 -0
- package/esm/charts/sequence-analysis/interface.d.ts +40 -0
- package/esm/charts/sequence-analysis/interface.js +2 -0
- package/esm/charts/sequence-analysis/interface.js.map +1 -0
- package/esm/charts/sequence-analysis/sequence-analysis-transformer.d.ts +4 -0
- package/esm/charts/sequence-analysis/sequence-analysis-transformer.js +258 -0
- package/esm/charts/sequence-analysis/sequence-analysis-transformer.js.map +1 -0
- package/esm/charts/sequence-analysis/sequence-analysis.d.ts +16 -0
- package/esm/charts/sequence-analysis/sequence-analysis.js +28 -0
- package/esm/charts/sequence-analysis/sequence-analysis.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/constant.d.ts +3 -0
- package/esm/charts/sequence-scatter-kde/constant.js +6 -0
- package/esm/charts/sequence-scatter-kde/constant.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/interface.d.ts +29 -0
- package/esm/charts/sequence-scatter-kde/interface.js +2 -0
- package/esm/charts/sequence-scatter-kde/interface.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +137 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js +28 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/utils.d.ts +9 -0
- package/esm/charts/sequence-scatter-kde/utils.js +34 -0
- package/esm/charts/sequence-scatter-kde/utils.js.map +1 -0
- package/esm/charts/sequence-scatter-link/interface.d.ts +59 -0
- package/esm/charts/sequence-scatter-link/interface.js +2 -0
- package/esm/charts/sequence-scatter-link/interface.js.map +1 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +321 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.js +28 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/constant.d.ts +3 -0
- package/esm/charts/sequence-scatter-pixel/constant.js +6 -0
- package/esm/charts/sequence-scatter-pixel/constant.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/interface.d.ts +29 -0
- package/esm/charts/sequence-scatter-pixel/interface.js +2 -0
- package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +64 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +28 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/utils.d.ts +3 -0
- package/esm/charts/sequence-scatter-pixel/utils.js +46 -0
- package/esm/charts/sequence-scatter-pixel/utils.js.map +1 -0
- package/esm/charts/word-cloud-3d/animation.d.ts +4 -0
- package/esm/charts/word-cloud-3d/animation.js +18 -0
- package/esm/charts/word-cloud-3d/animation.js.map +1 -0
- package/esm/charts/word-cloud-3d/chart-spec-transformer.d.ts +5 -0
- package/esm/charts/word-cloud-3d/chart-spec-transformer.js +9 -0
- package/esm/charts/word-cloud-3d/chart-spec-transformer.js.map +1 -0
- package/esm/charts/word-cloud-3d/chart.d.ts +14 -0
- package/esm/charts/word-cloud-3d/chart.js +29 -0
- package/esm/charts/word-cloud-3d/chart.js.map +1 -0
- package/esm/charts/word-cloud-3d/index.d.ts +4 -0
- package/esm/charts/word-cloud-3d/index.js +8 -0
- package/esm/charts/word-cloud-3d/index.js.map +1 -0
- package/esm/charts/word-cloud-3d/interface.d.ts +22 -0
- package/esm/charts/word-cloud-3d/interface.js +2 -0
- package/esm/charts/word-cloud-3d/interface.js.map +1 -0
- package/esm/charts/word-cloud-3d/series.d.ts +37 -0
- package/esm/charts/word-cloud-3d/series.js +74 -0
- package/esm/charts/word-cloud-3d/series.js.map +1 -0
- package/esm/charts/word-cloud-3d/theme.d.ts +2 -0
- package/esm/charts/word-cloud-3d/theme.js +10 -0
- package/esm/charts/word-cloud-3d/theme.js.map +1 -0
- package/esm/components/bar-link/bar-link.d.ts +7 -0
- package/esm/components/bar-link/bar-link.js +85 -0
- package/esm/components/bar-link/bar-link.js.map +1 -0
- package/esm/components/bar-link/constant.d.ts +1 -0
- package/esm/components/bar-link/constant.js +2 -0
- package/esm/components/bar-link/constant.js.map +1 -0
- package/esm/components/bar-link/index.d.ts +4 -0
- package/esm/components/bar-link/index.js +8 -0
- package/esm/components/bar-link/index.js.map +1 -0
- package/esm/components/bar-link/type.d.ts +27 -0
- package/esm/components/bar-link/type.js +2 -0
- package/esm/components/bar-link/type.js.map +1 -0
- package/esm/components/bar-link/util.d.ts +21 -0
- package/esm/components/bar-link/util.js +177 -0
- package/esm/components/bar-link/util.js.map +1 -0
- package/esm/components/map-label/index.d.ts +2 -0
- package/esm/components/map-label/index.js +4 -0
- package/esm/components/map-label/index.js.map +1 -0
- package/esm/components/map-label/layout.d.ts +23 -0
- package/esm/components/map-label/layout.js +143 -0
- package/esm/components/map-label/layout.js.map +1 -0
- package/esm/components/map-label/map-label-transformer.d.ts +5 -0
- package/esm/components/map-label/map-label-transformer.js +10 -0
- package/esm/components/map-label/map-label-transformer.js.map +1 -0
- package/esm/components/map-label/map-label.d.ts +53 -0
- package/esm/components/map-label/map-label.js +265 -0
- package/esm/components/map-label/map-label.js.map +1 -0
- package/esm/components/map-label/theme.d.ts +2 -0
- package/esm/components/map-label/theme.js +57 -0
- package/esm/components/map-label/theme.js.map +1 -0
- package/esm/components/map-label/type.d.ts +39 -0
- package/esm/components/map-label/type.js +2 -0
- package/esm/components/map-label/type.js.map +1 -0
- package/esm/components/series-break/constant.d.ts +1 -0
- package/esm/components/series-break/constant.js +2 -0
- package/esm/components/series-break/constant.js.map +1 -0
- package/esm/components/series-break/index.d.ts +4 -0
- package/esm/components/series-break/index.js +8 -0
- package/esm/components/series-break/index.js.map +1 -0
- package/esm/components/series-break/series-break.d.ts +7 -0
- package/esm/components/series-break/series-break.js +115 -0
- package/esm/components/series-break/series-break.js.map +1 -0
- package/esm/components/series-break/type.d.ts +14 -0
- package/esm/components/series-break/type.js +2 -0
- package/esm/components/series-break/type.js.map +1 -0
- package/esm/components/series-break/util.d.ts +13 -0
- package/esm/components/series-break/util.js +244 -0
- package/esm/components/series-break/util.js.map +1 -0
- package/esm/components/series-label/constant.d.ts +1 -0
- package/esm/components/series-label/constant.js +2 -0
- package/esm/components/series-label/constant.js.map +1 -0
- package/esm/components/series-label/index.d.ts +3 -0
- package/esm/components/series-label/index.js +6 -0
- package/esm/components/series-label/index.js.map +1 -0
- package/esm/components/series-label/series-label.d.ts +7 -0
- package/esm/components/series-label/series-label.js +110 -0
- package/esm/components/series-label/series-label.js.map +1 -0
- package/esm/components/series-label/type.d.ts +41 -0
- package/esm/components/series-label/type.js +2 -0
- package/esm/components/series-label/type.js.map +1 -0
- package/esm/components/series-label/util.d.ts +33 -0
- package/esm/components/series-label/util.js +144 -0
- package/esm/components/series-label/util.js.map +1 -0
- package/esm/index.d.ts +21 -0
- package/esm/index.js +41 -0
- package/esm/index.js.map +1 -0
- package/esm/type/index.d.ts +1 -0
- package/esm/type/index.js +2 -0
- package/esm/type/index.js.map +1 -0
- package/esm/type/type.d.ts +8 -0
- package/esm/type/type.js +2 -0
- package/esm/type/type.js.map +1 -0
- package/esm/utils/element.d.ts +7 -0
- package/esm/utils/element.js +15 -0
- package/esm/utils/element.js.map +1 -0
- package/esm/utils/math.d.ts +1 -0
- package/esm/utils/math.js +4 -0
- package/esm/utils/math.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.candidatesByOrient = exports.placeRectByOrient = exports.layoutOuter2 = exports.layoutOuter = exports.layoutByPosition = exports.bound = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils");
|
|
8
|
+
|
|
9
|
+
function overlap(a, b, sep = 0) {
|
|
10
|
+
return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function bound(rect) {
|
|
14
|
+
return {
|
|
15
|
+
x1: rect.x,
|
|
16
|
+
x2: rect.x + rect.width,
|
|
17
|
+
y1: rect.y,
|
|
18
|
+
y2: rect.y + rect.height
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function toRect(bound) {
|
|
23
|
+
return {
|
|
24
|
+
x: bound.x1,
|
|
25
|
+
y: bound.y1,
|
|
26
|
+
width: bound.x2 - bound.x1,
|
|
27
|
+
height: bound.y2 - bound.y1
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function layoutByPosition(pairs) {
|
|
32
|
+
var _a;
|
|
33
|
+
if (!pairs || 0 === pairs.length) return [];
|
|
34
|
+
if (1 === pairs.length) return [ pairs[0].rect ];
|
|
35
|
+
const _pairs = pairs.map((pair => {
|
|
36
|
+
var _a;
|
|
37
|
+
return Object.assign(Object.assign({}, pair), {
|
|
38
|
+
bound: bound(pair.rect),
|
|
39
|
+
anchorCandidates: candidatesByOrient(null !== (_a = pair.anchors) && void 0 !== _a ? _a : [], pair.point, pair.rect, pair.offset)
|
|
40
|
+
});
|
|
41
|
+
})), resultBound = [];
|
|
42
|
+
resultBound.push(_pairs[0].bound);
|
|
43
|
+
for (let i = 1; i <= _pairs.length - 1; i++) {
|
|
44
|
+
const curPair = _pairs[i], curBound = curPair.bound;
|
|
45
|
+
let isOverlap = resultBound.some((r => overlap(r, curBound)));
|
|
46
|
+
if (curPair.anchorCandidates) if (isOverlap && (null === (_a = curPair.anchorCandidates) || void 0 === _a ? void 0 : _a.length) > 0) {
|
|
47
|
+
for (let j = 0; j < curPair.anchorCandidates.length; j++) {
|
|
48
|
+
const anchor = curPair.anchorCandidates[j], newBound = {
|
|
49
|
+
x1: anchor.x,
|
|
50
|
+
y1: anchor.y,
|
|
51
|
+
x2: anchor.x + curBound.x2 - curBound.x1,
|
|
52
|
+
y2: anchor.y + curBound.y2 - curBound.y1,
|
|
53
|
+
anchor: anchor
|
|
54
|
+
};
|
|
55
|
+
if (!resultBound.some((r => overlap(r, newBound)))) {
|
|
56
|
+
resultBound.push(newBound), isOverlap = !1;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
isOverlap && resultBound.push(curPair.bound);
|
|
61
|
+
} else resultBound.push(curPair.bound);
|
|
62
|
+
}
|
|
63
|
+
return resultBound.map((bound => toRect(bound)));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function layoutOuter(pairs, features, dataToPosition) {
|
|
67
|
+
const _points = pairs.map((rect => rect.pointCoord)), {x1: x1, x2: x2, y1: y1, y2: y2} = (0,
|
|
68
|
+
vutils_1.getAABBFromPoints)(_points), centerPosition = dataToPosition([ (x1 + x2) / 2, (y1 + y2) / 2 ]);
|
|
69
|
+
if (!centerPosition) return [];
|
|
70
|
+
return layoutByPosition(pairs.map((pair => {
|
|
71
|
+
const rect = pair.rect, targetPoint = isPointWithinFeatures(features, pair.pointCoord) ? dataToPosition(nearestPoint(features, [ pair.pointCoord.x, pair.pointCoord.y ], uniformDegree(lineDegree(pair.point, centerPosition)))) : pair.point;
|
|
72
|
+
targetPoint && (rect.x = targetPoint.x, rect.y = targetPoint.y);
|
|
73
|
+
const degree = uniformDegree(lineDegree(pair.point, centerPosition));
|
|
74
|
+
let position;
|
|
75
|
+
const anchors = [];
|
|
76
|
+
return degree >= -45 && degree < 45 ? (position = "top", anchors.push("left", "right")) : degree >= 45 && degree < 135 ? position = "right" : degree >= -135 && degree < -45 ? (position = "left",
|
|
77
|
+
anchors.push("left")) : (position = "bottom", anchors.push("left", "right")), pair.anchors = anchors,
|
|
78
|
+
pair.offset = 20, pair.rect = placeRectByOrient(pair.rect, position, 0), pair;
|
|
79
|
+
})));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function layoutOuter2(pairs, features, dataToPosition) {
|
|
83
|
+
let x = 0, y = 0;
|
|
84
|
+
for (let i = 0; i < pairs.length; i++) x += pairs[i].pointCoord.x, y += pairs[i].pointCoord.y;
|
|
85
|
+
x /= pairs.length, y /= pairs.length;
|
|
86
|
+
const centerPosition = dataToPosition([ x, y ]);
|
|
87
|
+
if (!centerPosition) return [];
|
|
88
|
+
const count = pairs.length;
|
|
89
|
+
pairs.sort(((a, b) => lineDegree(centerPosition, a.point) - lineDegree(centerPosition, b.point)));
|
|
90
|
+
return layoutByPosition(pairs.map(((pair, index) => {
|
|
91
|
+
let degree = 360 / count * index;
|
|
92
|
+
degree = uniformDegree((degree + lineDegree(centerPosition, pair.point)) / 2);
|
|
93
|
+
const targetPoint = isPointWithinFeatures(features, pair.pointCoord) ? dataToPosition(nearestPoint(features, [ pair.pointCoord.x, pair.pointCoord.y ], degree)) : pair.point;
|
|
94
|
+
let position;
|
|
95
|
+
targetPoint && (pair.rect.x = targetPoint.x, pair.rect.y = targetPoint.y);
|
|
96
|
+
const anchors = [];
|
|
97
|
+
return degree >= -45 && degree < 45 ? (position = "top", anchors.push("left", "right")) : degree >= 45 && degree < 135 ? position = "right" : degree >= -135 && degree < -45 ? (position = "left",
|
|
98
|
+
anchors.push("left")) : (position = "bottom", anchors.push("left", "right")), pair.anchors = anchors,
|
|
99
|
+
pair.offset = 20, pair.rect = placeRectByOrient(pair.rect, position, 0), pair;
|
|
100
|
+
})).sort(((a, b) => a.index - b.index)));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function uniformDegree(degree) {
|
|
104
|
+
return degree > 180 ? degree - 360 : degree;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function lineDegree(start, end) {
|
|
108
|
+
return 180 * Math.atan2(start.y - end.y, start.x - end.x) / Math.PI + 90;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function nearestPoint(features, origin, bearing, distance = 200) {
|
|
112
|
+
const count = 5621 / distance;
|
|
113
|
+
let curOrigin = origin;
|
|
114
|
+
for (let i = 1; i <= count; i++) {
|
|
115
|
+
const dest = (0, vutils_1.destination)(curOrigin, distance, bearing);
|
|
116
|
+
if (!isPointWithinFeatures(features, dest)) return [ dest.x, dest.y ];
|
|
117
|
+
curOrigin = [ dest.x, dest.y ];
|
|
118
|
+
}
|
|
119
|
+
return origin;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function isPointWithinFeatures(features, p) {
|
|
123
|
+
for (let i = 0; i < features.length; i++) {
|
|
124
|
+
if ((0, vutils_1.isPointInPolygon)(p, features[i])) return !0;
|
|
125
|
+
}
|
|
126
|
+
return !1;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function placeRectByOrient(rect, position, offset = 0) {
|
|
130
|
+
const result = Object.assign({}, rect);
|
|
131
|
+
return "top" === position ? (result.x -= rect.width / 2, result.y -= offset + rect.height / 2) : "bottom" === position ? (result.x -= rect.width / 2,
|
|
132
|
+
result.y += offset - rect.height / 2) : "left" === position ? (result.x -= offset + rect.width,
|
|
133
|
+
result.y -= rect.height / 2) : "right" === position && (result.x += offset, result.y -= rect.height / 2),
|
|
134
|
+
result;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function candidatesByOrient(positions, anchor, rect, offset = 0) {
|
|
138
|
+
const candidates = [];
|
|
139
|
+
return positions.forEach((p => {
|
|
140
|
+
const {x: x, y: y} = placeRectByOrient(Object.assign(Object.assign({}, anchor), {
|
|
141
|
+
width: rect.width,
|
|
142
|
+
height: rect.height
|
|
143
|
+
}), p, offset);
|
|
144
|
+
candidates.push({
|
|
145
|
+
x: x,
|
|
146
|
+
y: y
|
|
147
|
+
});
|
|
148
|
+
})), candidates;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
exports.bound = bound, exports.layoutByPosition = layoutByPosition, exports.layoutOuter = layoutOuter,
|
|
152
|
+
exports.layoutOuter2 = layoutOuter2, exports.placeRectByOrient = placeRectByOrient,
|
|
153
|
+
exports.candidatesByOrient = candidatesByOrient;
|
|
154
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/map-label/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { Feature } from '@visactor/vutils';\nimport { isPointInPolygon, destination, getAABBFromPoints } from '@visactor/vutils';\nimport type { IRect, IOrientType, IPoint } from '@visactor/vchart';\n\ntype IBound = {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n};\nexport interface IPairInfo {\n /** 矩形信息 */\n rect: IRect;\n /** 对应点的画布坐标 */\n point: IPoint;\n /** 对应点的经纬度坐标 */\n pointCoord?: IPoint;\n /** 基于锚点的可放置位置 */\n anchors?: IOrientType[];\n /** 距离锚点的位置偏移量 */\n offset?: number;\n /** 原始顺序 */\n index: number;\n}\n\nfunction overlap<T extends IBound>(a: T, b: T, sep = 0) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport function bound(rect: IRect): IBound {\n return {\n x1: rect.x,\n x2: rect.x + rect.width,\n y1: rect.y,\n y2: rect.y + rect.height\n };\n}\n\nfunction toRect(bound: IBound): IRect {\n return {\n x: bound.x1,\n y: bound.y1,\n width: bound.x2 - bound.x1,\n height: bound.y2 - bound.y1\n };\n}\n\n/**\n * 根据可选位置进行躲避布局\n * @param pairs\n * @returns\n */\nexport function layoutByPosition(pairs: IPairInfo[]): IRect[] {\n if (!pairs || pairs.length === 0) {\n return [];\n }\n\n // 只有一个无需布局\n if (pairs.length === 1) {\n return [pairs[0].rect];\n }\n\n const _pairs = pairs.map(pair => {\n return {\n ...pair,\n bound: bound(pair.rect),\n anchorCandidates: candidatesByOrient(pair.anchors ?? [], pair.point!, pair.rect, pair.offset)\n };\n });\n\n const resultBound: IBound[] = [];\n // 默认布局第一个\n resultBound.push(_pairs[0].bound);\n\n for (let i = 1; i <= _pairs.length - 1; i++) {\n const curPair = _pairs[i];\n const curBound = curPair.bound;\n // 遍历检测\n let isOverlap = resultBound.some(r => overlap(r, curBound));\n if (!curPair.anchorCandidates) {\n continue;\n }\n if (isOverlap && curPair.anchorCandidates?.length > 0) {\n for (let j = 0; j < curPair.anchorCandidates.length; j++) {\n const anchor = curPair.anchorCandidates[j];\n const newBound = {\n x1: anchor.x,\n y1: anchor.y,\n x2: anchor.x + curBound.x2 - curBound.x1,\n y2: anchor.y + curBound.y2 - curBound.y1,\n anchor\n };\n if (!resultBound.some(r => overlap(r, newBound))) {\n resultBound.push(newBound);\n isOverlap = false;\n break;\n }\n }\n if (isOverlap) {\n // 所有候选位置都放不下\n resultBound.push(curPair.bound);\n }\n } else {\n resultBound.push(curPair.bound);\n }\n }\n\n return resultBound.map(bound => toRect(bound));\n}\n\nexport function layoutOuter(\n pairs: IPairInfo[],\n features: Feature[],\n dataToPosition: (coord: number[]) => IPoint | null\n): IRect[] {\n // 1. 计算包围圆\n const _points = pairs.map(rect => rect.pointCoord);\n const { x1, x2, y1, y2 } = getAABBFromPoints(_points);\n const geoCenter = [(x1 + x2) / 2, (y1 + y2) / 2];\n const centerPosition = dataToPosition(geoCenter);\n\n if (!centerPosition) {\n return [];\n }\n\n // 2. 遍历每个rect\n // anchor与圆心的交点方向,尝试寻找不在地图区域内部的新锚点\n const result = pairs.map(pair => {\n const rect = pair.rect;\n const targetPoint = !isPointWithinFeatures(features, pair.pointCoord!)\n ? pair.point\n : dataToPosition(\n nearestPoint(\n features,\n [pair.pointCoord!.x, pair.pointCoord!.y],\n uniformDegree(lineDegree(pair.point!, centerPosition))\n )\n );\n\n if (targetPoint) {\n rect.x = targetPoint.x;\n rect.y = targetPoint.y;\n }\n // 3. 根据finalAnchor在包围圆上的位置,调整rect的位置\n // 将圆根据圆心角划分为4个区域,对应不同的position\n\n const degree = uniformDegree(lineDegree(pair.point!, centerPosition));\n\n let position: IOrientType;\n const anchors: IOrientType[] = [];\n if (degree >= -45 && degree < 45) {\n position = 'top';\n anchors.push('left', 'right');\n } else if (degree >= 45 && degree < 135) {\n position = 'right';\n } else if (degree >= -135 && degree < -45) {\n position = 'left';\n anchors.push('left');\n } else {\n position = 'bottom';\n anchors.push('left', 'right');\n }\n pair.anchors = anchors;\n pair.offset = 20;\n pair.rect = placeRectByOrient(pair.rect, position, 0);\n return pair;\n });\n\n return layoutByPosition(result);\n}\n\nexport function layoutOuter2(\n pairs: IPairInfo[],\n features: Feature[],\n dataToPosition: (coord: number[]) => IPoint | null\n): IRect[] {\n // 1. 计算几何中心\n let x = 0;\n let y = 0;\n for (let i = 0; i < pairs.length; i++) {\n x += pairs[i].pointCoord.x;\n y += pairs[i].pointCoord.y;\n }\n x /= pairs.length;\n y /= pairs.length;\n const centerPosition = dataToPosition([x, y]);\n if (!centerPosition) {\n return [];\n }\n\n const count = pairs.length;\n\n // 2. 按照圆心角排序\n pairs.sort((a, b) => {\n return lineDegree(centerPosition, a.point) - lineDegree(centerPosition, b.point);\n });\n\n const result = pairs.map((pair, index) => {\n let degree = (360 / count) * index;\n const _degree = lineDegree(centerPosition, pair.point);\n degree = uniformDegree((degree + _degree) / 2);\n const targetPoint = !isPointWithinFeatures(features, pair.pointCoord)\n ? pair.point\n : dataToPosition(nearestPoint(features, [pair.pointCoord.x, pair.pointCoord.y], degree));\n if (targetPoint) {\n pair.rect.x = targetPoint.x;\n pair.rect.y = targetPoint.y;\n }\n // 3. 根据finalAnchor在包围圆上的位置,调整rect的位置\n // 将圆根据圆心角划分为4个区域,对应不同的position\n let position: IOrientType;\n const anchors: IOrientType[] = [];\n if (degree >= -45 && degree < 45) {\n position = 'top';\n anchors.push('left', 'right');\n } else if (degree >= 45 && degree < 135) {\n position = 'right';\n } else if (degree >= -135 && degree < -45) {\n position = 'left';\n anchors.push('left');\n } else {\n position = 'bottom';\n anchors.push('left', 'right');\n }\n\n pair.anchors = anchors;\n pair.offset = 20;\n pair.rect = placeRectByOrient(pair.rect, position, 0);\n return pair;\n });\n\n return layoutByPosition(result.sort((a, b) => a.index - b.index));\n}\n\nfunction uniformDegree(degree: number) {\n return degree > 180 ? degree - 360 : degree;\n}\n\nfunction lineDegree(start: IPoint, end: IPoint) {\n return (Math.atan2(start.y - end.y, start.x - end.x) * 180) / Math.PI + 90;\n}\n\nfunction nearestPoint(features: Feature[], origin: number[], bearing: number, distance = 200) {\n const count = 5621 / distance;\n let curOrigin = origin;\n for (let i = 1; i <= count; i++) {\n const dest = destination(curOrigin as unknown as IPoint, distance, bearing);\n if (!isPointWithinFeatures(features, dest)) {\n return [dest.x, dest.y];\n }\n curOrigin = [dest.x, dest.y];\n }\n return origin;\n}\n\nfunction isPointWithinFeatures(features: Feature[], p: IPoint) {\n for (let i = 0; i < features.length; i++) {\n const inside = isPointInPolygon(p, features[i] as any);\n if (inside) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * 以rect左上角为锚点的,根据position位置调整rect布局。\n * @param rect\n * @param position 在锚点的四周位置,'top' | 'bottom' | 'left' | 'right'\n * @param offset rect与锚点间的距离\n * @returns\n */\nexport function placeRectByOrient(rect: IRect, position: IOrientType, offset = 0) {\n const result: IRect = { ...rect };\n if (position === 'top') {\n result.x -= rect.width / 2;\n result.y -= offset + rect.height / 2;\n } else if (position === 'bottom') {\n result.x -= rect.width / 2;\n result.y += offset - rect.height / 2;\n } else if (position === 'left') {\n result.x -= offset + rect.width;\n result.y -= rect.height / 2;\n } else if (position === 'right') {\n result.x += offset;\n result.y -= rect.height / 2;\n }\n return result;\n}\n\nexport function candidatesByOrient(\n positions: IOrientType[],\n anchor: IPoint,\n rect: Pick<IRect, 'width' | 'height'>,\n offset = 0\n) {\n const candidates: IPoint[] = [];\n positions.forEach((p: IOrientType) => {\n const { x, y } = placeRectByOrient({ ...anchor, width: rect.width, height: rect.height }, p, offset);\n candidates.push({ x, y });\n });\n return candidates;\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BaseComponentSpecTransformer } from '@visactor/vchart';
|
|
2
|
+
import { IMapLabelSpec, IMapLabelStyleSpec } from './type';
|
|
3
|
+
export declare class MapLabelSpecTransformer<T extends IMapLabelSpec = IMapLabelSpec, K extends IMapLabelStyleSpec = IMapLabelStyleSpec> extends BaseComponentSpecTransformer<T, K> {
|
|
4
|
+
protected _getDefaultSpecFromChart(): Partial<T>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.MapLabelSpecTransformer = void 0;
|
|
6
|
+
|
|
7
|
+
const vchart_1 = require("@visactor/vchart"), theme_1 = require("./theme");
|
|
8
|
+
|
|
9
|
+
class MapLabelSpecTransformer extends vchart_1.BaseComponentSpecTransformer {
|
|
10
|
+
_getDefaultSpecFromChart() {
|
|
11
|
+
return theme_1.mapLabel;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.MapLabelSpecTransformer = MapLabelSpecTransformer;
|
|
16
|
+
//# sourceMappingURL=map-label-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/map-label/map-label-transformer.ts"],"names":[],"mappings":";;;AAAA,6CAAgE;AAEhE,mCAAmC;AAEnC,MAAa,uBAGX,SAAQ,qCAAkC;IAChC,wBAAwB;QAChC,OAAO,gBAAsB,CAAC;IAChC,CAAC;CACF;AAPD,0DAOC","file":"map-label-transformer.js","sourcesContent":["import { BaseComponentSpecTransformer } from '@visactor/vchart';\nimport { IMapLabelSpec, IMapLabelStyleSpec } from './type';\nimport { mapLabel } from './theme';\n\nexport class MapLabelSpecTransformer<\n T extends IMapLabelSpec = IMapLabelSpec,\n K extends IMapLabelStyleSpec = IMapLabelStyleSpec\n> extends BaseComponentSpecTransformer<T, K> {\n protected _getDefaultSpecFromChart(): Partial<T> {\n return mapLabel as Partial<T>;\n }\n}\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { IGraphic, IGroup } from '@visactor/vrender-core';
|
|
2
|
+
import type { Maybe } from '@visactor/vutils';
|
|
3
|
+
import { MarkPoint } from '@visactor/vrender-components';
|
|
4
|
+
import { LayoutZIndex, VChart, BaseComponent } from '@visactor/vchart';
|
|
5
|
+
import type { IRect, IPoint, Datum, IModelSpecInfo, PanEventParam, ICartesianSeries, IGeoSeries } from '@visactor/vchart';
|
|
6
|
+
import type { IPairInfo } from './layout';
|
|
7
|
+
import type { IMapLabelSpec, MapLabelSceneNodeMap } from './type';
|
|
8
|
+
import { MapLabelSpecTransformer } from './map-label-transformer';
|
|
9
|
+
export declare class MapLabelComponent extends BaseComponent<IMapLabelSpec> {
|
|
10
|
+
static type: string;
|
|
11
|
+
type: string;
|
|
12
|
+
name: string;
|
|
13
|
+
static specKey: string;
|
|
14
|
+
specKey: string;
|
|
15
|
+
static readonly transformerConstructor: any;
|
|
16
|
+
readonly transformerConstructor: typeof MapLabelSpecTransformer;
|
|
17
|
+
layoutType: 'none';
|
|
18
|
+
layoutZIndex: LayoutZIndex;
|
|
19
|
+
protected nameField: string;
|
|
20
|
+
protected valueField?: string;
|
|
21
|
+
protected _series: ICartesianSeries | IGeoSeries;
|
|
22
|
+
protected _map: any[];
|
|
23
|
+
protected _longitudeField: string;
|
|
24
|
+
protected _latitudeField: string;
|
|
25
|
+
protected _markerComponents: MarkPoint[];
|
|
26
|
+
private _activeDatum;
|
|
27
|
+
static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
|
|
28
|
+
setAttrFromSpec(): void;
|
|
29
|
+
created(): void;
|
|
30
|
+
initRelatedInfo(): void;
|
|
31
|
+
initData(): void;
|
|
32
|
+
initEvent(): void;
|
|
33
|
+
handlePan(e: PanEventParam): void;
|
|
34
|
+
handleZoom(): void;
|
|
35
|
+
private _updateDatum;
|
|
36
|
+
dataToPosition(datum: any): IPoint;
|
|
37
|
+
updateLayoutAttribute(): void;
|
|
38
|
+
protected _updateMarkerLayoutAttribute(): void;
|
|
39
|
+
protected _evaluateMarker(data: Datum, index: number): {
|
|
40
|
+
pairInfo: IPairInfo;
|
|
41
|
+
contentMarks: Partial<Record<import("./type").IMapLabelNodes, IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>>>;
|
|
42
|
+
};
|
|
43
|
+
protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]): void;
|
|
44
|
+
protected _renderMarkers(): void;
|
|
45
|
+
protected _layoutLabels(rects: IPairInfo[]): IRect[];
|
|
46
|
+
private _isRelativeModel;
|
|
47
|
+
private _isRelativeSeries;
|
|
48
|
+
protected _getNeedClearVRenderComponents(): IGraphic[];
|
|
49
|
+
getVRenderComponents(): IGroup[];
|
|
50
|
+
}
|
|
51
|
+
export declare const registerMapLabel: (option?: {
|
|
52
|
+
VChart?: typeof VChart;
|
|
53
|
+
}) => void;
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.registerMapLabel = exports.MapLabelComponent = void 0;
|
|
6
|
+
|
|
7
|
+
const vdataset_1 = require("@visactor/vdataset"), vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"), vchart_1 = require("@visactor/vchart"), layout_1 = require("./layout"), map_label_transformer_1 = require("./map-label-transformer");
|
|
8
|
+
|
|
9
|
+
class MapLabelComponent extends vchart_1.BaseComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.type = "mapLabel", this.name = " mapLabel", this.specKey = "mapLabel",
|
|
12
|
+
this.transformerConstructor = map_label_transformer_1.MapLabelSpecTransformer, this.layoutType = "none",
|
|
13
|
+
this.layoutZIndex = vchart_1.LayoutZIndex.MarkPoint, this._activeDatum = [];
|
|
14
|
+
}
|
|
15
|
+
static getSpecInfo(chartSpec) {
|
|
16
|
+
return (0, vchart_1.getSpecInfo)(chartSpec, this.specKey, this.type, (s => s.visible && (0,
|
|
17
|
+
vutils_1.isValid)(s.seriesId)));
|
|
18
|
+
}
|
|
19
|
+
setAttrFromSpec() {
|
|
20
|
+
var _a, _b, _c, _d;
|
|
21
|
+
this.nameField = null !== (_a = this._spec.nameField) && void 0 !== _a ? _a : null === (_b = this._series) || void 0 === _b ? void 0 : _b.getDimensionField()[0],
|
|
22
|
+
this.valueField = null !== (_c = this._spec.valueField) && void 0 !== _c ? _c : null === (_d = this._series) || void 0 === _d ? void 0 : _d.getMeasureField()[0];
|
|
23
|
+
}
|
|
24
|
+
created() {
|
|
25
|
+
super.created(), !1 != !!this._spec.visible && (this.initRelatedInfo(), this.initData(),
|
|
26
|
+
this.initEvent());
|
|
27
|
+
}
|
|
28
|
+
initRelatedInfo() {
|
|
29
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
30
|
+
this._series = this._option.getSeriesInUserIdOrIndex([ this._spec.seriesId ])[0],
|
|
31
|
+
"outer" === this._spec.position && (this._map = null === (_b = null === (_a = this._regions[0].getSeriesInType("map")[0]) || void 0 === _a ? void 0 : _a.getMapViewData()) || void 0 === _b ? void 0 : _b.latestData,
|
|
32
|
+
this._longitudeField = null === (_e = null === (_d = (_c = this._regions[0]).getSpec) || void 0 === _d ? void 0 : _d.call(_c)) || void 0 === _e ? void 0 : _e.longitudeField,
|
|
33
|
+
this._latitudeField = null === (_h = null === (_g = (_f = this._regions[0]).getSpec) || void 0 === _g ? void 0 : _g.call(_f)) || void 0 === _h ? void 0 : _h.latitudeField);
|
|
34
|
+
}
|
|
35
|
+
initData() {
|
|
36
|
+
const series = this._series;
|
|
37
|
+
if (!series) return;
|
|
38
|
+
const seriesData = series.getViewData();
|
|
39
|
+
if (seriesData) {
|
|
40
|
+
const data = new vdataset_1.DataView(this._option.dataSet, {
|
|
41
|
+
name: `${this.name}_data`
|
|
42
|
+
});
|
|
43
|
+
data.parse([ seriesData ], {
|
|
44
|
+
type: "dataview"
|
|
45
|
+
}), data.transform({
|
|
46
|
+
type: "copyDataView",
|
|
47
|
+
level: vchart_1.TransformLevel.copyDataView
|
|
48
|
+
}, !1), this._data = new vchart_1.CompilableData(this._option, data), data.target.addListener("change", (() => {
|
|
49
|
+
"hover" !== this._spec.trigger && "click" !== this._spec.trigger && (this._activeDatum = this._data.getLatestData());
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
initEvent() {
|
|
54
|
+
this.event.on("zoom", {
|
|
55
|
+
filter: params => this._isRelativeModel(params.model)
|
|
56
|
+
}, (() => (this.handleZoom(), !0))), this.event.on("panmove", {
|
|
57
|
+
filter: params => this._isRelativeModel(params.model)
|
|
58
|
+
}, (e => (this.handlePan(e), !0)));
|
|
59
|
+
const trigger = this._spec.trigger;
|
|
60
|
+
"none" !== trigger && ("hover" === trigger ? (this.event.on("element-highlight:start", (params => {
|
|
61
|
+
const g = params.graphics[0];
|
|
62
|
+
this._isRelativeSeries(g) && this._updateDatum((0, vchart_1.getDatumOfGraphic)(g));
|
|
63
|
+
})), this.event.on("element-highlight:reset", (params => {
|
|
64
|
+
this._activeDatum && this._updateDatum(null);
|
|
65
|
+
}))) : "click" === trigger && (this.event.on("element-select:start", (params => {
|
|
66
|
+
const g = params.graphics[0];
|
|
67
|
+
this._isRelativeSeries(g) && this._updateDatum((0, vchart_1.getDatumOfGraphic)(g));
|
|
68
|
+
})), this.event.on("elementSelectReset", (params => {
|
|
69
|
+
this._activeDatum && this._updateDatum([]);
|
|
70
|
+
}))));
|
|
71
|
+
}
|
|
72
|
+
handlePan(e) {
|
|
73
|
+
const {delta: delta} = e;
|
|
74
|
+
this._markerComponents.forEach((marker => {
|
|
75
|
+
marker.translate(delta[0], delta[1]);
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
handleZoom() {
|
|
79
|
+
this._updateMarkerLayoutAttribute();
|
|
80
|
+
}
|
|
81
|
+
_updateDatum(datum) {
|
|
82
|
+
this._activeDatum = datum, this._markerComponents.forEach(((marker, index) => {
|
|
83
|
+
var _a;
|
|
84
|
+
const markerDatum = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData()[index];
|
|
85
|
+
this._activeDatum.includes(markerDatum) ? marker.setAttribute("visible", !0) : marker.setAttribute("visible", !1);
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
dataToPosition(datum) {
|
|
89
|
+
return this._series.dataToPosition(datum);
|
|
90
|
+
}
|
|
91
|
+
updateLayoutAttribute() {
|
|
92
|
+
var _a;
|
|
93
|
+
const markData = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData();
|
|
94
|
+
markData && 0 !== markData.length && (super.updateLayoutAttribute(), this._updateMarkerLayoutAttribute());
|
|
95
|
+
}
|
|
96
|
+
_updateMarkerLayoutAttribute() {
|
|
97
|
+
var _a;
|
|
98
|
+
const layoutPairInfo = [], markerMarks = [];
|
|
99
|
+
this._markerComponents || (this._markerComponents = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData().map(((data, index) => {
|
|
100
|
+
var _a;
|
|
101
|
+
const cmp = new vrender_components_1.MarkPoint({
|
|
102
|
+
position: void 0,
|
|
103
|
+
animation: !1
|
|
104
|
+
});
|
|
105
|
+
return cmp && (cmp.name = `${this.name}_marker_${index}`, cmp.id = null !== (_a = this._spec.id) && void 0 !== _a ? _a : `${this.name}_marker_${this.id}`,
|
|
106
|
+
cmp.setAttribute("zIndex", this.layoutZIndex)), cmp;
|
|
107
|
+
})));
|
|
108
|
+
this._markerComponents.forEach(((marker, index) => {
|
|
109
|
+
const {pairInfo: pairInfo, contentMarks: contentMarks} = this._evaluateMarker(this._data.getLatestData()[index], index);
|
|
110
|
+
pairInfo && layoutPairInfo.push(pairInfo), contentMarks && markerMarks.push(contentMarks);
|
|
111
|
+
}));
|
|
112
|
+
const positionedRects = this._layoutLabels(layoutPairInfo);
|
|
113
|
+
this._layoutMarkers(positionedRects, markerMarks), this._renderMarkers();
|
|
114
|
+
}
|
|
115
|
+
_evaluateMarker(data, index) {
|
|
116
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
117
|
+
let contentItemCount = 0, paddingWidth = 0, paddingHeight = 0, contentWidth = 0, contentHeight = 0;
|
|
118
|
+
const position = this._spec.position || "top", offset = this._spec.offset, padding = (0,
|
|
119
|
+
vchart_1.normalizeLayoutPaddingSpec)(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.padding), space = this._spec.space || 0;
|
|
120
|
+
paddingWidth += ((null == padding ? void 0 : padding.left) || 0) + ((null == padding ? void 0 : padding.right) || 0),
|
|
121
|
+
paddingHeight += ((null == padding ? void 0 : padding.top) || 0) + ((null == padding ? void 0 : padding.bottom) || 0);
|
|
122
|
+
const contentMarks = {}, positionAttr = this.dataToPosition(data), container = vrender_core_1.graphicCreator.group({});
|
|
123
|
+
if (container.name = `${this.name}_marker_itemContainer_${index}`, contentMarks.container = container,
|
|
124
|
+
null === (_b = this._spec.background) || void 0 === _b ? void 0 : _b.visible) {
|
|
125
|
+
const labelBackground = vrender_core_1.graphicCreator.rect((0, vchart_1.transformToGraphic)(Object.assign({}, this._spec.background.style)));
|
|
126
|
+
labelBackground.setAttributes(positionAttr), contentMarks.labelBackground = labelBackground,
|
|
127
|
+
container.appendChild(labelBackground);
|
|
128
|
+
}
|
|
129
|
+
if (null === (_c = this._spec.icon) || void 0 === _c ? void 0 : _c.visible) {
|
|
130
|
+
const icon = vrender_core_1.graphicCreator.symbol((0, vchart_1.transformToGraphic)(Object.assign({}, this._spec.icon.style)));
|
|
131
|
+
icon.setAttributes(positionAttr), icon.setAttribute("symbolType", null !== (_e = null === (_d = this._spec.icon.style) || void 0 === _d ? void 0 : _d.symbolType) && void 0 !== _e ? _e : null === (_f = this._spec.icon.style) || void 0 === _f ? void 0 : _f.shape);
|
|
132
|
+
const iconBound = icon.AABBBounds, iconHeight = null !== (_g = (null == iconBound ? void 0 : iconBound.y2) - (null == iconBound ? void 0 : iconBound.y1)) && void 0 !== _g ? _g : 0, iconWidth = null !== (_h = (null == iconBound ? void 0 : iconBound.x2) - (null == iconBound ? void 0 : iconBound.x1)) && void 0 !== _h ? _h : 0;
|
|
133
|
+
contentMarks.icon = icon, container.appendChild(icon), contentHeight = iconHeight,
|
|
134
|
+
contentWidth += iconWidth, contentItemCount++;
|
|
135
|
+
}
|
|
136
|
+
if (null === (_j = this._spec.nameLabel) || void 0 === _j ? void 0 : _j.visible) {
|
|
137
|
+
const nameLabel = vrender_core_1.graphicCreator.text((0, vchart_1.transformToGraphic)(Object.assign({}, this._spec.nameLabel.style)));
|
|
138
|
+
nameLabel.setAttributes(positionAttr), nameLabel.setAttribute("text", data[this.nameField]);
|
|
139
|
+
const nameLabelBound = nameLabel.AABBBounds, nameLabelHeight = null !== (_k = (null == nameLabelBound ? void 0 : nameLabelBound.y2) - (null == nameLabelBound ? void 0 : nameLabelBound.y1)) && void 0 !== _k ? _k : 0, nameLabelWidth = null !== (_l = (null == nameLabelBound ? void 0 : nameLabelBound.x2) - (null == nameLabelBound ? void 0 : nameLabelBound.x1)) && void 0 !== _l ? _l : 0;
|
|
140
|
+
contentMarks.nameLabel = nameLabel, container.appendChild(nameLabel), contentHeight = Math.max(contentHeight, nameLabelHeight),
|
|
141
|
+
contentWidth += nameLabelWidth, contentItemCount++;
|
|
142
|
+
}
|
|
143
|
+
if ((null === (_m = this._spec.valueLabel) || void 0 === _m ? void 0 : _m.visible) && (0,
|
|
144
|
+
vutils_1.isValid)(data[this.valueField])) {
|
|
145
|
+
const valueLabel = vrender_core_1.graphicCreator.text((0, vchart_1.transformToGraphic)(Object.assign({}, this._spec.valueLabel.style)));
|
|
146
|
+
valueLabel.setAttributes(positionAttr), valueLabel.setAttribute("text", data[this.valueField]);
|
|
147
|
+
const valueLabelBound = valueLabel.AABBBounds, valueLabelHeight = null !== (_o = (null == valueLabelBound ? void 0 : valueLabelBound.y2) - (null == valueLabelBound ? void 0 : valueLabelBound.y1)) && void 0 !== _o ? _o : 0, valueLabelWidth = null !== (_p = (null == valueLabelBound ? void 0 : valueLabelBound.x2) - (null == valueLabelBound ? void 0 : valueLabelBound.x1)) && void 0 !== _p ? _p : 0;
|
|
148
|
+
contentMarks.valueLabel = valueLabel, container.appendChild(valueLabel), contentHeight = Math.max(contentHeight, valueLabelHeight),
|
|
149
|
+
contentWidth += valueLabelWidth, contentItemCount++;
|
|
150
|
+
}
|
|
151
|
+
const firstValidMark = Object.values(contentMarks).find((m => !!m && "group" !== m.type)), anchor = {
|
|
152
|
+
x: null == firstValidMark ? void 0 : firstValidMark.getComputedAttribute("x"),
|
|
153
|
+
y: null == firstValidMark ? void 0 : firstValidMark.getComputedAttribute("y")
|
|
154
|
+
}, itemRect = {
|
|
155
|
+
x: anchor.x,
|
|
156
|
+
y: anchor.y,
|
|
157
|
+
width: 0,
|
|
158
|
+
height: 0
|
|
159
|
+
};
|
|
160
|
+
itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space, itemRect.height = paddingHeight + contentHeight;
|
|
161
|
+
const pairInfo = {
|
|
162
|
+
rect: itemRect,
|
|
163
|
+
point: anchor,
|
|
164
|
+
index: index
|
|
165
|
+
};
|
|
166
|
+
if ("outer" !== position) {
|
|
167
|
+
const anchors = [ "top", "right", "left", "bottom" ].filter((a => a !== position));
|
|
168
|
+
pairInfo.rect = (0, layout_1.placeRectByOrient)(itemRect, position, offset), pairInfo.anchors = anchors,
|
|
169
|
+
pairInfo.offset = offset;
|
|
170
|
+
} else pairInfo.pointCoord = {
|
|
171
|
+
x: +(null == data ? void 0 : data[this._longitudeField]),
|
|
172
|
+
y: +(null == data ? void 0 : data[this._latitudeField])
|
|
173
|
+
};
|
|
174
|
+
return {
|
|
175
|
+
pairInfo: pairInfo,
|
|
176
|
+
contentMarks: contentMarks
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
_layoutMarkers(positionedRects, contentMarks) {
|
|
180
|
+
var _a, _b, _c;
|
|
181
|
+
for (let i = 0; i < contentMarks.length; i++) {
|
|
182
|
+
if (!positionedRects[i] || !contentMarks[i]) return;
|
|
183
|
+
const {icon: icon, nameLabel: nameLabel, valueLabel: valueLabel, labelBackground: labelBackground, container: container} = contentMarks[i], itemRect = positionedRects[i], padding = (0,
|
|
184
|
+
vchart_1.normalizeLayoutPaddingSpec)(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.padding), space = this._spec.space || 0, curY = itemRect.height / 2;
|
|
185
|
+
let curX = (null == padding ? void 0 : padding.left) || 0;
|
|
186
|
+
[ icon, nameLabel, valueLabel ].forEach(((item, index) => {
|
|
187
|
+
var _a, _b;
|
|
188
|
+
if (item) {
|
|
189
|
+
const bounds = item.AABBBounds;
|
|
190
|
+
let offset = 0;
|
|
191
|
+
"symbol" === item.type && (offset += (null !== (_a = bounds.x2 - bounds.x1) && void 0 !== _a ? _a : 0) / 2),
|
|
192
|
+
item.setAttributes({
|
|
193
|
+
x: curX + offset,
|
|
194
|
+
y: curY
|
|
195
|
+
}), curX += null !== (_b = bounds.x2 - bounds.x1) && void 0 !== _b ? _b : 0, 2 !== index && (curX += space);
|
|
196
|
+
}
|
|
197
|
+
})), null == labelBackground || labelBackground.setAttributes({
|
|
198
|
+
x: 0,
|
|
199
|
+
y: 0,
|
|
200
|
+
width: itemRect.width,
|
|
201
|
+
height: itemRect.height
|
|
202
|
+
}), null == container || container.setAttributes({
|
|
203
|
+
dx: -itemRect.width / 2,
|
|
204
|
+
dy: -itemRect.height / 2
|
|
205
|
+
});
|
|
206
|
+
const datum = this._data.getLatestData()[i], anchor = this.dataToPosition(datum), regionPos = this.getRegions()[0].getLayoutStartPoint(), showLeader = !(!(null === (_b = this._spec.leader) || void 0 === _b ? void 0 : _b.visible) || !(icon || nameLabel || valueLabel));
|
|
207
|
+
this._markerComponents[i].setAttributes({
|
|
208
|
+
x: regionPos.x,
|
|
209
|
+
y: regionPos.y,
|
|
210
|
+
position: anchor,
|
|
211
|
+
visible: this._activeDatum.includes(datum),
|
|
212
|
+
itemContent: {
|
|
213
|
+
refX: 0,
|
|
214
|
+
type: "custom",
|
|
215
|
+
renderCustomCallback: () => container,
|
|
216
|
+
autoRotate: !1,
|
|
217
|
+
offsetX: itemRect.x + itemRect.width / 2 - anchor.x,
|
|
218
|
+
offsetY: itemRect.y + itemRect.height / 2 - anchor.y
|
|
219
|
+
},
|
|
220
|
+
itemLine: {
|
|
221
|
+
visible: showLeader,
|
|
222
|
+
type: "type-po",
|
|
223
|
+
lineStyle: (0, vchart_1.transformToGraphic)(Object.assign({}, null === (_c = this._spec.leader) || void 0 === _c ? void 0 : _c.style)),
|
|
224
|
+
startSymbol: {
|
|
225
|
+
visible: !1
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
_renderMarkers() {
|
|
232
|
+
if (this._markerComponents && this._markerComponents.length) for (let i = 0; i < this._markerComponents.length; i++) this.getContainer().add(this._markerComponents[i]);
|
|
233
|
+
}
|
|
234
|
+
_layoutLabels(rects) {
|
|
235
|
+
return "outer" === this._spec.position && this._map ? (0, layout_1.layoutOuter)(rects, this._map, (coord => this._series.dataToPosition({
|
|
236
|
+
[this._longitudeField]: coord[0],
|
|
237
|
+
[this._latitudeField]: coord[1]
|
|
238
|
+
}))) : (0, layout_1.layoutByPosition)(rects);
|
|
239
|
+
}
|
|
240
|
+
_isRelativeModel(model) {
|
|
241
|
+
var _a, _b, _c;
|
|
242
|
+
const id = null !== (_b = null === (_a = this._series.getXAxisHelper()) || void 0 === _a ? void 0 : _a.getAxisId()) && void 0 !== _b ? _b : null === (_c = this._series.getCoordinateHelper()) || void 0 === _c ? void 0 : _c.getCoordinateId();
|
|
243
|
+
return (null == model ? void 0 : model.id) === id;
|
|
244
|
+
}
|
|
245
|
+
_isRelativeSeries(g) {
|
|
246
|
+
var _a;
|
|
247
|
+
return (null === (_a = g.context) || void 0 === _a ? void 0 : _a.modelId) === this._series.id;
|
|
248
|
+
}
|
|
249
|
+
_getNeedClearVRenderComponents() {
|
|
250
|
+
return this._markerComponents;
|
|
251
|
+
}
|
|
252
|
+
getVRenderComponents() {
|
|
253
|
+
return this._markerComponents;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
exports.MapLabelComponent = MapLabelComponent, MapLabelComponent.type = "mapLabel",
|
|
258
|
+
MapLabelComponent.specKey = "mapLabel", MapLabelComponent.transformerConstructor = map_label_transformer_1.MapLabelSpecTransformer;
|
|
259
|
+
|
|
260
|
+
const registerMapLabel = option => {
|
|
261
|
+
const vchartConstructor = (null == option ? void 0 : option.VChart) || vchart_1.VChart;
|
|
262
|
+
vchartConstructor && vchartConstructor.useComponent([ MapLabelComponent ]);
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
exports.registerMapLabel = registerMapLabel;
|
|
266
|
+
//# sourceMappingURL=map-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/map-label/map-label.ts"],"names":[],"mappings":"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","file":"map-label.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport {\n LayoutZIndex,\n normalizeLayoutPaddingSpec,\n transformToGraphic,\n TransformLevel,\n getSpecInfo,\n CompilableData,\n VChart,\n BaseComponent,\n getDatumOfGraphic\n} from '@visactor/vchart';\nimport type {\n IPadding,\n IRect,\n IOrientType,\n IPoint,\n Datum,\n IModel,\n IModelSpecInfo,\n PanEventParam,\n ICartesianSeries,\n IGeoSeries,\n IMarkGraphic\n} from '@visactor/vchart';\nimport type { IPairInfo } from './layout';\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './type';\nimport { MapLabelSpecTransformer } from './map-label-transformer';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = 'mapLabel';\n type = 'mapLabel';\n name = ' mapLabel';\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n static readonly transformerConstructor = MapLabelSpecTransformer as any;\n readonly transformerConstructor = MapLabelSpecTransformer;\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMapLabelSpec>(chartSpec, this.specKey, this.type, (s: IMapLabelSpec) => {\n return s.visible && isValid(s.seriesId);\n });\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, () => {\n this.handleZoom();\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('elementSelectReset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom() {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = (this._spec as any).id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = graphicCreator.group({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = graphicCreator.rect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = graphicCreator.symbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.symbolType ?? this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = graphicCreator.text(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = graphicCreator.text(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(g: IMarkGraphic) {\n return g.context?.modelId === this._series.id;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n\n getVRenderComponents() {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useComponent([MapLabelComponent as any]);\n }\n};\n"]}
|