@visactor/vchart 1.9.0-alpha.0 → 1.9.0-alpha.1
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 +19534 -17953
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/config.js +1 -1
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/utils.d.ts +1 -1
- package/cjs/animation/utils.js +15 -14
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.d.ts +1 -0
- package/cjs/chart/base/base-chart-transformer.js +48 -23
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +1 -0
- package/cjs/chart/base/base-chart.js +20 -15
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/base/util.d.ts +7 -0
- package/cjs/chart/base/util.js +26 -0
- package/cjs/chart/base/util.js.map +1 -0
- package/cjs/chart/circle-packing/circle-packing-transformer.js +1 -7
- package/cjs/chart/circle-packing/circle-packing-transformer.js.map +1 -1
- package/cjs/chart/correlation/correlation-transformer.js +1 -7
- package/cjs/chart/correlation/correlation-transformer.js.map +1 -1
- package/cjs/chart/histogram/base/histogram-base-transformer.js +2 -1
- package/cjs/chart/histogram/base/histogram-base-transformer.js.map +1 -1
- package/cjs/chart/index.d.ts +5 -3
- package/cjs/chart/index.js +16 -2
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +1 -0
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/interface/common.d.ts +2 -4
- package/cjs/chart/interface/common.js.map +1 -1
- package/cjs/chart/interface/type.d.ts +2 -1
- package/cjs/chart/interface/type.js +1 -1
- package/cjs/chart/interface/type.js.map +1 -1
- package/cjs/chart/liquid/index.d.ts +2 -0
- package/cjs/chart/liquid/index.js +21 -0
- package/cjs/chart/liquid/index.js.map +1 -0
- package/cjs/chart/liquid/interface.d.ts +7 -0
- package/cjs/chart/liquid/interface.js.map +1 -0
- package/cjs/chart/liquid/liquid-transformer.d.ts +6 -0
- package/cjs/chart/liquid/liquid-transformer.js +29 -0
- package/cjs/chart/liquid/liquid-transformer.js.map +1 -0
- package/cjs/chart/liquid/liquid.d.ts +13 -0
- package/cjs/chart/liquid/liquid.js +25 -0
- package/cjs/chart/liquid/liquid.js.map +1 -0
- package/cjs/chart/polar/polar-transformer.js +1 -7
- package/cjs/chart/polar/polar-transformer.js.map +1 -1
- package/cjs/chart/range-column/range-column-transformer.js +2 -1
- package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
- package/cjs/chart/sankey/sankey-transformer.js +1 -7
- package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
- package/cjs/chart/sunburst/sunburst-transformer.js +1 -7
- package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
- package/cjs/chart/treemap/treemap-transformer.js +1 -7
- package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
- package/cjs/chart/util.d.ts +4 -1
- package/cjs/chart/util.js +5 -5
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
- package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
- package/cjs/compile/compiler.d.ts +16 -5
- package/cjs/compile/compiler.js +38 -42
- 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 +1 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/data/interface.d.ts +1 -1
- package/cjs/compile/data/interface.js.map +1 -1
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/compile/interface/compiler.d.ts +1 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +4 -2
- package/cjs/compile/mark/compilable-mark.js +4 -1
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +3 -2
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
- package/cjs/compile/mark/mark-state-manager.js +2 -2
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/compile/signal/state-manager.d.ts +1 -1
- package/cjs/compile/signal/state-manager.js +2 -2
- package/cjs/compile/signal/state-manager.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +10 -10
- package/cjs/component/axis/base-axis.js +35 -25
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +5 -4
- package/cjs/component/axis/cartesian/axis.js +21 -13
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
- package/cjs/component/axis/cartesian/band-axis.js +2 -1
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +3 -5
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.d.ts +1 -0
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +10 -17
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +10 -0
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +4 -7
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.d.ts +19 -2
- package/cjs/component/axis/mixin/band-axis-mixin.js +50 -2
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +9 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js +19 -6
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +8 -4
- package/cjs/component/axis/polar/axis.js +52 -60
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +1 -0
- package/cjs/component/axis/util.d.ts +6 -0
- package/cjs/component/axis/util.js +13 -3
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +0 -5
- package/cjs/component/base/base-component.js +0 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.js +4 -4
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +2 -1
- package/cjs/component/brush/brush.js +17 -11
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +10 -2
- package/cjs/component/crosshair/base.js +118 -84
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +5 -0
- package/cjs/component/crosshair/cartesian.js +96 -83
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +1 -2
- package/cjs/component/crosshair/config.js +1 -1
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +2 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.js +2 -1
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +5 -2
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +2 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +1 -0
- package/cjs/component/geo/geo-coordinate.js +7 -6
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +2 -0
- package/cjs/component/indicator/indicator.js +21 -12
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +1 -0
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/interface/common.d.ts +1 -0
- package/cjs/component/interface/common.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +1 -0
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +0 -3
- package/cjs/component/label/base-label.js +5 -8
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +1 -0
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.js +18 -18
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +7 -3
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +6 -0
- package/cjs/component/label/util.js +28 -5
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/base-legend.js +1 -1
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +3 -3
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -0
- package/cjs/component/legend/discrete/legend.js +7 -4
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/component/map-label/component.js +15 -15
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +3 -4
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.js +8 -16
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.js +19 -24
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -0
- package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.js +33 -28
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +2 -1
- package/cjs/component/marker/utils.js +47 -29
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.js +3 -1
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.js +2 -1
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/processor/base.js +13 -9
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +11 -7
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js +2 -1
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/constant/base.js +1 -2
- package/cjs/constant/scroll-bar.js +2 -1
- package/cjs/core/expression-function.js +1 -2
- package/cjs/core/factory.d.ts +5 -0
- package/cjs/core/factory.js +10 -1
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +2 -1
- package/cjs/core/index.js +3 -3
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +4 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +9 -5
- package/cjs/core/vchart.js +64 -84
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.js +25 -21
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.js +1 -1
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/event/event-dispatcher.js +5 -5
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/events/dimension/dimension-click.js +1 -1
- package/cjs/event/events/dimension/dimension-click.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/util/cartesian.d.ts +1 -1
- package/cjs/event/events/dimension/util/cartesian.js +28 -12
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/index.js +1 -2
- package/cjs/index-lark.js +2 -2
- package/cjs/index-lark.js.map +1 -1
- package/cjs/index-wx-simple.js +2 -2
- package/cjs/index-wx-simple.js.map +1 -1
- package/cjs/index-wx.js +2 -2
- package/cjs/index-wx.js.map +1 -1
- package/cjs/interaction/config.js +4 -4
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/drill/drillable.js +1 -1
- package/cjs/interaction/drill/drillable.js.map +1 -1
- package/cjs/interaction/interface.d.ts +24 -2
- package/cjs/interaction/interface.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.d.ts +2 -0
- package/cjs/interaction/zoom/zoomable.js +35 -30
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/base-layout.d.ts +46 -2
- package/cjs/layout/base-layout.js +192 -34
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/layout/interface.d.ts +3 -0
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/layout-item.d.ts +2 -1
- package/cjs/layout/layout-item.js +3 -2
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/layout/layout3d/index.d.ts +1 -8
- package/cjs/layout/layout3d/index.js +10 -69
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/layout/util.js +90 -118
- package/cjs/layout/util.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +1 -0
- package/cjs/mark/interface/type.js +2 -1
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/liquid.d.ts +13 -0
- package/cjs/mark/liquid.js +32 -0
- package/cjs/mark/liquid.js.map +1 -0
- package/cjs/mark/mark-set/index.js +1 -1
- package/cjs/mark/mark-set/index.js.map +1 -1
- package/cjs/model/base-model-transformer.d.ts +2 -1
- package/cjs/model/base-model-transformer.js +6 -2
- package/cjs/model/base-model-transformer.js.map +1 -1
- package/cjs/model/base-model.d.ts +1 -2
- package/cjs/model/base-model.js +11 -10
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +3 -2
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/chart/media-query/interface/common.d.ts +0 -4
- package/cjs/plugin/chart/media-query/interface/common.js.map +1 -1
- package/cjs/plugin/chart/media-query/interface/index.d.ts +1 -1
- package/cjs/plugin/chart/media-query/interface/index.js +1 -1
- package/cjs/plugin/chart/media-query/interface/index.js.map +1 -1
- package/cjs/plugin/chart/media-query/media-query.d.ts +3 -1
- package/cjs/plugin/chart/media-query/media-query.js +14 -11
- package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/action.d.ts +2 -2
- package/cjs/plugin/chart/media-query/util/action.js +6 -3
- package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/filter.d.ts +3 -3
- package/cjs/plugin/chart/media-query/util/filter.js +11 -14
- package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
- package/cjs/plugin/chart/register.js +2 -2
- package/cjs/plugin/chart/register.js.map +1 -1
- package/cjs/plugin/components/axis-sync/axis-sync.js.map +1 -0
- package/cjs/plugin/components/axis-sync/index.js.map +1 -0
- package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
- package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +1 -1
- package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
- package/cjs/plugin/components/index.d.ts +1 -1
- package/cjs/plugin/components/index.js +2 -2
- package/cjs/plugin/components/index.js.map +1 -1
- package/cjs/plugin/components/register.d.ts +2 -0
- package/cjs/plugin/components/register.js +12 -0
- package/cjs/plugin/components/register.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +29 -27
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -0
- package/{esm/component/tooltip/handler → cjs/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +14 -6
- package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +15 -7
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/interface.js +6 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +4 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +7 -3
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/util.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
- package/cjs/plugin/{chart/media-query/interface/spec.js → components/tooltip-handler/interface/common.js} +1 -1
- package/cjs/plugin/components/tooltip-handler/interface/common.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +1 -1
- package/cjs/plugin/components/tooltip-handler/interface/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
- package/cjs/plugin/components/tooltip-handler/utils/compose.js +106 -0
- package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +6 -6
- package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -0
- package/cjs/region/interface.d.ts +0 -3
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.js +1 -1
- package/cjs/region/region.js.map +1 -1
- package/cjs/scale/global-scale.js +1 -1
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/series/area/area-transformer.d.ts +2 -0
- package/cjs/series/area/area-transformer.js +18 -1
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/area/area.d.ts +0 -1
- package/cjs/series/area/area.js +14 -27
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +16 -3
- package/cjs/series/bar/bar.js +168 -78
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +5 -2
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series-transformer.js +1 -2
- package/cjs/series/base/base-series-transformer.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +34 -6
- package/cjs/series/base/base-series.js +103 -39
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.d.ts +4 -0
- package/cjs/series/base/constant.js +4 -3
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +3 -5
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +6 -0
- package/cjs/series/cartesian/cartesian.js +33 -23
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.js +2 -2
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/correlation/correlation.js +8 -8
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.js +12 -12
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/funnel.js +32 -21
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
- package/cjs/series/gauge/gauge-pointer.js +4 -1
- 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/heatmap/heatmap.d.ts +1 -0
- package/cjs/series/heatmap/heatmap.js +9 -4
- package/cjs/series/heatmap/heatmap.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 +2 -3
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +2 -0
- package/cjs/series/interface/theme.js +3 -2
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/interface/type.d.ts +6 -2
- package/cjs/series/interface/type.js +4 -2
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/line/line.js +8 -5
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.d.ts +1 -0
- package/cjs/series/link/link.js +9 -4
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/liquid/animation.d.ts +14 -0
- package/cjs/series/liquid/animation.js +63 -0
- package/cjs/series/liquid/animation.js.map +1 -0
- package/cjs/series/liquid/constant.d.ts +2 -0
- package/cjs/series/liquid/constant.js +23 -0
- package/cjs/series/liquid/constant.js.map +1 -0
- package/cjs/series/liquid/interface.d.ts +35 -0
- package/cjs/series/liquid/interface.js +6 -0
- package/cjs/series/liquid/interface.js.map +1 -0
- package/cjs/series/liquid/liquid.d.ts +50 -0
- package/cjs/series/liquid/liquid.js +200 -0
- package/cjs/series/liquid/liquid.js.map +1 -0
- package/cjs/series/liquid/tooltip-helper.d.ts +9 -0
- package/cjs/series/liquid/tooltip-helper.js +37 -0
- package/cjs/series/liquid/tooltip-helper.js.map +1 -0
- package/cjs/series/liquid/util.d.ts +2 -0
- package/cjs/series/liquid/util.js +15 -0
- package/cjs/series/liquid/util.js.map +1 -0
- package/cjs/series/map/map.js +4 -4
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +2 -2
- package/cjs/series/mixin/line-mixin.js +41 -24
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -0
- package/cjs/series/pie/pie.js +11 -7
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +2 -0
- package/cjs/series/polar/polar.js +1 -1
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.js +4 -3
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/polar/rose-like/rose-like.js +4 -3
- package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +1 -0
- package/cjs/series/progress/circular/circular.js +15 -8
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +1 -0
- package/cjs/series/progress/linear/linear.js +56 -52
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/animation.js +1 -1
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/radar.js +4 -3
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js +4 -3
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/range-column.d.ts +5 -1
- package/cjs/series/range-column/range-column.js +29 -31
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/rose.js +5 -4
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/sankey.js +13 -12
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.js +10 -10
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/sunburst.js +5 -4
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/treemap-transform.d.ts +6 -0
- package/cjs/series/treemap/treemap-transform.js +17 -0
- package/cjs/series/treemap/treemap-transform.js.map +1 -0
- package/cjs/series/treemap/treemap.d.ts +6 -3
- package/cjs/series/treemap/treemap.js +28 -45
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/util/stack.js +1 -1
- package/cjs/series/util/stack.js.map +1 -1
- package/cjs/series/waterfall/waterfall-transformer.js +1 -1
- package/cjs/series/waterfall/waterfall-transformer.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +3 -2
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +7 -7
- package/cjs/series/word-cloud/base.js +42 -49
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +4 -25
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/builtin/common/component/axis/cartesian-axis.d.ts +1 -0
- package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +6 -2
- package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
- package/cjs/theme/builtin/common/component/index.js +1 -0
- package/cjs/theme/builtin/common/component/index.js.map +1 -1
- package/cjs/theme/builtin/common/mark.js +2 -2
- package/cjs/theme/builtin/common/mark.js.map +1 -1
- package/cjs/theme/builtin/common/series/funnel.js +0 -2
- package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
- package/cjs/theme/builtin/common/series/funnel3d.js +0 -2
- package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
- package/cjs/theme/builtin/common/series/index.js +3 -2
- package/cjs/theme/builtin/common/series/index.js.map +1 -1
- package/cjs/theme/builtin/common/series/liquid.d.ts +2 -0
- package/cjs/theme/builtin/common/series/liquid.js +19 -0
- package/cjs/theme/builtin/common/series/liquid.js.map +1 -0
- package/cjs/theme/builtin/common/series/waterfall.js +1 -2
- package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
- package/cjs/theme/builtin/index.js +3 -1
- package/cjs/theme/builtin/index.js.map +1 -1
- package/cjs/typings/layout.d.ts +2 -1
- package/cjs/typings/layout.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +5 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/spec/index.d.ts +1 -0
- package/cjs/typings/spec/index.js +2 -1
- package/cjs/typings/spec/index.js.map +1 -1
- package/{esm/plugin/chart/media-query/interface/spec.d.ts → cjs/typings/spec/media-query.d.ts} +8 -5
- package/cjs/typings/spec/media-query.js +6 -0
- package/cjs/typings/spec/media-query.js.map +1 -0
- package/cjs/typings/tooltip/line.d.ts +4 -0
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/visual.d.ts +6 -0
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/env.js +9 -7
- package/cjs/util/env.js.map +1 -1
- package/cjs/util/model.js.map +1 -1
- package/cjs/vchart-all.js +2 -2
- package/cjs/vchart-all.js.map +1 -1
- package/cjs/vchart-simple.js +2 -2
- package/cjs/vchart-simple.js.map +1 -1
- package/esm/animation/config.js +1 -1
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/utils.d.ts +1 -1
- package/esm/animation/utils.js +15 -14
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.d.ts +1 -0
- package/esm/chart/base/base-chart-transformer.js +49 -21
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +1 -0
- package/esm/chart/base/base-chart.js +20 -15
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/base/util.d.ts +7 -0
- package/esm/chart/base/util.js +16 -0
- package/esm/chart/base/util.js.map +1 -0
- package/esm/chart/circle-packing/circle-packing-transformer.js +1 -7
- package/esm/chart/circle-packing/circle-packing-transformer.js.map +1 -1
- package/esm/chart/correlation/correlation-transformer.js +1 -7
- package/esm/chart/correlation/correlation-transformer.js.map +1 -1
- package/esm/chart/histogram/base/histogram-base-transformer.js +2 -1
- package/esm/chart/histogram/base/histogram-base-transformer.js.map +1 -1
- package/esm/chart/index.d.ts +5 -3
- package/esm/chart/index.js +4 -2
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +1 -0
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/interface/common.d.ts +2 -4
- package/esm/chart/interface/common.js.map +1 -1
- package/esm/chart/interface/type.d.ts +2 -1
- package/esm/chart/interface/type.js +1 -1
- package/esm/chart/interface/type.js.map +1 -1
- package/esm/chart/liquid/index.d.ts +2 -0
- package/esm/chart/liquid/index.js +4 -0
- package/esm/chart/liquid/index.js.map +1 -0
- package/esm/chart/liquid/interface.d.ts +7 -0
- package/esm/chart/liquid/interface.js.map +1 -0
- package/esm/chart/liquid/liquid-transformer.d.ts +6 -0
- package/esm/chart/liquid/liquid-transformer.js +23 -0
- package/esm/chart/liquid/liquid-transformer.js.map +1 -0
- package/esm/chart/liquid/liquid.d.ts +13 -0
- package/esm/chart/liquid/liquid.js +26 -0
- package/esm/chart/liquid/liquid.js.map +1 -0
- package/esm/chart/polar/polar-transformer.js +1 -7
- package/esm/chart/polar/polar-transformer.js.map +1 -1
- package/esm/chart/range-column/range-column-transformer.js +2 -1
- package/esm/chart/range-column/range-column-transformer.js.map +1 -1
- package/esm/chart/sankey/sankey-transformer.js +1 -7
- package/esm/chart/sankey/sankey-transformer.js.map +1 -1
- package/esm/chart/sunburst/sunburst-transformer.js +1 -7
- package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
- package/esm/chart/treemap/treemap-transformer.js +1 -7
- package/esm/chart/treemap/treemap-transformer.js.map +1 -1
- package/esm/chart/util.d.ts +4 -1
- package/esm/chart/util.js +4 -6
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
- package/esm/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
- package/esm/compile/compiler.d.ts +16 -5
- package/esm/compile/compiler.js +39 -41
- 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 +1 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/data/interface.d.ts +1 -1
- package/esm/compile/data/interface.js.map +1 -1
- package/esm/compile/grammar-item.js +2 -1
- package/esm/compile/interface/compiler.d.ts +1 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +4 -2
- package/esm/compile/mark/compilable-mark.js +4 -1
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +3 -2
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.d.ts +2 -2
- package/esm/compile/mark/mark-state-manager.js +2 -2
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/compile/signal/state-manager.d.ts +1 -1
- package/esm/compile/signal/state-manager.js +1 -1
- package/esm/compile/signal/state-manager.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +10 -10
- package/esm/component/axis/base-axis.js +36 -24
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +5 -4
- package/esm/component/axis/cartesian/axis.js +21 -15
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
- package/esm/component/axis/cartesian/band-axis.js +2 -1
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +3 -5
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.d.ts +1 -0
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js +9 -18
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +10 -0
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +4 -7
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.d.ts +19 -2
- package/esm/component/axis/mixin/band-axis-mixin.js +54 -2
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.d.ts +9 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +20 -6
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +8 -4
- package/esm/component/axis/polar/axis.js +50 -58
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +1 -0
- package/esm/component/axis/util.d.ts +6 -0
- package/esm/component/axis/util.js +11 -2
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.d.ts +0 -5
- package/esm/component/base/base-component.js +0 -6
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.js +4 -4
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/brush/brush.d.ts +2 -1
- package/esm/component/brush/brush.js +17 -11
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +10 -2
- package/esm/component/crosshair/base.js +118 -83
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +5 -0
- package/esm/component/crosshair/cartesian.js +94 -83
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +1 -2
- package/esm/component/crosshair/config.js +1 -1
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +2 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.js +2 -1
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +5 -3
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +1 -0
- package/esm/component/geo/geo-coordinate.js +7 -6
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +2 -0
- package/esm/component/indicator/indicator.js +20 -13
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +1 -0
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/interface/common.d.ts +1 -0
- package/esm/component/interface/common.js.map +1 -1
- package/esm/component/interface/theme.d.ts +1 -0
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/label/base-label.d.ts +0 -3
- package/esm/component/label/base-label.js +5 -8
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +1 -0
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.js +18 -18
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +7 -3
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +6 -0
- package/esm/component/label/util.js +24 -2
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/base-legend.js +1 -1
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +3 -3
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -0
- package/esm/component/legend/discrete/legend.js +7 -4
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/component/map-label/component.js +15 -15
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/interface.d.ts +3 -4
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.js +9 -17
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.js +20 -25
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/interface/theme.d.ts +1 -0
- package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.js +34 -29
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +2 -1
- package/esm/component/marker/utils.js +44 -27
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.js +3 -1
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.js +2 -1
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/processor/base.js +12 -8
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +13 -11
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js +2 -1
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/constant/base.js +1 -2
- package/esm/constant/scroll-bar.js +2 -1
- package/esm/core/expression-function.js +1 -2
- package/esm/core/factory.d.ts +5 -0
- package/esm/core/factory.js +10 -1
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +2 -1
- package/esm/core/index.js +3 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +4 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +9 -5
- package/esm/core/vchart.js +66 -84
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.js +26 -22
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.js +1 -1
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/event/event-dispatcher.js +5 -5
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/events/dimension/dimension-click.js +1 -1
- package/esm/event/events/dimension/dimension-click.js.map +1 -1
- package/esm/event/events/dimension/dimension-hover.js +4 -4
- package/esm/event/events/dimension/dimension-hover.js.map +1 -1
- package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
- package/esm/event/events/dimension/util/cartesian.js +28 -13
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/index.js +1 -2
- package/esm/index-lark.js +7 -1
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx-simple.js +5 -1
- package/esm/index-wx-simple.js.map +1 -1
- package/esm/index-wx.js +7 -1
- package/esm/index-wx.js.map +1 -1
- package/esm/interaction/config.js +4 -4
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/drill/drillable.js +1 -1
- package/esm/interaction/drill/drillable.js.map +1 -1
- package/esm/interaction/interface.d.ts +24 -2
- package/esm/interaction/interface.js.map +1 -1
- package/esm/interaction/zoom/zoomable.d.ts +2 -0
- package/esm/interaction/zoom/zoomable.js +35 -30
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/base-layout.d.ts +46 -2
- package/esm/layout/base-layout.js +190 -34
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/layout/interface.d.ts +3 -0
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/layout-item.d.ts +2 -1
- package/esm/layout/layout-item.js +3 -2
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/layout/layout3d/index.d.ts +1 -8
- package/esm/layout/layout3d/index.js +10 -69
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/layout/util.js +90 -118
- package/esm/layout/util.js.map +1 -1
- package/esm/mark/interface/type.d.ts +1 -0
- package/esm/mark/interface/type.js +2 -1
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/liquid.d.ts +13 -0
- package/esm/mark/liquid.js +32 -0
- package/esm/mark/liquid.js.map +1 -0
- package/esm/mark/mark-set/index.js +1 -1
- package/esm/mark/mark-set/index.js.map +1 -1
- package/esm/model/base-model-transformer.d.ts +2 -1
- package/esm/model/base-model-transformer.js +6 -2
- package/esm/model/base-model-transformer.js.map +1 -1
- package/esm/model/base-model.d.ts +1 -2
- package/esm/model/base-model.js +11 -8
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +3 -2
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/chart/media-query/interface/common.d.ts +0 -4
- package/esm/plugin/chart/media-query/interface/common.js.map +1 -1
- package/esm/plugin/chart/media-query/interface/index.d.ts +1 -1
- package/esm/plugin/chart/media-query/interface/index.js +1 -1
- package/esm/plugin/chart/media-query/interface/index.js.map +1 -1
- package/esm/plugin/chart/media-query/media-query.d.ts +3 -1
- package/esm/plugin/chart/media-query/media-query.js +14 -11
- package/esm/plugin/chart/media-query/media-query.js.map +1 -1
- package/esm/plugin/chart/media-query/util/action.d.ts +2 -2
- package/esm/plugin/chart/media-query/util/action.js +6 -3
- package/esm/plugin/chart/media-query/util/action.js.map +1 -1
- package/esm/plugin/chart/media-query/util/filter.d.ts +3 -3
- package/esm/plugin/chart/media-query/util/filter.js +10 -13
- package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
- package/esm/plugin/chart/register.js +1 -1
- package/esm/plugin/chart/register.js.map +1 -1
- package/esm/plugin/components/axis-sync/axis-sync.js.map +1 -0
- package/esm/plugin/components/axis-sync/index.js.map +1 -0
- package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
- package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +1 -1
- package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
- package/esm/plugin/components/index.d.ts +1 -1
- package/esm/plugin/components/index.js +1 -1
- package/esm/plugin/components/index.js.map +1 -1
- package/esm/plugin/components/register.d.ts +2 -0
- package/esm/plugin/components/register.js +6 -0
- package/esm/plugin/components/register.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +19 -13
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -0
- package/{cjs/component/tooltip/handler → esm/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +13 -2
- package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/constants.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +14 -4
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/interface.js +2 -0
- package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +4 -0
- package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +7 -3
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/util.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
- package/esm/plugin/components/tooltip-handler/interface/common.js +2 -0
- package/esm/plugin/components/tooltip-handler/interface/common.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +2 -0
- package/esm/plugin/components/tooltip-handler/interface/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
- package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
- package/esm/plugin/components/tooltip-handler/utils/compose.js +94 -0
- package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +2 -2
- package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -0
- package/esm/region/interface.d.ts +0 -3
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.js +1 -1
- package/esm/region/region.js.map +1 -1
- package/esm/scale/global-scale.js +1 -1
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/series/area/area-transformer.d.ts +2 -0
- package/esm/series/area/area-transformer.js +20 -0
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/area/area.d.ts +0 -1
- package/esm/series/area/area.js +15 -26
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +16 -3
- package/esm/series/bar/bar.js +160 -71
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +5 -2
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series-transformer.js +1 -2
- package/esm/series/base/base-series-transformer.js.map +1 -1
- package/esm/series/base/base-series.d.ts +34 -6
- package/esm/series/base/base-series.js +105 -39
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.d.ts +4 -0
- package/esm/series/base/constant.js +10 -0
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +3 -4
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +6 -0
- package/esm/series/cartesian/cartesian.js +32 -21
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.js +2 -2
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/correlation/correlation.js +8 -6
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.js +12 -12
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/funnel.js +33 -22
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +1 -0
- package/esm/series/gauge/gauge-pointer.js +4 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +5 -5
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +1 -0
- package/esm/series/heatmap/heatmap.js +9 -4
- package/esm/series/heatmap/heatmap.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 +2 -3
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.d.ts +2 -0
- package/esm/series/interface/theme.js +4 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/interface/type.d.ts +6 -2
- package/esm/series/interface/type.js +4 -2
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/line/line.js +8 -3
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.d.ts +1 -0
- package/esm/series/link/link.js +9 -4
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/liquid/animation.d.ts +14 -0
- package/esm/series/liquid/animation.js +55 -0
- package/esm/series/liquid/animation.js.map +1 -0
- package/esm/series/liquid/constant.d.ts +2 -0
- package/esm/series/liquid/constant.js +21 -0
- package/esm/series/liquid/constant.js.map +1 -0
- package/esm/series/liquid/interface.d.ts +35 -0
- package/esm/series/liquid/interface.js +2 -0
- package/esm/series/liquid/interface.js.map +1 -0
- package/esm/series/liquid/liquid.d.ts +50 -0
- package/esm/series/liquid/liquid.js +218 -0
- package/esm/series/liquid/liquid.js.map +1 -0
- package/esm/series/liquid/tooltip-helper.d.ts +9 -0
- package/esm/series/liquid/tooltip-helper.js +29 -0
- package/esm/series/liquid/tooltip-helper.js.map +1 -0
- package/esm/series/liquid/util.d.ts +2 -0
- package/esm/series/liquid/util.js +7 -0
- package/esm/series/liquid/util.js.map +1 -0
- package/esm/series/map/map.js +4 -4
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +2 -2
- package/esm/series/mixin/line-mixin.js +42 -22
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -0
- package/esm/series/pie/pie.js +11 -7
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/polar.d.ts +2 -0
- package/esm/series/polar/polar.js +1 -1
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.js +4 -3
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/polar/rose-like/rose-like.js +4 -3
- package/esm/series/polar/rose-like/rose-like.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +1 -0
- package/esm/series/progress/circular/circular.js +15 -8
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +1 -0
- package/esm/series/progress/linear/linear.js +56 -52
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/animation.js +1 -1
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/radar.js +4 -3
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js +4 -3
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/range-column.d.ts +5 -1
- package/esm/series/range-column/range-column.js +28 -33
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/rose.js +5 -4
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/sankey.js +13 -12
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.js +11 -8
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/sunburst.js +5 -4
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/treemap-transform.d.ts +6 -0
- package/esm/series/treemap/treemap-transform.js +11 -0
- package/esm/series/treemap/treemap-transform.js.map +1 -0
- package/esm/series/treemap/treemap.d.ts +6 -3
- package/esm/series/treemap/treemap.js +29 -43
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/util/stack.js +1 -1
- package/esm/series/util/stack.js.map +1 -1
- package/esm/series/waterfall/waterfall-transformer.js +1 -1
- package/esm/series/waterfall/waterfall-transformer.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +3 -2
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +7 -7
- package/esm/series/word-cloud/base.js +41 -47
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +4 -25
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/builtin/common/component/axis/cartesian-axis.d.ts +1 -0
- package/esm/theme/builtin/common/component/axis/cartesian-axis.js +6 -0
- package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
- package/esm/theme/builtin/common/component/index.js +2 -1
- package/esm/theme/builtin/common/component/index.js.map +1 -1
- package/esm/theme/builtin/common/mark.js +2 -2
- package/esm/theme/builtin/common/mark.js.map +1 -1
- package/esm/theme/builtin/common/series/funnel.js +0 -2
- package/esm/theme/builtin/common/series/funnel.js.map +1 -1
- package/esm/theme/builtin/common/series/funnel3d.js +0 -2
- package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
- package/esm/theme/builtin/common/series/index.js +4 -1
- package/esm/theme/builtin/common/series/index.js.map +1 -1
- package/esm/theme/builtin/common/series/liquid.d.ts +2 -0
- package/esm/theme/builtin/common/series/liquid.js +15 -0
- package/esm/theme/builtin/common/series/liquid.js.map +1 -0
- package/esm/theme/builtin/common/series/waterfall.js +1 -2
- package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
- package/esm/theme/builtin/index.js +2 -1
- package/esm/theme/builtin/index.js.map +1 -1
- package/esm/typings/layout.d.ts +2 -1
- package/esm/typings/layout.js.map +1 -1
- package/esm/typings/spec/common.d.ts +5 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/spec/index.d.ts +1 -0
- package/esm/typings/spec/index.js +2 -0
- package/esm/typings/spec/index.js.map +1 -1
- package/{cjs/plugin/chart/media-query/interface/spec.d.ts → esm/typings/spec/media-query.d.ts} +8 -5
- package/esm/typings/spec/media-query.js +2 -0
- package/esm/typings/spec/media-query.js.map +1 -0
- package/esm/typings/tooltip/line.d.ts +4 -0
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/visual.d.ts +6 -0
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/env.js +5 -3
- package/esm/util/env.js.map +1 -1
- package/esm/util/model.js.map +1 -1
- package/esm/vchart-all.js +7 -1
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.js +5 -1
- package/esm/vchart-simple.js.map +1 -1
- package/package.json +23 -16
- package/cjs/component/tooltip/handler/base.js.map +0 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
- package/cjs/component/tooltip/handler/canvas/index.js.map +0 -1
- package/cjs/component/tooltip/handler/constants.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/index.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/interface.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/interface.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/text-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/util.js.map +0 -1
- package/cjs/component/tooltip/handler/index.js.map +0 -1
- package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
- package/cjs/component/tooltip/handler/interface/index.js.map +0 -1
- package/cjs/component/tooltip/handler/interface/style.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/attribute.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/common.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/compose.js +0 -106
- package/cjs/component/tooltip/handler/utils/compose.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/index.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/pattern.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/position.js.map +0 -1
- package/cjs/interaction/trigger.d.ts +0 -38
- package/cjs/interaction/trigger.js +0 -140
- package/cjs/interaction/trigger.js.map +0 -1
- package/cjs/plugin/chart/media-query/interface/spec.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/index.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/axis/band-axis.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js +0 -22
- package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +0 -3
- package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js +0 -36
- package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/axis/common-axis.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js +0 -42
- package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js +0 -22
- package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +0 -3
- package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js +0 -25
- package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/crosshair.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/crosshair.js +0 -39
- package/cjs/theme/builtin/common-mobile/component/crosshair.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/data-zoom.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/data-zoom.js +0 -40
- package/cjs/theme/builtin/common-mobile/component/data-zoom.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/index.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/index.js +0 -33
- package/cjs/theme/builtin/common-mobile/component/index.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/indicator.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/indicator.js +0 -23
- package/cjs/theme/builtin/common-mobile/component/indicator.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/legend/color-legend.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js +0 -23
- package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/legend/continuous.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/legend/continuous.js +0 -44
- package/cjs/theme/builtin/common-mobile/component/legend/continuous.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js +0 -39
- package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/legend/size-legend.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js +0 -23
- package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/map-label.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/map-label.js +0 -39
- package/cjs/theme/builtin/common-mobile/component/map-label.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/mark-area.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/mark-area.js +0 -24
- package/cjs/theme/builtin/common-mobile/component/mark-area.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/mark-line.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/mark-line.js +0 -33
- package/cjs/theme/builtin/common-mobile/component/mark-line.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/mark-point.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/mark-point.js +0 -19
- package/cjs/theme/builtin/common-mobile/component/mark-point.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/player.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/player.js +0 -51
- package/cjs/theme/builtin/common-mobile/component/player.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/poptip.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/poptip.js +0 -25
- package/cjs/theme/builtin/common-mobile/component/poptip.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/title.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/title.js +0 -23
- package/cjs/theme/builtin/common-mobile/component/title.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/tooltip.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/tooltip.js +0 -43
- package/cjs/theme/builtin/common-mobile/component/tooltip.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/component/total-label.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/component/total-label.js +0 -16
- package/cjs/theme/builtin/common-mobile/component/total-label.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/constants.d.ts +0 -2
- package/cjs/theme/builtin/common-mobile/constants.js +0 -23
- package/cjs/theme/builtin/common-mobile/constants.js.map +0 -1
- package/cjs/theme/builtin/common-mobile/mark.d.ts +0 -3
- package/cjs/theme/builtin/common-mobile/mark.js +0 -35
- package/cjs/theme/builtin/common-mobile/mark.js.map +0 -1
- package/cjs/theme/builtin/dark-mobile/index.d.ts +0 -2
- package/cjs/theme/builtin/dark-mobile/index.js +0 -18
- package/cjs/theme/builtin/dark-mobile/index.js.map +0 -1
- package/cjs/theme/builtin/light-mobile/index.d.ts +0 -2
- package/cjs/theme/builtin/light-mobile/index.js +0 -18
- package/cjs/theme/builtin/light-mobile/index.js.map +0 -1
- package/esm/component/tooltip/handler/base.js.map +0 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
- package/esm/component/tooltip/handler/canvas/index.js.map +0 -1
- package/esm/component/tooltip/handler/constants.js.map +0 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
- package/esm/component/tooltip/handler/dom/index.js.map +0 -1
- package/esm/component/tooltip/handler/dom/interface.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/interface.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/text-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/util.js.map +0 -1
- package/esm/component/tooltip/handler/index.js.map +0 -1
- package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
- package/esm/component/tooltip/handler/interface/index.js.map +0 -1
- package/esm/component/tooltip/handler/interface/style.js.map +0 -1
- package/esm/component/tooltip/handler/utils/attribute.js.map +0 -1
- package/esm/component/tooltip/handler/utils/common.js.map +0 -1
- package/esm/component/tooltip/handler/utils/compose.js +0 -89
- package/esm/component/tooltip/handler/utils/compose.js.map +0 -1
- package/esm/component/tooltip/handler/utils/get-spec.js.map +0 -1
- package/esm/component/tooltip/handler/utils/index.js.map +0 -1
- package/esm/component/tooltip/handler/utils/pattern.js.map +0 -1
- package/esm/component/tooltip/handler/utils/position.js.map +0 -1
- package/esm/interaction/trigger.d.ts +0 -38
- package/esm/interaction/trigger.js +0 -141
- package/esm/interaction/trigger.js.map +0 -1
- package/esm/plugin/chart/media-query/interface/spec.js +0 -2
- package/esm/plugin/chart/media-query/interface/spec.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/index.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/axis/band-axis.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/axis/band-axis.js +0 -18
- package/esm/theme/builtin/common-mobile/component/axis/band-axis.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +0 -3
- package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js +0 -32
- package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/axis/common-axis.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/axis/common-axis.js +0 -36
- package/esm/theme/builtin/common-mobile/component/axis/common-axis.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js +0 -18
- package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +0 -3
- package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js +0 -23
- package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/crosshair.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/crosshair.js +0 -35
- package/esm/theme/builtin/common-mobile/component/crosshair.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/data-zoom.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/data-zoom.js +0 -34
- package/esm/theme/builtin/common-mobile/component/data-zoom.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/index.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/index.js +0 -65
- package/esm/theme/builtin/common-mobile/component/index.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/indicator.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/indicator.js +0 -17
- package/esm/theme/builtin/common-mobile/component/indicator.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/legend/color-legend.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/legend/color-legend.js +0 -17
- package/esm/theme/builtin/common-mobile/component/legend/color-legend.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/legend/continuous.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/legend/continuous.js +0 -38
- package/esm/theme/builtin/common-mobile/component/legend/continuous.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js +0 -33
- package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/legend/size-legend.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/legend/size-legend.js +0 -17
- package/esm/theme/builtin/common-mobile/component/legend/size-legend.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/map-label.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/map-label.js +0 -33
- package/esm/theme/builtin/common-mobile/component/map-label.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/mark-area.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/mark-area.js +0 -18
- package/esm/theme/builtin/common-mobile/component/mark-area.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/mark-line.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/mark-line.js +0 -27
- package/esm/theme/builtin/common-mobile/component/mark-line.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/mark-point.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/mark-point.js +0 -15
- package/esm/theme/builtin/common-mobile/component/mark-point.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/player.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/player.js +0 -47
- package/esm/theme/builtin/common-mobile/component/player.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/poptip.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/poptip.js +0 -19
- package/esm/theme/builtin/common-mobile/component/poptip.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/title.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/title.js +0 -17
- package/esm/theme/builtin/common-mobile/component/title.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/tooltip.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/tooltip.js +0 -37
- package/esm/theme/builtin/common-mobile/component/tooltip.js.map +0 -1
- package/esm/theme/builtin/common-mobile/component/total-label.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/component/total-label.js +0 -10
- package/esm/theme/builtin/common-mobile/component/total-label.js.map +0 -1
- package/esm/theme/builtin/common-mobile/constants.d.ts +0 -2
- package/esm/theme/builtin/common-mobile/constants.js +0 -19
- package/esm/theme/builtin/common-mobile/constants.js.map +0 -1
- package/esm/theme/builtin/common-mobile/mark.d.ts +0 -3
- package/esm/theme/builtin/common-mobile/mark.js +0 -31
- package/esm/theme/builtin/common-mobile/mark.js.map +0 -1
- package/esm/theme/builtin/dark-mobile/index.d.ts +0 -2
- package/esm/theme/builtin/dark-mobile/index.js +0 -16
- package/esm/theme/builtin/dark-mobile/index.js.map +0 -1
- package/esm/theme/builtin/light-mobile/index.d.ts +0 -2
- package/esm/theme/builtin/light-mobile/index.js +0 -16
- package/esm/theme/builtin/light-mobile/index.js.map +0 -1
- /package/cjs/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
- /package/cjs/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
- /package/esm/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
- /package/esm/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
|
@@ -25,14 +25,15 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
25
25
|
if (!isArray(crosshairSpec)) return crosshairSpec.xField || crosshairSpec.yField ? [ {
|
|
26
26
|
spec: crosshairSpec,
|
|
27
27
|
specPath: [ this.specKey ],
|
|
28
|
+
specInfoPath: [ "component", this.specKey, 0 ],
|
|
28
29
|
type: ComponentTypeEnum.cartesianCrosshair
|
|
29
30
|
} ] : void 0;
|
|
30
31
|
const specInfos = [];
|
|
31
32
|
return crosshairSpec.forEach(((s, i) => {
|
|
32
33
|
(s.xField || s.yField) && specInfos.push({
|
|
33
34
|
spec: s,
|
|
34
|
-
specIndex: i,
|
|
35
35
|
specPath: [ this.specKey, i ],
|
|
36
|
+
specInfoPath: [ "component", this.specKey, i ],
|
|
36
37
|
type: ComponentTypeEnum.cartesianCrosshair
|
|
37
38
|
});
|
|
38
39
|
})), specInfos;
|
|
@@ -100,7 +101,7 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
100
101
|
}
|
|
101
102
|
_layoutCrosshair(relativeX, relativeY) {
|
|
102
103
|
const {xAxisMap: xAxisMap, yAxisMap: yAxisMap} = this._findAllAxisContains(relativeX, relativeY);
|
|
103
|
-
if (xAxisMap && 0 === xAxisMap.size
|
|
104
|
+
if (xAxisMap && 0 === xAxisMap.size || yAxisMap && 0 === yAxisMap.size) {
|
|
104
105
|
if (this.enableRemain) return;
|
|
105
106
|
this.hide();
|
|
106
107
|
} else this._currValueX.clear(), this._currValueY.clear(), xAxisMap && xAxisMap.size && this._getAllAxisValues(xAxisMap, relativeX, this._currValueX, !0),
|
|
@@ -112,14 +113,38 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
112
113
|
this._xBottomLabel && this._xBottomLabel.hideAll(), this._yCrosshair && this._yCrosshair.hideAll(),
|
|
113
114
|
this._yLeftLabel && this._yLeftLabel.hideAll(), this._yRightLabel && this._yRightLabel.hideAll();
|
|
114
115
|
}
|
|
116
|
+
_setRegionArea(outRegion, currentValue) {
|
|
117
|
+
currentValue.forEach((({axis: axis}) => {
|
|
118
|
+
axis.getRegions().forEach((r => {
|
|
119
|
+
outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x), outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y),
|
|
120
|
+
outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width),
|
|
121
|
+
outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);
|
|
122
|
+
}));
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
115
125
|
layoutByValue(tag = LayoutType.ALL) {
|
|
116
126
|
var _a, _b, _c, _d;
|
|
117
127
|
if (!this.enable) return;
|
|
118
128
|
const series = this._firstSeries();
|
|
119
129
|
if (!series) return;
|
|
120
|
-
|
|
130
|
+
const layoutX = tag & LayoutType.VERTICAL, layoutY = tag & LayoutType.HORIZONTAL;
|
|
131
|
+
let xAxis = null, yAxis = null, x = 0, y = 0;
|
|
132
|
+
if (this._currValueX.size) {
|
|
133
|
+
const item = Array.from(this._currValueX.values())[0];
|
|
134
|
+
x = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x,
|
|
135
|
+
xAxis = item.axis;
|
|
136
|
+
}
|
|
137
|
+
if (this._currValueY.size) {
|
|
138
|
+
const item = Array.from(this._currValueY.values())[0];
|
|
139
|
+
y = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y,
|
|
140
|
+
yAxis = item.axis;
|
|
141
|
+
}
|
|
142
|
+
const xVisible = !!this._currValueX.size && Number.isFinite(x), yVisible = !!this._currValueY.size && Number.isFinite(y), xUseCache = this.enableRemain && !xVisible && isValid(this._cacheXCrossHairInfo), yUseCache = this.enableRemain && !yVisible && isValid(this._cacheYCrossHairInfo);
|
|
143
|
+
let xCrossHairInfo, yCrossHairInfo, indexWidth;
|
|
144
|
+
layoutX && (xCrossHairInfo = xUseCache ? this._cacheXCrossHairInfo : {
|
|
121
145
|
height: 0,
|
|
122
146
|
leftPos: 0,
|
|
147
|
+
rightPos: 0,
|
|
123
148
|
topPos: 0,
|
|
124
149
|
x: 0,
|
|
125
150
|
bottom: {
|
|
@@ -134,12 +159,13 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
134
159
|
dx: 0,
|
|
135
160
|
dy: 0
|
|
136
161
|
},
|
|
137
|
-
visible:
|
|
138
|
-
axis:
|
|
139
|
-
}, yCrossHairInfo = {
|
|
162
|
+
visible: xVisible,
|
|
163
|
+
axis: xAxis
|
|
164
|
+
}), layoutY && (yCrossHairInfo = yUseCache ? this._cacheYCrossHairInfo : {
|
|
140
165
|
width: 0,
|
|
141
166
|
leftPos: 0,
|
|
142
167
|
topPos: 0,
|
|
168
|
+
bottomPos: 0,
|
|
143
169
|
y: 0,
|
|
144
170
|
left: {
|
|
145
171
|
visible: !1,
|
|
@@ -153,48 +179,15 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
153
179
|
dx: 0,
|
|
154
180
|
dy: 0
|
|
155
181
|
},
|
|
156
|
-
visible:
|
|
157
|
-
axis:
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
axis.getRegions().forEach((r => {
|
|
162
|
-
outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x), outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y),
|
|
163
|
-
outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width),
|
|
164
|
-
outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);
|
|
165
|
-
}));
|
|
166
|
-
}));
|
|
167
|
-
};
|
|
168
|
-
let x = 0, y = 0;
|
|
169
|
-
if (this._currValueX.size) {
|
|
170
|
-
const item = Array.from(this._currValueX.values())[0];
|
|
171
|
-
x = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x,
|
|
172
|
-
xCrossHairInfo.axis = item.axis;
|
|
173
|
-
}
|
|
174
|
-
if (this._currValueY.size) {
|
|
175
|
-
const item = Array.from(this._currValueY.values())[0];
|
|
176
|
-
y = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y,
|
|
177
|
-
yCrossHairInfo.axis = item.axis;
|
|
178
|
-
}
|
|
179
|
-
xCrossHairInfo.visible = !!this._currValueX.size && Number.isFinite(x), yCrossHairInfo.visible = !!this._currValueY.size && Number.isFinite(y);
|
|
180
|
-
const xRegion = {
|
|
181
|
-
x1: 1 / 0,
|
|
182
|
-
y1: 1 / 0,
|
|
183
|
-
x2: -1 / 0,
|
|
184
|
-
y2: -1 / 0
|
|
185
|
-
}, yRegion = {
|
|
186
|
-
x1: 1 / 0,
|
|
187
|
-
y1: 1 / 0,
|
|
188
|
-
x2: -1 / 0,
|
|
189
|
-
y2: -1 / 0
|
|
190
|
-
};
|
|
191
|
-
let indexWidth, valueHeight;
|
|
192
|
-
if (getRegionArea(xRegion, this._currValueX), getRegionArea(yRegion, this._currValueY),
|
|
193
|
-
this._xHair && this._currValueX.forEach((({axis: axis, v: v}) => {
|
|
182
|
+
visible: yVisible,
|
|
183
|
+
axis: yAxis
|
|
184
|
+
});
|
|
185
|
+
let valueHeight, offsetWidth = 0, offsetHeight = 0;
|
|
186
|
+
if (this._xHair && this._currValueX.forEach((({axis: axis, v: v}) => {
|
|
194
187
|
var _a;
|
|
195
188
|
v = null != v ? v : "";
|
|
196
189
|
const xScale = axis.getScale();
|
|
197
|
-
if (isDiscrete(xScale.type)) indexWidth = xScale.bandwidth(); else if (isContinuous(xScale.type)) {
|
|
190
|
+
if (isDiscrete(xScale.type)) indexWidth = xScale.bandwidth(), 0 === indexWidth && xScale.step && (offsetWidth = xScale.step()); else if (isContinuous(xScale.type)) {
|
|
198
191
|
const fieldX = series.fieldX[0], fieldX2 = series.fieldX2, datum = getDatumByValue(series.getViewData().latestData, +v, fieldX, fieldX2);
|
|
199
192
|
if (datum) {
|
|
200
193
|
const startX = series.dataToPositionX(datum);
|
|
@@ -202,7 +195,7 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
202
195
|
x = startX;
|
|
203
196
|
}
|
|
204
197
|
}
|
|
205
|
-
if (null === (_a = this._xHair.label) || void 0 === _a ? void 0 : _a.visible) {
|
|
198
|
+
if (xCrossHairInfo && (null === (_a = this._xHair.label) || void 0 === _a ? void 0 : _a.visible) && !xUseCache) {
|
|
206
199
|
const labelOffset = getAxisLabelOffset(axis.getSpec());
|
|
207
200
|
"bottom" === axis.getOrient() ? (xCrossHairInfo.bottom.visible = !0, xCrossHairInfo.bottom.text = v,
|
|
208
201
|
xCrossHairInfo.bottom.dx = 0, xCrossHairInfo.bottom.dy = labelOffset) : "top" === axis.getOrient() && (xCrossHairInfo.top.visible = !0,
|
|
@@ -212,7 +205,7 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
212
205
|
var _a;
|
|
213
206
|
v = null != v ? v : "";
|
|
214
207
|
const yScale = axis.getScale();
|
|
215
|
-
if (isDiscrete(yScale.type)) valueHeight = yScale.bandwidth(); else if (isContinuous(yScale.type)) {
|
|
208
|
+
if (isDiscrete(yScale.type)) valueHeight = yScale.bandwidth(), 0 === valueHeight && yScale.step && (offsetHeight = yScale.step()); else if (isContinuous(yScale.type)) {
|
|
216
209
|
const fieldY = series.fieldY[0], fieldY2 = series.fieldY2, datum = getDatumByValue(series.getViewData().latestData, +v, fieldY, fieldY2);
|
|
217
210
|
if (datum) {
|
|
218
211
|
const startY = series.dataToPositionY(datum);
|
|
@@ -220,35 +213,51 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
220
213
|
y = startY;
|
|
221
214
|
}
|
|
222
215
|
}
|
|
223
|
-
if (null === (_a = this._yHair.label) || void 0 === _a ? void 0 : _a.visible) {
|
|
216
|
+
if (yCrossHairInfo && (null === (_a = this._yHair.label) || void 0 === _a ? void 0 : _a.visible) && !yUseCache) {
|
|
224
217
|
const labelOffset = getAxisLabelOffset(axis.getSpec());
|
|
225
218
|
"left" === axis.getOrient() ? (yCrossHairInfo.left.visible = !0, yCrossHairInfo.left.text = v,
|
|
226
219
|
yCrossHairInfo.left.dx = -labelOffset, yCrossHairInfo.left.dy = 0) : "right" === axis.getOrient() && (yCrossHairInfo.right.visible = !0,
|
|
227
220
|
yCrossHairInfo.right.text = v, yCrossHairInfo.right.dx = labelOffset, yCrossHairInfo.right.dy = 0);
|
|
228
221
|
}
|
|
229
|
-
})),
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
222
|
+
})), xCrossHairInfo && !xUseCache) {
|
|
223
|
+
const xRegion = {
|
|
224
|
+
x1: 1 / 0,
|
|
225
|
+
y1: 1 / 0,
|
|
226
|
+
x2: -1 / 0,
|
|
227
|
+
y2: -1 / 0
|
|
228
|
+
};
|
|
229
|
+
if (this._setRegionArea(xRegion, this._currValueX), xCrossHairInfo.leftPos = xRegion.x1,
|
|
230
|
+
xCrossHairInfo.rightPos = xRegion.x2, xCrossHairInfo.topPos = xRegion.y1, xCrossHairInfo.height = xRegion.y2 - xRegion.y1,
|
|
231
|
+
xCrossHairInfo.x = x + this.getLayoutStartPoint().x, null === (_b = null === (_a = this._xHair) || void 0 === _a ? void 0 : _a.label) || void 0 === _b ? void 0 : _b.formatMethod) {
|
|
232
|
+
const {top: top, bottom: bottom} = xCrossHairInfo;
|
|
233
|
+
bottom.visible && (bottom.text = this._xHair.label.formatMethod(bottom.text, "bottom")),
|
|
234
|
+
top.visible && (top.text = this._xHair.label.formatMethod(top.text, "top"));
|
|
235
|
+
}
|
|
235
236
|
}
|
|
236
|
-
if (
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
237
|
+
if (yCrossHairInfo && !yUseCache) {
|
|
238
|
+
const yRegion = {
|
|
239
|
+
x1: 1 / 0,
|
|
240
|
+
y1: 1 / 0,
|
|
241
|
+
x2: -1 / 0,
|
|
242
|
+
y2: -1 / 0
|
|
243
|
+
};
|
|
244
|
+
if (this._setRegionArea(yRegion, this._currValueY), yCrossHairInfo.leftPos = yRegion.x1,
|
|
245
|
+
yCrossHairInfo.topPos = yRegion.y1, yCrossHairInfo.bottomPos = yRegion.y2, yCrossHairInfo.width = yRegion.x2 - yRegion.x1,
|
|
246
|
+
yCrossHairInfo.y = y + this.getLayoutStartPoint().y, null === (_d = null === (_c = this._yHair) || void 0 === _c ? void 0 : _c.label) || void 0 === _d ? void 0 : _d.formatMethod) {
|
|
247
|
+
const {left: left, right: right} = yCrossHairInfo;
|
|
248
|
+
left.visible && (left.text = this._yHair.label.formatMethod(left.text, "left")),
|
|
249
|
+
right.visible && (right.text = this._yHair.label.formatMethod(right.text, "right"));
|
|
250
|
+
}
|
|
242
251
|
}
|
|
243
|
-
|
|
244
|
-
LayoutType.VERTICAL && this._layoutVertical(xCrossHairInfo, null != indexWidth ? indexWidth : 0)),
|
|
252
|
+
layoutX && xCrossHairInfo && (this._layoutVertical(xCrossHairInfo, null != indexWidth ? indexWidth : 0, offsetWidth),
|
|
245
253
|
this.enableRemain && (this._cacheXCrossHairInfo = Object.assign(Object.assign({}, xCrossHairInfo), {
|
|
246
254
|
_isCache: !0
|
|
247
|
-
}),
|
|
255
|
+
}))), layoutY && yCrossHairInfo && (this._layoutHorizontal(yCrossHairInfo, null != valueHeight ? valueHeight : 0, offsetHeight),
|
|
256
|
+
this.enableRemain && (this._cacheYCrossHairInfo = Object.assign(Object.assign({}, yCrossHairInfo), {
|
|
248
257
|
_isCache: !0
|
|
249
|
-
}));
|
|
258
|
+
})));
|
|
250
259
|
}
|
|
251
|
-
_layoutVertical(crosshairInfo, bandWidth) {
|
|
260
|
+
_layoutVertical(crosshairInfo, bandWidth, offsetWidth) {
|
|
252
261
|
var _a, _b;
|
|
253
262
|
if (crosshairInfo._isCache && this.enableRemain || !this._xHair) return;
|
|
254
263
|
const {x: x, topPos: topPos, height: height, top: top, bottom: bottom, visible: visible} = crosshairInfo;
|
|
@@ -265,14 +274,14 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
265
274
|
y: topPos + height
|
|
266
275
|
}
|
|
267
276
|
}; else if ("rect" === type) {
|
|
268
|
-
const extend = this._getRectSize(this._xHair, bandWidth, crosshairInfo.axis);
|
|
277
|
+
const extend = this._getRectSize(this._xHair, bandWidth, crosshairInfo.axis), {leftPos: leftPos, rightPos: rightPos} = crosshairInfo;
|
|
269
278
|
positionAttribute = {
|
|
270
279
|
start: {
|
|
271
|
-
x: x - extend / 2,
|
|
280
|
+
x: Math.max(x - extend / 2 - offsetWidth / 2, leftPos),
|
|
272
281
|
y: topPos
|
|
273
282
|
},
|
|
274
283
|
end: {
|
|
275
|
-
x: x + bandWidth + extend / 2,
|
|
284
|
+
x: Math.min(x + bandWidth + extend / 2 + offsetWidth / 2, rightPos),
|
|
276
285
|
y: topPos + height
|
|
277
286
|
}
|
|
278
287
|
};
|
|
@@ -309,7 +318,7 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
309
318
|
} else this._xBottomLabel && this._xBottomLabel.hideAll();
|
|
310
319
|
}
|
|
311
320
|
}
|
|
312
|
-
_layoutHorizontal(crosshairInfo, bandHeight) {
|
|
321
|
+
_layoutHorizontal(crosshairInfo, bandHeight, offsetHeight) {
|
|
313
322
|
var _a, _b;
|
|
314
323
|
if (crosshairInfo._isCache && this.enableRemain || !this._yHair) return;
|
|
315
324
|
const {leftPos: leftPos, width: width, y: y, left: left, right: right, visible: visible} = crosshairInfo;
|
|
@@ -326,15 +335,15 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
326
335
|
y: y + bandHeight / 2
|
|
327
336
|
}
|
|
328
337
|
}; else if ("rect" === type) {
|
|
329
|
-
const extend = this._getRectSize(this._yHair, bandHeight, crosshairInfo.axis);
|
|
338
|
+
const extend = this._getRectSize(this._yHair, bandHeight, crosshairInfo.axis), {topPos: topPos, bottomPos: bottomPos} = crosshairInfo;
|
|
330
339
|
positionAttribute = {
|
|
331
340
|
start: {
|
|
332
341
|
x: leftPos,
|
|
333
|
-
y: y - extend / 2
|
|
342
|
+
y: Math.max(y - extend / 2 - offsetHeight / 2, topPos)
|
|
334
343
|
},
|
|
335
344
|
end: {
|
|
336
345
|
x: leftPos + width,
|
|
337
|
-
y: y + bandHeight + extend / 2
|
|
346
|
+
y: Math.min(y + bandHeight + extend / 2 + offsetHeight / 2, bottomPos)
|
|
338
347
|
}
|
|
339
348
|
};
|
|
340
349
|
}
|
|
@@ -386,17 +395,19 @@ export class CartesianCrossHair extends BaseCrossHair {
|
|
|
386
395
|
}
|
|
387
396
|
_updateCrosshair(dim, type, attributes) {
|
|
388
397
|
const container = this.getContainer();
|
|
389
|
-
let crosshair
|
|
390
|
-
"x" === dim ?
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
398
|
+
let crosshair;
|
|
399
|
+
if (crosshair = "x" === dim ? this._xCrosshair : this._yCrosshair, crosshair) crosshair.setAttributes(attributes); else {
|
|
400
|
+
const style = "x" === dim ? this._xHair.style : this._yHair.style;
|
|
401
|
+
"line" === type ? crosshair = new LineCrosshair(Object.assign(Object.assign({}, attributes), {
|
|
402
|
+
lineStyle: style,
|
|
403
|
+
zIndex: this.gridZIndex + 1,
|
|
404
|
+
disableTriggerEvent: this._option.disableTriggerEvent
|
|
405
|
+
})) : "rect" === type && (crosshair = new RectCrosshair(Object.assign(Object.assign({}, attributes), {
|
|
406
|
+
rectStyle: style,
|
|
407
|
+
zIndex: this.gridZIndex,
|
|
408
|
+
disableTriggerEvent: this._option.disableTriggerEvent
|
|
409
|
+
}))), null == container || container.add(crosshair), "x" === dim ? this._xCrosshair = crosshair : this._yCrosshair = crosshair;
|
|
410
|
+
}
|
|
400
411
|
}
|
|
401
412
|
_updateCrosshairLabel(label, attributes, callback) {
|
|
402
413
|
const container = this.getContainer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/cartesian.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA+BtC,MAAM,OAAO,kBAAgF,SAAQ,aAAgB;IAwBnH,MAAM,CAAC,WAAW,CAAC,SAAc;QAC/B,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAC3B,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE;gBAChD,OAAO;oBACL;wBACE,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,EAAE,iBAAiB,CAAC,kBAAkB;qBAC3C;iBACF,CAAC;aACH;YACD,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,aAAa,CAAC,OAAO,CAAC,CAAC,CAA0B,EAAE,CAAS,EAAE,EAAE;YAC9D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE;gBACxB,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,iBAAiB,CAAC,kBAAkB;iBAC3C,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY,IAAO,EAAE,OAAyB;QAC5C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QApDvB,SAAI,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;QAC5C,SAAI,GAAW,iBAAiB,CAAC,kBAAkB,CAAC;QAoDlD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAES,2BAA2B;QACnC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAgC,CAAC;QACjE,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,MAAM,CAAC,aAAa,EAAE;YAC3C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC/D;QACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,MAAM,CAAC,aAAa,EAAE;YAC3C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;SACjE;IACH,CAAC;IAEO,iBAAiB,CAAC,SAAiB,EAAE,KAAqB,EAAE,GAAW;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,SAAS,CAAU,CAAC;QACxG,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,IAAI,GAAG,KAAK,UAAU,CAAC,QAAQ,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAOO,oBAAoB,CAAC,SAAiB,EAAE,SAAiB;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAQ,GAAG,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAQ,GAAG,CAAC,CAAC;QACtD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;YACjE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,IAAW,EAAE,CAAS;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;YAC/D,KAAK,GAAG,CAAC,CAAC,KAAgB,CAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACvC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,cAAc;QACZ,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAKD,YAAY,CAAC,CAAiB,EAAE,IAAW;QACzC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAA4B,CAAC,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;gBACxC,CAAC;gBACD,IAAI;aACL,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;gBACxC,CAAC;gBACD,IAAI;aACL,CAAC,CAAC;SACJ;IACH,CAAC;IAOO,iBAAiB,CACvB,OAAyB,EACzB,CAAS,EACT,SAA0D,EAC1D,QAAiB;QAGjB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,EAAE;oBACb,QAAQ,GAAG,IAAI,CAAC;iBACjB;qBAAM;oBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;iBACrB;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;gBAChB,CAAC,EAAE,IAAI,CAAC,WAAW,CACjB,IAAI,EACJ,CAAC;oBACC,CAAC,QAAQ;wBACP,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;wBAC7D,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CACnE;gBACD,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,SAAiB,EAAE,SAAiB;QAE7D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YACtE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjG,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAElG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI;QAEF,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAEnD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,MAAc,UAAU,CAAC,GAAG;;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAoB,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,IAAI,cAAc,GAAoB;YACpC,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YAClD,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YAC/C,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,cAAc,GAAoB;YACpC,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YAChD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACjD,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,YAA6D,EAAE,EAAE;YACzG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAClB,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC3F,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC9F,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAC1G,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAC1G,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACjC;QAED,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7E,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,IAAI,UAAU,CAAC;QACf,IAAI,WAAW,CAAC;QAEhB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;;gBACvC,CAAC,GAAG,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC3B,UAAU,GAAI,MAAoB,CAAC,SAAS,EAAE,CAAC;iBAChD;qBAAM,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpF,IAAI,KAAK,EAAE;wBACT,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBAC7C,IAAI,OAAO,EAAE;4BACX,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC/D,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;yBAC5C;6BAAM;4BACL,UAAU,GAAG,CAAC,CAAC;yBAChB;wBACD,CAAC,GAAG,MAAM,CAAC;qBACZ;iBACF;gBACD,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,OAAO,EAAE;oBAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;wBACjC,cAAc,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;wBACrC,cAAc,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;wBAC/B,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC7B,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC;qBACxC;yBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;wBACrC,cAAc,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;wBAClC,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;wBAC5B,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC1B,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;qBACtC;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;;gBACvC,CAAC,GAAG,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC3B,WAAW,GAAI,MAAoB,CAAC,SAAS,EAAE,CAAC;iBACjD;qBAAM,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpF,IAAI,KAAK,EAAE;wBACT,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBAC7C,IAAI,OAAO,EAAE;4BACX,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;4BAChE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;yBAC5C;6BAAM;4BACL,WAAW,GAAG,CAAC,CAAC;yBACjB;wBACD,CAAC,GAAG,MAAM,CAAC;qBACZ;iBACF;gBACD,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,OAAO,EAAE;oBAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE;wBAC/B,cAAc,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACnC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;wBAC7B,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;wBACtC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;qBAC5B;yBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,OAAO,EAAE;wBACvC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;wBAC9B,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC;wBACtC,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;qBAC7B;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACtF,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;SAC5C;aAAM;YACL,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;YACnC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;YAChD,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,YAAY,EAAE;gBACpC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;gBACvC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAW,CAAC,CAAC;gBAClG,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAW,CAAC,CAAC;aACvF;SACF;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACtF,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;SAC5C;aAAM;YACL,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;YACnC,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;YAC/C,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,YAAY,EAAE;gBACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;gBACvC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAW,CAAC,CAAC;gBAC1F,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAW,CAAC,CAAC;aAC/F;SACF;QAED,IAAI,GAAG,EAAE;YACP,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,CAAC,CAAC;YAClF,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,CAAC,CAAC,CAAC;SAC9E;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,oBAAoB,mCAAQ,cAAc,KAAE,QAAQ,EAAE,IAAI,GAAE,CAAC;YAClE,IAAI,CAAC,oBAAoB,mCAAQ,cAAc,KAAE,QAAQ,EAAE,IAAI,GAAE,CAAC;SACnE;IACH,CAAC;IAEO,eAAe,CAAC,aAA8B,EAAE,SAAiB;;QACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjE,OAAO;SACR;QAED,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QAElE,IAAI,OAAO,EAAE;YAEX,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,IAAI,iBAAiB,CAAC;YACtB,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,iBAAiB,GAAG;oBAClB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;oBAC1C,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;iBAClD,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAE7E,iBAAiB,GAAG;oBAClB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;oBACvC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;iBAC3D,CAAC;aACH;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAEpD,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,MAAM,WAAW,+CACf,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EACpB,CAAC,EAAE,MAAM,IACN,GAAG,GACH,IAAI,CAAC,MAAM,CAAC,KAAK,KACpB,SAAS,kCACJ,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,SAAS,KAC/B,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,QAAQ,KAExB,MAAM,EAAE,IAAI,CAAC,WAAW,GACzB,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;oBAC/D,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;oBACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC9C;YAED,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,MAAM,WAAW,+CACf,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EACpB,CAAC,EAAE,MAAM,GAAG,MAAM,IACf,MAAM,GACN,IAAI,CAAC,MAAM,CAAC,KAAK,KACpB,SAAS,kCACJ,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,SAAS,KAC/B,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,KAAK,KAErB,MAAM,EAAE,IAAI,CAAC,WAAW,GACzB,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;oBAClE,KAAK,CAAC,IAAI,GAAG,0BAA0B,CAAC;oBACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aACpD;SACF;IACH,CAAC;IAEO,iBAAiB,CAAC,aAA8B,EAAE,UAAkB;;QAC1E,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjE,OAAO;SACR;QACD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QAClE,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,IAAI,iBAAiB,CAAC;YACtB,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,iBAAiB,GAAG;oBAClB,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE;oBAC5C,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE;iBACnD,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAE9E,iBAAiB,GAAG;oBAClB,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;oBACxC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE;iBAC5D,CAAC;aACH;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAGpD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,WAAW,+CACf,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,IAClB,IAAI,GACJ,IAAI,CAAC,MAAM,CAAC,KAAK,KACpB,SAAS,kCACJ,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,SAAS,KAC/B,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,QAAQ,KAExB,MAAM,EAAE,IAAI,CAAC,WAAW,GACzB,CAAC;gBAEF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;oBAChE,KAAK,CAAC,IAAI,GAAG,wBAAwB,CAAC;oBACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC3B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAChD;YAED,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,MAAM,WAAW,+CACf,CAAC,EAAE,OAAO,GAAG,KAAK,EAClB,CAAC,EAAE,CAAC,GAAG,UAAU,IACd,KAAK,GACL,IAAI,CAAC,MAAM,CAAC,KAAK,KACpB,SAAS,kCACJ,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,SAAS,KAC/B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,QAAQ,KAExB,MAAM,EAAE,IAAI,CAAC,WAAW,GACzB,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;oBACjE,KAAK,CAAC,IAAI,GAAG,yBAAyB,CAAC;oBACvC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAClD;SACF;IACH,CAAC;IAEO,YAAY,CAAC,IAAW,EAAE,QAAgB,EAAE,IAAW;;QAE7D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE;YAC3B,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;SAClD;aAAM,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;YAC/C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;SACrC;aAAM,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAA,KAAK,UAAU,EAAE;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC;SACrD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,eAAe;QACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAgC,CAAC;QACjE,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAClD;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAClD;IACH,CAAC;IAEO,gBAAgB,CAAC,GAAW,EAAE,IAAY,EAAE,UAAe;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,CAAC;QACd,IAAI,KAAK,CAAC;QACV,IAAI,GAAG,KAAK,GAAG,EAAE;YACf,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3B;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3B;QACD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACrC;aAAM;YAEL,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,SAAS,GAAG,IAAI,aAAa,iCACxB,UAAU,KACb,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,EAC3B,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,IACrD,CAAC;aACJ;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE;gBAC1B,SAAS,GAAG,IAAI,aAAa,iCACxB,UAAU,KACb,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,IACrD,CAAC;aACJ;YAED,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,SAA6B,CAAC,CAAC;YAC9C,IAAI,GAAG,KAAK,GAAG,EAAE;gBACf,IAAI,CAAC,WAAW,GAAG,SAA8B,CAAC;aACnD;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,SAA8B,CAAC;aACnD;SACF;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAU,EAAE,UAAe,EAAE,QAA8B;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACjC;aAAM;YACL,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,KAAyB,CAAC,CAAC;SAC3C;QACD,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAClD,CAAC;IAES,8BAA8B;QACtC,OAAO;YACL,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,YAAY;SACO,CAAC;IAC7B,CAAC;;AAvmBM,0BAAO,GAAG,WAAW,CAAC;AAEtB,uBAAI,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;AAwmBrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC,CAAC","file":"cartesian.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\nimport { isArray, isValid, isValidNumber, isNil } from '@visactor/vutils';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { ICartesianCrosshairSpec } from './interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isDiscrete, isContinuous } from '@visactor/vscale';\nimport { LineCrosshair, RectCrosshair, Tag } from '@visactor/vrender-components';\nimport type { IAxisInfo, IBound, IHair } from './base';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseCrossHair } from './base';\nimport type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport { getDatumByValue, limitTagInBounds } from './util';\nimport { getAxisLabelOffset } from '../axis/util';\nimport type { IAxis } from '../axis/interface';\nimport type { IOrientType, StringOrNumber } from '../../typings';\nimport { isXAxis } from '../axis/cartesian/util/common';\nimport { Factory } from '../../core/factory';\nimport { LayoutType } from './config';\nimport type { IModelSpecInfo } from '../../model/interface';\n\ninterface ICrosshairInfoX {\n height: number;\n leftPos: number;\n topPos: number;\n x: number;\n bottom: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n top: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n axis: IAxis;\n}\ninterface ICrosshairInfoY {\n width: number;\n leftPos: number;\n topPos: number;\n y: number;\n left: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n right: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n axis: IAxis;\n}\n\n// 1. crosshair保存上次记录的x和y轴dimension\n// 2. 每次交互触发时,首先转化成dimension保存,然后依据dimension计算x和y绘制\n// 3. 如果同方向同时有多个轴,那么同时保存这些轴的数据\n// 4. 如果同方向的轴有多个离散轴,那么直接不显示\n\nexport class CartesianCrossHair<T extends ICartesianCrosshairSpec = ICartesianCrosshairSpec> extends BaseCrossHair<T> {\n static specKey = 'crosshair';\n\n static type = ComponentTypeEnum.cartesianCrosshair;\n type = ComponentTypeEnum.cartesianCrosshair;\n name: string = ComponentTypeEnum.cartesianCrosshair;\n\n private _xHair: IHair | undefined;\n private _yHair: IHair | undefined;\n\n private _cacheXCrossHairInfo: ICrosshairInfoX | undefined;\n private _cacheYCrossHairInfo: ICrosshairInfoY | undefined;\n\n private _xCrosshair: IGroup;\n private _xTopLabel: Tag;\n private _xBottomLabel: Tag;\n\n private _yCrosshair: IGroup;\n private _yLeftLabel: Tag;\n private _yRightLabel: Tag;\n\n private _currValueX: Map<number, { v: StringOrNumber; axis: IAxis }>;\n private _currValueY: Map<number, { v: StringOrNumber; axis: IAxis }>;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const crosshairSpec = chartSpec[this.specKey];\n if (isNil(crosshairSpec)) {\n return undefined;\n }\n if (!isArray(crosshairSpec)) {\n if (crosshairSpec.xField || crosshairSpec.yField) {\n return [\n {\n spec: crosshairSpec,\n specPath: [this.specKey],\n type: ComponentTypeEnum.cartesianCrosshair\n }\n ];\n }\n return undefined;\n }\n const specInfos: IModelSpecInfo[] = [];\n crosshairSpec.forEach((s: ICartesianCrosshairSpec, i: number) => {\n if (s.xField || s.yField) {\n specInfos.push({\n spec: s,\n specIndex: i,\n specPath: [this.specKey, i],\n type: ComponentTypeEnum.cartesianCrosshair\n });\n }\n });\n return specInfos;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._currValueX = new Map();\n this._currValueY = new Map();\n }\n\n protected _showDefaultCrosshairBySpec() {\n const { xField, yField } = this._spec as ICartesianCrosshairSpec;\n if (xField?.visible && xField.defaultSelect) {\n const { axisIndex, datum } = xField.defaultSelect;\n this._defaultCrosshair(axisIndex, datum, LayoutType.VERTICAL);\n }\n if (yField?.visible && yField.defaultSelect) {\n const { axisIndex, datum } = yField.defaultSelect;\n this._defaultCrosshair(axisIndex, datum, LayoutType.HORIZONTAL);\n }\n }\n\n private _defaultCrosshair(axisIndex: number, datum: StringOrNumber, tag: number) {\n const axis = this._option.getComponentsByKey('axes').find(c => c.getSpecIndex() === axisIndex) as IAxis;\n if (!axis) {\n return;\n }\n // 横轴\n if (tag === LayoutType.VERTICAL) {\n this._currValueX.clear();\n this._currValueX.set(axisIndex, { axis, v: datum });\n } else {\n this._currValueY.clear();\n this._currValueY.set(axisIndex, { axis, v: datum });\n }\n this.layoutByValue(tag);\n }\n\n /**\n * 查找所有落在x和y区域的轴\n * @param relativeX\n * @param relativeY\n */\n private _findAllAxisContains(relativeX: number, relativeY: number) {\n const xAxisMap = this._getAxisInfoByField<IAxis>('x');\n const yAxisMap = this._getAxisInfoByField<IAxis>('y');\n return {\n xAxisMap: this._filterAxisByPoint(xAxisMap, relativeX, relativeY),\n yAxisMap: this._filterAxisByPoint(yAxisMap, relativeX, relativeY)\n };\n }\n\n private _getValueAt(axis: IAxis, p: number): number | string {\n let value = axis.getScale().invert(p);\n if (isContinuous(axis.getScale().type) && isValidNumber(+value)) {\n value = (+value as number).toFixed(2);\n }\n return value;\n }\n\n /**\n * clear axis value of crosshair\n */\n clearAxisValue() {\n this._currValueX.clear();\n this._currValueY.clear();\n }\n\n /**\n * set axis value of crosshair\n */\n setAxisValue(v: StringOrNumber, axis: IAxis) {\n if (isXAxis(axis.getOrient() as unknown as IOrientType)) {\n this._currValueX.set(axis.getSpecIndex(), {\n v,\n axis\n });\n } else {\n this._currValueY.set(axis.getSpecIndex(), {\n v,\n axis\n });\n }\n }\n /**\n * 根据位置获取所有轴上的value\n * @param axisMap\n * @param p\n * @returns\n */\n private _getAllAxisValues(\n axisMap: IAxisInfo<IAxis>,\n p: number,\n currValue: Map<number, { v: StringOrNumber; axis: IAxis }>,\n vertical: boolean\n ): boolean {\n // 首先不能存在两个离散轴\n let discrete = false;\n axisMap.forEach(item => {\n if (isDiscrete(item.axis.getScale().type)) {\n if (!discrete) {\n discrete = true;\n } else {\n this.enable = false;\n }\n }\n });\n if (!this.enable) {\n return false;\n }\n // 获取所有的value\n axisMap.forEach((item, id) => {\n const axis = item.axis;\n currValue.set(id, {\n v: this._getValueAt(\n axis,\n p -\n (vertical\n ? axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x\n : axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y)\n ),\n axis\n });\n });\n return true;\n }\n\n protected _layoutCrosshair(relativeX: number, relativeY: number) {\n // 找到所有的包含这个点的轴\n const { xAxisMap, yAxisMap } = this._findAllAxisContains(relativeX, relativeY);\n if (xAxisMap && xAxisMap.size === 0 && yAxisMap && yAxisMap.size === 0) {\n if (this.enableRemain) {\n return;\n }\n // 隐藏\n this.hide();\n return;\n }\n // 删除之前的currValue\n this._currValueX.clear();\n this._currValueY.clear();\n // 将数据保存到这个对象中,如果不存在,就直接不执行后续逻辑\n xAxisMap && xAxisMap.size && this._getAllAxisValues(xAxisMap, relativeX, this._currValueX, true);\n yAxisMap && yAxisMap.size && this._getAllAxisValues(yAxisMap, relativeY, this._currValueY, false);\n\n this.layoutByValue(LayoutType.ALL);\n }\n\n hide() {\n // 隐藏\n this._xCrosshair && this._xCrosshair.hideAll();\n this._xTopLabel && this._xTopLabel.hideAll();\n this._xBottomLabel && this._xBottomLabel.hideAll();\n\n this._yCrosshair && this._yCrosshair.hideAll();\n this._yLeftLabel && this._yLeftLabel.hideAll();\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n\n layoutByValue(tag: number = LayoutType.ALL) {\n if (!this.enable) {\n return;\n }\n // 获取axisHelper\n const series = this._firstSeries<ICartesianSeries>();\n if (!series) {\n return;\n }\n let xCrossHairInfo: ICrosshairInfoX = {\n height: 0,\n leftPos: 0,\n topPos: 0,\n x: 0,\n bottom: { visible: false, text: '', dx: 0, dy: 0 },\n top: { visible: false, text: '', dx: 0, dy: 0 },\n visible: false,\n axis: null\n };\n let yCrossHairInfo: ICrosshairInfoY = {\n width: 0,\n leftPos: 0,\n topPos: 0,\n y: 0,\n left: { visible: false, text: '', dx: 0, dy: 0 },\n right: { visible: false, text: '', dx: 0, dy: 0 },\n visible: false,\n axis: null\n };\n // 计算x轴和y轴对应的region区域\n const getRegionArea = (outRegion: IBound, currentValue: Map<number, { v: StringOrNumber; axis: IAxis }>) => {\n currentValue.forEach(({ axis }) => {\n const regions = axis.getRegions();\n regions.forEach(r => {\n outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x);\n outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y);\n outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width);\n outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);\n });\n });\n };\n // 计算x和y的坐标\n let x = 0;\n let y = 0;\n if (this._currValueX.size) {\n const item = Array.from(this._currValueX.values())[0];\n x = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x;\n xCrossHairInfo.axis = item.axis;\n }\n if (this._currValueY.size) {\n const item = Array.from(this._currValueY.values())[0];\n y = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y;\n yCrossHairInfo.axis = item.axis;\n }\n\n xCrossHairInfo.visible = !!this._currValueX.size && Number.isFinite(x);\n yCrossHairInfo.visible = !!this._currValueY.size && Number.isFinite(y);\n\n const xRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n const yRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n getRegionArea(xRegion, this._currValueX);\n getRegionArea(yRegion, this._currValueY);\n\n let indexWidth;\n let valueHeight;\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (this._xHair) {\n this._currValueX.forEach(({ axis, v }) => {\n v = v ?? '';\n const xScale = axis.getScale();\n if (isDiscrete(xScale.type)) {\n indexWidth = (xScale as BandScale).bandwidth();\n } else if (isContinuous(xScale.type)) {\n const fieldX = series.fieldX[0];\n const fieldX2 = series.fieldX2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldX, fieldX2);\n if (datum) {\n const startX = series.dataToPositionX(datum);\n if (fieldX2) {\n indexWidth = Math.abs(startX - series.dataToPositionX1(datum));\n v = `${datum[fieldX]} ~ ${datum[fieldX2]}`;\n } else {\n indexWidth = 1;\n }\n x = startX;\n }\n }\n if (this._xHair.label?.visible) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'bottom') {\n xCrossHairInfo.bottom.visible = true;\n xCrossHairInfo.bottom.text = v;\n xCrossHairInfo.bottom.dx = 0;\n xCrossHairInfo.bottom.dy = labelOffset;\n } else if (axis.getOrient() === 'top') {\n xCrossHairInfo.top.visible = true;\n xCrossHairInfo.top.text = v;\n xCrossHairInfo.top.dx = 0;\n xCrossHairInfo.top.dy = -labelOffset;\n }\n }\n });\n }\n\n if (this._yHair) {\n this._currValueY.forEach(({ axis, v }) => {\n v = v ?? '';\n const yScale = axis.getScale();\n if (isDiscrete(yScale.type)) {\n valueHeight = (yScale as BandScale).bandwidth();\n } else if (isContinuous(yScale.type)) {\n const fieldY = series.fieldY[0];\n const fieldY2 = series.fieldY2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldY, fieldY2);\n if (datum) {\n const startY = series.dataToPositionY(datum);\n if (fieldY2) {\n valueHeight = Math.abs(startY - series.dataToPositionY1(datum));\n v = `${datum[fieldY]} ~ ${datum[fieldY2]}`;\n } else {\n valueHeight = 1;\n }\n y = startY;\n }\n }\n if (this._yHair.label?.visible) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'left') {\n yCrossHairInfo.left.visible = true;\n yCrossHairInfo.left.text = v;\n yCrossHairInfo.left.dx = -labelOffset;\n yCrossHairInfo.left.dy = 0;\n } else if (axis.getOrient() === 'right') {\n yCrossHairInfo.right.visible = true;\n yCrossHairInfo.right.text = v;\n yCrossHairInfo.right.dx = labelOffset;\n yCrossHairInfo.right.dy = 0;\n }\n }\n });\n }\n\n if (this.enableRemain && !xCrossHairInfo.visible && isValid(this._cacheXCrossHairInfo)) {\n xCrossHairInfo = this._cacheXCrossHairInfo;\n } else {\n xCrossHairInfo.leftPos = xRegion.x1;\n xCrossHairInfo.topPos = xRegion.y1;\n xCrossHairInfo.height = xRegion.y2 - xRegion.y1;\n xCrossHairInfo.x = x + this.getLayoutStartPoint().x;\n if (this._xHair?.label?.formatMethod) {\n const { top, bottom } = xCrossHairInfo;\n bottom.visible && (bottom.text = this._xHair.label.formatMethod(bottom.text, 'bottom') as string);\n top.visible && (top.text = this._xHair.label.formatMethod(top.text, 'top') as string);\n }\n }\n\n if (this.enableRemain && !yCrossHairInfo.visible && isValid(this._cacheYCrossHairInfo)) {\n yCrossHairInfo = this._cacheYCrossHairInfo;\n } else {\n yCrossHairInfo.leftPos = yRegion.x1;\n yCrossHairInfo.topPos = yRegion.y1;\n yCrossHairInfo.width = yRegion.x2 - yRegion.x1;\n yCrossHairInfo.y = y + this.getLayoutStartPoint().y;\n if (this._yHair?.label?.formatMethod) {\n const { left, right } = yCrossHairInfo;\n left.visible && (left.text = this._yHair.label.formatMethod(left.text, 'left') as string);\n right.visible && (right.text = this._yHair.label.formatMethod(right.text, 'right') as string);\n }\n }\n\n if (tag) {\n LayoutType.HORIZONTAL && this._layoutHorizontal(yCrossHairInfo, valueHeight ?? 0);\n LayoutType.VERTICAL && this._layoutVertical(xCrossHairInfo, indexWidth ?? 0);\n }\n\n if (this.enableRemain) {\n this._cacheXCrossHairInfo = { ...xCrossHairInfo, _isCache: true };\n this._cacheYCrossHairInfo = { ...yCrossHairInfo, _isCache: true };\n }\n }\n\n private _layoutVertical(crosshairInfo: ICrosshairInfoX, bandWidth: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this._xHair) {\n return;\n }\n\n const { x, topPos, height, top, bottom, visible } = crosshairInfo;\n\n if (visible) {\n // 外部设置的size\n const type = this._xHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: x + bandWidth / 2, y: topPos },\n end: { x: x + bandWidth / 2, y: topPos + height }\n };\n } else if (type === 'rect') {\n const extend = this._getRectSize(this._xHair, bandWidth, crosshairInfo.axis);\n\n positionAttribute = {\n start: { x: x - extend / 2, y: topPos },\n end: { x: x + bandWidth + extend / 2, y: topPos + height }\n };\n }\n this._updateCrosshair('x', type, positionAttribute);\n // 文本\n if (top.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos,\n ...top,\n ...this._xHair.label,\n textStyle: {\n ...this._xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xTopLabel, updateAttrs, label => {\n label.name = 'crosshair-x-top-label';\n this._xTopLabel = label;\n });\n } else {\n this._xTopLabel && this._xTopLabel.hideAll();\n }\n\n if (bottom.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos + height,\n ...bottom,\n ...this._xHair.label,\n textStyle: {\n ...this._xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'top'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xBottomLabel, updateAttrs, label => {\n label.name = 'crosshair-x-bottom-label';\n this._xBottomLabel = label;\n });\n } else {\n this._xBottomLabel && this._xBottomLabel.hideAll();\n }\n }\n }\n\n private _layoutHorizontal(crosshairInfo: ICrosshairInfoY, bandHeight: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this._yHair) {\n return;\n }\n const { leftPos, width, y, left, right, visible } = crosshairInfo;\n if (visible) {\n const type = this._yHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: leftPos, y: y + bandHeight / 2 },\n end: { x: leftPos + width, y: y + bandHeight / 2 }\n };\n } else if (type === 'rect') {\n const extend = this._getRectSize(this._yHair, bandHeight, crosshairInfo.axis);\n\n positionAttribute = {\n start: { x: leftPos, y: y - extend / 2 },\n end: { x: leftPos + width, y: y + bandHeight + extend / 2 }\n };\n }\n this._updateCrosshair('y', type, positionAttribute);\n\n // 文本\n if (left.visible) {\n const updateAttrs = {\n x: leftPos,\n y: y + bandHeight / 2,\n ...left,\n ...this._yHair.label,\n textStyle: {\n ...this._yHair.label?.textStyle,\n textAlign: 'right',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n\n this._updateCrosshairLabel(this._yLeftLabel, updateAttrs, label => {\n label.name = 'crosshair-y-left-label';\n this._yLeftLabel = label;\n });\n } else {\n this._yLeftLabel && this._yLeftLabel.hideAll();\n }\n\n if (right.visible) {\n const updateAttrs = {\n x: leftPos + width,\n y: y + bandHeight,\n ...right,\n ...this._yHair.label,\n textStyle: {\n ...this._yHair.label?.textStyle,\n textAlign: 'left',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._yRightLabel, updateAttrs, label => {\n label.name = 'crosshair-y-right-label';\n this._yRightLabel = label;\n });\n } else {\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n }\n }\n\n private _getRectSize(hair: IHair, bandSize: number, axis: IAxis) {\n // 外部设置的size\n let extend = 0;\n if (hair.style?.sizePercent) {\n extend = (hair.style.sizePercent - 1) * bandSize;\n } else if (typeof hair.style?.size === 'number') {\n extend = hair.style.size - bandSize;\n } else if (typeof hair.style?.size === 'function') {\n const axisRect = axis.getLayoutRect();\n extend = hair.style.size(axisRect, axis) - bandSize;\n }\n\n return extend;\n }\n\n protected _parseFieldInfo() {\n const { xField, yField } = this._spec as ICartesianCrosshairSpec;\n if (xField && xField.visible) {\n this._xHair = this._parseField(xField, 'xField');\n }\n if (yField && yField.visible) {\n this._yHair = this._parseField(yField, 'yField');\n }\n }\n\n private _updateCrosshair(dim: string, type: string, attributes: any) {\n const container = this.getContainer();\n let crosshair;\n let style;\n if (dim === 'x') {\n crosshair = this._xCrosshair;\n style = this._xHair.style;\n } else {\n crosshair = this._yCrosshair;\n style = this._yHair.style;\n }\n if (crosshair) {\n crosshair.setAttributes(attributes);\n } else {\n // 创建\n if (type === 'line') {\n crosshair = new LineCrosshair({\n ...attributes,\n lineStyle: style,\n zIndex: this.gridZIndex + 1, // 样式优化:线盖在面上\n disableTriggerEvent: this._option.disableTriggerEvent\n });\n } else if (type === 'rect') {\n crosshair = new RectCrosshair({\n ...attributes,\n rectStyle: style,\n zIndex: this.gridZIndex,\n disableTriggerEvent: this._option.disableTriggerEvent\n });\n }\n // 添加至场景树\n container?.add(crosshair as unknown as INode);\n if (dim === 'x') {\n this._xCrosshair = crosshair as unknown as IGroup;\n } else {\n this._yCrosshair = crosshair as unknown as IGroup;\n }\n }\n }\n\n private _updateCrosshairLabel(label: Tag, attributes: any, callback: (label: Tag) => void) {\n const container = this.getContainer();\n if (label) {\n label.setAttributes(attributes);\n } else {\n label = new Tag(attributes);\n callback(label);\n container?.add(label as unknown as INode);\n }\n limitTagInBounds(label, this._getLimitBounds());\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [\n this._xCrosshair,\n this._xTopLabel,\n this._xBottomLabel,\n this._yCrosshair,\n this._yLeftLabel,\n this._yRightLabel\n ] as unknown as IGraphic[];\n }\n}\n\nexport const registerCartesianCrossHair = () => {\n Factory.registerComponent(CartesianCrossHair.type, CartesianCrossHair);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\nimport { isArray, isValid, isValidNumber, isNil } from '@visactor/vutils';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { ICartesianCrosshairSpec } from './interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isDiscrete, isContinuous } from '@visactor/vscale';\nimport { LineCrosshair, RectCrosshair, Tag } from '@visactor/vrender-components';\nimport type { IAxisInfo, IBound, IHair } from './base';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseCrossHair } from './base';\nimport type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport { getDatumByValue, limitTagInBounds } from './util';\nimport { getAxisLabelOffset } from '../axis/util';\nimport type { IAxis } from '../axis/interface';\nimport type { IOrientType, StringOrNumber } from '../../typings';\nimport { isXAxis } from '../axis/cartesian/util/common';\nimport { Factory } from '../../core/factory';\nimport { LayoutType } from './config';\nimport type { IModelSpecInfo } from '../../model/interface';\n\ninterface ICrosshairInfoX {\n height: number;\n leftPos: number;\n rightPos: number;\n topPos: number;\n x: number;\n bottom: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n top: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n axis: IAxis;\n}\ninterface ICrosshairInfoY {\n width: number;\n leftPos: number;\n topPos: number;\n bottomPos: number;\n y: number;\n left: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n right: { visible: boolean; text: StringOrNumber; dx: number; dy: number };\n visible: boolean;\n _isCache?: boolean;\n axis: IAxis;\n}\n\n// 1. crosshair保存上次记录的x和y轴dimension\n// 2. 每次交互触发时,首先转化成dimension保存,然后依据dimension计算x和y绘制\n// 3. 如果同方向同时有多个轴,那么同时保存这些轴的数据\n// 4. 如果同方向的轴有多个离散轴,那么直接不显示\n\nexport class CartesianCrossHair<T extends ICartesianCrosshairSpec = ICartesianCrosshairSpec> extends BaseCrossHair<T> {\n static specKey = 'crosshair';\n\n static type = ComponentTypeEnum.cartesianCrosshair;\n type = ComponentTypeEnum.cartesianCrosshair;\n name: string = ComponentTypeEnum.cartesianCrosshair;\n\n private _xHair: IHair | undefined;\n private _yHair: IHair | undefined;\n\n private _cacheXCrossHairInfo: ICrosshairInfoX | undefined;\n private _cacheYCrossHairInfo: ICrosshairInfoY | undefined;\n\n private _xCrosshair: IGroup;\n private _xTopLabel: Tag;\n private _xBottomLabel: Tag;\n\n private _yCrosshair: IGroup;\n private _yLeftLabel: Tag;\n private _yRightLabel: Tag;\n\n private _currValueX: Map<number, { v: StringOrNumber; axis: IAxis }>;\n private _currValueY: Map<number, { v: StringOrNumber; axis: IAxis }>;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const crosshairSpec = chartSpec[this.specKey];\n if (isNil(crosshairSpec)) {\n return undefined;\n }\n if (!isArray(crosshairSpec)) {\n if (crosshairSpec.xField || crosshairSpec.yField) {\n return [\n {\n spec: crosshairSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.cartesianCrosshair\n }\n ];\n }\n return undefined;\n }\n const specInfos: IModelSpecInfo[] = [];\n crosshairSpec.forEach((s: ICartesianCrosshairSpec, i: number) => {\n if (s.xField || s.yField) {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.cartesianCrosshair\n });\n }\n });\n return specInfos;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._currValueX = new Map();\n this._currValueY = new Map();\n }\n\n protected _showDefaultCrosshairBySpec() {\n const { xField, yField } = this._spec as ICartesianCrosshairSpec;\n if (xField?.visible && xField.defaultSelect) {\n const { axisIndex, datum } = xField.defaultSelect;\n this._defaultCrosshair(axisIndex, datum, LayoutType.VERTICAL);\n }\n if (yField?.visible && yField.defaultSelect) {\n const { axisIndex, datum } = yField.defaultSelect;\n this._defaultCrosshair(axisIndex, datum, LayoutType.HORIZONTAL);\n }\n }\n\n private _defaultCrosshair(axisIndex: number, datum: StringOrNumber, tag: number) {\n const axis = this._option.getComponentsByKey('axes').find(c => c.getSpecIndex() === axisIndex) as IAxis;\n if (!axis) {\n return;\n }\n // 横轴\n if (tag === LayoutType.VERTICAL) {\n this._currValueX.clear();\n this._currValueX.set(axisIndex, { axis, v: datum });\n } else {\n this._currValueY.clear();\n this._currValueY.set(axisIndex, { axis, v: datum });\n }\n this.layoutByValue(tag);\n }\n\n /**\n * 查找所有落在x和y区域的轴\n * @param relativeX\n * @param relativeY\n */\n private _findAllAxisContains(relativeX: number, relativeY: number) {\n const xAxisMap = this._getAxisInfoByField<IAxis>('x');\n const yAxisMap = this._getAxisInfoByField<IAxis>('y');\n return {\n xAxisMap: this._filterAxisByPoint(xAxisMap, relativeX, relativeY),\n yAxisMap: this._filterAxisByPoint(yAxisMap, relativeX, relativeY)\n };\n }\n\n private _getValueAt(axis: IAxis, p: number): number | string {\n let value = axis.getScale().invert(p);\n if (isContinuous(axis.getScale().type) && isValidNumber(+value)) {\n value = (+value as number).toFixed(2);\n }\n return value;\n }\n\n /**\n * clear axis value of crosshair\n */\n clearAxisValue() {\n this._currValueX.clear();\n this._currValueY.clear();\n }\n\n /**\n * set axis value of crosshair\n */\n setAxisValue(v: StringOrNumber, axis: IAxis) {\n if (isXAxis(axis.getOrient() as unknown as IOrientType)) {\n this._currValueX.set(axis.getSpecIndex(), {\n v,\n axis\n });\n } else {\n this._currValueY.set(axis.getSpecIndex(), {\n v,\n axis\n });\n }\n }\n /**\n * 根据位置获取所有轴上的value\n * @param axisMap\n * @param p\n * @returns\n */\n private _getAllAxisValues(\n axisMap: IAxisInfo<IAxis>,\n p: number,\n currValue: Map<number, { v: StringOrNumber; axis: IAxis }>,\n vertical: boolean\n ): boolean {\n // 首先不能存在两个离散轴\n let discrete = false;\n axisMap.forEach(item => {\n if (isDiscrete(item.axis.getScale().type)) {\n if (!discrete) {\n discrete = true;\n } else {\n this.enable = false;\n }\n }\n });\n if (!this.enable) {\n return false;\n }\n // 获取所有的value\n axisMap.forEach((item, id) => {\n const axis = item.axis;\n currValue.set(id, {\n v: this._getValueAt(\n axis,\n p -\n (vertical\n ? axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x\n : axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y)\n ),\n axis\n });\n });\n return true;\n }\n\n protected _layoutCrosshair(relativeX: number, relativeY: number) {\n // 找到所有的包含这个点的轴\n const { xAxisMap, yAxisMap } = this._findAllAxisContains(relativeX, relativeY);\n if ((xAxisMap && xAxisMap.size === 0) || (yAxisMap && yAxisMap.size === 0)) {\n if (this.enableRemain) {\n return;\n }\n // 隐藏\n this.hide();\n return;\n }\n // 删除之前的currValue\n this._currValueX.clear();\n this._currValueY.clear();\n // 将数据保存到这个对象中,如果不存在,就直接不执行后续逻辑\n xAxisMap && xAxisMap.size && this._getAllAxisValues(xAxisMap, relativeX, this._currValueX, true);\n yAxisMap && yAxisMap.size && this._getAllAxisValues(yAxisMap, relativeY, this._currValueY, false);\n\n this.layoutByValue(LayoutType.ALL);\n }\n\n hide() {\n // 隐藏\n this._xCrosshair && this._xCrosshair.hideAll();\n this._xTopLabel && this._xTopLabel.hideAll();\n this._xBottomLabel && this._xBottomLabel.hideAll();\n\n this._yCrosshair && this._yCrosshair.hideAll();\n this._yLeftLabel && this._yLeftLabel.hideAll();\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n\n // 计算x轴和y轴对应的region区域\n _setRegionArea(outRegion: IBound, currentValue: Map<number, { v: StringOrNumber; axis: IAxis }>) {\n currentValue.forEach(({ axis }) => {\n const regions = axis.getRegions();\n regions.forEach(r => {\n outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x);\n outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y);\n outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width);\n outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);\n });\n });\n }\n\n layoutByValue(tag: number = LayoutType.ALL) {\n if (!this.enable) {\n return;\n }\n // 获取axisHelper\n const series = this._firstSeries<ICartesianSeries>();\n if (!series) {\n return;\n }\n const layoutX = tag & LayoutType.VERTICAL;\n const layoutY = tag & LayoutType.HORIZONTAL;\n\n // 计算x和y的坐标\n let xAxis = null;\n let yAxis = null;\n let x = 0;\n let y = 0;\n if (this._currValueX.size) {\n const item = Array.from(this._currValueX.values())[0];\n x = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().x - this.getLayoutStartPoint().x;\n xAxis = item.axis;\n }\n if (this._currValueY.size) {\n const item = Array.from(this._currValueY.values())[0];\n y = item.axis.getScale().scale(item.v) + item.axis.getLayoutStartPoint().y - this.getLayoutStartPoint().y;\n yAxis = item.axis;\n }\n\n const xVisible = !!this._currValueX.size && Number.isFinite(x);\n const yVisible = !!this._currValueY.size && Number.isFinite(y);\n const xUseCache = this.enableRemain && !xVisible && isValid(this._cacheXCrossHairInfo);\n const yUseCache = this.enableRemain && !yVisible && isValid(this._cacheYCrossHairInfo);\n\n let xCrossHairInfo: ICrosshairInfoX;\n\n if (layoutX) {\n xCrossHairInfo = xUseCache\n ? this._cacheXCrossHairInfo\n : {\n height: 0,\n leftPos: 0,\n rightPos: 0,\n topPos: 0,\n x: 0,\n bottom: { visible: false, text: '', dx: 0, dy: 0 },\n top: { visible: false, text: '', dx: 0, dy: 0 },\n visible: xVisible,\n axis: xAxis\n };\n }\n\n let yCrossHairInfo: ICrosshairInfoY;\n if (layoutY) {\n yCrossHairInfo = yUseCache\n ? this._cacheYCrossHairInfo\n : {\n width: 0,\n leftPos: 0,\n topPos: 0,\n bottomPos: 0,\n y: 0,\n left: { visible: false, text: '', dx: 0, dy: 0 },\n right: { visible: false, text: '', dx: 0, dy: 0 },\n visible: yVisible,\n axis: yAxis\n };\n }\n\n let indexWidth;\n let offsetWidth: number = 0;\n let valueHeight;\n let offsetHeight: number = 0;\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (this._xHair) {\n this._currValueX.forEach(({ axis, v }) => {\n v = v ?? '';\n const xScale = axis.getScale();\n if (isDiscrete(xScale.type)) {\n indexWidth = (xScale as BandScale).bandwidth();\n\n if (indexWidth === 0 && (xScale as BandScale).step) {\n offsetWidth = (xScale as BandScale).step();\n }\n } else if (isContinuous(xScale.type)) {\n const fieldX = series.fieldX[0];\n const fieldX2 = series.fieldX2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldX, fieldX2);\n if (datum) {\n const startX = series.dataToPositionX(datum);\n if (fieldX2) {\n indexWidth = Math.abs(startX - series.dataToPositionX1(datum));\n v = `${datum[fieldX]} ~ ${datum[fieldX2]}`;\n } else {\n indexWidth = 1;\n }\n x = startX;\n }\n }\n if (xCrossHairInfo && this._xHair.label?.visible && !xUseCache) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'bottom') {\n xCrossHairInfo.bottom.visible = true;\n xCrossHairInfo.bottom.text = v;\n xCrossHairInfo.bottom.dx = 0;\n xCrossHairInfo.bottom.dy = labelOffset;\n } else if (axis.getOrient() === 'top') {\n xCrossHairInfo.top.visible = true;\n xCrossHairInfo.top.text = v;\n xCrossHairInfo.top.dx = 0;\n xCrossHairInfo.top.dy = -labelOffset;\n }\n }\n });\n }\n\n if (this._yHair) {\n this._currValueY.forEach(({ axis, v }) => {\n v = v ?? '';\n const yScale = axis.getScale();\n if (isDiscrete(yScale.type)) {\n valueHeight = (yScale as BandScale).bandwidth();\n\n if (valueHeight === 0 && (yScale as BandScale).step) {\n offsetHeight = (yScale as BandScale).step();\n }\n } else if (isContinuous(yScale.type)) {\n const fieldY = series.fieldY[0];\n const fieldY2 = series.fieldY2;\n const datum = getDatumByValue(series.getViewData().latestData, +v, fieldY, fieldY2);\n if (datum) {\n const startY = series.dataToPositionY(datum);\n if (fieldY2) {\n valueHeight = Math.abs(startY - series.dataToPositionY1(datum));\n v = `${datum[fieldY]} ~ ${datum[fieldY2]}`;\n } else {\n valueHeight = 1;\n }\n y = startY;\n }\n }\n if (yCrossHairInfo && this._yHair.label?.visible && !yUseCache) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'left') {\n yCrossHairInfo.left.visible = true;\n yCrossHairInfo.left.text = v;\n yCrossHairInfo.left.dx = -labelOffset;\n yCrossHairInfo.left.dy = 0;\n } else if (axis.getOrient() === 'right') {\n yCrossHairInfo.right.visible = true;\n yCrossHairInfo.right.text = v;\n yCrossHairInfo.right.dx = labelOffset;\n yCrossHairInfo.right.dy = 0;\n }\n }\n });\n }\n\n if (xCrossHairInfo && !xUseCache) {\n const xRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n this._setRegionArea(xRegion, this._currValueX);\n xCrossHairInfo.leftPos = xRegion.x1;\n xCrossHairInfo.rightPos = xRegion.x2;\n xCrossHairInfo.topPos = xRegion.y1;\n xCrossHairInfo.height = xRegion.y2 - xRegion.y1;\n xCrossHairInfo.x = x + this.getLayoutStartPoint().x;\n if (this._xHair?.label?.formatMethod) {\n const { top, bottom } = xCrossHairInfo;\n bottom.visible && (bottom.text = this._xHair.label.formatMethod(bottom.text, 'bottom') as string);\n top.visible && (top.text = this._xHair.label.formatMethod(top.text, 'top') as string);\n }\n }\n\n if (yCrossHairInfo && !yUseCache) {\n const yRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n this._setRegionArea(yRegion, this._currValueY);\n yCrossHairInfo.leftPos = yRegion.x1;\n yCrossHairInfo.topPos = yRegion.y1;\n yCrossHairInfo.bottomPos = yRegion.y2;\n yCrossHairInfo.width = yRegion.x2 - yRegion.x1;\n yCrossHairInfo.y = y + this.getLayoutStartPoint().y;\n if (this._yHair?.label?.formatMethod) {\n const { left, right } = yCrossHairInfo;\n left.visible && (left.text = this._yHair.label.formatMethod(left.text, 'left') as string);\n right.visible && (right.text = this._yHair.label.formatMethod(right.text, 'right') as string);\n }\n }\n\n if (layoutX && xCrossHairInfo) {\n this._layoutVertical(xCrossHairInfo, indexWidth ?? 0, offsetWidth);\n if (this.enableRemain) {\n this._cacheXCrossHairInfo = { ...xCrossHairInfo, _isCache: true };\n }\n }\n\n if (layoutY && yCrossHairInfo) {\n this._layoutHorizontal(yCrossHairInfo, valueHeight ?? 0, offsetHeight);\n if (this.enableRemain) {\n this._cacheYCrossHairInfo = { ...yCrossHairInfo, _isCache: true };\n }\n }\n }\n\n private _layoutVertical(crosshairInfo: ICrosshairInfoX, bandWidth: number, offsetWidth: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this._xHair) {\n return;\n }\n\n const { x, topPos, height, top, bottom, visible } = crosshairInfo;\n\n if (visible) {\n // 外部设置的size\n const type = this._xHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: x + bandWidth / 2, y: topPos },\n end: { x: x + bandWidth / 2, y: topPos + height }\n };\n } else if (type === 'rect') {\n const extend = this._getRectSize(this._xHair, bandWidth, crosshairInfo.axis);\n const { leftPos, rightPos } = crosshairInfo;\n\n positionAttribute = {\n start: { x: Math.max(x - extend / 2 - offsetWidth / 2, leftPos), y: topPos },\n end: { x: Math.min(x + bandWidth + extend / 2 + offsetWidth / 2, rightPos), y: topPos + height }\n };\n }\n this._updateCrosshair('x', type, positionAttribute);\n // 文本\n if (top.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos,\n ...top,\n ...this._xHair.label,\n textStyle: {\n ...this._xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xTopLabel, updateAttrs, label => {\n label.name = 'crosshair-x-top-label';\n this._xTopLabel = label;\n });\n } else {\n this._xTopLabel && this._xTopLabel.hideAll();\n }\n\n if (bottom.visible) {\n const updateAttrs = {\n x: x + bandWidth / 2,\n y: topPos + height,\n ...bottom,\n ...this._xHair.label,\n textStyle: {\n ...this._xHair.label?.textStyle,\n textAlign: 'center',\n textBaseline: 'top'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._xBottomLabel, updateAttrs, label => {\n label.name = 'crosshair-x-bottom-label';\n this._xBottomLabel = label;\n });\n } else {\n this._xBottomLabel && this._xBottomLabel.hideAll();\n }\n }\n }\n\n private _layoutHorizontal(crosshairInfo: ICrosshairInfoY, bandHeight: number, offsetHeight: number) {\n if ((crosshairInfo._isCache && this.enableRemain) || !this._yHair) {\n return;\n }\n const { leftPos, width, y, left, right, visible } = crosshairInfo;\n if (visible) {\n const type = this._yHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n start: { x: leftPos, y: y + bandHeight / 2 },\n end: { x: leftPos + width, y: y + bandHeight / 2 }\n };\n } else if (type === 'rect') {\n const extend = this._getRectSize(this._yHair, bandHeight, crosshairInfo.axis);\n const { topPos, bottomPos } = crosshairInfo;\n\n positionAttribute = {\n start: { x: leftPos, y: Math.max(y - extend / 2 - offsetHeight / 2, topPos) },\n end: { x: leftPos + width, y: Math.min(y + bandHeight + extend / 2 + offsetHeight / 2, bottomPos) }\n };\n }\n this._updateCrosshair('y', type, positionAttribute);\n\n // 文本\n if (left.visible) {\n const updateAttrs = {\n x: leftPos,\n y: y + bandHeight / 2,\n ...left,\n ...this._yHair.label,\n textStyle: {\n ...this._yHair.label?.textStyle,\n textAlign: 'right',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n\n this._updateCrosshairLabel(this._yLeftLabel, updateAttrs, label => {\n label.name = 'crosshair-y-left-label';\n this._yLeftLabel = label;\n });\n } else {\n this._yLeftLabel && this._yLeftLabel.hideAll();\n }\n\n if (right.visible) {\n const updateAttrs = {\n x: leftPos + width,\n y: y + bandHeight,\n ...right,\n ...this._yHair.label,\n textStyle: {\n ...this._yHair.label?.textStyle,\n textAlign: 'left',\n textBaseline: 'middle'\n },\n zIndex: this.labelZIndex\n };\n this._updateCrosshairLabel(this._yRightLabel, updateAttrs, label => {\n label.name = 'crosshair-y-right-label';\n this._yRightLabel = label;\n });\n } else {\n this._yRightLabel && this._yRightLabel.hideAll();\n }\n }\n }\n\n private _getRectSize(hair: IHair, bandSize: number, axis: IAxis) {\n // 外部设置的size\n let extend = 0;\n if (hair.style?.sizePercent) {\n extend = (hair.style.sizePercent - 1) * bandSize;\n } else if (typeof hair.style?.size === 'number') {\n extend = hair.style.size - bandSize;\n } else if (typeof hair.style?.size === 'function') {\n const axisRect = axis.getLayoutRect();\n extend = hair.style.size(axisRect, axis) - bandSize;\n }\n\n return extend;\n }\n\n protected _parseFieldInfo() {\n const { xField, yField } = this._spec as ICartesianCrosshairSpec;\n if (xField && xField.visible) {\n this._xHair = this._parseField(xField, 'xField');\n }\n if (yField && yField.visible) {\n this._yHair = this._parseField(yField, 'yField');\n }\n }\n\n private _updateCrosshair(dim: string, type: string, attributes: any) {\n const container = this.getContainer();\n let crosshair;\n if (dim === 'x') {\n crosshair = this._xCrosshair;\n } else {\n crosshair = this._yCrosshair;\n }\n if (crosshair) {\n crosshair.setAttributes(attributes);\n } else {\n const style = dim === 'x' ? this._xHair.style : this._yHair.style;\n // 创建\n if (type === 'line') {\n crosshair = new LineCrosshair({\n ...attributes,\n lineStyle: style,\n zIndex: this.gridZIndex + 1, // 样式优化:线盖在面上\n disableTriggerEvent: this._option.disableTriggerEvent\n });\n } else if (type === 'rect') {\n crosshair = new RectCrosshair({\n ...attributes,\n rectStyle: style,\n zIndex: this.gridZIndex,\n disableTriggerEvent: this._option.disableTriggerEvent\n });\n }\n // 添加至场景树\n container?.add(crosshair as unknown as INode);\n if (dim === 'x') {\n this._xCrosshair = crosshair as unknown as IGroup;\n } else {\n this._yCrosshair = crosshair as unknown as IGroup;\n }\n }\n }\n\n private _updateCrosshairLabel(label: Tag, attributes: any, callback: (label: Tag) => void) {\n const container = this.getContainer();\n if (label) {\n label.setAttributes(attributes);\n } else {\n label = new Tag(attributes);\n callback(label);\n container?.add(label as unknown as INode);\n }\n limitTagInBounds(label, this._getLimitBounds());\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [\n this._xCrosshair,\n this._xTopLabel,\n this._xBottomLabel,\n this._yCrosshair,\n this._yLeftLabel,\n this._yRightLabel\n ] as unknown as IGraphic[];\n }\n}\n\nexport const registerCartesianCrossHair = () => {\n Factory.registerComponent(CartesianCrossHair.type, CartesianCrossHair);\n};\n"]}
|
|
@@ -20,6 +20,6 @@ export var LayoutType;
|
|
|
20
20
|
|
|
21
21
|
!function(LayoutType) {
|
|
22
22
|
LayoutType[LayoutType.ALL = 3] = "ALL", LayoutType[LayoutType.HORIZONTAL = 2] = "HORIZONTAL",
|
|
23
|
-
LayoutType[LayoutType.VERTICAL = 1] = "VERTICAL"
|
|
23
|
+
LayoutType[LayoutType.VERTICAL = 1] = "VERTICAL";
|
|
24
24
|
}(LayoutType || (LayoutType = {}));
|
|
25
25
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,qCAAqC,CAAC,IAAgB;IACpE,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAC5F,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;QACrD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;YACrC,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,qCAAqC,CAAC,IAAgB;IACpE,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAC5F,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;QACrD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;YACrC,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAAY,CAAA;IACZ,uDAAmB,CAAA;IACnB,mDAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB","file":"config.js","sourcesContent":["import type { RenderMode } from '../../typings/spec';\nimport { RenderModeEnum } from '../../typings/spec';\nimport { isMiniAppLikeMode, isMobileLikeMode } from '../../util';\n\nexport function getDefaultCrosshairTriggerEventByMode(mode: RenderMode) {\n if (mode === RenderModeEnum['desktop-browser'] || mode === RenderModeEnum['desktop-miniApp']) {\n return {\n click: 'pointertap',\n hover: 'pointermove',\n hoverOut: 'pointerleave',\n clickOut: 'pointerleave'\n };\n }\n\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n return {\n click: 'tap',\n hover: ['pointerdown', 'pointermove'],\n hoverOut: 'pointerleave',\n clickOut: 'pointerleave'\n };\n }\n\n return null;\n}\n\nexport enum LayoutType {\n ALL = 0b0011,\n HORIZONTAL = 0b0010,\n VERTICAL = 0b0001\n}\n"]}
|
|
@@ -11,7 +11,8 @@ export interface ICrossHair extends IComponent {
|
|
|
11
11
|
export type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];
|
|
12
12
|
export interface ICommonCrosshairSpec extends IComponentSpec {
|
|
13
13
|
trigger?: CrossHairTrigger;
|
|
14
|
-
triggerOff?: CrossHairTrigger | 'none';
|
|
14
|
+
triggerOff?: CrossHairTrigger | 'none' | number;
|
|
15
|
+
lockAfterClick?: boolean;
|
|
15
16
|
labelZIndex?: number;
|
|
16
17
|
gridZIndex?: number;
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';\nimport type { IAxis } from '../../axis/interface';\nimport type { IComponentSpec } from '../../base/interface';\nimport type { IComponent } from '../../interface';\n\nexport interface ICrossHair extends IComponent {\n clearAxisValue?: () => void;\n setAxisValue?: (v: StringOrNumber, axis: IAxis) => void;\n layoutByValue?: (v?: number) => void;\n hide?: () => void;\n}\n\nexport type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];\n\nexport interface ICommonCrosshairSpec extends IComponentSpec {\n /**\n * 是否可以通过 点击 固定住一组 crosshair,也可以同时触发。\n * @default 'hover'\n */\n trigger?: CrossHairTrigger;\n /**\n * 隐藏crosshair的触发方式(目前仅支持和trigger一致的设置以及none)\n */\n triggerOff?: CrossHairTrigger | 'none';\n /**\n * crosshair 文本的显示层级\n */\n labelZIndex?: number;\n /**\n * crosshair 辅助图形的显示层级\n */\n gridZIndex?: number;\n}\n\nexport interface ICartesianCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 笛卡尔坐标系下 x 轴上 crosshair 配置\n */\n xField?: ICrosshairCategoryFieldSpec;\n /**\n * 笛卡尔坐标系下 y 轴上 crosshair 配置\n */\n yField?: ICrosshairCategoryFieldSpec;\n}\n\nexport interface IPolarCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 极坐标系下 categoryField 字段对应轴上的 crosshair 配置\n */\n categoryField?: ICrosshairCategoryFieldSpec;\n /**\n * 极坐标系下 valueField 字段对应轴上的 crosshair 配置\n */\n valueField?: ICrosshairValueFieldSpec;\n}\nexport interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec | Omit<ICrosshairRectSpec, 'width'>;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport interface ICrosshairValueFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport type ICrosshairLineStyle = Pick<\n ILineMarkSpec,\n 'stroke' | 'strokeOpacity' | 'opacity' | 'lineDash' | 'lineWidth'\n>;\nexport type ICrosshairRectStyle = ICrosshairLineStyle & Pick<IRectMarkSpec, 'fill' | 'fillOpacity' | 'cornerRadius'>;\n\nexport interface ICrosshairLineSpec {\n visible?: boolean;\n type?: 'line';\n /**\n * 线宽\n * @default 2\n */\n width?: number;\n /** 极坐标系下是否平滑 */\n smooth?: boolean;\n style?: ICrosshairLineStyle;\n}\n\nexport type ICrosshairRectWidthCallback = (axisSize: { width: number; height: number }, axis: IAxis) => number;\n\nexport interface ICrosshairRectSpec {\n visible?: boolean;\n type?: 'rect';\n /**\n * 字符串xx%表示此处是内容区间的百分比,数字表示宽度像素,\n * 仅支持笛卡尔坐标系下的 crosshair 配置\n * @default '100%''\n */\n width?: number | string | ICrosshairRectWidthCallback;\n style?: ICrosshairRectStyle;\n}\n\nexport interface ICrosshairLabelSpec {\n visible?: boolean;\n /**\n * label 文本格式化方法\n * @param text\n * @returns\n */\n formatMethod?: (text: StringOrNumber | string[]) => string | string[];\n /**\n * 文本样式配置\n */\n style?: Partial<ITextMarkSpec>;\n /**\n * 文本背景相关配置\n */\n labelBackground?: ICrosshairLabelBackgroundSpec;\n}\n\nexport interface ICrosshairLabelBackgroundSpec {\n /**\n * 是否显示背景,默认为 true\n */\n visible?: boolean;\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 内部边距\n */\n padding?: IPadding | number | number[];\n style?: Partial<IRectMarkSpec>;\n}\n\nexport interface ICrosshairDataBindSpec {\n /**\n * 声明 crosshair 绑定的轴索引,如果没有声明,则会默认绑定所有同 crosshair 位置相对应的轴。\n */\n bindingAxesIndex?: number[];\n /**\n * crosshair 初始化显示信息,通过该配置可在图表绘制时默认展示 crosshair 组件。\n */\n defaultSelect?: {\n /**\n * 声明要显示数据的轴索引\n */\n axisIndex: number;\n /**\n * 声明显示的数据\n */\n datum: StringOrNumber;\n };\n}\n\nexport type ICrosshairSpec = ICartesianCrosshairSpec | IPolarCrosshairSpec;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';\nimport type { IAxis } from '../../axis/interface';\nimport type { IComponentSpec } from '../../base/interface';\nimport type { IComponent } from '../../interface';\n\nexport interface ICrossHair extends IComponent {\n clearAxisValue?: () => void;\n setAxisValue?: (v: StringOrNumber, axis: IAxis) => void;\n layoutByValue?: (v?: number) => void;\n hide?: () => void;\n}\n\nexport type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];\n\nexport interface ICommonCrosshairSpec extends IComponentSpec {\n /**\n * 是否可以通过 点击 固定住一组 crosshair,也可以同时触发。\n * @default 'hover'\n */\n trigger?: CrossHairTrigger;\n /**\n * 隐藏crosshair的触发方式(目前仅支持和trigger一致的设置以及none)\n */\n triggerOff?: CrossHairTrigger | 'none' | number;\n /**\n * 点击后锁定,只有点击才可以更新位置或者解锁\n *\n * @since 1.9.0\n */\n lockAfterClick?: boolean;\n /**\n * crosshair 文本的显示层级\n */\n labelZIndex?: number;\n /**\n * crosshair 辅助图形的显示层级\n */\n gridZIndex?: number;\n}\n\nexport interface ICartesianCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 笛卡尔坐标系下 x 轴上 crosshair 配置\n */\n xField?: ICrosshairCategoryFieldSpec;\n /**\n * 笛卡尔坐标系下 y 轴上 crosshair 配置\n */\n yField?: ICrosshairCategoryFieldSpec;\n}\n\nexport interface IPolarCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 极坐标系下 categoryField 字段对应轴上的 crosshair 配置\n */\n categoryField?: ICrosshairCategoryFieldSpec;\n /**\n * 极坐标系下 valueField 字段对应轴上的 crosshair 配置\n */\n valueField?: ICrosshairValueFieldSpec;\n}\nexport interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec | Omit<ICrosshairRectSpec, 'width'>;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport interface ICrosshairValueFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport type ICrosshairLineStyle = Pick<\n ILineMarkSpec,\n 'stroke' | 'strokeOpacity' | 'opacity' | 'lineDash' | 'lineWidth'\n>;\nexport type ICrosshairRectStyle = ICrosshairLineStyle & Pick<IRectMarkSpec, 'fill' | 'fillOpacity' | 'cornerRadius'>;\n\nexport interface ICrosshairLineSpec {\n visible?: boolean;\n type?: 'line';\n /**\n * 线宽\n * @default 2\n */\n width?: number;\n /** 极坐标系下是否平滑 */\n smooth?: boolean;\n style?: ICrosshairLineStyle;\n}\n\nexport type ICrosshairRectWidthCallback = (axisSize: { width: number; height: number }, axis: IAxis) => number;\n\nexport interface ICrosshairRectSpec {\n visible?: boolean;\n type?: 'rect';\n /**\n * 字符串xx%表示此处是内容区间的百分比,数字表示宽度像素,\n * 仅支持笛卡尔坐标系下的 crosshair 配置\n * @default '100%''\n */\n width?: number | string | ICrosshairRectWidthCallback;\n style?: ICrosshairRectStyle;\n}\n\nexport interface ICrosshairLabelSpec {\n visible?: boolean;\n /**\n * label 文本格式化方法\n * @param text\n * @returns\n */\n formatMethod?: (text: StringOrNumber | string[]) => string | string[];\n /**\n * 文本样式配置\n */\n style?: Partial<ITextMarkSpec>;\n /**\n * 文本背景相关配置\n */\n labelBackground?: ICrosshairLabelBackgroundSpec;\n}\n\nexport interface ICrosshairLabelBackgroundSpec {\n /**\n * 是否显示背景,默认为 true\n */\n visible?: boolean;\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 内部边距\n */\n padding?: IPadding | number | number[];\n style?: Partial<IRectMarkSpec>;\n}\n\nexport interface ICrosshairDataBindSpec {\n /**\n * 声明 crosshair 绑定的轴索引,如果没有声明,则会默认绑定所有同 crosshair 位置相对应的轴。\n */\n bindingAxesIndex?: number[];\n /**\n * crosshair 初始化显示信息,通过该配置可在图表绘制时默认展示 crosshair 组件。\n */\n defaultSelect?: {\n /**\n * 声明要显示数据的轴索引\n */\n axisIndex: number;\n /**\n * 声明显示的数据\n */\n datum: StringOrNumber;\n };\n}\n\nexport type ICrosshairSpec = ICartesianCrosshairSpec | IPolarCrosshairSpec;\n"]}
|
|
@@ -39,14 +39,15 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
39
39
|
if (!isArray(crosshairSpec)) return crosshairSpec.categoryField || crosshairSpec.valueField ? [ {
|
|
40
40
|
spec: crosshairSpec,
|
|
41
41
|
specPath: [ this.specKey ],
|
|
42
|
+
specInfoPath: [ "component", this.specKey, 0 ],
|
|
42
43
|
type: ComponentTypeEnum.polarCrosshair
|
|
43
44
|
} ] : void 0;
|
|
44
45
|
const specInfos = [];
|
|
45
46
|
return crosshairSpec.forEach(((s, i) => {
|
|
46
47
|
(s.categoryField || s.valueField) && specInfos.push({
|
|
47
48
|
spec: s,
|
|
48
|
-
specIndex: i,
|
|
49
49
|
specPath: [ this.specKey, i ],
|
|
50
|
+
specInfoPath: [ "component", this.specKey, i ],
|
|
50
51
|
type: ComponentTypeEnum.polarCrosshair
|
|
51
52
|
});
|
|
52
53
|
})), specInfos;
|