@visactor/vchart 1.8.10-alpha.0 → 1.8.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +996 -783
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.js +6 -1
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/area/area.js +3 -4
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/3d/bar-3d.js +3 -3
- package/cjs/chart/bar/3d/bar-3d.js.map +1 -1
- package/cjs/chart/bar/bar.js +3 -4
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base/base-chart.js +4 -4
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot-transformer.js +3 -3
- package/cjs/chart/box-plot/box-plot-transformer.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +4 -5
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/circle-packing/circle-packing.js +3 -3
- package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
- package/cjs/chart/common/common.js +4 -4
- package/cjs/chart/common/common.js.map +1 -1
- package/cjs/chart/correlation/correlation.js +4 -4
- package/cjs/chart/correlation/correlation.js.map +1 -1
- package/cjs/chart/funnel/3d/funnel-3d.js +4 -5
- package/cjs/chart/funnel/3d/funnel-3d.js.map +1 -1
- package/cjs/chart/funnel/funnel.js +4 -5
- package/cjs/chart/funnel/funnel.js.map +1 -1
- package/cjs/chart/gauge/gauge.js +3 -3
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/heatmap/heatmap.js +4 -5
- package/cjs/chart/heatmap/heatmap.js.map +1 -1
- package/cjs/chart/histogram/3d/histogram-3d.js +3 -3
- package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
- package/cjs/chart/histogram/histogram.js +4 -5
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/interface/type.d.ts +1 -1
- package/cjs/chart/interface/type.js.map +1 -1
- package/cjs/chart/line/line.js +3 -4
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/map/map.js +3 -3
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/chart/pie/3d/pie-3d.js +3 -3
- package/cjs/chart/pie/3d/pie-3d.js.map +1 -1
- package/cjs/chart/pie/pie.js +3 -3
- package/cjs/chart/pie/pie.js.map +1 -1
- package/cjs/chart/polar/polar-transformer.js +2 -2
- package/cjs/chart/polar/polar-transformer.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js +3 -3
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js +3 -3
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +3 -4
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area-transformer.js +2 -2
- package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
- package/cjs/chart/range-area/range-area.js +4 -5
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/3d/range-column-3d-transformer.js +2 -2
- package/cjs/chart/range-column/3d/range-column-3d-transformer.js.map +1 -1
- package/cjs/chart/range-column/3d/range-column-3d.js +4 -4
- package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
- package/cjs/chart/range-column/range-column-transformer.js +2 -2
- package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
- package/cjs/chart/range-column/range-column.js +4 -4
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/rose/rose.js +3 -4
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.js +4 -5
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.js +4 -6
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence-transformer.js +3 -3
- package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +4 -4
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/sunburst/sunburst.js +4 -5
- package/cjs/chart/sunburst/sunburst.js.map +1 -1
- package/cjs/chart/treemap/treemap.js +4 -5
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/chart/util.js +2 -2
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js +4 -5
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/chart/word-cloud/3d/word-cloud-3d.js +3 -3
- package/cjs/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
- package/cjs/chart/word-cloud/base/base.js +2 -2
- package/cjs/chart/word-cloud/base/base.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud.js +4 -5
- package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +2 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +0 -9
- package/cjs/compile/mark/interface.js +3 -10
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +19 -12
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/common.js +3 -3
- package/cjs/component/axis/cartesian/util/common.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js +1 -0
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +19 -11
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +8 -8
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +1 -1
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/polar.js +9 -9
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/data-zoom/constant.d.ts +1 -1
- package/cjs/component/data-zoom/constant.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +8 -8
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +3 -3
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/data-zoom/util.js +2 -3
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/label/label.js +4 -4
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +4 -4
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.js +4 -4
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/util.d.ts +2 -2
- package/cjs/component/marker/base-marker.d.ts +5 -1
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.js +7 -3
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.js +6 -2
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.js +6 -2
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/marker/utils.js +2 -2
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/tooltip/handler/base.js +15 -15
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.js +15 -10
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/position.js +14 -14
- package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
- package/cjs/constant/hierarchy.js +1 -2
- package/cjs/constant/scroll-bar.js +2 -1
- package/cjs/core/factory.js +2 -3
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/data/transforms/marker-filter.d.ts +5 -0
- package/cjs/data/transforms/marker-filter.js +17 -0
- package/cjs/data/transforms/marker-filter.js.map +1 -0
- package/cjs/event/events/dimension/util/cartesian.js +2 -2
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/interaction/drill/drillable.d.ts +1 -1
- package/cjs/interaction/drill/drillable.js +2 -2
- package/cjs/interaction/drill/drillable.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.d.ts +1 -1
- package/cjs/interaction/zoom/zoomable.js +10 -10
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/interface.d.ts +2 -0
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/layout-item.d.ts +2 -1
- package/cjs/layout/layout-item.js +2 -1
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/layout/util.js +91 -77
- package/cjs/layout/util.js.map +1 -1
- package/cjs/mark/arc-3d.js +2 -2
- package/cjs/mark/arc-3d.js.map +1 -1
- package/cjs/mark/arc.js +2 -2
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.js +2 -2
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/box-plot.js +2 -2
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.js +2 -2
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/component.js +2 -2
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/group.js +2 -2
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/image.js +2 -2
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +1 -1
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/label.js +2 -2
- package/cjs/mark/label.js.map +1 -1
- package/cjs/mark/line.js +2 -2
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/link-path.js +2 -2
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/path.js +2 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.js +2 -2
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/polygon/pyramid-3d.js +2 -2
- package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
- package/cjs/mark/progress-arc.js +2 -3
- package/cjs/mark/progress-arc.js.map +1 -1
- package/cjs/mark/rect-3d.js +2 -2
- package/cjs/mark/rect-3d.js.map +1 -1
- package/cjs/mark/rect.js +2 -2
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/ripple.js +2 -2
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.js +2 -2
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.js +3 -3
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.js +2 -2
- package/cjs/mark/text.js.map +1 -1
- package/cjs/mark/utils/common.js +3 -7
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/plugin/components/axis-sync-plugin/axis-sync.js +1 -1
- package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
- package/cjs/region/region.js +6 -6
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/animation.js +3 -3
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area-transformer.js +3 -3
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/area/area.js +6 -6
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/constant.js +4 -4
- package/cjs/series/area/constant.js.map +1 -1
- package/cjs/series/bar/animation.js +3 -3
- package/cjs/series/bar/animation.js.map +1 -1
- package/cjs/series/bar/bar-3d.js +4 -4
- package/cjs/series/bar/bar-3d.js.map +1 -1
- package/cjs/series/bar/bar-transformer.js +2 -2
- package/cjs/series/bar/bar-transformer.js.map +1 -1
- package/cjs/series/bar/bar.js +15 -15
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/constant.js +10 -10
- package/cjs/series/bar/constant.js.map +1 -1
- package/cjs/series/base/base-series.js +9 -5
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.js +4 -4
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +7 -7
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/constant.js +7 -7
- package/cjs/series/box-plot/constant.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -0
- package/cjs/series/cartesian/cartesian.js +13 -10
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.js +3 -3
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/constant.js +4 -4
- package/cjs/series/circle-packing/constant.js.map +1 -1
- package/cjs/series/correlation/constant.js +13 -13
- package/cjs/series/correlation/constant.js.map +1 -1
- package/cjs/series/correlation/correlation-transformer.js +2 -2
- package/cjs/series/correlation/correlation-transformer.js.map +1 -1
- package/cjs/series/correlation/correlation.js +1 -1
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/constant.js +22 -22
- package/cjs/series/dot/constant.js.map +1 -1
- package/cjs/series/dot/dot.js +4 -4
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/3d/funnel-3d-transformer.js +2 -2
- package/cjs/series/funnel/3d/funnel-3d-transformer.js.map +1 -1
- package/cjs/series/funnel/3d/funnel-3d.js +5 -5
- package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/constant.js +31 -31
- package/cjs/series/funnel/constant.js.map +1 -1
- package/cjs/series/funnel/funnel-transformer.js +2 -2
- package/cjs/series/funnel/funnel-transformer.js.map +1 -1
- package/cjs/series/funnel/funnel.js +7 -7
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.js +4 -4
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/constant.js +16 -16
- package/cjs/series/gauge/constant.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js +6 -6
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge-transformer.js +2 -2
- package/cjs/series/gauge/gauge-transformer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +1 -1
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/heatmap/constant.js +7 -7
- package/cjs/series/heatmap/constant.js.map +1 -1
- package/cjs/series/heatmap/heatmap-transformer.js +2 -2
- package/cjs/series/heatmap/heatmap-transformer.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +1 -1
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/interface/type.d.ts +1 -2
- package/cjs/series/interface/type.js +2 -4
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/line/animation.js +3 -3
- package/cjs/series/line/animation.js.map +1 -1
- package/cjs/series/line/line.js +2 -2
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/constant.js +10 -10
- package/cjs/series/link/constant.js.map +1 -1
- package/cjs/series/link/link.js +2 -2
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/constant.js +4 -4
- package/cjs/series/map/constant.js.map +1 -1
- package/cjs/series/map/map-transformer.js +2 -2
- package/cjs/series/map/map-transformer.js.map +1 -1
- package/cjs/series/map/map.js +1 -1
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/constant.js +7 -11
- package/cjs/series/mixin/constant.js.map +1 -1
- package/cjs/series/mixin/line-mixin-transformer.js +3 -3
- package/cjs/series/mixin/line-mixin-transformer.js.map +1 -1
- package/cjs/series/mixin/line-mixin.js +6 -6
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/3d/pie-3d-transformer.js +2 -2
- package/cjs/series/pie/3d/pie-3d-transformer.js.map +1 -1
- package/cjs/series/pie/3d/pie-3d.js +4 -4
- package/cjs/series/pie/3d/pie-3d.js.map +1 -1
- package/cjs/series/pie/constant.js +13 -13
- package/cjs/series/pie/constant.js.map +1 -1
- package/cjs/series/pie/pie-transformer.js +2 -2
- package/cjs/series/pie/pie-transformer.js.map +1 -1
- package/cjs/series/pie/pie.js +7 -7
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/constant.js +4 -4
- package/cjs/series/polar/progress-like/constant.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +2 -2
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/constant.js +7 -7
- package/cjs/series/progress/circular/constant.js.map +1 -1
- package/cjs/series/progress/linear/animation.js +3 -3
- package/cjs/series/progress/linear/animation.js.map +1 -1
- package/cjs/series/progress/linear/constant.js +10 -10
- package/cjs/series/progress/linear/constant.js.map +1 -1
- package/cjs/series/progress/linear/linear.js +2 -2
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/constant.js +4 -4
- package/cjs/series/radar/constant.js.map +1 -1
- package/cjs/series/radar/radar.js +1 -1
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js +3 -3
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.js +2 -2
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/range-column/3d/range-column-3d-transformer.js +2 -2
- package/cjs/series/range-column/3d/range-column-3d-transformer.js.map +1 -1
- package/cjs/series/range-column/3d/range-column-3d.js +4 -4
- package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
- package/cjs/series/range-column/constant.js +13 -13
- package/cjs/series/range-column/constant.js.map +1 -1
- package/cjs/series/range-column/interface.d.ts +2 -2
- package/cjs/series/range-column/interface.js.map +1 -1
- package/cjs/series/range-column/range-column-transformer.js +2 -2
- package/cjs/series/range-column/range-column-transformer.js.map +1 -1
- package/cjs/series/range-column/range-column.js +11 -11
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.js +2 -2
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/rose/constant.js +4 -4
- package/cjs/series/rose/constant.js.map +1 -1
- package/cjs/series/rose/rose-transformer.js +2 -2
- package/cjs/series/rose/rose-transformer.js.map +1 -1
- package/cjs/series/rose/rose.js +1 -1
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.js +5 -5
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/constant.js +7 -7
- package/cjs/series/sankey/constant.js.map +1 -1
- package/cjs/series/sankey/sankey.js +3 -3
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/constant.js +4 -4
- package/cjs/series/scatter/constant.js.map +1 -1
- package/cjs/series/scatter/scatter-transformer.js +2 -2
- package/cjs/series/scatter/scatter-transformer.js.map +1 -1
- package/cjs/series/scatter/scatter.js +1 -1
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/constant.js +4 -4
- package/cjs/series/sunburst/constant.js.map +1 -1
- package/cjs/series/sunburst/sunburst.js +3 -3
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/constant.js +10 -10
- package/cjs/series/treemap/constant.js.map +1 -1
- package/cjs/series/treemap/treemap-transform.js +3 -3
- package/cjs/series/treemap/treemap-transform.js.map +1 -1
- package/cjs/series/treemap/treemap.js +7 -7
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/util/label-mark.js +5 -5
- package/cjs/series/util/label-mark.js.map +1 -1
- package/cjs/series/waterfall/constant.js +7 -7
- package/cjs/series/waterfall/constant.js.map +1 -1
- package/cjs/series/waterfall/waterfall-transformer.js +2 -2
- package/cjs/series/waterfall/waterfall-transformer.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +6 -6
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.js +2 -2
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/constant.js +7 -7
- package/cjs/series/word-cloud/constant.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +2 -11
- package/cjs/series/word-cloud/interface.js +1 -8
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +2 -2
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/builtin/common/series/rangeColumn.js +3 -7
- package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
- package/cjs/typings/layout.d.ts +1 -0
- package/cjs/typings/layout.js.map +1 -1
- package/cjs/typings/shape.d.ts +0 -21
- package/cjs/typings/shape.js +1 -12
- package/cjs/typings/shape.js.map +1 -1
- package/cjs/typings/space.d.ts +1 -1
- package/cjs/typings/space.js.map +1 -1
- package/cjs/typings/tooltip/position.d.ts +2 -2
- package/cjs/typings/tooltip/position.js.map +1 -1
- package/esm/animation/utils.js +6 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/area/area.js +3 -5
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/3d/bar-3d.js +3 -5
- package/esm/chart/bar/3d/bar-3d.js.map +1 -1
- package/esm/chart/bar/bar.js +2 -4
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base/base-chart.js +1 -3
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot-transformer.js +2 -4
- package/esm/chart/box-plot/box-plot-transformer.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +2 -4
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/circle-packing/circle-packing.js +2 -4
- package/esm/chart/circle-packing/circle-packing.js.map +1 -1
- package/esm/chart/common/common.js +2 -4
- package/esm/chart/common/common.js.map +1 -1
- package/esm/chart/correlation/correlation.js +2 -4
- package/esm/chart/correlation/correlation.js.map +1 -1
- package/esm/chart/funnel/3d/funnel-3d.js +2 -4
- package/esm/chart/funnel/3d/funnel-3d.js.map +1 -1
- package/esm/chart/funnel/funnel.js +3 -5
- package/esm/chart/funnel/funnel.js.map +1 -1
- package/esm/chart/gauge/gauge.js +2 -4
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/heatmap/heatmap.js +2 -4
- package/esm/chart/heatmap/heatmap.js.map +1 -1
- package/esm/chart/histogram/3d/histogram-3d.js +2 -4
- package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
- package/esm/chart/histogram/histogram.js +2 -4
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/interface/type.d.ts +1 -1
- package/esm/chart/interface/type.js.map +1 -1
- package/esm/chart/line/line.js +3 -5
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/map/map.js +2 -4
- package/esm/chart/map/map.js.map +1 -1
- package/esm/chart/pie/3d/pie-3d.js +3 -5
- package/esm/chart/pie/3d/pie-3d.js.map +1 -1
- package/esm/chart/pie/pie.js +2 -4
- package/esm/chart/pie/pie.js.map +1 -1
- package/esm/chart/polar/polar-transformer.js +1 -3
- package/esm/chart/polar/polar-transformer.js.map +1 -1
- package/esm/chart/progress/circular/circular.js +2 -4
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.js +2 -5
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +3 -5
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area-transformer.js +1 -3
- package/esm/chart/range-area/range-area-transformer.js.map +1 -1
- package/esm/chart/range-area/range-area.js +2 -4
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/3d/range-column-3d-transformer.js +1 -3
- package/esm/chart/range-column/3d/range-column-3d-transformer.js.map +1 -1
- package/esm/chart/range-column/3d/range-column-3d.js +2 -4
- package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
- package/esm/chart/range-column/range-column-transformer.js +1 -3
- package/esm/chart/range-column/range-column-transformer.js.map +1 -1
- package/esm/chart/range-column/range-column.js +2 -4
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/rose/rose.js +3 -5
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.js +3 -5
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.js +2 -4
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence-transformer.js +2 -4
- package/esm/chart/sequence/sequence-transformer.js.map +1 -1
- package/esm/chart/sequence/sequence.js +2 -5
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/sunburst/sunburst.js +2 -4
- package/esm/chart/sunburst/sunburst.js.map +1 -1
- package/esm/chart/treemap/treemap.js +2 -4
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/chart/util.js +1 -3
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js +2 -4
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/chart/word-cloud/3d/word-cloud-3d.js +2 -4
- package/esm/chart/word-cloud/3d/word-cloud-3d.js.map +1 -1
- package/esm/chart/word-cloud/base/base.js +1 -3
- package/esm/chart/word-cloud/base/base.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud.js +2 -4
- package/esm/chart/word-cloud/word-cloud.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +2 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +0 -9
- package/esm/compile/mark/interface.js +0 -9
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +16 -12
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/common.js +1 -3
- package/esm/component/axis/cartesian/util/common.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.js +1 -0
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +3 -3
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.js +19 -10
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +7 -9
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +1 -1
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/polar.js +7 -9
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/data-zoom/constant.d.ts +1 -1
- package/esm/component/data-zoom/constant.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +5 -9
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -4
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -4
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/data-zoom/util.js +1 -4
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/label/label.js +3 -5
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +3 -5
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.js +3 -5
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/util.d.ts +2 -2
- package/esm/component/marker/base-marker.d.ts +5 -1
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.js +8 -2
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.js +7 -1
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.js +7 -1
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/marker/utils.js +2 -2
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/tooltip/handler/base.js +1 -3
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.js +12 -8
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/component/tooltip/handler/utils/position.js +13 -15
- package/esm/component/tooltip/handler/utils/position.js.map +1 -1
- package/esm/constant/hierarchy.js +1 -2
- package/esm/constant/scroll-bar.js +2 -1
- package/esm/core/factory.js +1 -4
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/data/transforms/marker-filter.d.ts +5 -0
- package/esm/data/transforms/marker-filter.js +11 -0
- package/esm/data/transforms/marker-filter.js.map +1 -0
- package/esm/event/events/dimension/util/cartesian.js +1 -3
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/interaction/drill/drillable.d.ts +1 -1
- package/esm/interaction/drill/drillable.js +2 -2
- package/esm/interaction/drill/drillable.js.map +1 -1
- package/esm/interaction/zoom/zoomable.d.ts +1 -1
- package/esm/interaction/zoom/zoomable.js +10 -10
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/interface.d.ts +2 -0
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/layout-item.d.ts +2 -1
- package/esm/layout/layout-item.js +2 -1
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/layout/util.js +91 -77
- package/esm/layout/util.js.map +1 -1
- package/esm/mark/arc-3d.js +1 -3
- package/esm/mark/arc-3d.js.map +1 -1
- package/esm/mark/arc.js +1 -3
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.js +1 -3
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/box-plot.js +1 -3
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.js +1 -3
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/component.js +1 -3
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/group.js +1 -3
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/image.js +1 -3
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/interface/type.d.ts +1 -1
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/label.js +1 -3
- package/esm/mark/label.js.map +1 -1
- package/esm/mark/line.js +1 -3
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/link-path.js +1 -3
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/path.js +1 -3
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.js +1 -3
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/polygon/pyramid-3d.js +1 -3
- package/esm/mark/polygon/pyramid-3d.js.map +1 -1
- package/esm/mark/progress-arc.js +1 -3
- package/esm/mark/progress-arc.js.map +1 -1
- package/esm/mark/rect-3d.js +1 -3
- package/esm/mark/rect-3d.js.map +1 -1
- package/esm/mark/rect.js +1 -3
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/ripple.js +1 -3
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.js +1 -3
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.js +2 -6
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.js +1 -3
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/utils/common.js +1 -3
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/plugin/components/axis-sync-plugin/axis-sync.js +1 -1
- package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
- package/esm/region/region.js +5 -9
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/animation.js +2 -4
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area-transformer.js +2 -4
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/area/area.js +6 -8
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/constant.js +3 -7
- package/esm/series/area/constant.js.map +1 -1
- package/esm/series/bar/animation.js +2 -4
- package/esm/series/bar/animation.js.map +1 -1
- package/esm/series/bar/bar-3d.js +3 -5
- package/esm/series/bar/bar-3d.js.map +1 -1
- package/esm/series/bar/bar-transformer.js +1 -3
- package/esm/series/bar/bar-transformer.js.map +1 -1
- package/esm/series/bar/bar.js +9 -13
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/constant.js +9 -13
- package/esm/series/bar/constant.js.map +1 -1
- package/esm/series/base/base-series.js +7 -6
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.js +3 -7
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +7 -9
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/constant.js +6 -10
- package/esm/series/box-plot/constant.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -0
- package/esm/series/cartesian/cartesian.js +13 -12
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.js +2 -4
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/constant.js +3 -7
- package/esm/series/circle-packing/constant.js.map +1 -1
- package/esm/series/correlation/constant.js +12 -16
- package/esm/series/correlation/constant.js.map +1 -1
- package/esm/series/correlation/correlation-transformer.js +1 -3
- package/esm/series/correlation/correlation-transformer.js.map +1 -1
- package/esm/series/correlation/correlation.js +2 -2
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/constant.js +21 -25
- package/esm/series/dot/constant.js.map +1 -1
- package/esm/series/dot/dot.js +1 -3
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/3d/funnel-3d-transformer.js +1 -3
- package/esm/series/funnel/3d/funnel-3d-transformer.js.map +1 -1
- package/esm/series/funnel/3d/funnel-3d.js +4 -6
- package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
- package/esm/series/funnel/constant.js +30 -34
- package/esm/series/funnel/constant.js.map +1 -1
- package/esm/series/funnel/funnel-transformer.js +1 -3
- package/esm/series/funnel/funnel-transformer.js.map +1 -1
- package/esm/series/funnel/funnel.js +7 -11
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.js +3 -5
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/constant.js +15 -19
- package/esm/series/gauge/constant.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.js +4 -6
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge-transformer.js +1 -3
- package/esm/series/gauge/gauge-transformer.js.map +1 -1
- package/esm/series/gauge/gauge.js +2 -2
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/heatmap/constant.js +6 -10
- package/esm/series/heatmap/constant.js.map +1 -1
- package/esm/series/heatmap/heatmap-transformer.js +1 -3
- package/esm/series/heatmap/heatmap-transformer.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +2 -2
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/interface/type.d.ts +1 -2
- package/esm/series/interface/type.js +0 -2
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/line/animation.js +2 -4
- package/esm/series/line/animation.js.map +1 -1
- package/esm/series/line/line.js +3 -3
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/constant.js +9 -13
- package/esm/series/link/constant.js.map +1 -1
- package/esm/series/link/link.js +1 -3
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/constant.js +3 -7
- package/esm/series/map/constant.js.map +1 -1
- package/esm/series/map/map-transformer.js +1 -3
- package/esm/series/map/map-transformer.js.map +1 -1
- package/esm/series/map/map.js +2 -2
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/constant.js +6 -10
- package/esm/series/mixin/constant.js.map +1 -1
- package/esm/series/mixin/line-mixin-transformer.js +2 -4
- package/esm/series/mixin/line-mixin-transformer.js.map +1 -1
- package/esm/series/mixin/line-mixin.js +5 -9
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/3d/pie-3d-transformer.js +1 -3
- package/esm/series/pie/3d/pie-3d-transformer.js.map +1 -1
- package/esm/series/pie/3d/pie-3d.js +3 -5
- package/esm/series/pie/3d/pie-3d.js.map +1 -1
- package/esm/series/pie/constant.js +12 -16
- package/esm/series/pie/constant.js.map +1 -1
- package/esm/series/pie/pie-transformer.js +1 -3
- package/esm/series/pie/pie-transformer.js.map +1 -1
- package/esm/series/pie/pie.js +4 -6
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/constant.js +3 -7
- package/esm/series/polar/progress-like/constant.js.map +1 -1
- package/esm/series/progress/circular/circular.js +3 -3
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/constant.js +6 -10
- package/esm/series/progress/circular/constant.js.map +1 -1
- package/esm/series/progress/linear/animation.js +2 -4
- package/esm/series/progress/linear/animation.js.map +1 -1
- package/esm/series/progress/linear/constant.js +9 -13
- package/esm/series/progress/linear/constant.js.map +1 -1
- package/esm/series/progress/linear/linear.js +3 -3
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/constant.js +3 -7
- package/esm/series/radar/constant.js.map +1 -1
- package/esm/series/radar/radar.js +2 -2
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js +2 -4
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.js +1 -3
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/range-column/3d/range-column-3d-transformer.js +1 -5
- package/esm/series/range-column/3d/range-column-3d-transformer.js.map +1 -1
- package/esm/series/range-column/3d/range-column-3d.js +1 -3
- package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
- package/esm/series/range-column/constant.js +12 -16
- package/esm/series/range-column/constant.js.map +1 -1
- package/esm/series/range-column/interface.d.ts +2 -2
- package/esm/series/range-column/interface.js.map +1 -1
- package/esm/series/range-column/range-column-transformer.js +1 -5
- package/esm/series/range-column/range-column-transformer.js.map +1 -1
- package/esm/series/range-column/range-column.js +9 -15
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.js +1 -3
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/rose/constant.js +3 -7
- package/esm/series/rose/constant.js.map +1 -1
- package/esm/series/rose/rose-transformer.js +1 -3
- package/esm/series/rose/rose-transformer.js.map +1 -1
- package/esm/series/rose/rose.js +2 -2
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.js +4 -6
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/constant.js +6 -10
- package/esm/series/sankey/constant.js.map +1 -1
- package/esm/series/sankey/sankey.js +4 -4
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/constant.js +3 -7
- package/esm/series/scatter/constant.js.map +1 -1
- package/esm/series/scatter/scatter-transformer.js +1 -3
- package/esm/series/scatter/scatter-transformer.js.map +1 -1
- package/esm/series/scatter/scatter.js +2 -2
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/constant.js +3 -7
- package/esm/series/sunburst/constant.js.map +1 -1
- package/esm/series/sunburst/sunburst.js +2 -4
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/constant.js +9 -13
- package/esm/series/treemap/constant.js.map +1 -1
- package/esm/series/treemap/treemap-transform.js +2 -4
- package/esm/series/treemap/treemap-transform.js.map +1 -1
- package/esm/series/treemap/treemap.js +4 -6
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/util/label-mark.js +4 -6
- package/esm/series/util/label-mark.js.map +1 -1
- package/esm/series/waterfall/constant.js +6 -10
- package/esm/series/waterfall/constant.js.map +1 -1
- package/esm/series/waterfall/waterfall-transformer.js +1 -3
- package/esm/series/waterfall/waterfall-transformer.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +6 -8
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.js +1 -3
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/constant.js +6 -10
- package/esm/series/word-cloud/constant.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +2 -11
- package/esm/series/word-cloud/interface.js +1 -8
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +3 -4
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/builtin/common/series/rangeColumn.js +2 -4
- package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
- package/esm/typings/layout.d.ts +1 -0
- package/esm/typings/layout.js.map +1 -1
- package/esm/typings/shape.d.ts +0 -21
- package/esm/typings/shape.js +1 -14
- package/esm/typings/shape.js.map +1 -1
- package/esm/typings/space.d.ts +1 -1
- package/esm/typings/space.js.map +1 -1
- package/esm/typings/tooltip/position.d.ts +2 -2
- package/esm/typings/tooltip/position.js.map +1 -1
- package/package.json +14 -13
package/esm/layout/util.js
CHANGED
|
@@ -31,6 +31,23 @@ function adjustItemsToCenter(allItems, isVertical, containerLength) {
|
|
|
31
31
|
}));
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
function alignSelfOfItems(allItems, isVertical, maxSizes, sign) {
|
|
35
|
+
let maxSize;
|
|
36
|
+
allItems.forEach(((lineItems, index) => {
|
|
37
|
+
lineItems.length > 1 && (maxSize = maxSizes[index], lineItems.forEach((item => {
|
|
38
|
+
if (!item.alignSelf || "start" === item.alignSelf) return;
|
|
39
|
+
const pos = item.getLayoutStartPoint(), ratio = "middle" === item.alignSelf ? .5 : 1, delta = isVertical ? maxSize - (item.getLayoutRect().width + item.layoutPaddingLeft + item.layoutPaddingRight) : maxSize - (item.getLayoutRect().height + item.layoutPaddingTop + item.layoutPaddingBottom);
|
|
40
|
+
isVertical ? item.setLayoutStartPosition({
|
|
41
|
+
x: pos.x + sign * delta * ratio,
|
|
42
|
+
y: pos.y
|
|
43
|
+
}) : item.setLayoutStartPosition({
|
|
44
|
+
x: pos.x,
|
|
45
|
+
y: pos.y + sign * delta * ratio
|
|
46
|
+
});
|
|
47
|
+
})));
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
|
|
34
51
|
function layoutLeftRightStartOrMiddleItems(items, layout, limitHeight, isMiddle, position) {
|
|
35
52
|
if (items.length) {
|
|
36
53
|
let maxWidth = 0;
|
|
@@ -38,6 +55,7 @@ function layoutLeftRightStartOrMiddleItems(items, layout, limitHeight, isMiddle,
|
|
|
38
55
|
let preX = isRight ? layout.rightCurrent : layout.leftCurrent, preTop = layout.topCurrent;
|
|
39
56
|
const allItems = [];
|
|
40
57
|
let singleLineItems = [];
|
|
58
|
+
const maxWidths = [];
|
|
41
59
|
items.forEach((item => {
|
|
42
60
|
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
43
61
|
item.setLayoutRect(rect);
|
|
@@ -45,12 +63,41 @@ function layoutLeftRightStartOrMiddleItems(items, layout, limitHeight, isMiddle,
|
|
|
45
63
|
item.setLayoutStartPosition({
|
|
46
64
|
x: preX + item.layoutOffsetX + itemOffsetX,
|
|
47
65
|
y: preTop + item.layoutOffsetY + item.layoutPaddingTop
|
|
48
|
-
}),
|
|
49
|
-
maxWidth = itemTotalWidth, preTop = layout.topCurrent + itemTotalHeight,
|
|
66
|
+
}), preTop += itemTotalHeight, preTop > limitHeight && singleLineItems.length ? (maxWidths.push(maxWidth),
|
|
67
|
+
preX += xSign * maxWidth, maxWidth = itemTotalWidth, preTop = layout.topCurrent + itemTotalHeight,
|
|
68
|
+
item.setLayoutStartPosition({
|
|
50
69
|
x: preX + item.layoutOffsetX + itemOffsetX,
|
|
51
70
|
y: layout.topCurrent + item.layoutOffsetY + item.layoutPaddingTop
|
|
52
|
-
}), allItems.push(singleLineItems), singleLineItems = [ item ]) :
|
|
53
|
-
|
|
71
|
+
}), allItems.push(singleLineItems), singleLineItems = [ item ]) : (maxWidth = Math.max(maxWidth, itemTotalWidth),
|
|
72
|
+
singleLineItems.push(item));
|
|
73
|
+
})), maxWidths.push(maxWidth), allItems.push(singleLineItems), alignSelfOfItems(allItems, !0, maxWidths, xSign),
|
|
74
|
+
isMiddle && adjustItemsToCenter(allItems, !0, limitHeight), isRight ? layout.rightCurrent = preX + xSign * maxWidth : layout.leftCurrent = preX + xSign * maxWidth;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function layoutLeftRightEndItems(items, layout, limitWidth, position) {
|
|
79
|
+
if (items.length) {
|
|
80
|
+
let maxWidth = 0;
|
|
81
|
+
const isRight = "right" === position, xSign = isRight ? -1 : 1;
|
|
82
|
+
let preX = isRight ? layout.rightCurrent : layout.leftCurrent, preBottom = layout.bottomCurrent;
|
|
83
|
+
const allItems = [];
|
|
84
|
+
let singleLineItems = [];
|
|
85
|
+
const maxWidths = [];
|
|
86
|
+
items.forEach((item => {
|
|
87
|
+
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
88
|
+
item.setLayoutRect(rect);
|
|
89
|
+
const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight, itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;
|
|
90
|
+
preBottom < itemTotalHeight && singleLineItems.length ? (maxWidths.push(maxWidth),
|
|
91
|
+
preX += xSign * maxWidth, maxWidth = itemTotalWidth, preBottom = layout.bottomCurrent,
|
|
92
|
+
item.setLayoutStartPosition({
|
|
93
|
+
x: preX + item.layoutOffsetX + itemOffsetX,
|
|
94
|
+
y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
|
|
95
|
+
}), allItems.push(singleLineItems), singleLineItems = [ item ]) : (item.setLayoutStartPosition({
|
|
96
|
+
x: preX + item.layoutOffsetX + itemOffsetX,
|
|
97
|
+
y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
|
|
98
|
+
}), maxWidth = Math.max(maxWidth, itemTotalWidth), preBottom -= itemTotalHeight,
|
|
99
|
+
singleLineItems.push(item));
|
|
100
|
+
})), maxWidths.push(maxWidth), allItems.push(singleLineItems), alignSelfOfItems(allItems, !0, maxWidths, xSign),
|
|
54
101
|
isRight ? layout.rightCurrent = preX + xSign * maxWidth : layout.leftCurrent = preX + xSign * maxWidth;
|
|
55
102
|
}
|
|
56
103
|
}
|
|
@@ -61,6 +108,7 @@ function layoutTopBottomStartOrMiddleItems(items, layout, limitWidth, isMiddle,
|
|
|
61
108
|
let maxHeight = 0, preLeft = layout.leftCurrent, preY = isTop ? layout.topCurrent : layout.bottomCurrent;
|
|
62
109
|
const allItems = [];
|
|
63
110
|
let singleLineItems = [];
|
|
111
|
+
const maxHeights = [];
|
|
64
112
|
items.forEach((item => {
|
|
65
113
|
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
66
114
|
item.setLayoutRect(rect);
|
|
@@ -68,102 +116,68 @@ function layoutTopBottomStartOrMiddleItems(items, layout, limitWidth, isMiddle,
|
|
|
68
116
|
item.setLayoutStartPosition({
|
|
69
117
|
x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,
|
|
70
118
|
y: preY + item.layoutOffsetY + itemOffsetY
|
|
71
|
-
}),
|
|
72
|
-
preLeft
|
|
73
|
-
|
|
119
|
+
}), preLeft += itemTotalWidth, preLeft > limitWidth && singleLineItems.length ? (maxHeights.push(maxHeight),
|
|
120
|
+
preLeft = layout.leftCurrent + itemTotalWidth, preY += ySign * maxHeight, maxHeight = itemTotalHeight,
|
|
121
|
+
item.setLayoutStartPosition({
|
|
74
122
|
x: layout.leftCurrent + item.layoutOffsetX + item.layoutPaddingLeft,
|
|
75
123
|
y: preY + item.layoutOffsetY + itemOffsetY
|
|
76
|
-
}), allItems.push(singleLineItems), singleLineItems = [ item ]) :
|
|
77
|
-
|
|
78
|
-
|
|
124
|
+
}), allItems.push(singleLineItems), singleLineItems = [ item ]) : (maxHeight = Math.max(maxHeight, itemTotalHeight),
|
|
125
|
+
singleLineItems.push(item));
|
|
126
|
+
})), maxHeights.push(maxHeight), allItems.push(singleLineItems), alignSelfOfItems(allItems, !1, maxHeights, ySign),
|
|
127
|
+
isMiddle && adjustItemsToCenter(allItems, !1, limitWidth), isTop ? layout.topCurrent = preY + ySign * maxHeight : layout.bottomCurrent = preY + ySign * maxHeight;
|
|
79
128
|
}
|
|
80
129
|
}
|
|
81
130
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
let
|
|
88
|
-
|
|
131
|
+
function layoutTopBottomEndItems(items, layout, limitWidth, position) {
|
|
132
|
+
if (items.length) {
|
|
133
|
+
const isTop = "top" === position, ySign = isTop ? 1 : -1;
|
|
134
|
+
let maxHeight = 0, preRight = layout.rightCurrent, preY = isTop ? layout.topCurrent : layout.bottomCurrent;
|
|
135
|
+
const allItems = [];
|
|
136
|
+
let singleLineItems = [];
|
|
137
|
+
const maxHeights = [];
|
|
138
|
+
items.forEach((item => {
|
|
89
139
|
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
90
140
|
item.setLayoutRect(rect);
|
|
91
|
-
const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
|
|
92
|
-
|
|
141
|
+
const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight, itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;
|
|
142
|
+
preRight < itemTotalWidth && singleLineItems.length ? (preRight = layout.rightCurrent,
|
|
143
|
+
preY += ySign * maxHeight, maxHeight = itemTotalHeight, item.setLayoutStartPosition({
|
|
144
|
+
x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
145
|
+
y: preY + item.layoutOffsetY + itemOffsetY
|
|
146
|
+
}), allItems.push(singleLineItems), singleLineItems = [ item ]) : (singleLineItems.push(item),
|
|
93
147
|
item.setLayoutStartPosition({
|
|
94
|
-
x:
|
|
95
|
-
y:
|
|
96
|
-
})
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}), maxWidth = Math.max(maxWidth, itemTotalWidth), preBottom -= itemTotalHeight);
|
|
100
|
-
})), layout.leftCurrent = preLeft + maxWidth;
|
|
148
|
+
x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
149
|
+
y: preY + item.layoutOffsetY + itemOffsetY
|
|
150
|
+
}), maxHeight = Math.max(maxHeight, itemTotalHeight), preRight -= itemTotalWidth);
|
|
151
|
+
})), maxHeights.push(maxHeight), allItems.push(singleLineItems), alignSelfOfItems(allItems, !1, maxHeights, ySign),
|
|
152
|
+
isTop ? layout.topCurrent = preY + ySign * maxHeight : layout.bottomCurrent = preY + ySign * maxHeight;
|
|
101
153
|
}
|
|
102
154
|
}
|
|
103
155
|
|
|
156
|
+
export function layoutLeftInlineItems(items, layout, limitHeight) {
|
|
157
|
+
const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
|
|
158
|
+
startItems.length && layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, !1, "left"),
|
|
159
|
+
middleItems.length && layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, !0, "left"),
|
|
160
|
+
endItems.length && layoutLeftRightEndItems(endItems, layout, limitHeight, "left");
|
|
161
|
+
}
|
|
162
|
+
|
|
104
163
|
export function layoutRightInlineItems(items, layout, limitHeight) {
|
|
105
164
|
const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
|
|
106
|
-
|
|
165
|
+
startItems.length && layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, !1, "right"),
|
|
107
166
|
middleItems.length && layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, !0, "right"),
|
|
108
|
-
endItems.length)
|
|
109
|
-
let maxWidth = 0, preRight = layout.rightCurrent, preBottom = layout.bottomCurrent;
|
|
110
|
-
endItems.forEach((item => {
|
|
111
|
-
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
112
|
-
item.setLayoutRect(rect);
|
|
113
|
-
const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
|
|
114
|
-
preBottom < itemTotalHeight ? (preRight -= maxWidth, maxWidth = itemTotalWidth,
|
|
115
|
-
preBottom = layout.bottomCurrent, item.setLayoutStartPosition({
|
|
116
|
-
x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
117
|
-
y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
|
|
118
|
-
})) : (item.setLayoutStartPosition({
|
|
119
|
-
x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
120
|
-
y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
|
|
121
|
-
}), maxWidth = Math.max(maxWidth, itemTotalWidth), preBottom -= itemTotalHeight);
|
|
122
|
-
})), layout.rightCurrent = preRight - maxWidth;
|
|
123
|
-
}
|
|
167
|
+
endItems.length && layoutLeftRightEndItems(endItems, layout, limitHeight, "right");
|
|
124
168
|
}
|
|
125
169
|
|
|
126
170
|
export function layoutTopInlineItems(items, layout, limitWidth) {
|
|
127
171
|
const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
|
|
128
|
-
|
|
172
|
+
startItems.length && layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, !1, "top"),
|
|
129
173
|
middleItems.length && layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, !0, "top"),
|
|
130
|
-
endItems.length)
|
|
131
|
-
let maxHeight = 0, preTop = layout.topCurrent, preRight = layout.rightCurrent;
|
|
132
|
-
endItems.forEach((item => {
|
|
133
|
-
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
134
|
-
item.setLayoutRect(rect);
|
|
135
|
-
const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
|
|
136
|
-
preRight < itemTotalWidth ? (preRight = layout.rightCurrent, preTop += maxHeight,
|
|
137
|
-
maxHeight = itemTotalHeight, item.setLayoutStartPosition({
|
|
138
|
-
x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
139
|
-
y: preTop + item.layoutOffsetY + item.layoutPaddingTop
|
|
140
|
-
})) : (item.setLayoutStartPosition({
|
|
141
|
-
x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
142
|
-
y: preTop + item.layoutOffsetY + item.layoutPaddingTop
|
|
143
|
-
}), maxHeight = Math.max(maxHeight, itemTotalHeight), preRight -= itemTotalWidth);
|
|
144
|
-
})), layout.topCurrent = preTop + maxHeight;
|
|
145
|
-
}
|
|
174
|
+
endItems.length && layoutTopBottomEndItems(endItems, layout, limitWidth, "top");
|
|
146
175
|
}
|
|
147
176
|
|
|
148
177
|
export function layoutBottomInlineItems(items, layout, limitWidth) {
|
|
149
178
|
const {startItems: startItems, middleItems: middleItems, endItems: endItems} = getPositionItems(items);
|
|
150
|
-
|
|
179
|
+
startItems.length && layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, !1, "bottom"),
|
|
151
180
|
middleItems.length && layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, !0, "bottom"),
|
|
152
|
-
endItems.length)
|
|
153
|
-
let maxHeight = 0, preBottom = layout.bottomCurrent, preRight = layout.rightCurrent;
|
|
154
|
-
endItems.forEach((item => {
|
|
155
|
-
const layoutRect = layout.getItemComputeLayoutRect(item), rect = item.computeBoundsInRect(layoutRect);
|
|
156
|
-
item.setLayoutRect(rect);
|
|
157
|
-
const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom, itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;
|
|
158
|
-
preRight < itemTotalWidth ? (preRight = layout.rightCurrent, preBottom -= maxHeight,
|
|
159
|
-
maxHeight = itemTotalHeight, item.setLayoutStartPosition({
|
|
160
|
-
x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
161
|
-
y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
|
|
162
|
-
})) : (item.setLayoutStartPosition({
|
|
163
|
-
x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,
|
|
164
|
-
y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom
|
|
165
|
-
}), maxHeight = Math.max(maxHeight, itemTotalHeight), preRight -= itemTotalWidth);
|
|
166
|
-
})), layout.bottomCurrent = preBottom - maxHeight;
|
|
167
|
-
}
|
|
181
|
+
endItems.length && layoutTopBottomEndItems(endItems, layout, limitWidth, "bottom");
|
|
168
182
|
}
|
|
169
183
|
//# sourceMappingURL=util.js.map
|
package/esm/layout/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isNil, last } from '@visactor/vutils';\nimport type { Layout } from './base-layout';\nimport type { ILayoutItem } from './interface';\n\nfunction getPositionItems(items: ILayoutItem[]) {\n const startItems: ILayoutItem[] = [];\n const middleItems: ILayoutItem[] = [];\n const endItems: ILayoutItem[] = [];\n\n items.forEach(item => {\n if (isNil(item.getSpec().position) || item.getSpec().position === 'start') {\n startItems.push(item);\n } else if (item.getSpec().position === 'middle') {\n middleItems.push(item);\n } else if (item.getSpec().position === 'end') {\n endItems.push(item);\n }\n });\n\n return {\n startItems,\n endItems,\n middleItems\n };\n}\n\nfunction adjustItemsToCenter(allItems: ILayoutItem[][], isVertical: boolean, containerLength: number) {\n if (isVertical) {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().y + lastItem.getLayoutRect().height - items[0].getLayoutStartPoint().y;\n const centerY = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x,\n y: item.getLayoutStartPoint().y + centerY\n });\n });\n });\n } else {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().x + lastItem.getLayoutRect().width - items[0].getLayoutStartPoint().x;\n const centerX = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x + centerX,\n y: item.getLayoutStartPoint().y\n });\n });\n });\n }\n}\n\nfunction layoutLeftRightStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitHeight: number,\n isMiddle: boolean,\n position: 'left' | 'right'\n) {\n if (items.length) {\n let maxWidth = 0;\n const isRight = position === 'right';\n const xSign = isRight ? -1 : 1;\n let preX = isRight ? layout.rightCurrent : layout.leftCurrent;\n let preTop = layout.topCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preTop += itemTotalHeight;\n if (preTop > limitHeight && singleLineItems.length) {\n preX += xSign * maxWidth;\n maxWidth = itemTotalWidth;\n preTop = layout.topCurrent + itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: layout.topCurrent + item.layoutOffsetY + item.layoutPaddingTop\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n singleLineItems.push(item);\n }\n });\n allItems.push(singleLineItems);\n\n if (isMiddle) {\n adjustItemsToCenter(allItems, true, limitHeight);\n }\n\n if (isRight) {\n layout.rightCurrent = preX + xSign * maxWidth;\n } else {\n layout.leftCurrent = preX + xSign * maxWidth;\n }\n }\n}\n\nfunction layoutTopBottomStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitWidth: number,\n isMiddle: boolean,\n position: 'top' | 'bottom'\n) {\n if (items.length) {\n const isTop = position === 'top';\n const ySign = isTop ? 1 : -1;\n let maxHeight = 0;\n let preLeft = layout.leftCurrent;\n let preY = isTop ? layout.topCurrent : layout.bottomCurrent;\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preLeft += itemTotalWidth;\n if (preLeft > limitWidth && singleLineItems.length) {\n preLeft = layout.leftCurrent + itemTotalWidth;\n preY += ySign * maxHeight;\n maxHeight = itemTotalHeight;\n item.setLayoutStartPosition({\n x: layout.leftCurrent + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n singleLineItems.push(item);\n }\n });\n allItems.push(singleLineItems);\n if (isMiddle) {\n adjustItemsToCenter(allItems, false, limitWidth);\n }\n\n if (isTop) {\n layout.topCurrent = preY + ySign * maxHeight;\n } else {\n layout.bottomCurrent = preY + ySign * maxHeight;\n }\n }\n}\n\nexport function layoutLeftInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'left');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'left');\n }\n\n if (endItems.length) {\n let maxWidth = 0;\n let preLeft = layout.leftCurrent;\n let preBottom = layout.bottomCurrent;\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n\n if (preBottom < itemTotalHeight) {\n preLeft += maxWidth;\n maxWidth = itemTotalWidth;\n preBottom = layout.bottomCurrent;\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n } else {\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preBottom -= itemTotalHeight;\n }\n });\n layout.leftCurrent = preLeft + maxWidth;\n }\n}\n\nexport function layoutRightInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'right');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'right');\n }\n\n if (endItems.length) {\n let maxWidth = 0;\n let preRight = layout.rightCurrent;\n let preBottom = layout.bottomCurrent;\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n if (preBottom < itemTotalHeight) {\n preRight -= maxWidth;\n maxWidth = itemTotalWidth;\n preBottom = layout.bottomCurrent;\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n } else {\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preBottom -= itemTotalHeight;\n }\n });\n layout.rightCurrent = preRight - maxWidth;\n }\n}\n\nexport function layoutTopInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'top');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'top');\n }\n\n if (endItems.length) {\n let maxHeight = 0;\n\n let preTop = layout.topCurrent;\n let preRight = layout.rightCurrent;\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n if (preRight < itemTotalWidth) {\n preRight = layout.rightCurrent;\n preTop += maxHeight;\n maxHeight = itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n } else {\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preRight -= itemTotalWidth;\n }\n });\n layout.topCurrent = preTop + maxHeight;\n }\n}\n\nexport function layoutBottomInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'bottom');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'bottom');\n }\n\n if (endItems.length) {\n let maxHeight = 0;\n let preBottom = layout.bottomCurrent;\n let preRight = layout.rightCurrent;\n // 末尾的,从右往左布局\n endItems.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n if (preRight < itemTotalWidth) {\n preRight = layout.rightCurrent;\n preBottom -= maxHeight;\n maxHeight = itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n } else {\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preRight -= itemTotalWidth;\n }\n });\n layout.bottomCurrent = preBottom - maxHeight;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/layout/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isNil, last } from '@visactor/vutils';\nimport type { Layout } from './base-layout';\nimport type { ILayoutItem } from './interface';\n\nfunction getPositionItems(items: ILayoutItem[]) {\n const startItems: ILayoutItem[] = [];\n const middleItems: ILayoutItem[] = [];\n const endItems: ILayoutItem[] = [];\n\n items.forEach(item => {\n if (isNil(item.getSpec().position) || item.getSpec().position === 'start') {\n startItems.push(item);\n } else if (item.getSpec().position === 'middle') {\n middleItems.push(item);\n } else if (item.getSpec().position === 'end') {\n endItems.push(item);\n }\n });\n\n return {\n startItems,\n endItems,\n middleItems\n };\n}\n\nfunction adjustItemsToCenter(allItems: ILayoutItem[][], isVertical: boolean, containerLength: number) {\n if (isVertical) {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().y + lastItem.getLayoutRect().height - items[0].getLayoutStartPoint().y;\n const centerY = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x,\n y: item.getLayoutStartPoint().y + centerY\n });\n });\n });\n } else {\n allItems.forEach(items => {\n const lastItem = last(items);\n const length =\n lastItem.getLayoutStartPoint().x + lastItem.getLayoutRect().width - items[0].getLayoutStartPoint().x;\n const centerX = (containerLength - length) / 2;\n\n items.forEach(item => {\n item.setLayoutStartPosition({\n x: item.getLayoutStartPoint().x + centerX,\n y: item.getLayoutStartPoint().y\n });\n });\n });\n }\n}\n\nfunction alignSelfOfItems(allItems: ILayoutItem[][], isVertical: boolean, maxSizes: number[], sign: number) {\n let maxSize: number;\n\n allItems.forEach((lineItems: ILayoutItem[], index: number) => {\n if (lineItems.length > 1) {\n maxSize = maxSizes[index];\n\n lineItems.forEach(item => {\n if (!item.alignSelf || item.alignSelf === 'start') {\n return;\n }\n\n const pos = item.getLayoutStartPoint();\n const ratio = item.alignSelf === 'middle' ? 0.5 : 1;\n const delta = isVertical\n ? maxSize - (item.getLayoutRect().width + item.layoutPaddingLeft + item.layoutPaddingRight)\n : maxSize - (item.getLayoutRect().height + item.layoutPaddingTop + item.layoutPaddingBottom);\n\n if (isVertical) {\n item.setLayoutStartPosition({\n x: pos.x + sign * delta * ratio,\n y: pos.y\n });\n } else {\n item.setLayoutStartPosition({\n x: pos.x,\n y: pos.y + sign * delta * ratio\n });\n }\n });\n }\n });\n}\n\nfunction layoutLeftRightStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitHeight: number,\n isMiddle: boolean,\n position: 'left' | 'right'\n) {\n if (items.length) {\n let maxWidth = 0;\n const isRight = position === 'right';\n const xSign = isRight ? -1 : 1;\n let preX = isRight ? layout.rightCurrent : layout.leftCurrent;\n let preTop = layout.topCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxWidths: number[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preTop + item.layoutOffsetY + item.layoutPaddingTop\n });\n\n preTop += itemTotalHeight;\n if (preTop > limitHeight && singleLineItems.length) {\n maxWidths.push(maxWidth);\n preX += xSign * maxWidth;\n maxWidth = itemTotalWidth;\n preTop = layout.topCurrent + itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: layout.topCurrent + item.layoutOffsetY + item.layoutPaddingTop\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n singleLineItems.push(item);\n }\n });\n maxWidths.push(maxWidth);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, true, maxWidths, xSign);\n\n if (isMiddle) {\n adjustItemsToCenter(allItems, true, limitHeight);\n }\n\n if (isRight) {\n layout.rightCurrent = preX + xSign * maxWidth;\n } else {\n layout.leftCurrent = preX + xSign * maxWidth;\n }\n }\n}\n\nfunction layoutLeftRightEndItems(items: ILayoutItem[], layout: Layout, limitWidth: number, position: 'left' | 'right') {\n if (items.length) {\n let maxWidth = 0;\n const isRight = position === 'right';\n const xSign = isRight ? -1 : 1;\n let preX = isRight ? layout.rightCurrent : layout.leftCurrent;\n let preBottom = layout.bottomCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxWidths: number[] = [];\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetX = isRight ? -rect.width - item.layoutPaddingRight : item.layoutPaddingLeft;\n\n if (preBottom < itemTotalHeight && singleLineItems.length) {\n maxWidths.push(maxWidth);\n preX += xSign * maxWidth;\n maxWidth = itemTotalWidth;\n preBottom = layout.bottomCurrent;\n\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n item.setLayoutStartPosition({\n x: preX + item.layoutOffsetX + itemOffsetX,\n y: preBottom + item.layoutOffsetY - rect.height - item.layoutPaddingBottom\n });\n maxWidth = Math.max(maxWidth, itemTotalWidth);\n preBottom -= itemTotalHeight;\n singleLineItems.push(item);\n }\n });\n maxWidths.push(maxWidth);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, true, maxWidths, xSign);\n\n if (isRight) {\n layout.rightCurrent = preX + xSign * maxWidth;\n } else {\n layout.leftCurrent = preX + xSign * maxWidth;\n }\n }\n}\n\nfunction layoutTopBottomStartOrMiddleItems(\n items: ILayoutItem[],\n layout: Layout,\n limitWidth: number,\n isMiddle: boolean,\n position: 'top' | 'bottom'\n) {\n if (items.length) {\n const isTop = position === 'top';\n const ySign = isTop ? 1 : -1;\n let maxHeight = 0;\n let preLeft = layout.leftCurrent;\n let preY = isTop ? layout.topCurrent : layout.bottomCurrent;\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxHeights: number[] = [];\n\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;\n item.setLayoutStartPosition({\n x: preLeft + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n\n preLeft += itemTotalWidth;\n if (preLeft > limitWidth && singleLineItems.length) {\n maxHeights.push(maxHeight);\n preLeft = layout.leftCurrent + itemTotalWidth;\n preY += ySign * maxHeight;\n maxHeight = itemTotalHeight;\n item.setLayoutStartPosition({\n x: layout.leftCurrent + item.layoutOffsetX + item.layoutPaddingLeft,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n singleLineItems.push(item);\n }\n });\n maxHeights.push(maxHeight);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, false, maxHeights, ySign);\n\n if (isMiddle) {\n adjustItemsToCenter(allItems, false, limitWidth);\n }\n\n if (isTop) {\n layout.topCurrent = preY + ySign * maxHeight;\n } else {\n layout.bottomCurrent = preY + ySign * maxHeight;\n }\n }\n}\n\nfunction layoutTopBottomEndItems(items: ILayoutItem[], layout: Layout, limitWidth: number, position: 'top' | 'bottom') {\n if (items.length) {\n const isTop = position === 'top';\n const ySign = isTop ? 1 : -1;\n let maxHeight = 0;\n let preRight = layout.rightCurrent;\n let preY = isTop ? layout.topCurrent : layout.bottomCurrent;\n\n const allItems: ILayoutItem[][] = [];\n let singleLineItems: ILayoutItem[] = [];\n const maxHeights: number[] = [];\n\n items.forEach(item => {\n const layoutRect = layout.getItemComputeLayoutRect(item);\n const rect = item.computeBoundsInRect(layoutRect);\n item.setLayoutRect(rect);\n const itemTotalHeight = rect.height + item.layoutPaddingTop + item.layoutPaddingBottom;\n const itemTotalWidth = rect.width + item.layoutPaddingLeft + item.layoutPaddingRight;\n const itemOffsetY = isTop ? item.layoutPaddingTop : -rect.height - item.layoutPaddingBottom;\n\n if (preRight < itemTotalWidth && singleLineItems.length) {\n preRight = layout.rightCurrent;\n preY += ySign * maxHeight;\n maxHeight = itemTotalHeight;\n\n item.setLayoutStartPosition({\n x: layout.rightCurrent + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n allItems.push(singleLineItems);\n singleLineItems = [item];\n } else {\n singleLineItems.push(item);\n item.setLayoutStartPosition({\n x: preRight + item.layoutOffsetX - rect.width - item.layoutPaddingRight,\n y: preY + item.layoutOffsetY + itemOffsetY\n });\n maxHeight = Math.max(maxHeight, itemTotalHeight);\n preRight -= itemTotalWidth;\n }\n });\n maxHeights.push(maxHeight);\n allItems.push(singleLineItems);\n\n alignSelfOfItems(allItems, false, maxHeights, ySign);\n\n if (isTop) {\n layout.topCurrent = preY + ySign * maxHeight;\n } else {\n layout.bottomCurrent = preY + ySign * maxHeight;\n }\n }\n}\n\nexport function layoutLeftInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'left');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'left');\n }\n\n if (endItems.length) {\n layoutLeftRightEndItems(endItems, layout, limitHeight, 'left');\n }\n}\n\nexport function layoutRightInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutLeftRightStartOrMiddleItems(startItems, layout, limitHeight, false, 'right');\n }\n\n if (middleItems.length) {\n layoutLeftRightStartOrMiddleItems(middleItems, layout, limitHeight, true, 'right');\n }\n\n if (endItems.length) {\n layoutLeftRightEndItems(endItems, layout, limitHeight, 'right');\n }\n}\n\nexport function layoutTopInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'top');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'top');\n }\n\n if (endItems.length) {\n layoutTopBottomEndItems(endItems, layout, limitWidth, 'top');\n }\n}\n\nexport function layoutBottomInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number) {\n const { startItems, middleItems, endItems } = getPositionItems(items);\n\n if (startItems.length) {\n layoutTopBottomStartOrMiddleItems(startItems, layout, limitWidth, false, 'bottom');\n }\n\n if (middleItems.length) {\n layoutTopBottomStartOrMiddleItems(middleItems, layout, limitWidth, true, 'bottom');\n }\n\n if (endItems.length) {\n layoutTopBottomEndItems(endItems, layout, limitWidth, 'bottom');\n }\n}\n"]}
|
package/esm/mark/arc-3d.js
CHANGED
|
@@ -2,8 +2,6 @@ import { Factory } from "./../core/factory";
|
|
|
2
2
|
|
|
3
3
|
import { BaseArcMark } from "./arc";
|
|
4
4
|
|
|
5
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
6
|
-
|
|
7
5
|
import { registerArc3dGraphic } from "@visactor/vgrammar-core";
|
|
8
6
|
|
|
9
7
|
import { registerVGrammarArcAnimation } from "../animation/config";
|
|
@@ -14,7 +12,7 @@ export class Arc3dMark extends BaseArcMark {
|
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
|
|
17
|
-
Arc3dMark.type =
|
|
15
|
+
Arc3dMark.type = "arc3d";
|
|
18
16
|
|
|
19
17
|
export const registerArc3dMark = () => {
|
|
20
18
|
registerVGrammarArcAnimation(), registerArc3dGraphic(), Factory.registerMark(Arc3dMark.type, Arc3dMark);
|
package/esm/mark/arc-3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/arc-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/arc-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAInE,MAAM,OAAO,SAAU,SAAQ,WAA2B;IAA1D;;QAEW,SAAI,GAAiB,SAAS,CAAC,IAAI,CAAC;QACnC,eAAU,GAAa,IAAI,CAAC;IACxC,CAAC;;AAHiB,cAAI,WAAsB;AAK5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,4BAA4B,EAAE,CAAC;IAC/B,oBAAoB,EAAE,CAAC;IACvB,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC,CAAC","file":"arc-3d.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IArc3dMarkSpec } from '../typings';\nimport { BaseArcMark } from './arc';\nimport type { IMarkRaw } from './interface';\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArc3dGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarArcAnimation } from '../animation/config';\n\nexport type IArc3dMark = IMarkRaw<IArc3dMarkSpec>;\n\nexport class Arc3dMark extends BaseArcMark<IArc3dMarkSpec> implements IArc3dMark {\n static readonly type = MarkTypeEnum.arc3d;\n readonly type: MarkTypeEnum = Arc3dMark.type;\n protected _support3d?: boolean = true;\n}\n\nexport const registerArc3dMark = () => {\n registerVGrammarArcAnimation();\n registerArc3dGraphic();\n Factory.registerMark(Arc3dMark.type, Arc3dMark);\n};\n"]}
|
package/esm/mark/arc.js
CHANGED
|
@@ -6,8 +6,6 @@ import { polarToCartesian } from "../util/math";
|
|
|
6
6
|
|
|
7
7
|
import { BaseMark } from "./base/base-mark";
|
|
8
8
|
|
|
9
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
10
|
-
|
|
11
9
|
import { registerArcGraphic } from "@visactor/vgrammar-core";
|
|
12
10
|
|
|
13
11
|
import { registerVGrammarArcAnimation } from "../animation/config";
|
|
@@ -45,7 +43,7 @@ export class ArcMark extends BaseArcMark {
|
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
|
|
48
|
-
ArcMark.type =
|
|
46
|
+
ArcMark.type = "arc";
|
|
49
47
|
|
|
50
48
|
export const registerArcMark = () => {
|
|
51
49
|
registerArcGraphic(), registerVGrammarArcAnimation(), Factory.registerMark(ArcMark.type, ArcMark);
|
package/esm/mark/arc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAInE,MAAM,OAAO,WAAoC,SAAQ,QAAW;IAKlE,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QALb,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;QAE3C,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA2BrD,uBAAkB,GAAG,CAC7B,GAAW,EACX,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,UAAkB,EACV,EAAE;;YACV,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAY,mCAAI,CAAC,CAAC;YACtF,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEQ,kBAAa,GAAG,CACxB,GAAc,EACd,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,MAAc,EACd,EAAE;YACF,MAAM,MAAM,GAAG,gBAAgB,CAAC;gBAC9B,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAW;aACxE,CAAC,CAAC;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;QA5CA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAmC,CAAC;QAE9E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CA0BF;AAED,MAAM,OAAO,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAFiB,YAAI,SAAoB;AAI1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,kBAAkB,EAAE,CAAC;IACrB,4BAA4B,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport { polarToCartesian } from '../util/math';\nimport type { ExChannelCall } from './base/base-mark';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarArcAnimation } from '../animation/config';\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: MarkTypeEnum = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states, opt) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (\n key: 'x' | 'y',\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n center: number\n ) => {\n const offset = polarToCartesian({\n angle: datum[ARC_MIDDLE_ANGLE],\n radius: this.getAttribute('centerOffset', datum, states, opt) as number\n });\n return center + offset[key];\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerArcGraphic();\n registerVGrammarArcAnimation();\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
|
package/esm/mark/area.js
CHANGED
|
@@ -2,8 +2,6 @@ import { Factory } from "./../core/factory";
|
|
|
2
2
|
|
|
3
3
|
import { BaseLineMark } from "./base/base-line";
|
|
4
4
|
|
|
5
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
6
|
-
|
|
7
5
|
import { registerAreaGraphic } from "@visactor/vgrammar-core";
|
|
8
6
|
|
|
9
7
|
import { registerVGrammarLineOrAreaAnimation } from "../animation/config";
|
|
@@ -22,7 +20,7 @@ export class AreaMark extends BaseLineMark {
|
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
22
|
|
|
25
|
-
AreaMark.type =
|
|
23
|
+
AreaMark.type = "area";
|
|
26
24
|
|
|
27
25
|
export const registerAreaMark = () => {
|
|
28
26
|
Factory.registerMark(AreaMark.type, AreaMark), registerAreaGraphic(), registerVGrammarLineOrAreaAnimation();
|
package/esm/mark/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAI1E,MAAM,OAAO,QAAS,SAAQ,YAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAahC,CAAC;IAXW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAbe,aAAI,UAAqB;AAgB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,EAAE,CAAC;IACtB,mCAAmC,EAAE,CAAC;AACxC,CAAC,CAAC","file":"area.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base/base-line';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerAreaGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarLineOrAreaAnimation } from '../animation/config';\n\nexport type IAreaMark = IMarkRaw<IAreaMarkSpec>;\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n}\n\nexport const registerAreaMark = () => {\n Factory.registerMark(AreaMark.type, AreaMark);\n registerAreaGraphic();\n registerVGrammarLineOrAreaAnimation();\n};\n"]}
|
package/esm/mark/box-plot.js
CHANGED
|
@@ -4,8 +4,6 @@ import { BaseMark } from "./base/base-mark";
|
|
|
4
4
|
|
|
5
5
|
import { registerBarBoxplotGlyph, registerBoxplotGlyph } from "@visactor/vgrammar-core";
|
|
6
6
|
|
|
7
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
8
|
-
|
|
9
7
|
const BOX_PLOT_GLYPH_TYPE = "boxplot", BAR_BOX_PLOT_GLYPH_TYPE = "barBoxplot";
|
|
10
8
|
|
|
11
9
|
export class BoxPlotMark extends BaseMark {
|
|
@@ -28,7 +26,7 @@ export class BoxPlotMark extends BaseMark {
|
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
BoxPlotMark.type =
|
|
29
|
+
BoxPlotMark.type = "boxPlot";
|
|
32
30
|
|
|
33
31
|
export const registerBoxPlotMark = () => {
|
|
34
32
|
Factory.registerMark(BoxPlotMark.type, BoxPlotMark), registerBoxplotGlyph(), registerBarBoxplotGlyph();
|
package/esm/mark/box-plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAMxF,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAE7C,MAAM,OAAO,WAAY,SAAQ,QAA0B;IAA3D;;QAEW,SAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IA2BnC,CAAC;IAzBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,EAAE,EACZ,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,MAAM,GACnB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,YAAY,CAAC,KAA2B;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAGpC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI;aACjB,KAAK,CAAC,SAAS,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC;aACxC,EAAE,CAAC,EAAE,CAAC;aACN,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;;AA3Be,gBAAI,aAAwB;AA8B9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpD,oBAAoB,EAAE,CAAC;IACvB,uBAAuB,EAAE,CAAC;AAC5B,CAAC,CAAC","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IBoxPlotMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerBarBoxplotGlyph, registerBoxplotGlyph } from '@visactor/vgrammar-core';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nexport type IBoxPlotMark = IMarkRaw<IBoxPlotMarkSpec>;\n\nconst BOX_PLOT_GLYPH_TYPE = 'boxplot';\nconst BAR_BOX_PLOT_GLYPH_TYPE = 'barBoxplot';\n\nexport class BoxPlotMark extends BaseMark<IBoxPlotMarkSpec> implements IBoxPlotMark {\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n /** 创建语法元素对象 */\n protected _initProduct(group?: string | IGroupMark) {\n const shaftShape = this.getStyle('shaftShape');\n const view = this.getVGrammarView();\n\n // 声明语法元素\n const id = this.getProductId();\n const glyphType = shaftShape === 'bar' ? BAR_BOX_PLOT_GLYPH_TYPE : BOX_PLOT_GLYPH_TYPE;\n const direction = this.getStyle('direction');\n this._product = view\n .glyph(glyphType, group ?? view.rootMark)\n .id(id)\n .configureGlyph({ direction });\n this._compiledProductId = id;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n registerBoxplotGlyph();\n registerBarBoxplotGlyph();\n};\n"]}
|
package/esm/mark/cell.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Factory } from "./../core/factory";
|
|
2
2
|
|
|
3
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
4
|
-
|
|
5
3
|
import { BaseSymbolMark } from "./symbol";
|
|
6
4
|
|
|
7
5
|
import { registerCellGraphic, registerCellMark as registerVgrammarCellMark } from "@visactor/vgrammar-core";
|
|
@@ -17,7 +15,7 @@ export class CellMark extends BaseSymbolMark {
|
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
CellMark.type =
|
|
18
|
+
CellMark.type = "cell";
|
|
21
19
|
|
|
22
20
|
export const registerCellMark = () => {
|
|
23
21
|
Factory.registerMark(CellMark.type, CellMark), registerCellGraphic(), registerVgrammarCellMark();
|
package/esm/mark/cell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAI5G,MAAM,OAAO,QAAS,SAAQ,cAA6B;IAA3D;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAShC,CAAC;IAPW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,OAAO,EAAE,CAAC,GACX,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AATe,aAAI,UAAqB;AAY3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,EAAE,CAAC;IACtB,wBAAwB,EAAE,CAAC;AAC7B,CAAC,CAAC","file":"cell.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ICellMarkSpec } from '../typings';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { BaseSymbolMark } from './symbol';\nimport { registerCellGraphic, registerCellMark as registerVgrammarCellMark } from '@visactor/vgrammar-core';\n\nexport type ICellMark = IMarkRaw<ICellMarkSpec>;\n\nexport class CellMark extends BaseSymbolMark<ICellMarkSpec> implements ICellMark {\n static readonly type = MarkTypeEnum.cell;\n readonly type = CellMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ICellMarkSpec> = {\n ...super._getDefaultStyle(),\n padding: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerCellMark = () => {\n Factory.registerMark(CellMark.type, CellMark);\n registerCellGraphic();\n registerVgrammarCellMark();\n};\n"]}
|
package/esm/mark/component.js
CHANGED
|
@@ -4,8 +4,6 @@ import { GrammarMarkType } from "@visactor/vgrammar-core";
|
|
|
4
4
|
|
|
5
5
|
import { BaseMark } from "./base/base-mark";
|
|
6
6
|
|
|
7
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
8
|
-
|
|
9
7
|
export class ComponentMark extends BaseMark {
|
|
10
8
|
constructor(name, option) {
|
|
11
9
|
super(name, option), this.type = "component", this._componentType = option.componentType,
|
|
@@ -20,7 +18,7 @@ export class ComponentMark extends BaseMark {
|
|
|
20
18
|
}
|
|
21
19
|
}
|
|
22
20
|
|
|
23
|
-
ComponentMark.type =
|
|
21
|
+
ComponentMark.type = "component";
|
|
24
22
|
|
|
25
23
|
export const registerComponentMark = () => {
|
|
26
24
|
Factory.registerMark(ComponentMark.type, ComponentMark);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,MAAM,OAAO,aAAc,SAAQ,QAAqB;IAOtD,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QANtB,SAAI,GAAW,WAAW,CAAC;QAQzB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,CAAC;IAES,YAAY,CAAC,KAA2B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAGpC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI;aACjB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;aACjH,EAAE,CAAC,EAAE,CAAC,CAAC;QACV,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;;AAtBe,kBAAI,eAA0B;AAyBhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC","file":"component.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar-core';\nimport type { ICommonSpec } from '../typings';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkOption, IMarkRaw } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\n\nexport type IComponentMark = IMarkRaw<ICommonSpec>;\n\nexport class ComponentMark extends BaseMark<ICommonSpec> implements IComponentMark {\n static readonly type = MarkTypeEnum.component;\n type: string = 'component';\n\n private _componentType: string;\n private _mode: '2d' | '3d';\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n // 这里需要将 type 指定为具体的组件名称,即调用 vgrammar 的 registerComponent API 注册的组件名称\n this._componentType = option.componentType;\n this._mode = option.mode;\n }\n /** 创建语法元素对象 */\n protected _initProduct(group?: string | IGroupMark) {\n const view = this.getVGrammarView();\n\n // 声明语法元素\n const id = this.getProductId();\n this._product = view\n .mark(GrammarMarkType.component, group ?? view.rootMark, { componentType: this._componentType, mode: this._mode })\n .id(id);\n this._compiledProductId = id;\n }\n}\n\nexport const registerComponentMark = () => {\n Factory.registerMark(ComponentMark.type, ComponentMark);\n};\n"]}
|
package/esm/mark/group.js
CHANGED
|
@@ -4,8 +4,6 @@ import { warn } from "../util/debug";
|
|
|
4
4
|
|
|
5
5
|
import { BaseMark } from "./base/base-mark";
|
|
6
6
|
|
|
7
|
-
import { MarkTypeEnum } from "./interface/type";
|
|
8
|
-
|
|
9
7
|
import { registerGroupGraphic } from "@visactor/vgrammar-core";
|
|
10
8
|
|
|
11
9
|
export class GroupMark extends BaseMark {
|
|
@@ -52,7 +50,7 @@ export class GroupMark extends BaseMark {
|
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
GroupMark.type =
|
|
53
|
+
GroupMark.type = "group";
|
|
56
54
|
|
|
57
55
|
export const registerGroupMark = () => {
|
|
58
56
|
registerGroupGraphic(), Factory.registerMark(GroupMark.type, GroupMark);
|
package/esm/mark/group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { Maybe } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { warn } from '../util/debug';\nimport type { IGroupMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMark, IMarkRaw, IMarkStyle, MarkType } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerGroupGraphic, type IGroupMark as IVGrammarGroupMark } from '@visactor/vgrammar-core';\nimport type { IMarkCompileOption } from '../compile/mark';\n\nexport interface IGroupMark extends IMarkRaw<IGroupMarkSpec> {\n // groupMark的zIndex只能配在外层,encode里不生效,且无法写成signal\n // {type:'group', zIndex: 100} ✅\n // {type:'group', encode:{enter:{zIndex:{value:100}}}} ❌\n // {type:'group', zIndex: {signal: }} ❌\n\n addMark: (m: IMark) => boolean;\n removeMark: (m: IMark) => boolean;\n // TODO: 这里可能会出现mark嵌套的问题\n getMarks: () => IMark[];\n getMarkInType: (type: MarkType) => IMark[];\n getMarkInId: (id: number) => IMark | undefined;\n getMarkInName: (name: string) => IMark | undefined;\n}\n\nexport class GroupMark extends BaseMark<IGroupMarkSpec> implements IGroupMark {\n static readonly type = MarkTypeEnum.group;\n readonly type = GroupMark.type;\n protected _marks: IMark[] = [];\n getMarks(): IMark[] {\n return this._marks;\n }\n\n protected declare _product: Maybe<IVGrammarGroupMark>;\n declare getProduct: () => Maybe<IVGrammarGroupMark>;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IGroupMarkSpec> = {\n ...super._getDefaultStyle(),\n clip: false\n };\n return defaultStyle;\n }\n\n protected isMarkExist(mark: IMark): boolean {\n return this._marks.find(m => m.id === mark.id || m.name === mark.name) !== undefined;\n }\n\n addMark(mark: IMark): boolean {\n if (this.isMarkExist(mark)) {\n warn('Mark already exists, add mark failed.');\n return false;\n }\n\n this._marks.push(mark);\n return true;\n }\n\n removeMark(mark: IMark): boolean {\n const index = this._marks.findIndex(m => m.id === mark.id || m.name === mark.name);\n if (index === -1) {\n warn('Mark does not exists, removeMark failed.');\n return false;\n }\n this._marks.splice(index, 1);\n return true;\n }\n\n getMarkInType(type: MarkType) {\n return this._marks.filter(m => m.type === type);\n }\n\n getMarkInId(id: number) {\n return this._marks.find(m => m.id === id);\n }\n\n getMarkInName(name: string) {\n return this._marks.find(m => m.name === name);\n }\n\n protected _compileProduct(option?: IMarkCompileOption): void {\n // 编译自身\n super._compileProduct(option);\n\n // 设置zIndex\n this._product.configure({\n zIndex: this.getZIndex()\n });\n\n // 编译子元素\n if (!option?.ignoreChildren) {\n this.getMarks().forEach(mark => {\n // TODO: 如果语法元素已创建,先删除再重新指定父结点生成。vgrammar 是否可以动态指定 mark 父结点?\n if (mark.getProduct()) {\n mark.removeProduct();\n }\n mark.compile({ group: this._product });\n });\n }\n }\n}\n\nexport const registerGroupMark = () => {\n registerGroupGraphic();\n Factory.registerMark(GroupMark.type, GroupMark);\n};\n"]}
|