@visactor/vchart 1.5.4 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +32345 -31832
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/animate-manager.d.ts +1 -1
- package/cjs/animation/animate-manager.js +4 -4
- package/cjs/animation/animate-manager.js.map +1 -1
- package/cjs/animation/utils.d.ts +8 -10
- package/cjs/animation/utils.js +35 -10
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/area/area.d.ts +1 -0
- package/cjs/chart/area/area.js +10 -5
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar-3d.js +3 -4
- package/cjs/chart/bar/bar-3d.js.map +1 -1
- package/cjs/chart/bar/bar.d.ts +1 -0
- package/cjs/chart/bar/bar.js +6 -3
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +4 -4
- package/cjs/chart/base-chart.js +4 -11
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +3 -3
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/circle-packing/circle-packing.js +4 -4
- package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
- package/cjs/chart/common/common.d.ts +1 -0
- package/cjs/chart/common/common.js +3 -3
- package/cjs/chart/common/common.js.map +1 -1
- package/cjs/chart/common/interface.d.ts +1 -1
- package/cjs/chart/common/interface.js.map +1 -1
- package/cjs/chart/correlation/correlation.js +4 -4
- package/cjs/chart/correlation/correlation.js.map +1 -1
- package/cjs/chart/funnel/funnel-3d.js +3 -3
- package/cjs/chart/funnel/funnel-3d.js.map +1 -1
- package/cjs/chart/funnel/funnel.js +3 -3
- package/cjs/chart/funnel/funnel.js.map +1 -1
- package/cjs/chart/gauge/gauge.js +3 -4
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/heatmap/heatmap.js +3 -3
- package/cjs/chart/heatmap/heatmap.js.map +1 -1
- package/cjs/chart/histogram/base.d.ts +1 -0
- package/cjs/chart/histogram/base.js +3 -0
- package/cjs/chart/histogram/base.js.map +1 -1
- package/cjs/chart/histogram/histogram-3d.js +3 -3
- package/cjs/chart/histogram/histogram-3d.js.map +1 -1
- package/cjs/chart/histogram/histogram.js +3 -3
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/line/line.d.ts +1 -0
- package/cjs/chart/line/line.js +10 -5
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/pie/pie-3d.js +3 -4
- package/cjs/chart/pie/pie-3d.js.map +1 -1
- package/cjs/chart/pie/pie.js +3 -3
- package/cjs/chart/pie/pie.js.map +1 -1
- package/cjs/chart/polar/rose-like.d.ts +1 -0
- package/cjs/chart/polar/rose-like.js +3 -0
- package/cjs/chart/polar/rose-like.js.map +1 -1
- package/cjs/chart/progress/circular/circular.d.ts +1 -0
- package/cjs/chart/progress/circular/circular.js +2 -1
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.d.ts +1 -0
- package/cjs/chart/progress/linear/linear.js +2 -1
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +7 -5
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area.js +3 -3
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/range-column-3d.js +3 -3
- package/cjs/chart/range-column/range-column-3d.js.map +1 -1
- package/cjs/chart/range-column/range-column.js +3 -3
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/rose/rose.js +3 -4
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.js +3 -3
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.d.ts +1 -0
- package/cjs/chart/scatter/scatter.js +4 -3
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +3 -3
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.js +11 -6
- package/cjs/chart/stack.js.map +1 -1
- package/cjs/chart/sunburst/sunburst.js +4 -4
- package/cjs/chart/sunburst/sunburst.js.map +1 -1
- package/cjs/chart/treemap/treemap.js +3 -3
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js +3 -3
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/chart/word-cloud/base.js +2 -2
- package/cjs/chart/word-cloud/base.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud-3d.d.ts +1 -0
- package/cjs/chart/word-cloud/word-cloud-3d.js +10 -4
- package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud.d.ts +1 -0
- package/cjs/chart/word-cloud/word-cloud.js +10 -5
- package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
- package/cjs/compile/compiler.js +7 -7
- 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 +3 -3
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/grammar-item.js +7 -7
- package/cjs/compile/grammar-item.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +3 -2
- package/cjs/compile/mark/compilable-mark.js +23 -19
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.js +4 -4
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/compile/signal/compilable-signal.d.ts +1 -1
- package/cjs/compile/signal/compilable-signal.js +3 -3
- package/cjs/compile/signal/compilable-signal.js.map +1 -1
- package/cjs/compile/util.js +9 -9
- package/cjs/compile/util.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +2 -2
- package/cjs/component/axis/base-axis.js +42 -39
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +5 -3
- package/cjs/component/axis/cartesian/axis.js +35 -31
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +2 -3
- package/cjs/component/axis/cartesian/band-axis.js +3 -9
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +2 -6
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.d.ts +2 -2
- package/cjs/component/axis/cartesian/linear-axis.js +6 -6
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/log-axis.d.ts +2 -2
- package/cjs/component/axis/cartesian/log-axis.js +4 -4
- package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/symlog-axis.d.ts +2 -2
- package/cjs/component/axis/cartesian/symlog-axis.js +4 -4
- package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.d.ts +3 -3
- package/cjs/component/axis/cartesian/time-axis.js +14 -12
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/common.d.ts +1 -1
- package/cjs/component/axis/cartesian/util/common.js +4 -4
- package/cjs/component/axis/cartesian/util/common.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +38 -0
- package/cjs/component/axis/{interface.js → interface/common.js} +1 -1
- package/cjs/component/axis/interface/common.js.map +1 -0
- package/cjs/component/axis/interface/index.d.ts +3 -0
- package/cjs/component/axis/interface/index.js +22 -0
- package/cjs/component/axis/interface/index.js.map +1 -0
- package/{esm/component/axis/interface.d.ts → cjs/component/axis/interface/spec.d.ts} +4 -50
- package/cjs/component/axis/interface/spec.js +6 -0
- package/cjs/component/axis/interface/spec.js.map +1 -0
- package/cjs/component/axis/interface/theme.d.ts +15 -0
- package/cjs/component/axis/interface/theme.js +6 -0
- package/cjs/component/axis/interface/theme.js.map +1 -0
- package/cjs/component/axis/mixin/band-axis-mixin.d.ts +5 -0
- package/cjs/component/axis/mixin/band-axis-mixin.js +9 -3
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +1 -2
- package/cjs/component/axis/mixin/linear-axis-mixin.js +21 -21
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +6 -3
- package/cjs/component/axis/polar/axis.js +35 -33
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +2 -3
- package/cjs/component/axis/polar/band-axis.js +4 -10
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.d.ts +1 -1
- package/cjs/component/axis/polar/linear-axis.js +4 -4
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/axis/util.js +10 -10
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.js +4 -4
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.d.ts +1 -1
- package/cjs/component/base/util.js +26 -26
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +2 -2
- package/cjs/component/brush/brush.js +5 -5
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/common/trigger/config.js +3 -3
- package/cjs/component/common/trigger/config.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +1 -1
- package/cjs/component/crosshair/base.js +12 -12
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +1 -1
- package/cjs/component/crosshair/cartesian.js +15 -15
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/interface/theme.d.ts +6 -6
- package/cjs/component/crosshair/interface/theme.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +1 -1
- package/cjs/component/crosshair/polar.js +15 -15
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/util.js +11 -9
- package/cjs/component/crosshair/util.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +2 -2
- package/cjs/component/custom-mark/custom-mark.js +4 -4
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +34 -31
- 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 +6 -6
- package/cjs/component/data-zoom/data-zoom/data-zoom.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 +4 -4
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +2 -2
- package/cjs/component/geo/geo-coordinate.js +14 -14
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/index.d.ts +26 -22
- package/cjs/component/index.js +9 -8
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +2 -2
- package/cjs/component/indicator/indicator.js +21 -19
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +2 -2
- package/cjs/component/label/base-label.js +4 -4
- package/cjs/component/label/base-label.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 +1 -1
- package/cjs/component/label/label.js +10 -10
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/totalLabel.d.ts +1 -1
- package/cjs/component/label/totalLabel.js +9 -9
- package/cjs/component/label/totalLabel.js.map +1 -1
- package/cjs/component/label/util.d.ts +11 -3
- package/cjs/component/label/util.js +26 -15
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +3 -3
- package/cjs/component/legend/base-legend.js +17 -17
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/legend.d.ts +1 -1
- package/cjs/component/legend/continuous/legend.js +18 -15
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/continuous/util.js +4 -4
- package/cjs/component/legend/continuous/util.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -1
- package/cjs/component/legend/discrete/legend.js +16 -13
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +7 -7
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/component/legend/util.js +2 -2
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/map-label/component.d.ts +2 -2
- package/cjs/component/map-label/component.js +10 -8
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +1 -1
- package/cjs/component/marker/base-marker.js +2 -2
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +1 -1
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.d.ts +1 -1
- package/cjs/component/marker/mark-area/mark-area.js +7 -5
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +1 -1
- package/cjs/component/marker/mark-line/mark-line.js +9 -7
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.d.ts +1 -1
- package/cjs/component/marker/mark-point/mark-point.js +7 -5
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/player/player.d.ts +2 -2
- package/cjs/component/player/player.js +9 -9
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.d.ts +2 -2
- package/cjs/component/title/title.js +10 -10
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/title/utils.js.map +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +5 -6
- package/cjs/component/tooltip/handler/base.js +51 -49
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +14 -3
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +5 -5
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.js +2 -2
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.js +15 -13
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.js +2 -2
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +2 -2
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/util.js +6 -6
- package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +5 -5
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/common.js +9 -9
- package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/compose.js +8 -8
- package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js +22 -22
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/position.d.ts +1 -1
- package/cjs/component/tooltip/handler/utils/position.js +17 -17
- package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
- package/cjs/component/tooltip/interface/spec.d.ts +2 -1
- package/cjs/component/tooltip/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/processor/base.d.ts +1 -1
- package/cjs/component/tooltip/processor/base.js +4 -4
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +6 -4
- package/cjs/component/tooltip/tooltip.js +42 -42
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/common.js +4 -4
- package/cjs/component/tooltip/utils/common.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js +15 -15
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/constant/base.js +2 -1
- package/cjs/constant/event.d.ts +0 -1
- package/cjs/constant/event.js +15 -16
- package/cjs/constant/event.js.map +1 -1
- package/cjs/constant/scroll-bar.js +1 -2
- package/cjs/core/factory.js +2 -2
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +6 -3
- package/cjs/core/index.js +13 -3
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +69 -67
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.d.ts +10 -0
- package/cjs/data/initialize.js +15 -6
- package/cjs/data/initialize.js.map +1 -1
- package/cjs/data/transforms/add-property.d.ts +4 -0
- package/cjs/data/transforms/add-property.js.map +1 -1
- package/cjs/data/transforms/aggregation.js +12 -12
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/copy-data-view.js +2 -2
- package/cjs/data/transforms/copy-data-view.js.map +1 -1
- package/cjs/data/transforms/correlation.js +6 -6
- package/cjs/data/transforms/correlation.js.map +1 -1
- package/cjs/data/transforms/data-key.d.ts +13 -3
- package/cjs/data/transforms/data-key.js +28 -10
- package/cjs/data/transforms/data-key.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.d.ts +10 -4
- package/cjs/data/transforms/dimension-statistics.js +17 -14
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/drill.js +6 -6
- package/cjs/data/transforms/drill.js.map +1 -1
- package/cjs/data/transforms/invalid-travel.js +2 -2
- package/cjs/data/transforms/invalid-travel.js.map +1 -1
- package/cjs/data/transforms/legend-data/continuous/continuous.js +1 -2
- package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/cjs/data/transforms/lookup.js +4 -4
- package/cjs/data/transforms/lookup.js.map +1 -1
- package/cjs/data/transforms/pie.js +3 -3
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/data/transforms/regression.js +2 -2
- package/cjs/data/transforms/regression.js.map +1 -1
- package/cjs/data/transforms/stack-split.js +2 -2
- package/cjs/data/transforms/stack-split.js.map +1 -1
- package/cjs/event/event-dispatcher.js +13 -13
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/event.js +1 -2
- package/cjs/event/events/dimension/base.js +4 -4
- package/cjs/event/events/dimension/base.js.map +1 -1
- package/cjs/event/events/dimension/dimension-hover.js +4 -4
- package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
- package/cjs/event/events/dimension/interface.d.ts +1 -1
- package/cjs/event/events/dimension/interface.js.map +1 -1
- package/cjs/event/events/dimension/util/cartesian.js +3 -3
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/events/dimension/util/common.js +9 -9
- package/cjs/event/events/dimension/util/common.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js +7 -7
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/index-lark.d.ts +4 -0
- package/cjs/index-lark.js +35 -0
- package/cjs/index-lark.js.map +1 -0
- package/cjs/index-wx.d.ts +4 -0
- package/cjs/index-wx.js +36 -0
- package/cjs/index-wx.js.map +1 -0
- package/cjs/index.d.ts +0 -3
- package/cjs/index.js +3 -21
- package/cjs/index.js.map +1 -1
- package/cjs/interaction/config.d.ts +2 -2
- package/cjs/interaction/config.js +4 -3
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/dimension-trigger.js.map +1 -1
- package/cjs/interaction/drill/drillable.js +7 -7
- package/cjs/interaction/drill/drillable.js.map +1 -1
- package/cjs/interaction/trigger.js +30 -28
- package/cjs/interaction/trigger.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.js +5 -5
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.js +10 -9
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/index.js +1 -1
- package/cjs/layout/interface.js +1 -1
- package/cjs/layout/layout3d/index.js +3 -3
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/mark/arc-3d.d.ts +1 -1
- package/cjs/mark/arc-3d.js +2 -2
- package/cjs/mark/arc-3d.js.map +1 -1
- package/cjs/mark/arc.d.ts +1 -1
- package/cjs/mark/arc.js +4 -4
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.d.ts +1 -1
- package/cjs/mark/area.js +2 -2
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-line.js +4 -4
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +3 -3
- package/cjs/mark/base/base-mark.js +85 -44
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/box-plot.d.ts +1 -1
- package/cjs/mark/box-plot.js +2 -2
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.d.ts +1 -1
- package/cjs/mark/cell.js +2 -2
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/component.d.ts +1 -1
- package/cjs/mark/component.js +2 -2
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/group.d.ts +1 -1
- package/cjs/mark/group.js +4 -4
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/image.d.ts +1 -1
- package/cjs/mark/image.js +2 -2
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/interface/common.d.ts +12 -2
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/label.d.ts +2 -1
- package/cjs/mark/label.js +6 -3
- package/cjs/mark/label.js.map +1 -1
- package/cjs/mark/line.d.ts +1 -1
- package/cjs/mark/line.js +3 -3
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/link-path.d.ts +1 -1
- package/cjs/mark/link-path.js +2 -2
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/path.d.ts +1 -1
- package/cjs/mark/path.js +2 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.d.ts +1 -1
- package/cjs/mark/polygon/polygon.js +2 -2
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/polygon/pyramid-3d.d.ts +1 -1
- package/cjs/mark/polygon/pyramid-3d.js +2 -2
- package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
- package/cjs/mark/progress-arc.d.ts +1 -1
- package/cjs/mark/progress-arc.js +3 -3
- package/cjs/mark/progress-arc.js.map +1 -1
- package/cjs/mark/rect-3d.d.ts +1 -1
- package/cjs/mark/rect-3d.js +2 -2
- package/cjs/mark/rect-3d.js.map +1 -1
- package/cjs/mark/rect.d.ts +1 -1
- package/cjs/mark/rect.js +2 -2
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/ripple.d.ts +1 -1
- package/cjs/mark/ripple.js +2 -2
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.d.ts +1 -1
- package/cjs/mark/rule.js +2 -2
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.d.ts +1 -1
- package/cjs/mark/symbol.js +2 -2
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.d.ts +1 -1
- package/cjs/mark/text.js +2 -2
- package/cjs/mark/text.js.map +1 -1
- package/cjs/mark/utils/common.d.ts +1 -1
- package/cjs/mark/utils/common.js +2 -2
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/model/base-model.d.ts +2 -15
- package/cjs/model/base-model.js +15 -49
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +5 -8
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.js +16 -16
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/plugin/components/basic-plugin.js +2 -2
- package/cjs/plugin/components/basic-plugin.js.map +1 -1
- package/cjs/plugin/components/plugin-service.js +3 -3
- package/cjs/plugin/components/plugin-service.js.map +1 -1
- package/cjs/region/region.d.ts +2 -3
- package/cjs/region/region.js +17 -17
- package/cjs/region/region.js.map +1 -1
- package/cjs/scale/global-scale.d.ts +3 -3
- package/cjs/scale/global-scale.js +41 -30
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/scale/interface.d.ts +1 -2
- package/cjs/scale/interface.js.map +1 -1
- package/cjs/series/area/animation.js +3 -3
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area.d.ts +4 -2
- package/cjs/series/area/area.js +32 -20
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/constant.js +4 -4
- package/cjs/series/area/constant.js.map +1 -1
- package/cjs/series/area/interface.d.ts +6 -5
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/area/tooltip-helpter.js +3 -3
- package/cjs/series/area/tooltip-helpter.js.map +1 -1
- package/cjs/series/bar/animation.js +3 -3
- package/cjs/series/bar/animation.js.map +1 -1
- package/cjs/series/bar/bar-3d.d.ts +1 -1
- package/cjs/series/bar/bar-3d.js +4 -4
- package/cjs/series/bar/bar-3d.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +3 -3
- package/cjs/series/bar/bar.js +44 -32
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/constant.js +10 -10
- package/cjs/series/bar/constant.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +5 -4
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +17 -10
- package/cjs/series/base/base-series.js +86 -100
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.js +4 -4
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/base/series-data.d.ts +1 -1
- package/cjs/series/base/series-data.js +2 -2
- package/cjs/series/base/series-data.js.map +1 -1
- package/cjs/series/base/tooltip-helper.js +10 -10
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +27 -24
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/constant.js +7 -7
- package/cjs/series/box-plot/constant.js.map +1 -1
- package/cjs/series/box-plot/tooltip-helper.js +2 -2
- package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +2 -1
- package/cjs/series/cartesian/cartesian.js +14 -14
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.js +11 -11
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/constant.js +4 -4
- package/cjs/series/circle-packing/constant.js.map +1 -1
- package/cjs/series/correlation/constant.js +13 -13
- package/cjs/series/correlation/constant.js.map +1 -1
- package/cjs/series/correlation/correlation.d.ts +1 -3
- package/cjs/series/correlation/correlation.js +13 -11
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/correlation/interface.js.map +1 -1
- package/cjs/series/dot/constant.js +22 -22
- package/cjs/series/dot/constant.js.map +1 -1
- package/cjs/series/dot/dot.js +16 -15
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.js +2 -2
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/constant.js +31 -31
- package/cjs/series/funnel/constant.js.map +1 -1
- package/cjs/series/funnel/funnel-3d.d.ts +1 -1
- package/cjs/series/funnel/funnel-3d.js +5 -5
- package/cjs/series/funnel/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +2 -5
- package/cjs/series/funnel/funnel.js +18 -20
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/gauge/constant.js +16 -16
- package/cjs/series/gauge/constant.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +1 -1
- package/cjs/series/gauge/gauge-pointer.js +7 -7
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +5 -5
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/geo/geo.d.ts +0 -3
- package/cjs/series/geo/geo.js +6 -9
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/heatmap/constant.js +7 -7
- package/cjs/series/heatmap/constant.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +5 -5
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/index.d.ts +1 -0
- package/cjs/series/index.js +16 -1
- package/cjs/series/index.js.map +1 -1
- package/cjs/series/interface/common.d.ts +1 -1
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +7 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +52 -8
- package/cjs/series/interface/theme.js +20 -2
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/line/animation.js +3 -3
- package/cjs/series/line/animation.js.map +1 -1
- package/cjs/series/line/interface.d.ts +6 -11
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.d.ts +5 -3
- package/cjs/series/line/line.js +14 -7
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/constant.js +10 -10
- package/cjs/series/link/constant.js.map +1 -1
- package/cjs/series/link/link.js +10 -9
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/link/tooltip-helper.js +2 -2
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/map/constant.js +4 -4
- package/cjs/series/map/constant.js.map +1 -1
- package/cjs/series/map/geo-source.js +3 -3
- package/cjs/series/map/geo-source.js.map +1 -1
- package/cjs/series/map/map.js +12 -9
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/constant.js +7 -7
- package/cjs/series/mixin/constant.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +17 -2
- package/cjs/series/mixin/line-mixin.js +45 -11
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/animation/centerOffset.js +6 -6
- package/cjs/series/pie/animation/centerOffset.js.map +1 -1
- package/cjs/series/pie/constant.js +13 -13
- package/cjs/series/pie/constant.js.map +1 -1
- package/cjs/series/pie/pie-3d.d.ts +1 -1
- package/cjs/series/pie/pie-3d.js +15 -15
- package/cjs/series/pie/pie-3d.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -3
- package/cjs/series/pie/pie.js +28 -29
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +0 -1
- package/cjs/series/polar/polar.js +15 -14
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/polar/progress-like/constant.js +4 -4
- package/cjs/series/polar/progress-like/constant.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +0 -3
- package/cjs/series/polar/progress-like/progress-like.js +4 -7
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/polar/rose-like/interface.d.ts +2 -7
- package/cjs/series/polar/rose-like/interface.js.map +1 -1
- package/cjs/series/polar/rose-like/rose-like.d.ts +0 -1
- package/cjs/series/polar/rose-like/rose-like.js +0 -1
- package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +5 -5
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/constant.js +7 -7
- package/cjs/series/progress/circular/constant.js.map +1 -1
- package/cjs/series/progress/linear/animation.js +3 -3
- package/cjs/series/progress/linear/animation.js.map +1 -1
- package/cjs/series/progress/linear/constant.js +10 -10
- package/cjs/series/progress/linear/constant.js.map +1 -1
- package/cjs/series/progress/linear/linear.js +11 -11
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/constant.js +4 -4
- package/cjs/series/radar/constant.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +4 -3
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +2 -1
- package/cjs/series/radar/radar.js +12 -9
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +1 -1
- package/cjs/series/range-area/range-area.js +3 -3
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.js +2 -2
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/range-column/constant.js +13 -13
- package/cjs/series/range-column/constant.js.map +1 -1
- package/cjs/series/range-column/range-column-3d.d.ts +2 -2
- package/cjs/series/range-column/range-column-3d.js +4 -4
- package/cjs/series/range-column/range-column-3d.js.map +1 -1
- package/cjs/series/range-column/range-column.d.ts +1 -1
- package/cjs/series/range-column/range-column.js +15 -15
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.js +2 -2
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/rose/constant.js +4 -4
- package/cjs/series/rose/constant.js.map +1 -1
- package/cjs/series/rose/rose.js +6 -6
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.js +5 -5
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/constant.js +7 -7
- package/cjs/series/sankey/constant.js.map +1 -1
- package/cjs/series/sankey/sankey.js +42 -36
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/constant.js +4 -4
- package/cjs/series/scatter/constant.js.map +1 -1
- package/cjs/series/scatter/interface.d.ts +2 -4
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.js +23 -21
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/constant.js +4 -4
- package/cjs/series/sunburst/constant.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -3
- package/cjs/series/sunburst/sunburst.js +11 -13
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/constant.js +10 -10
- package/cjs/series/treemap/constant.js.map +1 -1
- package/cjs/series/treemap/treemap.d.ts +2 -2
- package/cjs/series/treemap/treemap.js +27 -21
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/util/spec.d.ts +2 -0
- package/cjs/series/util/spec.js +16 -0
- package/cjs/series/util/spec.js.map +1 -0
- package/cjs/series/util/utils.js +2 -2
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/series/waterfall/constant.js +7 -7
- package/cjs/series/waterfall/constant.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +8 -8
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +0 -3
- package/cjs/series/word-cloud/base.js +3 -6
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/constant.js +7 -7
- package/cjs/series/word-cloud/constant.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.d.ts +1 -0
- package/cjs/series/word-cloud/word-cloud-3d.js +13 -6
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.d.ts +2 -1
- package/cjs/series/word-cloud/word-cloud.js +12 -6
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/theme/builtin/index.d.ts +5 -0
- package/cjs/theme/builtin/index.js +32 -4
- package/cjs/theme/builtin/index.js.map +1 -1
- package/cjs/theme/color-scheme/builtin/index.d.ts +2 -0
- package/cjs/theme/color-scheme/builtin/index.js +21 -0
- package/cjs/theme/color-scheme/builtin/index.js.map +1 -0
- package/cjs/theme/color-scheme/index.d.ts +3 -0
- package/cjs/theme/color-scheme/index.js +22 -0
- package/cjs/theme/color-scheme/index.js.map +1 -0
- package/cjs/theme/color-scheme/interface.d.ts +2 -2
- package/cjs/theme/color-scheme/interface.js.map +1 -1
- package/cjs/theme/color-scheme/util.d.ts +5 -4
- package/cjs/theme/color-scheme/util.js +28 -15
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/index.d.ts +1 -0
- package/cjs/theme/index.js +1 -1
- package/cjs/theme/index.js.map +1 -1
- package/cjs/theme/interface.d.ts +2 -0
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/theme/theme-manager.js +5 -6
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/theme/util.js +6 -5
- package/cjs/theme/util.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.d.ts +2 -1
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/typings/visual.d.ts +1 -1
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/data.d.ts +1 -1
- package/cjs/util/data.js +3 -3
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/scale.d.ts +1 -2
- package/cjs/util/scale.js +1 -1
- package/cjs/util/scale.js.map +1 -1
- package/cjs/util/spec/merge-spec.js +2 -1
- package/cjs/util/spec/merge-spec.js.map +1 -1
- package/cjs/util/spec/merge-theme.js +8 -8
- package/cjs/util/spec/merge-theme.js.map +1 -1
- package/cjs/util/spec/preprocess.d.ts +2 -2
- package/cjs/util/spec/preprocess.js +4 -4
- package/cjs/util/spec/preprocess.js.map +1 -1
- package/cjs/vchart-all.js +1 -1
- package/cjs/vchart-all.js.map +1 -1
- package/cjs/vchart-simple.d.ts +1 -0
- package/cjs/vchart-simple.js +16 -1
- package/cjs/vchart-simple.js.map +1 -1
- package/esm/animation/animate-manager.d.ts +1 -1
- package/esm/animation/animate-manager.js +3 -3
- package/esm/animation/animate-manager.js.map +1 -1
- package/esm/animation/utils.d.ts +8 -10
- package/esm/animation/utils.js +31 -7
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/area/area.d.ts +1 -0
- package/esm/chart/area/area.js +10 -4
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar-3d.js +2 -2
- package/esm/chart/bar/bar-3d.js.map +1 -1
- package/esm/chart/bar/bar.d.ts +1 -0
- package/esm/chart/bar/bar.js +6 -3
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base-chart.d.ts +4 -4
- package/esm/chart/base-chart.js +4 -11
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +2 -2
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/circle-packing/circle-packing.js +2 -2
- package/esm/chart/circle-packing/circle-packing.js.map +1 -1
- package/esm/chart/common/common.d.ts +1 -0
- package/esm/chart/common/common.js +2 -2
- package/esm/chart/common/common.js.map +1 -1
- package/esm/chart/common/interface.d.ts +1 -1
- package/esm/chart/common/interface.js.map +1 -1
- package/esm/chart/correlation/correlation.js +2 -2
- package/esm/chart/correlation/correlation.js.map +1 -1
- package/esm/chart/funnel/funnel-3d.js +2 -2
- package/esm/chart/funnel/funnel-3d.js.map +1 -1
- package/esm/chart/funnel/funnel.js +2 -2
- package/esm/chart/funnel/funnel.js.map +1 -1
- package/esm/chart/gauge/gauge.js +1 -1
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/heatmap/heatmap.js +2 -2
- package/esm/chart/heatmap/heatmap.js.map +1 -1
- package/esm/chart/histogram/base.d.ts +1 -0
- package/esm/chart/histogram/base.js +3 -0
- package/esm/chart/histogram/base.js.map +1 -1
- package/esm/chart/histogram/histogram-3d.js +2 -2
- package/esm/chart/histogram/histogram-3d.js.map +1 -1
- package/esm/chart/histogram/histogram.js +2 -2
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/line/line.d.ts +1 -0
- package/esm/chart/line/line.js +10 -4
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/pie/pie-3d.js +2 -2
- package/esm/chart/pie/pie-3d.js.map +1 -1
- package/esm/chart/pie/pie.js +2 -2
- package/esm/chart/pie/pie.js.map +1 -1
- package/esm/chart/polar/rose-like.d.ts +1 -0
- package/esm/chart/polar/rose-like.js +3 -0
- package/esm/chart/polar/rose-like.js.map +1 -1
- package/esm/chart/progress/circular/circular.d.ts +1 -0
- package/esm/chart/progress/circular/circular.js +2 -1
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.d.ts +1 -0
- package/esm/chart/progress/linear/linear.js +2 -1
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +6 -3
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area.js +2 -2
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/range-column-3d.js +2 -2
- package/esm/chart/range-column/range-column-3d.js.map +1 -1
- package/esm/chart/range-column/range-column.js +2 -2
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/rose/rose.js +2 -2
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.js +2 -2
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.d.ts +1 -0
- package/esm/chart/scatter/scatter.js +4 -3
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence.js +1 -1
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.js +10 -6
- package/esm/chart/stack.js.map +1 -1
- package/esm/chart/sunburst/sunburst.js +2 -2
- package/esm/chart/sunburst/sunburst.js.map +1 -1
- package/esm/chart/treemap/treemap.js +2 -2
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js +2 -2
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/chart/word-cloud/base.js +2 -2
- package/esm/chart/word-cloud/base.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud-3d.d.ts +1 -0
- package/esm/chart/word-cloud/word-cloud-3d.js +7 -3
- package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud.d.ts +1 -0
- package/esm/chart/word-cloud/word-cloud.js +8 -9
- package/esm/chart/word-cloud/word-cloud.js.map +1 -1
- package/esm/compile/compiler.js +4 -2
- 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 +2 -2
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/grammar-item.js +3 -1
- package/esm/compile/grammar-item.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +3 -2
- package/esm/compile/mark/compilable-mark.js +9 -5
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.js +1 -1
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/compile/signal/compilable-signal.d.ts +1 -1
- package/esm/compile/signal/compilable-signal.js +2 -2
- package/esm/compile/signal/compilable-signal.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 +2 -2
- package/esm/component/axis/base-axis.js +9 -2
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +5 -3
- package/esm/component/axis/cartesian/axis.js +9 -7
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +2 -3
- package/esm/component/axis/cartesian/band-axis.js +2 -10
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +2 -6
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.d.ts +2 -2
- package/esm/component/axis/cartesian/linear-axis.js +2 -4
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/log-axis.d.ts +2 -2
- package/esm/component/axis/cartesian/log-axis.js +1 -1
- package/esm/component/axis/cartesian/log-axis.js.map +1 -1
- package/esm/component/axis/cartesian/symlog-axis.d.ts +2 -2
- package/esm/component/axis/cartesian/symlog-axis.js +1 -1
- package/esm/component/axis/cartesian/symlog-axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.d.ts +3 -3
- package/esm/component/axis/cartesian/time-axis.js +13 -5
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/common.d.ts +1 -1
- package/esm/component/axis/cartesian/util/common.js +4 -2
- package/esm/component/axis/cartesian/util/common.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +38 -0
- package/esm/component/axis/interface/common.js +2 -0
- package/esm/component/axis/interface/common.js.map +1 -0
- package/esm/component/axis/interface/index.d.ts +3 -0
- package/esm/component/axis/interface/index.js +6 -0
- package/esm/component/axis/interface/index.js.map +1 -0
- package/{cjs/component/axis/interface.d.ts → esm/component/axis/interface/spec.d.ts} +4 -50
- package/esm/component/axis/interface/spec.js +2 -0
- package/esm/component/axis/interface/spec.js.map +1 -0
- package/esm/component/axis/interface/theme.d.ts +15 -0
- package/esm/component/axis/interface/theme.js +2 -0
- package/esm/component/axis/interface/theme.js.map +1 -0
- package/esm/component/axis/mixin/band-axis-mixin.d.ts +5 -0
- package/esm/component/axis/mixin/band-axis-mixin.js +7 -1
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.d.ts +1 -2
- package/esm/component/axis/mixin/linear-axis-mixin.js +2 -2
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +6 -3
- package/esm/component/axis/polar/axis.js +25 -21
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +2 -3
- package/esm/component/axis/polar/band-axis.js +2 -10
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.d.ts +1 -1
- package/esm/component/axis/polar/linear-axis.js +1 -1
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/axis/util.js +2 -2
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.js +4 -2
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.d.ts +1 -1
- package/esm/component/base/util.js +2 -2
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/brush/brush.d.ts +2 -2
- package/esm/component/brush/brush.js +2 -2
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/common/trigger/config.js +2 -2
- package/esm/component/common/trigger/config.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +1 -1
- package/esm/component/crosshair/base.js +3 -3
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +1 -1
- package/esm/component/crosshair/cartesian.js +3 -3
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/interface/theme.d.ts +6 -6
- package/esm/component/crosshair/interface/theme.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +1 -1
- package/esm/component/crosshair/polar.js +3 -3
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/util.js +5 -3
- package/esm/component/crosshair/util.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +2 -2
- package/esm/component/custom-mark/custom-mark.js +2 -2
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +13 -8
- 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 +2 -2
- package/esm/component/data-zoom/data-zoom/data-zoom.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 +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +2 -2
- package/esm/component/geo/geo-coordinate.js +6 -4
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/index.d.ts +26 -22
- package/esm/component/index.js +7 -6
- package/esm/component/index.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +2 -2
- package/esm/component/indicator/indicator.js +14 -6
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/base-label.d.ts +2 -2
- package/esm/component/label/base-label.js +2 -2
- package/esm/component/label/base-label.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 +1 -1
- package/esm/component/label/label.js +5 -3
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/totalLabel.d.ts +1 -1
- package/esm/component/label/totalLabel.js +4 -2
- package/esm/component/label/totalLabel.js.map +1 -1
- package/esm/component/label/util.d.ts +11 -3
- package/esm/component/label/util.js +20 -10
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +3 -3
- package/esm/component/legend/base-legend.js +10 -6
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/legend.d.ts +1 -1
- package/esm/component/legend/continuous/legend.js +15 -6
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/continuous/util.js +1 -1
- package/esm/component/legend/continuous/util.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -1
- package/esm/component/legend/discrete/legend.js +15 -6
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.js +3 -1
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/component/legend/util.js +1 -1
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/map-label/component.d.ts +2 -2
- package/esm/component/map-label/component.js +11 -7
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +1 -1
- package/esm/component/marker/base-marker.js +1 -1
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +1 -1
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +1 -1
- package/esm/component/marker/mark-area/mark-area.js +5 -5
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +1 -1
- package/esm/component/marker/mark-line/mark-line.js +5 -5
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.d.ts +1 -1
- package/esm/component/marker/mark-point/mark-point.js +5 -5
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/player/player.d.ts +2 -2
- package/esm/component/player/player.js +4 -6
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.d.ts +2 -2
- package/esm/component/title/title.js +4 -4
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/title/utils.js.map +1 -1
- package/esm/component/tooltip/handler/base.d.ts +5 -6
- package/esm/component/tooltip/handler/base.js +22 -15
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +14 -3
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +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 +1 -1
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.js +12 -10
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/title-model.js +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 +1 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/util.js +5 -1
- package/esm/component/tooltip/handler/dom/util.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +3 -1
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/common.js +1 -1
- package/esm/component/tooltip/handler/utils/common.js.map +1 -1
- package/esm/component/tooltip/handler/utils/compose.js +2 -2
- package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
- package/esm/component/tooltip/handler/utils/get-spec.js +3 -3
- package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/handler/utils/position.d.ts +1 -1
- package/esm/component/tooltip/handler/utils/position.js +2 -2
- package/esm/component/tooltip/handler/utils/position.js.map +1 -1
- package/esm/component/tooltip/interface/spec.d.ts +2 -1
- package/esm/component/tooltip/interface/spec.js.map +1 -1
- package/esm/component/tooltip/processor/base.d.ts +1 -1
- package/esm/component/tooltip/processor/base.js +4 -2
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +6 -4
- package/esm/component/tooltip/tooltip.js +19 -9
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/common.js +1 -1
- package/esm/component/tooltip/utils/common.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js +1 -3
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/constant/base.js +2 -1
- package/esm/constant/event.d.ts +0 -1
- package/esm/constant/event.js +15 -16
- package/esm/constant/event.js.map +1 -1
- package/esm/constant/scroll-bar.js +1 -2
- package/esm/core/factory.js +1 -1
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +6 -3
- package/esm/core/index.js +9 -3
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +27 -10
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.d.ts +10 -0
- package/esm/data/initialize.js +12 -4
- package/esm/data/initialize.js.map +1 -1
- package/esm/data/transforms/add-property.d.ts +4 -0
- package/esm/data/transforms/add-property.js.map +1 -1
- package/esm/data/transforms/aggregation.js +3 -1
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/copy-data-view.js +1 -1
- package/esm/data/transforms/copy-data-view.js.map +1 -1
- package/esm/data/transforms/correlation.js +1 -3
- package/esm/data/transforms/correlation.js.map +1 -1
- package/esm/data/transforms/data-key.d.ts +13 -3
- package/esm/data/transforms/data-key.js +23 -8
- package/esm/data/transforms/data-key.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.d.ts +10 -4
- package/esm/data/transforms/dimension-statistics.js +13 -10
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/data/transforms/drill.js +3 -1
- package/esm/data/transforms/drill.js.map +1 -1
- package/esm/data/transforms/invalid-travel.js +1 -1
- package/esm/data/transforms/invalid-travel.js.map +1 -1
- package/esm/data/transforms/legend-data/continuous/continuous.js +1 -2
- package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/esm/data/transforms/lookup.js +1 -1
- package/esm/data/transforms/lookup.js.map +1 -1
- package/esm/data/transforms/pie.js +3 -1
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/data/transforms/regression.js +1 -1
- package/esm/data/transforms/regression.js.map +1 -1
- package/esm/data/transforms/stack-split.js +1 -1
- package/esm/data/transforms/stack-split.js.map +1 -1
- package/esm/event/event-dispatcher.js +1 -1
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/event.js +1 -2
- package/esm/event/events/dimension/base.js +3 -1
- package/esm/event/events/dimension/base.js.map +1 -1
- package/esm/event/events/dimension/dimension-hover.js +2 -2
- package/esm/event/events/dimension/dimension-hover.js.map +1 -1
- package/esm/event/events/dimension/interface.d.ts +1 -1
- package/esm/event/events/dimension/interface.js.map +1 -1
- package/esm/event/events/dimension/util/cartesian.js +2 -2
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/events/dimension/util/common.js +1 -1
- package/esm/event/events/dimension/util/common.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js +3 -3
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/index-lark.d.ts +4 -0
- package/esm/index-lark.js +102 -0
- package/esm/index-lark.js.map +1 -0
- package/esm/index-wx.d.ts +4 -0
- package/esm/index-wx.js +103 -0
- package/esm/index-wx.js.map +1 -0
- package/esm/index.d.ts +0 -3
- package/esm/index.js +1 -6
- package/esm/index.js.map +1 -1
- package/esm/interaction/config.d.ts +2 -2
- package/esm/interaction/config.js +4 -3
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/dimension-trigger.js.map +1 -1
- package/esm/interaction/drill/drillable.js +3 -5
- package/esm/interaction/drill/drillable.js.map +1 -1
- package/esm/interaction/trigger.js +4 -2
- package/esm/interaction/trigger.js.map +1 -1
- package/esm/interaction/zoom/zoomable.js +2 -2
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.js +1 -1
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/index.js +1 -1
- package/esm/layout/interface.js +1 -1
- package/esm/layout/layout3d/index.js +1 -1
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/mark/arc-3d.d.ts +1 -1
- package/esm/mark/arc-3d.js +1 -1
- package/esm/mark/arc-3d.js.map +1 -1
- package/esm/mark/arc.d.ts +1 -1
- package/esm/mark/arc.js +3 -3
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.d.ts +1 -1
- package/esm/mark/area.js +1 -1
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-line.js +1 -1
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +3 -3
- package/esm/mark/base/base-mark.js +79 -35
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/box-plot.d.ts +1 -1
- package/esm/mark/box-plot.js +1 -1
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.d.ts +1 -1
- package/esm/mark/cell.js +1 -1
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/component.d.ts +1 -1
- package/esm/mark/component.js +1 -1
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/group.d.ts +1 -1
- package/esm/mark/group.js +2 -2
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/image.d.ts +1 -1
- package/esm/mark/image.js +1 -1
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/interface/common.d.ts +12 -2
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/label.d.ts +2 -1
- package/esm/mark/label.js +5 -2
- package/esm/mark/label.js.map +1 -1
- package/esm/mark/line.d.ts +1 -1
- package/esm/mark/line.js +2 -2
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/link-path.d.ts +1 -1
- package/esm/mark/link-path.js +1 -1
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/path.d.ts +1 -1
- package/esm/mark/path.js +1 -1
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.d.ts +1 -1
- package/esm/mark/polygon/polygon.js +1 -1
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/polygon/pyramid-3d.d.ts +1 -1
- package/esm/mark/polygon/pyramid-3d.js +1 -1
- package/esm/mark/polygon/pyramid-3d.js.map +1 -1
- package/esm/mark/progress-arc.d.ts +1 -1
- package/esm/mark/progress-arc.js +1 -1
- package/esm/mark/progress-arc.js.map +1 -1
- package/esm/mark/rect-3d.d.ts +1 -1
- package/esm/mark/rect-3d.js +1 -1
- package/esm/mark/rect-3d.js.map +1 -1
- package/esm/mark/rect.d.ts +1 -1
- package/esm/mark/rect.js +1 -1
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/ripple.d.ts +1 -1
- package/esm/mark/ripple.js +1 -1
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.d.ts +1 -1
- package/esm/mark/rule.js +1 -1
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.d.ts +1 -1
- package/esm/mark/symbol.js +1 -1
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.d.ts +1 -1
- package/esm/mark/text.js +1 -1
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/utils/common.d.ts +1 -1
- package/esm/mark/utils/common.js +1 -1
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/model/base-model.d.ts +2 -15
- package/esm/model/base-model.js +14 -44
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +5 -8
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.js +2 -2
- package/esm/model/layout-item.js.map +1 -1
- package/esm/plugin/components/basic-plugin.js +1 -1
- package/esm/plugin/components/basic-plugin.js.map +1 -1
- package/esm/plugin/components/plugin-service.js +3 -1
- package/esm/plugin/components/plugin-service.js.map +1 -1
- package/esm/region/region.d.ts +2 -3
- package/esm/region/region.js +12 -14
- package/esm/region/region.js.map +1 -1
- package/esm/scale/global-scale.d.ts +3 -3
- package/esm/scale/global-scale.js +36 -21
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/scale/interface.d.ts +1 -2
- package/esm/scale/interface.js.map +1 -1
- package/esm/series/area/animation.js +1 -1
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area.d.ts +4 -2
- package/esm/series/area/area.js +28 -15
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/constant.js +1 -1
- package/esm/series/area/constant.js.map +1 -1
- package/esm/series/area/interface.d.ts +6 -5
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/area/tooltip-helpter.js +1 -1
- package/esm/series/area/tooltip-helpter.js.map +1 -1
- package/esm/series/bar/animation.js +1 -1
- package/esm/series/bar/animation.js.map +1 -1
- package/esm/series/bar/bar-3d.d.ts +1 -1
- package/esm/series/bar/bar-3d.js +1 -1
- package/esm/series/bar/bar-3d.js.map +1 -1
- package/esm/series/bar/bar.d.ts +3 -3
- package/esm/series/bar/bar.js +31 -12
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/constant.js +1 -1
- package/esm/series/bar/constant.js.map +1 -1
- package/esm/series/bar/interface.d.ts +5 -4
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +17 -10
- package/esm/series/base/base-series.js +69 -77
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.js +1 -1
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/base/series-data.d.ts +1 -1
- package/esm/series/base/series-data.js +1 -1
- package/esm/series/base/series-data.js.map +1 -1
- package/esm/series/base/tooltip-helper.js +2 -2
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +11 -9
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/constant.js +1 -1
- package/esm/series/box-plot/constant.js.map +1 -1
- package/esm/series/box-plot/tooltip-helper.js +1 -1
- package/esm/series/box-plot/tooltip-helper.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +2 -1
- package/esm/series/cartesian/cartesian.js +3 -1
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.js +8 -8
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/constant.js +1 -1
- package/esm/series/circle-packing/constant.js.map +1 -1
- package/esm/series/correlation/constant.js +1 -1
- package/esm/series/correlation/constant.js.map +1 -1
- package/esm/series/correlation/correlation.d.ts +1 -3
- package/esm/series/correlation/correlation.js +6 -6
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/correlation/interface.js.map +1 -1
- package/esm/series/dot/constant.js +1 -1
- package/esm/series/dot/constant.js.map +1 -1
- package/esm/series/dot/dot.js +11 -6
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/tooltip-helper.js +1 -1
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/constant.js +1 -1
- package/esm/series/funnel/constant.js.map +1 -1
- package/esm/series/funnel/funnel-3d.d.ts +1 -1
- package/esm/series/funnel/funnel-3d.js +1 -1
- package/esm/series/funnel/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +2 -5
- package/esm/series/funnel/funnel.js +17 -15
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/gauge/constant.js +1 -1
- package/esm/series/gauge/constant.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +1 -1
- package/esm/series/gauge/gauge-pointer.js +3 -3
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +4 -4
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/geo/geo.d.ts +0 -3
- package/esm/series/geo/geo.js +3 -6
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/heatmap/constant.js +1 -1
- package/esm/series/heatmap/constant.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +5 -5
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/index.d.ts +1 -0
- package/esm/series/index.js +2 -0
- package/esm/series/index.js.map +1 -1
- package/esm/series/interface/common.d.ts +1 -1
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +7 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.d.ts +52 -8
- package/esm/series/interface/theme.js +22 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/line/animation.js +1 -1
- package/esm/series/line/animation.js.map +1 -1
- package/esm/series/line/interface.d.ts +6 -11
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.d.ts +5 -3
- package/esm/series/line/line.js +14 -7
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/constant.js +1 -1
- package/esm/series/link/constant.js.map +1 -1
- package/esm/series/link/link.js +8 -5
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/link/tooltip-helper.js +1 -1
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/map/constant.js +1 -1
- package/esm/series/map/constant.js.map +1 -1
- package/esm/series/map/geo-source.js +1 -1
- package/esm/series/map/geo-source.js.map +1 -1
- package/esm/series/map/map.js +12 -7
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/constant.js +1 -1
- package/esm/series/mixin/constant.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +17 -2
- package/esm/series/mixin/line-mixin.js +43 -10
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/animation/centerOffset.js +3 -1
- package/esm/series/pie/animation/centerOffset.js.map +1 -1
- package/esm/series/pie/constant.js +1 -1
- package/esm/series/pie/constant.js.map +1 -1
- package/esm/series/pie/pie-3d.d.ts +1 -1
- package/esm/series/pie/pie-3d.js +2 -2
- package/esm/series/pie/pie-3d.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -3
- package/esm/series/pie/pie.js +16 -10
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/polar.d.ts +0 -1
- package/esm/series/polar/polar.js +3 -2
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/polar/progress-like/constant.js +1 -1
- package/esm/series/polar/progress-like/constant.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +0 -3
- package/esm/series/polar/progress-like/progress-like.js +4 -5
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/polar/rose-like/interface.d.ts +2 -7
- package/esm/series/polar/rose-like/interface.js.map +1 -1
- package/esm/series/polar/rose-like/rose-like.d.ts +0 -1
- package/esm/series/polar/rose-like/rose-like.js +0 -1
- package/esm/series/polar/rose-like/rose-like.js.map +1 -1
- package/esm/series/progress/circular/circular.js +3 -3
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/constant.js +1 -1
- package/esm/series/progress/circular/constant.js.map +1 -1
- package/esm/series/progress/linear/animation.js +1 -1
- package/esm/series/progress/linear/animation.js.map +1 -1
- package/esm/series/progress/linear/constant.js +1 -1
- package/esm/series/progress/linear/constant.js.map +1 -1
- package/esm/series/progress/linear/linear.js +3 -3
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/constant.js +1 -1
- package/esm/series/radar/constant.js.map +1 -1
- package/esm/series/radar/interface.d.ts +4 -3
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.d.ts +2 -1
- package/esm/series/radar/radar.js +10 -7
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +1 -1
- package/esm/series/range-area/range-area.js +1 -1
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.js +1 -1
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/range-column/constant.js +1 -1
- package/esm/series/range-column/constant.js.map +1 -1
- package/esm/series/range-column/range-column-3d.d.ts +2 -2
- package/esm/series/range-column/range-column-3d.js +2 -2
- package/esm/series/range-column/range-column-3d.js.map +1 -1
- package/esm/series/range-column/range-column.d.ts +1 -1
- package/esm/series/range-column/range-column.js +10 -8
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.js +1 -1
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/rose/constant.js +1 -1
- package/esm/series/rose/constant.js.map +1 -1
- package/esm/series/rose/rose.js +6 -4
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.js +1 -1
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/constant.js +1 -1
- package/esm/series/sankey/constant.js.map +1 -1
- package/esm/series/sankey/sankey.js +21 -16
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/constant.js +1 -1
- package/esm/series/scatter/constant.js.map +1 -1
- package/esm/series/scatter/interface.d.ts +2 -4
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.js +7 -5
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/constant.js +1 -1
- package/esm/series/sunburst/constant.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -3
- package/esm/series/sunburst/sunburst.js +8 -10
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/constant.js +1 -1
- package/esm/series/treemap/constant.js.map +1 -1
- package/esm/series/treemap/treemap.d.ts +2 -2
- package/esm/series/treemap/treemap.js +25 -17
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/util/spec.d.ts +2 -0
- package/esm/series/util/spec.js +8 -0
- package/esm/series/util/spec.js.map +1 -0
- package/esm/series/util/utils.js +1 -1
- package/esm/series/util/utils.js.map +1 -1
- package/esm/series/waterfall/constant.js +1 -1
- package/esm/series/waterfall/constant.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +4 -4
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +0 -3
- package/esm/series/word-cloud/base.js +2 -5
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/constant.js +1 -1
- package/esm/series/word-cloud/constant.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.d.ts +1 -0
- package/esm/series/word-cloud/word-cloud-3d.js +13 -3
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.d.ts +2 -1
- package/esm/series/word-cloud/word-cloud.js +11 -2
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/theme/builtin/index.d.ts +5 -0
- package/esm/theme/builtin/index.js +23 -2
- package/esm/theme/builtin/index.js.map +1 -1
- package/esm/theme/color-scheme/builtin/index.d.ts +2 -0
- package/esm/theme/color-scheme/builtin/index.js +4 -0
- package/esm/theme/color-scheme/builtin/index.js.map +1 -0
- package/esm/theme/color-scheme/index.d.ts +3 -0
- package/esm/theme/color-scheme/index.js +6 -0
- package/esm/theme/color-scheme/index.js.map +1 -0
- package/esm/theme/color-scheme/interface.d.ts +2 -2
- package/esm/theme/color-scheme/interface.js.map +1 -1
- package/esm/theme/color-scheme/util.d.ts +5 -4
- package/esm/theme/color-scheme/util.js +26 -14
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/index.d.ts +1 -0
- package/esm/theme/index.js +2 -0
- package/esm/theme/index.js.map +1 -1
- package/esm/theme/interface.d.ts +2 -0
- package/esm/theme/interface.js.map +1 -1
- package/esm/theme/theme-manager.js +5 -8
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/theme/util.js +4 -1
- package/esm/theme/util.js.map +1 -1
- package/esm/typings/tooltip/tooltip.d.ts +2 -1
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/typings/visual.d.ts +1 -1
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/data.d.ts +1 -1
- package/esm/util/data.js +3 -3
- package/esm/util/data.js.map +1 -1
- package/esm/util/scale.d.ts +1 -2
- package/esm/util/scale.js +1 -1
- package/esm/util/scale.js.map +1 -1
- package/esm/util/spec/merge-spec.js +1 -1
- package/esm/util/spec/merge-spec.js.map +1 -1
- package/esm/util/spec/merge-theme.js +7 -7
- package/esm/util/spec/merge-theme.js.map +1 -1
- package/esm/util/spec/preprocess.d.ts +2 -2
- package/esm/util/spec/preprocess.js +4 -4
- package/esm/util/spec/preprocess.js.map +1 -1
- package/esm/vchart-all.js +2 -2
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.d.ts +1 -0
- package/esm/vchart-simple.js +2 -0
- package/esm/vchart-simple.js.map +1 -1
- package/package.json +9 -7
- package/cjs/component/axis/cartesian/config.d.ts +0 -3
- package/cjs/component/axis/cartesian/config.js +0 -8
- package/cjs/component/axis/cartesian/config.js.map +0 -1
- package/cjs/component/axis/interface.js.map +0 -1
- package/cjs/component/axis/polar/config.d.ts +0 -3
- package/cjs/component/axis/polar/config.js +0 -8
- package/cjs/component/axis/polar/config.js.map +0 -1
- package/cjs/model/model-state-manager.d.ts +0 -9
- package/cjs/model/model-state-manager.js +0 -23
- package/cjs/model/model-state-manager.js.map +0 -1
- package/esm/component/axis/cartesian/config.d.ts +0 -3
- package/esm/component/axis/cartesian/config.js +0 -6
- package/esm/component/axis/cartesian/config.js.map +0 -1
- package/esm/component/axis/interface.js +0 -2
- package/esm/component/axis/interface.js.map +0 -1
- package/esm/component/axis/polar/config.d.ts +0 -3
- package/esm/component/axis/polar/config.js +0 -6
- package/esm/component/axis/polar/config.js.map +0 -1
- package/esm/model/model-state-manager.d.ts +0 -9
- package/esm/model/model-state-manager.js +0 -15
- package/esm/model/model-state-manager.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import type { IBounds, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IEffect, IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport type { IRegion } from '../../../region/interface';\nimport type { IAxisLocationCfg, ICartesianAxisCommonSpec, IAxisHelper, ICartesianAxisCommonTheme } from './interface';\nimport { isArray, isValid, isValidNumber, mergeSpec, eachSeries, isNil, isUndefined } from '../../../util';\nimport type { IOrientType } from '../../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../../typings/space';\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport { Factory } from '../../../core/factory';\nimport { autoAxisType, isXAxis, getOrient, isZAxis, isYAxis, transformInverse } from './util';\nimport { ChartEvent, DEFAULT_LAYOUT_RECT_LEVEL, LayoutZIndex, USER_LAYOUT_RECT_LEVEL } from '../../../constant';\nimport { LayoutLevel } from '../../../constant/index';\nimport pluginMap from '../../../plugin/components';\nimport type { IPoint, StringOrNumber } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport type { LineAxisAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValidCartesianAxis } from '../util';\nimport type { IAxis, ITick } from '../interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { ICartesianTickDataOpt } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '@visactor/vutils-extension';\nimport type { DataSet } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataView } from '@visactor/vdataset';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\nimport type { IGraphic, IText } from '@visactor/vrender-core';\nimport { createText } from '@visactor/vrender-core';\n\nconst CartesianAxisPlugin = [pluginMap.AxisSyncPlugin];\n\nexport abstract class CartesianAxis<T extends ICartesianAxisCommonSpec = ICartesianAxisCommonSpec>\n extends AxisComponent<T>\n implements IAxis\n{\n static type = ComponentTypeEnum.cartesianAxis;\n type = ComponentTypeEnum.cartesianAxis;\n name: string = ComponentTypeEnum.cartesianAxis;\n\n // 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n declare directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n\n layoutType: LayoutItem['layoutType'] = 'region-relative';\n layoutZIndex: number = LayoutZIndex.Axis;\n layoutLevel: number = LayoutLevel.Axis;\n\n protected _dataSet: DataSet;\n\n layout3dBox?: { width: number; height: number; length: number };\n\n protected _orient: IOrientType = 'left';\n getOrient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n this._layoutOrient = v;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme;\n\n protected _statisticsDomain: {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n } = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n protected _tick: ITick | undefined = undefined;\n\n private _axisStyle: Partial<LineAxisAttributes>;\n private _latestBounds: IBounds;\n private _verticalLimitSize: number;\n private _unitText: IText;\n\n protected _layoutCache: {\n width: number;\n height: number;\n _lastComputeOutBounds: IBoundsLike;\n } = { width: 0, height: 0, _lastComputeOutBounds: { x1: 0, x2: 0, y1: 0, y2: 0 } };\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._orient = getOrient(spec, ['z']);\n if (isZAxis(this._orient)) {\n this.layoutType = 'absolute';\n }\n isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent);\n this._layoutOrient = this._orient;\n this._dataSet = options.dataSet;\n }\n\n static createAxis(spec: any, options: IComponentOption, isHorizontal: boolean = false): IAxis {\n const axisType = spec.type ?? autoAxisType(spec.orient, isHorizontal);\n const componentName = `${CartesianAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n return new C(\n {\n ...spec,\n type: axisType\n },\n options\n ) as IAxis;\n }\n options.onError(`Component ${componentName} not found`);\n return null;\n }\n\n static createComponent(spec: any, options: IComponentOption) {\n if (!this.type.startsWith(CartesianAxis.type)) {\n return null;\n }\n const regions = options.getRegionsInIndex();\n if (regions.find(r => r.coordinate !== 'cartesian')) {\n return null;\n }\n let axesSpec = spec[CartesianAxis.specKey] || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n const isHorizontal = spec.direction === Direction.horizontal;\n if (!isArray(axesSpec)) {\n // 如果非法,或者只有一个z轴就不创建\n if (!isValidCartesianAxis(axesSpec)) {\n return null;\n }\n return CartesianAxis.createAxis(axesSpec, options, isHorizontal);\n }\n // 处理spec\n const zAxis = axesSpec.filter(s => s.orient === 'z')[0];\n let valid = true;\n if (zAxis) {\n const xAxis = axesSpec.filter(s => s.orient === 'bottom')[0];\n const yAxis = axesSpec.filter(s => isYAxis(s.orient))[0];\n // 必须有x和y,且x必须是bottom\n valid = axesSpec.length === 3 && xAxis && yAxis;\n }\n if (!valid) {\n axesSpec = axesSpec.filter(s => s.orient !== 'z');\n }\n const axes: IAxis[] = [];\n axesSpec.forEach((s: any, i: any) => {\n if (!isValidCartesianAxis(s)) {\n return;\n }\n axes.push(\n CartesianAxis.createAxis(\n s,\n {\n ...options,\n specIndex: i,\n specKey: CartesianAxis.specKey\n },\n isHorizontal\n ) as IAxis\n );\n });\n return axes;\n }\n\n setLayout3dBox(box3d: { width: number; height: number; length: number }) {\n this.layout3dBox = box3d;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.getOrient())) {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.getOrient())) {\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: IAxisLocationCfg): number;\n abstract valueToPosition(value: any): number;\n\n protected updateScaleRange() {\n let isScaleChange = false;\n const { width, height } = this.getLayoutRect();\n const inverse = this._spec.inverse;\n let newRange: number[] = [];\n if (isXAxis(this.getOrient())) {\n if (isValidNumber(width)) {\n newRange = inverse ? [width, 0] : [0, width];\n }\n } else if (isZAxis(this.getOrient())) {\n if (isValidNumber(width)) {\n newRange = inverse ? [width, 0] : [0, width];\n this._scale.range(newRange);\n }\n } else {\n if (isValidNumber(height)) {\n newRange = inverse ? [0, height] : [height, 0];\n }\n }\n\n const [start, end] = this._scale.range();\n if (newRange[0] !== start || newRange[1] !== end) {\n isScaleChange = true;\n this._scale.range(newRange);\n }\n\n return isScaleChange;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this.pluginService?.load(CartesianAxisPlugin.map(P => new P()));\n this.callPlugin(plugin => {\n this.pluginService && plugin.onInit && plugin.onInit(this.pluginService, this);\n });\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this.visible) {\n const isX = isXAxis(this.getOrient());\n if (isX) {\n if (isUndefined(this._spec.maxHeight)) {\n this._spec.maxHeight = '30%';\n }\n } else if (isUndefined(this._spec.maxWidth)) {\n this._spec.maxWidth = '30%';\n }\n\n const axisStyle: any = this._getAxisAttributes();\n axisStyle.label.formatMethod = this.getLabelFormatMethod();\n axisStyle.verticalFactor = this.getOrient() === 'top' || this.getOrient() === 'right' ? -1 : 1;\n this._axisStyle = axisStyle;\n }\n this._tick = this._spec.tick;\n }\n\n protected getSeriesStatisticsField(s: ICartesianSeries) {\n let f: string[];\n if (isXAxis(this.getOrient())) {\n f = s.fieldX;\n } else if (isZAxis(this.getOrient())) {\n f = s.fieldZ;\n } else {\n f = s.fieldY;\n }\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected _initTickData(sampling: boolean) {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n\n const label = this._spec.label || {};\n const tick = this._tick || {};\n const tickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling,\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n\n this._tickData = new CompilableData(this._option, tickData);\n }\n\n protected _initData() {\n this._initTickData(this._spec.sampling !== false); // default do sampling\n }\n\n protected axisHelper(): IAxisHelper {\n const getScale = (depth: number = 0) => {\n return this._scales[depth];\n };\n return {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n getStatisticsDomain: () => this.getStatisticsDomain(),\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._spec.inverse === true\n };\n }\n\n /** LifeCycle API**/\n afterCompile() {\n const product = this._axisMark?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n // 插件在布局后\n if (isXAxis(this.getOrient())) {\n this.callPlugin(plugin => {\n this.pluginService &&\n plugin.onDidLayoutHorizontal &&\n plugin.onDidLayoutHorizontal(this.pluginService, this);\n });\n } else {\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidLayoutVertical && plugin.onDidLayoutVertical(this.pluginService, this);\n });\n }\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n\n // 更新单位的显示位置\n if (this._unitText) {\n const bounds = product.graphicItem.AABBBounds;\n const pos = isXAxis(this._orient)\n ? {\n x: bounds.x2,\n y: this.getLayoutStartPoint().y\n }\n : {\n x: this.getLayoutStartPoint().x,\n y: bounds.y1\n };\n\n this._unitText.setAttributes(pos);\n }\n }\n });\n }\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidCompile && plugin.onDidCompile(this.pluginService, this);\n });\n }\n\n onLayoutEnd(ctx: any): void {\n const isRangeChange = this.updateScaleRange();\n if (isRangeChange) {\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\n // 这里会执行 computeData ,会执行系列scale更新\n } else {\n this.updateSeriesScale();\n }\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n protected collectScale() {\n const scales: IBaseScale[] = [];\n eachSeries(\n this._regions,\n s => {\n scales.push(\n this.getOrient() === 'left' || this.getOrient() === 'right'\n ? (s as ICartesianSeries).scaleY\n : (s as ICartesianSeries).scaleX\n );\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return scales;\n }\n\n protected collectData(depth?: number) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n if (isXAxis(this.getOrient())) {\n field = (s as ICartesianSeries).fieldX2\n ? [...(s as ICartesianSeries).fieldX, (s as ICartesianSeries).fieldX2]\n : (s as ICartesianSeries).fieldX;\n } else if (isZAxis(this.getOrient())) {\n field = (s as ICartesianSeries).fieldZ;\n } else {\n field = (s as ICartesianSeries).fieldY;\n }\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n const seriesData = s.getViewDataStatistics?.();\n if (field) {\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected updateSeriesScale() {\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleX(this._scale);\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleY(this._scale);\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleZ(this._scale);\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n let { x, y } = pos;\n\n if (isValidNumber(x)) {\n x += Number(this._orient === 'left') * this.getLayoutRect().width;\n }\n if (isValidNumber(y)) {\n y += Number(this._orient === 'top') * this.getLayoutRect().height;\n }\n super.setLayoutStartPosition({ x, y });\n }\n\n computeBoundsInRect(rect: ILayoutRect) {\n const result = super.computeBoundsInRect(rect);\n if (!this._visible) {\n return result;\n }\n const bounds = this._latestBounds.clone().translate(-this.getLayoutStartPoint().x, -this.getLayoutStartPoint().y);\n switch (this._layoutOrient) {\n case 'left':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x1 < 0 ? -bounds.x1 : 0;\n }\n break;\n case 'right':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x2 > 0 ? bounds.x2 : 0;\n }\n break;\n case 'top':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y1 < 0 ? -bounds.y1 : 0;\n }\n break;\n case 'bottom':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y2 > 0 ? bounds.y2 : 0;\n }\n break;\n default:\n break;\n }\n result.width = Math.ceil(result.width);\n result.height = Math.ceil(result.height);\n // because of changed width\\height, reset result in spec configuration.\n return this._setRectInSpec(this._layoutCacheProcessing(result));\n }\n /**\n * bounds 预计算\n * @param rect\n * @returns\n */\n _boundsInRect(rect: ILayoutRect): IBoundsLike {\n let result: IBoundsLike = { x1: 0, y1: 0, x2: 0, y2: 0 };\n if (!this._visible) {\n return result;\n }\n this._verticalLimitSize = isXAxis(this.getOrient()) ? rect.height : rect.width;\n\n this.setLayoutRect(rect);\n this.updateScaleRange();\n this.computeData();\n const context = { skipLayout: false };\n const isX = isXAxis(this.getOrient());\n if (this.pluginService) {\n isX\n ? this.callPlugin(plugin => {\n plugin.onWillLayoutHorizontal && plugin.onWillLayoutHorizontal(this.pluginService, context, this);\n })\n : this.callPlugin(plugin => {\n plugin.onWillLayoutVertical && plugin.onWillLayoutVertical(this.pluginService, context, this);\n });\n }\n const product = this._axisMark.getProduct();\n this._latestBounds = product.getBounds();\n if (!context.skipLayout) {\n const attrs = this._getUpdateAttribute(true);\n const axisComponent = product.getGroupGraphicItem();\n const updateBounds = axisComponent.getBoundsWithoutRender(\n mergeSpec({ ...this.getLayoutStartPoint() }, this._axisStyle, attrs)\n );\n if (isFinite(updateBounds.width())) {\n // 因为轴单位在某些区域显示的时候,是不参与轴某个方向的包围盒计算的,\n // 所以不太合适放在轴组件内支持,所以就在 VChart 层的轴组件上通过添加 text 图元支持\n result = this._appendAxisUnit(updateBounds, isX);\n this._latestBounds = updateBounds;\n }\n }\n return result;\n }\n\n updateLayoutAttribute(): void {\n if (!this.visible) {\n return;\n }\n // 正式的更新布局属性\n const { grid: updateGridAttrs, ...updateAxisAttrs } = this._getUpdateAttribute(false);\n const axisProduct = this._axisMark.getProduct(); // 获取语法元素\n const axisAttrs = mergeSpec({ ...this.getLayoutStartPoint() }, this._axisStyle, updateAxisAttrs);\n axisProduct.encode(axisAttrs);\n\n if (this._gridMark) {\n const gridProduct = this._gridMark.getProduct(); // 获取语法元素\n gridProduct.encode(mergeSpec({ ...this.getLayoutStartPoint() }, this._getGridAttributes(), updateGridAttrs));\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getTitleLimit(isX: boolean) {\n if (this._spec.title.visible && isNil(this._spec.title.style?.maxLineWidth)) {\n const angle = this._axisStyle.title?.angle ?? this._spec.title.style?.angle ?? 0;\n if (isX) {\n const width = this.getLayoutRect().width;\n const cosValue = Math.abs(Math.cos(angle));\n // VRender 接收到的limit是考虑角度计算后的宽度\n // TODO:还需要考虑angle后,高度是否太高,综合计算一个limit,比如高度不能超过图表整体高度的1/4\n return cosValue < 1e-6 ? Infinity : width / cosValue;\n }\n const height = this.getLayoutRect().height;\n const sinValue = Math.abs(Math.sin(angle));\n\n // TODO:还需要考虑angle后,宽度是否太宽,综合计算一个limit,比如宽度度不能超过图表整体宽度的1/4\n return sinValue < 1e-6 ? Infinity : height / sinValue;\n }\n\n return null;\n }\n\n private _getUpdateAttribute(ignoreGrid: boolean) {\n // 获取更新的坐标轴属性\n let regionHeight = 0;\n let regionWidth = 0;\n\n if (!ignoreGrid) {\n const regions = this.getRegions();\n let { x: minX, y: minY } = regions[0].getLayoutStartPoint();\n let maxX = minX + regions[0].getLayoutRect().width;\n let maxY = minY + regions[0].getLayoutRect().height;\n\n for (let index = 1; index < regions.length; index++) {\n const region = regions[index];\n const { x, y } = region.getLayoutStartPoint();\n const { width, height } = region.getLayoutRect();\n\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, width + x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, height + y);\n }\n regionHeight = Math.abs(maxY - minY);\n regionWidth = Math.abs(maxX - minX);\n }\n\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this._orient);\n const isY = isYAxis(this._orient);\n const isZ = isZAxis(this._orient);\n let end = { x: 0, y: 0 };\n let gridLength = 0;\n let axisLength = 0;\n const depth = this.layout3dBox ? this.layout3dBox.length : 0;\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n if (isZ) {\n const directionStr = this.directionStr ?? 'r2l';\n const depthZ = this.layout3dBox ? this.layout3dBox.width : 0;\n let anchor3d = [0, 0];\n let alpha = -Math.PI / 2;\n let z = 0;\n if (directionStr === 'l2r') {\n z = this.layout3dBox.length;\n anchor3d = [0, 0, 0];\n alpha = Math.PI / 2;\n }\n const items = this.getLabelItems(width);\n const axisAttrs: any = {\n start: { x: 0, y: 0 },\n end: { x: depth, y: 0 },\n z: z,\n alpha,\n anchor3d,\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items\n };\n if (!ignoreGrid) {\n axisAttrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end: { x: depth, y: 0 },\n items: items[0],\n verticalFactor: this._axisStyle.verticalFactor,\n depth: depthZ,\n length: regionHeight,\n z: z,\n alpha,\n anchor3d\n };\n }\n return axisAttrs;\n }\n let verticalMinSize = isX ? this._minHeight : this._minWidth;\n if (\n (isX && this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL) ||\n (isY && this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL)\n ) {\n verticalMinSize = this._verticalLimitSize;\n }\n const items = this.getLabelItems(axisLength);\n const attrs: any = {\n start: { x: 0, y: 0 },\n end,\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items,\n verticalLimitSize: this._verticalLimitSize,\n verticalMinSize\n };\n if (!ignoreGrid) {\n attrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end,\n items: items[0],\n verticalFactor: this._axisStyle.verticalFactor,\n depth,\n length: gridLength\n };\n }\n\n return attrs;\n }\n\n protected initEvent() {\n super.initEvent();\n\n if (this.visible) {\n // 布局结束之后处理 0 基线问题\n this.event.on(ChartEvent.layoutEnd, this._fixAxisOnZero);\n // 图表resize后,需要正常布局,清除布局缓存\n this.event.on(ChartEvent.layoutRectUpdate, () => {\n this._clearLayoutCache();\n });\n }\n }\n\n private _fixAxisOnZero = () => {\n // 在布局结束之后调整坐标轴零基线\n const { onZero, visible } = this._spec.domainLine;\n if (this.visible && onZero && visible !== false) {\n const { onZeroAxisId, onZeroAxisIndex } = this._spec.domainLine;\n const axesComponents = this._option.getComponentsByKey('axes') as IAxis[];\n const isX = isXAxis(this.getOrient());\n\n // 判断坐标轴是否可用\n const isValidAxis = (item: any) => {\n return (\n (isX ? !isXAxis(item.orient) : isXAxis(item.orient)) &&\n isContinuous(item.getScale().type) &&\n item\n .getTickData()\n .getLatestData()\n ?.find((d: any) => d.value === 0)\n );\n };\n const relativeAxes = axesComponents.filter(item => isValidAxis(item));\n if (relativeAxes.length) {\n let bindAxis;\n if (isValid(onZeroAxisId)) {\n bindAxis = relativeAxes.find(axis => axis.id === onZeroAxisId);\n } else if (isValid(onZeroAxisIndex)) {\n const indexAxis = axesComponents[onZeroAxisIndex];\n if (isValidAxis(indexAxis)) {\n bindAxis = indexAxis;\n }\n } else {\n // 默认绑定第一条的相对坐标轴\n bindAxis = relativeAxes[0];\n }\n if (bindAxis) {\n const axisMark = this._axisMark.getProduct();\n // 找到了绑定的 axis,获取基线的位置\n const position = bindAxis.valueToPosition(0);\n // 获取偏移量\n if (isX) {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dy: this._orient === 'bottom' ? -(bindAxis.getScale().range()[0] - position) : position\n }\n });\n } else {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dx: this._orient === 'left' ? position : -(bindAxis.getScale().range()[1] - position)\n }\n });\n }\n }\n }\n }\n };\n\n protected _layoutCacheProcessing(rect: ILayoutRect) {\n ['width', 'height'].forEach(key => {\n if (rect[key] < this._layoutCache[key]) {\n rect[key] = this._layoutCache[key];\n } else {\n this._layoutCache[key] = rect[key];\n }\n });\n\n // outBounds\n ['x1', 'x2', 'y1', 'y2'].forEach(key => {\n if (this._lastComputeOutBounds[key] < this._layoutCache._lastComputeOutBounds[key]) {\n this._lastComputeOutBounds[key] = this._layoutCache._lastComputeOutBounds[key];\n } else {\n this._layoutCache._lastComputeOutBounds[key] = this._lastComputeOutBounds[key];\n }\n });\n\n return rect;\n }\n\n _clearLayoutCache() {\n this._layoutCache.width = 0;\n this._layoutCache.height = 0;\n this._layoutCache._lastComputeOutBounds = { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n onDataUpdate(): void {\n // clear layout cache\n this._clearLayoutCache();\n }\n\n protected _transformSpec() {\n // change spec by default logic\n const chartSpec = this._option.getChart().getSpec();\n this._spec.inverse = transformInverse(this._spec, chartSpec.direction === Direction.horizontal);\n }\n\n private _appendAxisUnit(bounds: IBounds, isX: boolean) {\n if (this._spec.unit && this._spec.unit.visible) {\n const { text, style } = this._spec.unit;\n let pos;\n let unitTextStyle: any;\n if (isX) {\n pos = {\n x: bounds.x2,\n y: this.getLayoutStartPoint().y\n };\n unitTextStyle = {\n textAlign: 'left',\n textBaseline: 'middle'\n };\n } else {\n pos = {\n x: this.getLayoutStartPoint().x,\n y: bounds.y1\n };\n unitTextStyle = {\n textAlign: this._orient === 'left' ? 'left' : 'right',\n textBaseline: 'bottom'\n };\n }\n\n unitTextStyle = {\n ...unitTextStyle,\n ...style,\n x: pos.x,\n y: pos.y,\n text\n };\n if (this._unitText) {\n this._unitText.setAttributes(unitTextStyle);\n } else {\n this._unitText = createText(unitTextStyle);\n this._unitText.name = 'axis-unit';\n this.getContainer()?.add(this._unitText);\n }\n\n // 左轴\n const textBounds = this._unitText.AABBBounds;\n if (!isX) {\n bounds.x1 += textBounds.x1 < bounds.x1 ? textBounds.x1 - bounds.x1 : 0;\n bounds.y1 += textBounds.y1 < bounds.y1 ? textBounds.y1 - bounds.y1 : 0;\n } else {\n bounds.x2 += textBounds.x2 > bounds.x2 ? textBounds.x2 - bounds.x2 : 0;\n bounds.y2 += textBounds.y2 > bounds.y2 ? textBounds.y2 - bounds.y2 : 0;\n }\n }\n\n return bounds;\n }\n\n getVRenderComponents(): IGraphic[] {\n return this._unitText ? [this._unitText] : [];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/axis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAMA,wCAA2G;AAG3G,kDAAmD;AAGnD,6CAAgD;AAEhD,mDAAgD;AAChD,0CAAqG;AACrG,gDAAgH;AAChH,mDAAsD;AACtD,4EAAmD;AAInD,+CAAyD;AACzD,2DAAqD;AAGrD,kCAA+C;AAE/C,qDAAyG;AACzG,sDAAyD;AAGzD,iEAAmD;AAGnD,iDAA8C;AAC9C,2EAAuE;AACvE,4CAA6C;AAG7C,yDAAoD;AAEpD,MAAM,mBAAmB,GAAG,CAAC,oBAAS,CAAC,cAAc,CAAC,CAAC;AAEvD,MAAsB,aACpB,SAAQ,yBAAgB;IAuBxB,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,CAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAGD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAQD,mBAAmB;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAeD,YAAY,IAAO,EAAE,OAAyB;QAC5C,KAAK,CAAC,IAAI,oBACL,OAAO,EACV,CAAC;QA9DL,SAAI,GAAG,wBAAiB,CAAC,aAAa,CAAC;QACvC,SAAI,GAAW,wBAAiB,CAAC,aAAa,CAAC;QAE5B,yBAAoB,GAAG,GAAG,CAAC;QAC3B,6BAAwB,GAAG,GAAG,CAAC;QAC/B,6BAAwB,GAAG,GAAG,CAAC;QAKlD,eAAU,GAA6B,iBAAiB,CAAC;QACzD,iBAAY,GAAW,uBAAY,CAAC,IAAI,CAAC;QACzC,gBAAW,GAAW,mBAAW,CAAC,IAAI,CAAC;QAM7B,YAAO,GAAgB,MAAM,CAAC;QAa9B,YAAO,GAAiB,EAAE,CAAC;QAO3B,sBAAiB,GAGvB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAKpB,UAAK,GAAsB,SAAS,CAAC;QAOrC,iBAAY,GAIlB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAwFnF,WAAM,GAAY;YAChB,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAA,iBAAU,EACR,IAAI,CAAC,QAAQ,EACb,CAAC,CAAC,EAAE;oBACF,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;wBAC5B,CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;qBAC3D;yBAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;wBACnC,CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;qBAC3D;yBAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;wBACnC,CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;qBAC3D;gBACH,CAAC,EACD;oBACE,MAAM,EAAE,IAAI,CAAC,aAAa;oBAC1B,SAAS,EAAE,IAAI,CAAC,YAAY;iBAC7B,CACF,CAAC;YACJ,CAAC;SACF,CAAC;QAkiBM,mBAAc,GAAG,GAAG,EAAE;YAE5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YAClD,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,EAAE;gBAC/C,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAChE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAY,CAAC;gBAC1E,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAGtC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,EAAE;;oBAChC,OAAO,CACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpD,IAAA,qBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;yBAClC,MAAA,IAAI;6BACD,WAAW,EAAE;6BACb,aAAa,EAAE,0CACd,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAA,CACpC,CAAC;gBACJ,CAAC,CAAC;gBACF,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,IAAI,YAAY,CAAC,MAAM,EAAE;oBACvB,IAAI,QAAQ,CAAC;oBACb,IAAI,IAAA,cAAO,EAAC,YAAY,CAAC,EAAE;wBACzB,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;qBAChE;yBAAM,IAAI,IAAA,cAAO,EAAC,eAAe,CAAC,EAAE;wBACnC,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;wBAClD,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE;4BAC1B,QAAQ,GAAG,SAAS,CAAC;yBACtB;qBACF;yBAAM;wBAEL,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;qBAC5B;oBACD,IAAI,QAAQ,EAAE;wBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;wBAE7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;wBAE7C,IAAI,GAAG,EAAE;4BACP,QAAQ,CAAC,MAAM,CAAC;gCACd,IAAI,kCACC,IAAI,CAAC,UAAU,CAAC,IAAI,KACvB,EAAE,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GACxF;6BACF,CAAC,CAAC;yBACJ;6BAAM;4BACL,QAAQ,CAAC,MAAM,CAAC;gCACd,IAAI,kCACC,IAAI,CAAC,UAAU,CAAC,IAAI,KACvB,EAAE,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GACtF;6BACF,CAAC,CAAC;yBACJ;qBACF;iBACF;aACF;QACH,CAAC,CAAC;QAhsBA,IAAI,CAAC,OAAO,GAAG,IAAA,kBAAS,EAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC9B;QACD,IAAA,cAAO,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAS,EAAE,OAAyB,EAAE,eAAwB,KAAK;;QACnF,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,GAAG,aAAa,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,iBAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE;YACL,OAAO,IAAI,CAAC,iCAEL,IAAI,KACP,IAAI,EAAE,QAAQ,KAEhB,OAAO,CACC,CAAC;SACZ;QACD,OAAO,CAAC,OAAO,CAAC,aAAa,aAAa,YAAY,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC;SACb;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC;QAClE,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC;SACb;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE;YAEtB,IAAI,CAAC,IAAA,2BAAoB,EAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO,IAAI,CAAC;aACb;YACD,OAAO,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;SAClE;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,EAAE;YACT,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,gBAAO,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzD,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC;SACjD;QACD,IAAI,CAAC,KAAK,EAAE;YACV,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;SACnD;QACD,MAAM,IAAI,GAAY,EAAE,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;YAClC,IAAI,CAAC,IAAA,2BAAoB,EAAC,CAAC,CAAC,EAAE;gBAC5B,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CACP,aAAa,CAAC,UAAU,CACtB,CAAC,kCAEI,OAAO,KACV,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,aAAa,CAAC,OAAO,KAEhC,YAAY,CACJ,CACX,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAwD;QACrE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IA2BS,gBAAgB;QACxB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;YAC7B,IAAI,IAAA,oBAAa,EAAC,KAAK,CAAC,EAAE;gBACxB,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC9C;SACF;aAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;YACpC,IAAI,IAAA,oBAAa,EAAC,KAAK,CAAC,EAAE;gBACxB,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC7B;SACF;aAAM;YACL,IAAI,IAAA,oBAAa,EAAC,MAAM,CAAC,EAAE;gBACzB,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAChD;SACF;QAED,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAChD,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC7B;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAwB;;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,EAAE;gBACP,IAAI,IAAA,kBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;oBACrC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;iBAC9B;aACF;iBAAM,IAAI,IAAA,kBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC7B;YAED,MAAM,SAAS,GAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,SAAS,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3D,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;SAC7B;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,CAAC;IAES,wBAAwB,CAAC,CAAmB;QACpD,IAAI,CAAW,CAAC;QAChB,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;YAC7B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACd;aAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;YACpC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACd;aAAM;YACL,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACd;QACD,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClC,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAES,aAAa,CAAC,QAAiB;QACvC,IAAA,wCAA6B,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAW,CAAC,CAAC;QAC1E,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,wBAAK,CAAC,CAAC;QAEvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;aAC3F,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,OAAO;SACd,CAAC;aACD,SAAS,CACR;YACE,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACP,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAE3B,cAAc,EAAE,IAAI,CAAC,OAAO;gBAC5B,cAAc,EAAE,WAAW;gBAE3B,UAAU,EAAE,KAAK,CAAC,KAAK;gBACvB,cAAc,EAAE,KAAK,CAAC,YAAY;gBAClC,QAAQ,EAAE,KAAK,CAAC,MAAM;gBAEtB,gBAAgB,EAAE,KAAK,CAAC,WAAW;gBACnC,UAAU,EAAE,KAAK,CAAC,KAAK;aACC;SAC3B,EACD,KAAK,CACN,CAAC;QACJ,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,UAAU;QAClB,MAAM,QAAQ,GAAG,CAAC,QAAgB,CAAC,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,OAAO;YACL,YAAY,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,QAAQ;YACR,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACrD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YAC5B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;YACxB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI;SAC7C,CAAC;IACJ,CAAC;IAGD,YAAY;;QACV,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,EAAE,CAAC;QAC7C,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,gBAAgB,CAAC,0BAAU,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAC7D,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;oBAG5B,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;wBAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BACvB,IAAI,CAAC,aAAa;gCAChB,MAAM,CAAC,qBAAqB;gCAC5B,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBAC3D,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BACvB,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBAC3G,CAAC,CAAC,CAAC;qBACJ;oBACD,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBAGhE,IAAI,IAAI,CAAC,SAAS,EAAE;wBAClB,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;wBAC9C,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC;4BAC/B,CAAC,CAAC;gCACE,CAAC,EAAE,MAAM,CAAC,EAAE;gCACZ,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;6BAChC;4BACH,CAAC,CAAC;gCACE,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gCAC/B,CAAC,EAAE,MAAM,CAAC,EAAE;6BACb,CAAC;wBAEN,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACnC;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAE1D;aAAM;YACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QACD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAED,MAAM,CAAC,GAAqB;IAE5B,CAAC;IAED,MAAM,CAAC,GAAqB;IAE5B,CAAC;IAES,YAAY;QACpB,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAA,iBAAU,EACR,IAAI,CAAC,QAAQ,EACb,CAAC,CAAC,EAAE;YACF,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,OAAO;gBACzD,CAAC,CAAE,CAAsB,CAAC,MAAM;gBAChC,CAAC,CAAE,CAAsB,CAAC,MAAM,CACnC,CAAC;QACJ,CAAC,EACD;YACE,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW,CAAC,KAAc;QAClC,MAAM,IAAI,GAAkD,EAAE,CAAC;QAC/D,IAAA,iBAAU,EACR,IAAI,CAAC,QAAQ,EACb,CAAC,CAAC,EAAE;;YACF,IAAI,KAAwB,CAAC;YAC7B,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,KAAK,GAAG,MAAA,MAAA,CAAC,CAAC,SAAS,EAAE,0CAAE,MAAM,0CAAG,KAAK,CAAC,CAAC;aACxC;iBAAM;gBACL,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;oBAC7B,KAAK,GAAI,CAAsB,CAAC,OAAO;wBACrC,CAAC,CAAC,CAAC,GAAI,CAAsB,CAAC,MAAM,EAAG,CAAsB,CAAC,OAAO,CAAC;wBACtE,CAAC,CAAE,CAAsB,CAAC,MAAM,CAAC;iBACpC;qBAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;oBACpC,KAAK,GAAI,CAAsB,CAAC,MAAM,CAAC;iBACxC;qBAAM;oBACL,KAAK,GAAI,CAAsB,CAAC,MAAM,CAAC;iBACxC;aACF;YACD,KAAK,GAAG,CAAC,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAa,CAAC;YACvG,IAAI,CAAC,KAAK,EAAE;gBACV,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,MAAM,UAAU,GAAG,MAAA,CAAC,CAAC,qBAAqB,iDAAI,CAAC;YAC/C,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;oBAChB,IAAI,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,0CAAG,CAAC,CAAC,EAAE;wBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;qBACrC;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EACD;YACE,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,iBAAiB;QACzB,IAAA,iBAAU,EACR,IAAI,CAAC,QAAQ,EACb,CAAC,CAAC,EAAE;YACF,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;gBAC5B,CAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC3D;iBAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;gBACnC,CAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC3D;iBAAM,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;gBACnC,CAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC3D;QACH,CAAC,EACD;YACE,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,CACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,GAAoB;QACzC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;QAEnB,IAAI,IAAA,oBAAa,EAAC,CAAC,CAAC,EAAE;YACpB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;SACnE;QACD,IAAI,IAAA,oBAAa,EAAC,CAAC,CAAC,EAAE;YACpB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;SACnE;QACD,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,mBAAmB,CAAC,IAAiB;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,MAAM,CAAC;SACf;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;QAClH,QAAQ,IAAI,CAAC,aAAa,EAAE;YAC1B,KAAK,MAAM;gBACT,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,oCAAyB,EAAE;oBAChE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,oCAAyB,EAAE;oBAChE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9C;gBACD,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,oCAAyB,EAAE;oBACjE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,oCAAyB,EAAE;oBACjE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C;gBACD,MAAM;YACR;gBACE,MAAM;SACT;QACD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAMD,aAAa,CAAC,IAAiB;QAC7B,IAAI,MAAM,GAAgB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,MAAM,CAAC;SACf;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE/E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,GAAG;gBACD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACvB,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpG,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACvB,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;SACR;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,aAAa,CAAC,sBAAsB,CACvD,IAAA,gBAAS,oBAAM,IAAI,CAAC,mBAAmB,EAAE,GAAI,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CACrE,CAAC;YACF,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE;gBAGlC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;aACnC;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;QAED,MAAM,KAAgD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAA/E,EAAE,IAAI,EAAE,eAAe,OAAwD,EAAnD,eAAe,cAA3C,QAA6C,CAAkC,CAAC;QACtF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAA,gBAAS,oBAAM,IAAI,CAAC,mBAAmB,EAAE,GAAI,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACjG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAChD,WAAW,CAAC,MAAM,CAAC,IAAA,gBAAS,oBAAM,IAAI,CAAC,mBAAmB,EAAE,GAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;SAC9G;QAED,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,GAAY;;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,IAAA,YAAK,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,0CAAE,YAAY,CAAC,EAAE;YAC3E,MAAM,KAAK,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,mCAAI,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,mCAAI,CAAC,CAAC;YACjF,IAAI,GAAG,EAAE;gBACP,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAG3C,OAAO,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;aACtD;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAG3C,OAAO,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;SACvD;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,UAAmB;;QAE7C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC5D,IAAI,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;YACnD,IAAI,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAEpD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACnD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBAEjD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;aACnC;YACD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACrC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;SACrC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,EAAE;YACP,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,UAAU,GAAG,YAAY,CAAC;YAC1B,UAAU,GAAG,KAAK,CAAC;SACpB;aAAM,IAAI,GAAG,EAAE;YACd,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;YAC1B,UAAU,GAAG,WAAW,CAAC;YACzB,UAAU,GAAG,MAAM,CAAC;SACrB;QACD,IAAI,GAAG,EAAE;YACP,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,KAAK,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,YAAY,KAAK,KAAK,EAAE;gBAC1B,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC5B,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACrB;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,SAAS,GAAQ;gBACrB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACrB,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;gBACvB,CAAC,EAAE,CAAC;gBACJ,KAAK;gBACL,QAAQ;gBACR,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc;oBAClD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;iBACnC;gBACD,KAAK;aACN,CAAC;YACF,IAAI,CAAC,UAAU,EAAE;gBACf,SAAS,CAAC,IAAI,GAAG;oBACf,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;oBACrB,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;oBACvB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACf,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc;oBAC9C,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,YAAY;oBACpB,CAAC,EAAE,CAAC;oBACJ,KAAK;oBACL,QAAQ;iBACT,CAAC;aACH;YACD,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7D,IACE,CAAC,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,iCAAsB,CAAC;YACnE,CAAC,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,iCAAsB,CAAC,EAClE;YACA,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC3C;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAQ;YACjB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACrB,GAAG;YACH,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc;gBAClD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;aACnC;YACD,KAAK;YACL,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,eAAe;SAChB,CAAC;QACF,IAAI,CAAC,UAAU,EAAE;YACf,KAAK,CAAC,IAAI,GAAG;gBACX,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACrB,GAAG;gBACH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc;gBAC9C,KAAK;gBACL,MAAM,EAAE,UAAU;aACnB,CAAC;SACH;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAES,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,EAAE;YAEhB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAU,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAEzD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAU,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IA4DS,sBAAsB,CAAC,IAAiB;QAChD,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QAGH,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAClF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aAChF;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,YAAY;QAEV,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAES,cAAc;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAA,yBAAgB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,KAAK,iBAAS,CAAC,UAAU,CAAC,CAAC;IAClG,CAAC;IAEO,eAAe,CAAC,MAAe,EAAE,GAAY;;QACnD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,IAAI,GAAG,CAAC;YACR,IAAI,aAAkB,CAAC;YACvB,IAAI,GAAG,EAAE;gBACP,GAAG,GAAG;oBACJ,CAAC,EAAE,MAAM,CAAC,EAAE;oBACZ,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBAChC,CAAC;gBACF,aAAa,GAAG;oBACd,SAAS,EAAE,MAAM;oBACjB,YAAY,EAAE,QAAQ;iBACvB,CAAC;aACH;iBAAM;gBACL,GAAG,GAAG;oBACJ,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBAC/B,CAAC,EAAE,MAAM,CAAC,EAAE;iBACb,CAAC;gBACF,aAAa,GAAG;oBACd,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACrD,YAAY,EAAE,QAAQ;iBACvB,CAAC;aACH;YAED,aAAa,iDACR,aAAa,GACb,KAAK,KACR,CAAC,EAAE,GAAG,CAAC,CAAC,EACR,CAAC,EAAE,GAAG,CAAC,CAAC,EACR,IAAI,GACL,CAAC;YACF,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAA,yBAAU,EAAC,aAAa,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;gBAClC,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;YAGD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7C,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;iBAAM;gBACL,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;;AAp2BH,sCAq2BC;AAj2BQ,kBAAI,GAAG,wBAAiB,CAAC,aAAa,CAAC","file":"axis.js","sourcesContent":["import type { IBounds, IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IEffect, IModelInitOption, ILayoutRect } from '../../../model/interface';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport type { IRegion } from '../../../region/interface';\nimport type { ICartesianAxisCommonSpec, IAxisHelper, ICartesianAxisCommonTheme } from './interface';\nimport { isArray, isValid, isValidNumber, mergeSpec, eachSeries, isNil, isUndefined } from '../../../util';\nimport type { IOrientType } from '../../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../../typings/space';\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport { Factory } from '../../../core/factory';\nimport { autoAxisType, isXAxis, getOrient, isZAxis, isYAxis, transformInverse } from './util/common';\nimport { ChartEvent, DEFAULT_LAYOUT_RECT_LEVEL, LayoutZIndex, USER_LAYOUT_RECT_LEVEL } from '../../../constant';\nimport { LayoutLevel } from '../../../constant/index';\nimport pluginMap from '../../../plugin/components';\nimport type { IPoint, StringOrNumber } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport type { LineAxisAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValidCartesianAxis } from '../util';\nimport type { IAxis, ITick } from '../interface';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { ICartesianTickDataOpt } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '@visactor/vutils-extension';\nimport type { DataSet } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataView } from '@visactor/vdataset';\nimport { CompilableData } from '../../../compile/data/compilable-data';\nimport { AxisComponent } from '../base-axis';\nimport type { IGraphic, IText } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { createText } from '@visactor/vrender-core';\n\nconst CartesianAxisPlugin = [pluginMap.AxisSyncPlugin];\n\nexport abstract class CartesianAxis<T extends ICartesianAxisCommonSpec = ICartesianAxisCommonSpec>\n extends AxisComponent<T>\n implements IAxis\n{\n static type = ComponentTypeEnum.cartesianAxis;\n type = ComponentTypeEnum.cartesianAxis;\n name: string = ComponentTypeEnum.cartesianAxis;\n\n protected readonly _defaultBandPosition = 0.5;\n protected readonly _defaultBandInnerPadding = 0.1;\n protected readonly _defaultBandOuterPadding = 0.3;\n\n // 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n declare directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n\n layoutType: LayoutItem['layoutType'] = 'region-relative';\n layoutZIndex: number = LayoutZIndex.Axis;\n layoutLevel: number = LayoutLevel.Axis;\n\n protected _dataSet: DataSet;\n\n layout3dBox?: { width: number; height: number; length: number };\n\n protected _orient: IOrientType = 'left';\n getOrient() {\n return this._orient;\n }\n\n get layoutOrient() {\n return this._layoutOrient;\n }\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n this._layoutOrient = v;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme;\n\n protected _statisticsDomain: {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n } = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n protected _tick: ITick | undefined = undefined;\n\n private _axisStyle: Partial<LineAxisAttributes>;\n private _latestBounds: IBounds;\n private _verticalLimitSize: number;\n private _unitText: IText;\n\n protected _layoutCache: {\n width: number;\n height: number;\n _lastComputeOutBounds: IBoundsLike;\n } = { width: 0, height: 0, _lastComputeOutBounds: { x1: 0, x2: 0, y1: 0, y2: 0 } };\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._orient = getOrient(spec, ['z']);\n if (isZAxis(this._orient)) {\n this.layoutType = 'absolute';\n }\n isValid(spec.autoIndent) && (this._autoIndent = spec.autoIndent);\n this._layoutOrient = this._orient;\n this._dataSet = options.dataSet;\n }\n\n static createAxis(spec: any, options: IComponentOption, isHorizontal: boolean = false): IAxis {\n const axisType = spec.type ?? autoAxisType(spec.orient, isHorizontal);\n const componentName = `${CartesianAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n return new C(\n {\n ...spec,\n type: axisType\n },\n options\n ) as IAxis;\n }\n options.onError(`Component ${componentName} not found`);\n return null;\n }\n\n static createComponent(spec: any, options: IComponentOption) {\n if (!this.type.startsWith(CartesianAxis.type)) {\n return null;\n }\n const regions = options.getRegionsInIndex();\n if (regions.find(r => r.coordinate !== 'cartesian')) {\n return null;\n }\n let axesSpec = spec[CartesianAxis.specKey] || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n const isHorizontal = spec.direction === Direction.horizontal;\n if (!isArray(axesSpec)) {\n // 如果非法,或者只有一个z轴就不创建\n if (!isValidCartesianAxis(axesSpec)) {\n return null;\n }\n return CartesianAxis.createAxis(axesSpec, options, isHorizontal);\n }\n // 处理spec\n const zAxis = axesSpec.filter(s => s.orient === 'z')[0];\n let valid = true;\n if (zAxis) {\n const xAxis = axesSpec.filter(s => s.orient === 'bottom')[0];\n const yAxis = axesSpec.filter(s => isYAxis(s.orient))[0];\n // 必须有x和y,且x必须是bottom\n valid = axesSpec.length === 3 && xAxis && yAxis;\n }\n if (!valid) {\n axesSpec = axesSpec.filter(s => s.orient !== 'z');\n }\n const axes: IAxis[] = [];\n axesSpec.forEach((s: any, i: any) => {\n if (!isValidCartesianAxis(s)) {\n return;\n }\n axes.push(\n CartesianAxis.createAxis(\n s,\n {\n ...options,\n specIndex: i,\n specKey: CartesianAxis.specKey\n },\n isHorizontal\n ) as IAxis\n );\n });\n return axes;\n }\n\n setLayout3dBox(box3d: { width: number; height: number; length: number }) {\n this.layout3dBox = box3d;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.getOrient())) {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.getOrient())) {\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract valueToPosition(value: any): number;\n\n protected updateScaleRange() {\n let isScaleChange = false;\n const { width, height } = this.getLayoutRect();\n const inverse = this._spec.inverse;\n let newRange: number[] = [];\n if (isXAxis(this.getOrient())) {\n if (isValidNumber(width)) {\n newRange = inverse ? [width, 0] : [0, width];\n }\n } else if (isZAxis(this.getOrient())) {\n if (isValidNumber(width)) {\n newRange = inverse ? [width, 0] : [0, width];\n this._scale.range(newRange);\n }\n } else {\n if (isValidNumber(height)) {\n newRange = inverse ? [0, height] : [height, 0];\n }\n }\n\n const [start, end] = this._scale.range();\n if (newRange[0] !== start || newRange[1] !== end) {\n isScaleChange = true;\n this._scale.range(newRange);\n }\n\n return isScaleChange;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this.pluginService?.load(CartesianAxisPlugin.map(P => new P()));\n this.callPlugin(plugin => {\n this.pluginService && plugin.onInit && plugin.onInit(this.pluginService, this);\n });\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this.visible) {\n const isX = isXAxis(this.getOrient());\n if (isX) {\n if (isUndefined(this._spec.maxHeight)) {\n this._spec.maxHeight = '30%';\n }\n } else if (isUndefined(this._spec.maxWidth)) {\n this._spec.maxWidth = '30%';\n }\n\n const axisStyle: any = this._getAxisAttributes();\n axisStyle.label.formatMethod = this.getLabelFormatMethod();\n axisStyle.verticalFactor = this.getOrient() === 'top' || this.getOrient() === 'right' ? -1 : 1;\n this._axisStyle = axisStyle;\n }\n this._tick = this._spec.tick;\n }\n\n protected getSeriesStatisticsField(s: ICartesianSeries) {\n let f: string[];\n if (isXAxis(this.getOrient())) {\n f = s.fieldX;\n } else if (isZAxis(this.getOrient())) {\n f = s.fieldZ;\n } else {\n f = s.fieldY;\n }\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected _initTickData(sampling: boolean) {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n\n const label = this._spec.label || {};\n const tick = this._tick || {};\n const tickData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_ticks` })\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling,\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n\n this._tickData = new CompilableData(this._option, tickData);\n }\n\n protected _initData() {\n this._initTickData(this._spec.sampling !== false); // default do sampling\n }\n\n protected axisHelper(): IAxisHelper {\n const getScale = (depth: number = 0) => {\n return this._scales[depth];\n };\n return {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n getStatisticsDomain: () => this.getStatisticsDomain(),\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._spec.inverse === true\n };\n }\n\n /** LifeCycle API**/\n afterCompile() {\n const product = this._axisMark?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n // 插件在布局后\n if (isXAxis(this.getOrient())) {\n this.callPlugin(plugin => {\n this.pluginService &&\n plugin.onDidLayoutHorizontal &&\n plugin.onDidLayoutHorizontal(this.pluginService, this);\n });\n } else {\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidLayoutVertical && plugin.onDidLayoutVertical(this.pluginService, this);\n });\n }\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n\n // 更新单位的显示位置\n if (this._unitText) {\n const bounds = product.graphicItem.AABBBounds;\n const pos = isXAxis(this._orient)\n ? {\n x: bounds.x2,\n y: this.getLayoutStartPoint().y\n }\n : {\n x: this.getLayoutStartPoint().x,\n y: bounds.y1\n };\n\n this._unitText.setAttributes(pos);\n }\n }\n });\n }\n this.callPlugin(plugin => {\n this.pluginService && plugin.onDidCompile && plugin.onDidCompile(this.pluginService, this);\n });\n }\n\n onLayoutEnd(ctx: any): void {\n const isRangeChange = this.updateScaleRange();\n if (isRangeChange) {\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\n // 这里会执行 computeData ,会执行系列scale更新\n } else {\n this.updateSeriesScale();\n }\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n protected collectScale() {\n const scales: IBaseScale[] = [];\n eachSeries(\n this._regions,\n s => {\n scales.push(\n this.getOrient() === 'left' || this.getOrient() === 'right'\n ? (s as ICartesianSeries).scaleY\n : (s as ICartesianSeries).scaleX\n );\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return scales;\n }\n\n protected collectData(depth?: number) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n if (isXAxis(this.getOrient())) {\n field = (s as ICartesianSeries).fieldX2\n ? [...(s as ICartesianSeries).fieldX, (s as ICartesianSeries).fieldX2]\n : (s as ICartesianSeries).fieldX;\n } else if (isZAxis(this.getOrient())) {\n field = (s as ICartesianSeries).fieldZ;\n } else {\n field = (s as ICartesianSeries).fieldY;\n }\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n const seriesData = s.getViewDataStatistics?.();\n if (field) {\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected updateSeriesScale() {\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleX(this._scale);\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else if (isYAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleY(this._scale);\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n } else if (isZAxis(this.getOrient())) {\n (s as ICartesianSeries).setScaleZ(this._scale);\n (s as ICartesianSeries).setZAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n let { x, y } = pos;\n\n if (isValidNumber(x)) {\n x += Number(this._orient === 'left') * this.getLayoutRect().width;\n }\n if (isValidNumber(y)) {\n y += Number(this._orient === 'top') * this.getLayoutRect().height;\n }\n super.setLayoutStartPosition({ x, y });\n }\n\n computeBoundsInRect(rect: ILayoutRect) {\n const result = super.computeBoundsInRect(rect);\n if (!this._visible) {\n return result;\n }\n const bounds = this._latestBounds.clone().translate(-this.getLayoutStartPoint().x, -this.getLayoutStartPoint().y);\n switch (this._layoutOrient) {\n case 'left':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x1 < 0 ? -bounds.x1 : 0;\n }\n break;\n case 'right':\n if (this._layoutRectLevelMap.width === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.width = bounds.x2 > 0 ? bounds.x2 : 0;\n }\n break;\n case 'top':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y1 < 0 ? -bounds.y1 : 0;\n }\n break;\n case 'bottom':\n if (this._layoutRectLevelMap.height === DEFAULT_LAYOUT_RECT_LEVEL) {\n result.height = bounds.y2 > 0 ? bounds.y2 : 0;\n }\n break;\n default:\n break;\n }\n result.width = Math.ceil(result.width);\n result.height = Math.ceil(result.height);\n // because of changed width\\height, reset result in spec configuration.\n return this._setRectInSpec(this._layoutCacheProcessing(result));\n }\n /**\n * bounds 预计算\n * @param rect\n * @returns\n */\n _boundsInRect(rect: ILayoutRect): IBoundsLike {\n let result: IBoundsLike = { x1: 0, y1: 0, x2: 0, y2: 0 };\n if (!this._visible) {\n return result;\n }\n this._verticalLimitSize = isXAxis(this.getOrient()) ? rect.height : rect.width;\n\n this.setLayoutRect(rect);\n this.updateScaleRange();\n this.computeData();\n const context = { skipLayout: false };\n const isX = isXAxis(this.getOrient());\n if (this.pluginService) {\n isX\n ? this.callPlugin(plugin => {\n plugin.onWillLayoutHorizontal && plugin.onWillLayoutHorizontal(this.pluginService, context, this);\n })\n : this.callPlugin(plugin => {\n plugin.onWillLayoutVertical && plugin.onWillLayoutVertical(this.pluginService, context, this);\n });\n }\n const product = this._axisMark.getProduct();\n this._latestBounds = product.getBounds();\n if (!context.skipLayout) {\n const attrs = this._getUpdateAttribute(true);\n const axisComponent = product.getGroupGraphicItem();\n const updateBounds = axisComponent.getBoundsWithoutRender(\n mergeSpec({ ...this.getLayoutStartPoint() }, this._axisStyle, attrs)\n );\n if (isFinite(updateBounds.width())) {\n // 因为轴单位在某些区域显示的时候,是不参与轴某个方向的包围盒计算的,\n // 所以不太合适放在轴组件内支持,所以就在 VChart 层的轴组件上通过添加 text 图元支持\n result = this._appendAxisUnit(updateBounds, isX);\n this._latestBounds = updateBounds;\n }\n }\n return result;\n }\n\n updateLayoutAttribute(): void {\n if (!this.visible) {\n return;\n }\n // 正式的更新布局属性\n const { grid: updateGridAttrs, ...updateAxisAttrs } = this._getUpdateAttribute(false);\n const axisProduct = this._axisMark.getProduct(); // 获取语法元素\n const axisAttrs = mergeSpec({ ...this.getLayoutStartPoint() }, this._axisStyle, updateAxisAttrs);\n axisProduct.encode(axisAttrs);\n\n if (this._gridMark) {\n const gridProduct = this._gridMark.getProduct(); // 获取语法元素\n gridProduct.encode(mergeSpec({ ...this.getLayoutStartPoint() }, this._getGridAttributes(), updateGridAttrs));\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getTitleLimit(isX: boolean) {\n if (this._spec.title.visible && isNil(this._spec.title.style?.maxLineWidth)) {\n const angle = this._axisStyle.title?.angle ?? this._spec.title.style?.angle ?? 0;\n if (isX) {\n const width = this.getLayoutRect().width;\n const cosValue = Math.abs(Math.cos(angle));\n // VRender 接收到的limit是考虑角度计算后的宽度\n // TODO:还需要考虑angle后,高度是否太高,综合计算一个limit,比如高度不能超过图表整体高度的1/4\n return cosValue < 1e-6 ? Infinity : width / cosValue;\n }\n const height = this.getLayoutRect().height;\n const sinValue = Math.abs(Math.sin(angle));\n\n // TODO:还需要考虑angle后,宽度是否太宽,综合计算一个limit,比如宽度度不能超过图表整体宽度的1/4\n return sinValue < 1e-6 ? Infinity : height / sinValue;\n }\n\n return null;\n }\n\n private _getUpdateAttribute(ignoreGrid: boolean) {\n // 获取更新的坐标轴属性\n let regionHeight = 0;\n let regionWidth = 0;\n\n if (!ignoreGrid) {\n const regions = this.getRegions();\n let { x: minX, y: minY } = regions[0].getLayoutStartPoint();\n let maxX = minX + regions[0].getLayoutRect().width;\n let maxY = minY + regions[0].getLayoutRect().height;\n\n for (let index = 1; index < regions.length; index++) {\n const region = regions[index];\n const { x, y } = region.getLayoutStartPoint();\n const { width, height } = region.getLayoutRect();\n\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, width + x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, height + y);\n }\n regionHeight = Math.abs(maxY - minY);\n regionWidth = Math.abs(maxX - minX);\n }\n\n const { width, height } = this.getLayoutRect();\n const isX = isXAxis(this._orient);\n const isY = isYAxis(this._orient);\n const isZ = isZAxis(this._orient);\n let end = { x: 0, y: 0 };\n let gridLength = 0;\n let axisLength = 0;\n const depth = this.layout3dBox ? this.layout3dBox.length : 0;\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n if (isZ) {\n const directionStr = this.directionStr ?? 'r2l';\n const depthZ = this.layout3dBox ? this.layout3dBox.width : 0;\n let anchor3d = [0, 0];\n let alpha = -Math.PI / 2;\n let z = 0;\n if (directionStr === 'l2r') {\n z = this.layout3dBox.length;\n anchor3d = [0, 0, 0];\n alpha = Math.PI / 2;\n }\n const items = this.getLabelItems(width);\n const axisAttrs: any = {\n start: { x: 0, y: 0 },\n end: { x: depth, y: 0 },\n z: z,\n alpha,\n anchor3d,\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items\n };\n if (!ignoreGrid) {\n axisAttrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end: { x: depth, y: 0 },\n items: items[0],\n verticalFactor: this._axisStyle.verticalFactor,\n depth: depthZ,\n length: regionHeight,\n z: z,\n alpha,\n anchor3d\n };\n }\n return axisAttrs;\n }\n let verticalMinSize = isX ? this._minHeight : this._minWidth;\n if (\n (isX && this._layoutRectLevelMap.height === USER_LAYOUT_RECT_LEVEL) ||\n (isY && this._layoutRectLevelMap.width === USER_LAYOUT_RECT_LEVEL)\n ) {\n verticalMinSize = this._verticalLimitSize;\n }\n const items = this.getLabelItems(axisLength);\n const attrs: any = {\n start: { x: 0, y: 0 },\n end,\n title: {\n text: this._spec.title.text || this._dataFieldText,\n maxWidth: this._getTitleLimit(isX)\n },\n items,\n verticalLimitSize: this._verticalLimitSize,\n verticalMinSize\n };\n if (!ignoreGrid) {\n attrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end,\n items: items[0],\n verticalFactor: this._axisStyle.verticalFactor,\n depth,\n length: gridLength\n };\n }\n\n return attrs;\n }\n\n protected initEvent() {\n super.initEvent();\n\n if (this.visible) {\n // 布局结束之后处理 0 基线问题\n this.event.on(ChartEvent.layoutEnd, this._fixAxisOnZero);\n // 图表resize后,需要正常布局,清除布局缓存\n this.event.on(ChartEvent.layoutRectUpdate, () => {\n this._clearLayoutCache();\n });\n }\n }\n\n private _fixAxisOnZero = () => {\n // 在布局结束之后调整坐标轴零基线\n const { onZero, visible } = this._spec.domainLine;\n if (this.visible && onZero && visible !== false) {\n const { onZeroAxisId, onZeroAxisIndex } = this._spec.domainLine;\n const axesComponents = this._option.getComponentsByKey('axes') as IAxis[];\n const isX = isXAxis(this.getOrient());\n\n // 判断坐标轴是否可用\n const isValidAxis = (item: any) => {\n return (\n (isX ? !isXAxis(item.orient) : isXAxis(item.orient)) &&\n isContinuous(item.getScale().type) &&\n item\n .getTickData()\n .getLatestData()\n ?.find((d: any) => d.value === 0)\n );\n };\n const relativeAxes = axesComponents.filter(item => isValidAxis(item));\n if (relativeAxes.length) {\n let bindAxis;\n if (isValid(onZeroAxisId)) {\n bindAxis = relativeAxes.find(axis => axis.id === onZeroAxisId);\n } else if (isValid(onZeroAxisIndex)) {\n const indexAxis = axesComponents[onZeroAxisIndex];\n if (isValidAxis(indexAxis)) {\n bindAxis = indexAxis;\n }\n } else {\n // 默认绑定第一条的相对坐标轴\n bindAxis = relativeAxes[0];\n }\n if (bindAxis) {\n const axisMark = this._axisMark.getProduct();\n // 找到了绑定的 axis,获取基线的位置\n const position = bindAxis.valueToPosition(0);\n // 获取偏移量\n if (isX) {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dy: this._orient === 'bottom' ? -(bindAxis.getScale().range()[0] - position) : position\n }\n });\n } else {\n axisMark.encode({\n line: {\n ...this._axisStyle.line,\n dx: this._orient === 'left' ? position : -(bindAxis.getScale().range()[1] - position)\n }\n });\n }\n }\n }\n }\n };\n\n protected _layoutCacheProcessing(rect: ILayoutRect) {\n ['width', 'height'].forEach(key => {\n if (rect[key] < this._layoutCache[key]) {\n rect[key] = this._layoutCache[key];\n } else {\n this._layoutCache[key] = rect[key];\n }\n });\n\n // outBounds\n ['x1', 'x2', 'y1', 'y2'].forEach(key => {\n if (this._lastComputeOutBounds[key] < this._layoutCache._lastComputeOutBounds[key]) {\n this._lastComputeOutBounds[key] = this._layoutCache._lastComputeOutBounds[key];\n } else {\n this._layoutCache._lastComputeOutBounds[key] = this._lastComputeOutBounds[key];\n }\n });\n\n return rect;\n }\n\n _clearLayoutCache() {\n this._layoutCache.width = 0;\n this._layoutCache.height = 0;\n this._layoutCache._lastComputeOutBounds = { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n onDataUpdate(): void {\n // clear layout cache\n this._clearLayoutCache();\n }\n\n protected _transformSpec() {\n // change spec by default logic\n const chartSpec = this._option.getChart().getSpec();\n this._spec.inverse = transformInverse(this._spec, chartSpec.direction === Direction.horizontal);\n }\n\n private _appendAxisUnit(bounds: IBounds, isX: boolean) {\n if (this._spec.unit && this._spec.unit.visible) {\n const { text, style } = this._spec.unit;\n let pos;\n let unitTextStyle: any;\n if (isX) {\n pos = {\n x: bounds.x2,\n y: this.getLayoutStartPoint().y\n };\n unitTextStyle = {\n textAlign: 'left',\n textBaseline: 'middle'\n };\n } else {\n pos = {\n x: this.getLayoutStartPoint().x,\n y: bounds.y1\n };\n unitTextStyle = {\n textAlign: this._orient === 'left' ? 'left' : 'right',\n textBaseline: 'bottom'\n };\n }\n\n unitTextStyle = {\n ...unitTextStyle,\n ...style,\n x: pos.x,\n y: pos.y,\n text\n };\n if (this._unitText) {\n this._unitText.setAttributes(unitTextStyle);\n } else {\n this._unitText = createText(unitTextStyle);\n this._unitText.name = 'axis-unit';\n this.getContainer()?.add(this._unitText);\n }\n\n // 左轴\n const textBounds = this._unitText.AABBBounds;\n if (!isX) {\n bounds.x1 += textBounds.x1 < bounds.x1 ? textBounds.x1 - bounds.x1 : 0;\n bounds.y1 += textBounds.y1 < bounds.y1 ? textBounds.y1 - bounds.y1 : 0;\n } else {\n bounds.x2 += textBounds.x2 > bounds.x2 ? textBounds.x2 - bounds.x2 : 0;\n bounds.y2 += textBounds.y2 > bounds.y2 ? textBounds.y2 - bounds.y2 : 0;\n }\n }\n\n return bounds;\n }\n\n getVRenderComponents(): IGraphic[] {\n return this._unitText ? [this._unitText] : [];\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BandScale } from '@visactor/vscale';
|
|
2
2
|
import { CartesianAxis } from './axis';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ICartesianBandAxisSpec } from './interface';
|
|
4
4
|
import { ComponentTypeEnum } from '../../interface';
|
|
5
5
|
import { BandAxisMixin } from '../mixin/band-axis-mixin';
|
|
6
6
|
import type { StringOrNumber } from '../../../typings';
|
|
@@ -20,7 +20,7 @@ export declare class CartesianBandAxis<T extends ICartesianBandAxisSpec = ICarte
|
|
|
20
20
|
protected initScales(): void;
|
|
21
21
|
protected axisHelper(): {
|
|
22
22
|
isContinuous: boolean;
|
|
23
|
-
dataToPosition: (values: any[]
|
|
23
|
+
dataToPosition: (values: any[]) => number;
|
|
24
24
|
getScale: (depth: number) => BandScale;
|
|
25
25
|
getBandwidth: (depth: number) => number;
|
|
26
26
|
getStatisticsDomain: () => {
|
|
@@ -34,7 +34,6 @@ export declare class CartesianBandAxis<T extends ICartesianBandAxisSpec = ICarte
|
|
|
34
34
|
getAxisId: () => number;
|
|
35
35
|
isInverse: () => boolean;
|
|
36
36
|
};
|
|
37
|
-
dataToPosition(values: any[], cfg?: IAxisLocationCfg): number;
|
|
38
37
|
transformScaleDomain(): void;
|
|
39
38
|
updateFixedWholeLength(): void;
|
|
40
39
|
}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerCartesianBandAxis = exports.CartesianBandAxis = void 0;
|
|
6
6
|
|
|
7
|
-
const vscale_1 = require("@visactor/vscale"), axis_1 = require("./axis"),
|
|
7
|
+
const vscale_1 = require("@visactor/vscale"), axis_1 = require("./axis"), interface_1 = require("../../interface"), vutils_1 = require("@visactor/vutils"), band_axis_mixin_1 = require("../mixin/band-axis-mixin"), factory_1 = require("../../../core/factory"), base_axis_1 = require("../base-axis"), common_1 = require("./util/common");
|
|
8
8
|
|
|
9
9
|
class CartesianBandAxis extends axis_1.CartesianAxis {
|
|
10
10
|
constructor() {
|
|
@@ -19,7 +19,7 @@ class CartesianBandAxis extends axis_1.CartesianAxis {
|
|
|
19
19
|
return this.updateGroupScaleRange(), isChanged;
|
|
20
20
|
}
|
|
21
21
|
initScales() {
|
|
22
|
-
super.initScales(), this.calcScales(
|
|
22
|
+
super.initScales(), this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);
|
|
23
23
|
}
|
|
24
24
|
axisHelper() {
|
|
25
25
|
const getScale = depth => this._scales[depth];
|
|
@@ -34,12 +34,6 @@ class CartesianBandAxis extends axis_1.CartesianAxis {
|
|
|
34
34
|
isInverse: () => this._spec.inverse
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
dataToPosition(values, cfg = {}) {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
if (0 === values.length || 0 === this._scales.length) return 0;
|
|
40
|
-
const {position: position, bandScale: bandScale} = this.getPosition(values);
|
|
41
|
-
return position + bandScale.bandwidth() * (null !== (_b = null !== (_a = cfg.bandPosition) && void 0 !== _a ? _a : this.getSpec().bandPosition) && void 0 !== _b ? _b : config_1.DEFAULT_BAND_POSITION);
|
|
42
|
-
}
|
|
43
37
|
transformScaleDomain() {
|
|
44
38
|
this.updateFixedWholeLength();
|
|
45
39
|
}
|
|
@@ -48,7 +42,7 @@ class CartesianBandAxis extends axis_1.CartesianAxis {
|
|
|
48
42
|
if (this._scale && (this._spec.bandSize && this._scale.bandwidth(this._spec.bandSize),
|
|
49
43
|
this._spec.maxBandSize && this._scale.maxBandwidth(this._spec.maxBandSize), this._spec.minBandSize && this._scale.minBandwidth(this._spec.minBandSize),
|
|
50
44
|
this._scale.isBandwidthFixed() && this._spec.autoRegionSize && (this._spec.bandSize || this._spec.maxBandSize))) {
|
|
51
|
-
const rangeSize = (0,
|
|
45
|
+
const rangeSize = (0, common_1.scaleWholeRangeSize)(this._scale.domain().length, null !== (_a = this._spec.bandSize) && void 0 !== _a ? _a : this._spec.maxBandSize, this._scale.paddingInner(), this._scale.paddingOuter());
|
|
52
46
|
[ "bottom", "top" ].includes(this._orient) ? this._regions.forEach((region => region.setMaxWidth(rangeSize))) : [ "left", "right" ].includes(this._orient) && this._regions.forEach((region => region.setMaxHeight(rangeSize)));
|
|
53
47
|
}
|
|
54
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/band-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,iCAAuC;
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/band-axis.ts"],"names":[],"mappings":"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","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport type { ICartesianBandAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { scaleWholeRangeSize } from './util/common';\n\nexport interface CartesianBandAxis<T extends ICartesianBandAxisSpec = ICartesianBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianBandAxis<T extends ICartesianBandAxisSpec = ICartesianBandAxisSpec> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianBandAxis;\n type = ComponentTypeEnum.cartesianBandAxis;\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n protected updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n const getBandwidth = (depth: number) => {\n return getScale(depth).bandwidth();\n };\n\n return {\n isContinuous: false,\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n getBandwidth,\n getStatisticsDomain: () => this.getStatisticsDomain(),\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._spec.inverse\n };\n }\n\n transformScaleDomain() {\n this.updateFixedWholeLength();\n }\n\n updateFixedWholeLength() {\n if (this._scale) {\n if (this._spec.bandSize) {\n this._scale.bandwidth(this._spec.bandSize);\n }\n if (this._spec.maxBandSize) {\n this._scale.maxBandwidth(this._spec.maxBandSize);\n }\n if (this._spec.minBandSize) {\n this._scale.minBandwidth(this._spec.minBandSize);\n }\n // 更改 region 最大大小\n if (\n this._scale.isBandwidthFixed() &&\n this._spec.autoRegionSize &&\n (this._spec.bandSize || this._spec.maxBandSize)\n ) {\n const rangeSize = scaleWholeRangeSize(\n this._scale.domain().length,\n this._spec.bandSize ?? this._spec.maxBandSize,\n this._scale.paddingInner(),\n this._scale.paddingOuter()\n );\n if (['bottom', 'top'].includes(this._orient)) {\n this._regions.forEach(region => region.setMaxWidth(rangeSize));\n } else if (['left', 'right'].includes(this._orient)) {\n this._regions.forEach(region => region.setMaxHeight(rangeSize));\n }\n }\n }\n }\n}\n\nmixin(CartesianBandAxis, BandAxisMixin);\n\nexport const registerCartesianBandAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianBandAxis.type, CartesianBandAxis);\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SegmentAttributes, AxisLabelOverlap } from '@visactor/vrender-components';
|
|
2
2
|
import type { IBaseScale } from '@visactor/vscale';
|
|
3
|
-
import type { IAxis, IDomainLine, ILabel, ITickCallbackOption, ITitle } from '../../interface';
|
|
4
|
-
import type {
|
|
3
|
+
import type { IAxis, IAxisLocationCfg, IDomainLine, ILabel, ITickCallbackOption, ITitle } from '../../interface';
|
|
4
|
+
import type { ITextMarkSpec, StringOrNumber } from '../../../../typings';
|
|
5
5
|
export type ICartesianDomainLineSpec = {
|
|
6
6
|
startSymbol?: SegmentAttributes['startSymbol'];
|
|
7
7
|
endSymbol?: SegmentAttributes['endSymbol'];
|
|
@@ -42,10 +42,6 @@ export interface IAxisHelper {
|
|
|
42
42
|
isInverse: () => boolean;
|
|
43
43
|
getFields?: () => string[];
|
|
44
44
|
}
|
|
45
|
-
export interface IAxisLocationCfg {
|
|
46
|
-
bandPosition?: number;
|
|
47
|
-
datum?: Datum;
|
|
48
|
-
}
|
|
49
45
|
export interface ITimeLayerType {
|
|
50
46
|
tickStep?: number;
|
|
51
47
|
timeFormat?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { SegmentAttributes, AxisLabelOverlap } from '@visactor/vrender-components';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxis, IDomainLine, ILabel, ITickCallbackOption, ITitle } from '../../interface';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { SegmentAttributes, AxisLabelOverlap } from '@visactor/vrender-components';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxis, IAxisLocationCfg, IDomainLine, ILabel, ITickCallbackOption, ITitle } from '../../interface';\nimport type { ITextMarkSpec, StringOrNumber } from '../../../../typings';\n\nexport type ICartesianDomainLineSpec = {\n startSymbol?: SegmentAttributes['startSymbol'];\n endSymbol?: SegmentAttributes['endSymbol'];\n // /**\n // * TODO: 待支持\n // * 坐标轴截断范围,当需要对坐标轴轴线截断时,可配置该属性\n // */\n // breakRange?: [number, number];\n // /**\n // * TODO: 待支持\n // * 截断区域的形状\n // */\n // breakShape?: SymbolType | [SymbolType, SymbolType];\n // /**\n // * TODO: 待支持\n // * 截断图形样式\n // */\n // breakShapeStyle?: Partial<IAttribute>;\n /**\n * X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上,只有在另一个轴为数值轴且包含 0 刻度时有效。\n * 默认为 false,交由用户按需打开\n */\n onZero?: boolean;\n /**\n * 当有多轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。\n * Tips: 该索引对应所有轴的 index\n */\n onZeroAxisIndex?: number;\n /**\n * 当有多轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。\n */\n onZeroAxisId?: StringOrNumber;\n};\nexport type ICartesianDomainLine = IDomainLine & ICartesianDomainLineSpec;\n\nexport type ICartesianTitle = ITitle & {\n /**\n * 标题是否根据轴方向自动渲染,生效于左右纵轴。\n * 默认为 true,表现为左轴标题整体旋转 -90 度,右轴标题整体旋转为 90 度。\n * **如果需要单独在 `textStyle` 中配置文本的 angle 的话,建议将该属性设置为 false。**\n * @default true\n */\n autoRotate?: boolean;\n /**\n * 标题朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n};\n\nexport type ICartesianLabel = ILabel & {\n /**\n * If labels at the beginning or end of the axis should be aligned flush with the scale range.\n * 坐标轴首尾文字向内收缩\n * @default false\n */\n flush?: boolean;\n // /**\n // * 第一个坐标轴文字是否显示。默认根据标签重叠策略自动判定。\n // * @default null\n // */\n // firstVisible?: boolean | null;\n /**\n * `sampling` 开启时生效。\n * 最后一个坐标轴文字是否显示。默认根据标签重叠策略自动判定。\n * @default null\n */\n lastVisible?: boolean | null;\n /**\n * label 相对于容器整体的对齐方式\n * - `top`:整体向上对齐(垂直方向)\n * - `middle`:整体居中对齐(垂直方向)\n * - `bottom`:整体向下对齐(垂直方向)\n * - `left`:整体向左对齐(水平方向)\n * - `center`:整体居中对齐(水平方向)\n * - `right`:整体向右对齐(水平方向)\n * @since 1.3.0\n */\n containerAlign?: 'left' | 'right' | 'center' | 'top' | 'bottom' | 'middle';\n} & AxisLabelOverlap;\n\nexport interface ILinearAxis extends IAxis {\n readonly zero: boolean;\n readonly nice: boolean;\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain: (key: string, value: number | undefined) => void;\n}\n\nexport interface IAxisHelper {\n isContinuous: boolean;\n\n dataToPosition: (values: any[], cfg?: IAxisLocationCfg) => number;\n valueToPosition?: (value: any, cfg?: IAxisLocationCfg) => number;\n getScale?: (depth: number) => IBaseScale;\n getBandwidth?: (depth: number) => number; // band轴特有\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain?: (key: string, value: number | undefined) => void;\n\n // domain 类型是any[]\n getStatisticsDomain?: () => {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n };\n\n getAxisType: () => string;\n\n getAxisId: () => number;\n\n isInverse: () => boolean;\n\n // 在地理坐标系系列中,传递经纬度配置字段\n getFields?: () => string[];\n}\n\nexport interface ITimeLayerType {\n /**\n * tick间隔\n */\n tickStep?: number;\n /**\n * 时间转换格式\n * @default '%Y%m%d'\n */\n timeFormat?: string;\n /**\n * 时间转换模式\n * @default 'local'\n */\n timeFormatMode?: 'utc' | 'local'; // todo: 'iso'\n /**\n * 期望的连续轴tick数量\n * The desired number of ticks draw on linear axis.\n * @default 10\n * @description 建议的tick数量,并不保证结果一定是配置值\n * @since 1.4.0 后支持函数回调方式配置\n */\n tickCount?: number | ((option: ITickCallbackOption) => number);\n /**\n * 强制设置tick数量\n * The exact number of ticks draw on linear axis. Might lead to decimal step.\n * @default 10\n * @description 强制设置的tick数量,可能由于数据范围导致tick值为小数\n */\n forceTickCount?: number;\n}\n\nexport type ICartesianAxisUnit = {\n /**\n * 是否显示坐标轴单位\n */\n visible: boolean;\n\n /**\n * 轴单位名称\n */\n text?: string | number | number[] | string[];\n /**\n * 单位样式\n */\n style?: ITextMarkSpec;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IOrientType, IPadding, IRectMarkSpec, ITextMarkSpec, StringOrNumber } from '../../../../typings';\nimport type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec, IAxisItem } from '../../interface';\nimport type {\n ICartesianDomainLine,\n ICartesianLabel,\n ITimeLayerType,\n ICartesianTitle,\n ICartesianAxisUnit\n} from './common';\nimport type { AxisItemStateStyle } from '@visactor/vrender-components';\n\n/** spec */\nexport type ICartesianAxisSpec =\n | ICartesianLinearAxisSpec\n | ICartesianBandAxisSpec\n | ICartesianTimeAxisSpec\n | ICartesianLogAxisSpec\n | ICartesianSymlogAxisSpec;\n\nexport type ICartesianAxisCommonSpec = ICommonAxisSpec & {\n /** 轴位置 */\n orient: IOrientType;\n /**\n * 网格线配置\n */\n grid?: IGrid;\n /**\n * 子网格线配置\n */\n subGrid?: IGrid;\n /**\n * 轴线配置\n */\n domainLine?: ICartesianDomainLine;\n /**\n * 轴标签配置\n */\n label?: ICartesianLabel;\n /**\n * 轴标题配置\n */\n title?: ICartesianTitle;\n /**\n * 是否进行自动缩进\n * 设置为 true 时,当轴元素超出绘图区会被裁剪时,会对图表增加额外的padding,使轴可以显示完整\n */\n autoIndent?: boolean;\n /**\n * 坐标轴背景配置\n */\n background?: {\n /**\n * 是否绘制坐标轴背景\n * @default false\n */\n visible: boolean;\n /**\n * 背景样式\n */\n style?: Partial<IRectMarkSpec>;\n /**\n * 背景在交互状态下的样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * 是否是3d模式的轴\n */\n mode?: '2d' | '3d';\n /**\n * 轴的z方向深度\n */\n depth?: number;\n /**\n * 轴单位配置,仅支持直角坐标系下的坐标轴\n * @since 1.5.1\n */\n unit?: ICartesianAxisUnit;\n};\n\nexport interface ILinearAxisSync {\n /**\n * 配置参照的轴 id\n */\n axisId: StringOrNumber;\n /**\n * 是否保持 2 个轴的 0 值对齐\n * @default false\n */\n zeroAlign?: boolean;\n /**\n * 是否使这个轴的 tick 与目标轴保持比例对齐\n * @default false\n */\n tickAlign?: boolean;\n}\n\nexport type ICartesianLinearAxisSpec = ICartesianAxisCommonSpec &\n ILinearAxisSpec & {\n sync?: ILinearAxisSync;\n };\n\nexport type ICartesianBandAxisSpec = ICartesianAxisCommonSpec &\n IBandAxisSpec & {\n /**\n * 轴组宽设置\n * @since 1.4.0\n */\n bandSize?: number;\n /**\n * 轴最大组宽设置\n * @since 1.4.0\n */\n maxBandSize?: number;\n /**\n * 轴最小组宽设置\n * @since 1.4.0\n */\n minBandSize?: number;\n /**\n * 是否根据组宽自动计算 region 宽度或高度,仅当 `bandSize` 或 `maxBandSize` 配置时生效\n * @since 1.4.0\n */\n autoRegionSize?: boolean;\n };\n\nexport type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> & {\n /**\n * 轴的层级配置。\n * layer[0] 为主轴,即离坐标轴线最近的轴\n * @description 目前仅支持单层 / 双层,即layers.length <= 2\n */\n layers?: ITimeLayerType[];\n};\n\nexport type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n base?: number;\n};\n\nexport type ICartesianSymlogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n constant?: number;\n};\n"]}
|
|
@@ -2,9 +2,9 @@ import type { LogScale } from '@visactor/vscale';
|
|
|
2
2
|
import { LinearScale } from '@visactor/vscale';
|
|
3
3
|
import { CartesianAxis } from './axis';
|
|
4
4
|
import type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';
|
|
5
|
-
import { ComponentTypeEnum } from '../../interface';
|
|
5
|
+
import { ComponentTypeEnum } from '../../interface/type';
|
|
6
6
|
import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
|
|
7
|
-
export interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec> extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'computeLinearDomain' | 'valueToPosition' | 'setScaleNice' | '_domain' | '
|
|
7
|
+
export interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec> extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'computeLinearDomain' | 'valueToPosition' | 'setScaleNice' | '_domain' | 'transformScaleDomain' | 'setExtendDomain'>, CartesianAxis<T> {
|
|
8
8
|
}
|
|
9
9
|
export declare class CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec> extends CartesianAxis<T> {
|
|
10
10
|
static type: ComponentTypeEnum;
|
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerCartesianLinearAxis = exports.CartesianLinearAxis = void 0;
|
|
6
6
|
|
|
7
|
-
const vscale_1 = require("@visactor/vscale"), axis_1 = require("./axis"),
|
|
7
|
+
const vscale_1 = require("@visactor/vscale"), axis_1 = require("./axis"), vutils_1 = require("@visactor/vutils"), type_1 = require("../../interface/type"), linear_axis_mixin_1 = require("../mixin/linear-axis-mixin"), factory_1 = require("../../../core/factory"), base_axis_1 = require("../base-axis");
|
|
8
8
|
|
|
9
9
|
class CartesianLinearAxis extends axis_1.CartesianAxis {
|
|
10
10
|
constructor() {
|
|
11
|
-
super(...arguments), this.type =
|
|
12
|
-
this.
|
|
11
|
+
super(...arguments), this.type = type_1.ComponentTypeEnum.cartesianLinearAxis, this._zero = !0,
|
|
12
|
+
this._nice = !0, this._extend = {}, this._scale = new vscale_1.LinearScale;
|
|
13
13
|
}
|
|
14
14
|
setAttrFromSpec() {
|
|
15
15
|
super.setAttrFromSpec(), this.setExtraAttrFromSpec();
|
|
@@ -18,8 +18,8 @@ class CartesianLinearAxis extends axis_1.CartesianAxis {
|
|
|
18
18
|
var _a, _b;
|
|
19
19
|
super.initScales();
|
|
20
20
|
const range = [ 0, 1 ];
|
|
21
|
-
(0,
|
|
22
|
-
(0,
|
|
21
|
+
(0, vutils_1.isValid)(null === (_a = this._domain) || void 0 === _a ? void 0 : _a.min) && (range[0] = this._domain.min),
|
|
22
|
+
(0, vutils_1.isValid)(null === (_b = this._domain) || void 0 === _b ? void 0 : _b.max) && (range[1] = this._domain.max),
|
|
23
23
|
this._scale.domain(range);
|
|
24
24
|
}
|
|
25
25
|
computeDomain(data) {
|
|
@@ -32,7 +32,7 @@ class CartesianLinearAxis extends axis_1.CartesianAxis {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
exports.CartesianLinearAxis = CartesianLinearAxis, CartesianLinearAxis.type =
|
|
35
|
+
exports.CartesianLinearAxis = CartesianLinearAxis, CartesianLinearAxis.type = type_1.ComponentTypeEnum.cartesianLinearAxis,
|
|
36
36
|
(0, vutils_1.mixin)(CartesianLinearAxis, linear_axis_mixin_1.LinearAxisMixin);
|
|
37
37
|
|
|
38
38
|
const registerCartesianLinearAxis = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":";;;AAEA,6CAA+C;AAC/C,iCAAuC;AACvC,
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":";;;AAEA,6CAA+C;AAC/C,iCAAuC;AACvC,6CAAkD;AAElD,+CAAyD;AACzD,kEAA6D;AAC7D,mDAAgD;AAChD,4CAA4C;AAe5C,MAAa,mBAEX,SAAQ,oBAAgB;IAF1B;;QAIE,SAAI,GAAG,wBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAA2B,IAAI,oBAAW,EAAE,CAAC;IAkC/D,CAAC;IA/BC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAKS,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,IAAA,gBAAO,EAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,IAAA,gBAAO,EAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAgB,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;;AA3CH,kDA4CC;AAzCQ,wBAAI,GAAG,wBAAiB,CAAC,mBAAmB,CAAC;AA2CtD,IAAA,cAAK,EAAC,mBAAmB,EAAE,mCAAe,CAAC,CAAC;AAErC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC3E,CAAC,CAAC;AAHW,QAAA,2BAA2B,+BAGtC","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid, mixin } from '@visactor/vutils';\nimport type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n // this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n\nexport const registerCartesianLinearAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianLinearAxis.type, CartesianLinearAxis);\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CartesianLinearAxis } from './linear-axis';
|
|
2
|
-
import { ComponentTypeEnum } from '../../interface';
|
|
2
|
+
import { ComponentTypeEnum } from '../../interface/type';
|
|
3
3
|
import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
|
|
4
4
|
import { LogScale } from '@visactor/vscale';
|
|
5
5
|
import type { ICartesianLogAxisSpec } from './interface';
|
|
6
|
-
export interface CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends Pick<LinearAxisMixin, 'valueToPosition'
|
|
6
|
+
export interface CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends Pick<LinearAxisMixin, 'valueToPosition'>, CartesianLinearAxis<T> {
|
|
7
7
|
}
|
|
8
8
|
export declare class CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends CartesianLinearAxis<T> {
|
|
9
9
|
static type: ComponentTypeEnum;
|
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerCartesianLogAxis = exports.CartesianLogAxis = void 0;
|
|
6
6
|
|
|
7
|
-
const linear_axis_1 = require("./linear-axis"),
|
|
7
|
+
const linear_axis_1 = require("./linear-axis"), type_1 = require("../../interface/type"), linear_axis_mixin_1 = require("../mixin/linear-axis-mixin"), vscale_1 = require("@visactor/vscale"), vutils_1 = require("@visactor/vutils"), factory_1 = require("../../../core/factory"), base_axis_1 = require("../base-axis");
|
|
8
8
|
|
|
9
9
|
class CartesianLogAxis extends linear_axis_1.CartesianLinearAxis {
|
|
10
10
|
constructor() {
|
|
11
|
-
super(...arguments), this.type =
|
|
12
|
-
this.
|
|
11
|
+
super(...arguments), this.type = type_1.ComponentTypeEnum.cartesianLogAxis, this._zero = !1,
|
|
12
|
+
this._scale = new vscale_1.LogScale;
|
|
13
13
|
}
|
|
14
14
|
initScales() {
|
|
15
15
|
var _a;
|
|
@@ -18,7 +18,7 @@ class CartesianLogAxis extends linear_axis_1.CartesianLinearAxis {
|
|
|
18
18
|
transformScaleDomain() {}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
exports.CartesianLogAxis = CartesianLogAxis, CartesianLogAxis.type =
|
|
21
|
+
exports.CartesianLogAxis = CartesianLogAxis, CartesianLogAxis.type = type_1.ComponentTypeEnum.cartesianLogAxis,
|
|
22
22
|
(0, vutils_1.mixin)(CartesianLogAxis, linear_axis_mixin_1.LinearAxisMixin);
|
|
23
23
|
|
|
24
24
|
const registerCartesianLogAxis = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/log-axis.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AACpD,+
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/log-axis.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AACpD,+CAAyD;AACzD,kEAA6D;AAC7D,6CAA4C;AAC5C,6CAAyC;AAEzC,mDAAgD;AAChD,4CAA4C;AAM5C,MAAa,gBAA0E,SAAQ,iCAAsB;IAArH;;QAEE,SAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAAC;QAEhC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAa,IAAI,iBAAQ,EAAE,CAAC;IAc9C,CAAC;IARW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AAnBH,4CAoBC;AAnBQ,qBAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAAC;AAqBnD,IAAA,cAAK,EAAC,gBAAgB,EAAE,mCAAe,CAAC,CAAC;AAElC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC,CAAC;AAHW,QAAA,wBAAwB,4BAGnC","file":"log-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { LogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\nimport type { ICartesianLogAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\n\nexport interface CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianLogAxis;\n type = ComponentTypeEnum.cartesianLogAxis;\n\n protected _zero: boolean = false;\n\n protected _scale: LogScale = new LogScale();\n protected declare _scales: LogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.base(this._spec.base ?? 10);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianLogAxis, LinearAxisMixin);\n\nexport const registerCartesianLogAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianLogAxis.type, CartesianLogAxis);\n};\n"]}
|