@visactor/vchart 1.0.1-alpha.1 → 1.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +65046 -64871
- package/build/index.min.js +2 -2
- package/chart.d.ts +1 -1
- package/chart.js +1 -1
- package/cjs/chart/area/area.d.ts +1 -0
- package/cjs/chart/area/area.js +6 -1
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar-3d.d.ts +7 -0
- package/cjs/chart/bar/bar-3d.js +19 -0
- package/cjs/chart/bar/bar-3d.js.map +1 -0
- package/cjs/chart/bar/bar.d.ts +1 -6
- package/cjs/chart/bar/bar.js +7 -11
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/bar/index.d.ts +1 -0
- package/cjs/chart/bar/index.js +2 -1
- package/cjs/chart/bar/index.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +1 -1
- package/cjs/chart/base-chart.js +2 -1
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +4 -2
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/circle-packing/circle-packing.js +3 -1
- package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
- package/cjs/chart/funnel/base.d.ts +9 -0
- package/cjs/chart/funnel/base.js +47 -0
- package/cjs/chart/funnel/base.js.map +1 -0
- package/cjs/chart/funnel/funnel-3d.d.ts +7 -0
- package/cjs/chart/funnel/funnel-3d.js +19 -0
- package/cjs/chart/funnel/funnel-3d.js.map +1 -0
- package/cjs/chart/funnel/funnel.d.ts +1 -16
- package/cjs/chart/funnel/funnel.js +4 -48
- package/cjs/chart/funnel/funnel.js.map +1 -1
- package/cjs/chart/funnel/index.d.ts +1 -0
- package/cjs/chart/funnel/index.js +2 -1
- package/cjs/chart/funnel/index.js.map +1 -1
- package/cjs/chart/gauge/gauge.js +3 -1
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/heatmap/heatmap.js +3 -1
- package/cjs/chart/heatmap/heatmap.js.map +1 -1
- package/cjs/chart/histogram/base.d.ts +5 -0
- package/cjs/chart/histogram/base.js +22 -0
- package/cjs/chart/histogram/base.js.map +1 -0
- package/cjs/chart/histogram/histogram-3d.d.ts +7 -0
- package/cjs/chart/histogram/histogram-3d.js +19 -0
- package/cjs/chart/histogram/histogram-3d.js.map +1 -0
- package/cjs/chart/histogram/histogram.d.ts +2 -12
- package/cjs/chart/histogram/histogram.js +7 -23
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/histogram/index.d.ts +1 -0
- package/cjs/chart/histogram/index.js +2 -1
- package/cjs/chart/histogram/index.js.map +1 -1
- package/cjs/chart/index.d.ts +57 -22
- package/cjs/chart/index.js +293 -26
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/line/line.d.ts +1 -0
- package/cjs/chart/line/line.js +6 -1
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/map/map.js +3 -1
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/chart/pie/base.d.ts +5 -0
- package/cjs/chart/pie/base.js +26 -0
- package/cjs/chart/pie/base.js.map +1 -0
- package/cjs/chart/pie/index.d.ts +1 -0
- package/cjs/chart/pie/index.js +2 -1
- package/cjs/chart/pie/index.js.map +1 -1
- package/cjs/chart/pie/pie-3d.d.ts +8 -0
- package/cjs/chart/pie/pie-3d.js +24 -0
- package/cjs/chart/pie/pie-3d.js.map +1 -0
- package/cjs/chart/pie/pie.d.ts +1 -13
- package/cjs/chart/pie/pie.js +4 -32
- package/cjs/chart/pie/pie.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js +3 -1
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js +3 -1
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +3 -1
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area.d.ts +1 -0
- package/cjs/chart/range-area/range-area.js +6 -1
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/index.d.ts +2 -1
- package/cjs/chart/range-column/index.js +2 -1
- package/cjs/chart/range-column/index.js.map +1 -1
- package/cjs/chart/range-column/{rangeColumn.d.ts → range-column-3d.d.ts} +0 -7
- package/cjs/chart/range-column/{rangeColumn.js → range-column-3d.js} +4 -17
- package/cjs/chart/range-column/range-column-3d.js.map +1 -0
- package/cjs/chart/range-column/range-column.d.ts +9 -0
- package/cjs/chart/range-column/range-column.js +28 -0
- package/cjs/chart/range-column/range-column.js.map +1 -0
- package/cjs/chart/rose/rose.js +3 -1
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.js +3 -1
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.js +3 -1
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +3 -1
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/sunburst/sunburst.js +3 -1
- package/cjs/chart/sunburst/sunburst.js.map +1 -1
- package/cjs/chart/treemap/treemap.js +3 -1
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/chart/util.d.ts +2 -0
- package/cjs/chart/util.js +23 -0
- package/cjs/chart/util.js.map +1 -0
- package/cjs/chart/waterfall/waterfall.js +4 -2
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/chart/word-cloud/base.d.ts +6 -0
- package/cjs/chart/word-cloud/base.js +25 -0
- package/cjs/chart/word-cloud/base.js.map +1 -0
- package/cjs/chart/word-cloud/index.d.ts +1 -0
- package/cjs/chart/word-cloud/index.js +2 -1
- package/cjs/chart/word-cloud/index.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud-3d.d.ts +9 -0
- package/cjs/chart/word-cloud/word-cloud-3d.js +46 -0
- package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -0
- package/cjs/chart/word-cloud/word-cloud.d.ts +2 -15
- package/cjs/chart/word-cloud/word-cloud.js +4 -53
- package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +1 -1
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/crosshair/base.js +1 -2
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +1 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/index.d.ts +39 -1
- package/cjs/component/index.js +202 -17
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/base-legend.js +7 -3
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +3 -3
- package/cjs/component/player/utils/transform.js +1 -3
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +5 -4
- package/cjs/component/tooltip/handler/base.js +44 -34
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +2 -2
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +2 -2
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/constants.d.ts +4 -0
- package/cjs/component/tooltip/handler/constants.js +5 -2
- package/cjs/component/tooltip/handler/constants.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +6 -2
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +20 -13
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/interface.d.ts +16 -5
- package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +7 -13
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js +12 -27
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +13 -3
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +46 -26
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.d.ts +4 -3
- package/cjs/component/tooltip/handler/dom/model/content-model.js +4 -4
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/interface.d.ts +4 -0
- package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +5 -5
- package/cjs/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/style-constants.d.ts +4 -4
- package/cjs/component/tooltip/handler/dom/model/style-constants.js +16 -18
- package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/text-model.js +1 -0
- package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.d.ts +3 -2
- package/cjs/component/tooltip/handler/dom/model/title-model.js +15 -19
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.d.ts +1 -2
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +21 -16
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/util.d.ts +5 -0
- package/cjs/component/tooltip/handler/dom/{utils/style.js → util.js} +32 -20
- package/cjs/component/tooltip/handler/dom/util.js.map +1 -0
- package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
- package/cjs/component/tooltip/handler/interface/index.js +1 -1
- package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +12 -8
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/common.d.ts +6 -2
- package/cjs/component/tooltip/handler/utils/common.js +30 -5
- package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/compose.d.ts +3 -2
- package/cjs/component/tooltip/handler/utils/compose.js +56 -45
- package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js +64 -28
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.d.ts +2 -1
- package/cjs/component/tooltip/handler/utils/style.js +4 -4
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +3 -1
- package/cjs/component/tooltip/tooltip.js +33 -18
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/common.js +4 -2
- package/cjs/component/tooltip/utils/common.js.map +1 -1
- package/cjs/constant/word-cloud.js +2 -1
- package/cjs/core/factory.js +1 -2
- package/cjs/{export/core.d.ts → core/index.d.ts} +4 -4
- package/cjs/{export/core.js → core/index.js} +5 -5
- package/cjs/core/index.js.map +1 -0
- package/cjs/core/instance-manager.d.ts +1 -1
- package/cjs/core/instance-manager.js +1 -1
- package/cjs/core/instance-manager.js.map +1 -1
- package/cjs/core/interface.js +1 -1
- package/cjs/core/vchart.d.ts +1 -0
- package/cjs/core/vchart.js +11 -3
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.js +2 -1
- package/cjs/index.d.ts +6 -6
- package/cjs/index.js +4 -4
- package/cjs/index.js.map +1 -1
- package/cjs/layout/base-layout.d.ts +24 -0
- package/cjs/layout/base-layout.js +123 -0
- package/cjs/layout/base-layout.js.map +1 -0
- package/cjs/layout/grid-layout/grid-layout.d.ts +5 -35
- package/cjs/layout/grid-layout/grid-layout.js +2 -1
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/index.d.ts +6 -24
- package/cjs/layout/index.js +25 -115
- package/cjs/layout/index.js.map +1 -1
- package/cjs/layout/interface.d.ts +31 -3
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/layout3d/index.d.ts +1 -1
- package/cjs/layout/layout3d/index.js +2 -2
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/mark/arc-3d.d.ts +9 -0
- package/cjs/mark/arc-3d.js +16 -0
- package/cjs/mark/arc-3d.js.map +1 -0
- package/cjs/mark/arc.d.ts +5 -9
- package/cjs/mark/arc.js +12 -22
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.js +1 -1
- package/cjs/mark/base/base-line.js +3 -3
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +7 -0
- package/cjs/mark/base/base-mark.js +10 -6
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/box-plot.js +1 -1
- package/cjs/mark/cell.js +1 -1
- package/cjs/mark/index.d.ts +21 -0
- package/cjs/{export/mark.js → mark/index.js} +49 -37
- package/cjs/mark/index.js.map +1 -0
- package/cjs/mark/{linkPath.js → link-path.js} +1 -1
- package/cjs/mark/link-path.js.map +1 -0
- package/cjs/mark/polygon/base-polygon.d.ts +6 -0
- package/cjs/mark/polygon/base-polygon.js +18 -0
- package/cjs/mark/polygon/base-polygon.js.map +1 -0
- package/cjs/mark/polygon/polygon.d.ts +9 -0
- package/cjs/mark/polygon/polygon.js +16 -0
- package/cjs/mark/polygon/polygon.js.map +1 -0
- package/cjs/mark/polygon/pyramid-3d.d.ts +9 -0
- package/cjs/mark/polygon/pyramid-3d.js +16 -0
- package/cjs/mark/polygon/pyramid-3d.js.map +1 -0
- package/cjs/mark/rect-3d.d.ts +10 -0
- package/cjs/mark/rect-3d.js +23 -0
- package/cjs/mark/rect-3d.js.map +1 -0
- package/cjs/mark/rect.d.ts +1 -7
- package/cjs/mark/rect.js +1 -16
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/utils/common.d.ts +0 -12
- package/cjs/mark/utils/common.js +2 -13
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/model/base-model.js +1 -1
- package/cjs/model/interface.js +1 -1
- package/cjs/model/layout-item.js +1 -1
- package/cjs/model/model-state-manager.js +1 -1
- package/cjs/model/tooltip-helper.d.ts +3 -4
- package/cjs/model/tooltip-helper.js +5 -10
- package/cjs/model/tooltip-helper.js.map +1 -1
- package/cjs/region/interface.js +1 -1
- package/cjs/region/region.js +5 -10
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area.js +3 -1
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar-3d.d.ts +11 -0
- package/cjs/series/bar/bar-3d.js +25 -0
- package/cjs/series/bar/bar-3d.js.map +1 -0
- package/cjs/series/bar/bar.d.ts +0 -7
- package/cjs/series/bar/bar.js +3 -18
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.js +1 -1
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +9 -8
- package/cjs/series/base/tooltip-helper.js +23 -12
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +5 -1
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.js +3 -1
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/dot/dot.js +3 -1
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.d.ts +1 -2
- package/cjs/series/dot/tooltip-helper.js +6 -5
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/funnel-3d.d.ts +18 -0
- package/cjs/series/funnel/funnel-3d.js +104 -0
- package/cjs/series/funnel/funnel-3d.js.map +1 -0
- package/cjs/series/funnel/funnel.d.ts +3 -15
- package/cjs/series/funnel/funnel.js +12 -104
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.d.ts +5 -3
- package/cjs/series/funnel/tooltip-helper.js +10 -8
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js +3 -1
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +3 -1
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +2 -2
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/index.d.ts +66 -0
- package/cjs/{export/series.js → series/index.js} +70 -50
- package/cjs/series/index.js.map +1 -0
- package/cjs/series/interface/series.d.ts +2 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/tooltip-helper.d.ts +6 -6
- package/cjs/series/interface/tooltip-helper.js.map +1 -1
- package/cjs/series/line/line.js +3 -1
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.js +3 -1
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/map.js +2 -2
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/pie/pie-3d.d.ts +16 -0
- package/cjs/series/pie/pie-3d.js +97 -0
- package/cjs/series/pie/pie-3d.js.map +1 -0
- package/cjs/series/pie/pie.d.ts +1 -11
- package/cjs/series/pie/pie.js +4 -89
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/animation.d.ts +1 -1
- package/cjs/series/polar/animation.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +3 -1
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.js +3 -1
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/animation.d.ts +1 -1
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/radar.js +3 -1
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-column/rangeColumn-3d.d.ts +10 -0
- package/cjs/series/range-column/rangeColumn-3d.js +19 -0
- package/cjs/series/range-column/rangeColumn-3d.js.map +1 -0
- package/cjs/series/range-column/rangeColumn.d.ts +0 -6
- package/cjs/series/range-column/rangeColumn.js +1 -10
- package/cjs/series/range-column/rangeColumn.js.map +1 -1
- package/cjs/series/rose/rose.js +2 -2
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/sankey.js +2 -1
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.js +3 -1
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/sunburst.js +3 -1
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/treemap.js +3 -1
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +2 -2
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +60 -0
- package/cjs/series/word-cloud/base.js +254 -0
- package/cjs/series/word-cloud/base.js.map +1 -0
- package/cjs/series/word-cloud/word-cloud-3d.d.ts +11 -0
- package/cjs/series/word-cloud/word-cloud-3d.js +199 -0
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -0
- package/cjs/series/word-cloud/word-cloud.d.ts +2 -69
- package/cjs/series/word-cloud/word-cloud.js +5 -441
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/theme/buildin-theme/index.d.ts +0 -1
- package/cjs/theme/buildin-theme/index.js +3 -3
- package/cjs/theme/buildin-theme/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/crosshair.js +4 -4
- package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/tooltip.js +1 -0
- package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +1 -1
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/common.d.ts +7 -1
- package/cjs/typings/tooltip/common.js.map +1 -1
- package/cjs/typings/tooltip/handler.d.ts +1 -1
- package/cjs/typings/tooltip/handler.js.map +1 -1
- package/cjs/typings/tooltip/line.d.ts +6 -4
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/tooltip/shape.d.ts +3 -3
- package/cjs/typings/tooltip/shape.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.d.ts +11 -8
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/typings/visual.d.ts +4 -11
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/debug.d.ts +3 -3
- package/cjs/util/debug.js +11 -20
- package/cjs/util/debug.js.map +1 -1
- package/cjs/util/index.d.ts +1 -0
- package/cjs/util/index.js +2 -1
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/style.js +3 -7
- package/cjs/util/style.js.map +1 -1
- package/cjs/vchart-all.d.ts +1 -1
- package/cjs/vchart-all.js +3 -5
- package/cjs/vchart-all.js.map +1 -1
- package/cjs/vchart-simple.d.ts +1 -1
- package/cjs/vchart-simple.js +2 -4
- package/cjs/vchart-simple.js.map +1 -1
- package/component.d.ts +1 -1
- package/component.js +1 -1
- package/core.d.ts +1 -1
- package/core.js +1 -1
- package/esm/chart/area/area.d.ts +1 -0
- package/esm/chart/area/area.js +11 -0
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar-3d.d.ts +7 -0
- package/esm/chart/bar/bar-3d.js +20 -0
- package/esm/chart/bar/bar-3d.js.map +1 -0
- package/esm/chart/bar/bar.d.ts +1 -6
- package/esm/chart/bar/bar.js +11 -8
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/bar/index.d.ts +1 -0
- package/esm/chart/bar/index.js +2 -0
- package/esm/chart/bar/index.js.map +1 -1
- package/esm/chart/base-chart.d.ts +1 -1
- package/esm/chart/base-chart.js +2 -1
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +9 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/circle-packing/circle-packing.js +6 -0
- package/esm/chart/circle-packing/circle-packing.js.map +1 -1
- package/esm/chart/funnel/base.d.ts +9 -0
- package/esm/chart/funnel/base.js +39 -0
- package/esm/chart/funnel/base.js.map +1 -0
- package/esm/chart/funnel/funnel-3d.d.ts +7 -0
- package/esm/chart/funnel/funnel-3d.js +20 -0
- package/esm/chart/funnel/funnel-3d.js.map +1 -0
- package/esm/chart/funnel/funnel.d.ts +1 -16
- package/esm/chart/funnel/funnel.js +7 -46
- package/esm/chart/funnel/funnel.js.map +1 -1
- package/esm/chart/funnel/index.d.ts +1 -0
- package/esm/chart/funnel/index.js +2 -0
- package/esm/chart/funnel/index.js.map +1 -1
- package/esm/chart/gauge/gauge.js +6 -0
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/heatmap/heatmap.js +6 -0
- package/esm/chart/heatmap/heatmap.js.map +1 -1
- package/esm/chart/histogram/base.d.ts +5 -0
- package/esm/chart/histogram/base.js +14 -0
- package/esm/chart/histogram/base.js.map +1 -0
- package/esm/chart/histogram/histogram-3d.d.ts +7 -0
- package/esm/chart/histogram/histogram-3d.js +20 -0
- package/esm/chart/histogram/histogram-3d.js.map +1 -0
- package/esm/chart/histogram/histogram.d.ts +2 -12
- package/esm/chart/histogram/histogram.js +12 -21
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/histogram/index.d.ts +1 -0
- package/esm/chart/histogram/index.js +2 -0
- package/esm/chart/histogram/index.js.map +1 -1
- package/esm/chart/index.d.ts +57 -22
- package/esm/chart/index.js +36 -22
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/line/line.d.ts +1 -0
- package/esm/chart/line/line.js +11 -0
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/map/map.js +6 -0
- package/esm/chart/map/map.js.map +1 -1
- package/esm/chart/pie/base.d.ts +5 -0
- package/esm/chart/pie/base.js +18 -0
- package/esm/chart/pie/base.js.map +1 -0
- package/esm/chart/pie/index.d.ts +1 -0
- package/esm/chart/pie/index.js +2 -0
- package/esm/chart/pie/index.js.map +1 -1
- package/esm/chart/pie/pie-3d.d.ts +8 -0
- package/esm/chart/pie/pie-3d.js +25 -0
- package/esm/chart/pie/pie-3d.js.map +1 -0
- package/esm/chart/pie/pie.d.ts +1 -13
- package/esm/chart/pie/pie.js +6 -29
- package/esm/chart/pie/pie.js.map +1 -1
- package/esm/chart/progress/circular/circular.js +6 -0
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.js +6 -0
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +6 -0
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area.d.ts +1 -0
- package/esm/chart/range-area/range-area.js +11 -0
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/index.d.ts +2 -1
- package/esm/chart/range-column/index.js +3 -1
- package/esm/chart/range-column/index.js.map +1 -1
- package/esm/chart/range-column/{rangeColumn.d.ts → range-column-3d.d.ts} +0 -7
- package/esm/chart/range-column/{rangeColumn.js → range-column-3d.js} +5 -13
- package/esm/chart/range-column/range-column-3d.js.map +1 -0
- package/esm/chart/range-column/range-column.d.ts +9 -0
- package/esm/chart/range-column/range-column.js +33 -0
- package/esm/chart/range-column/range-column.js.map +1 -0
- package/esm/chart/rose/rose.js +6 -0
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.js +6 -0
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.js +6 -0
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence.js +6 -0
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/sunburst/sunburst.js +6 -0
- package/esm/chart/sunburst/sunburst.js.map +1 -1
- package/esm/chart/treemap/treemap.js +6 -0
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/chart/util.d.ts +2 -0
- package/esm/chart/util.js +16 -0
- package/esm/chart/util.js.map +1 -0
- package/esm/chart/waterfall/waterfall.js +9 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/chart/word-cloud/base.d.ts +6 -0
- package/esm/chart/word-cloud/base.js +21 -0
- package/esm/chart/word-cloud/base.js.map +1 -0
- package/esm/chart/word-cloud/index.d.ts +1 -0
- package/esm/chart/word-cloud/index.js +2 -0
- package/esm/chart/word-cloud/index.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud-3d.d.ts +9 -0
- package/esm/chart/word-cloud/word-cloud-3d.js +47 -0
- package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -0
- package/esm/chart/word-cloud/word-cloud.d.ts +2 -15
- package/esm/chart/word-cloud/word-cloud.js +6 -50
- package/esm/chart/word-cloud/word-cloud.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +2 -2
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/crosshair/base.js +1 -2
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +1 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/index.d.ts +39 -1
- package/esm/component/index.js +39 -2
- package/esm/component/index.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/base-legend.js +7 -3
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +3 -3
- package/esm/component/player/utils/transform.js +1 -3
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/tooltip/handler/base.d.ts +5 -4
- package/esm/component/tooltip/handler/base.js +45 -35
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +2 -2
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +2 -3
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/constants.d.ts +4 -0
- package/esm/component/tooltip/handler/constants.js +9 -0
- package/esm/component/tooltip/handler/constants.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +6 -2
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +20 -12
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/interface.d.ts +16 -5
- package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +7 -13
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js +11 -29
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +13 -3
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +46 -24
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-model.d.ts +4 -3
- package/esm/component/tooltip/handler/dom/model/content-model.js +5 -5
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/interface.d.ts +4 -0
- package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +5 -5
- package/esm/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/style-constants.d.ts +4 -4
- package/esm/component/tooltip/handler/dom/model/style-constants.js +18 -20
- package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/text-model.js +1 -0
- package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/title-model.d.ts +3 -2
- package/esm/component/tooltip/handler/dom/model/title-model.js +15 -19
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.d.ts +1 -2
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js +22 -16
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/util.d.ts +5 -0
- package/esm/component/tooltip/handler/dom/util.js +71 -0
- package/esm/component/tooltip/handler/dom/util.js.map +1 -0
- package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
- package/esm/component/tooltip/handler/interface/index.js +0 -2
- package/esm/component/tooltip/handler/interface/index.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +11 -7
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/common.d.ts +6 -2
- package/esm/component/tooltip/handler/utils/common.js +25 -2
- package/esm/component/tooltip/handler/utils/common.js.map +1 -1
- package/esm/component/tooltip/handler/utils/compose.d.ts +3 -2
- package/esm/component/tooltip/handler/utils/compose.js +52 -43
- package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
- package/esm/component/tooltip/handler/utils/get-spec.js +60 -23
- package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.d.ts +2 -1
- package/esm/component/tooltip/handler/utils/style.js +4 -4
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +3 -1
- package/esm/component/tooltip/tooltip.js +33 -18
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/common.js +4 -2
- package/esm/component/tooltip/utils/common.js.map +1 -1
- package/esm/constant/word-cloud.js +2 -1
- package/esm/core/factory.js +1 -2
- package/esm/{export/core.d.ts → core/index.d.ts} +4 -4
- package/esm/{export/core.js → core/index.js} +5 -5
- package/esm/core/index.js.map +1 -0
- package/esm/core/instance-manager.d.ts +1 -1
- package/esm/core/instance-manager.js +1 -1
- package/esm/core/instance-manager.js.map +1 -1
- package/esm/core/interface.js +1 -1
- package/esm/core/vchart.d.ts +1 -0
- package/esm/core/vchart.js +10 -3
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.js +2 -1
- package/esm/index.d.ts +6 -6
- package/esm/index.js +6 -6
- package/esm/index.js.map +1 -1
- package/esm/layout/base-layout.d.ts +24 -0
- package/esm/layout/base-layout.js +115 -0
- package/esm/layout/base-layout.js.map +1 -0
- package/esm/layout/grid-layout/grid-layout.d.ts +5 -35
- package/esm/layout/grid-layout/grid-layout.js +2 -1
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/index.d.ts +6 -24
- package/esm/layout/index.js +8 -115
- package/esm/layout/index.js.map +1 -1
- package/esm/layout/interface.d.ts +31 -3
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/layout3d/index.d.ts +1 -1
- package/esm/layout/layout3d/index.js +1 -1
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/mark/arc-3d.d.ts +9 -0
- package/esm/mark/arc-3d.js +12 -0
- package/esm/mark/arc-3d.js.map +1 -0
- package/esm/mark/arc.d.ts +5 -9
- package/esm/mark/arc.js +11 -21
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.js +1 -1
- package/esm/mark/base/base-line.js +2 -4
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +7 -0
- package/esm/mark/base/base-mark.js +9 -7
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/box-plot.js +1 -1
- package/esm/mark/cell.js +1 -1
- package/esm/mark/index.d.ts +21 -0
- package/esm/mark/index.js +40 -0
- package/esm/mark/index.js.map +1 -0
- package/esm/mark/{linkPath.js → link-path.js} +1 -1
- package/esm/mark/link-path.js.map +1 -0
- package/esm/mark/polygon/base-polygon.d.ts +6 -0
- package/esm/mark/polygon/base-polygon.js +10 -0
- package/esm/mark/polygon/base-polygon.js.map +1 -0
- package/esm/mark/polygon/polygon.d.ts +9 -0
- package/esm/mark/polygon/polygon.js +12 -0
- package/esm/mark/polygon/polygon.js.map +1 -0
- package/esm/mark/polygon/pyramid-3d.d.ts +9 -0
- package/esm/mark/polygon/pyramid-3d.js +12 -0
- package/esm/mark/polygon/pyramid-3d.js.map +1 -0
- package/esm/mark/rect-3d.d.ts +10 -0
- package/esm/mark/rect-3d.js +19 -0
- package/esm/mark/rect-3d.js.map +1 -0
- package/esm/mark/rect.d.ts +1 -7
- package/esm/mark/rect.js +0 -15
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/utils/common.d.ts +0 -12
- package/esm/mark/utils/common.js +0 -13
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/model/base-model.js +1 -1
- package/esm/model/interface.js +1 -1
- package/esm/model/layout-item.js +1 -1
- package/esm/model/model-state-manager.js +1 -1
- package/esm/model/tooltip-helper.d.ts +3 -4
- package/esm/model/tooltip-helper.js +5 -10
- package/esm/model/tooltip-helper.js.map +1 -1
- package/esm/region/interface.js +1 -1
- package/esm/region/region.js +6 -10
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area.js +12 -0
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar-3d.d.ts +11 -0
- package/esm/series/bar/bar-3d.js +30 -0
- package/esm/series/bar/bar-3d.js.map +1 -0
- package/esm/series/bar/bar.d.ts +0 -7
- package/esm/series/bar/bar.js +8 -14
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.js +1 -1
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +9 -8
- package/esm/series/base/tooltip-helper.js +23 -12
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +8 -0
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.js +8 -0
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/dot/dot.js +12 -0
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/tooltip-helper.d.ts +1 -2
- package/esm/series/dot/tooltip-helper.js +7 -4
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/funnel-3d.d.ts +18 -0
- package/esm/series/funnel/funnel-3d.js +113 -0
- package/esm/series/funnel/funnel-3d.js.map +1 -0
- package/esm/series/funnel/funnel.d.ts +3 -15
- package/esm/series/funnel/funnel.js +18 -101
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.d.ts +5 -3
- package/esm/series/funnel/tooltip-helper.js +11 -7
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.js +8 -0
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +6 -0
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +8 -0
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/index.d.ts +66 -0
- package/esm/series/index.js +70 -0
- package/esm/series/index.js.map +1 -0
- package/esm/series/interface/series.d.ts +2 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/tooltip-helper.d.ts +6 -6
- package/esm/series/interface/tooltip-helper.js.map +1 -1
- package/esm/series/line/line.js +10 -0
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.js +8 -0
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/map.js +7 -1
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/pie/pie-3d.d.ts +16 -0
- package/esm/series/pie/pie-3d.js +107 -0
- package/esm/series/pie/pie-3d.js.map +1 -0
- package/esm/series/pie/pie.d.ts +1 -11
- package/esm/series/pie/pie.js +10 -83
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/animation.d.ts +1 -1
- package/esm/series/polar/animation.js.map +1 -1
- package/esm/series/progress/circular/circular.js +8 -0
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.js +6 -0
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/animation.d.ts +1 -1
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/radar.js +12 -0
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-column/rangeColumn-3d.d.ts +10 -0
- package/esm/series/range-column/rangeColumn-3d.js +23 -0
- package/esm/series/range-column/rangeColumn-3d.js.map +1 -0
- package/esm/series/range-column/rangeColumn.d.ts +0 -6
- package/esm/series/range-column/rangeColumn.js +0 -9
- package/esm/series/range-column/rangeColumn.js.map +1 -1
- package/esm/series/rose/rose.js +8 -0
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/sankey.js +9 -1
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.js +8 -0
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/sunburst.js +8 -0
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/treemap.js +8 -0
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +6 -0
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +60 -0
- package/esm/series/word-cloud/base.js +278 -0
- package/esm/series/word-cloud/base.js.map +1 -0
- package/esm/series/word-cloud/word-cloud-3d.d.ts +11 -0
- package/esm/series/word-cloud/word-cloud-3d.js +205 -0
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -0
- package/esm/series/word-cloud/word-cloud.d.ts +2 -69
- package/esm/series/word-cloud/word-cloud.js +2 -461
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/theme/buildin-theme/index.d.ts +0 -1
- package/esm/theme/buildin-theme/index.js +1 -5
- package/esm/theme/buildin-theme/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/crosshair.js +4 -4
- package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/tooltip.js +1 -0
- package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/esm/typings/spec/common.d.ts +1 -1
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/common.d.ts +7 -1
- package/esm/typings/tooltip/common.js.map +1 -1
- package/esm/typings/tooltip/handler.d.ts +1 -1
- package/esm/typings/tooltip/handler.js.map +1 -1
- package/esm/typings/tooltip/line.d.ts +6 -4
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/tooltip/shape.d.ts +3 -3
- package/esm/typings/tooltip/shape.js.map +1 -1
- package/esm/typings/tooltip/tooltip.d.ts +11 -8
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/typings/visual.d.ts +4 -11
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/debug.d.ts +3 -3
- package/esm/util/debug.js +11 -14
- package/esm/util/debug.js.map +1 -1
- package/esm/util/index.d.ts +1 -0
- package/esm/util/index.js +2 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/style.js +3 -8
- package/esm/util/style.js.map +1 -1
- package/esm/vchart-all.d.ts +1 -1
- package/esm/vchart-all.js +4 -12
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.d.ts +1 -1
- package/esm/vchart-simple.js +4 -10
- package/esm/vchart-simple.js.map +1 -1
- package/layout.d.ts +1 -1
- package/layout.js +1 -1
- package/mark.d.ts +1 -1
- package/mark.js +1 -1
- package/package.json +35 -39
- package/series.d.ts +1 -1
- package/series.js +1 -1
- package/cjs/chart/range-column/rangeColumn.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/utils/style.d.ts +0 -3
- package/cjs/component/tooltip/handler/dom/utils/style.js.map +0 -1
- package/cjs/component/tooltip/handler/interface/cache.d.ts +0 -28
- package/cjs/component/tooltip/handler/interface/cache.js +0 -6
- package/cjs/component/tooltip/handler/interface/cache.js.map +0 -1
- package/cjs/export/chart.d.ts +0 -57
- package/cjs/export/chart.js +0 -298
- package/cjs/export/chart.js.map +0 -1
- package/cjs/export/component.d.ts +0 -39
- package/cjs/export/component.js +0 -207
- package/cjs/export/component.js.map +0 -1
- package/cjs/export/core.js.map +0 -1
- package/cjs/export/layout.d.ts +0 -7
- package/cjs/export/layout.js +0 -33
- package/cjs/export/layout.js.map +0 -1
- package/cjs/export/mark.d.ts +0 -18
- package/cjs/export/mark.js.map +0 -1
- package/cjs/export/series.d.ts +0 -61
- package/cjs/export/series.js.map +0 -1
- package/cjs/mark/linkPath.js.map +0 -1
- package/cjs/mark/polygon.d.ts +0 -18
- package/cjs/mark/polygon.js +0 -32
- package/cjs/mark/polygon.js.map +0 -1
- package/cjs/theme/buildin-theme/dark.d.ts +0 -2
- package/cjs/theme/buildin-theme/dark.js +0 -16
- package/cjs/theme/buildin-theme/dark.js.map +0 -1
- package/esm/chart/range-column/rangeColumn.js.map +0 -1
- package/esm/component/tooltip/handler/dom/utils/style.d.ts +0 -3
- package/esm/component/tooltip/handler/dom/utils/style.js +0 -59
- package/esm/component/tooltip/handler/dom/utils/style.js.map +0 -1
- package/esm/component/tooltip/handler/interface/cache.d.ts +0 -28
- package/esm/component/tooltip/handler/interface/cache.js +0 -2
- package/esm/component/tooltip/handler/interface/cache.js.map +0 -1
- package/esm/export/chart.d.ts +0 -57
- package/esm/export/chart.js +0 -58
- package/esm/export/chart.js.map +0 -1
- package/esm/export/component.d.ts +0 -39
- package/esm/export/component.js +0 -40
- package/esm/export/component.js.map +0 -1
- package/esm/export/core.js.map +0 -1
- package/esm/export/layout.d.ts +0 -7
- package/esm/export/layout.js +0 -8
- package/esm/export/layout.js.map +0 -1
- package/esm/export/mark.d.ts +0 -18
- package/esm/export/mark.js +0 -34
- package/esm/export/mark.js.map +0 -1
- package/esm/export/series.d.ts +0 -61
- package/esm/export/series.js +0 -60
- package/esm/export/series.js.map +0 -1
- package/esm/mark/linkPath.js.map +0 -1
- package/esm/mark/polygon.d.ts +0 -18
- package/esm/mark/polygon.js +0 -28
- package/esm/mark/polygon.js.map +0 -1
- package/esm/theme/buildin-theme/dark.d.ts +0 -2
- package/esm/theme/buildin-theme/dark.js +0 -12
- package/esm/theme/buildin-theme/dark.js.map +0 -1
- /package/cjs/mark/{linkPath.d.ts → link-path.d.ts} +0 -0
- /package/esm/mark/{linkPath.d.ts → link-path.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/utils/attribute.ts"],"names":[],"mappings":"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","file":"attribute.js","sourcesContent":["import type {\n IContainerSize,\n TooltipAttributes,\n TooltipRowAttrs,\n TooltipSymbolAttrs\n} from '@visactor/vrender-components';\nimport type { IToolTipActual } from '../../../../typings';\nimport type { ITooltipStyle } from '../interface';\nimport { isValid } from '@visactor/vutils';\nimport { initTextMeasure } from '../../../../util';\nimport { builtinSymbolsMap } from '@visactor/vrender';\n\nexport const getTooltipAttributes = (actualTooltip: IToolTipActual, style: ITooltipStyle): TooltipAttributes => {\n const { spaceRow, padding, title: titleStyle, shape: shapeStyle, key: keyStyle, value: valueStyle } = style;\n\n const attribute: TooltipAttributes = {\n ...style,\n\n title: {},\n content: [],\n\n titleStyle: {\n value: titleStyle,\n spaceRow\n },\n contentStyle: {\n shape: shapeStyle,\n key: keyStyle,\n value: valueStyle,\n spaceRow\n },\n\n hasContentShape: false,\n keyWidth: 0,\n valueWidth: 0\n };\n (['key', 'value', 'shape'] as (keyof ITooltipStyle)[]).forEach(key => {\n delete attribute[key];\n });\n\n const { title = {}, content = [] } = actualTooltip;\n\n let maxWidth = 0;\n let containerHeight = padding.top + padding.bottom;\n\n // calculate title\n let titleMaxHeight = 0;\n const {\n visible: titleVisible = true,\n value: titleValue = '',\n hasShape: titleHasShape,\n shapeType: titleShapeType = '',\n shapeHollow: titleShapeHollow,\n shapeColor: titleShapeColor\n } = title;\n attribute.title.visible = titleVisible;\n if (titleVisible) {\n const { width, height } = initTextMeasure(titleStyle as any).quickMeasure(titleValue);\n attribute.title.value = {\n // width, height,\n text: titleValue\n };\n maxWidth = width;\n titleMaxHeight = height;\n\n if (titleHasShape && builtinSymbolsMap[titleShapeType]) {\n const titleShapeAttrs: TooltipSymbolAttrs = {\n symbolType: titleShapeType\n };\n if (titleShapeHollow) {\n titleShapeAttrs.stroke = titleShapeColor;\n } else {\n titleShapeAttrs.fill = titleShapeColor;\n }\n attribute.title.shape = titleShapeAttrs;\n maxWidth += shapeStyle.size + shapeStyle.spacing;\n titleMaxHeight = Math.max(shapeStyle.size, titleMaxHeight);\n }\n\n attribute.title.width = maxWidth;\n attribute.title.height = titleMaxHeight;\n\n containerHeight += titleMaxHeight + spaceRow;\n }\n\n // calculate content\n if (content.length) {\n // filter content\n const filteredContent = content.filter(item => {\n return (item.key || item.value) && item.visible !== false;\n });\n if (filteredContent.length) {\n let hasContentShape = false;\n const keyWidths: number[] = [];\n const valueWidths: number[] = [];\n\n const keyTextMeasure = initTextMeasure(keyStyle as any);\n const valueTextMeasure = initTextMeasure(valueStyle as any);\n\n attribute.content = filteredContent.map((item, i) => {\n const itemAttrs: TooltipRowAttrs = { height: 0, spaceRow };\n let itemHeight = 0;\n const { hasShape, key, shapeColor, shapeHollow, shapeType = '', value } = item;\n if (isValid(key)) {\n const { width, height } = keyTextMeasure.quickMeasure(key);\n itemAttrs.key = {\n text: key as any\n };\n keyWidths.push(width);\n itemHeight = Math.max(itemHeight, height);\n }\n if (isValid(value)) {\n const { width, height } = valueTextMeasure.quickMeasure(value);\n itemAttrs.value = {\n text: value as any\n };\n valueWidths.push(width);\n itemHeight = Math.max(itemHeight, height);\n }\n if (hasShape && builtinSymbolsMap[shapeType]) {\n hasContentShape = true;\n const shape: TooltipSymbolAttrs = {\n symbolType: shapeType\n };\n if (shapeHollow) {\n shape.stroke = shapeColor;\n } else {\n shape.fill = shapeColor;\n }\n itemHeight = Math.max(shapeStyle.size, itemHeight);\n itemAttrs.shape = shape;\n }\n\n itemAttrs.height = itemHeight;\n containerHeight += itemHeight;\n if (i < filteredContent.length - 1) {\n containerHeight += spaceRow;\n }\n\n return itemAttrs;\n });\n\n const maxKeyWidth = keyWidths.length ? Math.max(...keyWidths) : 0; // name 需要对齐\n const maxValueWidth = valueWidths.length ? Math.max(...valueWidths) : 0; // value 需要对齐\n maxWidth = Math.max(\n maxKeyWidth +\n maxValueWidth +\n keyStyle.spacing +\n valueStyle.spacing +\n (hasContentShape ? shapeStyle.size + shapeStyle.spacing : 0),\n maxWidth\n );\n attribute.hasContentShape = hasContentShape;\n attribute.keyWidth = maxKeyWidth;\n attribute.valueWidth = maxValueWidth;\n }\n }\n\n const containerSize: IContainerSize = {\n width: maxWidth + padding.left + padding.right,\n height: containerHeight\n };\n\n attribute.panel.width = containerSize.width;\n attribute.panel.height = containerSize.height;\n return attribute;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/utils/attribute.ts"],"names":[],"mappings":"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","file":"attribute.js","sourcesContent":["import type {\n IContainerSize,\n TooltipAttributes,\n TooltipRowAttrs,\n TooltipSymbolAttrs\n} from '@visactor/vrender-components';\nimport type { IToolTipActual } from '../../../../typings';\nimport type { ITooltipStyle } from '../interface';\nimport { isValid } from '@visactor/vutils';\nimport { initTextMeasure } from '../../../../util';\nimport { builtinSymbolsMap } from '@visactor/vrender';\n\nexport const getTooltipAttributes = (actualTooltip: IToolTipActual, style: ITooltipStyle): TooltipAttributes => {\n const { spaceRow, padding, title: titleStyle, shape: shapeStyle, key: keyStyle, value: valueStyle } = style;\n\n const attribute: TooltipAttributes = {\n ...style,\n\n title: {},\n content: [],\n\n titleStyle: {\n value: titleStyle,\n spaceRow\n },\n contentStyle: {\n shape: shapeStyle,\n key: keyStyle,\n value: valueStyle,\n spaceRow\n },\n\n hasContentShape: false,\n keyWidth: 0,\n valueWidth: 0\n };\n (['key', 'value', 'shape'] as (keyof ITooltipStyle)[]).forEach(key => {\n delete attribute[key];\n });\n\n const { title = {}, content = [] } = actualTooltip;\n\n let maxWidth = 0;\n let containerHeight = padding.top + padding.bottom;\n\n // calculate title\n let titleMaxHeight = 0;\n const {\n visible: titleVisible = true,\n value: titleValue = '',\n hasShape: titleHasShape,\n shapeType: titleShapeType = '',\n shapeHollow: titleShapeHollow,\n shapeColor: titleShapeColor\n } = title;\n attribute.title.visible = titleVisible;\n if (titleVisible) {\n const { width, height } = initTextMeasure(titleStyle as any).quickMeasure(titleValue);\n attribute.title.value = {\n // width, height,\n text: titleValue\n };\n maxWidth = width;\n titleMaxHeight = height;\n\n if (titleHasShape && builtinSymbolsMap[titleShapeType]) {\n const titleShapeAttrs: TooltipSymbolAttrs = {\n symbolType: titleShapeType\n };\n if (titleShapeHollow) {\n titleShapeAttrs.stroke = titleShapeColor;\n } else {\n titleShapeAttrs.fill = titleShapeColor;\n }\n attribute.title.shape = titleShapeAttrs;\n maxWidth += shapeStyle.size + shapeStyle.spacing;\n titleMaxHeight = Math.max(shapeStyle.size, titleMaxHeight);\n }\n\n attribute.title.width = maxWidth;\n attribute.title.height = titleMaxHeight;\n\n containerHeight += titleMaxHeight;\n }\n\n // calculate content\n if (content.length) {\n // filter content\n const filteredContent = content.filter(item => {\n return (item.key || item.value) && item.visible !== false;\n });\n if (filteredContent.length) {\n if (titleVisible) {\n containerHeight += spaceRow; // title 与 content 之前的间隔\n }\n\n let hasContentShape = false;\n const keyWidths: number[] = [];\n const adaptiveKeyWidths: number[] = [];\n const valueWidths: number[] = [];\n\n const keyTextMeasure = initTextMeasure(keyStyle as any);\n const valueTextMeasure = initTextMeasure(valueStyle as any);\n\n attribute.content = filteredContent.map((item, i) => {\n const itemAttrs: TooltipRowAttrs = { height: 0, spaceRow };\n let itemHeight = 0;\n const { hasShape, key, shapeColor, shapeHollow, shapeType = '', value, isKeyAdaptive } = item;\n if (isValid(key)) {\n const { width, height } = keyTextMeasure.quickMeasure(key);\n itemAttrs.key = {\n text: key as any\n };\n if (!isKeyAdaptive) {\n keyWidths.push(width);\n } else {\n adaptiveKeyWidths.push(width);\n }\n itemHeight = Math.max(itemHeight, height);\n }\n if (isValid(value)) {\n const { width, height } = valueTextMeasure.quickMeasure(value);\n itemAttrs.value = {\n text: value as any\n };\n valueWidths.push(width);\n itemHeight = Math.max(itemHeight, height);\n }\n if (hasShape && builtinSymbolsMap[shapeType]) {\n hasContentShape = true;\n const shape: TooltipSymbolAttrs = {\n visible: true,\n symbolType: shapeType\n };\n if (shapeHollow) {\n shape.stroke = shapeColor;\n } else {\n shape.fill = shapeColor;\n }\n itemHeight = Math.max(shapeStyle.size, itemHeight);\n itemAttrs.shape = shape;\n } else {\n itemAttrs.shape = { visible: false };\n }\n\n itemAttrs.height = itemHeight;\n containerHeight += itemHeight;\n if (i < filteredContent.length - 1) {\n containerHeight += spaceRow;\n }\n\n return itemAttrs;\n });\n\n const maxKeyWidth = keyWidths.length ? Math.max(...keyWidths) : 0; // name 需要对齐\n const maxAdaptiveKeyWidth = adaptiveKeyWidths.length ? Math.max(...adaptiveKeyWidths) : 0;\n const maxValueWidth = valueWidths.length ? Math.max(...valueWidths) : 0; // value 需要对齐\n const shapeWidth = hasContentShape ? shapeStyle.size + shapeStyle.spacing : 0; // shape 列宽度\n maxWidth = Math.max(\n maxKeyWidth + maxValueWidth + keyStyle.spacing + valueStyle.spacing + shapeWidth,\n maxAdaptiveKeyWidth + shapeWidth,\n maxWidth\n );\n attribute.hasContentShape = hasContentShape;\n attribute.keyWidth = maxKeyWidth;\n attribute.valueWidth = maxValueWidth;\n }\n }\n\n const containerSize: IContainerSize = {\n width: maxWidth + padding.left + padding.right,\n height: containerHeight\n };\n\n attribute.panel.width = containerSize.width;\n attribute.panel.height = containerSize.height;\n return attribute;\n};\n"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Datum } from '@visactor/vgrammar';
|
|
2
|
+
import type { MaybeArray, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../../typings';
|
|
3
|
+
import type { TooltipHandlerParams } from '../../interface';
|
|
2
4
|
export declare function escapeHTML(value: any): string;
|
|
3
|
-
export declare const
|
|
5
|
+
export declare const getTooltipContentValue: <T>(field?: TooltipContentProperty<T>, datum?: any, params?: TooltipHandlerParams) => T;
|
|
6
|
+
export declare const getTooltipPatternValue: <T>(field?: MaybeArray<TooltipPatternProperty<T>>, data?: TooltipData, params?: TooltipHandlerParams) => MaybeArray<TooltipPatternProperty<T>> extends TooltipPatternProperty<T>[] ? MaybeArray<T> : T;
|
|
7
|
+
export declare function getFirstDatumFromTooltipData(data: TooltipData): Datum;
|
|
4
8
|
export declare function pickFirstValidValue<T>(isValid: (element?: T) => any, ...elements: T[]): T | undefined;
|
|
5
9
|
export declare function convertToColorString(color: any, defaultColor?: string): string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.convertToColorString = exports.pickFirstValidValue = exports.
|
|
5
|
+
}), exports.convertToColorString = exports.pickFirstValidValue = exports.getFirstDatumFromTooltipData = exports.getTooltipPatternValue = exports.getTooltipContentValue = exports.escapeHTML = void 0;
|
|
6
6
|
|
|
7
7
|
const util_1 = require("../../../../util");
|
|
8
8
|
|
|
@@ -12,8 +12,33 @@ function escapeHTML(value) {
|
|
|
12
12
|
|
|
13
13
|
exports.escapeHTML = escapeHTML;
|
|
14
14
|
|
|
15
|
-
const
|
|
16
|
-
util_1.isFunction)(field) ? field(datum) : field
|
|
15
|
+
const getTooltipContentValue = (field, datum, params) => (0, util_1.isNil)(field) ? field : (0,
|
|
16
|
+
util_1.isFunction)(field) ? field(datum, params) : field;
|
|
17
|
+
|
|
18
|
+
exports.getTooltipContentValue = getTooltipContentValue;
|
|
19
|
+
|
|
20
|
+
const getTooltipPatternValue = (field, data, params) => {
|
|
21
|
+
if ((0, util_1.isNil)(field)) return field;
|
|
22
|
+
if ((0, util_1.isArray)(field)) {
|
|
23
|
+
const result = [];
|
|
24
|
+
return field.forEach((item => {
|
|
25
|
+
if ((0, util_1.isFunction)(item)) {
|
|
26
|
+
const value = item(data, params);
|
|
27
|
+
(0, util_1.isValid)(value) && result.push(value);
|
|
28
|
+
} else result.push(item);
|
|
29
|
+
})), result;
|
|
30
|
+
}
|
|
31
|
+
return (0, util_1.isFunction)(field) ? field(data, params) : field;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function getFirstDatumFromTooltipData(data) {
|
|
35
|
+
var _a;
|
|
36
|
+
const dimInfoList = (null === (_a = data[0]) || void 0 === _a ? void 0 : _a.series) ? [ {
|
|
37
|
+
data: data,
|
|
38
|
+
value: ""
|
|
39
|
+
} ] : data;
|
|
40
|
+
for (const {data: dataList} of dimInfoList) for (const {datum: datumList} of dataList) for (const datumItem of null != datumList ? datumList : []) if (datumItem) return datumItem;
|
|
41
|
+
}
|
|
17
42
|
|
|
18
43
|
function pickFirstValidValue(isValid, ...elements) {
|
|
19
44
|
for (const ele of elements) if (isValid(ele)) return ele;
|
|
@@ -23,6 +48,6 @@ function convertToColorString(color, defaultColor = "#000") {
|
|
|
23
48
|
return color ? (0, util_1.isString)(color) ? color : (0, util_1.isObject)(color) && color.stops && color.stops[0] && color.stops[0].color || defaultColor : defaultColor;
|
|
24
49
|
}
|
|
25
50
|
|
|
26
|
-
exports.
|
|
27
|
-
exports.convertToColorString = convertToColorString;
|
|
51
|
+
exports.getTooltipPatternValue = getTooltipPatternValue, exports.getFirstDatumFromTooltipData = getFirstDatumFromTooltipData,
|
|
52
|
+
exports.pickFirstValidValue = pickFirstValidValue, exports.convertToColorString = convertToColorString;
|
|
28
53
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/utils/common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/utils/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar';\nimport type { MaybeArray, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../../typings';\nimport { isFunction, isObject, isString, isNil, isArray, isValid, field } from '../../../../util';\nimport type { TooltipHandlerParams } from '../../interface';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension';\n\ninterface IGradientColor {\n [key: string]: any;\n stops: {\n offset: number;\n color: string;\n }[];\n}\n\n/**\n * Escape special HTML characters.\n *\n * @param value A value to convert to string and HTML-escape.\n */\nexport function escapeHTML(value: any): string {\n return String(value).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\(/g, '(');\n}\n\nexport const getTooltipContentValue = <T>(\n field?: TooltipContentProperty<T>,\n datum?: any,\n params?: TooltipHandlerParams\n): T | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isFunction(field)) {\n return field(datum, params);\n }\n return field;\n};\n\nexport const getTooltipPatternValue = <T>(\n field?: MaybeArray<TooltipPatternProperty<T>>,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): (typeof field extends Array<TooltipPatternProperty<T>> ? MaybeArray<T> : T) | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isArray(field)) {\n const result: T[] = [];\n field.forEach(item => {\n if (isFunction(item)) {\n const value = item(data, params);\n if (isValid(value)) {\n result.push(value);\n }\n } else {\n result.push(item);\n }\n });\n return result as any;\n }\n if (isFunction(field)) {\n return field(data, params);\n }\n return field;\n};\n\nexport function getFirstDatumFromTooltipData(data: TooltipData): Datum {\n // 找到第一个可用的datum\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n return datumItem;\n }\n }\n }\n }\n}\n\nexport function pickFirstValidValue<T>(isValid: (element?: T) => any, ...elements: T[]): T | undefined {\n for (const ele of elements) {\n if (isValid(ele)) {\n return ele;\n }\n }\n return undefined;\n}\n\n// 针对渐变色,受底层渲染引擎影响,不一定都能绘制正确,所以这里取 colorStop 的第一个颜色作为 color\nexport function convertToColorString(color: any, defaultColor: string = '#000') {\n if (!color) {\n return defaultColor;\n }\n if (isString(color)) {\n return color;\n }\n\n if (isObject(color) && (color as IGradientColor).stops && (color as IGradientColor).stops[0]) {\n return (color as IGradientColor).stops[0].color || defaultColor;\n }\n\n return defaultColor;\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TooltipContent } from '../../tooltip';
|
|
2
2
|
import type { IToolTipLinePattern, ITooltipPattern, TooltipData, IToolTipLineActual } from '../../../../typings/tooltip';
|
|
3
|
-
|
|
4
|
-
export declare const
|
|
3
|
+
import type { TooltipHandlerParams } from '../../interface';
|
|
4
|
+
export declare const getShowContent: (pattern: ITooltipPattern, data: TooltipData, params: TooltipHandlerParams) => TooltipContent | null;
|
|
5
|
+
export declare const getOneLineData: (datum: any, config: IToolTipLinePattern, params: TooltipHandlerParams) => IToolTipLineActual;
|
|
@@ -4,60 +4,67 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.getOneLineData = exports.getShowContent = void 0;
|
|
6
6
|
|
|
7
|
-
const util_1 = require("../../../../util"), common_1 = require("./common"), utils_1 = require("../../utils"), getShowContent = (pattern, data,
|
|
8
|
-
var _a, _b, _c, _d, _e
|
|
9
|
-
if (!data || "mouseout" === event.type) return null;
|
|
10
|
-
const
|
|
7
|
+
const util_1 = require("../../../../util"), common_1 = require("./common"), utils_1 = require("../../utils"), constants_1 = require("../constants"), getShowContent = (pattern, data, params) => {
|
|
8
|
+
var _a, _b, _c, _d, _e;
|
|
9
|
+
if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
|
|
10
|
+
const patternTitle = (0, common_1.getTooltipPatternValue)(pattern.title, data, params), patternContent = (0,
|
|
11
|
+
util_1.array)((0, common_1.getTooltipPatternValue)(pattern.content, data, params)), tooltipContent = {
|
|
11
12
|
title: {
|
|
12
|
-
value: null === (_b = null
|
|
13
|
+
value: null === (_b = null == patternTitle ? void 0 : patternTitle.value) || void 0 === _b ? void 0 : _b.toString(),
|
|
13
14
|
hasShape: !1,
|
|
14
15
|
shapeType: void 0,
|
|
15
16
|
shapeHollow: void 0
|
|
16
17
|
},
|
|
17
18
|
content: []
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
util_1.isValid)(
|
|
22
|
-
let datum;
|
|
19
|
+
}, {maxLineCount: maxLineCount = constants_1.TOOLTIP_MAX_LINE_COUNT} = pattern, patternTitleVisible = !1 !== (0,
|
|
20
|
+
common_1.getTooltipContentValue)(null == patternTitle ? void 0 : patternTitle.visible, data, params);
|
|
21
|
+
if (patternTitle && patternTitleVisible) {
|
|
22
|
+
if (tooltipContent.title.hasShape = patternTitle.hasShape, (0, util_1.isValid)(patternTitle.value)) {
|
|
23
23
|
tooltipContent.title = {
|
|
24
|
-
hasShape:
|
|
25
|
-
shapeHollow:
|
|
24
|
+
hasShape: patternTitle.hasShape,
|
|
25
|
+
shapeHollow: patternTitle.shapeHollow
|
|
26
26
|
};
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
value: ""
|
|
30
|
-
} ] : data;
|
|
31
|
-
for (const {data: dataList} of dimInfoList) {
|
|
32
|
-
for (const {datum: datumList} of dataList) {
|
|
33
|
-
for (const datumItem of null != datumList ? datumList : []) if (datumItem) {
|
|
34
|
-
datum = datumItem;
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
if (datum) break;
|
|
38
|
-
}
|
|
39
|
-
if (datum) break;
|
|
40
|
-
}
|
|
41
|
-
tooltipContent.title.value = (0, common_1.getTooltipValue)(null === (_f = pattern.title) || void 0 === _f ? void 0 : _f.value, datum);
|
|
27
|
+
const datum = (0, common_1.getFirstDatumFromTooltipData)(data);
|
|
28
|
+
tooltipContent.title.value = (0, common_1.getTooltipContentValue)(null == patternTitle ? void 0 : patternTitle.value, datum, params);
|
|
42
29
|
}
|
|
43
30
|
} else tooltipContent.title = {
|
|
44
31
|
hasShape: !1,
|
|
45
32
|
visible: !1
|
|
46
33
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
34
|
+
if ("mark" === pattern.activeType) for (const content of null != patternContent ? patternContent : []) {
|
|
35
|
+
const oneLineData = (0, exports.getOneLineData)(null === (_c = data[0]) || void 0 === _c ? void 0 : _c.datum[0], content, params);
|
|
36
|
+
if (!1 !== oneLineData.visible) {
|
|
37
|
+
if (tooltipContent.content.length === maxLineCount - 1) {
|
|
38
|
+
tooltipContent.content.push(Object.assign(Object.assign({}, oneLineData), constants_1.TOOLTIP_OTHERS_LINE));
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
if (!(tooltipContent.content.length < maxLineCount)) break;
|
|
42
|
+
tooltipContent.content.push(oneLineData);
|
|
43
|
+
}
|
|
44
|
+
} else if ("dimension" === pattern.activeType) for (const {data: d} of data) {
|
|
45
|
+
for (const {datum: datum, series: series} of d) {
|
|
46
|
+
if (!(0, utils_1.getTooltipActualActiveType)(null === (_d = series.tooltipHelper) || void 0 === _d ? void 0 : _d.spec).includes("dimension")) continue;
|
|
47
|
+
const contentPatterns = null !== (_e = null == patternContent ? void 0 : patternContent.filter((c => (0,
|
|
48
|
+
util_1.isNil)(c.seriesId) || c.seriesId === series.id))) && void 0 !== _e ? _e : [];
|
|
49
|
+
for (const datumItem of datum) {
|
|
50
|
+
for (const linePattern of contentPatterns) {
|
|
51
|
+
const oneLineData = (0, exports.getOneLineData)(datumItem, linePattern, params);
|
|
52
|
+
if (!1 !== oneLineData.visible) {
|
|
53
|
+
if (tooltipContent.content.length === maxLineCount - 1) {
|
|
54
|
+
tooltipContent.content.push(Object.assign(Object.assign({}, oneLineData), constants_1.TOOLTIP_OTHERS_LINE));
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
if (!(tooltipContent.content.length < maxLineCount)) break;
|
|
58
|
+
tooltipContent.content.push(oneLineData);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (tooltipContent.content.length >= maxLineCount) break;
|
|
62
|
+
}
|
|
63
|
+
if (tooltipContent.content.length >= maxLineCount) break;
|
|
64
|
+
}
|
|
65
|
+
if (tooltipContent.content.length >= maxLineCount) break;
|
|
66
|
+
}
|
|
67
|
+
return tooltipContent.title && (tooltipContent.content.length > 0 && tooltipContent.content[0].shapeType ? ((0,
|
|
61
68
|
util_1.isNil)(tooltipContent.title.shapeType) && (tooltipContent.title.shapeType = tooltipContent.content[0].shapeType),
|
|
62
69
|
(0, util_1.isNil)(tooltipContent.title.shapeColor) && (tooltipContent.title.shapeColor = tooltipContent.content[0].shapeColor)) : tooltipContent.title.hasShape = !1),
|
|
63
70
|
tooltipContent;
|
|
@@ -65,14 +72,18 @@ const util_1 = require("../../../../util"), common_1 = require("./common"), util
|
|
|
65
72
|
|
|
66
73
|
exports.getShowContent = getShowContent;
|
|
67
74
|
|
|
68
|
-
const getOneLineData = (datum, config) => {
|
|
69
|
-
const key = (0, common_1.
|
|
70
|
-
|
|
71
|
-
common_1.
|
|
75
|
+
const getOneLineData = (datum, config, params) => {
|
|
76
|
+
const key = (0, common_1.getTooltipContentValue)(config.key, datum, params), value = (0,
|
|
77
|
+
common_1.getTooltipContentValue)(config.value, datum, params), visible = !1 !== (0,
|
|
78
|
+
common_1.getTooltipContentValue)(config.visible, datum, params) && ((0, util_1.isValid)(key) || (0,
|
|
79
|
+
util_1.isValid)(value)), isKeyAdaptive = (0, common_1.getTooltipContentValue)(config.isKeyAdaptive, datum, params), shapeType = (0,
|
|
80
|
+
common_1.getTooltipContentValue)(config.shapeType, datum, params), shapeColor = (0,
|
|
81
|
+
common_1.getTooltipContentValue)(config.shapeColor, datum, params);
|
|
72
82
|
return {
|
|
73
83
|
key: key,
|
|
74
84
|
value: value,
|
|
75
85
|
visible: visible,
|
|
86
|
+
isKeyAdaptive: isKeyAdaptive,
|
|
76
87
|
hasShape: config.hasShape,
|
|
77
88
|
shapeType: shapeType,
|
|
78
89
|
shapeHollow: config.shapeHollow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil } from '../../../../util';\nimport type { TooltipContent } from '../../tooltip';\nimport type {\n IToolTipLinePattern,\n ITooltipPattern,\n TooltipData,\n IToolTipLineActual\n} from '../../../../typings/tooltip';\nimport { getTooltipValue } from './common';\nimport { getTooltipActualActiveType } from '../../utils';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension/interface';\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n event: MouseEvent\n): TooltipContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n event.type === 'mouseout'\n ) {\n return null;\n }\n const tooltipContent: TooltipContent = {\n title: {\n value: pattern.title?.value?.toString(),\n hasShape: false,\n shapeType: undefined,\n shapeHollow: undefined\n },\n content: []\n };\n\n /** title */\n if (!pattern.title || pattern.title.visible === false) {\n tooltipContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n tooltipContent.title.hasShape = pattern.title.hasShape;\n if (isValid(pattern.title) && isValid(pattern.title.value)) {\n tooltipContent.title = {\n hasShape: pattern.title?.hasShape,\n shapeHollow: pattern.title?.shapeHollow\n };\n // 找到第一个可用的datum\n let datum: any;\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n datum = datumItem;\n break;\n }\n }\n if (datum) {\n break;\n }\n }\n if (datum) {\n break;\n }\n }\n tooltipContent.title.value = getTooltipValue(pattern.title?.value, datum);\n }\n }\n\n /** content */\n if (pattern.activeType === 'mark') {\n pattern.content?.forEach(content => {\n const oneLineData = getOneLineData((data as IDimensionData[])[0]?.datum[0], content);\n if (oneLineData.visible !== false) {\n tooltipContent.content.push(oneLineData);\n }\n });\n } else if (pattern.activeType === 'dimension') {\n (data as IDimensionInfo[]).forEach(({ data: d }) =>\n d.forEach(({ datum, series }) => {\n if (!getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension')) {\n return;\n }\n const contentPatterns =\n pattern.content?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n datum.forEach(datumItem =>\n contentPatterns.forEach(c => {\n const oneLineData = getOneLineData(datumItem, c);\n if (oneLineData.visible !== false) {\n tooltipContent.content.push(oneLineData);\n }\n })\n );\n })\n );\n }\n\n if (tooltipContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipContent.content.length > 0 && tooltipContent.content[0].shapeType) {\n if (isNil(tooltipContent.title.shapeType)) {\n tooltipContent.title.shapeType = tooltipContent.content[0].shapeType;\n }\n if (isNil(tooltipContent.title.shapeColor)) {\n tooltipContent.title.shapeColor = tooltipContent.content[0].shapeColor;\n }\n } else {\n tooltipContent.title.hasShape = false;\n }\n }\n\n return tooltipContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (datum: any, config: IToolTipLinePattern): IToolTipLineActual => {\n const key = getTooltipValue(config.key, datum);\n const value = getTooltipValue(config.value, datum);\n const visible: boolean = isValid(key) || isValid(value);\n\n const shapeType = getTooltipValue(config.shapeType, datum);\n const shapeColor = getTooltipValue(config.shapeColor, datum);\n\n return {\n key,\n value,\n visible,\n hasShape: config.hasShape,\n shapeType: shapeType as any,\n shapeHollow: config.shapeHollow,\n shapeColor\n };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, array } from '../../../../util';\nimport type { TooltipContent } from '../../tooltip';\nimport type {\n IToolTipLinePattern,\n ITooltipPattern,\n TooltipData,\n IToolTipLineActual\n} from '../../../../typings/tooltip';\nimport { getFirstDatumFromTooltipData, getTooltipContentValue, getTooltipPatternValue } from './common';\nimport { getTooltipActualActiveType } from '../../utils';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport type { TooltipHandlerParams } from '../../interface';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constants';\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const patternContent = array(getTooltipPatternValue(pattern.content, data, params));\n\n const tooltipContent: Required<TooltipContent> = {\n title: {\n value: patternTitle?.value?.toString(),\n hasShape: false,\n shapeType: undefined,\n shapeHollow: undefined\n },\n content: []\n };\n\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n\n /** title */\n const patternTitleVisible = getTooltipContentValue(patternTitle?.visible, data, params) !== false;\n if (!patternTitle || !patternTitleVisible) {\n tooltipContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n tooltipContent.title.hasShape = patternTitle.hasShape;\n if (isValid(patternTitle.value)) {\n tooltipContent.title = {\n hasShape: patternTitle.hasShape,\n shapeHollow: patternTitle.shapeHollow\n };\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipContent.title.value = getTooltipContentValue(patternTitle?.value, datum, params);\n }\n }\n\n /** content */\n if (pattern.activeType === 'mark') {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData((data as IDimensionData[])[0]?.datum[0], content, params);\n if (oneLineData.visible !== false) {\n if (tooltipContent.content.length === maxLineCount - 1) {\n tooltipContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipContent.content.length < maxLineCount) {\n tooltipContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n } else if (pattern.activeType === 'dimension') {\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum, series } of d) {\n if (!getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension')) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datumItem of datum) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datumItem, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipContent.content.length === maxLineCount - 1) {\n tooltipContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipContent.content.length < maxLineCount) {\n tooltipContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipContent.content.length >= maxLineCount) {\n break;\n }\n }\n }\n\n if (tooltipContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipContent.content.length > 0 && tooltipContent.content[0].shapeType) {\n if (isNil(tooltipContent.title.shapeType)) {\n tooltipContent.title.shapeType = tooltipContent.content[0].shapeType;\n }\n if (isNil(tooltipContent.title.shapeColor)) {\n tooltipContent.title.shapeColor = tooltipContent.content[0].shapeColor;\n }\n } else {\n tooltipContent.title.hasShape = false;\n }\n }\n\n return tooltipContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: IToolTipLinePattern,\n params: TooltipHandlerParams\n): IToolTipLineActual => {\n const key = getTooltipContentValue(config.key, datum, params);\n const value = getTooltipContentValue(config.value, datum, params);\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType: shapeType as any,\n shapeHollow: config.shapeHollow,\n shapeColor\n };\n};\n"]}
|
|
@@ -4,37 +4,68 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.getTooltipSpecForShow = void 0;
|
|
6
6
|
|
|
7
|
-
const util_1 = require("../../../../util"), pattern_1 = require("./pattern"), getTooltipSpecForShow = (activeType, globalSpec, series, dimensionInfo) => {
|
|
8
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l
|
|
7
|
+
const util_1 = require("../../../../util"), pattern_1 = require("./pattern"), utils_1 = require("../../utils"), getTooltipSpecForShow = (activeType, globalSpec, series, dimensionInfo) => {
|
|
8
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
9
9
|
const finalSpec = Object.assign(Object.assign({}, globalSpec), {
|
|
10
10
|
activeType: activeType
|
|
11
11
|
});
|
|
12
12
|
let defaultPattern = {}, userPattern = {};
|
|
13
13
|
if ("mark" === activeType && series) {
|
|
14
14
|
const seriesSpec = null !== (_b = null === (_a = series.tooltipHelper) || void 0 === _a ? void 0 : _a.spec) && void 0 !== _b ? _b : {};
|
|
15
|
-
if ((0, util_1.isValid)(seriesSpec.visible) || (0, util_1.isValid)(seriesSpec.activeType) ? finalSpec.visible =
|
|
16
|
-
|
|
17
|
-
util_1.isValid)(globalSpec.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
null
|
|
21
|
-
|
|
22
|
-
util_1.
|
|
23
|
-
} else if ("dimension" === activeType && dimensionInfo) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
if ((0, util_1.isValid)(seriesSpec.visible) || (0, util_1.isValid)(seriesSpec.activeType) ? finalSpec.visible = (0,
|
|
16
|
+
utils_1.getTooltipActualActiveType)(seriesSpec).includes("mark") : (0, util_1.isValid)(globalSpec.visible) || (0,
|
|
17
|
+
util_1.isValid)(globalSpec.activeType) ? finalSpec.visible = (0, utils_1.getTooltipActualActiveType)(globalSpec).includes("mark") : finalSpec.visible = !0,
|
|
18
|
+
finalSpec.handler = null !== (_d = null !== (_c = seriesSpec.handler) && void 0 !== _c ? _c : globalSpec.handler) && void 0 !== _d ? _d : void 0,
|
|
19
|
+
null === (_e = finalSpec.handler) || void 0 === _e ? void 0 : _e.showTooltip) return finalSpec;
|
|
20
|
+
defaultPattern = null !== (_f = (0, pattern_1.makeDefaultPattern)(series, "mark")) && void 0 !== _f ? _f : {},
|
|
21
|
+
userPattern = (0, util_1.merge)({}, (0, util_1.cloneDeep)(globalSpec.mark), (0,
|
|
22
|
+
util_1.cloneDeep)(seriesSpec.mark));
|
|
23
|
+
} else if ("dimension" === activeType && (null == dimensionInfo ? void 0 : dimensionInfo.length)) {
|
|
24
|
+
const seriesList = dimensionInfo.reduce(((list, cur) => list.concat(cur.data.map((data => data.series)).filter(util_1.isValid))), []);
|
|
25
|
+
if (seriesList.every((series => {
|
|
26
|
+
var _a;
|
|
27
|
+
return !(0, utils_1.getTooltipActualActiveType)(null === (_a = series.tooltipHelper) || void 0 === _a ? void 0 : _a.spec).includes("dimension");
|
|
28
|
+
})) ? finalSpec.visible = !1 : (0, util_1.isValid)(globalSpec.visible) || (0, util_1.isValid)(globalSpec.activeType) ? finalSpec.visible = (0,
|
|
29
|
+
utils_1.getTooltipActualActiveType)(globalSpec).includes("dimension") : finalSpec.visible = !0,
|
|
30
|
+
finalSpec.handler = null !== (_g = globalSpec.handler) && void 0 !== _g ? _g : void 0,
|
|
31
|
+
null === (_h = finalSpec.handler) || void 0 === _h ? void 0 : _h.showTooltip) return finalSpec;
|
|
32
|
+
const patternList = [];
|
|
33
|
+
dimensionInfo[0].data.forEach((data => {
|
|
34
|
+
const {series: series} = data, mockDimensionInfo = [ Object.assign(Object.assign({}, dimensionInfo[0]), {
|
|
35
|
+
data: [ data ]
|
|
36
|
+
}) ], pattern = (0, pattern_1.makeDefaultPattern)(series, "dimension", mockDimensionInfo);
|
|
37
|
+
pattern && patternList.push(pattern);
|
|
38
|
+
}));
|
|
39
|
+
const defaultPatternContent = [];
|
|
40
|
+
patternList.forEach((({content: content}) => {
|
|
41
|
+
(0, util_1.isFunction)(content) ? defaultPatternContent.push(content) : defaultPatternContent.push(...(0,
|
|
42
|
+
util_1.array)(content));
|
|
43
|
+
})), defaultPattern = Object.assign(Object.assign({}, patternList[0]), {
|
|
44
|
+
content: defaultPatternContent
|
|
45
|
+
});
|
|
46
|
+
let seriesDimensionPattern = {};
|
|
47
|
+
const seriesPatternList = seriesList.filter((series => {
|
|
48
|
+
var _a;
|
|
49
|
+
const spec = null === (_a = series.tooltipHelper) || void 0 === _a ? void 0 : _a.spec;
|
|
50
|
+
return (0, util_1.isValid)(null == spec ? void 0 : spec.dimension) && (0, utils_1.getTooltipActualActiveType)(spec).includes("dimension");
|
|
51
|
+
})).map((series => series.tooltipHelper.spec.dimension));
|
|
52
|
+
if (seriesPatternList.length) {
|
|
53
|
+
let seriesPatternContent = [];
|
|
54
|
+
seriesPatternList.every((({content: content}) => (0, util_1.isNil)(content))) ? seriesPatternContent = void 0 : seriesPatternList.forEach((({content: content}) => {
|
|
55
|
+
(0, util_1.isNil)(content) || ((0, util_1.isFunction)(content) ? null == seriesPatternContent || seriesPatternContent.push(content) : null == seriesPatternContent || seriesPatternContent.push(...(0,
|
|
56
|
+
util_1.array)(content)));
|
|
57
|
+
})), seriesDimensionPattern = Object.assign(Object.assign({}, seriesPatternList[0]), {
|
|
58
|
+
content: seriesPatternContent
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
userPattern = (0, util_1.merge)({}, (0, util_1.cloneDeep)(globalSpec.dimension), seriesDimensionPattern);
|
|
31
62
|
}
|
|
32
|
-
const titleShape = {
|
|
33
|
-
hasShape: null !== (
|
|
34
|
-
shapeType: null !== (
|
|
35
|
-
shapeColor: null !== (
|
|
63
|
+
const defaultPatternTitle = defaultPattern.title, titleShape = {
|
|
64
|
+
hasShape: null !== (_j = userPattern.hasShape) && void 0 !== _j ? _j : null == defaultPatternTitle ? void 0 : defaultPatternTitle.hasShape,
|
|
65
|
+
shapeType: null !== (_k = userPattern.shapeType) && void 0 !== _k ? _k : null == defaultPatternTitle ? void 0 : defaultPatternTitle.shapeType,
|
|
66
|
+
shapeColor: null !== (_l = userPattern.shapeColor) && void 0 !== _l ? _l : null == defaultPatternTitle ? void 0 : defaultPatternTitle.shapeColor
|
|
36
67
|
};
|
|
37
|
-
(0, util_1.isValid)(userPattern.title) ? userPattern.title = Object.assign(Object.assign(Object.assign({}, defaultPattern.title), titleShape), userPattern.title) : userPattern.title = Object.assign(Object.assign({}, defaultPattern.title), titleShape);
|
|
68
|
+
(0, util_1.isValid)(userPattern.title) ? (0, util_1.isFunction)(userPattern.title) || (userPattern.title = Object.assign(Object.assign(Object.assign({}, defaultPattern.title), titleShape), userPattern.title)) : userPattern.title = Object.assign(Object.assign({}, defaultPattern.title), titleShape);
|
|
38
69
|
const getContentShape = defaultContentLine => {
|
|
39
70
|
var _a, _b, _c;
|
|
40
71
|
return {
|
|
@@ -42,11 +73,16 @@ const util_1 = require("../../../../util"), pattern_1 = require("./pattern"), ge
|
|
|
42
73
|
shapeType: null !== (_b = userPattern.shapeType) && void 0 !== _b ? _b : null == defaultContentLine ? void 0 : defaultContentLine.shapeType,
|
|
43
74
|
shapeColor: null !== (_c = userPattern.shapeColor) && void 0 !== _c ? _c : null == defaultContentLine ? void 0 : defaultContentLine.shapeColor
|
|
44
75
|
};
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
76
|
+
}, defaultPatternContent = (0, util_1.array)(defaultPattern.content);
|
|
77
|
+
if ((0, util_1.isValid)(userPattern.content)) {
|
|
78
|
+
if (!(0, util_1.isFunction)(userPattern.content)) {
|
|
79
|
+
const userPatternContent = (0, util_1.array)(userPattern.content);
|
|
80
|
+
userPatternContent.forEach(((line, i) => {
|
|
81
|
+
userPatternContent[i] = Object.assign(Object.assign({}, getContentShape(defaultPatternContent[0])), line);
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
} else userPattern.content = defaultPatternContent.map((line => Object.assign(Object.assign({}, line), getContentShape(line))));
|
|
85
|
+
return finalSpec[activeType] = Object.assign(Object.assign(Object.assign({}, defaultPattern), userPattern), {
|
|
50
86
|
activeType: activeType
|
|
51
87
|
}), finalSpec;
|
|
52
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type { ITooltipSpec } from '../../interface';\nimport type {\n IToolTipLinePattern,\n ITooltipPattern,\n ITooltipShapePattern,\n TooltipActiveType\n} from '../../../../typings';\nimport type { ISeries } from '../../../../series/interface';\nimport { cloneDeep, isValid, isNil, merge, array } from '../../../../util';\nimport { makeDefaultPattern } from './pattern';\nimport type { IDimensionInfo } from '../../../../event/events/dimension/interface';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n // 默认的pattern\n let defaultPattern = {} as ITooltipPattern;\n // 用户配置的pattern\n let userPattern = {} as ITooltipPattern;\n\n if (activeType === 'mark' && series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n\n // visible\n if (isValid(seriesSpec.visible) || isValid(seriesSpec.activeType)) {\n finalSpec.visible =\n seriesSpec.visible !== false &&\n seriesSpec.mark?.visible !== false &&\n (isNil(seriesSpec.activeType) || array(seriesSpec.activeType).includes?.('mark'));\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible =\n globalSpec.visible !== false &&\n globalSpec.mark?.visible !== false &&\n (isNil(globalSpec.activeType) || array(globalSpec.activeType).includes?.('mark'));\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler ?? globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n\n // pattern\n defaultPattern = makeDefaultPattern(series, 'mark');\n userPattern = merge({}, cloneDeep(globalSpec.mark), cloneDeep(seriesSpec.mark));\n } else if (activeType === 'dimension' && dimensionInfo) {\n // dimension目前仅支持global spec\n\n // visible\n if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible =\n globalSpec.visible !== false &&\n globalSpec.dimension?.visible !== false &&\n (isNil(globalSpec.activeType) || array(globalSpec.activeType).includes?.('dimension'));\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n\n // pattern\n const firstSeries = dimensionInfo[0]?.data[0]?.series;\n defaultPattern = firstSeries ? makeDefaultPattern(firstSeries, 'dimension', dimensionInfo) : {};\n userPattern = cloneDeep(globalSpec.dimension) ?? {};\n }\n\n // 对pattern进行组装\n const titleShape: ITooltipShapePattern = {\n hasShape: userPattern.hasShape ?? defaultPattern.title.hasShape,\n shapeType: userPattern.shapeType ?? defaultPattern.title.shapeType,\n shapeColor: userPattern.shapeColor ?? defaultPattern.title.shapeColor\n };\n if (isValid(userPattern.title)) {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userPattern.title\n };\n } else {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape\n };\n }\n\n const getContentShape = (defaultContentLine?: IToolTipLinePattern): ITooltipShapePattern => ({\n hasShape: userPattern.hasShape ?? defaultContentLine?.hasShape,\n shapeType: userPattern.shapeType ?? defaultContentLine?.shapeType,\n shapeColor: userPattern.shapeColor ?? defaultContentLine?.shapeColor\n });\n if (isValid(userPattern.content)) {\n userPattern.content.forEach((line, i) => {\n userPattern.content[i] = {\n ...getContentShape(defaultPattern.content[0]), // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...line\n };\n });\n } else {\n userPattern.content = defaultPattern.content.map(line => ({\n ...line,\n ...getContentShape(line)\n }));\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type { ITooltipSpec } from '../../interface';\nimport type {\n IToolTipLinePattern,\n ITooltipPattern,\n ITooltipShapePattern,\n MaybeArray,\n TooltipActiveType,\n TooltipPatternProperty\n} from '../../../../typings';\nimport type { ISeries } from '../../../../series/interface';\nimport { cloneDeep, isValid, merge, array, isFunction, isNil } from '../../../../util';\nimport { makeDefaultPattern } from './pattern';\nimport type { IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport { getTooltipActualActiveType } from '../../utils';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n // 默认的pattern\n let defaultPattern = {} as ITooltipPattern;\n // 用户配置的pattern\n let userPattern = {} as ITooltipPattern;\n\n if (activeType === 'mark' && series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n\n // visible\n if (isValid(seriesSpec.visible) || isValid(seriesSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(seriesSpec).includes('mark');\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('mark');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler ?? globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n\n // pattern\n defaultPattern = makeDefaultPattern(series, 'mark') ?? {};\n userPattern = merge({}, cloneDeep(globalSpec.mark), cloneDeep(seriesSpec.mark));\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = dimensionInfo.reduce(\n (list, cur) => list.concat(cur.data.map(data => data.series).filter(isValid)),\n [] as ISeries[]\n );\n\n // visible\n if (seriesList.every(series => !getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension'))) {\n finalSpec.visible = false;\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('dimension');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n\n // 默认 pattern\n const patternList: ITooltipPattern[] = [];\n dimensionInfo[0].data.forEach(data => {\n const { series } = data;\n const mockDimensionInfo = [\n {\n ...dimensionInfo[0],\n data: [data]\n }\n ] as IDimensionInfo[];\n const pattern = makeDefaultPattern(series, 'dimension', mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n });\n // 拼接默认 tooltip content\n const defaultPatternContent: Array<TooltipPatternProperty<MaybeArray<IToolTipLinePattern>>> = [];\n patternList.forEach(({ content }) => {\n if (isFunction(content)) {\n defaultPatternContent.push(content);\n } else {\n defaultPatternContent.push(...array(content));\n }\n });\n defaultPattern = {\n ...patternList[0],\n content: defaultPatternContent\n };\n\n // 系列 pattern\n let seriesDimensionPattern: ITooltipPattern = {};\n const seriesPatternList = seriesList\n .filter(series => {\n const spec = series.tooltipHelper?.spec;\n return isValid(spec?.dimension) && getTooltipActualActiveType(spec).includes('dimension');\n })\n .map(series => {\n const pattern = series.tooltipHelper.spec!.dimension!;\n return pattern;\n });\n if (seriesPatternList.length) {\n // 拼接系列 tooltip content\n let seriesPatternContent: Array<TooltipPatternProperty<MaybeArray<IToolTipLinePattern>>> | undefined = [];\n if (seriesPatternList.every(({ content }) => isNil(content))) {\n seriesPatternContent = undefined;\n } else {\n seriesPatternList.forEach(({ content }) => {\n if (isNil(content)) {\n return;\n }\n if (isFunction(content)) {\n seriesPatternContent?.push(content);\n } else {\n seriesPatternContent?.push(...array(content));\n }\n });\n }\n seriesDimensionPattern = {\n ...seriesPatternList[0],\n content: seriesPatternContent\n };\n }\n\n userPattern = merge({}, cloneDeep(globalSpec.dimension), seriesDimensionPattern);\n }\n\n // 对pattern进行组装\n const defaultPatternTitle = defaultPattern.title as IToolTipLinePattern | undefined;\n const titleShape: ITooltipShapePattern = {\n hasShape: userPattern.hasShape ?? defaultPatternTitle?.hasShape,\n shapeType: userPattern.shapeType ?? defaultPatternTitle?.shapeType,\n shapeColor: userPattern.shapeColor ?? defaultPatternTitle?.shapeColor\n };\n if (isValid(userPattern.title)) {\n // 排除是回调的情况\n if (!isFunction(userPattern.title)) {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userPattern.title\n };\n }\n } else {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape\n };\n }\n\n const getContentShape = (defaultContentLine?: IToolTipLinePattern): ITooltipShapePattern => ({\n hasShape: userPattern.hasShape ?? defaultContentLine?.hasShape,\n shapeType: userPattern.shapeType ?? defaultContentLine?.shapeType,\n shapeColor: userPattern.shapeColor ?? defaultContentLine?.shapeColor\n });\n const defaultPatternContent = array(defaultPattern.content) as IToolTipLinePattern[];\n if (isValid(userPattern.content)) {\n // 排除是回调的情况\n if (!isFunction(userPattern.content)) {\n const userPatternContent = array(userPattern.content);\n userPatternContent.forEach((line, i) => {\n userPatternContent[i] = {\n ...getContentShape(defaultPatternContent[0]), // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...line\n };\n });\n }\n } else {\n userPattern.content = defaultPatternContent.map(line => ({\n ...line,\n ...getContentShape(line)\n }));\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ITheme } from '../../../../theme';
|
|
1
2
|
import type { ITooltipTextTheme } from '../../interface';
|
|
2
3
|
import type { ITextStyle } from '../interface';
|
|
3
|
-
export declare function getTextAttributes(style
|
|
4
|
+
export declare function getTextAttributes(style?: ITooltipTextTheme, globalTheme?: ITheme): ITextStyle;
|
|
@@ -6,17 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
|
|
7
7
|
const theme_1 = require("../../../../theme");
|
|
8
8
|
|
|
9
|
-
function getTextAttributes(style = {},
|
|
10
|
-
var _a, _b;
|
|
9
|
+
function getTextAttributes(style = {}, globalTheme) {
|
|
10
|
+
var _a, _b, _c;
|
|
11
11
|
return {
|
|
12
12
|
fill: style.fontColor,
|
|
13
13
|
textAlign: style.textAlign,
|
|
14
14
|
textBaseline: style.textBaseline,
|
|
15
|
-
fontFamily: null !== (_b = null !== (_a = style.fontFamily) && void 0 !== _a ? _a : fontFamily) && void 0 !== _b ? _b : theme_1.DEFAULT_TEXT_FONT_FAMILY,
|
|
15
|
+
fontFamily: null !== (_b = null !== (_a = style.fontFamily) && void 0 !== _a ? _a : null == globalTheme ? void 0 : globalTheme.fontFamily) && void 0 !== _b ? _b : theme_1.DEFAULT_TEXT_FONT_FAMILY,
|
|
16
16
|
fontSize: style.fontSize,
|
|
17
17
|
fontWeight: style.fontWeight,
|
|
18
18
|
lineHeight: style.lineHeight,
|
|
19
|
-
spacing: style.spacing
|
|
19
|
+
spacing: null !== (_c = style.spacing) && void 0 !== _c ? _c : 10
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/utils/style.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/utils/style.ts"],"names":[],"mappings":";;;AAEA,6CAA6D;AAI7D,SAAgB,iBAAiB,CAAC,QAA2B,EAAE,EAAE,WAAoB;;IACnF,MAAM,KAAK,GAAe;QACxB,IAAI,EAAE,KAAK,CAAC,SAAS;QACrB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,UAAU,EAAE,MAAA,MAAA,KAAK,CAAC,UAAU,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,mCAAI,gCAAwB;QACnF,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE;KAC7B,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAZD,8CAYC","file":"style.js","sourcesContent":["import type { ITheme } from '../../../../theme';\n// eslint-disable-next-line no-duplicate-imports\nimport { DEFAULT_TEXT_FONT_FAMILY } from '../../../../theme';\nimport type { ITooltipTextTheme } from '../../interface';\nimport type { ITextStyle } from '../interface';\n\nexport function getTextAttributes(style: ITooltipTextTheme = {}, globalTheme?: ITheme) {\n const attrs: ITextStyle = {\n fill: style.fontColor,\n textAlign: style.textAlign,\n textBaseline: style.textBaseline,\n fontFamily: style.fontFamily ?? globalTheme?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY,\n fontSize: style.fontSize,\n fontWeight: style.fontWeight,\n lineHeight: style.lineHeight,\n spacing: style.spacing ?? 10\n };\n return attrs;\n}\n"]}
|
|
@@ -44,9 +44,11 @@ export declare class Tooltip extends BaseComponent {
|
|
|
44
44
|
protected _getMouseEventData: (params: BaseEventParams) => TotalMouseEventData;
|
|
45
45
|
protected _hideTooltipByHandler: (params: TooltipHandlerParams) => void;
|
|
46
46
|
protected _initTheme(theme?: any): void;
|
|
47
|
+
reInit(theme?: any): void;
|
|
47
48
|
setAttrFromSpec(): void;
|
|
48
49
|
showTooltip(datum: Datum, options: IShowTooltipOption): false | "none" | TooltipActiveType;
|
|
49
50
|
hideTooltip(): boolean;
|
|
50
51
|
private _isSameAsCacheInfo;
|
|
51
|
-
private
|
|
52
|
+
private _isPointerInChart;
|
|
53
|
+
private _isPointerOnTooltip;
|
|
52
54
|
}
|