@visactor/vchart 0.0.1-alpha.0 → 0.0.1-alpha.2
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 +6 -0
- package/build/index.js +14321 -14669
- package/build/index.min.js +2 -2
- package/cjs/animation/animate-manager.js.map +1 -1
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/interface.js +2 -1
- package/cjs/animation/interface.js.map +1 -1
- package/cjs/animation/spec.d.ts +2 -2
- package/cjs/animation/spec.js.map +1 -1
- package/cjs/animation/utils.d.ts +4 -3
- package/cjs/animation/utils.js +8 -3
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/area/index.js.map +1 -1
- package/cjs/chart/area/interface.js.map +1 -1
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/bar/index.js.map +1 -1
- package/cjs/chart/bar/interface.js.map +1 -1
- package/cjs/chart/base-chart.js +3 -1
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/boxplot/boxPlot.js.map +1 -1
- package/cjs/chart/boxplot/index.js.map +1 -1
- package/cjs/chart/boxplot/interface.js.map +1 -1
- package/cjs/chart/cartesian/cartesian.js +7 -2
- package/cjs/chart/cartesian/cartesian.js.map +1 -1
- package/cjs/chart/cartesian/interface.js.map +1 -1
- package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
- package/cjs/chart/circle-packing/index.js.map +1 -1
- package/cjs/chart/circle-packing/interface.js.map +1 -1
- package/cjs/chart/common/common.js.map +1 -1
- package/cjs/chart/common/index.js.map +1 -1
- package/cjs/chart/common/interface.js.map +1 -1
- package/cjs/chart/funnel/funnel.js.map +1 -1
- package/cjs/chart/funnel/index.js.map +1 -1
- package/cjs/chart/funnel/interface.js.map +1 -1
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/gauge/index.js.map +1 -1
- package/cjs/chart/gauge/interface.js.map +1 -1
- package/cjs/chart/heatmap/heatmap.js +5 -3
- package/cjs/chart/heatmap/heatmap.js.map +1 -1
- package/cjs/chart/heatmap/index.js.map +1 -1
- package/cjs/chart/heatmap/interface.js.map +1 -1
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/histogram/index.js.map +1 -1
- package/cjs/chart/histogram/interface.js.map +1 -1
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/interface/common.js.map +1 -1
- package/cjs/chart/interface/index.js.map +1 -1
- package/cjs/chart/interface/type.js.map +1 -1
- package/cjs/chart/line/index.js.map +1 -1
- package/cjs/chart/line/interface.js.map +1 -1
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/map/index.js.map +1 -1
- package/cjs/chart/map/interface.js.map +1 -1
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/chart/pie/index.js.map +1 -1
- package/cjs/chart/pie/interface.js.map +1 -1
- package/cjs/chart/pie/pie.d.ts +1 -0
- package/cjs/chart/pie/pie.js +5 -0
- package/cjs/chart/pie/pie.js.map +1 -1
- package/cjs/chart/polar/interface.js.map +1 -1
- package/cjs/chart/polar/polar.js.map +1 -1
- package/cjs/chart/polar/progress-like.js.map +1 -1
- package/cjs/chart/polar/rose-like.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/circular/index.js.map +1 -1
- package/cjs/chart/progress/circular/interface.js.map +1 -1
- package/cjs/chart/progress/interface.js.map +1 -1
- package/cjs/chart/progress/linear/index.js.map +1 -1
- package/cjs/chart/progress/linear/interface.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/index.js.map +1 -1
- package/cjs/chart/radar/interface.js.map +1 -1
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/index.js.map +1 -1
- package/cjs/chart/range-area/interface.js.map +1 -1
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/index.js.map +1 -1
- package/cjs/chart/range-column/interface.js.map +1 -1
- package/cjs/chart/range-column/rangeColumn.js.map +1 -1
- package/cjs/chart/rose/index.js.map +1 -1
- package/cjs/chart/rose/interface.js.map +1 -1
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/index.js.map +1 -1
- package/cjs/chart/sankey/interface.js.map +1 -1
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/index.js.map +1 -1
- package/cjs/chart/scatter/interface.js.map +1 -1
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/index.js.map +1 -1
- package/cjs/chart/sequence/interface.js.map +1 -1
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.js.map +1 -1
- package/cjs/chart/sunburst/index.js.map +1 -1
- package/cjs/chart/sunburst/interface.js.map +1 -1
- package/cjs/chart/sunburst/sunburst.js.map +1 -1
- package/cjs/chart/treemap/index.js.map +1 -1
- package/cjs/chart/treemap/interface.js.map +1 -1
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/chart/waterfall/index.js.map +1 -1
- package/cjs/chart/waterfall/interface.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/chart/word-cloud/index.js.map +1 -1
- package/cjs/chart/word-cloud/interface.d.ts +5 -1
- package/cjs/chart/word-cloud/interface.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud.d.ts +3 -2
- package/cjs/chart/word-cloud/word-cloud.js +42 -15
- package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
- package/cjs/compile/compilable-base.js +1 -1
- package/cjs/compile/compilable-base.js.map +1 -1
- package/cjs/compile/compiler.d.ts +3 -2
- package/cjs/compile/compiler.js +12 -9
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.d.ts +1 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/data/index.js.map +1 -1
- package/cjs/compile/data/interface.js.map +1 -1
- package/cjs/compile/grammar-item.js +1 -1
- package/cjs/compile/grammar-item.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +1 -2
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +1 -5
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/interface/index.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +1 -1
- package/cjs/compile/mark/compilable-mark.js +1 -1
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/index.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +1 -0
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/mark-data.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/compile/mark/util.js.map +1 -1
- package/cjs/compile/signal/compilable-signal.js.map +1 -1
- package/cjs/compile/signal/index.js.map +1 -1
- package/cjs/compile/signal/interface.js.map +1 -1
- package/cjs/compile/signal/signal-manager.js.map +1 -1
- package/cjs/compile/signal/state-manager.d.ts +1 -1
- package/cjs/compile/signal/state-manager.js.map +1 -1
- package/cjs/compile/util.js +1 -1
- package/cjs/compile/util.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +0 -1
- package/cjs/component/axis/base-axis.js +2 -11
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +11 -0
- package/cjs/component/axis/cartesian/axis.js +64 -16
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/config.js.map +1 -1
- package/cjs/component/axis/cartesian/index.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +1 -5
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/index.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -4
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/theme.d.ts +10 -13
- package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/common.d.ts +4 -4
- package/cjs/component/axis/cartesian/util/common.js +12 -15
- package/cjs/component/axis/cartesian/util/common.js.map +1 -1
- package/cjs/component/axis/cartesian/util/index.js.map +1 -1
- package/cjs/component/axis/cartesian/util/time.js.map +1 -1
- package/cjs/component/axis/index.js.map +1 -1
- package/cjs/component/axis/interface.d.ts +10 -17
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/config.js.map +1 -1
- package/cjs/component/axis/polar/index.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +1 -4
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/interface/index.js.map +1 -1
- package/cjs/component/axis/polar/interface/spec.js.map +1 -1
- package/cjs/component/axis/polar/interface/theme.d.ts +9 -12
- package/cjs/component/axis/polar/interface/theme.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/axis/utils.d.ts +5 -1
- package/cjs/component/axis/utils.js +20 -4
- package/cjs/component/axis/utils.js.map +1 -1
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/index.js.map +1 -1
- package/cjs/component/base/util.js +3 -4
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +0 -1
- package/cjs/component/brush/brush.js +7 -10
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/brush/index.js.map +1 -1
- package/cjs/component/brush/interface.d.ts +10 -8
- package/cjs/component/brush/interface.js.map +1 -1
- package/cjs/component/common/trigger/config.js.map +1 -1
- package/cjs/component/common/trigger/desktop.js.map +1 -1
- package/cjs/component/common/trigger/interface.js.map +1 -1
- package/cjs/component/common/trigger/mobile.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +0 -1
- package/cjs/component/crosshair/base.js +7 -15
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +0 -2
- package/cjs/component/crosshair/config.js +2 -4
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/index.js.map +1 -1
- package/cjs/component/crosshair/interface/index.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +3 -3
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/interface/theme.d.ts +2 -4
- package/cjs/component/crosshair/interface/theme.js.map +1 -1
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/util.d.ts +0 -4
- package/cjs/component/crosshair/util.js +3 -12
- package/cjs/component/crosshair/util.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/custom-mark/index.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.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -4
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/index.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +5 -1
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/index.js.map +1 -1
- package/cjs/component/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/index.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/interface.d.ts +7 -1
- package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/geo/interface.js.map +1 -1
- package/cjs/component/geo/projection.js.map +1 -1
- package/cjs/component/index.js +1 -1
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +0 -1
- package/cjs/component/indicator/indicator.js +3 -12
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +1 -5
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/indicator/util.js +2 -2
- package/cjs/component/indicator/util.js.map +1 -1
- package/cjs/component/interface/common.js.map +1 -1
- package/cjs/component/interface/index.js.map +1 -1
- package/cjs/component/interface/tooltip-helper.js.map +1 -1
- package/cjs/component/interface/type.js.map +1 -1
- package/cjs/component/label/bar.d.ts +1 -3
- package/cjs/component/label/bar.js +2 -4
- package/cjs/component/label/bar.js.map +1 -1
- package/cjs/component/label/index.js.map +1 -1
- package/cjs/component/label/interface.d.ts +2 -2
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +56 -0
- package/cjs/component/label/label.js +4 -2
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/symbol.js.map +1 -1
- package/cjs/component/label/util.js +1 -7
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +0 -1
- package/cjs/component/legend/base-legend.js +2 -4
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/index.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +1 -6
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +1 -1
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/continuous/util.js.map +1 -1
- package/cjs/component/legend/discrete/index.js.map +1 -1
- package/cjs/component/legend/discrete/interface.d.ts +1 -5
- package/cjs/component/legend/discrete/interface.js.map +1 -1
- package/cjs/component/legend/discrete/legend.js +17 -16
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/index.js.map +1 -1
- package/cjs/component/legend/interface.d.ts +1 -1
- package/cjs/component/legend/interface.js.map +1 -1
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/map-label/config.js.map +1 -1
- package/cjs/component/map-label/index.js.map +1 -1
- package/cjs/component/map-label/interface.d.ts +2 -2
- package/cjs/component/map-label/interface.js.map +1 -1
- package/cjs/component/map-label/layout.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +0 -1
- package/cjs/component/marker/base-marker.js +0 -3
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/index.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +2 -1
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/theme.d.ts +2 -2
- package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/index.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -1
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/index.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +2 -1
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/index.js.map +1 -1
- package/cjs/component/player/interface/index.js.map +1 -1
- package/cjs/component/player/interface/spec.js.map +1 -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 +1 -4
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/player/utils/index.js.map +1 -1
- package/cjs/component/player/utils/orient.js.map +1 -1
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/title/index.js.map +1 -1
- package/cjs/component/title/interface/index.js.map +1 -1
- package/cjs/component/title/interface/spec.d.ts +0 -4
- package/cjs/component/title/interface/spec.js.map +1 -1
- package/cjs/component/title/interface/theme.d.ts +2 -2
- package/cjs/component/title/interface/theme.js.map +1 -1
- package/cjs/component/title/title.d.ts +0 -1
- package/cjs/component/title/title.js +3 -10
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/title/utils.d.ts +0 -1
- package/cjs/component/title/utils.js +2 -9
- package/cjs/component/title/utils.js.map +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +5 -3
- package/cjs/component/tooltip/handler/base.js +11 -12
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -3
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/canvas/index.js.map +1 -1
- package/cjs/component/tooltip/handler/constants.d.ts +4 -0
- package/cjs/component/tooltip/handler/constants.js +7 -2
- package/cjs/component/tooltip/handler/constants.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +3 -2
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/index.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/utils/style.js +3 -3
- package/cjs/component/tooltip/handler/dom/utils/style.js.map +1 -1
- package/cjs/component/tooltip/handler/index.js.map +1 -1
- package/cjs/component/tooltip/handler/interface/cache.js.map +1 -1
- package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
- package/cjs/component/tooltip/handler/interface/style.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +4 -5
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/index.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/pattern.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
- package/cjs/component/tooltip/handler/utils/style.js +11 -7
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/index.js.map +1 -1
- package/cjs/component/tooltip/interface/common.js.map +1 -1
- package/cjs/component/tooltip/interface/index.js.map +1 -1
- package/cjs/component/tooltip/interface/spec.d.ts +5 -6
- package/cjs/component/tooltip/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +6 -0
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/processor/base.d.ts +2 -4
- package/cjs/component/tooltip/processor/base.js +5 -5
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
- package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/index.js.map +1 -1
- package/cjs/component/tooltip/processor/interface.js.map +1 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/util.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +7 -8
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/common.js.map +1 -1
- package/cjs/component/tooltip/utils/index.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/constant/base.d.ts +1 -1
- package/cjs/constant/base.js +1 -1
- package/cjs/constant/base.js.map +1 -1
- package/cjs/constant/box-plot.js.map +1 -1
- package/cjs/constant/event.js.map +1 -1
- package/cjs/constant/funnel.js.map +1 -1
- package/cjs/constant/hierarchy.js.map +1 -1
- package/cjs/constant/index.js.map +1 -1
- package/cjs/constant/label.js +1 -2
- package/cjs/constant/label.js.map +1 -1
- package/cjs/constant/layout.js.map +1 -1
- package/cjs/constant/marker.js.map +1 -1
- package/cjs/constant/polar.js +2 -1
- package/cjs/constant/polar.js.map +1 -1
- package/cjs/constant/scatter.js.map +1 -1
- package/cjs/constant/scroll-bar.js.map +1 -1
- package/cjs/constant/sunburst.js.map +1 -1
- package/cjs/constant/waterfall.js.map +1 -1
- package/cjs/constant/word-cloud.js.map +1 -1
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +1 -0
- package/cjs/core/vchart.js +13 -8
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.js.map +1 -1
- package/cjs/data/parser/array.js.map +1 -1
- package/cjs/data/parser/scale.js.map +1 -1
- package/cjs/data/register.js.map +1 -1
- package/cjs/data/transforms/add-property.d.ts +5 -5
- package/cjs/data/transforms/add-property.js +3 -3
- package/cjs/data/transforms/add-property.js.map +1 -1
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/box-plot.js.map +1 -1
- package/cjs/data/transforms/circle-packing.js.map +1 -1
- package/cjs/data/transforms/copy-data-view.js.map +1 -1
- package/cjs/data/transforms/data-key.d.ts +3 -3
- package/cjs/data/transforms/data-key.js.map +1 -1
- package/cjs/data/transforms/dimension-data.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/drill.js.map +1 -1
- package/cjs/data/transforms/flatten.js.map +1 -1
- package/cjs/data/transforms/funnel.js.map +1 -1
- package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/invalid-travel.js.map +1 -1
- package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/cjs/data/transforms/legend-data/continuous/index.js.map +1 -1
- package/cjs/data/transforms/legend-data/continuous/interface.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/index.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
- package/cjs/data/transforms/lookup.js.map +1 -1
- package/cjs/data/transforms/map.js.map +1 -1
- package/cjs/data/transforms/obj-flat.js.map +1 -1
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/data/transforms/regression.js.map +1 -1
- package/cjs/data/transforms/sankey-links.js.map +1 -1
- package/cjs/data/transforms/sankey-nodes.js.map +1 -1
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/data/transforms/stack-split.js.map +1 -1
- package/cjs/data/transforms/sunburst.js.map +1 -1
- package/cjs/data/transforms/tick-data/config.js.map +1 -1
- package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
- package/cjs/data/transforms/tick-data/discrete/linear.js.map +1 -1
- package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
- package/cjs/data/transforms/tick-data/index.js.map +1 -1
- package/cjs/data/transforms/tick-data/interface.js.map +1 -1
- package/cjs/data/transforms/tick-data/util.js.map +1 -1
- package/cjs/data/transforms/treemap.js.map +1 -1
- package/cjs/data/transforms/waterfall.js.map +1 -1
- package/cjs/event/bubble.js.map +1 -1
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/event.js +1 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/events/dimension/base.js.map +1 -1
- package/cjs/event/events/dimension/dimension-click.js.map +1 -1
- package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
- package/cjs/event/events/dimension/index.js.map +1 -1
- package/cjs/event/events/dimension/interface.js.map +1 -1
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/events/dimension/util/common.js.map +1 -1
- package/cjs/event/events/dimension/util/index.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/event/events/index.js.map +1 -1
- package/cjs/event/interface.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/dimension-trigger.js.map +1 -1
- package/cjs/interaction/drill/drillable.js.map +1 -1
- package/cjs/interaction/drill/index.js.map +1 -1
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/interaction/interface.js.map +1 -1
- package/cjs/interaction/trigger.js.map +1 -1
- package/cjs/interaction/zoom/index.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/index.d.ts +13 -10
- package/cjs/layout/index.js.map +1 -1
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/label/arc-label.js.map +1 -1
- package/cjs/layout/layout3d/index.d.ts +23 -0
- package/cjs/layout/layout3d/index.js +131 -0
- package/cjs/layout/layout3d/index.js.map +1 -0
- package/cjs/mark/arc.js +1 -1
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.js +1 -1
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/base/index.js.map +1 -1
- package/cjs/mark/boxPlot.js +2 -2
- package/cjs/mark/boxPlot.js.map +1 -1
- package/cjs/mark/cell.js +1 -1
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/component.d.ts +1 -0
- package/cjs/mark/component.js +5 -3
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/group.js +1 -1
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/interface/index.js.map +1 -1
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/line.js +1 -1
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/linkPath.js +1 -2
- package/cjs/mark/linkPath.js.map +1 -1
- package/cjs/mark/mark-set/index.js.map +1 -1
- package/cjs/mark/path.js +1 -1
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon.js +1 -1
- package/cjs/mark/polygon.js.map +1 -1
- package/cjs/mark/progress-arc.js +1 -1
- package/cjs/mark/progress-arc.js.map +1 -1
- package/cjs/mark/rect.js +1 -1
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/rule.js +1 -1
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.js +1 -1
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.js +1 -1
- package/cjs/mark/text.js.map +1 -1
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/mark/utils/index.js.map +1 -1
- package/cjs/model/base-model.d.ts +1 -1
- package/cjs/model/base-model.js +1 -1
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -0
- package/cjs/model/interface.js +1 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.js +1 -1
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/model/model-state-manager.js +2 -1
- package/cjs/model/model-state-manager.js.map +1 -1
- package/cjs/model/tooltip-helper.js +1 -1
- package/cjs/model/tooltip-helper.js.map +1 -1
- package/cjs/plugin/chart/interface.js.map +1 -1
- package/cjs/plugin/components/axis-label-overlap-plugin.js.map +1 -1
- package/cjs/plugin/components/basic-plugin.js.map +1 -1
- package/cjs/plugin/components/index.js.map +1 -1
- package/cjs/plugin/components/interface.js.map +1 -1
- package/cjs/plugin/components/plugin-service.js.map +1 -1
- package/cjs/plugin/interface.js +1 -1
- package/cjs/plugin/interface.js.map +1 -1
- package/cjs/plugin/series/interface.js.map +1 -1
- package/cjs/region/interface.js +1 -1
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.js +1 -1
- package/cjs/region/region.js.map +1 -1
- package/cjs/scale/global-scale.js +1 -1
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/scale/interface.js +1 -1
- package/cjs/scale/interface.js.map +1 -1
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area.js +3 -1
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/bar/animation.js.map +1 -1
- package/cjs/series/bar/bar.js +6 -5
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +3 -0
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +2 -2
- package/cjs/series/base/base-series.js +7 -9
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/group.js.map +1 -1
- package/cjs/series/base/series-data.js.map +1 -1
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/boxPlot.d.ts +1 -1
- package/cjs/series/box-plot/boxPlot.js +9 -10
- package/cjs/series/box-plot/boxPlot.js.map +1 -1
- 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 +11 -0
- package/cjs/series/cartesian/cartesian.js +37 -2
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/cartesian/interface.d.ts +1 -2
- package/cjs/series/cartesian/interface.js.map +1 -1
- package/cjs/series/circle-packing/animation.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.js +2 -2
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/interface.js.map +1 -1
- package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
- package/cjs/series/dot/config.js.map +1 -1
- package/cjs/series/dot/dot.js +6 -8
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/interface.d.ts +0 -1
- package/cjs/series/dot/interface.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +8 -0
- package/cjs/series/funnel/funnel.js +11 -2
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/index.js.map +1 -1
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/geo/geo.d.ts +1 -0
- package/cjs/series/geo/geo.js +3 -0
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/geo/interface.js.map +1 -1
- package/cjs/series/heatmap/animation.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +4 -3
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/heatmap/interface.js.map +1 -1
- package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
- package/cjs/series/interface/common.d.ts +1 -0
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/index.js.map +1 -1
- package/cjs/series/interface/series.d.ts +7 -0
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/interface/tooltip-helper.js.map +1 -1
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/line/animation.js.map +1 -1
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/interface.d.ts +2 -2
- package/cjs/series/link/interface.js.map +1 -1
- package/cjs/series/link/link.js +3 -3
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/map/geo-source.d.ts +1 -0
- package/cjs/series/map/geo-source.js +7 -3
- package/cjs/series/map/geo-source.js.map +1 -1
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.js +1 -0
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/map/tooltip-helper.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +0 -1
- package/cjs/series/mixin/line-mixin.js +11 -8
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/animation/animation.js.map +1 -1
- package/cjs/series/pie/animation/centerOffset.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +1 -0
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +13 -5
- package/cjs/series/pie/pie.js +34 -25
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/animation.js.map +1 -1
- package/cjs/series/polar/interface.d.ts +0 -1
- package/cjs/series/polar/interface.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +1 -0
- package/cjs/series/polar/polar.js +3 -0
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/polar/progress-like/animation.js.map +1 -1
- package/cjs/series/polar/progress-like/index.js.map +1 -1
- package/cjs/series/polar/progress-like/interface.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/polar/rose-like/index.js.map +1 -1
- package/cjs/series/polar/rose-like/interface.js.map +1 -1
- package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/index.js.map +1 -1
- package/cjs/series/progress/circular/interface.js.map +1 -1
- package/cjs/series/progress/interface.js.map +1 -1
- package/cjs/series/progress/linear/animation.js.map +1 -1
- package/cjs/series/progress/linear/index.js.map +1 -1
- package/cjs/series/progress/linear/interface.js.map +1 -1
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +0 -1
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/interface.js.map +1 -1
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/range-column/animation.js.map +1 -1
- package/cjs/series/range-column/interface.d.ts +3 -3
- package/cjs/series/range-column/interface.js.map +1 -1
- package/cjs/series/range-column/rangeColumn.js +14 -12
- package/cjs/series/range-column/rangeColumn.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/rose/animation.js.map +1 -1
- package/cjs/series/rose/interface.js.map +1 -1
- package/cjs/series/rose/rose.js +1 -0
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.js +4 -4
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/scatter/animation.js.map +1 -1
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.js +7 -4
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/animation/enter.js.map +1 -1
- package/cjs/series/sunburst/animation/exit.js.map +1 -1
- package/cjs/series/sunburst/animation/index.js.map +1 -1
- package/cjs/series/sunburst/animation/interface.js.map +1 -1
- package/cjs/series/sunburst/animation/preset.js.map +1 -1
- package/cjs/series/sunburst/animation/utils.js.map +1 -1
- package/cjs/series/sunburst/interface.js.map +1 -1
- package/cjs/series/sunburst/sunburst.js +2 -2
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
- package/cjs/series/treemap/animation.js.map +1 -1
- package/cjs/series/treemap/config.js.map +1 -1
- package/cjs/series/treemap/interface.js.map +1 -1
- package/cjs/series/treemap/tooltip-helper.js.map +1 -1
- package/cjs/series/treemap/treemap.js +2 -2
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/util/label-mark.js.map +1 -1
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/series/waterfall/animation.js.map +1 -1
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/animation.js.map +1 -1
- package/cjs/series/word-cloud/config.js.map +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.d.ts +10 -3
- package/cjs/series/word-cloud/word-cloud.js +109 -26
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/theme/buildin-theme/config.js +2 -0
- package/cjs/theme/buildin-theme/config.js.map +1 -1
- package/cjs/theme/buildin-theme/dark.js +4 -462
- package/cjs/theme/buildin-theme/dark.js.map +1 -1
- package/cjs/theme/buildin-theme/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/brush.js +12 -8
- package/cjs/theme/buildin-theme/light/component/brush.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
- package/cjs/theme/buildin-theme/light/component/cartesian-axis.js +14 -84
- package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
- package/cjs/theme/buildin-theme/light/component/color-legend.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/common-axis.js +74 -0
- package/cjs/theme/buildin-theme/light/component/common-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/crosshair.js +2 -9
- package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/data-zoom.js +10 -10
- package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/discrete-legend.js +3 -6
- package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/indicator.d.ts +2 -0
- package/cjs/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
- package/cjs/theme/buildin-theme/light/component/indicator.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/mark-area.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/mark-line.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/mark-point.js +1 -3
- package/cjs/theme/buildin-theme/light/component/mark-point.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
- package/cjs/theme/buildin-theme/light/component/polar-axis.js +11 -70
- package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/size-legend.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/title.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/title.js +13 -0
- package/cjs/theme/buildin-theme/light/component/title.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/tooltip.js +6 -8
- package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/cjs/theme/buildin-theme/light/index.js +10 -4
- package/cjs/theme/buildin-theme/light/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/area.js +5 -4
- package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/bar.js +0 -3
- package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/bar3d.js +0 -3
- package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/dot.js +11 -3
- package/cjs/theme/buildin-theme/light/series/dot.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/funnel.js +0 -3
- package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/funnel3d.js +0 -3
- package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/heatmap.js +2 -3
- package/cjs/theme/buildin-theme/light/series/heatmap.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/line.js +5 -4
- package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/link.js +5 -3
- package/cjs/theme/buildin-theme/light/series/link.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/map.js +0 -1
- package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/pie.js +0 -2
- package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/pie3d.js +0 -2
- package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/radar.js +5 -4
- package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js +0 -3
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/scatter.js +0 -3
- package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/sunburst.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/treemap.js +0 -4
- package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/waterfall.js +0 -4
- package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
- package/cjs/theme/color-scheme/interface.d.ts +1 -1
- package/cjs/theme/color-scheme/interface.js.map +1 -1
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/index.js.map +1 -1
- package/cjs/theme/interface.d.ts +13 -5
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/typings/common.js.map +1 -1
- package/cjs/typings/coordinate.js.map +1 -1
- package/cjs/typings/cursor.js.map +1 -1
- package/cjs/typings/data.js.map +1 -1
- package/cjs/typings/geo.js.map +1 -1
- package/cjs/typings/index.js.map +1 -1
- package/cjs/typings/interpolate.js.map +1 -1
- package/cjs/typings/line-stroke.js.map +1 -1
- package/cjs/typings/params.js.map +1 -1
- package/cjs/typings/scale.js.map +1 -1
- package/cjs/typings/shape.js.map +1 -1
- package/cjs/typings/space.d.ts +1 -1
- package/cjs/typings/space.js.map +1 -1
- package/cjs/typings/spec/chart.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +5 -5
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/spec/index.js.map +1 -1
- package/cjs/typings/tooltip/common.js.map +1 -1
- package/cjs/typings/tooltip/handler.js.map +1 -1
- package/cjs/typings/tooltip/index.js.map +1 -1
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/tooltip/position.js.map +1 -1
- package/cjs/typings/tooltip/shape.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/typings/visual.d.ts +21 -3
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/array.js.map +1 -1
- package/cjs/util/color.js.map +1 -1
- package/cjs/util/data.js +3 -2
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/debug.js.map +1 -1
- package/cjs/util/env.js.map +1 -1
- package/cjs/util/hierarchy.js.map +1 -1
- package/cjs/util/id.js +4 -4
- package/cjs/util/id.js.map +1 -1
- package/cjs/util/image.js.map +1 -1
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/model.js.map +1 -1
- package/cjs/util/object.js.map +1 -1
- package/cjs/util/scale.js.map +1 -1
- package/cjs/util/space.js.map +1 -1
- package/cjs/util/spec.js.map +1 -1
- package/cjs/util/style.js +1 -3
- package/cjs/util/style.js.map +1 -1
- package/cjs/util/text.js.map +1 -1
- package/cjs/util/type.js.map +1 -1
- package/cjs/vchart-all.js +2 -2
- package/cjs/vchart-all.js.map +1 -1
- package/esm/animation/animate-manager.js.map +1 -1
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/interface.js +2 -1
- package/esm/animation/interface.js.map +1 -1
- package/esm/animation/spec.d.ts +2 -2
- package/esm/animation/spec.js.map +1 -1
- package/esm/animation/utils.d.ts +4 -3
- package/esm/animation/utils.js +4 -0
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/area/index.js.map +1 -1
- package/esm/chart/area/interface.js.map +1 -1
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/bar/index.js.map +1 -1
- package/esm/chart/bar/interface.js.map +1 -1
- package/esm/chart/base-chart.js +3 -1
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/boxplot/boxPlot.js.map +1 -1
- package/esm/chart/boxplot/index.js.map +1 -1
- package/esm/chart/boxplot/interface.js.map +1 -1
- package/esm/chart/cartesian/cartesian.js +7 -2
- package/esm/chart/cartesian/cartesian.js.map +1 -1
- package/esm/chart/cartesian/interface.js.map +1 -1
- package/esm/chart/circle-packing/circle-packing.js.map +1 -1
- package/esm/chart/circle-packing/index.js.map +1 -1
- package/esm/chart/circle-packing/interface.js.map +1 -1
- package/esm/chart/common/common.js.map +1 -1
- package/esm/chart/common/index.js.map +1 -1
- package/esm/chart/common/interface.js.map +1 -1
- package/esm/chart/funnel/funnel.js.map +1 -1
- package/esm/chart/funnel/index.js.map +1 -1
- package/esm/chart/funnel/interface.js.map +1 -1
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/gauge/index.js.map +1 -1
- package/esm/chart/gauge/interface.js.map +1 -1
- package/esm/chart/heatmap/heatmap.js +4 -3
- package/esm/chart/heatmap/heatmap.js.map +1 -1
- package/esm/chart/heatmap/index.js.map +1 -1
- package/esm/chart/heatmap/interface.js.map +1 -1
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/histogram/index.js.map +1 -1
- package/esm/chart/histogram/interface.js.map +1 -1
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/interface/common.js.map +1 -1
- package/esm/chart/interface/index.js.map +1 -1
- package/esm/chart/interface/type.js.map +1 -1
- package/esm/chart/line/index.js.map +1 -1
- package/esm/chart/line/interface.js.map +1 -1
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/map/index.js.map +1 -1
- package/esm/chart/map/interface.js.map +1 -1
- package/esm/chart/map/map.js.map +1 -1
- package/esm/chart/pie/index.js.map +1 -1
- package/esm/chart/pie/interface.js.map +1 -1
- package/esm/chart/pie/pie.d.ts +1 -0
- package/esm/chart/pie/pie.js +5 -0
- package/esm/chart/pie/pie.js.map +1 -1
- package/esm/chart/polar/interface.js.map +1 -1
- package/esm/chart/polar/polar.js.map +1 -1
- package/esm/chart/polar/progress-like.js.map +1 -1
- package/esm/chart/polar/rose-like.js.map +1 -1
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/circular/index.js.map +1 -1
- package/esm/chart/progress/circular/interface.js.map +1 -1
- package/esm/chart/progress/interface.js.map +1 -1
- package/esm/chart/progress/linear/index.js.map +1 -1
- package/esm/chart/progress/linear/interface.js.map +1 -1
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/index.js.map +1 -1
- package/esm/chart/radar/interface.js.map +1 -1
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/index.js.map +1 -1
- package/esm/chart/range-area/interface.js.map +1 -1
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/index.js.map +1 -1
- package/esm/chart/range-column/interface.js.map +1 -1
- package/esm/chart/range-column/rangeColumn.js.map +1 -1
- package/esm/chart/rose/index.js.map +1 -1
- package/esm/chart/rose/interface.js.map +1 -1
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/index.js.map +1 -1
- package/esm/chart/sankey/interface.js.map +1 -1
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/index.js.map +1 -1
- package/esm/chart/scatter/interface.js.map +1 -1
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/index.js.map +1 -1
- package/esm/chart/sequence/interface.js.map +1 -1
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.js.map +1 -1
- package/esm/chart/sunburst/index.js.map +1 -1
- package/esm/chart/sunburst/interface.js.map +1 -1
- package/esm/chart/sunburst/sunburst.js.map +1 -1
- package/esm/chart/treemap/index.js.map +1 -1
- package/esm/chart/treemap/interface.js.map +1 -1
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/chart/waterfall/index.js.map +1 -1
- package/esm/chart/waterfall/interface.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/chart/word-cloud/index.js.map +1 -1
- package/esm/chart/word-cloud/interface.d.ts +5 -1
- package/esm/chart/word-cloud/interface.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud.d.ts +3 -2
- package/esm/chart/word-cloud/word-cloud.js +42 -15
- package/esm/chart/word-cloud/word-cloud.js.map +1 -1
- package/esm/compile/compilable-base.js +1 -1
- package/esm/compile/compilable-base.js.map +1 -1
- package/esm/compile/compiler.d.ts +3 -2
- package/esm/compile/compiler.js +8 -5
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.d.ts +1 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/data/index.js.map +1 -1
- package/esm/compile/data/interface.js.map +1 -1
- package/esm/compile/grammar-item.js +1 -1
- package/esm/compile/grammar-item.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +1 -2
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +1 -5
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/interface/index.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +1 -1
- package/esm/compile/mark/compilable-mark.js +1 -1
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/index.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +1 -0
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/mark-data.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/compile/mark/util.js.map +1 -1
- package/esm/compile/signal/compilable-signal.js.map +1 -1
- package/esm/compile/signal/index.js.map +1 -1
- package/esm/compile/signal/interface.js.map +1 -1
- package/esm/compile/signal/signal-manager.js.map +1 -1
- package/esm/compile/signal/state-manager.d.ts +1 -1
- package/esm/compile/signal/state-manager.js.map +1 -1
- package/esm/compile/util.js +1 -1
- package/esm/compile/util.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +0 -1
- package/esm/component/axis/base-axis.js +3 -10
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +11 -0
- package/esm/component/axis/cartesian/axis.js +59 -15
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/config.js.map +1 -1
- package/esm/component/axis/cartesian/index.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +1 -5
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/interface/index.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.d.ts +5 -4
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/interface/theme.d.ts +10 -13
- package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/common.d.ts +4 -4
- package/esm/component/axis/cartesian/util/common.js +10 -11
- package/esm/component/axis/cartesian/util/common.js.map +1 -1
- package/esm/component/axis/cartesian/util/index.js.map +1 -1
- package/esm/component/axis/cartesian/util/time.js.map +1 -1
- package/esm/component/axis/index.js.map +1 -1
- package/esm/component/axis/interface.d.ts +10 -17
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/config.js.map +1 -1
- package/esm/component/axis/polar/index.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +1 -4
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/polar/interface/index.js.map +1 -1
- package/esm/component/axis/polar/interface/spec.js.map +1 -1
- package/esm/component/axis/polar/interface/theme.d.ts +9 -12
- package/esm/component/axis/polar/interface/theme.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/axis/utils.d.ts +5 -1
- package/esm/component/axis/utils.js +17 -4
- package/esm/component/axis/utils.js.map +1 -1
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/index.js.map +1 -1
- package/esm/component/base/util.js +5 -4
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/brush/brush.d.ts +0 -1
- package/esm/component/brush/brush.js +7 -12
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/brush/index.js.map +1 -1
- package/esm/component/brush/interface.d.ts +10 -8
- package/esm/component/brush/interface.js.map +1 -1
- package/esm/component/common/trigger/config.js.map +1 -1
- package/esm/component/common/trigger/desktop.js.map +1 -1
- package/esm/component/common/trigger/interface.js.map +1 -1
- package/esm/component/common/trigger/mobile.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +0 -1
- package/esm/component/crosshair/base.js +9 -17
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +0 -2
- package/esm/component/crosshair/config.js +0 -4
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/index.js.map +1 -1
- package/esm/component/crosshair/interface/index.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +3 -3
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/interface/theme.d.ts +2 -4
- package/esm/component/crosshair/interface/theme.js.map +1 -1
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/util.d.ts +0 -4
- package/esm/component/crosshair/util.js +0 -8
- package/esm/component/crosshair/util.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/custom-mark/index.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.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +3 -4
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/index.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +5 -1
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/index.js.map +1 -1
- package/esm/component/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/index.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/interface.d.ts +7 -1
- package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/geo/interface.js.map +1 -1
- package/esm/component/geo/projection.js.map +1 -1
- package/esm/component/index.js +1 -1
- package/esm/component/index.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +0 -1
- package/esm/component/indicator/indicator.js +2 -13
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +1 -5
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/indicator/util.js +3 -1
- package/esm/component/indicator/util.js.map +1 -1
- package/esm/component/interface/common.js.map +1 -1
- package/esm/component/interface/index.js.map +1 -1
- package/esm/component/interface/tooltip-helper.js.map +1 -1
- package/esm/component/interface/type.js.map +1 -1
- package/esm/component/label/bar.d.ts +1 -3
- package/esm/component/label/bar.js +2 -4
- package/esm/component/label/bar.js.map +1 -1
- package/esm/component/label/index.js.map +1 -1
- package/esm/component/label/interface.d.ts +2 -2
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +56 -0
- package/esm/component/label/label.js +4 -2
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/symbol.js.map +1 -1
- package/esm/component/label/util.js +1 -7
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +0 -1
- package/esm/component/legend/base-legend.js +2 -4
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/index.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +1 -6
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +1 -1
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/continuous/util.js.map +1 -1
- package/esm/component/legend/discrete/index.js.map +1 -1
- package/esm/component/legend/discrete/interface.d.ts +1 -5
- package/esm/component/legend/discrete/interface.js.map +1 -1
- package/esm/component/legend/discrete/legend.js +17 -16
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/index.js.map +1 -1
- package/esm/component/legend/interface.d.ts +1 -1
- package/esm/component/legend/interface.js.map +1 -1
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/map-label/config.js.map +1 -1
- package/esm/component/map-label/index.js.map +1 -1
- package/esm/component/map-label/interface.d.ts +2 -2
- package/esm/component/map-label/interface.js.map +1 -1
- package/esm/component/map-label/layout.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +0 -1
- package/esm/component/marker/base-marker.js +1 -4
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/interface/index.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +2 -1
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/interface/theme.d.ts +2 -2
- package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/interface/index.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +2 -1
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/interface/index.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +2 -1
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/index.js.map +1 -1
- package/esm/component/player/interface/index.js.map +1 -1
- package/esm/component/player/interface/spec.js.map +1 -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 +2 -5
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/player/utils/index.js.map +1 -1
- package/esm/component/player/utils/orient.js.map +1 -1
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/title/index.js.map +1 -1
- package/esm/component/title/interface/index.js.map +1 -1
- package/esm/component/title/interface/spec.d.ts +0 -4
- package/esm/component/title/interface/spec.js.map +1 -1
- package/esm/component/title/interface/theme.d.ts +2 -2
- package/esm/component/title/interface/theme.js.map +1 -1
- package/esm/component/title/title.d.ts +0 -1
- package/esm/component/title/title.js +3 -12
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/title/utils.d.ts +0 -1
- package/esm/component/title/utils.js +1 -8
- package/esm/component/title/utils.js.map +1 -1
- package/esm/component/tooltip/handler/base.d.ts +5 -3
- package/esm/component/tooltip/handler/base.js +11 -12
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +1 -0
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +5 -2
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/canvas/index.js.map +1 -1
- package/esm/component/tooltip/handler/constants.d.ts +4 -0
- package/esm/component/tooltip/handler/constants.js +6 -0
- package/esm/component/tooltip/handler/constants.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +4 -3
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/index.js.map +1 -1
- package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/utils/style.js +3 -3
- package/esm/component/tooltip/handler/dom/utils/style.js.map +1 -1
- package/esm/component/tooltip/handler/index.js.map +1 -1
- package/esm/component/tooltip/handler/interface/cache.js.map +1 -1
- package/esm/component/tooltip/handler/interface/index.js.map +1 -1
- package/esm/component/tooltip/handler/interface/style.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +4 -5
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/common.js.map +1 -1
- package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
- package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/handler/utils/index.js.map +1 -1
- package/esm/component/tooltip/handler/utils/pattern.js.map +1 -1
- package/esm/component/tooltip/handler/utils/position.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
- package/esm/component/tooltip/handler/utils/style.js +6 -4
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/index.js.map +1 -1
- package/esm/component/tooltip/interface/common.js.map +1 -1
- package/esm/component/tooltip/interface/index.js.map +1 -1
- package/esm/component/tooltip/interface/spec.d.ts +5 -6
- package/esm/component/tooltip/interface/spec.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +6 -0
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/component/tooltip/processor/base.d.ts +2 -4
- package/esm/component/tooltip/processor/base.js +4 -4
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/processor/dimension-tooltip.js +3 -0
- package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/index.js.map +1 -1
- package/esm/component/tooltip/processor/interface.js.map +1 -1
- package/esm/component/tooltip/processor/mark-tooltip.js +3 -0
- package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/util.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +6 -9
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/common.js.map +1 -1
- package/esm/component/tooltip/utils/index.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/constant/base.d.ts +1 -1
- package/esm/constant/base.js +1 -1
- package/esm/constant/base.js.map +1 -1
- package/esm/constant/box-plot.js.map +1 -1
- package/esm/constant/event.js.map +1 -1
- package/esm/constant/funnel.js.map +1 -1
- package/esm/constant/hierarchy.js.map +1 -1
- package/esm/constant/index.js.map +1 -1
- package/esm/constant/label.js +1 -2
- package/esm/constant/label.js.map +1 -1
- package/esm/constant/layout.js.map +1 -1
- package/esm/constant/marker.js.map +1 -1
- package/esm/constant/polar.js +2 -1
- package/esm/constant/polar.js.map +1 -1
- package/esm/constant/scatter.js.map +1 -1
- package/esm/constant/scroll-bar.js.map +1 -1
- package/esm/constant/sunburst.js.map +1 -1
- package/esm/constant/waterfall.js.map +1 -1
- package/esm/constant/word-cloud.js.map +1 -1
- package/esm/core/factory.js.map +1 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +1 -0
- package/esm/core/vchart.js +15 -10
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.js.map +1 -1
- package/esm/data/parser/array.js.map +1 -1
- package/esm/data/parser/scale.js.map +1 -1
- package/esm/data/register.js.map +1 -1
- package/esm/data/transforms/add-property.d.ts +5 -5
- package/esm/data/transforms/add-property.js +1 -1
- package/esm/data/transforms/add-property.js.map +1 -1
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/box-plot.js.map +1 -1
- package/esm/data/transforms/circle-packing.js.map +1 -1
- package/esm/data/transforms/copy-data-view.js.map +1 -1
- package/esm/data/transforms/data-key.d.ts +3 -3
- package/esm/data/transforms/data-key.js.map +1 -1
- package/esm/data/transforms/dimension-data.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/data/transforms/drill.js.map +1 -1
- package/esm/data/transforms/flatten.js.map +1 -1
- package/esm/data/transforms/funnel.js.map +1 -1
- package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
- package/esm/data/transforms/invalid-travel.js.map +1 -1
- package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/esm/data/transforms/legend-data/continuous/index.js.map +1 -1
- package/esm/data/transforms/legend-data/continuous/interface.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/index.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
- package/esm/data/transforms/lookup.js.map +1 -1
- package/esm/data/transforms/map.js.map +1 -1
- package/esm/data/transforms/obj-flat.js.map +1 -1
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/data/transforms/regression.js.map +1 -1
- package/esm/data/transforms/sankey-links.js.map +1 -1
- package/esm/data/transforms/sankey-nodes.js.map +1 -1
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/data/transforms/stack-split.js.map +1 -1
- package/esm/data/transforms/sunburst.js.map +1 -1
- package/esm/data/transforms/tick-data/config.js.map +1 -1
- package/esm/data/transforms/tick-data/continuous.js.map +1 -1
- package/esm/data/transforms/tick-data/discrete/linear.js.map +1 -1
- package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
- package/esm/data/transforms/tick-data/index.js.map +1 -1
- package/esm/data/transforms/tick-data/interface.js.map +1 -1
- package/esm/data/transforms/tick-data/util.js.map +1 -1
- package/esm/data/transforms/treemap.js.map +1 -1
- package/esm/data/transforms/waterfall.js.map +1 -1
- package/esm/event/bubble.js.map +1 -1
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/event.js +1 -2
- package/esm/event/event.js.map +1 -1
- package/esm/event/events/dimension/base.js.map +1 -1
- package/esm/event/events/dimension/dimension-click.js.map +1 -1
- package/esm/event/events/dimension/dimension-hover.js.map +1 -1
- package/esm/event/events/dimension/index.js.map +1 -1
- package/esm/event/events/dimension/interface.js.map +1 -1
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/events/dimension/util/common.js.map +1 -1
- package/esm/event/events/dimension/util/index.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/event/events/index.js.map +1 -1
- package/esm/event/interface.js.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/dimension-trigger.js.map +1 -1
- package/esm/interaction/drill/drillable.js.map +1 -1
- package/esm/interaction/drill/index.js.map +1 -1
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/interaction/interface.js.map +1 -1
- package/esm/interaction/trigger.js.map +1 -1
- package/esm/interaction/zoom/index.js.map +1 -1
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/index.d.ts +13 -10
- package/esm/layout/index.js.map +1 -1
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/label/arc-label.js.map +1 -1
- package/esm/layout/layout3d/index.d.ts +23 -0
- package/esm/layout/layout3d/index.js +123 -0
- package/esm/layout/layout3d/index.js.map +1 -0
- package/esm/mark/arc.js +1 -1
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.js +1 -1
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/base/index.js.map +1 -1
- package/esm/mark/boxPlot.js +2 -2
- package/esm/mark/boxPlot.js.map +1 -1
- package/esm/mark/cell.js +1 -1
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/component.d.ts +1 -0
- package/esm/mark/component.js +5 -3
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/group.js +1 -1
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/interface/index.js.map +1 -1
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/line.js +1 -1
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/linkPath.js +1 -2
- package/esm/mark/linkPath.js.map +1 -1
- package/esm/mark/mark-set/index.js.map +1 -1
- package/esm/mark/path.js +1 -1
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon.js +1 -1
- package/esm/mark/polygon.js.map +1 -1
- package/esm/mark/progress-arc.js +1 -1
- package/esm/mark/progress-arc.js.map +1 -1
- package/esm/mark/rect.js +1 -1
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/rule.js +1 -1
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.js +1 -1
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.js +1 -1
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/mark/utils/index.js.map +1 -1
- package/esm/model/base-model.d.ts +1 -1
- package/esm/model/base-model.js +1 -1
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +1 -0
- package/esm/model/interface.js +1 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.js +1 -1
- package/esm/model/layout-item.js.map +1 -1
- package/esm/model/model-state-manager.js +2 -1
- package/esm/model/model-state-manager.js.map +1 -1
- package/esm/model/tooltip-helper.js +1 -1
- package/esm/model/tooltip-helper.js.map +1 -1
- package/esm/plugin/chart/interface.js.map +1 -1
- package/esm/plugin/components/axis-label-overlap-plugin.js.map +1 -1
- package/esm/plugin/components/basic-plugin.js.map +1 -1
- package/esm/plugin/components/index.js.map +1 -1
- package/esm/plugin/components/interface.js.map +1 -1
- package/esm/plugin/components/plugin-service.js.map +1 -1
- package/esm/plugin/interface.js +1 -1
- package/esm/plugin/interface.js.map +1 -1
- package/esm/plugin/series/interface.js.map +1 -1
- package/esm/region/interface.js +1 -1
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.js +1 -1
- package/esm/region/region.js.map +1 -1
- package/esm/scale/global-scale.js +1 -1
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/scale/interface.js +1 -1
- package/esm/scale/interface.js.map +1 -1
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area.js +3 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/bar/animation.js.map +1 -1
- package/esm/series/bar/bar.js +7 -6
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +3 -0
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +2 -2
- package/esm/series/base/base-series.js +8 -10
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/group.js.map +1 -1
- package/esm/series/base/series-data.js.map +1 -1
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/boxPlot.d.ts +1 -1
- package/esm/series/box-plot/boxPlot.js +10 -11
- package/esm/series/box-plot/boxPlot.js.map +1 -1
- 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 +11 -0
- package/esm/series/cartesian/cartesian.js +38 -3
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/cartesian/interface.d.ts +1 -2
- package/esm/series/cartesian/interface.js.map +1 -1
- package/esm/series/circle-packing/animation.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.js +3 -3
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/interface.js.map +1 -1
- package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
- package/esm/series/dot/config.js.map +1 -1
- package/esm/series/dot/dot.js +6 -8
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/interface.d.ts +0 -1
- package/esm/series/dot/interface.js.map +1 -1
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +8 -0
- package/esm/series/funnel/funnel.js +13 -4
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/index.js.map +1 -1
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/geo/geo.d.ts +1 -0
- package/esm/series/geo/geo.js +3 -0
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/geo/interface.js.map +1 -1
- package/esm/series/heatmap/animation.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +5 -4
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/heatmap/interface.js.map +1 -1
- package/esm/series/heatmap/tooltip-helper.js.map +1 -1
- package/esm/series/interface/common.d.ts +1 -0
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/index.js.map +1 -1
- package/esm/series/interface/series.d.ts +7 -0
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/interface/tooltip-helper.js.map +1 -1
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/line/animation.js.map +1 -1
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/interface.d.ts +2 -2
- package/esm/series/link/interface.js.map +1 -1
- package/esm/series/link/link.js +3 -3
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/map/geo-source.d.ts +1 -0
- package/esm/series/map/geo-source.js +4 -0
- package/esm/series/map/geo-source.js.map +1 -1
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.js +2 -1
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/map/tooltip-helper.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +0 -1
- package/esm/series/mixin/line-mixin.js +12 -7
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/animation/animation.js.map +1 -1
- package/esm/series/pie/animation/centerOffset.js.map +1 -1
- package/esm/series/pie/interface.d.ts +1 -0
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +13 -5
- package/esm/series/pie/pie.js +32 -25
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/animation.js.map +1 -1
- package/esm/series/polar/interface.d.ts +0 -1
- package/esm/series/polar/interface.js.map +1 -1
- package/esm/series/polar/polar.d.ts +1 -0
- package/esm/series/polar/polar.js +3 -0
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/polar/progress-like/animation.js.map +1 -1
- package/esm/series/polar/progress-like/index.js.map +1 -1
- package/esm/series/polar/progress-like/interface.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/polar/rose-like/index.js.map +1 -1
- package/esm/series/polar/rose-like/interface.js.map +1 -1
- package/esm/series/polar/rose-like/rose-like.js.map +1 -1
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/index.js.map +1 -1
- package/esm/series/progress/circular/interface.js.map +1 -1
- package/esm/series/progress/interface.js.map +1 -1
- package/esm/series/progress/linear/animation.js.map +1 -1
- package/esm/series/progress/linear/index.js.map +1 -1
- package/esm/series/progress/linear/interface.js.map +1 -1
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/interface.d.ts +0 -1
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/interface.js.map +1 -1
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/range-column/animation.js.map +1 -1
- package/esm/series/range-column/interface.d.ts +3 -3
- package/esm/series/range-column/interface.js.map +1 -1
- package/esm/series/range-column/rangeColumn.js +15 -13
- package/esm/series/range-column/rangeColumn.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/rose/animation.js.map +1 -1
- package/esm/series/rose/interface.js.map +1 -1
- package/esm/series/rose/rose.js +2 -1
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.js +5 -5
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/scatter/animation.js.map +1 -1
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.js +8 -5
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/animation/enter.js.map +1 -1
- package/esm/series/sunburst/animation/exit.js.map +1 -1
- package/esm/series/sunburst/animation/index.js.map +1 -1
- package/esm/series/sunburst/animation/interface.js.map +1 -1
- package/esm/series/sunburst/animation/preset.js.map +1 -1
- package/esm/series/sunburst/animation/utils.js.map +1 -1
- package/esm/series/sunburst/interface.js.map +1 -1
- package/esm/series/sunburst/sunburst.js +3 -3
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/sunburst/tooltip-helper.js.map +1 -1
- package/esm/series/treemap/animation.js.map +1 -1
- package/esm/series/treemap/config.js.map +1 -1
- package/esm/series/treemap/interface.js.map +1 -1
- package/esm/series/treemap/tooltip-helper.js.map +1 -1
- package/esm/series/treemap/treemap.js +3 -3
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/util/label-mark.js.map +1 -1
- package/esm/series/util/utils.js.map +1 -1
- package/esm/series/waterfall/animation.js.map +1 -1
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/animation.js.map +1 -1
- package/esm/series/word-cloud/config.js.map +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.d.ts +10 -3
- package/esm/series/word-cloud/word-cloud.js +107 -26
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/theme/buildin-theme/config.js +2 -0
- package/esm/theme/buildin-theme/config.js.map +1 -1
- package/esm/theme/buildin-theme/dark.js +6 -462
- package/esm/theme/buildin-theme/dark.js.map +1 -1
- package/esm/theme/buildin-theme/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/brush.js +12 -8
- package/esm/theme/buildin-theme/light/component/brush.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/cartesian-axis.d.ts +3 -2
- package/esm/theme/buildin-theme/light/component/cartesian-axis.js +15 -81
- package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/color-legend.d.ts +2 -36
- package/esm/theme/buildin-theme/light/component/color-legend.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/common-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/common-axis.js +68 -0
- package/esm/theme/buildin-theme/light/component/common-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/crosshair.js +1 -6
- package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/data-zoom.js +10 -10
- package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/discrete-legend.js +3 -6
- package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/indicator.d.ts +2 -0
- package/esm/{component/indicator/config.js → theme/buildin-theme/light/component/indicator.js} +2 -2
- package/esm/theme/buildin-theme/light/component/indicator.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/mark-area.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/mark-line.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/mark-point.js +1 -3
- package/esm/theme/buildin-theme/light/component/mark-point.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/polar-axis.d.ts +3 -2
- package/esm/theme/buildin-theme/light/component/polar-axis.js +11 -68
- package/esm/theme/buildin-theme/light/component/polar-axis.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/size-legend.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/title.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/title.js +9 -0
- package/esm/theme/buildin-theme/light/component/title.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/tooltip.js +5 -5
- package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/esm/theme/buildin-theme/light/index.js +21 -7
- package/esm/theme/buildin-theme/light/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/area.js +6 -5
- package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/bar.js +1 -4
- package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/bar3d.js +1 -4
- package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/circle-packing.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/dot.js +11 -3
- package/esm/theme/buildin-theme/light/series/dot.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/funnel.js +0 -3
- package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/funnel3d.js +0 -3
- package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/heatmap.js +2 -3
- package/esm/theme/buildin-theme/light/series/heatmap.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/line.js +6 -5
- package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/link.js +5 -3
- package/esm/theme/buildin-theme/light/series/link.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/map.js +1 -2
- package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/pie.js +1 -3
- package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/pie3d.js +1 -3
- package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/radar.js +6 -5
- package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/rangeColumn.js +1 -4
- package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/scatter.js +1 -4
- package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/sunburst.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/treemap.js +1 -5
- package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/waterfall.js +1 -5
- package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/word-cloud.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
- package/esm/theme/color-scheme/interface.d.ts +1 -1
- package/esm/theme/color-scheme/interface.js.map +1 -1
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/index.js.map +1 -1
- package/esm/theme/interface.d.ts +13 -5
- package/esm/theme/interface.js.map +1 -1
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/typings/common.js.map +1 -1
- package/esm/typings/coordinate.js.map +1 -1
- package/esm/typings/cursor.js.map +1 -1
- package/esm/typings/data.js.map +1 -1
- package/esm/typings/geo.js.map +1 -1
- package/esm/typings/index.js.map +1 -1
- package/esm/typings/interpolate.js.map +1 -1
- package/esm/typings/line-stroke.js.map +1 -1
- package/esm/typings/params.js.map +1 -1
- package/esm/typings/scale.js.map +1 -1
- package/esm/typings/shape.js.map +1 -1
- package/esm/typings/space.d.ts +1 -1
- package/esm/typings/space.js.map +1 -1
- package/esm/typings/spec/chart.js.map +1 -1
- package/esm/typings/spec/common.d.ts +5 -5
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/spec/index.js.map +1 -1
- package/esm/typings/tooltip/common.js.map +1 -1
- package/esm/typings/tooltip/handler.js.map +1 -1
- package/esm/typings/tooltip/index.js.map +1 -1
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/tooltip/position.js.map +1 -1
- package/esm/typings/tooltip/shape.js.map +1 -1
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/typings/visual.d.ts +21 -3
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/array.js.map +1 -1
- package/esm/util/color.js.map +1 -1
- package/esm/util/data.js +3 -2
- package/esm/util/data.js.map +1 -1
- package/esm/util/debug.js.map +1 -1
- package/esm/util/env.js.map +1 -1
- package/esm/util/hierarchy.js.map +1 -1
- package/esm/util/id.js +4 -4
- package/esm/util/id.js.map +1 -1
- package/esm/util/image.js.map +1 -1
- package/esm/util/index.js.map +1 -1
- package/esm/util/math.js.map +1 -1
- package/esm/util/model.js.map +1 -1
- package/esm/util/object.js.map +1 -1
- package/esm/util/scale.js.map +1 -1
- package/esm/util/space.js.map +1 -1
- package/esm/util/spec.js.map +1 -1
- package/esm/util/style.js +4 -6
- package/esm/util/style.js.map +1 -1
- package/esm/util/text.js.map +1 -1
- package/esm/util/type.js.map +1 -1
- package/esm/vchart-all.js +3 -1
- package/esm/vchart-all.js.map +1 -1
- package/package.json +16 -57
- package/cjs/component/brush/config.d.ts +0 -8
- package/cjs/component/brush/config.js +0 -13
- package/cjs/component/brush/config.js.map +0 -1
- package/cjs/component/indicator/config.d.ts +0 -5
- package/cjs/component/indicator/config.js.map +0 -1
- package/cjs/component/tooltip/config.d.ts +0 -2
- package/cjs/component/tooltip/config.js +0 -12
- package/cjs/component/tooltip/config.js.map +0 -1
- package/esm/component/brush/config.d.ts +0 -8
- package/esm/component/brush/config.js +0 -9
- package/esm/component/brush/config.js.map +0 -1
- package/esm/component/indicator/config.d.ts +0 -5
- package/esm/component/indicator/config.js.map +0 -1
- package/esm/component/tooltip/config.d.ts +0 -2
- package/esm/component/tooltip/config.js +0 -8
- package/esm/component/tooltip/config.js.map +0 -1
|
@@ -13,13 +13,13 @@ class DiscreteLegend extends base_legend_1.BaseLegend {
|
|
|
13
13
|
static createComponent(spec, options) {
|
|
14
14
|
const legendSpec = spec.legends || options.defaultSpec;
|
|
15
15
|
if (!legendSpec) return;
|
|
16
|
-
if (!(0, util_2.isArray)(legendSpec)) return !1
|
|
16
|
+
if (!(0, util_2.isArray)(legendSpec)) return !1 === legendSpec.visible || legendSpec.type && "discrete" !== legendSpec.type ? void 0 : new DiscreteLegend(legendSpec, Object.assign(Object.assign({}, options), {
|
|
17
17
|
specIndex: 0,
|
|
18
18
|
specKey: "legends"
|
|
19
|
-
}))
|
|
19
|
+
}));
|
|
20
20
|
const legends = [];
|
|
21
21
|
return legendSpec.forEach(((s, i) => {
|
|
22
|
-
|
|
22
|
+
!1 === s.visible || s.type && "discrete" !== s.type || legends.push(new DiscreteLegend(s, Object.assign(Object.assign({}, options), {
|
|
23
23
|
specIndex: i,
|
|
24
24
|
specKey: "legends"
|
|
25
25
|
})));
|
|
@@ -105,22 +105,23 @@ class DiscreteLegend extends base_legend_1.BaseLegend {
|
|
|
105
105
|
}
|
|
106
106
|
_getLegendItems() {
|
|
107
107
|
const originData = (this._legendData.getLatestData() || []).map((datum => {
|
|
108
|
-
var _a
|
|
108
|
+
var _a;
|
|
109
|
+
const fill = datum.style("fill"), stroke = datum.style("stroke"), symbolType = datum.style("symbolType"), fillOpacity = datum.style("fillOpacity"), strokeOpacity = datum.style("strokeOpacity"), opacity = datum.style("opacity"), texture = datum.style("texture"), textureColor = datum.style("textureColor"), outerBorder = datum.style("outerBorder"), innerBorder = datum.style("innerBorder");
|
|
109
110
|
return {
|
|
110
111
|
label: datum.key,
|
|
111
112
|
shape: {
|
|
112
|
-
fill:
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
texture:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
113
|
+
fill: fill,
|
|
114
|
+
symbolType: null !== (_a = null != symbolType ? symbolType : datum.shapeType) && void 0 !== _a ? _a : "circle",
|
|
115
|
+
stroke: fill === stroke ? null : stroke,
|
|
116
|
+
fillOpacity: (0, vutils_1.isValidNumber)(fillOpacity) ? fillOpacity : 1,
|
|
117
|
+
strokeOpacity: (0, vutils_1.isValidNumber)(strokeOpacity) ? strokeOpacity : 1,
|
|
118
|
+
opacity: (0, vutils_1.isValidNumber)(opacity) ? opacity : 1,
|
|
119
|
+
texture: texture,
|
|
120
|
+
texturePadding: texture ? 1 : null,
|
|
121
|
+
textureSize: texture ? 4 : null,
|
|
122
|
+
textureColor: textureColor,
|
|
123
|
+
innerBorder: innerBorder,
|
|
124
|
+
outerBorder: outerBorder
|
|
124
125
|
}
|
|
125
126
|
};
|
|
126
127
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import { isFunction, isNil, isValidNumber } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec, IDiscreteLegendTheme } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { isArray, eachSeries, get, getFieldAlias } from '../../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport type { ILegend } from '../interface';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\n\nexport class DiscreteLegend extends BaseLegend {\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n protected declare _spec: IDiscreteLegendSpec;\n protected declare _theme: IDiscreteLegendTheme;\n\n static createComponent(spec: any, options: IComponentOption) {\n const legendSpec = spec.legends || options.defaultSpec;\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if ((legendSpec.visible !== false && !legendSpec.type) || legendSpec.type === 'discrete') {\n return new DiscreteLegend(legendSpec, {\n ...options,\n specIndex: 0,\n specKey: 'legends'\n });\n }\n return undefined;\n }\n const legends: ILegend[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if ((s.visible !== false && !s.type) || s.type === 'discrete') {\n legends.push(new DiscreteLegend(s, { ...options, specIndex: i, specKey: 'legends' }));\n }\n });\n return legends;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => s.getSeriesField(),\n data: () => this._legendData.getLatestData().map((obj: any) => obj.key)\n }\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet);\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n return this._regions.reduce((pre, r) => {\n pre.push(...r.getSeries());\n return pre;\n }, [] as ISeries[]);\n }\n }\n });\n\n return legendData;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._legendData.getLatestData().map((d: any) => d.key);\n }\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n maxWidth: rect.width,\n maxHeight: rect.height,\n ...getLegendAttributes(this._spec, rect)\n };\n this._addDefaultTitleText(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n return {\n label: datum.key,\n shape: {\n fill: !!datum.style('fill'),\n fillColor: datum.style('fill'),\n symbolType: datum.style('symbolType') ?? datum.shapeType ?? 'circle',\n strokeColor: datum.style('stroke'),\n stroke: !!datum.style('stroke'),\n fillOpacity: isValidNumber(datum.style('fillOpacity')) ? datum.style('fillOpacity') : 1,\n strokeOpacity: isValidNumber(datum.style('strokeOpacity')) ? datum.style('strokeOpacity') : 1,\n opacity: isValidNumber(datum.style('opacity')) ? datum.style('opacity') : 1,\n texture: datum.style('texture'),\n texturePadding: datum.style('texture') ? 1 : null,\n textureSize: datum.style('texture') ? 4 : null,\n textureColor: datum.style('textureColor')\n }\n };\n });\n return isFunction(this._spec.data) ? this._spec.data(originData) : originData;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AACpE,iDAA8C;AAO9C,+CAAoD;AAEpD,iCAA6C;AAC7C,qDAA0E;AAC1E,wCAAwE;AAExE,qEAA2D;AAE3D,qEAAiF;AAEjF,4EAA6G;AAC7G,gDAA4C;AAC5C,gDAA+C;AAE/C,MAAa,cAAe,SAAQ,wBAAU;IAA9C;;QAEE,SAAI,GAAG,6BAAiB,CAAC,cAAc,CAAC;QACxC,SAAI,GAAW,6BAAiB,CAAC,cAAc,CAAC;IAiKlD,CAAC;IA5JC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE;YACxB,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;gBACxF,OAAO,IAAI,cAAc,CAAC,UAAU,kCAC/B,OAAO,KACV,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,SAAS,IAClB,CAAC;aACJ;YACD,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAsB,EAAE,CAAS,EAAE,EAAE;YACvD,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;gBAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,kCAAO,OAAO,KAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,IAAG,CAAC,CAAC;aACvF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAwB;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAA,iBAAU,EACR,IAAI,CAAC,QAAQ,EACb,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,iBAAiB,CAAC;gBAClB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE;oBACP,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa;oBAClC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;oBAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;iBACxE;aACF,CAAC,CAAC;QACL,CAAC,EACD;YACE,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,CACF,CAAC;IACJ,CAAC;IAES,eAAe;QACvB,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,+BAAoB,CAAC,CAAC;QACrG,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,EAAE,iCAAsB,CAAC,CAAC;QACzG,MAAM,UAAU,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,UAAU,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE;gBACP,MAAM,EAAE,GAAG,EAAE;oBACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACrC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC3B,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAe,CAAC,CAAC;gBACtB,CAAC;aACF;SACF,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,iBAAiB;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC9E;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAU;;QACrC,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,OAAO,KAAI,IAAA,cAAK,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,cAAK,EAAC,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,CAAC,EAAE;YAErF,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAG,CAAC,CAAC,0CAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;YAED,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAA,oBAAa,EAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;SAChF;IACH,CAAC;IAES,oBAAoB,CAAC,IAAiB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QACzG,MAAM,KAAK,mBACT,MAAM,EACN,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,EAC7B,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,QAAQ,EAAE,IAAI,CAAC,KAAK,EACpB,SAAS,EAAE,IAAI,CAAC,MAAM,IACnB,IAAA,0BAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAES,qBAAqB;QAC7B,OAAO,mCAAe,CAAC;IACzB,CAAC;IAES,UAAU;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gCAAW,CAAC,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC7E,MAAM,YAAY,GAAG,IAAA,UAAG,EAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBACtD,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gCAAW,CAAC,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC7E,MAAM,MAAM,GAAG,IAAA,UAAG,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gCAAW,CAAC,iBAAiB,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC/E,MAAM,MAAM,GAAG,IAAA,UAAG,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,eAAe;QACrB,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;;YAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAE/C,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,KAAK,EAAE;oBACL,IAAI;oBACJ,UAAU,EAAE,MAAA,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK,CAAC,SAAS,mCAAI,QAAQ;oBACrD,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;oBACvC,WAAW,EAAE,IAAA,sBAAa,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACzD,aAAa,EAAE,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC/D,OAAO,EAAE,IAAA,sBAAa,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC7C,OAAO,EAAE,OAAO;oBAChB,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAClC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC/B,YAAY;oBACZ,WAAW;oBACX,WAAW;iBACZ;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAChF,CAAC;;AAnKH,wCAoKC;AAnKQ,mBAAI,GAAG,6BAAiB,CAAC,cAAc,CAAC","file":"legend.js","sourcesContent":["import { isFunction, isNil, isValidNumber } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec, IDiscreteLegendTheme } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { isArray, eachSeries, get, getFieldAlias } from '../../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport type { ILegend } from '../interface';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\n\nexport class DiscreteLegend extends BaseLegend {\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n protected declare _spec: IDiscreteLegendSpec;\n protected declare _theme: IDiscreteLegendTheme;\n\n static createComponent(spec: any, options: IComponentOption) {\n const legendSpec = spec.legends || options.defaultSpec;\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (legendSpec.visible !== false && (!legendSpec.type || legendSpec.type === 'discrete')) {\n return new DiscreteLegend(legendSpec, {\n ...options,\n specIndex: 0,\n specKey: 'legends'\n });\n }\n return undefined;\n }\n const legends: ILegend[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (s.visible !== false && (!s.type || s.type === 'discrete')) {\n legends.push(new DiscreteLegend(s, { ...options, specIndex: i, specKey: 'legends' }));\n }\n });\n return legends;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => s.getSeriesField(),\n data: () => this._legendData.getLatestData().map((obj: any) => obj.key)\n }\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet);\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n return this._regions.reduce((pre, r) => {\n pre.push(...r.getSeries());\n return pre;\n }, [] as ISeries[]);\n }\n }\n });\n\n return legendData;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._legendData.getLatestData().map((d: any) => d.key);\n }\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n maxWidth: rect.width,\n maxHeight: rect.height,\n ...getLegendAttributes(this._spec, rect)\n };\n this._addDefaultTitleText(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fill = datum.style('fill');\n const stroke = datum.style('stroke');\n const symbolType = datum.style('symbolType');\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n const textureColor = datum.style('textureColor');\n const outerBorder = datum.style('outerBorder');\n const innerBorder = datum.style('innerBorder');\n\n return {\n label: datum.key,\n shape: {\n fill,\n symbolType: symbolType ?? datum.shapeType ?? 'circle',\n stroke: fill === stroke ? null : stroke,\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texture: texture,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n textureColor,\n innerBorder,\n outerBorder\n }\n };\n });\n return isFunction(this._spec.data) ? this._spec.data(originData) : originData;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/legend/discrete/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid, merge } from '@visactor/vutils';\nimport type { ILayoutRect } from '../../../model/interface';\nimport { isPercent } from '../../../util';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec } from './interface';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = merge({}, spec);\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n transformComponentStyle(item.shape);\n transformComponentStyle(item.label);\n transformComponentStyle(item.value);\n transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n // transform pager\n if (!isEmpty(pager.textStyle)) {\n transformToGraphic(pager.textStyle);\n }\n transformComponentStyle(pager.handler);\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n merge(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid, merge } from '@visactor/vutils';\nimport type { ILayoutRect } from '../../../model/interface';\nimport { isPercent } from '../../../util';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec } from './interface';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = merge({}, spec);\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n transformComponentStyle(item.shape);\n transformComponentStyle(item.label);\n transformComponentStyle(item.value);\n transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n // transform pager\n if (!isEmpty(pager.textStyle)) {\n transformToGraphic(pager.textStyle);\n }\n transformComponentStyle(pager.handler);\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n merge(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/legend/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B","file":"index.js","sourcesContent":["export * from './discrete';\nexport * from './continuous';\nexport * from './interface';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B","file":"index.js","sourcesContent":["export * from './discrete';\nexport * from './continuous';\nexport * from './interface';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/legend/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { LegendTitle } from '@visactor/vrender-components';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { LegendTitle } from '@visactor/vrender-components';\nimport type {\n IOrientType,\n IPadding,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { IComponent } from '../interface';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type ILegend = IComponent & {\n getLegendData: () => StringOrNumber[];\n getSelectedData: () => StringOrNumber[];\n setSelectedData: (d: StringOrNumber[]) => void;\n};\n\nexport type NoVisibleMarkStyle<T> = Omit<T, 'visible'>;\n\nexport type ITitle = {\n /** 标题文本样式 */\n textStyle?: NoVisibleMarkStyle<ITextMarkSpec>;\n /**\n * @deprecated 请使用 textStyle 配置文本样式\n */\n style?: NoVisibleMarkStyle<ITextMarkSpec>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n} & Omit<LegendTitle, 'textStyle' | 'style' | 'background'>;\n\n// 图例组件通用配置\nexport type ILegendCommonSpec = {\n /**\n * 是否显示图例\n * @default true\n */\n visible?: boolean;\n /**\n * 图例位置\n * @default 'left'\n */\n orient?: IOrientType;\n /**\n * 图例在当前行列的对齐方式,起始 | 居中 | 末尾\n * @default 'middle'\n */\n position?: 'start' | 'middle' | 'end';\n\n /**\n * 是否进行数据筛选,默认为 true\n */\n filter?: boolean;\n\n /**\n * 图例标题配置\n */\n title?: ITitle;\n\n /**\n * 图例背景配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景内边距\n */\n padding?: IPadding | number | number[];\n /**\n * 背景层样式\n */\n style?: Omit<NoVisibleMarkStyle<IRectMarkSpec>, 'visible' | 'width' | 'height'>;\n };\n\n /**\n * 图例关联的region索引\n * @default 0\n */\n regionIndex?: number | number[];\n /**\n * 图例关联的region id\n */\n regionId?: StringOrNumber | StringOrNumber[];\n /**\n * 图例关联的系列索引\n */\n seriesIndex?: number | number[];\n /**\n * 图例关联的系列id\n */\n seriesId?: StringOrNumber | StringOrNumber[];\n} & Omit<IModelSpec, 'orient'>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/legend/util.ts"],"names":[],"mappings":";;;AACA,6CAAkD;AAClD,4CAAsD;AAEtD,SAAgB,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAA,cAAK,EAAC,gBAAgB,CAAC,SAAS,EAAE,IAAA,0BAAkB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KACxE;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAnBD,wEAmBC;AAOD,SAAgB,SAAS,CAAC,IAAuB;IAC/C,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AACvF,CAAC;AAFD,8BAEC","file":"util.js","sourcesContent":["import type { ILegendCommonSpec, ITitle } from './interface';\nimport { isEmpty, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n merge(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n\n/**\n * 根据图例 spec.orient 参数判断是水平还是垂直布局\n * @param spec\n * @returns\n */\nexport function getLayout(spec: ILegendCommonSpec) {\n return spec.orient === 'bottom' || spec.orient === 'top' ? 'horizontal' : 'vertical';\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":";;;AACA,6CAAkD;AAClD,4CAAsD;AAEtD,SAAgB,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAA,cAAK,EAAC,gBAAgB,CAAC,SAAS,EAAE,IAAA,0BAAkB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KACxE;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAnBD,wEAmBC;AAOD,SAAgB,SAAS,CAAC,IAAuB;IAC/C,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AACvF,CAAC;AAFD,8BAEC","file":"util.js","sourcesContent":["import type { ILegendCommonSpec, ITitle } from './interface';\nimport { isEmpty, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n merge(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n\n/**\n * 根据图例 spec.orient 参数判断是水平还是垂直布局\n * @param spec\n * @returns\n */\nexport function getLayout(spec: ILegendCommonSpec) {\n return spec.orient === 'bottom' || spec.orient === 'top' ? 'horizontal' : 'vertical';\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport { merge } from '../../util/object';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport { DEFAULT_CONFIG } from './config';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\n\nexport class MapLabelComponent extends BaseComponent {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n declare _spec: IMapLabelSpec;\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this._spec = merge({}, DEFAULT_CONFIG, this._spec);\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n pickable: false,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { LayoutZIndex } from '../../constant';\nimport { merge } from '../../util/object';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport { DEFAULT_CONFIG } from './config';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport { CompilableData } from '../../compile/data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\n\nexport class MapLabelComponent extends BaseComponent {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n static speckey = 'mapLabel';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n declare _spec: IMapLabelSpec;\n\n static createComponent(spec: any, options: IComponentOption) {\n // TODO: 限制mapSeries使用\n const labelSpec = spec.mapLabel;\n if (!labelSpec || !labelSpec.visible || isValid(labelSpec.series)) {\n return null;\n }\n return new MapLabelComponent(labelSpec, options);\n }\n\n setAttrFromSpec(): void {\n this._spec = merge({}, DEFAULT_CONFIG, this._spec);\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet);\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView' }, false);\n data.name = `${this.name}_data`;\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('hovered', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unhovered', () => {\n this._updateDatum([]);\n });\n } else if (trigger === 'click') {\n this.event.on('selected', { filter: params => this._isRelativeSeries(params.model) }, params => {\n this._updateDatum(params.value);\n });\n this.event.on('unselected', () => {\n this._updateDatum([]);\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: this.getRegions()[0].getLayoutStartPoint().x,\n y: this.getRegions()[0].getLayoutStartPoint().y,\n position: anchor,\n pickable: false,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/map-label/config.ts"],"names":[],"mappings":";;;AAAA,uCAAyG;AAG5F,QAAA,cAAc,GAA2B;IACpD,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,EAAE;IACT,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAR,8BAAQ;YACR,UAAU,EAAV,gCAAU;SACX;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAR,8BAAQ;YACR,UAAU,EAAV,gCAAU;SACX;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACjD,KAAK,EAAE;YACL,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;SACf;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC","file":"config.js","sourcesContent":["import { DEFAULT_TEXT_FONT_FAMILY as fontFamily, DEFAULT_TEXT_FONT_SIZE as fontSize } from '../../theme';\nimport type { IMapLabelSpec } from './interface';\n\nexport const DEFAULT_CONFIG: Partial<IMapLabelSpec> = {\n visible: true,\n offset: 12,\n position: 'top',\n space: 10,\n nameLabel: {\n visible: true,\n style: {\n textBaseline: 'middle',\n textAlign: 'left',\n fill: 'black',\n fontSize,\n fontFamily\n }\n },\n valueLabel: {\n visible: true,\n style: {\n textBaseline: 'middle',\n textAlign: 'left',\n fill: 'black',\n fontSize,\n fontFamily\n }\n },\n background: {\n visible: true,\n padding: { top: 4, bottom: 4, left: 6, right: 6 },\n style: {\n cornerRadius: 2,\n lineWidth: 1,\n fill: 'white',\n stroke: 'grey'\n }\n },\n leader: {\n visible: false,\n style: {\n lineWidth: 1,\n stroke: 'red'\n }\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/map-label/config.ts"],"names":[],"mappings":";;;AAAA,uCAAyG;AAG5F,QAAA,cAAc,GAA2B;IACpD,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,EAAE;IACT,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAR,8BAAQ;YACR,UAAU,EAAV,gCAAU;SACX;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAR,8BAAQ;YACR,UAAU,EAAV,gCAAU;SACX;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACjD,KAAK,EAAE;YACL,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;SACf;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC","file":"config.js","sourcesContent":["import { DEFAULT_TEXT_FONT_FAMILY as fontFamily, DEFAULT_TEXT_FONT_SIZE as fontSize } from '../../theme';\nimport type { IMapLabelSpec } from './interface';\n\nexport const DEFAULT_CONFIG: Partial<IMapLabelSpec> = {\n visible: true,\n offset: 12,\n position: 'top',\n space: 10,\n nameLabel: {\n visible: true,\n style: {\n textBaseline: 'middle',\n textAlign: 'left',\n fill: 'black',\n fontSize,\n fontFamily\n }\n },\n valueLabel: {\n visible: true,\n style: {\n textBaseline: 'middle',\n textAlign: 'left',\n fill: 'black',\n fontSize,\n fontFamily\n }\n },\n background: {\n visible: true,\n padding: { top: 4, bottom: 4, left: 6, right: 6 },\n style: {\n cornerRadius: 2,\n lineWidth: 1,\n fill: 'white',\n stroke: 'grey'\n }\n },\n leader: {\n visible: false,\n style: {\n lineWidth: 1,\n stroke: 'red'\n }\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/map-label/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,8CAA4B;AAC5B,8CAA4B","file":"index.js","sourcesContent":["/**\n * @description 地图扩展 label 组件\n * @todo 待后续 vchart 整体稳定后再拆出\n */\nexport * from './component';\nexport * from './interface';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/map-label/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,8CAA4B;AAC5B,8CAA4B","file":"index.js","sourcesContent":["/**\n * @description 地图扩展 label 组件\n * @todo 待后续 vchart 整体稳定后再拆出\n */\nexport * from './component';\nexport * from './interface';\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { IGraphic } from '@visactor/vrender';
|
|
2
|
-
import type { IPadding, IOrientType } from '../../typings';
|
|
2
|
+
import type { IPadding, IOrientType, StringOrNumber } from '../../typings';
|
|
3
3
|
import type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../typings/visual';
|
|
4
4
|
import type { IModelSpec } from '../../model/interface';
|
|
5
5
|
export type LabelPosition = IOrientType | 'outer';
|
|
6
6
|
export interface IMapLabelSpec extends Pick<IModelSpec, 'id'> {
|
|
7
|
-
seriesId:
|
|
7
|
+
seriesId: StringOrNumber;
|
|
8
8
|
visible?: boolean;
|
|
9
9
|
nameField?: string;
|
|
10
10
|
valueField?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/map-label/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\nimport type { IPadding, IOrientType } from '../../typings';\nimport type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../typings/visual';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type LabelPosition = IOrientType | 'outer';\n\nexport interface IMapLabelSpec extends Pick<IModelSpec, 'id'> {\n /** 关联的系列 id */\n seriesId:
|
|
1
|
+
{"version":3,"sources":["../src/component/map-label/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\nimport type { IPadding, IOrientType, StringOrNumber } from '../../typings';\nimport type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../typings/visual';\nimport type { IModelSpec } from '../../model/interface';\n\nexport type LabelPosition = IOrientType | 'outer';\n\nexport interface IMapLabelSpec extends Pick<IModelSpec, 'id'> {\n /** 关联的系列 id */\n seriesId: StringOrNumber;\n /** 是否显示,默认 false */\n visible?: boolean;\n /** 名称文本的数据字段 */\n nameField?: string;\n /** 数值文本的数据字段 */\n valueField?: string;\n /**\n * 交互触发类型\n * @default 'none'\n */\n trigger?: 'hover' | 'click' | 'none';\n /** 标签非 outer 位置下与标记点的间距 */\n offset?: number;\n /**\n * icon/label之间的距离\n */\n space?: number;\n /** 标签位置 */\n position?: LabelPosition;\n /** 名称文本样式设置 */\n nameLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 数值文本样式设置 */\n valueLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 图标样式设置 */\n icon?: {\n visible?: boolean;\n style?: ISymbolMarkSpec;\n };\n /** 背景样式设置 */\n background?: {\n visible?: boolean;\n padding?: IPadding;\n style?: IRectMarkSpec;\n };\n /** 引导线样式设置 */\n leader?: {\n visible?: boolean;\n style?: IPathMarkSpec;\n };\n}\n\nexport type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';\n\nexport type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/map-label/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { Feature } from '@visactor/vutils';\nimport { isPointInPolygon, destination, getAABBFromPoints } from '@visactor/vutils';\nimport type { IRect, IOrientType, IPoint } from '../../typings';\n\ntype IBound = {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n};\nexport interface IPairInfo {\n /** 矩形信息 */\n rect: IRect;\n /** 对应点的画布坐标 */\n point: IPoint;\n /** 对应点的经纬度坐标 */\n pointCoord?: IPoint;\n /** 基于锚点的可放置位置 */\n anchors?: IOrientType[];\n /** 距离锚点的位置偏移量 */\n offset?: number;\n /** 原始顺序 */\n index: number;\n}\n\nfunction overlap<T extends IBound>(a: T, b: T, sep: number = 0) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport function bound(rect: IRect): IBound {\n return {\n x1: rect.x,\n x2: rect.x + rect.width,\n y1: rect.y,\n y2: rect.y + rect.height\n };\n}\n\nfunction toRect(bound: IBound): IRect {\n return {\n x: bound.x1,\n y: bound.y1,\n width: bound.x2 - bound.x1,\n height: bound.y2 - bound.y1\n };\n}\n\n/**\n * 根据可选位置进行躲避布局\n * @param pairs\n * @returns\n */\nexport function layoutByPosition(pairs: IPairInfo[]): IRect[] {\n if (!pairs || pairs.length === 0) {\n return [];\n }\n\n // 只有一个无需布局\n if (pairs.length === 1) {\n return [pairs[0].rect];\n }\n\n const _pairs = pairs.map(pair => {\n return {\n ...pair,\n bound: bound(pair.rect),\n anchorCandidates: candidatesByOrient(pair.anchors ?? [], pair.point!, pair.rect, pair.offset)\n };\n });\n\n const resultBound: IBound[] = [];\n // 默认布局第一个\n resultBound.push(_pairs[0].bound);\n\n for (let i = 1; i <= _pairs.length - 1; i++) {\n const curPair = _pairs[i];\n const curBound = curPair.bound;\n // 遍历检测\n let isOverlap = resultBound.some(r => overlap(r, curBound));\n if (!curPair.anchorCandidates) {\n continue;\n }\n if (isOverlap && curPair.anchorCandidates?.length > 0) {\n for (let j = 0; j < curPair.anchorCandidates.length; j++) {\n const anchor = curPair.anchorCandidates[j];\n const newBound = {\n x1: anchor.x,\n y1: anchor.y,\n x2: anchor.x + curBound.x2 - curBound.x1,\n y2: anchor.y + curBound.y2 - curBound.y1,\n anchor\n };\n if (!resultBound.some(r => overlap(r, newBound))) {\n resultBound.push(newBound);\n isOverlap = false;\n break;\n }\n }\n if (isOverlap) {\n // 所有候选位置都放不下\n resultBound.push(curPair.bound);\n }\n } else {\n resultBound.push(curPair.bound);\n }\n }\n\n return resultBound.map(bound => toRect(bound));\n}\n\nexport function layoutOuter(\n pairs: IPairInfo[],\n features: Feature[],\n dataToPosition: (coord: number[]) => IPoint | null\n): IRect[] {\n // 1. 计算包围圆\n const _points = pairs.map(rect => rect.pointCoord);\n const { x1, x2, y1, y2 } = getAABBFromPoints(_points);\n const geoCenter = [(x1 + x2) / 2, (y1 + y2) / 2];\n const centerPosition = dataToPosition(geoCenter);\n\n if (!centerPosition) {\n return [];\n }\n\n // 2. 遍历每个rect\n // anchor与圆心的交点方向,尝试寻找不在地图区域内部的新锚点\n const result = pairs.map(pair => {\n const rect = pair.rect;\n const targetPoint = !isPointWithinFeatures(features, pair.pointCoord!)\n ? pair.point\n : dataToPosition(\n nearestPoint(\n features,\n [pair.pointCoord!.x, pair.pointCoord!.y],\n uniformDegree(lineDegree(pair.point!, centerPosition))\n )\n );\n\n if (targetPoint) {\n rect.x = targetPoint.x;\n rect.y = targetPoint.y;\n }\n // 3. 根据finalAnchor在包围圆上的位置,调整rect的位置\n // 将圆根据圆心角划分为4个区域,对应不同的position\n\n const degree = uniformDegree(lineDegree(pair.point!, centerPosition));\n\n let position: IOrientType;\n const anchors: IOrientType[] = [];\n if (degree >= -45 && degree < 45) {\n position = 'top';\n anchors.push('left', 'right');\n } else if (degree >= 45 && degree < 135) {\n position = 'right';\n } else if (degree >= -135 && degree < -45) {\n position = 'left';\n anchors.push('left');\n } else {\n position = 'bottom';\n anchors.push('left', 'right');\n }\n pair.anchors = anchors;\n pair.offset = 20;\n pair.rect = placeRectByOrient(pair.rect, position, 0);\n return pair;\n });\n\n return layoutByPosition(result);\n}\n\nexport function layoutOuter2(\n pairs: IPairInfo[],\n features: Feature[],\n dataToPosition: (coord: number[]) => IPoint | null\n): IRect[] {\n // 1. 计算几何中心\n let x = 0;\n let y = 0;\n for (let i = 0; i < pairs.length; i++) {\n x += pairs[i].pointCoord.x;\n y += pairs[i].pointCoord.y;\n }\n x /= pairs.length;\n y /= pairs.length;\n const centerPosition = dataToPosition([x, y]);\n if (!centerPosition) {\n return [];\n }\n\n const count = pairs.length;\n\n // 2. 按照圆心角排序\n pairs.sort((a, b) => {\n return lineDegree(centerPosition, a.point) - lineDegree(centerPosition, b.point);\n });\n\n const result = pairs.map((pair, index) => {\n let degree = (360 / count) * index;\n const _degree = lineDegree(centerPosition, pair.point);\n degree = uniformDegree((degree + _degree) / 2);\n const targetPoint = !isPointWithinFeatures(features, pair.pointCoord)\n ? pair.point\n : dataToPosition(nearestPoint(features, [pair.pointCoord.x, pair.pointCoord.y], degree));\n if (targetPoint) {\n pair.rect.x = targetPoint.x;\n pair.rect.y = targetPoint.y;\n }\n // 3. 根据finalAnchor在包围圆上的位置,调整rect的位置\n // 将圆根据圆心角划分为4个区域,对应不同的position\n let position: IOrientType;\n const anchors: IOrientType[] = [];\n if (degree >= -45 && degree < 45) {\n position = 'top';\n anchors.push('left', 'right');\n } else if (degree >= 45 && degree < 135) {\n position = 'right';\n } else if (degree >= -135 && degree < -45) {\n position = 'left';\n anchors.push('left');\n } else {\n position = 'bottom';\n anchors.push('left', 'right');\n }\n\n pair.anchors = anchors;\n pair.offset = 20;\n pair.rect = placeRectByOrient(pair.rect, position, 0);\n return pair;\n });\n\n return layoutByPosition(result.sort((a, b) => a.index - b.index));\n}\n\nfunction uniformDegree(degree: number) {\n return degree > 180 ? degree - 360 : degree;\n}\n\nfunction lineDegree(start: IPoint, end: IPoint) {\n return (Math.atan2(start.y - end.y, start.x - end.x) * 180) / Math.PI + 90;\n}\n\nfunction nearestPoint(features: Feature[], origin: number[], bearing: number, distance = 200) {\n const count = 5621 / distance;\n let curOrigin = origin;\n for (let i = 1; i <= count; i++) {\n const dest = destination(curOrigin as unknown as IPoint, distance, bearing);\n if (!isPointWithinFeatures(features, dest)) {\n return [dest.x, dest.y];\n }\n curOrigin = [dest.x, dest.y];\n }\n return origin;\n}\n\nfunction isPointWithinFeatures(features: Feature[], p: IPoint) {\n for (let i = 0; i < features.length; i++) {\n const inside = isPointInPolygon(p, features[i] as any);\n if (inside) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * 以rect左上角为锚点的,根据position位置调整rect布局。\n * @param rect\n * @param position 在锚点的四周位置,'top' | 'bottom' | 'left' | 'right'\n * @param offset rect与锚点间的距离\n * @returns\n */\nexport function placeRectByOrient(rect: IRect, position: IOrientType, offset: number = 0) {\n const result: IRect = { ...rect };\n if (position === 'top') {\n result.x -= rect.width / 2;\n result.y -= offset + rect.height / 2;\n } else if (position === 'bottom') {\n result.x -= rect.width / 2;\n result.y += offset - rect.height / 2;\n } else if (position === 'left') {\n result.x -= offset + rect.width;\n result.y -= rect.height / 2;\n } else if (position === 'right') {\n result.x += offset;\n result.y -= rect.height / 2;\n }\n return result;\n}\n\nexport function candidatesByOrient(\n positions: IOrientType[],\n anchor: IPoint,\n rect: Pick<IRect, 'width' | 'height'>,\n offset = 0\n) {\n const candidates: IPoint[] = [];\n positions.forEach((p: IOrientType) => {\n const { x, y } = placeRectByOrient({ ...anchor, width: rect.width, height: rect.height }, p, offset);\n candidates.push({ x, y });\n });\n return candidates;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/map-label/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { Feature } from '@visactor/vutils';\nimport { isPointInPolygon, destination, getAABBFromPoints } from '@visactor/vutils';\nimport type { IRect, IOrientType, IPoint } from '../../typings';\n\ntype IBound = {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n};\nexport interface IPairInfo {\n /** 矩形信息 */\n rect: IRect;\n /** 对应点的画布坐标 */\n point: IPoint;\n /** 对应点的经纬度坐标 */\n pointCoord?: IPoint;\n /** 基于锚点的可放置位置 */\n anchors?: IOrientType[];\n /** 距离锚点的位置偏移量 */\n offset?: number;\n /** 原始顺序 */\n index: number;\n}\n\nfunction overlap<T extends IBound>(a: T, b: T, sep: number = 0) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport function bound(rect: IRect): IBound {\n return {\n x1: rect.x,\n x2: rect.x + rect.width,\n y1: rect.y,\n y2: rect.y + rect.height\n };\n}\n\nfunction toRect(bound: IBound): IRect {\n return {\n x: bound.x1,\n y: bound.y1,\n width: bound.x2 - bound.x1,\n height: bound.y2 - bound.y1\n };\n}\n\n/**\n * 根据可选位置进行躲避布局\n * @param pairs\n * @returns\n */\nexport function layoutByPosition(pairs: IPairInfo[]): IRect[] {\n if (!pairs || pairs.length === 0) {\n return [];\n }\n\n // 只有一个无需布局\n if (pairs.length === 1) {\n return [pairs[0].rect];\n }\n\n const _pairs = pairs.map(pair => {\n return {\n ...pair,\n bound: bound(pair.rect),\n anchorCandidates: candidatesByOrient(pair.anchors ?? [], pair.point!, pair.rect, pair.offset)\n };\n });\n\n const resultBound: IBound[] = [];\n // 默认布局第一个\n resultBound.push(_pairs[0].bound);\n\n for (let i = 1; i <= _pairs.length - 1; i++) {\n const curPair = _pairs[i];\n const curBound = curPair.bound;\n // 遍历检测\n let isOverlap = resultBound.some(r => overlap(r, curBound));\n if (!curPair.anchorCandidates) {\n continue;\n }\n if (isOverlap && curPair.anchorCandidates?.length > 0) {\n for (let j = 0; j < curPair.anchorCandidates.length; j++) {\n const anchor = curPair.anchorCandidates[j];\n const newBound = {\n x1: anchor.x,\n y1: anchor.y,\n x2: anchor.x + curBound.x2 - curBound.x1,\n y2: anchor.y + curBound.y2 - curBound.y1,\n anchor\n };\n if (!resultBound.some(r => overlap(r, newBound))) {\n resultBound.push(newBound);\n isOverlap = false;\n break;\n }\n }\n if (isOverlap) {\n // 所有候选位置都放不下\n resultBound.push(curPair.bound);\n }\n } else {\n resultBound.push(curPair.bound);\n }\n }\n\n return resultBound.map(bound => toRect(bound));\n}\n\nexport function layoutOuter(\n pairs: IPairInfo[],\n features: Feature[],\n dataToPosition: (coord: number[]) => IPoint | null\n): IRect[] {\n // 1. 计算包围圆\n const _points = pairs.map(rect => rect.pointCoord);\n const { x1, x2, y1, y2 } = getAABBFromPoints(_points);\n const geoCenter = [(x1 + x2) / 2, (y1 + y2) / 2];\n const centerPosition = dataToPosition(geoCenter);\n\n if (!centerPosition) {\n return [];\n }\n\n // 2. 遍历每个rect\n // anchor与圆心的交点方向,尝试寻找不在地图区域内部的新锚点\n const result = pairs.map(pair => {\n const rect = pair.rect;\n const targetPoint = !isPointWithinFeatures(features, pair.pointCoord!)\n ? pair.point\n : dataToPosition(\n nearestPoint(\n features,\n [pair.pointCoord!.x, pair.pointCoord!.y],\n uniformDegree(lineDegree(pair.point!, centerPosition))\n )\n );\n\n if (targetPoint) {\n rect.x = targetPoint.x;\n rect.y = targetPoint.y;\n }\n // 3. 根据finalAnchor在包围圆上的位置,调整rect的位置\n // 将圆根据圆心角划分为4个区域,对应不同的position\n\n const degree = uniformDegree(lineDegree(pair.point!, centerPosition));\n\n let position: IOrientType;\n const anchors: IOrientType[] = [];\n if (degree >= -45 && degree < 45) {\n position = 'top';\n anchors.push('left', 'right');\n } else if (degree >= 45 && degree < 135) {\n position = 'right';\n } else if (degree >= -135 && degree < -45) {\n position = 'left';\n anchors.push('left');\n } else {\n position = 'bottom';\n anchors.push('left', 'right');\n }\n pair.anchors = anchors;\n pair.offset = 20;\n pair.rect = placeRectByOrient(pair.rect, position, 0);\n return pair;\n });\n\n return layoutByPosition(result);\n}\n\nexport function layoutOuter2(\n pairs: IPairInfo[],\n features: Feature[],\n dataToPosition: (coord: number[]) => IPoint | null\n): IRect[] {\n // 1. 计算几何中心\n let x = 0;\n let y = 0;\n for (let i = 0; i < pairs.length; i++) {\n x += pairs[i].pointCoord.x;\n y += pairs[i].pointCoord.y;\n }\n x /= pairs.length;\n y /= pairs.length;\n const centerPosition = dataToPosition([x, y]);\n if (!centerPosition) {\n return [];\n }\n\n const count = pairs.length;\n\n // 2. 按照圆心角排序\n pairs.sort((a, b) => {\n return lineDegree(centerPosition, a.point) - lineDegree(centerPosition, b.point);\n });\n\n const result = pairs.map((pair, index) => {\n let degree = (360 / count) * index;\n const _degree = lineDegree(centerPosition, pair.point);\n degree = uniformDegree((degree + _degree) / 2);\n const targetPoint = !isPointWithinFeatures(features, pair.pointCoord)\n ? pair.point\n : dataToPosition(nearestPoint(features, [pair.pointCoord.x, pair.pointCoord.y], degree));\n if (targetPoint) {\n pair.rect.x = targetPoint.x;\n pair.rect.y = targetPoint.y;\n }\n // 3. 根据finalAnchor在包围圆上的位置,调整rect的位置\n // 将圆根据圆心角划分为4个区域,对应不同的position\n let position: IOrientType;\n const anchors: IOrientType[] = [];\n if (degree >= -45 && degree < 45) {\n position = 'top';\n anchors.push('left', 'right');\n } else if (degree >= 45 && degree < 135) {\n position = 'right';\n } else if (degree >= -135 && degree < -45) {\n position = 'left';\n anchors.push('left');\n } else {\n position = 'bottom';\n anchors.push('left', 'right');\n }\n\n pair.anchors = anchors;\n pair.offset = 20;\n pair.rect = placeRectByOrient(pair.rect, position, 0);\n return pair;\n });\n\n return layoutByPosition(result.sort((a, b) => a.index - b.index));\n}\n\nfunction uniformDegree(degree: number) {\n return degree > 180 ? degree - 360 : degree;\n}\n\nfunction lineDegree(start: IPoint, end: IPoint) {\n return (Math.atan2(start.y - end.y, start.x - end.x) * 180) / Math.PI + 90;\n}\n\nfunction nearestPoint(features: Feature[], origin: number[], bearing: number, distance = 200) {\n const count = 5621 / distance;\n let curOrigin = origin;\n for (let i = 1; i <= count; i++) {\n const dest = destination(curOrigin as unknown as IPoint, distance, bearing);\n if (!isPointWithinFeatures(features, dest)) {\n return [dest.x, dest.y];\n }\n curOrigin = [dest.x, dest.y];\n }\n return origin;\n}\n\nfunction isPointWithinFeatures(features: Feature[], p: IPoint) {\n for (let i = 0; i < features.length; i++) {\n const inside = isPointInPolygon(p, features[i] as any);\n if (inside) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * 以rect左上角为锚点的,根据position位置调整rect布局。\n * @param rect\n * @param position 在锚点的四周位置,'top' | 'bottom' | 'left' | 'right'\n * @param offset rect与锚点间的距离\n * @returns\n */\nexport function placeRectByOrient(rect: IRect, position: IOrientType, offset: number = 0) {\n const result: IRect = { ...rect };\n if (position === 'top') {\n result.x -= rect.width / 2;\n result.y -= offset + rect.height / 2;\n } else if (position === 'bottom') {\n result.x -= rect.width / 2;\n result.y += offset - rect.height / 2;\n } else if (position === 'left') {\n result.x -= offset + rect.width;\n result.y -= rect.height / 2;\n } else if (position === 'right') {\n result.x += offset;\n result.y -= rect.height / 2;\n }\n return result;\n}\n\nexport function candidatesByOrient(\n positions: IOrientType[],\n anchor: IPoint,\n rect: Pick<IRect, 'width' | 'height'>,\n offset = 0\n) {\n const candidates: IPoint[] = [];\n positions.forEach((p: IOrientType) => {\n const { x, y } = placeRectByOrient({ ...anchor, width: rect.width, height: rect.height }, p, offset);\n candidates.push({ x, y });\n });\n return candidates;\n}\n"]}
|
|
@@ -13,7 +13,6 @@ export declare abstract class BaseMarker extends BaseComponent {
|
|
|
13
13
|
protected _relativeSeries: ICartesianSeries;
|
|
14
14
|
protected _markerData: DataView;
|
|
15
15
|
protected _markerComponent: any;
|
|
16
|
-
protected _initTheme(theme?: any): void;
|
|
17
16
|
created(): void;
|
|
18
17
|
private _isSpecAggrOrRege;
|
|
19
18
|
protected _processSpecX(specX: IDataPos): {
|
|
@@ -10,9 +10,6 @@ class BaseMarker extends base_1.BaseComponent {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.layoutType = "absolute";
|
|
12
12
|
}
|
|
13
|
-
_initTheme(theme) {
|
|
14
|
-
super._initTheme(theme), this._spec = (0, vutils_1.merge)({}, this._theme, this._originalSpec);
|
|
15
|
-
}
|
|
16
13
|
created() {
|
|
17
14
|
super.created(), this.initEvent();
|
|
18
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/marker/base-marker.ts"],"names":[],"mappings":";;;AACA,6CAAgD;AAChD,kDAAkD;AAQlD,kCAAwC;AAIxC,MAAsB,UAAW,SAAQ,oBAAa;IAAtD;;QACE,eAAU,GAA6B,UAAU,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":";;;AACA,6CAAgD;AAChD,kDAAkD;AAQlD,kCAAwC;AAIxC,MAAsB,UAAW,SAAQ,oBAAa;IAAtD;;QACE,eAAU,GAA6B,UAAU,CAAC;IAwIpD,CAAC;IA7HC,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,IAAc;QACtC,OAAO,IAAI,KAAK,YAAY,IAAI,kBAAS,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAC;IAClE,CAAC;IAES,aAAa,CAAC,KAAe;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,WAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YACjC,WAAW,GAAG,KAA6B,CAAC;YAC5C,OAAO;gBACL,CAAC,EAAE;oBACD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,MAAM;oBACtC,QAAQ,EAAE,WAAW;iBACtB;aACF,CAAC;SACH;QACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,KAAe;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,WAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YACjC,WAAW,GAAG,KAA6B,CAAC;YAC5C,OAAO;gBACL,CAAC,EAAE;oBACD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,MAAM;oBACtC,QAAQ,EAAE,WAAW;iBACtB;aACF,CAAC;SACH;QACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAES,eAAe,CAAC,IAAS;;QACjC,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAA,cAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAA0B,EAAE,EAAE;YACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAClD,UAAU,CAAC,mBAAmB,EAC9B,UAAU,CAAC,sBAAsB,CAClC,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;YACpE,MAAM,MAAM,GAA8B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;gBACvC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAwB,EAAE,CAAC;aAClE;iBAAM;gBACL,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;gBACvC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAwB,EAAE,CAAC;aAClE;iBAAM;gBACL,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC;aACxB;YACD,MAAM,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;;QACnB,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;QACjD,IAAI,aAAa,EAAE;YAEjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAES,qBAAqB,CAAC,YAA4B,EAAE,WAAmB;;QAC/E,IAAI,MAAwB,CAAC;QAC7B,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAA,cAAK,EAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,0CAAG,CAAC,CAAqB,CAAC;QAC5G,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,MAAA,IAAI,CAAC,eAAe,mCAAI,IAAI,CAAC,cAAc,EAAE,CAAC;SACxD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9G,CAAC;IAMS,SAAS;IAEnB,CAAC;IACD,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IACD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAES,cAAc;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,EAAE;oBACL,OAAO,CAAqB,CAAC;iBAC9B;aACF;SACF;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;CACF;AAzID,gCAyIC","file":"base-marker.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { array, merge } from '@visactor/vutils';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IOptionAggr } from '../../data/transforms/aggregation';\nimport type { IOptionRegr } from '../../data/transforms/regression';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IAggrType, IDataPointSpec, IDataPos } from './interface';\nimport type { IRegressType } from './mark-area/interface';\n\nexport abstract class BaseMarker extends BaseComponent {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n\n protected _startRelativeSeries!: ICartesianSeries;\n protected _endRelativeSeries!: ICartesianSeries;\n protected _relativeSeries!: ICartesianSeries;\n\n // marker 组件数据\n protected _markerData!: DataView;\n // marker 组件\n protected _markerComponent!: any;\n\n created() {\n super.created();\n // event\n this.initEvent();\n }\n\n private _isSpecAggrOrRege(spec: IDataPos) {\n return spec === 'regression' || AGGR_TYPE.includes(spec as any);\n }\n\n protected _processSpecX(specX: IDataPos) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (this._isSpecAggrOrRege(specX)) {\n processType = specX as unknown as IAggrType;\n return {\n x: {\n field: relativeSeries.getSpec().xField,\n aggrType: processType\n }\n };\n }\n return { x: specX };\n }\n\n protected _processSpecY(specY: IDataPos) {\n const relativeSeries = this._relativeSeries;\n let processType: IAggrType | IRegressType;\n if (this._isSpecAggrOrRege(specY)) {\n processType = specY as unknown as IAggrType;\n return {\n y: {\n field: relativeSeries.getSpec().yField,\n aggrType: processType\n }\n };\n }\n return { y: specY };\n }\n\n protected _processSpecCoo(spec: any) {\n const coordinates = spec.coordinates ?? array(spec.coordinate);\n return coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = this._getSeriesByIdOrIndex(\n coordinate.refRelativeSeriesId,\n coordinate.refRelativeSeriesIndex\n );\n\n const { xField, yField } = refRelativeSeries.getSpec();\n const { [xField]: coordinateX, [yField]: coordinateY } = coordinate;\n const option: IOptionAggr | IOptionRegr = { x: null, y: null };\n if (this._isSpecAggrOrRege(coordinateX)) {\n option.x = { field: xField, aggrType: coordinateX as IAggrType };\n } else {\n option.x = coordinateX;\n }\n\n if (this._isSpecAggrOrRege(coordinateY)) {\n option.y = { field: yField, aggrType: coordinateY as IAggrType };\n } else {\n option.y = coordinateY;\n }\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n this._createMarkerComponent();\n }\n this._bindSeries();\n this._initDataView();\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: ICartesianSeries;\n series = this._option.getSeriesInUserIdOrIndex(array(seriesUserId), [seriesIndex])?.[0] as ICartesianSeries;\n if (!series) {\n series = this._relativeSeries ?? this.getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n }\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): void;\n protected abstract _markerLayout(): void;\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n protected getFirstSeries(): ICartesianSeries {\n for (let i = 0; i < this._regions.length; i++) {\n const r = this._regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s) {\n return s as ICartesianSeries;\n }\n }\n }\n throw new Error('need at least one series');\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/marker/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPadding, IPointLike } from '@visactor/vutils';\nimport type { SymbolType } from '@visactor/vrender';\nimport type { IModelSpec } from '../../model/interface';\nimport type {\n ConvertToMarkStyleSpec,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\n\nexport type IAggrType = 'sum' | 'average' | 'min' | 'max' | 'variance' | 'standardDeviation' | 'median';\nexport type IDataPos = string | number | IAggrType;\nexport type IDataPointSpec = {\n [key: string]: IDataPos;\n /**\n * 具体某个数据元素关联的series(仅在标注目标:数据元素下有效)\n */\n refRelativeSeriesIndex?: number;\n refRelativeSeriesId?: StringOrNumber;\n};\nexport type IMarkerPositionsSpec = {\n positions: IPointLike[];\n};\n\nexport type IMarkerLabelSpec = {\n visible?: boolean;\n /**\n * label整体 - 是否自动旋转\n */\n autoRotate?: boolean;\n /**\n * label整体 - 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * label整体 - 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * label整体 - 背景面板配置\n */\n labelBackground?: {\n visible?: boolean;\n /**\n * 内部边距\n */\n padding?: IPadding;\n style: ConvertToMarkStyleSpec<Omit<IRectMarkSpec, 'visible'>>;\n };\n /**\n * label文本 - 文本内容,如果需要进行换行,则使用数组形式,如 ['abc', '123']\n */\n text?: string;\n /**\n * label文本 - 文本格式化\n */\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n /**\n * label文本 - 文本样式\n */\n style?: ConvertToMarkStyleSpec<Omit<ITextMarkSpec, 'visible'>>;\n\n /**\n * label文本 - 文本前 mark 图元\n */\n shape?: {\n visible?: boolean;\n style: ConvertToMarkStyleSpec<Omit<ISymbolMarkSpec, 'visible'>>;\n };\n /**\n * label文本 - shape 同文本之间的间距\n */\n space?: number;\n} & IMarkerRef;\n\nexport interface IMarkerRef {\n /**\n * label or symbol 相对line平行方向上的偏移\n */\n refX?: number;\n /**\n * label or symbol 相对line正交方向上的偏移\n */\n refY?: number;\n /**\n * label or symbol 相对默认角度的偏移 (label跟随line的角度做自动旋转时,默认按照line的平行向量作为初始角度)\n */\n refAngle?: number;\n}\n\nexport interface IMarkerAxisSpec {\n /**\n * 起点和终点关联的series(仅在标注目标:坐标空间下有效)\n */\n startRelativeSeriesIndex?: number;\n endRelativeSeriesIndex?: number;\n startRelativeSeriesId?: string;\n endRelativeSeriesId?: string;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n}\n\nexport interface IMarkerSpec extends IModelSpec {\n /**\n * 标注数据关联的series\n */\n relativeSeriesIndex?: number;\n relativeSeriesId?: number;\n /**\n * marker组件是否可见\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IMarkerSymbol = {\n /** 是否展示 symbol */\n visible: boolean;\n /**\n * symbol 形状,默认为带左右方向的箭头\n */\n symbolType?: SymbolType;\n /**\n * symbol 大小\n */\n size?: number;\n style?: ConvertToMarkStyleSpec<Omit<ISymbolMarkSpec, 'visible'>>;\n} & IMarkerRef;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/marker/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPadding, IPointLike } from '@visactor/vutils';\nimport type { SymbolType } from '@visactor/vrender';\nimport type { IModelSpec } from '../../model/interface';\nimport type {\n ConvertToMarkStyleSpec,\n IRectMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\n\nexport type IAggrType = 'sum' | 'average' | 'min' | 'max' | 'variance' | 'standardDeviation' | 'median';\nexport type IDataPos = string | number | IAggrType;\nexport type IDataPointSpec = {\n [key: string]: IDataPos;\n /**\n * 具体某个数据元素关联的series(仅在标注目标:数据元素下有效)\n */\n refRelativeSeriesIndex?: number;\n refRelativeSeriesId?: StringOrNumber;\n};\nexport type IMarkerPositionsSpec = {\n positions: IPointLike[];\n};\n\nexport type IMarkerLabelSpec = {\n visible?: boolean;\n /**\n * label整体 - 是否自动旋转\n */\n autoRotate?: boolean;\n /**\n * label整体 - 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * label整体 - 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * label整体 - 背景面板配置\n */\n labelBackground?: {\n visible?: boolean;\n /**\n * 内部边距\n */\n padding?: IPadding;\n style: ConvertToMarkStyleSpec<Omit<IRectMarkSpec, 'visible'>>;\n };\n /**\n * label文本 - 文本内容,如果需要进行换行,则使用数组形式,如 ['abc', '123']\n */\n text?: string;\n /**\n * label文本 - 文本格式化\n */\n formatMethod?: (text: string | string[], datum?: any) => string | string[];\n /**\n * label文本 - 文本样式\n */\n style?: ConvertToMarkStyleSpec<Omit<ITextMarkSpec, 'visible'>>;\n\n /**\n * label文本 - 文本前 mark 图元\n */\n shape?: {\n visible?: boolean;\n style: ConvertToMarkStyleSpec<Omit<ISymbolMarkSpec, 'visible'>>;\n };\n /**\n * label文本 - shape 同文本之间的间距\n */\n space?: number;\n} & IMarkerRef;\n\nexport interface IMarkerRef {\n /**\n * label or symbol 相对line平行方向上的偏移\n */\n refX?: number;\n /**\n * label or symbol 相对line正交方向上的偏移\n */\n refY?: number;\n /**\n * label or symbol 相对默认角度的偏移 (label跟随line的角度做自动旋转时,默认按照line的平行向量作为初始角度)\n */\n refAngle?: number;\n}\n\nexport interface IMarkerAxisSpec {\n /**\n * 起点和终点关联的series(仅在标注目标:坐标空间下有效)\n */\n startRelativeSeriesIndex?: number;\n endRelativeSeriesIndex?: number;\n startRelativeSeriesId?: string;\n endRelativeSeriesId?: string;\n /**\n * 被标注数据关联的series\n */\n relativeRelativeSeriesIndex?: number;\n}\n\nexport interface IMarkerSpec extends IModelSpec {\n /**\n * 标注数据关联的series\n */\n relativeSeriesIndex?: number;\n relativeSeriesId?: number;\n /**\n * marker组件是否可见\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IMarkerSymbol = {\n /** 是否展示 symbol */\n visible: boolean;\n /**\n * symbol 形状,默认为带左右方向的箭头\n */\n symbolType?: SymbolType;\n /**\n * symbol 大小\n */\n size?: number;\n style?: ConvertToMarkStyleSpec<Omit<ISymbolMarkSpec, 'visible'>>;\n} & IMarkerRef;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component/marker/mark-area/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB","file":"index.js","sourcesContent":["export * from './spec';\nexport * from './theme';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/marker/mark-area/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB","file":"index.js","sourcesContent":["export * from './spec';\nexport * from './theme';\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { IComponent } from '../../../interface';
|
|
2
2
|
import type { IMarkerPositionsSpec, IDataPointSpec, IDataPos, IMarkerSpec, IMarkerAxisSpec } from '../../interface';
|
|
3
|
+
import type { IMarkAreaTheme } from './theme';
|
|
3
4
|
export type IMarkArea = IComponent;
|
|
4
5
|
export type IRegressType = 'regression';
|
|
5
|
-
export type IMarkAreaSpec = IMarkerSpec & (IMarkAreaXSpec | IMarkAreaYSpec | IMarkAreaCoordinateSpec | IMarkAreaPositionsSpec);
|
|
6
|
+
export type IMarkAreaSpec = IMarkerSpec & (IMarkAreaXSpec | IMarkAreaYSpec | IMarkAreaCoordinateSpec | IMarkAreaPositionsSpec) & IMarkAreaTheme;
|
|
6
7
|
export interface IMarkAreaXSpec extends IMarkerAxisSpec {
|
|
7
8
|
x: IDataPos;
|
|
8
9
|
x1: IDataPos;
|