@visactor/vchart 1.3.1 → 1.4.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +3 -3
- package/build/index.js +15097 -11432
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base-chart.d.ts +5 -0
- package/cjs/chart/base-chart.js +43 -24
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/common/common.d.ts +2 -0
- package/cjs/chart/common/common.js +15 -1
- package/cjs/chart/common/common.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +5 -0
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/compile/compiler.d.ts +2 -2
- package/cjs/compile/compiler.js +32 -13
- 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/mark/compilable-mark.d.ts +9 -4
- package/cjs/compile/mark/compilable-mark.js +20 -6
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +4 -2
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/signal/state-manager.d.ts +1 -1
- package/cjs/compile/signal/state-manager.js +1 -1
- package/cjs/compile/signal/state-manager.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +14 -13
- package/cjs/component/axis/base-axis.js +46 -37
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +64 -32
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface.d.ts +1 -0
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +2 -1
- package/cjs/component/axis/polar/axis.js +69 -51
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/base/base-component.js +2 -2
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +1 -1
- package/cjs/component/crosshair/base.js +4 -2
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +1 -1
- package/cjs/component/crosshair/cartesian.js +2 -2
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +1 -0
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +1 -1
- package/cjs/component/crosshair/polar.js +2 -2
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/label/label.d.ts +12 -6
- package/cjs/component/label/label.js +73 -58
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/totalLabel.js +4 -3
- package/cjs/component/label/totalLabel.js.map +1 -1
- package/cjs/component/label/util.d.ts +44 -6
- package/cjs/component/label/util.js +123 -7
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +2 -2
- package/cjs/component/tooltip/handler/base.js +15 -14
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/interface.d.ts +3 -3
- package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/util.d.ts +1 -1
- package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.d.ts +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +11 -12
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/event.d.ts +2 -1
- package/cjs/constant/event.js +1 -1
- package/cjs/constant/event.js.map +1 -1
- package/cjs/constant/index.d.ts +1 -1
- package/cjs/constant/index.js +1 -1
- package/cjs/constant/index.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +8 -0
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +12 -2
- package/cjs/core/vchart.js +51 -17
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/dimension-data.js +6 -4
- package/cjs/data/transforms/dimension-data.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.d.ts +0 -29
- package/cjs/data/transforms/dimension-statistics.js +31 -73
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/waterfall.js +4 -3
- package/cjs/data/transforms/waterfall.js.map +1 -1
- package/cjs/event/event-dispatcher.d.ts +2 -0
- package/cjs/event/event-dispatcher.js +13 -2
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/events/dimension/dimension-hover.js +1 -1
- package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
- package/cjs/mark/base/base-mark.js +4 -4
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +2 -1
- package/cjs/mark/interface/type.js +1 -1
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/label.d.ts +26 -0
- package/cjs/mark/label.js +34 -0
- package/cjs/mark/label.js.map +1 -0
- package/cjs/model/base-model.d.ts +1 -1
- package/cjs/model/interface.d.ts +1 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js +3 -4
- package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -1
- package/cjs/series/area/area.js +1 -1
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +5 -6
- package/cjs/series/base/base-series.js +16 -10
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/group.d.ts +2 -1
- package/cjs/series/base/group.js.map +1 -1
- package/cjs/series/funnel/funnel-3d.d.ts +2 -0
- package/cjs/series/funnel/funnel-3d.js +15 -21
- package/cjs/series/funnel/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +4 -2
- package/cjs/series/funnel/funnel.js +55 -53
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/gauge/gauge.js +2 -2
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/interface/series.d.ts +4 -5
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/line/line.js +1 -1
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/pie/pie-3d.js +2 -2
- package/cjs/series/pie/pie-3d.js.map +1 -1
- package/cjs/series/pie/pie.js +3 -3
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.js +5 -6
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/radar/radar.js +4 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +6 -2
- package/cjs/series/waterfall/waterfall.js +47 -46
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/theme/builtin/common/series/waterfall.js +1 -0
- package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
- package/cjs/theme/theme-manager.d.ts +1 -1
- package/cjs/theme/theme-manager.js +2 -2
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/typings/group.d.ts +8 -0
- package/cjs/{data/transforms/tick-data/interface.js → typings/group.js} +1 -1
- package/cjs/typings/group.js.map +1 -0
- package/cjs/typings/index.d.ts +1 -0
- package/cjs/typings/index.js +1 -1
- package/cjs/typings/index.js.map +1 -1
- package/cjs/typings/visual.d.ts +3 -3
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/env.js +1 -1
- package/cjs/util/env.js.map +1 -1
- package/cjs/util/math.d.ts +5 -19
- package/cjs/util/math.js +22 -120
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/spec/common.d.ts +2 -0
- package/cjs/util/spec/common.js +8 -3
- package/cjs/util/spec/common.js.map +1 -1
- package/cjs/util/spec/merge-spec.d.ts +4 -0
- package/cjs/util/spec/merge-spec.js +12 -2
- package/cjs/util/spec/merge-spec.js.map +1 -1
- package/cjs/util/style.js +1 -1
- package/cjs/util/style.js.map +1 -1
- package/cjs/util/text.d.ts +4 -3
- package/cjs/util/text.js +5 -8
- package/cjs/util/text.js.map +1 -1
- package/cjs/vchart-all.js +1 -1
- package/cjs/vchart-all.js.map +1 -1
- package/esm/chart/base-chart.d.ts +5 -0
- package/esm/chart/base-chart.js +44 -24
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/common/common.d.ts +2 -0
- package/esm/chart/common/common.js +16 -0
- package/esm/chart/common/common.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +5 -0
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/compile/compiler.d.ts +2 -2
- package/esm/compile/compiler.js +31 -14
- 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/mark/compilable-mark.d.ts +9 -4
- package/esm/compile/mark/compilable-mark.js +20 -6
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +4 -2
- package/esm/compile/mark/interface.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 +14 -13
- package/esm/component/axis/base-axis.js +43 -34
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +62 -28
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface.d.ts +1 -0
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +2 -1
- package/esm/component/axis/polar/axis.js +70 -53
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/base/base-component.js +2 -2
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +1 -1
- package/esm/component/crosshair/base.js +4 -2
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +1 -1
- package/esm/component/crosshair/cartesian.js +2 -2
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +1 -0
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +1 -1
- package/esm/component/crosshair/polar.js +2 -2
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/label/label.d.ts +12 -6
- package/esm/component/label/label.js +77 -58
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/totalLabel.js +4 -3
- package/esm/component/label/totalLabel.js.map +1 -1
- package/esm/component/label/util.d.ts +44 -6
- package/esm/component/label/util.js +121 -5
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/component/tooltip/handler/base.d.ts +2 -2
- package/esm/component/tooltip/handler/base.js +15 -14
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/interface.d.ts +3 -3
- package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/util.d.ts +1 -1
- package/esm/component/tooltip/handler/dom/util.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.d.ts +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +11 -12
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/event.d.ts +2 -1
- package/esm/constant/event.js +1 -1
- package/esm/constant/event.js.map +1 -1
- package/esm/constant/index.d.ts +1 -1
- package/esm/constant/index.js +1 -1
- package/esm/constant/index.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +8 -0
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +12 -2
- package/esm/core/vchart.js +49 -18
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/dimension-data.js +6 -4
- package/esm/data/transforms/dimension-data.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.d.ts +0 -29
- package/esm/data/transforms/dimension-statistics.js +28 -69
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/data/transforms/waterfall.js +4 -4
- package/esm/data/transforms/waterfall.js.map +1 -1
- package/esm/event/event-dispatcher.d.ts +2 -0
- package/esm/event/event-dispatcher.js +13 -2
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/events/dimension/dimension-hover.js +1 -1
- package/esm/event/events/dimension/dimension-hover.js.map +1 -1
- package/esm/mark/base/base-mark.js +5 -5
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/interface/type.d.ts +2 -1
- package/esm/mark/interface/type.js +1 -1
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/label.d.ts +26 -0
- package/esm/mark/label.js +30 -0
- package/esm/mark/label.js.map +1 -0
- package/esm/model/base-model.d.ts +1 -1
- package/esm/model/interface.d.ts +1 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js +3 -4
- package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +1 -1
- package/esm/series/area/area.js +1 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/base/base-series.d.ts +5 -6
- package/esm/series/base/base-series.js +16 -11
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/group.d.ts +2 -1
- package/esm/series/base/group.js.map +1 -1
- package/esm/series/funnel/funnel-3d.d.ts +2 -0
- package/esm/series/funnel/funnel-3d.js +15 -21
- package/esm/series/funnel/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +4 -2
- package/esm/series/funnel/funnel.js +56 -53
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/gauge/gauge.js +4 -2
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/interface/series.d.ts +4 -5
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/line/line.js +1 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/pie/pie-3d.js +4 -2
- package/esm/series/pie/pie-3d.js.map +1 -1
- package/esm/series/pie/pie.js +4 -4
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.js +7 -6
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/radar/radar.js +6 -6
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/waterfall/waterfall.d.ts +6 -2
- package/esm/series/waterfall/waterfall.js +49 -45
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/theme/builtin/common/series/waterfall.js +1 -0
- package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
- package/esm/theme/theme-manager.d.ts +1 -1
- package/esm/theme/theme-manager.js +3 -1
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/typings/group.d.ts +8 -0
- package/esm/typings/group.js +2 -0
- package/esm/typings/group.js.map +1 -0
- package/esm/typings/index.d.ts +1 -0
- package/esm/typings/index.js +2 -0
- package/esm/typings/index.js.map +1 -1
- package/esm/typings/visual.d.ts +3 -3
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/data.js.map +1 -1
- package/esm/util/env.js +1 -1
- package/esm/util/env.js.map +1 -1
- package/esm/util/math.d.ts +5 -19
- package/esm/util/math.js +5 -107
- package/esm/util/math.js.map +1 -1
- package/esm/util/spec/common.d.ts +2 -0
- package/esm/util/spec/common.js +8 -0
- package/esm/util/spec/common.js.map +1 -1
- package/esm/util/spec/merge-spec.d.ts +4 -0
- package/esm/util/spec/merge-spec.js +10 -1
- package/esm/util/spec/merge-spec.js.map +1 -1
- package/esm/util/style.js +1 -1
- package/esm/util/style.js.map +1 -1
- package/esm/util/text.d.ts +4 -3
- package/esm/util/text.js +6 -12
- package/esm/util/text.js.map +1 -1
- package/esm/vchart-all.js +1 -1
- package/esm/vchart-all.js.map +1 -1
- package/package.json +14 -13
- package/cjs/component/label/bar.d.ts +0 -9
- package/cjs/component/label/bar.js +0 -47
- package/cjs/component/label/bar.js.map +0 -1
- package/cjs/component/label/pie.d.ts +0 -5
- package/cjs/component/label/pie.js +0 -21
- package/cjs/component/label/pie.js.map +0 -1
- package/cjs/component/label/symbol.d.ts +0 -9
- package/cjs/component/label/symbol.js +0 -26
- package/cjs/component/label/symbol.js.map +0 -1
- package/cjs/data/transforms/tick-data/config.d.ts +0 -1
- package/cjs/data/transforms/tick-data/config.js +0 -6
- package/cjs/data/transforms/tick-data/config.js.map +0 -1
- package/cjs/data/transforms/tick-data/continuous.d.ts +0 -3
- package/cjs/data/transforms/tick-data/continuous.js +0 -44
- package/cjs/data/transforms/tick-data/continuous.js.map +0 -1
- package/cjs/data/transforms/tick-data/discrete/linear.d.ts +0 -3
- package/cjs/data/transforms/tick-data/discrete/linear.js +0 -90
- package/cjs/data/transforms/tick-data/discrete/linear.js.map +0 -1
- package/cjs/data/transforms/tick-data/discrete/polar-angle.d.ts +0 -3
- package/cjs/data/transforms/tick-data/discrete/polar-angle.js +0 -46
- package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +0 -1
- package/cjs/data/transforms/tick-data/index.d.ts +0 -4
- package/cjs/data/transforms/tick-data/index.js +0 -36
- package/cjs/data/transforms/tick-data/index.js.map +0 -1
- package/cjs/data/transforms/tick-data/interface.d.ts +0 -31
- package/cjs/data/transforms/tick-data/interface.js.map +0 -1
- package/cjs/data/transforms/tick-data/util.d.ts +0 -15
- package/cjs/data/transforms/tick-data/util.js +0 -80
- package/cjs/data/transforms/tick-data/util.js.map +0 -1
- package/esm/component/label/bar.d.ts +0 -9
- package/esm/component/label/bar.js +0 -39
- package/esm/component/label/bar.js.map +0 -1
- package/esm/component/label/pie.d.ts +0 -5
- package/esm/component/label/pie.js +0 -13
- package/esm/component/label/pie.js.map +0 -1
- package/esm/component/label/symbol.d.ts +0 -9
- package/esm/component/label/symbol.js +0 -20
- package/esm/component/label/symbol.js.map +0 -1
- package/esm/data/transforms/tick-data/config.d.ts +0 -1
- package/esm/data/transforms/tick-data/config.js +0 -2
- package/esm/data/transforms/tick-data/config.js.map +0 -1
- package/esm/data/transforms/tick-data/continuous.d.ts +0 -3
- package/esm/data/transforms/tick-data/continuous.js +0 -43
- package/esm/data/transforms/tick-data/continuous.js.map +0 -1
- package/esm/data/transforms/tick-data/discrete/linear.d.ts +0 -3
- package/esm/data/transforms/tick-data/discrete/linear.js +0 -81
- package/esm/data/transforms/tick-data/discrete/linear.js.map +0 -1
- package/esm/data/transforms/tick-data/discrete/polar-angle.d.ts +0 -3
- package/esm/data/transforms/tick-data/discrete/polar-angle.js +0 -41
- package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +0 -1
- package/esm/data/transforms/tick-data/index.d.ts +0 -4
- package/esm/data/transforms/tick-data/index.js +0 -21
- package/esm/data/transforms/tick-data/index.js.map +0 -1
- package/esm/data/transforms/tick-data/interface.d.ts +0 -31
- package/esm/data/transforms/tick-data/interface.js +0 -2
- package/esm/data/transforms/tick-data/interface.js.map +0 -1
- package/esm/data/transforms/tick-data/util.d.ts +0 -15
- package/esm/data/transforms/tick-data/util.js +0 -70
- package/esm/data/transforms/tick-data/util.js.map +0 -1
package/cjs/util/math.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.distance = exports.vectorAngle = exports.radiusLabelOrientAttribute = exports.
|
|
5
|
+
}), exports.distance = exports.vectorAngle = exports.radiusLabelOrientAttribute = exports.regression = exports.median = exports.standardDeviation = exports.variance = exports.average = exports.sum = exports.max = exports.min = exports.outOfBounds = exports.normalizeStartEndAngle = exports.computeQuadrant = exports.polarToCartesian = exports.angleLabelOrientAttribute = exports.normalizeAngle = exports.isLess = exports.isGreater = exports.isClose = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils");
|
|
7
|
+
const type_1 = require("./type"), vgrammar_util_1 = require("@visactor/vgrammar-util"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "isGreater", {
|
|
10
10
|
enumerable: !0,
|
|
@@ -18,21 +18,21 @@ Object.defineProperty(exports, "isGreater", {
|
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
21
|
-
const
|
|
21
|
+
const vutils_extension_1 = require("@visactor/vutils-extension");
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
Object.defineProperty(exports, "normalizeAngle", {
|
|
24
|
+
enumerable: !0,
|
|
25
|
+
get: function() {
|
|
26
|
+
return vutils_extension_1.normalizeAngle;
|
|
27
|
+
}
|
|
28
|
+
}), Object.defineProperty(exports, "angleLabelOrientAttribute", {
|
|
29
|
+
enumerable: !0,
|
|
30
|
+
get: function() {
|
|
31
|
+
return vutils_extension_1.angleLabelOrientAttribute;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
34
|
|
|
35
|
-
const
|
|
35
|
+
const debug_1 = require("./debug");
|
|
36
36
|
|
|
37
37
|
function polarToCartesian(point) {
|
|
38
38
|
return point.radius ? {
|
|
@@ -44,75 +44,8 @@ function polarToCartesian(point) {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
function circlePoint(x0, y0, radius, radian) {
|
|
48
|
-
const offset = polarToCartesian({
|
|
49
|
-
radius: radius,
|
|
50
|
-
angle: radian
|
|
51
|
-
});
|
|
52
|
-
return {
|
|
53
|
-
x: x0 + offset.x,
|
|
54
|
-
y: y0 + offset.y
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function arcConnectLength(radius, radian) {
|
|
59
|
-
const y0 = radius, {x: x1, y: y1} = circlePoint(0, 0, radius, radian);
|
|
60
|
-
return Math.sqrt((0 - x1) ** 2 + (y0 - y1) ** 2);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function lineCirclePoints(a, b, c, x0, y0, r) {
|
|
64
|
-
if (0 === a && 0 === b || r <= 0) return [];
|
|
65
|
-
if (0 === a) {
|
|
66
|
-
const y1 = -c / b, fd = r ** 2 - (y1 - y0) ** 2;
|
|
67
|
-
if (fd < 0) return [];
|
|
68
|
-
if (0 === fd) return [ {
|
|
69
|
-
x: x0,
|
|
70
|
-
y: y1
|
|
71
|
-
} ];
|
|
72
|
-
return [ {
|
|
73
|
-
x: Math.sqrt(fd) + x0,
|
|
74
|
-
y: y1
|
|
75
|
-
}, {
|
|
76
|
-
x: -Math.sqrt(fd) + x0,
|
|
77
|
-
y: y1
|
|
78
|
-
} ];
|
|
79
|
-
}
|
|
80
|
-
if (0 === b) {
|
|
81
|
-
const x1 = -c / a, fd = r ** 2 - (x1 - x0) ** 2;
|
|
82
|
-
if (fd < 0) return [];
|
|
83
|
-
if (0 === fd) return [ {
|
|
84
|
-
x: x1,
|
|
85
|
-
y: y0
|
|
86
|
-
} ];
|
|
87
|
-
return [ {
|
|
88
|
-
x: x1,
|
|
89
|
-
y: Math.sqrt(fd) + y0
|
|
90
|
-
}, {
|
|
91
|
-
x: x1,
|
|
92
|
-
y: -Math.sqrt(fd) + y0
|
|
93
|
-
} ];
|
|
94
|
-
}
|
|
95
|
-
const fa = (b / a) ** 2 + 1, fb = 2 * ((c / a + x0) * (b / a) - y0), fd = fb ** 2 - 4 * fa * ((c / a + x0) ** 2 + y0 ** 2 - r ** 2);
|
|
96
|
-
if (fd < 0) return [];
|
|
97
|
-
const y1 = (-fb + Math.sqrt(fd)) / (2 * fa), y2 = (-fb - Math.sqrt(fd)) / (2 * fa), x1 = -(b * y1 + c) / a;
|
|
98
|
-
return 0 === fd ? [ {
|
|
99
|
-
x: x1,
|
|
100
|
-
y: y1
|
|
101
|
-
} ] : [ {
|
|
102
|
-
x: x1,
|
|
103
|
-
y: y1
|
|
104
|
-
}, {
|
|
105
|
-
x: -(b * y2 + c) / a,
|
|
106
|
-
y: y2
|
|
107
|
-
} ];
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function connectLineRadian(radius, length) {
|
|
111
|
-
return length > 2 * radius ? NaN : 2 * Math.asin(length / 2 / radius);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
47
|
function computeQuadrant(angle) {
|
|
115
|
-
return (angle = normalizeAngle(angle)) > 0 && angle <= Math.PI / 2 ? 2 : angle > Math.PI / 2 && angle <= Math.PI ? 3 : angle > Math.PI && angle <= 3 * Math.PI / 2 ? 4 : 1;
|
|
48
|
+
return (angle = (0, vutils_extension_1.normalizeAngle)(angle)) > 0 && angle <= Math.PI / 2 ? 2 : angle > Math.PI / 2 && angle <= Math.PI ? 3 : angle > Math.PI && angle <= 3 * Math.PI / 2 ? 4 : 1;
|
|
116
49
|
}
|
|
117
50
|
|
|
118
51
|
function normalizeStartEndAngle(start, end) {
|
|
@@ -129,27 +62,10 @@ function normalizeStartEndAngle(start, end) {
|
|
|
129
62
|
};
|
|
130
63
|
}
|
|
131
64
|
|
|
132
|
-
function isQuadrantLeft(quadrant) {
|
|
133
|
-
return 3 === quadrant || 4 === quadrant;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
function isQuadrantRight(quadrant) {
|
|
137
|
-
return 1 === quadrant || 2 === quadrant;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
function checkBoundsOverlap(boundsA, boundsB) {
|
|
141
|
-
const {x1: ax1, y1: ay1, x2: ax2, y2: ay2} = boundsA, {x1: bx1, y1: by1, x2: bx2, y2: by2} = boundsB;
|
|
142
|
-
return !(ax1 <= bx1 && ax2 <= bx1 || ax1 >= bx2 && ax2 >= bx2 || ay1 <= by1 && ay2 <= by1 || ay1 >= by2 && ay2 >= by2);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
65
|
function outOfBounds(bounds, x, y) {
|
|
146
66
|
return bounds.x1 > x || bounds.x2 < x || bounds.y1 > y || bounds.y2 < y;
|
|
147
67
|
}
|
|
148
68
|
|
|
149
|
-
function insideBounds(bounds, x, y) {
|
|
150
|
-
return !outOfBounds(bounds, x, y);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
69
|
function min(data, field) {
|
|
154
70
|
const initialData = field ? +data[0][field] : +data[0];
|
|
155
71
|
if (!(0, type_1.isValidNumber)(initialData)) return (0, debug_1.warn)("invalid data"),
|
|
@@ -212,19 +128,9 @@ function regression(data, fieldX, fieldY) {
|
|
|
212
128
|
} ];
|
|
213
129
|
}
|
|
214
130
|
|
|
215
|
-
function angleLabelOrientAttribute(angle) {
|
|
216
|
-
let align = "center", baseline = "middle";
|
|
217
|
-
return align = (angle = normalizeAngle(angle)) >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3) ? "left" : angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3) ? "right" : "center",
|
|
218
|
-
baseline = angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6) ? "bottom" : angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6) ? "top" : "middle",
|
|
219
|
-
{
|
|
220
|
-
align: align,
|
|
221
|
-
baseline: baseline
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
|
|
225
131
|
function radiusLabelOrientAttribute(angle) {
|
|
226
132
|
let align = "center", baseline = "middle";
|
|
227
|
-
return align = (angle = normalizeAngle(angle)) >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6) ? "right" : angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6) ? "left" : "center",
|
|
133
|
+
return align = (angle = (0, vutils_extension_1.normalizeAngle)(angle)) >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6) ? "right" : angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6) ? "left" : "center",
|
|
228
134
|
baseline = angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3) ? "bottom" : angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3) ? "top" : "middle",
|
|
229
135
|
{
|
|
230
136
|
align: align,
|
|
@@ -244,14 +150,10 @@ function distance(p1, p2 = {
|
|
|
244
150
|
return vutils_1.PointService.distancePP(p1, p2);
|
|
245
151
|
}
|
|
246
152
|
|
|
247
|
-
exports.
|
|
248
|
-
exports.
|
|
249
|
-
exports.
|
|
250
|
-
exports.
|
|
251
|
-
exports.
|
|
252
|
-
exports.outOfBounds = outOfBounds, exports.insideBounds = insideBounds, exports.min = min,
|
|
253
|
-
exports.max = max, exports.sum = sum, exports.average = average, exports.variance = variance,
|
|
254
|
-
exports.standardDeviation = standardDeviation, exports.median = median, exports.regression = regression,
|
|
255
|
-
exports.angleLabelOrientAttribute = angleLabelOrientAttribute, exports.radiusLabelOrientAttribute = radiusLabelOrientAttribute,
|
|
153
|
+
exports.isClose = vutils_1.isNumberClose, exports.polarToCartesian = polarToCartesian,
|
|
154
|
+
exports.computeQuadrant = computeQuadrant, exports.normalizeStartEndAngle = normalizeStartEndAngle,
|
|
155
|
+
exports.outOfBounds = outOfBounds, exports.min = min, exports.max = max, exports.sum = sum,
|
|
156
|
+
exports.average = average, exports.variance = variance, exports.standardDeviation = standardDeviation,
|
|
157
|
+
exports.median = median, exports.regression = regression, exports.radiusLabelOrientAttribute = radiusLabelOrientAttribute,
|
|
256
158
|
exports.vectorAngle = vectorAngle, exports.distance = distance;
|
|
257
159
|
//# sourceMappingURL=math.js.map
|
package/cjs/util/math.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/math.ts"],"names":[],"mappings":"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","file":"math.js","sourcesContent":["import {\n isNumberClose,\n isGreater,\n isLess,\n degreeToRadian,\n radianToDegree,\n isValid,\n PointService,\n median as visMedian\n} from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { IPoint, IPolarPoint, Quadrant, TextAlign, TextBaseLine } from '../typings';\nimport { isValidNumber } from './type';\nimport { regressionLinear } from '@visactor/vgrammar-util';\nimport type { Datum } from '@visactor/vgrammar';\nimport { warn } from './debug';\n\nexport const isClose = isNumberClose;\nexport { isGreater, isLess };\n\n/**\n * 角度标准化处理\n * @param angle 弧度角\n */\nexport function normalizeAngle(angle: number): number {\n while (angle < 0) {\n angle += Math.PI * 2;\n }\n while (angle >= Math.PI * 2) {\n angle -= Math.PI * 2;\n }\n return angle;\n}\n\nexport const radians = (angle?: number) => {\n if (!isValidNumber(angle)) {\n return null;\n }\n return degreeToRadian(angle);\n};\nexport const degrees = (angle?: number) => {\n if (!isValidNumber(angle)) {\n return null;\n }\n return radianToDegree(angle);\n};\n\n/**\n * 极坐标系 -> 直角坐标系\n * @param point\n * @returns\n */\nexport function polarToCartesian(point: IPolarPoint): IPoint {\n if (!point.radius) {\n return { x: 0, y: 0 };\n }\n return {\n x: Math.cos(point.angle) * point.radius,\n y: Math.sin(point.angle) * point.radius\n };\n}\n\n/**\n * 计算圆弧上的点坐标\n * @param x0 圆心 x 坐标\n * @param y0 圆心 y 坐标\n * @param radius 圆弧半径\n * @param radian 点所在弧度\n */\nexport function circlePoint(x0: number, y0: number, radius: number, radian: number): IPoint {\n const offset = polarToCartesian({\n radius,\n angle: radian\n });\n return {\n x: x0 + offset.x,\n y: y0 + offset.y\n };\n}\n\n/**\n * 计算圆弧两点之间连接线的长度\n * @param radius 圆弧半径\n * @param radian 圆弧弧度\n */\nexport function arcConnectLength(radius: number, radian: number) {\n const x0 = 0;\n const y0 = radius;\n const { x: x1, y: y1 } = circlePoint(0, 0, radius, radian);\n return Math.sqrt((x0 - x1) ** 2 + (y0 - y1) ** 2);\n}\n\n/**\n * 计算直线与圆交点\n * 直线方程:ax + by + c = 0\n * 圆方程:(x - x0)^2 + (y - y0)^2 = r^2\n */\nexport function lineCirclePoints(a: number, b: number, c: number, x0: number, y0: number, r: number): IPoint[] {\n if ((a === 0 && b === 0) || r <= 0) {\n return [];\n }\n if (a === 0) {\n const y1 = -c / b;\n const fy = (y1 - y0) ** 2;\n const fd = r ** 2 - fy;\n if (fd < 0) {\n return [];\n } else if (fd === 0) {\n return [{ x: x0, y: y1 }];\n }\n const x1 = Math.sqrt(fd) + x0;\n const x2 = -Math.sqrt(fd) + x0;\n return [\n { x: x1, y: y1 },\n { x: x2, y: y1 }\n ];\n } else if (b === 0) {\n const x1 = -c / a;\n const fx = (x1 - x0) ** 2;\n const fd = r ** 2 - fx;\n if (fd < 0) {\n return [];\n } else if (fd === 0) {\n return [{ x: x1, y: y0 }];\n }\n const y1 = Math.sqrt(fd) + y0;\n const y2 = -Math.sqrt(fd) + y0;\n return [\n { x: x1, y: y1 },\n { x: x1, y: y2 }\n ];\n }\n const fa = (b / a) ** 2 + 1;\n const fb = 2 * ((c / a + x0) * (b / a) - y0);\n const fc = (c / a + x0) ** 2 + y0 ** 2 - r ** 2;\n const fd = fb ** 2 - 4 * fa * fc;\n if (fd < 0) {\n return [];\n }\n const y1 = (-fb + Math.sqrt(fd)) / (2 * fa);\n const y2 = (-fb - Math.sqrt(fd)) / (2 * fa);\n const x1 = -(b * y1 + c) / a;\n const x2 = -(b * y2 + c) / a;\n if (fd === 0) {\n return [{ x: x1, y: y1 }];\n }\n return [\n { x: x1, y: y1 },\n { x: x2, y: y2 }\n ];\n}\n\n/**\n * 根据圆弧两点连接线长度计算弧度\n * @param radius 圆弧半径\n * @param length 连接线长度\n */\nexport function connectLineRadian(radius: number, length: number) {\n if (length > radius * 2) {\n return NaN;\n }\n return Math.asin(length / 2 / radius) * 2;\n}\n\n/**\n * 根据角度计算象限\n * 计算角度所在象限\n * @param angle\n * @returns\n */\nexport function computeQuadrant(angle: number): Quadrant {\n angle = normalizeAngle(angle);\n if (angle > 0 && angle <= Math.PI / 2) {\n return 2;\n } else if (angle > Math.PI / 2 && angle <= Math.PI) {\n return 3;\n } else if (angle > Math.PI && angle <= (3 * Math.PI) / 2) {\n return 4;\n }\n return 1;\n}\n\n/**\n * 将角度轴起始角度 & 终结角度标准化\n * @param start\n * @param end\n * @returns\n */\nexport function normalizeStartEndAngle(\n start: number | null,\n end: number | null\n): { startAngle: number; endAngle: number } {\n let startAngle: number = 0;\n let endAngle: number = Math.PI * 2;\n const isStartValid = isValid(start);\n const isEndValid = isValid(end);\n if (!isStartValid && !isEndValid) {\n startAngle = 0;\n endAngle = Math.PI * 2;\n } else if (!isEndValid) {\n startAngle = start as number;\n endAngle = (start as number) + Math.PI * 2;\n } else if (!isStartValid) {\n startAngle = (end as number) - Math.PI * 2;\n endAngle = end as number;\n } else {\n startAngle = start as number;\n endAngle = end as number;\n }\n\n while (endAngle <= startAngle) {\n endAngle += Math.PI * 2;\n }\n while (startAngle > Math.PI * 2) {\n startAngle -= Math.PI * 2;\n endAngle -= Math.PI * 2;\n }\n while (endAngle < 0) {\n startAngle += Math.PI * 2;\n endAngle += Math.PI * 2;\n }\n return { startAngle, endAngle };\n}\n\nexport function isQuadrantLeft(quadrant: Quadrant): boolean {\n return quadrant === 3 || quadrant === 4;\n}\n\nexport function isQuadrantRight(quadrant: Quadrant): boolean {\n return quadrant === 1 || quadrant === 2;\n}\n\nexport function checkBoundsOverlap(boundsA: IBoundsLike, boundsB: IBoundsLike): boolean {\n const { x1: ax1, y1: ay1, x2: ax2, y2: ay2 } = boundsA;\n const { x1: bx1, y1: by1, x2: bx2, y2: by2 } = boundsB;\n return !(\n (ax1 <= bx1 && ax2 <= bx1) ||\n (ax1 >= bx2 && ax2 >= bx2) ||\n (ay1 <= by1 && ay2 <= by1) ||\n (ay1 >= by2 && ay2 >= by2)\n );\n}\n\nexport function outOfBounds(bounds: IBoundsLike, x: number, y: number) {\n return bounds.x1 > x || bounds.x2 < x || bounds.y1 > y || bounds.y2 < y;\n}\n\nexport function insideBounds(bounds: IBoundsLike, x: number, y: number) {\n return !outOfBounds(bounds, x, y);\n}\n\nexport function min(data: any[], field?: string): number {\n const initialData = field ? +data[0][field] : +data[0];\n\n if (!isValidNumber(initialData)) {\n warn('invalid data');\n return 0;\n }\n const min = data.reduce((pre, _cur) => {\n const cur = field ? +_cur[field] : +_cur;\n if (isValidNumber(cur) && cur < pre) {\n pre = cur;\n }\n return pre;\n }, initialData);\n return min;\n}\n\nexport function max(data: any[], field?: string): number {\n const initialData = field ? +data[0][field] : +data[0];\n if (!isValidNumber(initialData)) {\n warn('invalid data');\n return 0;\n }\n const max = data.reduce((pre, _cur) => {\n const cur = field ? +_cur[field] : +_cur;\n if (isValidNumber(cur) && cur > pre) {\n pre = cur;\n }\n return pre;\n }, initialData);\n return max;\n}\n\nexport function sum(data: any[], field?: string): number {\n return data.reduce((pre, _cur) => {\n const cur = field ? +_cur[field] : +_cur;\n if (isValidNumber(cur)) {\n pre += cur;\n }\n return pre;\n }, 0);\n}\n\nexport function average(data: any[], field?: string): number {\n let sum = 0;\n let count = 0;\n data.forEach((x: any) => {\n const v = field ? +x[field] : +x;\n if (isValidNumber(v)) {\n sum += v;\n count++;\n }\n });\n\n const average = sum / count;\n return average;\n}\n\nexport function variance(data: any[], field?: string): number {\n const averageNumber = average(data, field);\n\n if (data.length <= 1) {\n return 0;\n }\n\n const total = data.reduce((sum, cur) => sum + (field ? +cur[field] : +cur - averageNumber) ** 2, 0);\n const value = total / (data.length - 1);\n return value;\n}\n\nexport function standardDeviation(data: any[], field?: string): number {\n const value = Math.sqrt(variance(data, field));\n return value;\n}\n\nexport function median(data: any[], field?: string): number {\n const value = visMedian(data.map((datum: Datum) => datum[field]));\n return value;\n}\n\nexport function regression(data: any[], fieldX?: string, fieldY?: string): any[] {\n const { predict } = regressionLinear(\n data,\n datum => datum[fieldX],\n datum => datum[fieldY]\n );\n // 计算回归线起点和终点\n const x1 = min(data, fieldX);\n const x2 = max(data, fieldX);\n\n const predict1 = predict(x1);\n const predict2 = predict(x2);\n return [\n {\n [fieldX]: x1,\n [fieldY]: predict1\n },\n {\n [fieldX]: x2,\n [fieldY]: predict2\n }\n ];\n}\n\n/**\n * 计算对应角度下的角度轴标签定位属性\n * @param angle 弧度角,需要注意是逆时针计算的\n * @returns\n */\nexport function angleLabelOrientAttribute(angle: number) {\n let align: TextAlign = 'center';\n let baseline: TextBaseLine = 'middle';\n\n angle = normalizeAngle(angle);\n\n // left: 5/3 - 1/3; right: 2/3 - 4/3; center: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n align = 'left';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n align = 'right';\n } else {\n align = 'center';\n }\n\n // bottom: 7/6 - 11/6; top: 1/6 - 5/6; middle: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\n/**\n * 计算对应角度下的半径轴标签定位属性\n * @param angle 弧度角,需要注意是逆时针计算的\n * @returns\n */\nexport function radiusLabelOrientAttribute(angle: number) {\n let align: TextAlign = 'center';\n let baseline: TextBaseLine = 'middle';\n\n angle = normalizeAngle(angle);\n\n // right: 7/6 - 11/6; left: 1/6 - 5/6; center: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n align = 'right';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n align = 'left';\n } else {\n align = 'center';\n }\n\n // bottom: 5/3 - 1/3; top: 2/3 - 4/3; middle: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\n/** 求一个向量顺时针旋转到另一个向量的角度,带正负号 */\nexport function vectorAngle(v1: IPoint, v2: IPoint) {\n const v1Length = distance(v1);\n const v2Length = distance(v2);\n // 叉乘\n const rho = Math.asin((v1.x * v2.y - v2.x * v1.y) / v1Length / v2Length);\n // 点乘\n const theta = Math.acos((v1.x * v2.x + v1.y * v2.y) / v1Length / v2Length);\n if (rho < 0) {\n return -theta;\n }\n return theta;\n}\n\n/** 求两个点的距离 */\nexport function distance(p1: IPoint, p2: IPoint = { x: 0, y: 0 }) {\n return PointService.distancePP(p1, p2);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/util/math.ts"],"names":[],"mappings":"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","file":"math.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { IPoint, IPolarPoint, Quadrant, TextAlign, TextBaseLine } from '../typings';\nimport type { Datum } from '@visactor/vgrammar';\nimport { isValidNumber } from './type';\nimport { regressionLinear } from '@visactor/vgrammar-util';\nimport { isNumberClose, isGreater, isLess, isValid, PointService, median as visMedian } from '@visactor/vutils';\nimport { normalizeAngle, angleLabelOrientAttribute } from '@visactor/vutils-extension';\n\nimport { warn } from './debug';\n\nexport const isClose = isNumberClose;\nexport { isGreater, isLess, normalizeAngle, angleLabelOrientAttribute };\n\n/**\n * 极坐标系 -> 直角坐标系\n * @param point\n * @returns\n */\nexport function polarToCartesian(point: IPolarPoint): IPoint {\n if (!point.radius) {\n return { x: 0, y: 0 };\n }\n return {\n x: Math.cos(point.angle) * point.radius,\n y: Math.sin(point.angle) * point.radius\n };\n}\n\n/**\n * 根据角度计算象限\n * 计算角度所在象限\n * @param angle\n * @returns\n */\nexport function computeQuadrant(angle: number): Quadrant {\n angle = normalizeAngle(angle);\n if (angle > 0 && angle <= Math.PI / 2) {\n return 2;\n } else if (angle > Math.PI / 2 && angle <= Math.PI) {\n return 3;\n } else if (angle > Math.PI && angle <= (3 * Math.PI) / 2) {\n return 4;\n }\n return 1;\n}\n\n/**\n * 将角度轴起始角度 & 终结角度标准化\n * @param start\n * @param end\n * @returns\n */\nexport function normalizeStartEndAngle(\n start: number | null,\n end: number | null\n): { startAngle: number; endAngle: number } {\n let startAngle: number = 0;\n let endAngle: number = Math.PI * 2;\n const isStartValid = isValid(start);\n const isEndValid = isValid(end);\n if (!isStartValid && !isEndValid) {\n startAngle = 0;\n endAngle = Math.PI * 2;\n } else if (!isEndValid) {\n startAngle = start as number;\n endAngle = (start as number) + Math.PI * 2;\n } else if (!isStartValid) {\n startAngle = (end as number) - Math.PI * 2;\n endAngle = end as number;\n } else {\n startAngle = start as number;\n endAngle = end as number;\n }\n\n while (endAngle <= startAngle) {\n endAngle += Math.PI * 2;\n }\n while (startAngle > Math.PI * 2) {\n startAngle -= Math.PI * 2;\n endAngle -= Math.PI * 2;\n }\n while (endAngle < 0) {\n startAngle += Math.PI * 2;\n endAngle += Math.PI * 2;\n }\n return { startAngle, endAngle };\n}\n\nexport function outOfBounds(bounds: IBoundsLike, x: number, y: number) {\n return bounds.x1 > x || bounds.x2 < x || bounds.y1 > y || bounds.y2 < y;\n}\n\nexport function min(data: any[], field?: string): number {\n const initialData = field ? +data[0][field] : +data[0];\n\n if (!isValidNumber(initialData)) {\n warn('invalid data');\n return 0;\n }\n const min = data.reduce((pre, _cur) => {\n const cur = field ? +_cur[field] : +_cur;\n if (isValidNumber(cur) && cur < pre) {\n pre = cur;\n }\n return pre;\n }, initialData);\n return min;\n}\n\nexport function max(data: any[], field?: string): number {\n const initialData = field ? +data[0][field] : +data[0];\n if (!isValidNumber(initialData)) {\n warn('invalid data');\n return 0;\n }\n const max = data.reduce((pre, _cur) => {\n const cur = field ? +_cur[field] : +_cur;\n if (isValidNumber(cur) && cur > pre) {\n pre = cur;\n }\n return pre;\n }, initialData);\n return max;\n}\n\nexport function sum(data: any[], field?: string): number {\n return data.reduce((pre, _cur) => {\n const cur = field ? +_cur[field] : +_cur;\n if (isValidNumber(cur)) {\n pre += cur;\n }\n return pre;\n }, 0);\n}\n\nexport function average(data: any[], field?: string): number {\n let sum = 0;\n let count = 0;\n data.forEach((x: any) => {\n const v = field ? +x[field] : +x;\n if (isValidNumber(v)) {\n sum += v;\n count++;\n }\n });\n\n const average = sum / count;\n return average;\n}\n\nexport function variance(data: any[], field?: string): number {\n const averageNumber = average(data, field);\n\n if (data.length <= 1) {\n return 0;\n }\n\n const total = data.reduce((sum, cur) => sum + (field ? +cur[field] : +cur - averageNumber) ** 2, 0);\n const value = total / (data.length - 1);\n return value;\n}\n\nexport function standardDeviation(data: any[], field?: string): number {\n const value = Math.sqrt(variance(data, field));\n return value;\n}\n\nexport function median(data: any[], field?: string): number {\n const value = visMedian(data.map((datum: Datum) => datum[field]));\n return value;\n}\n\nexport function regression(data: any[], fieldX?: string, fieldY?: string): any[] {\n const { predict } = regressionLinear(\n data,\n datum => datum[fieldX],\n datum => datum[fieldY]\n );\n // 计算回归线起点和终点\n const x1 = min(data, fieldX);\n const x2 = max(data, fieldX);\n\n const predict1 = predict(x1);\n const predict2 = predict(x2);\n return [\n {\n [fieldX]: x1,\n [fieldY]: predict1\n },\n {\n [fieldX]: x2,\n [fieldY]: predict2\n }\n ];\n}\n\n/**\n * 计算对应角度下的半径轴标签定位属性\n * @param angle 弧度角,需要注意是逆时针计算的\n * @returns\n */\nexport function radiusLabelOrientAttribute(angle: number) {\n let align: TextAlign = 'center';\n let baseline: TextBaseLine = 'middle';\n\n angle = normalizeAngle(angle);\n\n // right: 7/6 - 11/6; left: 1/6 - 5/6; center: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n align = 'right';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n align = 'left';\n } else {\n align = 'center';\n }\n\n // bottom: 5/3 - 1/3; top: 2/3 - 4/3; middle: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\n/** 求一个向量顺时针旋转到另一个向量的角度,带正负号 */\nexport function vectorAngle(v1: IPoint, v2: IPoint) {\n const v1Length = distance(v1);\n const v2Length = distance(v2);\n // 叉乘\n const rho = Math.asin((v1.x * v2.y - v2.x * v1.y) / v1Length / v2Length);\n // 点乘\n const theta = Math.acos((v1.x * v2.x + v1.y * v2.y) / v1Length / v2Length);\n if (rho < 0) {\n return -theta;\n }\n return theta;\n}\n\n/** 求两个点的距离 */\nexport function distance(p1: IPoint, p2: IPoint = { x: 0, y: 0 }) {\n return PointService.distancePP(p1, p2);\n}\n"]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { DataView } from '@visactor/vdataset';
|
|
2
|
+
import { type ITheme } from '../../theme';
|
|
2
3
|
export declare function isDataView(obj: any): obj is DataView;
|
|
3
4
|
export declare function isHTMLElement(obj: any): obj is Element;
|
|
5
|
+
export declare function getThemeObject(theme?: string | ITheme): ITheme;
|
package/cjs/util/spec/common.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.isHTMLElement = exports.isDataView = void 0;
|
|
5
|
+
}), exports.getThemeObject = exports.isHTMLElement = exports.isDataView = void 0;
|
|
6
6
|
|
|
7
|
-
const vdataset_1 = require("@visactor/vdataset");
|
|
7
|
+
const vdataset_1 = require("@visactor/vdataset"), theme_1 = require("../../theme"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
function isDataView(obj) {
|
|
10
10
|
return obj instanceof vdataset_1.DataView;
|
|
@@ -19,5 +19,10 @@ function isHTMLElement(obj) {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
function getThemeObject(theme) {
|
|
23
|
+
return (0, vutils_1.isString)(theme) ? theme_1.ThemeManager.themeExist(theme) ? theme_1.ThemeManager.getTheme(theme) : {} : (0,
|
|
24
|
+
vutils_1.isObject)(theme) ? theme : {};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.isDataView = isDataView, exports.isHTMLElement = isHTMLElement, exports.getThemeObject = getThemeObject;
|
|
23
28
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/spec/common.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;
|
|
1
|
+
{"version":3,"sources":["../src/util/spec/common.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,uCAAwD;AACxD,6CAAsD;AAEtD,SAAgB,UAAU,CAAC,GAAQ;IACjC,OAAO,GAAG,YAAY,mBAAQ,CAAC;AACjC,CAAC;AAFD,gCAEC;AAED,SAAgB,aAAa,CAAC,GAAQ;IACpC,IAAI;QACF,OAAO,GAAG,YAAY,OAAO,CAAC;KAC/B;IAAC,WAAM;QAEN,MAAM,eAAe,GAAsB;YACzC,UAAU;YACV,WAAW;YACX,WAAW;YACX,cAAc;YACd,SAAS;YACT,uBAAuB;SACxB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD;AACH,CAAC;AAhBD,sCAgBC;AAED,SAAgB,cAAc,CAAC,KAAuB;IACpD,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,IAAI,oBAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,oBAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACrC;QACD,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,wCAUC","file":"common.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport { ThemeManager, type ITheme } from '../../theme';\nimport { isObject, isString } from '@visactor/vutils';\n\nexport function isDataView(obj: any): obj is DataView {\n return obj instanceof DataView;\n}\n\nexport function isHTMLElement(obj: any): obj is Element {\n try {\n return obj instanceof Element;\n } catch {\n // 跨端 plan B\n const htmlElementKeys: (keyof Element)[] = [\n 'children',\n 'innerHTML',\n 'classList',\n 'setAttribute',\n 'tagName',\n 'getBoundingClientRect'\n ];\n const keys = Object.keys(obj);\n return htmlElementKeys.every(key => keys.includes(key));\n }\n}\n\nexport function getThemeObject(theme?: string | ITheme): ITheme {\n if (isString(theme)) {\n if (ThemeManager.themeExist(theme)) {\n return ThemeManager.getTheme(theme);\n }\n return {};\n } else if (isObject(theme)) {\n return theme;\n }\n return {};\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.mergeSpec = void 0;
|
|
5
|
+
}), exports.mergeSpecWithFilter = exports.mergeSpec = void 0;
|
|
6
6
|
|
|
7
7
|
const vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
@@ -54,5 +54,15 @@ function mergeSpec(target, ...sources) {
|
|
|
54
54
|
return target;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
function mergeSpecWithFilter(target, filter, spec, forceMerge) {
|
|
58
|
+
Object.keys(target).forEach((k => {
|
|
59
|
+
if ((0, vutils_1.isObject)(filter)) filter.type === k && ((0, vutils_1.isArray)(target[k]) ? target[k].length >= filter.index && (target[k][filter.index] = forceMerge ? mergeSpec({}, target[k][filter.index], spec) : spec) : target[k] = forceMerge ? mergeSpec({}, target[k], spec) : spec); else if ((0,
|
|
60
|
+
vutils_1.isArray)(target[k])) {
|
|
61
|
+
const index = target[k].findIndex((_s => _s.id === filter));
|
|
62
|
+
index >= 0 && (target[k][index] = forceMerge ? mergeSpec({}, target[k][index], spec) : spec);
|
|
63
|
+
} else target.id === filter && (target[k] = forceMerge ? mergeSpec({}, target[k], spec) : spec);
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.mergeSpec = mergeSpec, exports.mergeSpecWithFilter = mergeSpecWithFilter;
|
|
58
68
|
//# sourceMappingURL=merge-spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/spec/merge-spec.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/util/spec/merge-spec.ts"],"names":[],"mappings":"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","file":"merge-spec.js","sourcesContent":["import { isArray, isArrayLike, isObject, isPlainObject, isValid } from '@visactor/vutils';\nimport type { StringOrNumber } from '../../typings';\n\nfunction baseMerge(target: any, source: any, shallowArray: boolean = false) {\n if (source) {\n if (target === source) {\n return;\n }\n if (isValid(source) && typeof source === 'object') {\n // baseFor\n const iterable = Object(source);\n const props = [];\n // keysIn\n for (const key in iterable) {\n props.push(key);\n }\n let { length } = props;\n let propIndex = -1;\n while (length--) {\n const key = props[++propIndex];\n if (\n isValid(iterable[key]) &&\n typeof iterable[key] === 'object' &&\n !isArray(target[key]) // VChart 特有逻辑\n ) {\n baseMergeDeep(target, source, key, shallowArray);\n } else {\n assignMergeValue(target, key, iterable[key]);\n }\n }\n }\n }\n}\n\n// 由于目前 VChart 内部对 spec 会先执行一次深拷贝,merge 暂时不考虑 source 中有环的问题\nfunction baseMergeDeep(target: object, source: object, key: string, shallowArray: boolean = false) {\n const objValue = target[key];\n const srcValue = source[key];\n let newValue = source[key];\n let isCommon = true;\n // 不考虑 buffer / typedArray 类型\n if (isArray(srcValue)) {\n if (shallowArray) {\n // 依据参数对数组做浅拷贝\n newValue = [];\n } else if (isArray(objValue)) {\n newValue = objValue;\n } else if (isArrayLike(objValue)) {\n // 如果 source 为数组,则 target 的 arrayLike 对象也视作为数组处理\n newValue = new Array(objValue.length);\n let index = -1;\n const length = objValue.length;\n while (++index < length) {\n newValue[index] = objValue[index];\n }\n }\n }\n // else if (isArray(srcValue) && shallowArray) {\n // newValue = [];\n // }\n // 不考虑 argument 类型\n else if (isPlainObject(srcValue)) {\n newValue = objValue;\n // 不考虑 prototype 的额外处理\n if (typeof objValue === 'function' || typeof objValue !== 'object') {\n newValue = {};\n }\n } else {\n isCommon = false;\n }\n // 对 class 等复杂对象或者浅拷贝的 array 不做拷贝处理\n if (isCommon) {\n baseMerge(newValue, srcValue, shallowArray);\n }\n assignMergeValue(target, key, newValue);\n}\n\nfunction assignMergeValue(target: object, key: string, value: any) {\n if ((value !== undefined && !eq(target[key], value)) || (value === undefined && !(key in target))) {\n // 不考虑 __proto__ 的赋值处理\n target[key] = value;\n }\n}\n\nfunction eq(value: any, other: any) {\n return value === other || (Number.isNaN(value) && Number.isNaN(other));\n}\n\n/* 与原生的 lodash merge 差异在于对数组是否应用最后一个 source 的结果\n * 以及对一些特殊情况的处理,比如对数组类型 padding 和对象类型的 padding 的 merge\n */\nexport function mergeSpec(target: any, ...sources: any[]): any {\n let sourceIndex = -1;\n const length = sources.length;\n while (++sourceIndex < length) {\n const source = sources[sourceIndex];\n baseMerge(target, source, true);\n }\n return target;\n}\n\nexport function mergeSpecWithFilter(\n target: any,\n filter: string | { type: string; index: number },\n spec: any,\n forceMerge: boolean\n) {\n Object.keys(target).forEach(k => {\n if (isObject(filter)) {\n if (filter.type === k) {\n if (isArray(target[k])) {\n if (target[k].length >= filter.index) {\n target[k][filter.index] = forceMerge ? mergeSpec({}, target[k][filter.index], spec) : spec;\n }\n } else {\n target[k] = forceMerge ? mergeSpec({}, target[k], spec) : spec;\n }\n }\n } else {\n // filter === user id\n if (isArray(target[k])) {\n const index = target[k].findIndex((_s: { id: StringOrNumber }) => _s.id === filter);\n if (index >= 0) {\n target[k][index] = forceMerge ? mergeSpec({}, target[k][index], spec) : spec;\n }\n } else if (target.id === filter) {\n target[k] = forceMerge ? mergeSpec({}, target[k], spec) : spec;\n }\n }\n });\n}\n"]}
|
package/cjs/util/style.js
CHANGED
|
@@ -39,7 +39,7 @@ function transformAxisLabelStateStyle(stateStyle) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
function transformToGraphic(style) {
|
|
42
|
-
return (
|
|
42
|
+
return (null == style ? void 0 : style.angle) && (style.angle = (0, vutils_1.degreeToRadian)(style.angle)),
|
|
43
43
|
style;
|
|
44
44
|
}
|
|
45
45
|
|
package/cjs/util/style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/style.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/util/style.ts"],"names":[],"mappings":";;;AAAA,6CAAuE;AAUvE,SAAgB,uBAAuB,CAAC,MAAW,EAAE;IACnD,MAAM,SAAS,qBACV,GAAG,CACP,CAAC;IAEF,IAAI,IAAA,mBAAU,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACzB,SAAS,CAAC,KAAK,GAAG,CAAC,IAAqB,EAAE,UAAmB,EAAE,KAAa,EAAE,QAA2B,EAAE,EAAE,CAC3G,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;KACpE;SAAM,IAAI,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,SAAS,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACjD;IAED,IAAI,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACnC,IAAI,IAAA,mBAAU,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC9B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAqB,EAAE,UAAmB,EAAE,KAAa,EAAE,QAA2B,EAAE,EAAE,CAC9G,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;aACzE;iBAAM,IAAI,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBACnC,aAAa,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC;KACjC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AA1BD,0DA0BC;AAED,SAAgB,mBAAmB,CAAC,UAAe;IACjD,IAAI,IAAA,gBAAO,EAAC,UAAU,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpC,IAAI,IAAA,mBAAU,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAU,EAAE,KAAa,EAAE,KAAY,EAAE,IAAa,EAAE,EAAE,CAC9E,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SAClE;aAAM,IAAI,CAAC,IAAA,gBAAO,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,aAAa,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAfD,kDAeC;AAED,SAAgB,4BAA4B,CAAC,UAAe;IAC1D,IAAI,IAAA,gBAAO,EAAC,UAAU,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpC,IAAI,IAAA,mBAAU,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAY,EAAE,KAAa,EAAE,IAAa,EAAE,KAAc,EAAE,EAAE;gBAClF,OAAO,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACxF,CAAC,CAAC;SACH;aAAM,IAAI,CAAC,IAAA,gBAAO,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,aAAa,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAhBD,oEAgBC;AAED,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE;QAChB,KAAK,CAAC,KAAK,GAAG,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAND,gDAMC","file":"style.js","sourcesContent":["import { degreeToRadian, isEmpty, isFunction } from '@visactor/vutils';\nimport type { Datum } from '../typings';\nimport type { LegendItemDatum } from '@visactor/vrender-components';\n\n/**\n * 针对一些可以配置状态样式的属性的转换函数,结构如下:\n * { style: {}, state: { hover: {} } }\n * @param cfg\n * @returns\n */\nexport function transformComponentStyle(cfg: any = {}) {\n const newConfig = {\n ...cfg\n };\n\n if (isFunction(cfg.style)) {\n newConfig.style = (item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) =>\n transformToGraphic(cfg.style(item, isSelected, index, allItems));\n } else if (!isEmpty(cfg.style)) {\n newConfig.style = transformToGraphic(cfg.style);\n }\n\n if (!isEmpty(cfg.state)) {\n const newStateStyle = {};\n Object.keys(cfg.state).forEach(key => {\n if (isFunction(cfg.state[key])) {\n newStateStyle[key] = (item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) =>\n transformToGraphic(cfg.state[key](item, isSelected, index, allItems));\n } else if (!isEmpty(cfg.state[key])) {\n newStateStyle[key] = transformToGraphic(cfg.state[key]);\n }\n });\n newConfig.state = newStateStyle;\n }\n\n return newConfig;\n}\n\nexport function transformStateStyle(stateStyle: any) {\n if (isEmpty(stateStyle)) {\n return null;\n }\n const newStateStyle = {};\n Object.keys(stateStyle).forEach(key => {\n if (isFunction(stateStyle[key])) {\n newStateStyle[key] = (value: any, index: number, datum: Datum, data: Datum[]) =>\n transformToGraphic(stateStyle[key](value, index, datum, data));\n } else if (!isEmpty(stateStyle[key])) {\n newStateStyle[key] = transformToGraphic(stateStyle[key]);\n }\n });\n\n return newStateStyle;\n}\n\nexport function transformAxisLabelStateStyle(stateStyle: any) {\n if (isEmpty(stateStyle)) {\n return null;\n }\n const newStateStyle = {};\n Object.keys(stateStyle).forEach(key => {\n if (isFunction(stateStyle[key])) {\n newStateStyle[key] = (datum: Datum, index: number, data: Datum[], layer?: number) => {\n return transformToGraphic(stateStyle[key](datum.rawValue, index, datum, data, layer));\n };\n } else if (!isEmpty(stateStyle[key])) {\n newStateStyle[key] = transformToGraphic(stateStyle[key]);\n }\n });\n\n return newStateStyle;\n}\n\nexport function transformToGraphic(style: any) {\n if (style?.angle) {\n style.angle = degreeToRadian(style.angle);\n }\n\n return style;\n}\n"]}
|
package/cjs/util/text.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ITextMeasureOption } from '@visactor/vutils';
|
|
2
|
-
import { TextMeasure } from '@visactor/vutils';
|
|
3
|
-
import type { AdaptiveSpec
|
|
4
|
-
|
|
2
|
+
import type { TextMeasure } from '@visactor/vutils';
|
|
3
|
+
import type { AdaptiveSpec } from '../typings';
|
|
4
|
+
import type { ITextGraphicAttribute } from '@visactor/vrender';
|
|
5
|
+
export declare const initTextMeasure: (textSpec?: Partial<ITextGraphicAttribute>, option?: Partial<ITextMeasureOption>, useNaiveCanvas?: boolean) => TextMeasure<AdaptiveSpec<ITextGraphicAttribute, 'lineHeight'>>;
|
package/cjs/util/text.js
CHANGED
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.initTextMeasure = void 0;
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
getTextBounds: useNaiveCanvas ? void 0 : vrender_1.getTextBounds,
|
|
13
|
-
specialCharSet: "-/: .,@%'\"~" + vutils_1.TextMeasure.ALPHABET_CHAR_SET + vutils_1.TextMeasure.ALPHABET_CHAR_SET.toUpperCase()
|
|
14
|
-
}, null != option ? option : {}), textSpec);
|
|
7
|
+
const constants_1 = require("../theme/builtin/common/constants"), vutils_extension_1 = require("@visactor/vutils-extension"), initTextMeasure = (textSpec, option, useNaiveCanvas) => (0,
|
|
8
|
+
vutils_extension_1.initTextMeasure)(textSpec, option, useNaiveCanvas, {
|
|
9
|
+
fontFamily: constants_1.THEME_CONSTANTS.defaultFontFamily,
|
|
10
|
+
fontSize: constants_1.THEME_CONSTANTS.defaultFontSize
|
|
11
|
+
});
|
|
15
12
|
|
|
16
13
|
exports.initTextMeasure = initTextMeasure;
|
|
17
14
|
//# sourceMappingURL=text.js.map
|
package/cjs/util/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":";;;AAIA,iEAAoE;AACpE,iEAAoF;AAG7E,MAAM,eAAe,GAAG,CAC7B,QAAyC,EACzC,MAAoC,EACpC,cAAwB,EACwC,EAAE;IAElE,OAAO,IAAA,kCAAmB,EAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE;QAC3D,UAAU,EAAE,2BAAe,CAAC,iBAAiB;QAC7C,QAAQ,EAAE,2BAAe,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B","file":"text.js","sourcesContent":["import type { ITextMeasureOption } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TextMeasure } from '@visactor/vutils';\nimport type { AdaptiveSpec } from '../typings';\nimport { THEME_CONSTANTS } from '../theme/builtin/common/constants';\nimport { initTextMeasure as initTextMeasureFunc } from '@visactor/vutils-extension';\nimport type { ITextGraphicAttribute } from '@visactor/vrender';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<AdaptiveSpec<ITextGraphicAttribute, 'lineHeight'>> => {\n // FIXME: vrender 支持行高字符串后删除 AdaptiveSpec 范型\n return initTextMeasureFunc(textSpec, option, useNaiveCanvas, {\n fontFamily: THEME_CONSTANTS.defaultFontFamily,\n fontSize: THEME_CONSTANTS.defaultFontSize\n });\n};\n"]}
|
package/cjs/vchart-all.js
CHANGED
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "VChart", {
|
|
|
15
15
|
|
|
16
16
|
const chart_1 = require("./chart"), component_1 = require("./component"), layout_1 = require("./layout"), vrender_components_1 = require("@visactor/vrender-components");
|
|
17
17
|
|
|
18
|
-
(0, vrender_components_1.loadPoptip)(
|
|
18
|
+
(0, vrender_components_1.loadPoptip)(), core_1.VChart.useChart([ chart_1.AreaChart, chart_1.LineChart, chart_1.BarChart, chart_1.Bar3dChart, chart_1.ScatterChart, chart_1.MapChart, chart_1.PieChart, chart_1.Pie3dChart, chart_1.RoseChart, chart_1.RadarChart, chart_1.CommonChart, chart_1.SequenceChart, chart_1.HistogramChart, chart_1.Histogram3dChart, chart_1.CircularProgressChart, chart_1.WordCloudChart, chart_1.WordCloud3dChart, chart_1.FunnelChart, chart_1.Funnel3dChart, chart_1.LinearProgressChart, chart_1.RangeColumnChart, chart_1.RangeColumn3dChart, chart_1.SunburstChart, chart_1.CirclePackingChart, chart_1.TreemapChart, chart_1.WaterfallChart, chart_1.BoxPlotChart, chart_1.SankeyChart, chart_1.GaugeChart, chart_1.RangeAreaChart, chart_1.HeatmapChart ]),
|
|
19
19
|
core_1.VChart.useComponent([ component_1.CartesianLinearAxis, component_1.CartesianBandAxis, component_1.CartesianTimeAxis, component_1.CartesianLogAxis, component_1.CartesianSymlogAxis, component_1.PolarBandAxis, component_1.PolarLinearAxis, component_1.DiscreteLegend, component_1.ContinuousLegend, component_1.Tooltip, component_1.CartesianCrossHair, component_1.PolarCrossHair, component_1.DataZoom, component_1.ScrollBar, component_1.Indicator, component_1.GeoCoordinate, component_1.MarkLine, component_1.Title, component_1.MarkArea, component_1.Player, component_1.TotalLabel, component_1.Label, component_1.MarkPoint, component_1.Brush, component_1.CustomMark, component_1.MapLabelComponent ]),
|
|
20
20
|
core_1.Factory.registerLayout("grid", layout_1.GridLayout), core_1.Factory.registerLayout("layout3d", layout_1.Layout3d);
|
|
21
21
|
//# sourceMappingURL=vchart-all.js.map
|
package/cjs/vchart-all.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/vchart-all.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AA0IhC,uFA1IA,aAAM,OA0IA;AAzIf,mCAgCiB;AAEjB,2CA2BqB;AACrB,qCAAgD;AAChD,qEAA0D;AAG1D,IAAA,+BAAU,
|
|
1
|
+
{"version":3,"sources":["../src/vchart-all.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AA0IhC,uFA1IA,aAAM,OA0IA;AAzIf,mCAgCiB;AAEjB,2CA2BqB;AACrB,qCAAgD;AAChD,qEAA0D;AAG1D,IAAA,+BAAU,GAAE,CAAC;AAGb,aAAM,CAAC,QAAQ,CAAC;IACd,iBAAS;IACT,iBAAS;IACT,gBAAQ;IACR,kBAAU;IACV,oBAAY;IACZ,gBAAQ;IACR,gBAAQ;IACR,kBAAU;IACV,iBAAS;IACT,kBAAU;IACV,mBAAW;IACX,qBAAa;IACb,sBAAc;IACd,wBAAgB;IAChB,6BAAqB;IACrB,sBAAc;IACd,wBAAgB;IAChB,mBAAW;IACX,qBAAa;IACb,2BAAmB;IACnB,wBAAgB;IAChB,0BAAkB;IAClB,qBAAa;IACb,0BAAkB;IAClB,oBAAY;IACZ,sBAAc;IACd,oBAAY;IACZ,mBAAW;IACX,kBAAU;IACV,sBAAc;IACd,oBAAY;CACb,CAAC,CAAC;AAGH,aAAM,CAAC,YAAY,CAAC;IAClB,+BAAmB;IACnB,6BAAiB;IACjB,6BAAiB;IACjB,4BAAgB;IAChB,+BAAmB;IACnB,yBAAa;IACb,2BAAe;IACf,0BAAc;IACd,4BAAgB;IAChB,mBAAO;IACP,8BAAkB;IAClB,0BAAc;IACd,oBAAQ;IACR,qBAAS;IACT,qBAAS;IACT,yBAAa;IACb,oBAAQ;IACR,iBAAK;IACL,oBAAQ;IACR,kBAAM;IACN,sBAAU;IACV,iBAAK;IACL,qBAAS;IACT,iBAAK;IACL,sBAAU;IACV,6BAAiB;CAClB,CAAC,CAAC;AAGH,cAAO,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAiB,CAAC,CAAC;AAClD,cAAO,CAAC,cAAc,CAAC,UAAU,EAAE,iBAAe,CAAC,CAAC","file":"vchart-all.js","sourcesContent":["import { VChart, Factory } from './core';\nimport {\n AreaChart,\n LineChart,\n BarChart,\n Bar3dChart,\n ScatterChart,\n MapChart,\n PieChart,\n Pie3dChart,\n RoseChart,\n RadarChart,\n CommonChart,\n SequenceChart,\n HistogramChart,\n Histogram3dChart,\n CircularProgressChart,\n WordCloudChart,\n WordCloud3dChart,\n FunnelChart,\n Funnel3dChart,\n LinearProgressChart,\n RangeColumnChart,\n RangeColumn3dChart,\n SunburstChart,\n CirclePackingChart,\n TreemapChart,\n WaterfallChart,\n BoxPlotChart,\n SankeyChart,\n GaugeChart,\n RangeAreaChart,\n HeatmapChart\n} from './chart';\n\nimport {\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n PolarBandAxis,\n CartesianLogAxis,\n CartesianSymlogAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Tooltip,\n CartesianCrossHair,\n PolarCrossHair,\n DataZoom,\n ScrollBar,\n Indicator,\n GeoCoordinate,\n MarkLine,\n Title,\n MarkArea,\n Player,\n Label,\n MarkPoint,\n Brush,\n CustomMark,\n MapLabelComponent,\n TotalLabel\n} from './component';\nimport { GridLayout, Layout3d } from './layout';\nimport { loadPoptip } from '@visactor/vrender-components';\n\n// 装载 poptip\nloadPoptip();\n\n// charts\nVChart.useChart([\n AreaChart,\n LineChart,\n BarChart,\n Bar3dChart,\n ScatterChart,\n MapChart,\n PieChart,\n Pie3dChart,\n RoseChart,\n RadarChart,\n CommonChart,\n SequenceChart,\n HistogramChart,\n Histogram3dChart,\n CircularProgressChart,\n WordCloudChart,\n WordCloud3dChart,\n FunnelChart,\n Funnel3dChart,\n LinearProgressChart,\n RangeColumnChart,\n RangeColumn3dChart,\n SunburstChart,\n CirclePackingChart,\n TreemapChart,\n WaterfallChart,\n BoxPlotChart,\n SankeyChart,\n GaugeChart,\n RangeAreaChart,\n HeatmapChart\n]);\n\n// components\nVChart.useComponent([\n CartesianLinearAxis,\n CartesianBandAxis,\n CartesianTimeAxis,\n CartesianLogAxis,\n CartesianSymlogAxis,\n PolarBandAxis,\n PolarLinearAxis,\n DiscreteLegend,\n ContinuousLegend,\n Tooltip,\n CartesianCrossHair,\n PolarCrossHair,\n DataZoom,\n ScrollBar,\n Indicator,\n GeoCoordinate,\n MarkLine,\n Title,\n MarkArea,\n Player,\n TotalLabel,\n Label,\n MarkPoint,\n Brush,\n CustomMark,\n MapLabelComponent\n]);\n\n// layout\nFactory.registerLayout('grid', GridLayout as any);\nFactory.registerLayout('layout3d', Layout3d as any);\n\nexport { VChart };\n"]}
|
|
@@ -54,6 +54,7 @@ export declare class BaseChart extends CompilableBase implements IChart {
|
|
|
54
54
|
created(): void;
|
|
55
55
|
transformSpec(spec: any): void;
|
|
56
56
|
init(options?: any): void;
|
|
57
|
+
reDataFlow(): void;
|
|
57
58
|
onResize(width: number, height: number): void;
|
|
58
59
|
updateViewBox(viewBox: IBoundsLike, reLayout: boolean): void;
|
|
59
60
|
createBackground(bg: IChartSpec['background']): void;
|
|
@@ -68,6 +69,10 @@ export declare class BaseChart extends CompilableBase implements IChart {
|
|
|
68
69
|
initComponent(): void;
|
|
69
70
|
getAllComponents(): IComponent[];
|
|
70
71
|
getAllModels(): IModel[];
|
|
72
|
+
getModelInFilter(filter: string | {
|
|
73
|
+
type: string;
|
|
74
|
+
index: number;
|
|
75
|
+
} | ((model: IModel) => boolean)): IModel;
|
|
71
76
|
createLayout(): void;
|
|
72
77
|
setLayout(layout: LayoutCallBack): void;
|
|
73
78
|
private _initLayoutFunc;
|