@visactor/vchart 0.0.1-alpha.2 → 0.2.1-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/README.md +82 -1
- package/build/index.js +2680 -2068
- package/build/index.min.js +2 -2
- package/cjs/animation/utils.d.ts +2 -1
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base-chart.js +2 -2
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
- package/cjs/chart/box-plot/box-plot.js.map +1 -0
- package/{esm/chart/boxplot → cjs/chart/box-plot}/index.d.ts +1 -1
- package/cjs/chart/{boxplot → box-plot}/index.js +1 -1
- package/cjs/chart/box-plot/index.js.map +1 -0
- package/cjs/chart/box-plot/interface.js.map +1 -0
- package/cjs/chart/index.d.ts +3 -1
- package/cjs/chart/index.js +2 -1
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/compile/compilable-base.js +1 -1
- package/cjs/compile/compiler.d.ts +2 -2
- package/cjs/compile/compiler.js +24 -25
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/grammar-item.js +1 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/util.js +1 -1
- package/cjs/component/axis/base-axis.d.ts +70 -1
- package/cjs/component/axis/base-axis.js +93 -4
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +0 -1
- package/cjs/component/axis/cartesian/axis.js +3 -6
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +0 -1
- package/cjs/component/axis/polar/axis.js +3 -6
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/utils.d.ts +13 -70
- package/cjs/component/axis/utils.js +23 -109
- package/cjs/component/axis/utils.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +0 -5
- package/cjs/component/base/base-component.js +8 -19
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.d.ts +1 -1
- package/cjs/component/base/util.js +20 -9
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +0 -1
- package/cjs/component/crosshair/base.js +1 -4
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js +4 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/index.js +1 -1
- package/cjs/component/interface/index.d.ts +1 -0
- package/cjs/component/interface/index.js +1 -1
- package/cjs/component/interface/index.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +38 -0
- package/cjs/component/interface/theme.js +6 -0
- package/cjs/component/interface/theme.js.map +1 -0
- package/cjs/component/label/label.d.ts +0 -1
- package/cjs/component/label/label.js +12 -6
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/legend/base-legend.js +5 -2
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/legend.d.ts +1 -1
- package/cjs/component/legend/continuous/legend.js +2 -2
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -1
- package/cjs/component/legend/discrete/legend.js +2 -2
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +4 -4
- package/cjs/component/map-label/component.js +2 -2
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/map-label/interface.d.ts +6 -4
- package/cjs/component/map-label/interface.js.map +1 -1
- package/cjs/component/marker/utils.js +14 -9
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/interface/theme.d.ts +2 -1
- package/cjs/component/player/interface/theme.js.map +1 -1
- package/cjs/component/player/player.d.ts +0 -1
- package/cjs/component/player/player.js +0 -3
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/title/interface/theme.d.ts +4 -2
- package/cjs/component/title/interface/theme.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -1
- package/cjs/component/title/title.js +4 -6
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +5 -3
- package/cjs/component/tooltip/handler/base.js +9 -8
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -4
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -2
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +1 -1
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/box-plot.js +1 -2
- package/cjs/constant/label.js +2 -1
- package/cjs/core/factory.d.ts +1 -0
- package/cjs/core/factory.js +3 -0
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/instance-manager.d.ts +9 -0
- package/cjs/core/instance-manager.js +26 -0
- package/cjs/core/instance-manager.js.map +1 -0
- package/cjs/core/interface.js +1 -2
- package/cjs/core/vchart.d.ts +2 -6
- package/cjs/core/vchart.js +10 -23
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/event/event.js +2 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/mark/arc.d.ts +1 -1
- package/cjs/mark/arc.js +4 -3
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.d.ts +3 -2
- package/cjs/mark/area.js +8 -4
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -1
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/base/index.d.ts +1 -2
- package/cjs/mark/base/index.js +1 -10
- package/cjs/mark/base/index.js.map +1 -1
- package/{esm/mark/boxPlot.d.ts → cjs/mark/box-plot.d.ts} +1 -1
- package/cjs/mark/{boxPlot.js → box-plot.js} +3 -3
- package/{esm/mark/boxPlot.js.map → cjs/mark/box-plot.js.map} +1 -1
- package/cjs/mark/component.d.ts +1 -1
- package/cjs/mark/component.js +2 -2
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/line.d.ts +1 -1
- package/cjs/mark/line.js +2 -2
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/linkPath.d.ts +1 -1
- package/cjs/mark/linkPath.js +4 -3
- package/cjs/mark/linkPath.js.map +1 -1
- package/cjs/mark/mark-set/index.d.ts +6 -5
- package/cjs/mark/mark-set/index.js +15 -12
- package/cjs/mark/mark-set/index.js.map +1 -1
- package/cjs/mark/path.d.ts +1 -1
- package/cjs/mark/path.js +2 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon.d.ts +1 -1
- package/cjs/mark/polygon.js +3 -3
- package/cjs/mark/polygon.js.map +1 -1
- package/cjs/mark/progress-arc.js +1 -1
- package/cjs/mark/rect.d.ts +1 -1
- package/cjs/mark/rect.js +6 -5
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/rule.d.ts +1 -1
- package/cjs/mark/rule.js +3 -3
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.d.ts +1 -1
- package/cjs/mark/symbol.js +5 -4
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.d.ts +1 -1
- package/cjs/mark/text.js +5 -4
- package/cjs/mark/text.js.map +1 -1
- package/cjs/model/base-model.d.ts +12 -5
- package/cjs/model/base-model.js +52 -29
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +8 -2
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.js +20 -18
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/region/region.d.ts +1 -4
- package/cjs/region/region.js +16 -13
- package/cjs/region/region.js.map +1 -1
- package/cjs/scale/color-ordinal-scale.d.ts +8 -0
- package/cjs/scale/color-ordinal-scale.js +24 -0
- package/cjs/scale/color-ordinal-scale.js.map +1 -0
- package/cjs/scale/global-scale.js +2 -1
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/series/area/area.d.ts +2 -0
- package/cjs/series/area/area.js +15 -9
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/interface.d.ts +5 -5
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +6 -0
- package/cjs/series/bar/bar.js +24 -8
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +5 -4
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +10 -11
- package/cjs/series/base/base-series.js +53 -31
- package/cjs/series/base/base-series.js.map +1 -1
- package/{esm/series/box-plot/boxPlot.d.ts → cjs/series/box-plot/box-plot.d.ts} +2 -0
- package/cjs/series/box-plot/{boxPlot.js → box-plot.js} +16 -6
- package/cjs/series/box-plot/box-plot.js.map +1 -0
- package/cjs/series/box-plot/interface.d.ts +3 -2
- package/cjs/series/box-plot/interface.js.map +1 -1
- package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
- package/cjs/series/circle-packing/circle-packing.js +13 -8
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/interface.d.ts +5 -4
- package/cjs/series/circle-packing/interface.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +6 -8
- package/cjs/series/dot/dot.js +43 -17
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/interface.d.ts +10 -10
- package/cjs/series/dot/interface.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +12 -2
- package/cjs/series/funnel/funnel.js +84 -23
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +16 -15
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
- package/cjs/series/gauge/gauge-pointer.js +22 -6
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +3 -2
- package/cjs/series/gauge/gauge.js +26 -17
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +12 -11
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +3 -1
- package/cjs/series/heatmap/heatmap.js +18 -9
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/heatmap/interface.d.ts +6 -5
- package/cjs/series/heatmap/interface.js.map +1 -1
- package/cjs/series/interface/common.d.ts +56 -1
- package/cjs/series/interface/common.js +24 -1
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +2 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/line/line.d.ts +2 -0
- package/cjs/series/line/line.js +7 -5
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/interface.d.ts +4 -4
- package/cjs/series/link/interface.js.map +1 -1
- package/cjs/series/link/link.d.ts +4 -7
- package/cjs/series/link/link.js +20 -14
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/map.d.ts +2 -0
- package/cjs/series/map/map.js +13 -6
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +4 -3
- package/cjs/series/mixin/line-mixin.js +15 -7
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +7 -6
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +8 -3
- package/cjs/series/pie/pie.js +61 -33
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +2 -0
- package/cjs/series/progress/circular/circular.js +16 -9
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/interface.d.ts +5 -4
- package/cjs/series/progress/circular/interface.js.map +1 -1
- package/cjs/series/progress/linear/interface.d.ts +6 -5
- package/cjs/series/progress/linear/interface.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +2 -0
- package/cjs/series/progress/linear/linear.js +31 -21
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +5 -4
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +2 -0
- package/cjs/series/radar/radar.js +9 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +2 -0
- package/cjs/series/range-area/range-area.js +4 -3
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/interface.d.ts +9 -8
- package/cjs/series/range-column/interface.js.map +1 -1
- package/cjs/series/range-column/rangeColumn.d.ts +2 -0
- package/cjs/series/range-column/rangeColumn.js +28 -19
- package/cjs/series/range-column/rangeColumn.js.map +1 -1
- package/cjs/series/rose/interface.d.ts +3 -2
- package/cjs/series/rose/interface.js.map +1 -1
- package/cjs/series/rose/rose.d.ts +2 -0
- package/cjs/series/rose/rose.js +14 -13
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +7 -6
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -0
- package/cjs/series/sankey/sankey.js +25 -22
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/interface.d.ts +6 -5
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +2 -0
- package/cjs/series/scatter/scatter.js +15 -10
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/interface.d.ts +5 -4
- package/cjs/series/sunburst/interface.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +3 -1
- package/cjs/series/sunburst/sunburst.js +9 -4
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/interface.d.ts +9 -8
- package/cjs/series/treemap/interface.js.map +1 -1
- package/cjs/series/treemap/treemap.d.ts +2 -0
- package/cjs/series/treemap/treemap.js +19 -6
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/waterfall/interface.d.ts +6 -5
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +2 -0
- package/cjs/series/waterfall/waterfall.js +15 -5
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +7 -6
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.d.ts +4 -3
- package/cjs/series/word-cloud/word-cloud.js +22 -11
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/theme/buildin-theme/config.d.ts +1 -4
- package/cjs/theme/buildin-theme/config.js +2 -18
- package/cjs/theme/buildin-theme/config.js.map +1 -1
- package/cjs/theme/buildin-theme/dark.js.map +1 -1
- package/cjs/theme/buildin-theme/light/color-scheme.js +14 -1
- package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.js +22 -0
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
- package/cjs/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
- package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
- package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js +22 -0
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
- package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +25 -0
- package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/crosshair.js +9 -5
- package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/index.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/index.js +32 -0
- package/cjs/theme/buildin-theme/light/component/index.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +3 -3
- package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/legend/continuous.js +60 -0
- package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +17 -6
- package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +3 -3
- package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/map-label.d.ts +2 -0
- package/cjs/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +8 -8
- package/cjs/theme/buildin-theme/light/component/map-label.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/player.js +20 -11
- package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/title.js +19 -3
- package/cjs/theme/buildin-theme/light/component/title.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/tooltip.js +7 -3
- package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/cjs/theme/buildin-theme/light/constants.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/constants.js +16 -0
- package/cjs/theme/buildin-theme/light/constants.js.map +1 -0
- package/cjs/theme/buildin-theme/light/index.js +5 -20
- package/cjs/theme/buildin-theme/light/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/mark.d.ts +3 -0
- package/cjs/theme/buildin-theme/light/mark.js +72 -0
- package/cjs/theme/buildin-theme/light/mark.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/area.js +2 -12
- package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/bar.js +2 -2
- package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/bar3d.js +2 -2
- package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/series/box-plot.js +12 -0
- package/cjs/theme/buildin-theme/light/series/box-plot.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/circular-progress.js +11 -1
- package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/funnel.js +8 -5
- package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/funnel3d.js +9 -6
- package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/gauge.js +6 -1
- package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/index.js +5 -2
- package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/line.js +2 -7
- package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/linear-progress.js +5 -0
- package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/map.js +8 -4
- package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/pie.js +9 -2
- package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/pie3d.js +4 -3
- package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/radar.js +2 -12
- package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js +2 -2
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/rose.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/series/rose.js +20 -0
- package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/sankey.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/series/sankey.js +14 -0
- package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/scatter.js +10 -4
- package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/treemap.js +4 -4
- package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/waterfall.js +3 -3
- package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
- package/cjs/theme/color-scheme/interface.d.ts +16 -8
- package/cjs/theme/color-scheme/interface.js.map +1 -1
- package/cjs/theme/color-scheme/util.d.ts +6 -3
- package/cjs/theme/color-scheme/util.js +39 -10
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/interface.d.ts +22 -38
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/theme/theme-manager.d.ts +1 -0
- package/cjs/theme/theme-manager.js +5 -2
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/typings/spec/chart.d.ts +1 -1
- package/cjs/typings/spec/chart.js.map +1 -1
- package/cjs/typings/visual.d.ts +13 -12
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/color.d.ts +0 -3
- package/cjs/util/color.js +2 -12
- package/cjs/util/color.js.map +1 -1
- package/cjs/util/scale.d.ts +12 -1
- package/cjs/util/scale.js +4 -2
- package/cjs/util/scale.js.map +1 -1
- package/cjs/vchart-all.js +4 -4
- package/cjs/vchart-all.js.map +1 -1
- package/esm/animation/utils.d.ts +2 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base-chart.js +3 -3
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -0
- package/{cjs/chart/boxplot → esm/chart/box-plot}/index.d.ts +1 -1
- package/esm/chart/{boxplot → box-plot}/index.js +1 -1
- package/esm/chart/box-plot/index.js.map +1 -0
- package/esm/chart/box-plot/interface.js.map +1 -0
- package/esm/chart/index.d.ts +3 -1
- package/esm/chart/index.js +5 -1
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/compile/compilable-base.js +1 -1
- package/esm/compile/compiler.d.ts +2 -2
- package/esm/compile/compiler.js +24 -25
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/grammar-item.js +1 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/util.js +1 -1
- package/esm/component/axis/base-axis.d.ts +70 -1
- package/esm/component/axis/base-axis.js +98 -4
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +0 -1
- package/esm/component/axis/cartesian/axis.js +4 -7
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +0 -1
- package/esm/component/axis/polar/axis.js +4 -7
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/utils.d.ts +13 -70
- package/esm/component/axis/utils.js +12 -99
- package/esm/component/axis/utils.js.map +1 -1
- package/esm/component/base/base-component.d.ts +0 -5
- package/esm/component/base/base-component.js +7 -20
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.d.ts +1 -1
- package/esm/component/base/util.js +18 -9
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +0 -1
- package/esm/component/crosshair/base.js +1 -4
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js +4 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +2 -2
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/index.js +1 -1
- package/esm/component/interface/index.d.ts +1 -0
- package/esm/component/interface/index.js +2 -0
- package/esm/component/interface/index.js.map +1 -1
- package/esm/component/interface/theme.d.ts +38 -0
- package/esm/component/interface/theme.js +2 -0
- package/esm/component/interface/theme.js.map +1 -0
- package/esm/component/label/label.d.ts +0 -1
- package/esm/component/label/label.js +12 -6
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/legend/base-legend.js +5 -2
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/legend.d.ts +1 -1
- package/esm/component/legend/continuous/legend.js +2 -2
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -1
- package/esm/component/legend/discrete/legend.js +2 -2
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +4 -4
- package/esm/component/map-label/component.js +1 -5
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/map-label/interface.d.ts +6 -4
- package/esm/component/map-label/interface.js.map +1 -1
- package/esm/component/marker/utils.js +14 -9
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/interface/theme.d.ts +2 -1
- package/esm/component/player/interface/theme.js.map +1 -1
- package/esm/component/player/player.d.ts +0 -1
- package/esm/component/player/player.js +0 -3
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/title/interface/theme.d.ts +4 -2
- package/esm/component/title/interface/theme.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -1
- package/esm/component/title/title.js +3 -6
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/handler/base.d.ts +5 -3
- package/esm/component/tooltip/handler/base.js +9 -8
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +6 -6
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -3
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +1 -1
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/box-plot.js +1 -2
- package/esm/constant/label.js +2 -1
- package/esm/core/factory.d.ts +1 -0
- package/esm/core/factory.js +3 -0
- package/esm/core/factory.js.map +1 -1
- package/esm/core/instance-manager.d.ts +9 -0
- package/esm/core/instance-manager.js +20 -0
- package/esm/core/instance-manager.js.map +1 -0
- package/esm/core/interface.js +1 -2
- package/esm/core/vchart.d.ts +2 -6
- package/esm/core/vchart.js +10 -22
- package/esm/core/vchart.js.map +1 -1
- package/esm/event/event.js +2 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/mark/arc.d.ts +1 -1
- package/esm/mark/arc.js +3 -2
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.d.ts +3 -2
- package/esm/mark/area.js +7 -3
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-mark.js +4 -3
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/base/index.d.ts +1 -2
- package/esm/mark/base/index.js +1 -3
- package/esm/mark/base/index.js.map +1 -1
- package/{cjs/mark/boxPlot.d.ts → esm/mark/box-plot.d.ts} +1 -1
- package/esm/mark/{boxPlot.js → box-plot.js} +2 -2
- package/esm/mark/box-plot.js.map +1 -0
- package/esm/mark/component.d.ts +1 -1
- package/esm/mark/component.js +1 -1
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/line.d.ts +1 -1
- package/esm/mark/line.js +1 -1
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/linkPath.d.ts +1 -1
- package/esm/mark/linkPath.js +3 -2
- package/esm/mark/linkPath.js.map +1 -1
- package/esm/mark/mark-set/index.d.ts +6 -5
- package/esm/mark/mark-set/index.js +16 -13
- package/esm/mark/mark-set/index.js.map +1 -1
- package/esm/mark/path.d.ts +1 -1
- package/esm/mark/path.js +1 -1
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon.d.ts +1 -1
- package/esm/mark/polygon.js +2 -2
- package/esm/mark/polygon.js.map +1 -1
- package/esm/mark/progress-arc.js +1 -1
- package/esm/mark/rect.d.ts +1 -1
- package/esm/mark/rect.js +4 -3
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/rule.d.ts +1 -1
- package/esm/mark/rule.js +2 -2
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.d.ts +1 -1
- package/esm/mark/symbol.js +4 -3
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.d.ts +1 -1
- package/esm/mark/text.js +4 -3
- package/esm/mark/text.js.map +1 -1
- package/esm/model/base-model.d.ts +12 -5
- package/esm/model/base-model.js +50 -29
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +8 -2
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.js +19 -17
- package/esm/model/layout-item.js.map +1 -1
- package/esm/region/region.d.ts +1 -4
- package/esm/region/region.js +15 -13
- package/esm/region/region.js.map +1 -1
- package/esm/scale/color-ordinal-scale.d.ts +8 -0
- package/esm/scale/color-ordinal-scale.js +18 -0
- package/esm/scale/color-ordinal-scale.js.map +1 -0
- package/esm/scale/global-scale.js +3 -2
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/series/area/area.d.ts +2 -0
- package/esm/series/area/area.js +15 -6
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/interface.d.ts +5 -5
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/bar/bar.d.ts +6 -0
- package/esm/series/bar/bar.js +25 -7
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +5 -4
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +10 -11
- package/esm/series/base/base-series.js +59 -30
- package/esm/series/base/base-series.js.map +1 -1
- package/{cjs/series/box-plot/boxPlot.d.ts → esm/series/box-plot/box-plot.d.ts} +2 -0
- package/esm/series/box-plot/{boxPlot.js → box-plot.js} +17 -6
- package/esm/series/box-plot/box-plot.js.map +1 -0
- package/esm/series/box-plot/interface.d.ts +3 -2
- package/esm/series/box-plot/interface.js.map +1 -1
- package/esm/series/box-plot/tooltip-helper.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +2 -0
- package/esm/series/circle-packing/circle-packing.js +12 -3
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/interface.d.ts +5 -4
- package/esm/series/circle-packing/interface.js.map +1 -1
- package/esm/series/dot/dot.d.ts +6 -8
- package/esm/series/dot/dot.js +47 -16
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/interface.d.ts +10 -10
- package/esm/series/dot/interface.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +12 -2
- package/esm/series/funnel/funnel.js +81 -22
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +16 -15
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +2 -0
- package/esm/series/gauge/gauge-pointer.js +23 -6
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +3 -2
- package/esm/series/gauge/gauge.js +32 -18
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +12 -11
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +3 -1
- package/esm/series/heatmap/heatmap.js +19 -9
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/heatmap/interface.d.ts +6 -5
- package/esm/series/heatmap/interface.js.map +1 -1
- package/esm/series/interface/common.d.ts +56 -1
- package/esm/series/interface/common.js +24 -1
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +2 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/line/line.d.ts +2 -0
- package/esm/series/line/line.js +9 -4
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/interface.d.ts +4 -4
- package/esm/series/link/interface.js.map +1 -1
- package/esm/series/link/link.d.ts +4 -7
- package/esm/series/link/link.js +22 -15
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/map.d.ts +2 -0
- package/esm/series/map/map.js +13 -6
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +4 -3
- package/esm/series/mixin/line-mixin.js +16 -4
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/interface.d.ts +7 -6
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +8 -3
- package/esm/series/pie/pie.js +60 -28
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +2 -0
- package/esm/series/progress/circular/circular.js +16 -6
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/interface.d.ts +5 -4
- package/esm/series/progress/circular/interface.js.map +1 -1
- package/esm/series/progress/linear/interface.d.ts +6 -5
- package/esm/series/progress/linear/interface.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +2 -0
- package/esm/series/progress/linear/linear.js +31 -20
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/interface.d.ts +5 -4
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.d.ts +2 -0
- package/esm/series/radar/radar.js +12 -5
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +2 -0
- package/esm/series/range-area/range-area.js +2 -4
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/interface.d.ts +9 -8
- package/esm/series/range-column/interface.js.map +1 -1
- package/esm/series/range-column/rangeColumn.d.ts +2 -0
- package/esm/series/range-column/rangeColumn.js +28 -20
- package/esm/series/range-column/rangeColumn.js.map +1 -1
- package/esm/series/rose/interface.d.ts +3 -2
- package/esm/series/rose/interface.js.map +1 -1
- package/esm/series/rose/rose.d.ts +2 -0
- package/esm/series/rose/rose.js +16 -14
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +7 -6
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -0
- package/esm/series/sankey/sankey.js +26 -23
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/interface.d.ts +6 -5
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +2 -0
- package/esm/series/scatter/scatter.js +15 -9
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/interface.d.ts +5 -4
- package/esm/series/sunburst/interface.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +3 -1
- package/esm/series/sunburst/sunburst.js +11 -4
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/interface.d.ts +9 -8
- package/esm/series/treemap/interface.js.map +1 -1
- package/esm/series/treemap/treemap.d.ts +2 -0
- package/esm/series/treemap/treemap.js +21 -6
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/waterfall/interface.d.ts +6 -5
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +2 -0
- package/esm/series/waterfall/waterfall.js +15 -6
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +7 -6
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.d.ts +4 -3
- package/esm/series/word-cloud/word-cloud.js +24 -11
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/theme/buildin-theme/config.d.ts +1 -4
- package/esm/theme/buildin-theme/config.js +1 -21
- package/esm/theme/buildin-theme/config.js.map +1 -1
- package/esm/theme/buildin-theme/dark.js.map +1 -1
- package/esm/theme/buildin-theme/light/color-scheme.js +14 -1
- package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/axis/band-axis.js +18 -0
- package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
- package/esm/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
- package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
- package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.js +18 -0
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
- package/esm/theme/buildin-theme/light/component/{polar-axis.js → axis/polar-axis.js} +11 -3
- package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/crosshair.js +8 -4
- package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/index.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/index.js +62 -0
- package/esm/theme/buildin-theme/light/component/index.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +1 -1
- package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/legend/continuous.js +54 -0
- package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +14 -5
- package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +1 -1
- package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/map-label.d.ts +2 -0
- package/esm/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +5 -3
- package/esm/theme/buildin-theme/light/component/map-label.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/player.js +20 -11
- package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/title.js +16 -2
- package/esm/theme/buildin-theme/light/component/title.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/tooltip.js +6 -2
- package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/esm/theme/buildin-theme/light/constants.d.ts +2 -0
- package/esm/theme/buildin-theme/light/constants.js +10 -0
- package/esm/theme/buildin-theme/light/constants.js.map +1 -0
- package/esm/theme/buildin-theme/light/index.js +7 -50
- package/esm/theme/buildin-theme/light/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/mark.d.ts +3 -0
- package/esm/theme/buildin-theme/light/mark.js +68 -0
- package/esm/theme/buildin-theme/light/mark.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/area.js +2 -12
- package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/bar.js +2 -2
- package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/bar3d.js +2 -2
- package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
- package/esm/theme/buildin-theme/light/series/box-plot.js +8 -0
- package/esm/theme/buildin-theme/light/series/box-plot.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/circular-progress.js +11 -1
- package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/funnel.js +7 -2
- package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/funnel3d.js +8 -3
- package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/gauge.js +6 -1
- package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/index.js +10 -1
- package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/line.js +2 -7
- package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/linear-progress.js +5 -0
- package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/map.js +8 -4
- package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/pie.js +9 -2
- package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/pie3d.js +4 -3
- package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/radar.js +2 -12
- package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/rangeColumn.js +2 -2
- package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/rose.d.ts +2 -0
- package/esm/theme/buildin-theme/light/series/rose.js +16 -0
- package/esm/theme/buildin-theme/light/series/rose.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/sankey.d.ts +2 -0
- package/esm/theme/buildin-theme/light/series/sankey.js +10 -0
- package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/scatter.js +10 -4
- package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/treemap.js +3 -1
- package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/waterfall.js +3 -1
- package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
- package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
- package/esm/theme/color-scheme/interface.d.ts +16 -8
- package/esm/theme/color-scheme/interface.js.map +1 -1
- package/esm/theme/color-scheme/util.d.ts +6 -3
- package/esm/theme/color-scheme/util.js +31 -7
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/interface.d.ts +22 -38
- package/esm/theme/interface.js.map +1 -1
- package/esm/theme/theme-manager.d.ts +1 -0
- package/esm/theme/theme-manager.js +6 -1
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/typings/spec/chart.d.ts +1 -1
- package/esm/typings/spec/chart.js.map +1 -1
- package/esm/typings/visual.d.ts +13 -12
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/color.d.ts +0 -3
- package/esm/util/color.js +0 -10
- package/esm/util/color.js.map +1 -1
- package/esm/util/scale.d.ts +12 -1
- package/esm/util/scale.js +6 -2
- package/esm/util/scale.js.map +1 -1
- package/esm/vchart-all.js +5 -5
- package/esm/vchart-all.js.map +1 -1
- package/package.json +1 -1
- package/cjs/chart/boxplot/boxPlot.js.map +0 -1
- package/cjs/chart/boxplot/index.js.map +0 -1
- package/cjs/chart/boxplot/interface.js.map +0 -1
- package/cjs/component/map-label/config.d.ts +0 -2
- package/cjs/component/map-label/config.js.map +0 -1
- package/cjs/mark/boxPlot.js.map +0 -1
- package/cjs/series/box-plot/boxPlot.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/color-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/common-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/polar-axis.js +0 -19
- package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/size-legend.js.map +0 -1
- package/esm/chart/boxplot/boxPlot.js.map +0 -1
- package/esm/chart/boxplot/index.js.map +0 -1
- package/esm/chart/boxplot/interface.js.map +0 -1
- package/esm/component/map-label/config.d.ts +0 -2
- package/esm/component/map-label/config.js.map +0 -1
- package/esm/series/box-plot/boxPlot.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/color-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/common-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/size-legend.js.map +0 -1
- /package/cjs/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
- /package/cjs/chart/{boxplot → box-plot}/interface.d.ts +0 -0
- /package/cjs/chart/{boxplot → box-plot}/interface.js +0 -0
- /package/esm/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
- /package/esm/chart/{boxplot → box-plot}/interface.d.ts +0 -0
- /package/esm/chart/{boxplot → box-plot}/interface.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/waterfall/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["import type { IRuleMark } from '../../mark/rule';\nimport { isNil } from '@visactor/vutils';\nimport {\n AttributeLevel,\n PREFIX,\n STACK_FIELD_END,\n STACK_FIELD_START,\n WaterfallDefaultSeriesField\n} from '../../constant/index';\nimport { waterfall, waterfallFillTotal } from '../../data/transforms/waterfall';\nimport { BarSeries } from '../bar/bar';\nimport { valueInScaleRange } from '../../util';\nimport type { WaterfallAppearPreset } from './animation';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';\nimport { SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { ITransformOptions, DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { dataViewFromDataView } from '../../data/initialize';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings';\nimport type { IBarAnimationParams } from '../bar/animation';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class WaterfallSeries extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.waterfall;\n type = SeriesTypeEnum.waterfall;\n\n protected declare _theme: Maybe<IWaterfallSeriesTheme>;\n\n protected _stack: boolean = true;\n\n protected _totalData?: SeriesData;\n\n protected declare _spec: IWaterfallSeriesSpec;\n\n protected _leaderLineMark: IRuleMark = null;\n protected _stackLabelMark: ITextMark = null;\n protected _labelMark: ITextMark = null;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._stack = false;\n // 不支持多维度;\n this._fieldX = [this._fieldX[0]];\n this._fieldY = [this._fieldY[0]];\n if (isNil(this._seriesField)) {\n this._seriesField = WaterfallDefaultSeriesField;\n }\n }\n\n getSeriesKeys(): string[] {\n if (this._seriesField === WaterfallDefaultSeriesField) {\n return [\n this._theme.seriesFieldName.increase,\n this._theme.seriesFieldName.decrease,\n this._theme.seriesFieldName.total\n ];\n }\n return super.getSeriesKeys();\n }\n\n protected initData(): void {\n super.initData();\n registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);\n registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall);\n // 如果要在最后添加总计\n if (isNil(this._spec.total) || this._spec.total.type === 'end') {\n this._rawData?.transform(\n {\n type: 'waterfallFillTotal',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField()[0],\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n total: this._spec.total\n }\n },\n false\n );\n }\n // 总计数据\n const totalData = dataViewFromDataView(this.getViewData(), this._dataSet, {\n name: `${PREFIX}_series_${this.id}_totalData`\n });\n this.getViewData().target.removeListener('change', totalData.reRunAllTransform);\n this._totalData = new SeriesData(this._option, totalData);\n totalData.transform(\n {\n type: 'waterfall',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField()[0],\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n startAs: STACK_FIELD_START,\n endAs: STACK_FIELD_END,\n total: this._spec.total,\n groupData: () => this.getGroups().groupData\n }\n },\n false\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this.direction === 'horizontal' ? this._fieldY[0] : this.getStackValueField(),\n xField: this.direction === 'horizontal' ? this.getStackValueField() : this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<WaterfallAppearPreset>)?.preset;\n\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.waterfall(animationParams, appearPreset),\n userAnimationConfig('bar', this._spec),\n { dataIndex }\n )\n );\n\n if (this._labelMark) {\n this._labelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig('label', this._spec), { dataIndex })\n );\n }\n }\n\n viewDataUpdate(d: DataView): void {\n this._totalData.getDataView().reRunAllTransform();\n this._totalData.updateData();\n super.viewDataUpdate(d);\n }\n /**\n * data\n */\n // waterfall 不支持任何的 data filter\n addViewDataFilter(_option: ITransformOptions) {\n // do nothing\n }\n reFilterViewData() {\n // do nothing\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n this._totalData.updateData();\n }\n\n initMark(): void {\n super.initMark();\n const leaderLine = this._createMark(MarkTypeEnum.rule, 'leaderLine', {\n key: 'index'\n }) as IRuleMark;\n if (leaderLine) {\n this._leaderLineMark = leaderLine;\n leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n const stackLabel = this._createMark(MarkTypeEnum.text, 'stackLabel', {\n key: 'index'\n }) as ITextMark;\n if (stackLabel) {\n this._stackLabelMark = stackLabel;\n stackLabel.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n }\n\n protected _totalPositionX(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition } = this._xAxisHelper;\n if (this._direction === Direction.vertical) {\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n (this._rectMark.getAttribute('width', datum) as number) * pos\n );\n }\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n\n protected _totalPositionY(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition } = this._yAxisHelper;\n if (this._direction === Direction.vertical) {\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n (this._rectMark.getAttribute('height', datum) as number) * pos\n );\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n if (this._leaderLineMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionX(datum, 'lastIndex', 1);\n },\n x1: (datum: Datum) => this._totalPositionX(datum, 'index', 0),\n y: (datum: Datum) => this._totalPositionY(datum, 'lastEnd', 0),\n y1: (datum: Datum) => this._totalPositionY(datum, datum.isTotal ? 'end' : 'start', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => this._totalPositionX(datum, 'lastEnd', 0),\n x1: (datum: Datum) => this._totalPositionX(datum, datum.isTotal ? 'end' : 'start', 0),\n y: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionY(datum, 'lastIndex', 1);\n },\n y1: (datum: Datum) => this._totalPositionY(datum, 'index', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n if (this._stackLabelMark) {\n this.setMarkStyle(this._stackLabelMark, {\n text: (datum: Datum) => {\n const text = this._spec.stackLabel?.valueType === 'absolute' ? datum.end : datum.end - datum.start;\n if (this._spec.stackLabel?.formatMethod) {\n return this._spec.stackLabel.formatMethod(text, datum);\n }\n return text;\n }\n });\n const pos = this._spec.stackLabel?.position || 'withChange';\n const offset = this._spec.stackLabel?.offset || 0;\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => this._totalPositionX(datum, 'index', 0.5),\n y: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionY(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'start' : 'end') + offset;\n }\n return this._totalPositionY(datum, 'end') + (datum.end >= datum.start ? -offset : offset);\n },\n textBaseline: (datum: Datum) => {\n if (pos === 'middle') {\n return 'middle';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'bottom';\n }\n return 'top';\n }\n });\n } else {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionX(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'start' : 'end') - offset;\n }\n return this._totalPositionX(datum, 'end') + (datum.end >= datum.start ? offset : -offset);\n },\n y: (datum: Datum) => this._totalPositionY(datum, 'index', 0.5),\n textAlign: (datum: Datum) => {\n if (pos === 'middle') {\n return 'center';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'left';\n }\n return 'right';\n }\n });\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/waterfall/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["import type { IRuleMark } from '../../mark/rule';\nimport { isNil } from '@visactor/vutils';\nimport {\n AttributeLevel,\n PREFIX,\n STACK_FIELD_END,\n STACK_FIELD_START,\n WaterfallDefaultSeriesField\n} from '../../constant/index';\nimport { waterfall, waterfallFillTotal } from '../../data/transforms/waterfall';\nimport { BarSeries } from '../bar/bar';\nimport { valueInScaleRange } from '../../util';\nimport type { WaterfallAppearPreset } from './animation';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { ITransformOptions, DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { dataViewFromDataView } from '../../data/initialize';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings';\nimport type { IBarAnimationParams } from '../bar/animation';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class WaterfallSeries extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.waterfall;\n type = SeriesTypeEnum.waterfall;\n\n static readonly mark: SeriesMarkMap = {\n ...BarSeries.mark,\n [SeriesMarkNameEnum.leaderLine]: { name: SeriesMarkNameEnum.leaderLine, type: MarkTypeEnum.rule },\n [SeriesMarkNameEnum.stackLabel]: { name: SeriesMarkNameEnum.stackLabel, type: MarkTypeEnum.text }\n };\n\n protected declare _theme: Maybe<IWaterfallSeriesTheme>;\n\n protected _stack: boolean = true;\n\n protected _totalData?: SeriesData;\n\n protected declare _spec: IWaterfallSeriesSpec;\n\n protected _leaderLineMark: IRuleMark = null;\n protected _stackLabelMark: ITextMark = null;\n protected _labelMark: ITextMark = null;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._stack = false;\n // 不支持多维度;\n this._fieldX = [this._fieldX[0]];\n this._fieldY = [this._fieldY[0]];\n if (isNil(this._seriesField)) {\n this._seriesField = WaterfallDefaultSeriesField;\n }\n }\n\n getSeriesKeys(): string[] {\n if (this._seriesField === WaterfallDefaultSeriesField) {\n return [\n this._theme.seriesFieldName.increase,\n this._theme.seriesFieldName.decrease,\n this._theme.seriesFieldName.total\n ];\n }\n return super.getSeriesKeys();\n }\n\n protected initData(): void {\n super.initData();\n registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);\n registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall);\n // 如果要在最后添加总计\n if (isNil(this._spec.total) || this._spec.total.type === 'end') {\n this._rawData?.transform(\n {\n type: 'waterfallFillTotal',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField()[0],\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n total: this._spec.total\n }\n },\n false\n );\n }\n // 总计数据\n const totalData = dataViewFromDataView(this.getViewData(), this._dataSet, {\n name: `${PREFIX}_series_${this.id}_totalData`\n });\n this.getViewData().target.removeListener('change', totalData.reRunAllTransform);\n this._totalData = new SeriesData(this._option, totalData);\n totalData.transform(\n {\n type: 'waterfall',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField()[0],\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n startAs: STACK_FIELD_START,\n endAs: STACK_FIELD_END,\n total: this._spec.total,\n groupData: () => this.getGroups().groupData\n }\n },\n false\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this.direction === 'horizontal' ? this._fieldY[0] : this.getStackValueField(),\n xField: this.direction === 'horizontal' ? this.getStackValueField() : this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<WaterfallAppearPreset>)?.preset;\n\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.waterfall(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._labelMark) {\n this._labelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n }\n\n viewDataUpdate(d: DataView): void {\n this._totalData.getDataView().reRunAllTransform();\n this._totalData.updateData();\n super.viewDataUpdate(d);\n }\n /**\n * data\n */\n // waterfall 不支持任何的 data filter\n addViewDataFilter(_option: ITransformOptions) {\n // do nothing\n }\n reFilterViewData() {\n // do nothing\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n this._totalData.updateData();\n }\n\n initMark(): void {\n super.initMark();\n const leaderLine = this._createMark(WaterfallSeries.mark.leaderLine, {\n key: 'index'\n }) as IRuleMark;\n if (leaderLine) {\n this._leaderLineMark = leaderLine;\n leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n const stackLabel = this._createMark(WaterfallSeries.mark.stackLabel, {\n key: 'index'\n }) as ITextMark;\n if (stackLabel) {\n this._stackLabelMark = stackLabel;\n stackLabel.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n }\n\n protected _totalPositionX(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition } = this._xAxisHelper;\n if (this._direction === Direction.vertical) {\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n (this._rectMark.getAttribute('width', datum) as number) * pos\n );\n }\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n\n protected _totalPositionY(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition } = this._yAxisHelper;\n if (this._direction === Direction.vertical) {\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n (this._rectMark.getAttribute('height', datum) as number) * pos\n );\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n if (this._leaderLineMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionX(datum, 'lastIndex', 1);\n },\n x1: (datum: Datum) => this._totalPositionX(datum, 'index', 0),\n y: (datum: Datum) => this._totalPositionY(datum, 'lastEnd', 0),\n y1: (datum: Datum) => this._totalPositionY(datum, datum.isTotal ? 'end' : 'start', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => this._totalPositionX(datum, 'lastEnd', 0),\n x1: (datum: Datum) => this._totalPositionX(datum, datum.isTotal ? 'end' : 'start', 0),\n y: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionY(datum, 'lastIndex', 1);\n },\n y1: (datum: Datum) => this._totalPositionY(datum, 'index', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n if (this._stackLabelMark) {\n this.setMarkStyle(this._stackLabelMark, {\n text: (datum: Datum) => {\n const text = this._spec.stackLabel?.valueType === 'absolute' ? datum.end : datum.end - datum.start;\n if (this._spec.stackLabel?.formatMethod) {\n return this._spec.stackLabel.formatMethod(text, datum);\n }\n return text;\n }\n });\n const pos = this._spec.stackLabel?.position || 'withChange';\n const offset = this._spec.stackLabel?.offset || 0;\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => this._totalPositionX(datum, 'index', 0.5),\n y: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionY(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'start' : 'end') + offset;\n }\n return this._totalPositionY(datum, 'end') + (datum.end >= datum.start ? -offset : offset);\n },\n textBaseline: (datum: Datum) => {\n if (pos === 'middle') {\n return 'middle';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'bottom';\n }\n return 'top';\n }\n });\n } else {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionX(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'start' : 'end') - offset;\n }\n return this._totalPositionX(datum, 'end') + (datum.end >= datum.start ? offset : -offset);\n },\n y: (datum: Datum) => this._totalPositionY(datum, 'index', 0.5),\n textAlign: (datum: Datum) => {\n if (pos === 'middle') {\n return 'center';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'left';\n }\n return 'right';\n }\n });\n }\n }\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, IChartPadding } from '../../typings';
|
|
2
2
|
import type { IAnimationSpec } from '../../animation/spec';
|
|
3
|
+
import type { SeriesMarkNameEnum } from '../interface';
|
|
3
4
|
export declare enum WordCloudShapeEnum {
|
|
4
5
|
triangleForward = "triangleForward",
|
|
5
6
|
triangle = "triangle",
|
|
@@ -76,11 +77,11 @@ export interface IWordCloudSeriesBaseSpec extends ISeriesSpec, IAnimationSpec<st
|
|
|
76
77
|
random?: boolean;
|
|
77
78
|
wordCloudConfig?: WordCloudConfigType;
|
|
78
79
|
wordCloudShapeConfig?: WordCloudShapeConfigType;
|
|
79
|
-
word?: IMarkSpec<ITextMarkSpec> & {
|
|
80
|
+
[SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {
|
|
80
81
|
padding?: number;
|
|
81
82
|
formatMethod?: (text: string | string[], datum?: any) => string | string[];
|
|
82
83
|
};
|
|
83
|
-
fillingWord?: IMarkSpec<ITextMarkSpec> & {
|
|
84
|
+
[SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {
|
|
84
85
|
padding?: number;
|
|
85
86
|
};
|
|
86
87
|
chartPadding?: IChartPadding;
|
|
@@ -89,11 +90,11 @@ export interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {
|
|
|
89
90
|
type: 'wordCloud';
|
|
90
91
|
}
|
|
91
92
|
export interface IWordCloudSeriesTheme {
|
|
92
|
-
word?: IMarkSpec<ITextMarkSpec> & {
|
|
93
|
+
[SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {
|
|
93
94
|
padding?: number;
|
|
94
95
|
formatMethod?: (text: string | string[], datum?: any) => string | string[];
|
|
95
96
|
};
|
|
96
|
-
fillingWord?: IMarkSpec<ITextMarkSpec> & {
|
|
97
|
+
[SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {
|
|
97
98
|
padding?: number;
|
|
98
99
|
formatMethod?: (text: string | string[], datum?: any) => string | string[];
|
|
99
100
|
};
|
|
@@ -104,11 +105,11 @@ export interface IWordCloud3dSeriesSpec extends IWordCloudSeriesBaseSpec {
|
|
|
104
105
|
postProjection?: 'StereographicProjection';
|
|
105
106
|
}
|
|
106
107
|
export interface IWordCloud3dSeriesTheme {
|
|
107
|
-
|
|
108
|
+
[SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {
|
|
108
109
|
padding?: number;
|
|
109
110
|
formatMethod?: (text: string | string[], datum?: any) => string | string[];
|
|
110
111
|
};
|
|
111
|
-
fillingWord?: IMarkSpec<ITextMarkSpec> & {
|
|
112
|
+
[SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {
|
|
112
113
|
padding?: number;
|
|
113
114
|
formatMethod?: (text: string | string[], datum?: any) => string | string[];
|
|
114
115
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/word-cloud/interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/series/word-cloud/interface.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,yDAAmC,CAAA;IACnC,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAS7B","file":"interface.js","sourcesContent":["import type { ITextMarkSpec, IMarkSpec, ISeriesSpec, IChartPadding } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport enum WordCloudShapeEnum {\n triangleForward = 'triangleForward', // 右箭头\n triangle = 'triangle', // 三角形\n diamond = 'diamond', // 菱形\n square = 'square', // 方形\n star = 'star', // 星形\n cardioid = 'cardioid', // 心形\n circle = 'circle', // 圆形\n pentagon = 'pentagon' // 五角形\n}\n\nexport type WordCloudShapeType = keyof typeof WordCloudShapeEnum;\n\nexport type EllipsisType = {\n /**\n * 超长文本替代字符串\n * @default '...'\n */\n string?: string;\n /**\n * 限制长度\n * @description 超过该长度的部分展示用户指定字符串\n */\n limitLength?: number;\n};\n\nexport type ZoomToFitType = {\n /**\n * 是否缩小\n */\n shrink?: boolean;\n /**\n * 是否放大\n */\n enlarge?: boolean;\n /**\n * 缩小的最小字号\n * @description shrink: true时生效\n */\n fontSizeLimitMin?: number;\n /**\n * 放大的最大字号\n * @description enlarge: true时生效\n */\n fontSizeLimitMax?: number;\n};\n/**\n * 超出画布的超长文本处理方式\n * @description 'clip': 绘制超长文本,超出画布的部分裁剪掉; 'hidden': 不绘制超长文本; 'ellipsis'绘制超长文本,且使用用户指定的字符串代替超出的文本\n */\nexport type DrawOutOfBoundType = 'clip' | 'hidden' | 'ellipsis';\n\nexport type WordCloudConfigType = {\n /**\n * 超长文本省略策略, 超出画布\n * @default 'hidden'\n */\n drawOutOfBound?: DrawOutOfBoundType; // 默认hidden\n /**\n * TODO: 省略文本的配置\n */\n ellipsis?: EllipsisType;\n /**\n * 布局模式:\n * 'fast': 快速布局,用于小程序 & 小组件环境\n * 'grid': 基于grid像素布局\n * 'default': 基于像素布局\n */\n layoutMode?: 'fast' | 'grid' | 'default';\n /**\n * 自适应缩放配置\n */\n zoomToFit: ZoomToFitType;\n /**\n * 渐进式渲染配置 - 布局时间\n */\n progressiveTime?: number;\n /**\n * 渐进式渲染配置 - 布局次数\n */\n progressiveStep?: number;\n};\nexport type WordCloudShapeConfigType = {\n /**\n * 填充词 - 颜色通道\n */\n fillingSeriesField?: string;\n /**\n * 填充词 - 颜色列表\n */\n fillingColorList?: string[];\n /**\n * 填充词 - 字体字段\n */\n fillingFontFamilyField?: string;\n /**\n * 填充词 - 字重字段\n */\n fillingFontWeightField?: string;\n /**\n * 填充词 - 字体样式字段\n */\n fillingFontStyleField?: string;\n /**\n * 填充词 - 直接指定 hex 颜色字段\n */\n fillingColorHexField?: string;\n /**\n * 填充词 - 可旋转角度 随机取范围\n */\n fillingRotateAngles?: number[];\n /**\n * 整体布局 - 自动计算核心词时期望的比例\n */\n ratio?: number;\n /**\n * 整体布局 - 是否对输入图片去除白边\n */\n removeWhiteBorder?: boolean;\n /**\n * 整体布局 - 布局模式\n */\n layoutMode?: 'default' | 'ensureMapping' | 'ensureMappingEnlarge';\n /**\n * 填充布局 - 填充文字填充次数\n */\n fillingTimes?: number;\n /**\n * 填充布局 - 填充时 x 的前进范围\n */\n fillingXStep?: number;\n /**\n * 填充布局 - 填充时 y 的前进范围\n */\n fillingYStep?: number;\n /**\n * 填充布局 - 填充时 x 的前进范围(相对宽度比例)\n */\n fillingXRatioStep?: number;\n /**\n * 填充布局 - 填充时 y 的前进范围(相对高度比例)\n */\n fillingYRatioStep?: number;\n /**\n * 填充布局 - 填充文字初始大小\n */\n fillingInitialFontSize?: number;\n /**\n * 填充布局 - 填充文字每次填充大小缩小值\n */\n fillingDeltaFontSize?: number;\n /**\n * 填充布局 - 填充文字初始透明度\n */\n fillingInitialOpacity?: number;\n /**\n * 填充布局 - 填充文字每次透明度缩小值\n */\n fillingDeltaOpacity?: number;\n /**\n * 填充布局 - 单词尝试布局次数\n */\n textLayoutTimes?: number;\n /**\n * 填充布局 - 每次布局失败后,缩小字号的系数\n */\n fontSizeShrinkFactor?: number;\n /**\n * 填充布局 - 布局步长系数\n */\n stepFactor?: number;\n /**\n * 填充布局 - 重要词数\n */\n importantWordCount?: number;\n /**\n * 填充布局 - 字号缩小限制\n */\n globalShinkLimit?: number;\n /**\n * 填充布局 - 每次布局成功后,放大字号的系数\n */\n fontSizeEnlargeFactor?: number;\n /**\n * 填充布局 - 填充词自动计算字号后,每次迭代字号缩小的系数\n */\n fillingDeltaFontSizeFactor?: number;\n /**\n * 填充布局 - 自动计算填充词时期望的比例\n */\n fillingRatio?: number;\n};\n\nexport interface IWordCloudSeriesBaseSpec extends ISeriesSpec, IAnimationSpec<string, string> {\n /**\n * 文本字段\n */\n nameField: string;\n /**\n * 权重字段\n */\n valueField?: string;\n /**\n * 字体字段\n */\n fontFamilyField?: string;\n /**\n * 字重字段\n */\n fontWeightField?: string;\n /**\n * 字体样式字段\n */\n fontStyleField?: string;\n /**\n * 直接指定 hex 颜色字段\n */\n colorHexField?: string;\n /**\n * 颜色模式\n */\n colorMode?: 'linear' | 'ordinal';\n /**\n * 颜色列表\n */\n colorList?: string[];\n /**\n * 可旋转角度 随机取范围\n */\n rotateAngles?: number[];\n /**\n * 字重范围\n * @default [200,500]\n */\n fontWeightRange?: [number, number]; // 需要固定字重大小的话,数组里面的数就配置成一样的\n /**\n * 字体大小范围\n * @description 当valueField存在时,默认值[20,40]; 当valueField不存在时,默认值[10, 10]\n */\n fontSizeRange?: [number, number]; // 需要固定字体大小的话,数组里面的数就配置成一样的\n /**\n * 词云形状\n * @default 'circle'\n */\n maskShape?: string | WordCloudShapeType; // url 或 svg字符串 或 base64,或shape字符串\n /**\n * TODO: 缩放mask时是否保持比例\n */\n keepAspect?: boolean;\n /**\n * 是否开始随机摆放方向(顺时针|逆时针), 主要用于spec测试\n */\n random?: boolean;\n /**\n * 词云特殊配置\n */\n wordCloudConfig?: WordCloudConfigType;\n /**\n * 形状词云特殊配置\n */\n wordCloudShapeConfig?: WordCloudShapeConfigType;\n /**\n * 词云文字图元配置 或 形状词云核心词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距 和 formatMethod: 文本格式化\n */\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n /**\n * 形状词云填充词文字图元配置\n * @description hover配置随图元state,此外增加padding: 字体间距\n * @description 不增加formatMethod的原因:形状词云在做布局时,word和fillingWord用的是同一份数据,即text相同,所以fillingWords的format不会生效\n */\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n // formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n\n /**\n * 从chart配置中传过来的padding属性,用于transform的时候配置size\n */\n chartPadding?: IChartPadding;\n}\n// TODO: 补充 IAnimationSpec 动画类型 @hefeifei\nexport interface IWordCloudSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud';\n}\nexport interface IWordCloudSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n\nexport interface IWordCloud3dSeriesSpec extends IWordCloudSeriesBaseSpec {\n type: 'wordCloud3d';\n depth_3d?: number; // 词云的半径深度\n postProjection?: 'StereographicProjection'; // 词云投影的算法\n}\n\nexport interface IWordCloud3dSeriesTheme {\n [SeriesMarkNameEnum.word]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n [SeriesMarkNameEnum.fillingWord]?: IMarkSpec<ITextMarkSpec> & {\n padding?: number;\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n };\n}\n"]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { ITextMark } from '../../mark/text';
|
|
2
|
+
import type { SeriesMarkMap } from '../interface';
|
|
2
3
|
import { SeriesTypeEnum } from '../interface';
|
|
3
4
|
import type { IWordCloud3dSeriesSpec, IWordCloudSeriesSpec, WordCloudConfigType, WordCloudShapeConfigType, WordCloudShapeType } from './interface';
|
|
4
5
|
import type { Datum, IPoint } from '../../typings';
|
|
5
|
-
import { OrdinalScale } from '@visactor/vscale';
|
|
6
6
|
import { BaseSeries } from '../base/base-series';
|
|
7
7
|
type IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & {
|
|
8
8
|
type: string;
|
|
9
9
|
};
|
|
10
10
|
declare class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {
|
|
11
|
+
static readonly mark: SeriesMarkMap;
|
|
11
12
|
protected _nameField: string;
|
|
12
13
|
protected _valueField?: string;
|
|
13
14
|
setValueField(field: string): void;
|
|
@@ -37,9 +38,9 @@ declare class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWord
|
|
|
37
38
|
initMark(): void;
|
|
38
39
|
initMarkStyle(): void;
|
|
39
40
|
initAnimation(): void;
|
|
40
|
-
protected getWordOrdinalColorScale(field: string, isFillingWord: boolean):
|
|
41
|
+
protected getWordOrdinalColorScale(field: string, isFillingWord: boolean): any;
|
|
41
42
|
getWordColorAttribute(field: string, isFillingWord: boolean): ((datum: Datum) => any) | {
|
|
42
|
-
scale:
|
|
43
|
+
scale: any;
|
|
43
44
|
field: string;
|
|
44
45
|
};
|
|
45
46
|
compile(): void;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.WordCloud3dSeries = exports.WordCloudSeries = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), constant_1 = require("../../constant"), interface_1 = require("../../mark/interface"), interface_2 = require("../interface"), util_1 = require("../../util"), config_1 = require("./config"), vgrammar_wordcloud_1 = require("@visactor/vgrammar-wordcloud"), vgrammar_wordcloud_shape_1 = require("@visactor/vgrammar-wordcloud-shape"), config_2 = require("../../animation/config"), utils_1 = require("../../animation/utils"), vscale_1 = require("@visactor/vscale"), vgrammar_util_1 = require("@visactor/vgrammar-util"), word_cloud_1 = require("../../constant/word-cloud"), util_2 = require("../../theme/color-scheme/util"), base_series_1 = require("../base/base-series");
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), constant_1 = require("../../constant"), interface_1 = require("../../mark/interface"), interface_2 = require("../interface"), util_1 = require("../../util"), config_1 = require("./config"), vgrammar_wordcloud_1 = require("@visactor/vgrammar-wordcloud"), vgrammar_wordcloud_shape_1 = require("@visactor/vgrammar-wordcloud-shape"), config_2 = require("../../animation/config"), utils_1 = require("../../animation/utils"), vscale_1 = require("@visactor/vscale"), vgrammar_util_1 = require("@visactor/vgrammar-util"), word_cloud_1 = require("../../constant/word-cloud"), util_2 = require("../../theme/color-scheme/util"), base_series_1 = require("../base/base-series"), color_ordinal_scale_1 = require("../../scale/color-ordinal-scale");
|
|
8
8
|
|
|
9
9
|
(0, vgrammar_wordcloud_1.registerWordCloudTransforms)(), (0, vgrammar_wordcloud_shape_1.registerWordCloudShapeTransforms)();
|
|
10
10
|
|
|
@@ -45,11 +45,11 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
|
|
|
45
45
|
this._isWordCloudShape = !config_1.SHAPE_TYPE.includes(this._maskShape);
|
|
46
46
|
}
|
|
47
47
|
initMark() {
|
|
48
|
-
this._wordMark = this._createMark(
|
|
48
|
+
this._wordMark = this._createMark(WordCloudSeries.mark.word, {
|
|
49
49
|
defaultMorphElementKey: this._seriesField,
|
|
50
50
|
groupKey: this._seriesField,
|
|
51
51
|
isSeriesMark: !0
|
|
52
|
-
}), this._isWordCloudShape && (this._fillingWordMark = this._createMark(
|
|
52
|
+
}), this._isWordCloudShape && (this._fillingWordMark = this._createMark(WordCloudSeries.mark.fillingWord));
|
|
53
53
|
}
|
|
54
54
|
initMarkStyle() {
|
|
55
55
|
var _a, _b, _c;
|
|
@@ -82,13 +82,13 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
|
|
|
82
82
|
}
|
|
83
83
|
initAnimation() {
|
|
84
84
|
this._wordMark && this._wordMark.setAnimationConfig((0, utils_1.animationConfig)(config_2.DEFAULT_MARK_ANIMATION.wordCloud(), (0,
|
|
85
|
-
utils_1.userAnimationConfig)(
|
|
85
|
+
utils_1.userAnimationConfig)(interface_2.SeriesMarkNameEnum.word, this._spec)));
|
|
86
86
|
}
|
|
87
87
|
getWordOrdinalColorScale(field, isFillingWord) {
|
|
88
88
|
var _a, _b, _c, _d, _e;
|
|
89
|
-
const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList, colorRange = null !== (
|
|
89
|
+
const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList, colorDomain = field ? null === (_a = this.getViewData()) || void 0 === _a ? void 0 : _a.latestData.map((datum => datum[field])) : [], colorRange = null !== (_c = null != colorList ? colorList : null === (_b = this._option.globalScale.getScale("color")) || void 0 === _b ? void 0 : _b.range()) && void 0 !== _c ? _c : (0,
|
|
90
90
|
util_2.getDataScheme)(this._option.getTheme().colorScheme, this.type);
|
|
91
|
-
return null === (_e = (_d = (new
|
|
91
|
+
return null === (_e = (_d = (new color_ordinal_scale_1.ColorOrdinalScale).domain(colorDomain)).range) || void 0 === _e ? void 0 : _e.call(_d, colorRange);
|
|
92
92
|
}
|
|
93
93
|
getWordColorAttribute(field, isFillingWord) {
|
|
94
94
|
var _a, _b;
|
|
@@ -240,6 +240,17 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
|
|
|
240
240
|
setValueFieldToPercent() {}
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
+
BaseWordCloudSeries.mark = Object.assign(Object.assign({}, base_series_1.BaseSeries.mark), {
|
|
244
|
+
[interface_2.SeriesMarkNameEnum.word]: {
|
|
245
|
+
name: interface_2.SeriesMarkNameEnum.word,
|
|
246
|
+
type: interface_1.MarkTypeEnum.text
|
|
247
|
+
},
|
|
248
|
+
[interface_2.SeriesMarkNameEnum.fillingWord]: {
|
|
249
|
+
name: interface_2.SeriesMarkNameEnum.fillingWord,
|
|
250
|
+
type: interface_1.MarkTypeEnum.text
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
|
|
243
254
|
class WordCloudSeries extends BaseWordCloudSeries {
|
|
244
255
|
constructor() {
|
|
245
256
|
super(...arguments), this.type = interface_2.SeriesTypeEnum.wordCloud;
|
|
@@ -362,11 +373,11 @@ class WordCloud3dSeries extends BaseWordCloudSeries {
|
|
|
362
373
|
}), this._wordMark.getProduct().transform(wordCloudTransforms)), this._data.getProduct().transform(wordCloudTransforms);
|
|
363
374
|
}
|
|
364
375
|
initMark() {
|
|
365
|
-
this._wordMark = this._createMark(
|
|
376
|
+
this._wordMark = this._createMark(WordCloudSeries.mark.word, {
|
|
366
377
|
groupKey: this._seriesField,
|
|
367
378
|
support3d: !0,
|
|
368
379
|
isSeriesMark: !0
|
|
369
|
-
}), this._isWordCloudShape && (this._fillingWordMark = this._createMark(
|
|
380
|
+
}), this._isWordCloudShape && (this._fillingWordMark = this._createMark(WordCloudSeries.mark.fillingWord, {
|
|
370
381
|
groupKey: this._seriesField,
|
|
371
382
|
support3d: !0,
|
|
372
383
|
isSeriesMark: !0
|
|
@@ -421,8 +432,8 @@ class WordCloud3dSeries extends BaseWordCloudSeries {
|
|
|
421
432
|
},
|
|
422
433
|
r: r
|
|
423
434
|
};
|
|
424
|
-
})), (0, utils_1.userAnimationConfig)(
|
|
425
|
-
utils_1.animationConfig)(config_2.DEFAULT_MARK_ANIMATION.wordCloud3d((() => {
|
|
435
|
+
})), (0, utils_1.userAnimationConfig)(interface_2.SeriesMarkNameEnum.word, this._spec))),
|
|
436
|
+
this._fillingWordMark && this._fillingWordMark.setAnimationConfig((0, utils_1.animationConfig)(config_2.DEFAULT_MARK_ANIMATION.wordCloud3d((() => {
|
|
426
437
|
var _a;
|
|
427
438
|
const srView = this.getCompiler().getVGrammarView(), width = srView.width() - this._paddingLeft, height = srView.height() - this._paddingTop, r = Math.max(width, height) / 2;
|
|
428
439
|
return {
|
|
@@ -433,7 +444,7 @@ class WordCloud3dSeries extends BaseWordCloudSeries {
|
|
|
433
444
|
},
|
|
434
445
|
r: r
|
|
435
446
|
};
|
|
436
|
-
})), (0, utils_1.userAnimationConfig)(
|
|
447
|
+
})), (0, utils_1.userAnimationConfig)(interface_2.SeriesMarkNameEnum.fillingWord, this._spec)));
|
|
437
448
|
}
|
|
438
449
|
}
|
|
439
450
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/word-cloud/word-cloud.ts"],"names":[],"mappings":";;;AAAA,6CAA2D;AAC3D,6CAA6F;AAC7F,oDAAoD;AAEpD,4CAA8C;AAC9C,qCAA2C;AAC3C,qCAWkB;AASlB,qEAA2E;AAC3E,iFAAsF;AAEtF,mDAAgE;AAChE,iDAA6E;AAC7E,6CAA6D;AAC7D,2DAAiD;AACjD,0DAKmC;AACnC,wDAA8D;AAG9D,qDAAiD;AAEjD,IAAA,gDAA2B,GAAE,CAAC;AAC9B,IAAA,2DAAgC,GAAE,CAAC;AAInC,MAAM,mBAAmF,SAAQ,wBAAa;IAA9G;;QAmBY,mBAAc,GAAsB,CAAC,8BAAqB,EAAE,8BAAqB,CAAC,CAAC;QAQnF,sBAAiB,GAAY,KAAK,CAAC;IA4V/C,CAAC;IApXC,aAAa,CAAC,KAAa;QACzB,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,+BAAsB,CAAC,CAAC;SAC/C;IACH,CAAC;IAYD,gBAAgB,CAAC,aAA+B;QAC9C,IAAI,IAAA,gBAAO,EAAC,aAAa,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;SACrC;IACH,CAAC;IAkBD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,YAAY;YACf,MAAA,MAAC,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,YAAqC,0CAAE,IAAe,mCAAK,IAAI,CAAC,KAAK,CAAC,YAAuB,mCAAI,CAAC,CAAC;QACnH,IAAI,CAAC,WAAW;YACd,MAAA,MAAC,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,YAAqC,0CAAE,GAAc,mCAAK,IAAI,CAAC,KAAK,CAAC,YAAuB,mCAAI,CAAC,CAAC;QAGlH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,kCAAyB,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,mCAAI,8BAAqB,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,2BAAkB,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,uBAAc,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,0CAAE,OAAO,mCAAI,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,0CAAE,IAAI,0CAAE,OAAO,mCAAI,6BAAoB,CAAC;QAG/G,IAAI,CAAC,gBAAgB,mBACnB,cAAc,EAAE,kCAAyB,EACzC,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,4BAAmB,IAC3B,IAAI,CAAC,KAAK,CAAC,eAAe,CAC9B,CAAC;QAGF,IAAI,CAAC,qBAAqB,mBACxB,kBAAkB,EAAE,IAAI,CAAC,cAAc,EAAE,EACzC,mBAAmB,EAAE,8BAAqB,EAC1C,UAAU,EAAE,SAAS,IAClB,MAAA,IAAI,CAAC,KAAK,0CAAE,oBAAoB,CACpC,CAAC;QACF,IAAI,CAAC,mBAAmB;YACtB,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,0CAAE,OAAO,mCAAI,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,0CAAE,WAAW,0CAAE,OAAO,mCAAI,6BAAoB,CAAC;QAE3G,IAAI,CAAC,iBAAiB,GAAG,CAAC,mBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAY,CAAC,IAAI,EAAE,MAAM,EAAE;YAC3D,sBAAsB,EAAE,IAAI,CAAC,YAAY;YACzC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,YAAY,EAAE,IAAI;SACnB,CAAc,CAAC;QAChB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAY,CAAC,IAAI,EAAE,aAAa,CAAc,CAAC;SACzF;IACH,CAAC;IAED,aAAa;;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpF,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,IAAI,EAAE,IAAI,CAAC,cAAc;oBACvB,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;gBACxD,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,CAAC;gBACnE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;aAChD,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,YAAY,CACf,eAAe,EACf;gBACE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,oBAAoB;oBACnD,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC;gBACnF,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,CAAC;gBACnE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa;aAC/C,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,IAAA,uBAAe,EAAC,+BAAsB,CAAC,SAAS,EAAE,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1G,CAAC;SACH;IACH,CAAC;IAES,wBAAwB,CAAC,KAAa,EAAE,aAAsB;;QACtE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAChG,MAAM,UAAU,GACd,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GACT,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,mCACnD,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAW,CAAC,CAAC;QACvE,OAAO,MAAA,MAAA,IAAI,qBAAY,EAAE;aACtB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACvF,KAAK,mDAAG,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,aAAsB;;QACzD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC;gBAC1D,KAAK,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,oCAAyB;aACtD,CAAC;SACH;QAID,IAAI,SAAS,GACX,MAAA,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,mCAC/E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C;QAID,OAAO,CAAC,KAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,MAAM,mBAAmB,GAAU,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,oBAAW,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;QAG3E,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,sBAAM,EAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3G,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrE,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,8BAAiB;gBACrB,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE;oBACvB,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACnC;oBACD,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;SACJ;QAGD,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,6BAAgB;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,CAAC,CAAC;QACH,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,qCAAwB;YAC5B,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,CAAC;SACF,CAAC,CAAC;QAGH,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAE;YACjC,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,4BAAe;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY;aACvC,CAAC,CAAC;SACJ;QAED,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,WAAW;gBAEjB,UAAU,EAAE,CAAC,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU;gBACzF,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC9E,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,YAAY,EAAE,2BAAgB;gBAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,6BAAgB,EAAE;gBACnC,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBAEpE,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,MAAM;gBACrD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM;gBAC9C,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO;gBAChD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,gBAAgB;gBAC7D,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;gBACtD,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;aACvD,CAAC,CAAC;YAEF,IAAI,CAAC,SAA6B,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;SACjF;aAEI;YACH,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,gBAAgB;gBAEtB,YAAY,EAAE,2BAAgB;gBAE9B,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvC,KAAK,EAAE,IAAI,CAAC,UAAU;gBAEtB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClF,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBAEpE,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,cAAc,EAAE,IAAI,CAAC,mBAAmB;gBACxC,gBAAgB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBACxG,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,iBAAiB,EAAE,mBAAmB;gBAEtC,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,qBAAqB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB;gBACxE,mBAAmB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,mBAAmB;gBACpE,sBAAsB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,sBAAsB;gBAC1E,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBAEtE,KAAK,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,KAAK;gBACxC,YAAY,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,YAAY;gBACtD,iBAAiB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,iBAAiB;gBAChE,eAAe,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,eAAe;gBAC5D,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBACtE,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,kBAAkB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,kBAAkB;gBAClE,gBAAgB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,gBAAgB;gBAC9D,qBAAqB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,qBAAqB;gBACxE,0BAA0B,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,0BAA0B;aACnF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAmE,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,IAAW;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,eAAe,CAAC,IAAS;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,oCAAoC;IAEpC,CAAC;IAED,cAAc;QAEZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;QAEjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;QAEhB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;IAEpB,CAAC;IAED,sBAAsB;IAEtB,CAAC;CACF;AACD,MAAa,eAAgB,SAAQ,mBAAyC;IAA9E;;QAEE,SAAI,GAAG,0BAAc,CAAC,SAAS,CAAC;IAClC,CAAC;;AAHD,0CAGC;AAFiB,oBAAI,GAAW,0BAAc,CAAC,SAAS,CAAC;AAI1D,MAAa,iBAAkB,SAAQ,mBAA2C;IAAlF;;QAEE,SAAI,GAAG,0BAAc,CAAC,WAAW,CAAC;IAkPpC,CAAC;IAhPC,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,MAAM,mBAAmB,GAAU,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,oBAAW,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;QAG3E,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAA,sBAAM,EAAC,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3G,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrE,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,8BAAiB;gBACrB,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE;oBACvB,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACnC;oBACD,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;SACJ;QAGD,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,6BAAgB;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,CAAC,CAAC;QACH,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,qCAAwB;YAC5B,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,CAAC;SACF,CAAC,CAAC;QAGH,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAE;YACjC,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,4BAAe;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY;aACvC,CAAC,CAAC;SACJ;QAED,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,YAAY,EAAC,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU;gBAC5C,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC9E,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,yBAAyB;gBACtE,YAAY,EAAE,2BAAgB;gBAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,6BAAgB,EAAE;gBACnC,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBACpE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAE7B,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,MAAM;gBACrD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM;gBAC9C,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO;gBAChD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,gBAAgB;gBAC7D,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;gBACtD,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;aACvD,CAAC,CAAC;YAEF,IAAI,CAAC,SAA6B,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;SACjF;aAEI;YACH,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvC,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,yBAAyB;gBACtE,YAAY,EAAE,2BAAgB;gBAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrE,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBACvE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,SAAS,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBACpE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAE7B,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,cAAc,EAAE,IAAI,CAAC,mBAAmB;gBACxC,gBAAgB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,qBAAqB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,SAAS;gBACxG,iBAAiB,EAAE,MAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB,mCAAI,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,KAAK,0CAAE,UAAU;gBAC3G,iBAAiB,EAAE,mBAAmB;gBAEtC,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,YAAY,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,YAAY;gBACtD,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,iBAAiB,EAAE,MAAA,IAAI,CAAC,qBAAqB,0CAAE,iBAAiB;gBAChE,qBAAqB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,qBAAqB;gBACxE,mBAAmB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,mBAAmB;gBACpE,sBAAsB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,sBAAsB;gBAC1E,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBAEtE,KAAK,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,KAAK;gBACxC,YAAY,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,YAAY;gBACtD,iBAAiB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,iBAAiB;gBAChE,eAAe,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,eAAe;gBAC5D,oBAAoB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,oBAAoB;gBACtE,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,UAAU,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,UAAU;gBAClD,kBAAkB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,kBAAkB;gBAClE,gBAAgB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,gBAAgB;gBAC9D,qBAAqB,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,qBAAqB;gBACxE,0BAA0B,EAAE,OAAA,IAAI,CAAC,qBAAqB,4CAAE,0BAA0B;aACnF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAY,CAAC,IAAI,EAAE,MAAM,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;SACnB,CAAc,CAAC;QAChB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAY,CAAC,IAAI,EAAE,aAAa,EAAE;gBACzE,QAAQ,EAAE,IAAI,CAAC,YAAY;gBAC3B,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;aACnB,CAAc,CAAC;SACjB;IACH,CAAC;IAED,aAAa;;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CACf,QAAQ,EACR;gBACE,IAAI,EAAE,IAAI,CAAC,cAAc;oBACvB,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;gBACxD,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9C,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAA,EAAA;gBACjC,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,CAAC;gBACnE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;aAChD,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,YAAY,CACf,eAAe,EACf;gBACE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,oBAAoB;oBACnD,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC;gBACnF,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9C,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAA,EAAA;gBACjC,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC1C,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;gBAC5C,UAAU,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,CAAC;gBACnE,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa;aAC/C,EACD,QAAQ,EACR,yBAAc,CAAC,MAAM,CACtB,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,IAAA,uBAAe,EACb,+BAAsB,CAAC,WAAW,CAAC,GAAG,EAAE;;gBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;gBAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO;oBACL,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAC,IAAI,CAAC,KAAa,CAAC,QAAQ,mCAAI,CAAC,EAAE;oBAC5D,CAAC;iBACF,CAAC;YACJ,CAAC,CAAQ,EACT,IAAA,2BAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CACrD,CACF,CAAC;SACH;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACtC,IAAA,uBAAe,EACb,+BAAsB,CAAC,WAAW,CAAC,GAAG,EAAE;;gBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;gBAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO;oBACL,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAC,IAAI,CAAC,KAAa,CAAC,QAAQ,mCAAI,CAAC,EAAE;oBAC5D,CAAC;iBACF,CAAC;YACJ,CAAC,CAAQ,EACT,IAAA,2BAAmB,EAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAC5D,CACF,CAAC;SACH;IACH,CAAC;;AAnPH,8CAoPC;AAnPiB,sBAAI,GAAW,0BAAc,CAAC,WAAW,CAAC","file":"word-cloud.js","sourcesContent":["import { degreeToRadian, isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport { SeriesTypeEnum } from '../interface';\nimport { isTrueBrowser } from '../../util';\nimport {\n DEFAULT_DRAW_OUT_OF_BOUND,\n DEFAULT_FONTSIZE_RANGE,\n DEFAULT_FONT_PADDING,\n DEFAULT_FONT_WEIGHT_RANGE,\n DEFAULT_MASK_SHAPE,\n DEFAULT_MIN_FONT_SIZE,\n DEFAULT_RANDOM,\n DEFAULT_ROTATE_ANGLES,\n DEFAULT_ZOOM_TO_FIT,\n SHAPE_TYPE\n} from './config';\nimport type {\n IWordCloud3dSeriesSpec,\n IWordCloudSeriesBaseSpec,\n IWordCloudSeriesSpec,\n WordCloudConfigType,\n WordCloudShapeConfigType,\n WordCloudShapeType\n} from './interface';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { Datum, IPoint } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale, OrdinalScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport type { ICompilableMark } from '../../compile/mark';\nimport type { ILayoutOrientPadding } from '../../model/interface';\nimport { BaseSeries } from '../base/base-series';\n\nregisterWordCloudTransforms();\nregisterWordCloudShapeTransforms();\n\ntype IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & { type: string };\n\nclass BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n this.setFontSizeRange(DEFAULT_FONTSIZE_RANGE);\n }\n }\n\n protected _fontFamilyField: string;\n protected _fontWeightField: string;\n protected _fontStyleField: string;\n protected _colorHexField: string;\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n\n protected _fontSizeRange?: [number, number] = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number]) {\n if (isValid(fontSizeRange) && isValid(this._spec.valueField)) {\n this._fontSizeRange = fontSizeRange;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType;\n protected _isWordCloudShape: boolean = false;\n\n protected _keepAspect?: boolean;\n protected _random?: boolean;\n protected _fontPadding?: number;\n protected _fillingFontPadding?: number;\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _paddingLeft?: number;\n protected _paddingTop?: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._paddingLeft =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.left as number) ?? (this._spec.chartPadding as number) ?? 0;\n this._paddingTop =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.top as number) ?? (this._spec.chartPadding as number) ?? 0;\n\n // 普通词云 & 形状词云 共有spec相关\n this._nameField = this._spec.nameField;\n this._fontFamilyField = this._spec.fontFamilyField;\n this._fontWeightField = this._spec.fontWeightField;\n this._fontStyleField = this._spec.fontStyleField;\n this._colorHexField = this._spec.colorHexField;\n this._colorMode = this._spec.colorMode ?? 'ordinal';\n this._colorList = this._spec.colorList;\n this.setValueField(this._spec.valueField);\n this._fontWeightRange = this._spec.fontWeightRange ?? DEFAULT_FONT_WEIGHT_RANGE;\n this._rotateAngles = this._spec.rotateAngles ?? DEFAULT_ROTATE_ANGLES;\n this.setFontSizeRange(this._spec.fontSizeRange);\n this._maskShape = this._spec.maskShape ?? DEFAULT_MASK_SHAPE;\n this._keepAspect = this._spec.keepAspect;\n this._random = this._spec.random ?? DEFAULT_RANDOM;\n this._fontPadding = this._spec?.word?.padding ?? this._theme?.wordCloud?.word?.padding ?? DEFAULT_FONT_PADDING;\n\n // 普通词云spec相关\n this._wordCloudConfig = {\n drawOutOfBound: DEFAULT_DRAW_OUT_OF_BOUND,\n layoutMode: 'default',\n zoomToFit: DEFAULT_ZOOM_TO_FIT,\n ...this._spec.wordCloudConfig\n };\n\n // 形状词云spec相关\n this._wordCloudShapeConfig = {\n fillingSeriesField: this.getSeriesField(),\n fillingRotateAngles: DEFAULT_ROTATE_ANGLES,\n layoutMode: 'default',\n ...this._spec?.wordCloudShapeConfig\n };\n this._fillingFontPadding =\n this._spec?.fillingWord?.padding ?? this._theme?.wordCloud?.fillingWord?.padding ?? DEFAULT_FONT_PADDING;\n\n this._isWordCloudShape = !SHAPE_TYPE.includes(this._maskShape);\n }\n\n protected _wordMark: ITextMark;\n protected _fillingWordMark: ITextMark;\n initMark(): void {\n this._wordMark = this._createMark(MarkTypeEnum.text, 'word', {\n defaultMorphElementKey: this._seriesField,\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(MarkTypeEnum.text, 'fillingWord') as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.wordCloud(), userAnimationConfig(this._wordMark.name, this._spec))\n );\n }\n }\n\n protected getWordOrdinalColorScale(field: string, isFillingWord: boolean) {\n const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList;\n const colorRange =\n colorList ??\n this._option.globalScale.getScale('color')?.range() ??\n getDataScheme(this._option.getTheme().colorScheme, this.type as any);\n return new OrdinalScale()\n .domain(field ? this.getViewData()?.latestData.map((datum: Datum) => datum[field]) : [])\n .range?.(colorRange);\n }\n\n getWordColorAttribute(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n return {\n scale: this.getWordOrdinalColorScale(field, isFillingWord),\n field: this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n // const valueScale = new LinearScale()\n // .domain(extent(this.getViewData()?.latestData.map((datum: Datum) => datum[field])), true)\n // .range([0, 1]);\n let colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n // 如果用户只输入了一个 color,无法构成 colorRange,则进行兜底\n if (colorList.length === 1) {\n colorList = [colorList[0], colorList[0]];\n }\n // 颜色插值 todo@chensiji\n // const interpolate = interpolateColors(colorList)\n // return (datum: Datum) => interpolate(valueScale.scale(datum[field]))\n return (datum: Datum) => colorList[0];\n }\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: !isTrueBrowser(this._option.mode) ? 'fast' : this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的transform上\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n dataIndexKey: DEFAULT_DATA_KEY,\n\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n\n text: { field: this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n dataToPosition(data: Datum): IPoint {\n throw new Error('Method not implemented.');\n }\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionZ(data: any): number {\n throw new Error('Method not implemented.');\n }\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n setValueFieldToStack(): void {\n // do nothing\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n}\nexport class WordCloudSeries extends BaseWordCloudSeries<IWordCloudSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud;\n type = SeriesTypeEnum.wordCloud;\n}\n\nexport class WordCloud3dSeries extends BaseWordCloudSeries<IWordCloud3dSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(MarkTypeEnum.text, 'word', {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(MarkTypeEnum.text, 'fillingWord', {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(this._wordMark.name, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(this._fillingWordMark.name, this._spec)\n )\n );\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/word-cloud/word-cloud.ts"],"names":[],"mappings":"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","file":"word-cloud.js","sourcesContent":["import { degreeToRadian, isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { isTrueBrowser } from '../../util';\nimport {\n DEFAULT_DRAW_OUT_OF_BOUND,\n DEFAULT_FONTSIZE_RANGE,\n DEFAULT_FONT_PADDING,\n DEFAULT_FONT_WEIGHT_RANGE,\n DEFAULT_MASK_SHAPE,\n DEFAULT_MIN_FONT_SIZE,\n DEFAULT_RANDOM,\n DEFAULT_ROTATE_ANGLES,\n DEFAULT_ZOOM_TO_FIT,\n SHAPE_TYPE\n} from './config';\nimport type {\n IWordCloud3dSeriesSpec,\n IWordCloudSeriesSpec,\n WordCloudConfigType,\n WordCloudShapeConfigType,\n WordCloudShapeType\n} from './interface';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { Datum, IPoint } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport type { ICompilableMark } from '../../compile/mark';\nimport type { ILayoutOrientPadding } from '../../model/interface';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\n\nregisterWordCloudTransforms();\nregisterWordCloudShapeTransforms();\n\ntype IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & { type: string };\n\nclass BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.word]: { name: SeriesMarkNameEnum.word, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.fillingWord]: { name: SeriesMarkNameEnum.fillingWord, type: MarkTypeEnum.text }\n };\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n this.setFontSizeRange(DEFAULT_FONTSIZE_RANGE);\n }\n }\n\n protected _fontFamilyField: string;\n protected _fontWeightField: string;\n protected _fontStyleField: string;\n protected _colorHexField: string;\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n\n protected _fontSizeRange?: [number, number] = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number]) {\n if (isValid(fontSizeRange) && isValid(this._spec.valueField)) {\n this._fontSizeRange = fontSizeRange;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType;\n protected _isWordCloudShape: boolean = false;\n\n protected _keepAspect?: boolean;\n protected _random?: boolean;\n protected _fontPadding?: number;\n protected _fillingFontPadding?: number;\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _paddingLeft?: number;\n protected _paddingTop?: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._paddingLeft =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.left as number) ?? (this._spec.chartPadding as number) ?? 0;\n this._paddingTop =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.top as number) ?? (this._spec.chartPadding as number) ?? 0;\n\n // 普通词云 & 形状词云 共有spec相关\n this._nameField = this._spec.nameField;\n this._fontFamilyField = this._spec.fontFamilyField;\n this._fontWeightField = this._spec.fontWeightField;\n this._fontStyleField = this._spec.fontStyleField;\n this._colorHexField = this._spec.colorHexField;\n this._colorMode = this._spec.colorMode ?? 'ordinal';\n this._colorList = this._spec.colorList;\n this.setValueField(this._spec.valueField);\n this._fontWeightRange = this._spec.fontWeightRange ?? DEFAULT_FONT_WEIGHT_RANGE;\n this._rotateAngles = this._spec.rotateAngles ?? DEFAULT_ROTATE_ANGLES;\n this.setFontSizeRange(this._spec.fontSizeRange);\n this._maskShape = this._spec.maskShape ?? DEFAULT_MASK_SHAPE;\n this._keepAspect = this._spec.keepAspect;\n this._random = this._spec.random ?? DEFAULT_RANDOM;\n this._fontPadding = this._spec?.word?.padding ?? this._theme?.wordCloud?.word?.padding ?? DEFAULT_FONT_PADDING;\n\n // 普通词云spec相关\n this._wordCloudConfig = {\n drawOutOfBound: DEFAULT_DRAW_OUT_OF_BOUND,\n layoutMode: 'default',\n zoomToFit: DEFAULT_ZOOM_TO_FIT,\n ...this._spec.wordCloudConfig\n };\n\n // 形状词云spec相关\n this._wordCloudShapeConfig = {\n fillingSeriesField: this.getSeriesField(),\n fillingRotateAngles: DEFAULT_ROTATE_ANGLES,\n layoutMode: 'default',\n ...this._spec?.wordCloudShapeConfig\n };\n this._fillingFontPadding =\n this._spec?.fillingWord?.padding ?? this._theme?.wordCloud?.fillingWord?.padding ?? DEFAULT_FONT_PADDING;\n\n this._isWordCloudShape = !SHAPE_TYPE.includes(this._maskShape);\n }\n\n protected _wordMark: ITextMark;\n protected _fillingWordMark: ITextMark;\n initMark(): void {\n this._wordMark = this._createMark(WordCloudSeries.mark.word, {\n defaultMorphElementKey: this._seriesField,\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(WordCloudSeries.mark.fillingWord) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.wordCloud(), userAnimationConfig(SeriesMarkNameEnum.word, this._spec))\n );\n }\n }\n\n protected getWordOrdinalColorScale(field: string, isFillingWord: boolean) {\n const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList;\n const colorDomain = field ? this.getViewData()?.latestData.map((datum: Datum) => datum[field]) : [];\n const colorRange =\n colorList ??\n this._option.globalScale.getScale('color')?.range() ??\n getDataScheme(this._option.getTheme().colorScheme, this.type as any);\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n getWordColorAttribute(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n return {\n scale: this.getWordOrdinalColorScale(field, isFillingWord),\n field: this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n // const valueScale = new LinearScale()\n // .domain(extent(this.getViewData()?.latestData.map((datum: Datum) => datum[field])), true)\n // .range([0, 1]);\n let colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n // 如果用户只输入了一个 color,无法构成 colorRange,则进行兜底\n if (colorList.length === 1) {\n colorList = [colorList[0], colorList[0]];\n }\n // 颜色插值 todo@chensiji\n // const interpolate = interpolateColors(colorList)\n // return (datum: Datum) => interpolate(valueScale.scale(datum[field]))\n return (datum: Datum) => colorList[0];\n }\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: !isTrueBrowser(this._option.mode) ? 'fast' : this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的transform上\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n dataIndexKey: DEFAULT_DATA_KEY,\n\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n\n text: { field: this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n dataToPosition(data: Datum): IPoint {\n throw new Error('Method not implemented.');\n }\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionZ(data: any): number {\n throw new Error('Method not implemented.');\n }\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n setValueFieldToStack(): void {\n // do nothing\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n}\nexport class WordCloudSeries extends BaseWordCloudSeries<IWordCloudSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud;\n type = SeriesTypeEnum.wordCloud;\n}\n\nexport class WordCloud3dSeries extends BaseWordCloudSeries<IWordCloud3dSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(WordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(WordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar默认不提供弧度转换\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar默认不提供弧度转换\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n"]}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import type { IContinuousLegendTheme } from '../../component/legend/continuous';
|
|
2
1
|
export declare const DEFAULT_TEXT_FONT_FAMILY = "PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol";
|
|
3
|
-
export declare const DEFAULT_TEXT_FONT_SIZE =
|
|
4
|
-
export declare const DEFAULT_AXIS_TICK_SIZE = 4;
|
|
5
|
-
export declare const DEFAULT_CONTINUOUS_LEGEND_THEME: IContinuousLegendTheme;
|
|
2
|
+
export declare const DEFAULT_TEXT_FONT_SIZE = 14;
|