{"version":3,"sources":["webpack://G2Plot/webpack/universalModuleDefinition","webpack://G2Plot/webpack/bootstrap","webpack://G2Plot/../src/is-array-like.ts","webpack://G2Plot/../src/contains.ts","webpack://G2Plot/../src/filter.ts","webpack://G2Plot/../src/difference.ts","webpack://G2Plot/../src/is-type.ts","webpack://G2Plot/../src/is-function.ts","webpack://G2Plot/../src/is-nil.ts","webpack://G2Plot/../src/is-array.ts","webpack://G2Plot/../src/is-object.ts","webpack://G2Plot/../src/each.ts","webpack://G2Plot/../src/keys.ts","webpack://G2Plot/../src/is-match.ts","webpack://G2Plot/../src/is-object-like.ts","webpack://G2Plot/../src/is-plain-object.ts","webpack://G2Plot/../src/find.ts","webpack://G2Plot/../src/find-index.ts","webpack://G2Plot/../src/first-value.ts","webpack://G2Plot/../src/flatten.ts","webpack://G2Plot/../src/flatten-deep.ts","webpack://G2Plot/../src/max.ts","webpack://G2Plot/../src/min.ts","webpack://G2Plot/../src/get-range.ts","webpack://G2Plot/../src/pull.ts","webpack://G2Plot/../src/pull-at.ts","webpack://G2Plot/../src/reduce.ts","webpack://G2Plot/../src/remove.ts","webpack://G2Plot/../src/is-string.ts","webpack://G2Plot/../src/sort-by.ts","webpack://G2Plot/../src/uniq.ts","webpack://G2Plot/../src/union.ts","webpack://G2Plot/../src/values-of-key.ts","webpack://G2Plot/../src/head.ts","webpack://G2Plot/../src/last.ts","webpack://G2Plot/../src/starts-with.ts","webpack://G2Plot/../src/ends-with.ts","webpack://G2Plot/../src/every.ts","webpack://G2Plot/../src/some.ts","webpack://G2Plot/../src/group-by.ts","webpack://G2Plot/../src/group-to-map.ts","webpack://G2Plot/../src/group.ts","webpack://G2Plot/../src/get-wrap-behavior.ts","webpack://G2Plot/../src/wrap-behavior.ts","webpack://G2Plot/../src/number2color.ts","webpack://G2Plot/../src/parse-radius.ts","webpack://G2Plot/../src/clamp.ts","webpack://G2Plot/../src/fixed-base.ts","webpack://G2Plot/../src/is-number.ts","webpack://G2Plot/../src/is-decimal.ts","webpack://G2Plot/../src/is-even.ts","webpack://G2Plot/../src/is-integer.ts","webpack://G2Plot/../src/is-negative.ts","webpack://G2Plot/../src/is-number-equal.ts","webpack://G2Plot/../src/is-odd.ts","webpack://G2Plot/../src/is-positive.ts","webpack://G2Plot/../src/max-by.ts","webpack://G2Plot/../src/min-by.ts","webpack://G2Plot/../src/mod.ts","webpack://G2Plot/../src/to-degree.ts","webpack://G2Plot/../src/to-integer.ts","webpack://G2Plot/../src/to-radian.ts","webpack://G2Plot/../src/for-in.ts","webpack://G2Plot/../src/has.ts","webpack://G2Plot/../src/has-key.ts","webpack://G2Plot/../src/values.ts","webpack://G2Plot/../src/has-value.ts","webpack://G2Plot/../src/to-string.ts","webpack://G2Plot/../src/lower-case.ts","webpack://G2Plot/../src/lower-first.ts","webpack://G2Plot/../src/substitute.ts","webpack://G2Plot/../src/upper-case.ts","webpack://G2Plot/../src/upper-first.ts","webpack://G2Plot/../src/get-type.ts","webpack://G2Plot/../src/is-arguments.ts","webpack://G2Plot/../src/is-boolean.ts","webpack://G2Plot/../src/is-date.ts","webpack://G2Plot/../src/is-error.ts","webpack://G2Plot/../src/is-finite.ts","webpack://G2Plot/../src/is-null.ts","webpack://G2Plot/../src/is-prototype.ts","webpack://G2Plot/../src/is-reg-exp.ts","webpack://G2Plot/../src/is-undefined.ts","webpack://G2Plot/../src/is-element.ts","webpack://G2Plot/../src/request-animation-frame.ts","webpack://G2Plot/../src/clear-animation-frame.ts","webpack://G2Plot/../src/mix.ts","webpack://G2Plot/../src/augment.ts","webpack://G2Plot/../src/clone.ts","webpack://G2Plot/../src/debounce.ts","webpack://G2Plot/../src/memoize.ts","webpack://G2Plot/../src/deep-mix.ts","webpack://G2Plot/../src/extend.ts","webpack://G2Plot/../src/index-of.ts","webpack://G2Plot/../src/is-empty.ts","webpack://G2Plot/../src/is-equal.ts","webpack://G2Plot/../src/is-equal-with.ts","webpack://G2Plot/../src/map.ts","webpack://G2Plot/../src/map-values.ts","webpack://G2Plot/../src/get.ts","webpack://G2Plot/../src/set.ts","webpack://G2Plot/../src/pick.ts","webpack://G2Plot/../src/omit.ts","webpack://G2Plot/../src/throttle.ts","webpack://G2Plot/../src/to-array.ts","webpack://G2Plot/../src/unique-id.ts","webpack://G2Plot/../src/noop.ts","webpack://G2Plot/../src/identity.ts","webpack://G2Plot/../src/size.ts","webpack://G2Plot/../src/measure-text-width.ts","webpack://G2Plot/../src/get-ellipsis-text.ts","webpack://G2Plot/../src/cache.ts","webpack://G2Plot/./node_modules/tslib/tslib.es6.js","webpack://G2Plot/./src/utils/index.ts","webpack://G2Plot/../src/ext.ts","webpack://G2Plot/../../src/util/util.ts","webpack://G2Plot/../../src/util/theme.ts","webpack://G2Plot/./src/core/plot.ts","webpack://G2Plot/../src/constant.ts","webpack://G2Plot/../../src/engine/index.ts","webpack://G2Plot/../../src/util/dom.ts","webpack://G2Plot/../src/base.ts","webpack://G2Plot/../../src/attributes/base.ts","webpack://G2Plot/./node_modules/@antv/attr/node_modules/tslib/tslib.es6.js","webpack://G2Plot/../../src/attributes/color.ts","webpack://G2Plot/../../src/attributes/opacity.ts","webpack://G2Plot/../../src/attributes/position.ts","webpack://G2Plot/../../src/attributes/shape.ts","webpack://G2Plot/../../src/attributes/size.ts","webpack://G2Plot/../src/factory.ts","webpack://G2Plot/../src/index.ts","webpack://G2Plot/../../src/coord/base.ts","webpack://G2Plot/../../src/coord/cartesian.ts","webpack://G2Plot/../../src/coord/helix.ts","webpack://G2Plot/../../src/coord/polar.ts","webpack://G2Plot/../src/dependents.ts","webpack://G2Plot/../../src/util/graphics.ts","webpack://G2Plot/../../src/util/helper.ts","webpack://G2Plot/../../src/util/bbox.ts","webpack://G2Plot/../../src/util/coordinate.ts","webpack://G2Plot/../../src/util/scale.ts","webpack://G2Plot/../../src/util/axis.ts","webpack://G2Plot/../../src/facet/facet.ts","webpack://G2Plot/../../src/facet/index.ts","webpack://G2Plot/../../../src/interaction/action/base.ts","webpack://G2Plot/../../../src/interaction/action/callback.ts","webpack://G2Plot/../../../src/interaction/action/register.ts","webpack://G2Plot/../../../../src/geometry/shape/util/path.ts","webpack://G2Plot/../../../src/interaction/action/util.ts","webpack://G2Plot/../../src/interaction/context.ts","webpack://G2Plot/../../src/interaction/interaction.ts","webpack://G2Plot/../../src/interaction/grammar-interaction.ts","webpack://G2Plot/../../src/interaction/index.ts","webpack://G2Plot/../../../src/theme/util/create-by-style-sheet.ts","webpack://G2Plot/../../../src/theme/style-sheet/light.ts","webpack://G2Plot/../../../src/theme/util/create-theme.ts","webpack://G2Plot/../../src/theme/index.ts","webpack://G2Plot/../../src/util/tooltip.ts","webpack://G2Plot/../../src/util/padding.ts","webpack://G2Plot/../../../src/chart/controller/index.ts","webpack://G2Plot/../../../src/chart/controller/coordinate.ts","webpack://G2Plot/../../src/chart/event.ts","webpack://G2Plot/../../../src/chart/layout/index.ts","webpack://G2Plot/../../../src/chart/util/scale-pool.ts","webpack://G2Plot/../../../src/chart/layout/padding-cal.ts","webpack://G2Plot/../../../src/chart/layout/auto.ts","webpack://G2Plot/../../../src/chart/util/sync-view-padding.ts","webpack://G2Plot/../../src/chart/view.ts","webpack://G2Plot/../../src/chart/chart.ts","webpack://G2Plot/../../../src/chart/controller/base.ts","webpack://G2Plot/../../../src/chart/controller/tooltip.ts","webpack://G2Plot/../../../src/animate/animation/index.ts","webpack://G2Plot/../../src/animate/index.ts","webpack://G2Plot/../../../src/geometry/shape/constant.ts","webpack://G2Plot/../../../src/geometry/element/index.ts","webpack://G2Plot/../../../src/geometry/label/index.ts","webpack://G2Plot/../../../src/geometry/shape/base.ts","webpack://G2Plot/../../../src/geometry/util/is-model-change.ts","webpack://G2Plot/../../../src/geometry/util/parse-fields.ts","webpack://G2Plot/../../../src/geometry/util/diff.ts","webpack://G2Plot/../../src/geometry/base.ts","webpack://G2Plot/../../../src/geometry/util/group-data.ts","webpack://G2Plot/../../src/util/transform.ts","webpack://G2Plot/../../../../src/geometry/label/util/index.ts","webpack://G2Plot/../../src/component/labels.ts","webpack://G2Plot/../../src/component/update-label.ts","webpack://G2Plot/../../../src/geometry/label/base.ts","webpack://G2Plot/../../src/util/attr.ts","webpack://G2Plot/../../src/util/marker.ts","webpack://G2Plot/../../src/util/legend.ts","webpack://G2Plot/../../../../src/geometry/shape/util/get-path-points.ts","webpack://G2Plot/../../../../src/geometry/shape/util/get-style.ts","webpack://G2Plot/../../../../src/geometry/shape/util/split-points.ts","webpack://G2Plot/../../../../src/geometry/shape/line/util.ts","webpack://G2Plot/../../../../src/geometry/shape/line/index.ts","webpack://G2Plot/../src/core.ts","webpack://G2Plot/../../../src/theme/style-sheet/dark.ts","webpack://G2Plot/../../src/geometry/path.ts","webpack://G2Plot/../../../../src/geometry/shape/area/util.ts","webpack://G2Plot/../../../../src/geometry/shape/area/index.ts","webpack://G2Plot/../../src/geometry/area.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/index.ts","webpack://G2Plot/../../src/geometry/edge.ts","webpack://G2Plot/../../src/geometry/heatmap.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/util.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/index.ts","webpack://G2Plot/../../../src/geometry/util/shape-size.ts","webpack://G2Plot/../../src/geometry/interval.ts","webpack://G2Plot/../../src/geometry/line.ts","webpack://G2Plot/../../../../src/geometry/shape/point/util.ts","webpack://G2Plot/../../../../src/geometry/shape/point/index.ts","webpack://G2Plot/../../src/geometry/point.ts","webpack://G2Plot/../../../../src/geometry/shape/polygon/index.ts","webpack://G2Plot/../../src/geometry/polygon.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/index.ts","webpack://G2Plot/../../src/geometry/schema.ts","webpack://G2Plot/../../../../src/geometry/shape/violin/index.ts","webpack://G2Plot/../../src/geometry/violin.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/util.ts","webpack://G2Plot/../../../../src/geometry/shape/area/line.ts","webpack://G2Plot/../../../../src/geometry/shape/area/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/area/smooth-line.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/arc.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/vhv.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/funnel.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/hollow-rect.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/line.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/pyramid.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/tick.ts","webpack://G2Plot/../../../../src/geometry/shape/line/step.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/box.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/candle.ts","webpack://G2Plot/../../../../src/geometry/shape/polygon/square.ts","webpack://G2Plot/../../../../src/geometry/shape/point/hollow.ts","webpack://G2Plot/../../../../src/geometry/shape/point/image.ts","webpack://G2Plot/../../../../src/geometry/shape/point/solid.ts","webpack://G2Plot/../../../../src/geometry/shape/violin/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/violin/hollow.ts","webpack://G2Plot/../../../src/geometry/label/interval.ts","webpack://G2Plot/../../../src/geometry/label/polar.ts","webpack://G2Plot/../../../src/geometry/label/pie.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/util.ts","webpack://G2Plot/../../../../src/geometry/label/layout/overlap.ts","webpack://G2Plot/../../src/util/collision-detect.ts","webpack://G2Plot/../../src/util/color.ts","webpack://G2Plot/../../src/util/context.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/interval/adjust-position.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/point/adjust-position.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/path/adjust-position.ts","webpack://G2Plot/../../src/util/text.ts","webpack://G2Plot/../../../src/animate/animation/util.ts","webpack://G2Plot/../../../src/animate/animation/sector-path-update.ts","webpack://G2Plot/../../../src/animate/animation/zoom.ts","webpack://G2Plot/../../src/util/facet.ts","webpack://G2Plot/../../src/facet/circle.ts","webpack://G2Plot/../../src/facet/list.ts","webpack://G2Plot/../../src/facet/matrix.ts","webpack://G2Plot/../../src/facet/mirror.ts","webpack://G2Plot/../../src/facet/rect.ts","webpack://G2Plot/../../src/facet/tree.ts","webpack://G2Plot/../../src/util/stat.ts","webpack://G2Plot/../../src/util/annotation.ts","webpack://G2Plot/../../../src/chart/controller/annotation.ts","webpack://G2Plot/../../src/util/grid.ts","webpack://G2Plot/../../../src/chart/controller/axis.ts","webpack://G2Plot/../../src/util/direction.ts","webpack://G2Plot/../../../src/chart/controller/legend.ts","webpack://G2Plot/../../../src/chart/controller/slider.ts","webpack://G2Plot/../../../src/chart/controller/scrollbar.ts","webpack://G2Plot/../../../src/interaction/action/active-region.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/geometry.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/sibling.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/ellipsis-text.ts","webpack://G2Plot/../../../../src/interaction/action/element/state-base.ts","webpack://G2Plot/../../../../src/interaction/action/element/state.ts","webpack://G2Plot/../../../../src/interaction/action/element/active.ts","webpack://G2Plot/../../../../src/interaction/action/element/link-by-color.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-state.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-active.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-state.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-active.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-util.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-by-color.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-by-x.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-selected.ts","webpack://G2Plot/../../../../src/interaction/action/element/selected.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-selected.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-state.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-active.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-highlight-util.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-selected.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-unchecked.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-checked.ts","webpack://G2Plot/../../../../src/interaction/action/mask/base.ts","webpack://G2Plot/../../../../src/interaction/action/mask/circle.ts","webpack://G2Plot/../../../../src/interaction/action/mask/rect.ts","webpack://G2Plot/../../../../src/interaction/action/mask/dim-rect.ts","webpack://G2Plot/../../../../src/interaction/action/data/range-filter.ts","webpack://G2Plot/../../../../src/interaction/action/mask/path.ts","webpack://G2Plot/../../../../src/interaction/action/mask/smooth-path.ts","webpack://G2Plot/../../../src/interaction/action/cursor.ts","webpack://G2Plot/../../../../src/interaction/action/data/filter.ts","webpack://G2Plot/../../../../src/interaction/action/data/sibling-filter.ts","webpack://G2Plot/../../../../src/interaction/action/element/filter.ts","webpack://G2Plot/../../../../src/interaction/action/element/sibling-filter.ts","webpack://G2Plot/../../../../src/interaction/action/view/button.ts","webpack://G2Plot/../../../../src/interaction/action/view/drag.ts","webpack://G2Plot/../../../../src/interaction/action/view/move.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-transform.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-translate.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-zoom.ts","webpack://G2Plot/../../../../src/interaction/action/view/mousewheel-scroll.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/distribute.ts","webpack://G2Plot/../../../../src/geometry/label/layout/hide-overlap.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-shape.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-canvas.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-plot.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/outer.ts","webpack://G2Plot/../../../../src/geometry/label/layout/adjust-color.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/interval/hide-overlap.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/spider.ts","webpack://G2Plot/../../../src/animate/animation/fade.ts","webpack://G2Plot/../../../src/animate/animation/grow-in.ts","webpack://G2Plot/../../../src/animate/animation/scale-in.ts","webpack://G2Plot/../../../src/animate/animation/wave-in.ts","webpack://G2Plot/../../../src/animate/animation/position-update.ts","webpack://G2Plot/../../../src/animate/animation/path-in.ts","webpack://G2Plot/../src/util.ts","webpack://G2Plot/../src/line.ts","webpack://G2Plot/../src/bezier.ts","webpack://G2Plot/../src/quadratic.ts","webpack://G2Plot/../src/cubic.ts","webpack://G2Plot/../src/ellipse.ts","webpack://G2Plot/../src/arc.ts","webpack://G2Plot/../src/segments.ts","webpack://G2Plot/../src/polyline.ts","webpack://G2Plot/../src/add-event-listener.ts","webpack://G2Plot/../src/create-dom.ts","webpack://G2Plot/../src/get-style.ts","webpack://G2Plot/../src/get-outer-height.ts","webpack://G2Plot/../src/get-height.ts","webpack://G2Plot/../src/get-outer-width.ts","webpack://G2Plot/../src/get-width.ts","webpack://G2Plot/../src/modify-css.ts","webpack://G2Plot/./src/adaptor/common.ts","webpack://G2Plot/../../src/abstract/group-component.ts","webpack://G2Plot/./node_modules/gl-matrix/esm/common.js","webpack://G2Plot/./src/adaptor/geometries/index.ts","webpack://G2Plot/./node_modules/gl-matrix/esm/mat3.js","webpack://G2Plot/../../src/util/matrix.ts","webpack://G2Plot/../../src/tooltip/css-const.ts","webpack://G2Plot/../../src/util/draw.ts","webpack://G2Plot/../../src/util/arrow.ts","webpack://G2Plot/../src/parse-path.ts","webpack://G2Plot/../src/catmull-rom-2-bezier.ts","webpack://G2Plot/../src/fill-path.ts","webpack://G2Plot/../src/fill-path-by-diff.ts","webpack://G2Plot/../src/format-path.ts","webpack://G2Plot/../src/rect-path.ts","webpack://G2Plot/../src/parse-path-string.ts","webpack://G2Plot/../src/path-2-absolute.ts","webpack://G2Plot/../../src/process/arc-2-cubic.ts","webpack://G2Plot/../../src/process/quad-2-cubic.ts","webpack://G2Plot/../../src/process/line-2-cubic.ts","webpack://G2Plot/../../src/process/segment-2-cubic.ts","webpack://G2Plot/../src/path-2-curve.ts","webpack://G2Plot/../src/path-intersection.ts","webpack://G2Plot/../src/parse-path-array.ts","webpack://G2Plot/../src/get-arc-params.ts","webpack://G2Plot/../src/path-2-segments.ts","webpack://G2Plot/../src/get-line-intersect.ts","webpack://G2Plot/../src/point-in-polygon.ts","webpack://G2Plot/../src/is-polygons-intersect.ts","webpack://G2Plot/../../src/util/svg.ts","webpack://G2Plot/./node_modules/@antv/adjust/node_modules/tslib/tslib.es6.js","webpack://G2Plot/./src/adaptor/geometries/base.ts","webpack://G2Plot/../../src/util/label.ts","webpack://G2Plot/./src/utils/tooltip.ts","webpack://G2Plot/../../src/adjusts/adjust.ts","webpack://G2Plot/../../src/tick-method/register.ts","webpack://G2Plot/../../src/category/base.ts","webpack://G2Plot/../src/fecha.ts","webpack://G2Plot/../../src/util/time.ts","webpack://G2Plot/../../src/util/bisector.ts","webpack://G2Plot/../../src/category/time.ts","webpack://G2Plot/../../src/continuous/base.ts","webpack://G2Plot/../../src/continuous/linear.ts","webpack://G2Plot/../../src/util/math.ts","webpack://G2Plot/../../src/continuous/log.ts","webpack://G2Plot/../../src/continuous/pow.ts","webpack://G2Plot/../../src/continuous/time.ts","webpack://G2Plot/../../src/continuous/quantize.ts","webpack://G2Plot/../../src/continuous/quantile.ts","webpack://G2Plot/../../src/identity/index.ts","webpack://G2Plot/../../src/util/pretty-number.ts","webpack://G2Plot/../../src/util/extended.ts","webpack://G2Plot/../../src/tick-method/cat.ts","webpack://G2Plot/../../src/util/d3-linear.ts","webpack://G2Plot/../../src/util/interval.ts","webpack://G2Plot/../../src/util/strict-limit.ts","webpack://G2Plot/../../src/util/pretty.ts","webpack://G2Plot/../../src/tick-method/quantile.ts","webpack://G2Plot/../../src/tick-method/time-pretty.ts","webpack://G2Plot/../../src/tick-method/index.ts","webpack://G2Plot/../../src/tick-method/time-cat.ts","webpack://G2Plot/../../src/tick-method/linear.ts","webpack://G2Plot/../../src/tick-method/r-prettry.ts","webpack://G2Plot/../../src/tick-method/time.ts","webpack://G2Plot/../../src/tick-method/log.ts","webpack://G2Plot/../../src/tick-method/pow.ts","webpack://G2Plot/../../src/tick-method/d3-linear.ts","webpack://G2Plot/../../src/util/path.ts","webpack://G2Plot/../../src/shape/base.ts","webpack://G2Plot/../../src/shape/circle.ts","webpack://G2Plot/../../src/shape/ellipse.ts","webpack://G2Plot/../../src/shape/image.ts","webpack://G2Plot/../../../src/util/in-stroke/line.ts","webpack://G2Plot/../../src/shape/line.ts","webpack://G2Plot/../../src/shape/marker.ts","webpack://G2Plot/../../../src/util/in-path/point-in-path.ts","webpack://G2Plot/../../../src/util/in-path/polygon.ts","webpack://G2Plot/../../../src/util/in-stroke/arc.ts","webpack://G2Plot/../../src/shape/path.ts","webpack://G2Plot/../../../src/util/in-stroke/polyline.ts","webpack://G2Plot/../../src/shape/polygon.ts","webpack://G2Plot/../../src/shape/polyline.ts","webpack://G2Plot/../../src/shape/rect.ts","webpack://G2Plot/../../../src/util/in-stroke/rect-radius.ts","webpack://G2Plot/../../../src/util/in-stroke/rect.ts","webpack://G2Plot/../../src/shape/text.ts","webpack://G2Plot/./src/constant.ts","webpack://G2Plot/../../src/abstract/html-component.ts","webpack://G2Plot/../../src/util/state.ts","webpack://G2Plot/./src/utils/padding.ts","webpack://G2Plot/./src/adaptor/pattern.ts","webpack://G2Plot/./src/utils/transform/percent.ts","webpack://G2Plot/./src/plots/tiny-line/utils.ts","webpack://G2Plot/./src/plots/funnel/constant.ts","webpack://G2Plot/../../src/abstract/component.ts","webpack://G2Plot/../../src/shape/dom.ts","webpack://G2Plot/../../../src/shape/marker/symbols.ts","webpack://G2Plot/../../../src/shape/marker/index.ts","webpack://G2Plot/../../src/util/format.ts","webpack://G2Plot/./node_modules/gl-matrix/esm/vec2.js","webpack://G2Plot/./node_modules/detect-browser/es/index.js","webpack://G2Plot/./node_modules/d3-interpolate/src/numberArray.js","webpack://G2Plot/./node_modules/d3-ease/src/linear.js","webpack://G2Plot/./node_modules/d3-ease/src/quad.js","webpack://G2Plot/./node_modules/d3-ease/src/cubic.js","webpack://G2Plot/./node_modules/d3-ease/src/poly.js","webpack://G2Plot/./node_modules/d3-ease/src/sin.js","webpack://G2Plot/./node_modules/d3-ease/src/math.js","webpack://G2Plot/./node_modules/d3-ease/src/exp.js","webpack://G2Plot/./node_modules/d3-ease/src/circle.js","webpack://G2Plot/./node_modules/d3-ease/src/bounce.js","webpack://G2Plot/./node_modules/d3-ease/src/back.js","webpack://G2Plot/./node_modules/d3-ease/src/elastic.js","webpack://G2Plot/./src/plots/column/adaptor.ts","webpack://G2Plot/./src/plots/tiny-line/constants.ts","webpack://G2Plot/./src/plots/venn/constant.ts","webpack://G2Plot/./src/utils/hierarchy/util.ts","webpack://G2Plot/../../src/util/arc-params.ts","webpack://G2Plot/./src/core/locale.ts","webpack://G2Plot/./src/utils/data.ts","webpack://G2Plot/./src/plots/tiny-area/adaptor.ts","webpack://G2Plot/./src/interactions/actions/drill-down.ts","webpack://G2Plot/./src/plots/gauge/constants.ts","webpack://G2Plot/../../src/event/graph-event.ts","webpack://G2Plot/../../src/abstract/base.ts","webpack://G2Plot/./node_modules/gl-matrix/esm/vec3.js","webpack://G2Plot/../../src/util/offscreen.ts","webpack://G2Plot/../../src/util/event.ts","webpack://G2Plot/../../src/abstract/container.ts","webpack://G2Plot/../../src/abstract/element.ts","webpack://G2Plot/../../src/util/parse.ts","webpack://G2Plot/./src/utils/number.ts","webpack://G2Plot/./src/plots/line/adaptor.ts","webpack://G2Plot/./src/utils/pattern/util.ts","webpack://G2Plot/./src/plots/dual-axes/types.ts","webpack://G2Plot/./src/plots/dual-axes/util/option.ts","webpack://G2Plot/./src/plots/progress/adaptor.ts","webpack://G2Plot/./src/plots/progress/utils.ts","webpack://G2Plot/./src/plots/box/constant.ts","webpack://G2Plot/./src/plots/venn/interactions/util.ts","webpack://G2Plot/./src/plots/stock/constant.ts","webpack://G2Plot/./src/plots/funnel/geometries/common.ts","webpack://G2Plot/./src/plots/sunburst/constant.ts","webpack://G2Plot/./src/interactions/drill-down.ts","webpack://G2Plot/./src/plots/waterfall/constant.ts","webpack://G2Plot/./src/plots/sankey/constant.ts","webpack://G2Plot/./src/plots/mix/index.ts","webpack://G2Plot/./node_modules/d3-hierarchy/src/cluster.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/iterator.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/find.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/pack/enclose.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/array.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/pack/siblings.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/accessors.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/constant.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/pack/index.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/round.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/dice.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/partition.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/stratify.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/tree.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/slice.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/squarify.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/index.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/binary.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/sliceDice.js","webpack://G2Plot/./node_modules/d3-hierarchy/src/treemap/resquarify.js","webpack://G2Plot/./node_modules/@babel/runtime/regenerator/index.js","webpack://G2Plot/../../src/abstract/group.ts","webpack://G2Plot/../../src/abstract/shape.ts","webpack://G2Plot/./src/utils/pick.ts","webpack://G2Plot/./src/utils/invariant.ts","webpack://G2Plot/./src/utils/view.ts","webpack://G2Plot/./src/utils/deep-assign.ts","webpack://G2Plot/./src/utils/statistic.ts","webpack://G2Plot/./src/core/global.ts","webpack://G2Plot/./node_modules/size-sensor/lib/debounce.js","webpack://G2Plot/./node_modules/size-sensor/lib/constant.js","webpack://G2Plot/./src/plots/line/index.ts","webpack://G2Plot/./src/utils/pattern/index.ts","webpack://G2Plot/./src/adaptor/geometries/point.ts","webpack://G2Plot/./src/adaptor/geometries/polygon.ts","webpack://G2Plot/./src/plots/area/index.ts","webpack://G2Plot/./src/plots/area/adaptor.ts","webpack://G2Plot/./src/plots/column/index.ts","webpack://G2Plot/./src/utils/conversion.ts","webpack://G2Plot/./src/adaptor/brush.ts","webpack://G2Plot/./src/interactions/brush.ts","webpack://G2Plot/./src/plots/bar/index.ts","webpack://G2Plot/./src/plots/bar/adaptor.ts","webpack://G2Plot/./src/plots/pie/index.ts","webpack://G2Plot/./src/plots/pie/adaptor.ts","webpack://G2Plot/./src/plots/pie/contants.ts","webpack://G2Plot/./src/plots/pie/utils.ts","webpack://G2Plot/./src/plots/pie/interactions/index.ts","webpack://G2Plot/./src/utils/matrix.ts","webpack://G2Plot/./src/plots/word-cloud/utils.ts","webpack://G2Plot/./src/plots/word-cloud/constant.ts","webpack://G2Plot/./src/plots/scatter/index.ts","webpack://G2Plot/./src/plots/scatter/adaptor.ts","webpack://G2Plot/./src/interactions/drag-move.ts","webpack://G2Plot/./src/plots/dual-axes/constant.ts","webpack://G2Plot/./src/plots/tiny-line/index.ts","webpack://G2Plot/./src/plots/tiny-line/adaptor.ts","webpack://G2Plot/./src/plots/tiny-column/index.ts","webpack://G2Plot/./src/plots/tiny-column/adaptor.ts","webpack://G2Plot/./src/plots/tiny-area/index.ts","webpack://G2Plot/./src/plots/histogram/index.ts","webpack://G2Plot/./src/utils/transform/histogram.ts","webpack://G2Plot/./src/plots/histogram/adaptor.ts","webpack://G2Plot/./src/plots/histogram/constant.ts","webpack://G2Plot/./src/plots/progress/index.ts","webpack://G2Plot/./src/plots/progress/constants.ts","webpack://G2Plot/./src/plots/ring-progress/index.ts","webpack://G2Plot/./src/plots/ring-progress/adaptor.ts","webpack://G2Plot/./src/plots/box/utils.ts","webpack://G2Plot/./src/plots/violin/utils.ts","webpack://G2Plot/./src/plots/violin/constant.ts","webpack://G2Plot/./node_modules/fmin/build/fmin.js","webpack://G2Plot/./src/plots/venn/layout/circleintersection.ts","webpack://G2Plot/./src/plots/stock/utils.ts","webpack://G2Plot/./src/plots/funnel/index.ts","webpack://G2Plot/./src/plots/funnel/adaptor.ts","webpack://G2Plot/./src/plots/funnel/geometries/basic.ts","webpack://G2Plot/./src/plots/liquid/utils.ts","webpack://G2Plot/./src/plots/bullet/utils.ts","webpack://G2Plot/./src/utils/hierarchy/treemap.ts","webpack://G2Plot/./src/plots/gauge/index.ts","webpack://G2Plot/./src/plots/gauge/adaptor.ts","webpack://G2Plot/./src/plots/gauge/utils.ts","webpack://G2Plot/./src/plots/waterfall/utils.ts","webpack://G2Plot/./src/plots/bidirectional-bar/constant.ts","webpack://G2Plot/./src/plots/bidirectional-bar/utils.ts","webpack://G2Plot/./src/plots/treemap/utils.ts","webpack://G2Plot/./src/plots/sankey/helper.ts","webpack://G2Plot/./src/plots/sankey/sankey/align.ts","webpack://G2Plot/./src/plots/chord/constant.ts","webpack://G2Plot/./src/plots/circle-packing/constant.ts","webpack://G2Plot/./src/plots/mix/utils.ts","webpack://G2Plot/../../src/util/graphic.ts","webpack://G2Plot/../../src/annotation/line.ts","webpack://G2Plot/../../src/annotation/text.ts","webpack://G2Plot/../../src/annotation/arc.ts","webpack://G2Plot/../../src/annotation/region.ts","webpack://G2Plot/../../src/annotation/image.ts","webpack://G2Plot/../../src/annotation/data-marker.ts","webpack://G2Plot/../../src/annotation/data-region.ts","webpack://G2Plot/../../src/annotation/region-filter.ts","webpack://G2Plot/../../src/annotation/shape.ts","webpack://G2Plot/../../src/annotation/html.ts","webpack://G2Plot/../../src/bbox/register.ts","webpack://G2Plot/../../src/bbox/rect.ts","webpack://G2Plot/../../src/bbox/circle.ts","webpack://G2Plot/../../src/bbox/util.ts","webpack://G2Plot/../../src/bbox/polyline.ts","webpack://G2Plot/../../src/bbox/path.ts","webpack://G2Plot/../../src/bbox/index.ts","webpack://G2Plot/../../src/bbox/polygon.ts","webpack://G2Plot/../../src/bbox/text.ts","webpack://G2Plot/../../src/bbox/line.ts","webpack://G2Plot/../../src/bbox/ellipse.ts","webpack://G2Plot/../../src/axis/base.ts","webpack://G2Plot/../../../src/axis/overlap/auto-ellipsis.ts","webpack://G2Plot/../../../src/axis/overlap/auto-hide.ts","webpack://G2Plot/../../../src/axis/overlap/auto-rotate.ts","webpack://G2Plot/../../src/axis/line.ts","webpack://G2Plot/../../src/axis/circle.ts","webpack://G2Plot/../../src/defs/gradient.ts","webpack://G2Plot/../../src/defs/shadow.ts","webpack://G2Plot/../../src/defs/arrow.ts","webpack://G2Plot/../../src/defs/clip.ts","webpack://G2Plot/../../src/defs/pattern.ts","webpack://G2Plot/../../src/defs/index.ts","webpack://G2Plot/../src/canvas.ts","webpack://G2Plot/../../src/crosshair/base.ts","webpack://G2Plot/../../src/crosshair/line.ts","webpack://G2Plot/../../src/crosshair/circle.ts","webpack://G2Plot/../../src/crosshair/html-theme.ts","webpack://G2Plot/../../src/crosshair/css-const.ts","webpack://G2Plot/../../src/crosshair/html.ts","webpack://G2Plot/../../src/trend/constant.ts","webpack://G2Plot/../../src/trend/path.ts","webpack://G2Plot/../../src/trend/trend.ts","webpack://G2Plot/../../src/slider/handler.ts","webpack://G2Plot/../../src/slider/constant.ts","webpack://G2Plot/../../src/slider/slider.ts","webpack://G2Plot/../../src/animate/timeline.ts","webpack://G2Plot/../../src/event/event-contoller.ts","webpack://G2Plot/../../src/abstract/canvas.ts","webpack://G2Plot/../../src/grid/base.ts","webpack://G2Plot/../../src/grid/circle.ts","webpack://G2Plot/../../src/grid/line.ts","webpack://G2Plot/../../src/legend/base.ts","webpack://G2Plot/../../src/legend/category.ts","webpack://G2Plot/../../src/legend/continuous.ts","webpack://G2Plot/../../src/tooltip/html-theme.ts","webpack://G2Plot/../../src/tooltip/html.ts","webpack://G2Plot/../../src/util/align.ts","webpack://G2Plot/../../src/util/hit.ts","webpack://G2Plot/../../src/scrollbar/scrollbar.ts","webpack://G2Plot/./node_modules/d3-interpolate/src/array.js","webpack://G2Plot/../../src/adjusts/dodge.ts","webpack://G2Plot/../../src/adjusts/jitter.ts","webpack://G2Plot/../../src/adjusts/stack.ts","webpack://G2Plot/../../src/adjusts/symmetric.ts","webpack://G2Plot/./node_modules/d3-color/src/define.js","webpack://G2Plot/./node_modules/d3-color/src/color.js","webpack://G2Plot/./node_modules/d3-interpolate/src/basis.js","webpack://G2Plot/./node_modules/d3-interpolate/src/constant.js","webpack://G2Plot/./node_modules/d3-interpolate/src/color.js","webpack://G2Plot/./node_modules/d3-interpolate/src/rgb.js","webpack://G2Plot/./node_modules/d3-interpolate/src/basisClosed.js","webpack://G2Plot/./node_modules/d3-interpolate/src/date.js","webpack://G2Plot/./node_modules/d3-interpolate/src/number.js","webpack://G2Plot/./node_modules/d3-interpolate/src/object.js","webpack://G2Plot/./node_modules/d3-interpolate/src/string.js","webpack://G2Plot/./node_modules/d3-interpolate/src/value.js","webpack://G2Plot/./src/index.ts","webpack://G2Plot/./node_modules/process/browser.js","webpack://G2Plot/./src/utils/flow.ts","webpack://G2Plot/./src/utils/template.ts","webpack://G2Plot/./src/utils/dom.ts","webpack://G2Plot/./src/utils/geometry.ts","webpack://G2Plot/./src/utils/label.ts","webpack://G2Plot/./src/utils/path.ts","webpack://G2Plot/./src/utils/kebab-case.ts","webpack://G2Plot/./src/utils/measure-text.ts","webpack://G2Plot/./src/utils/context.ts","webpack://G2Plot/./src/locales/en_US.ts","webpack://G2Plot/./src/locales/zh_CN.ts","webpack://G2Plot/./node_modules/size-sensor/lib/index.js","webpack://G2Plot/./node_modules/size-sensor/lib/sensorPool.js","webpack://G2Plot/./node_modules/size-sensor/lib/id.js","webpack://G2Plot/./node_modules/size-sensor/lib/sensors/index.js","webpack://G2Plot/./node_modules/size-sensor/lib/sensors/object.js","webpack://G2Plot/./node_modules/size-sensor/lib/sensors/resizeObserver.js","webpack://G2Plot/./src/types/index.ts","webpack://G2Plot/./src/utils/pattern/dot.ts","webpack://G2Plot/./src/utils/pattern/line.ts","webpack://G2Plot/./src/utils/pattern/square.ts","webpack://G2Plot/./src/adaptor/geometries/area.ts","webpack://G2Plot/./src/adaptor/geometries/line.ts","webpack://G2Plot/./src/adaptor/geometries/interval.ts","webpack://G2Plot/./src/adaptor/geometries/edge.ts","webpack://G2Plot/./src/adaptor/geometries/schema.ts","webpack://G2Plot/./src/adaptor/geometries/violin.ts","webpack://G2Plot/./src/plots/line/constants.ts","webpack://G2Plot/./src/plots/line/interactions/index.ts","webpack://G2Plot/./src/plots/line/interactions/marker-active.ts","webpack://G2Plot/./src/plots/area/constants.ts","webpack://G2Plot/./src/adaptor/conversion-tag.ts","webpack://G2Plot/./src/adaptor/connected-area.ts","webpack://G2Plot/./src/interactions/actions/reset-button.ts","webpack://G2Plot/./src/plots/column/constants.ts","webpack://G2Plot/./src/plots/bar/constants.ts","webpack://G2Plot/./src/plots/pie/interactions/actions/legend-active.ts","webpack://G2Plot/./src/plots/pie/interactions/actions/statistic-active.ts","webpack://G2Plot/./src/plots/pie/interactions/util.ts","webpack://G2Plot/./src/plots/rose/index.ts","webpack://G2Plot/./src/plots/rose/adaptor.ts","webpack://G2Plot/./src/plots/rose/constant.ts","webpack://G2Plot/./src/plots/word-cloud/index.ts","webpack://G2Plot/./src/plots/word-cloud/adaptor.ts","webpack://G2Plot/./src/utils/transform/word-cloud.ts","webpack://G2Plot/./src/plots/word-cloud/shapes/word-cloud.ts","webpack://G2Plot/./src/plots/scatter/util.ts","webpack://G2Plot/./node_modules/d3-regression/dist/d3-regression.esm.js","webpack://G2Plot/./src/plots/scatter/constant.ts","webpack://G2Plot/./src/plots/scatter/interactions/index.ts","webpack://G2Plot/./src/plots/radar/index.ts","webpack://G2Plot/./src/plots/radar/adaptor.ts","webpack://G2Plot/./src/plots/radar/interactions/index.ts","webpack://G2Plot/./src/plots/radar/interactions/radar-tooltip-action.ts","webpack://G2Plot/./src/plots/dual-axes/index.ts","webpack://G2Plot/./src/plots/dual-axes/adaptor.ts","webpack://G2Plot/./src/plots/dual-axes/util/legend.ts","webpack://G2Plot/./src/plots/dual-axes/util/geometry.ts","webpack://G2Plot/./src/plots/dual-axes/util/render-sider.ts","webpack://G2Plot/./src/plots/tiny-column/constants.ts","webpack://G2Plot/./src/plots/tiny-area/constants.ts","webpack://G2Plot/./src/plots/ring-progress/constants.ts","webpack://G2Plot/./src/plots/heatmap/index.ts","webpack://G2Plot/./src/plots/heatmap/adaptor.ts","webpack://G2Plot/./src/plots/heatmap/constant.ts","webpack://G2Plot/./src/plots/heatmap/shapes/circle.ts","webpack://G2Plot/./src/plots/heatmap/shapes/square.ts","webpack://G2Plot/./src/plots/box/index.ts","webpack://G2Plot/./src/plots/box/adaptor.ts","webpack://G2Plot/./src/plots/violin/index.ts","webpack://G2Plot/./src/plots/violin/adaptor.ts","webpack://G2Plot/./node_modules/pdfast/src/index.js","webpack://G2Plot/./node_modules/pdfast/src/helper.js","webpack://G2Plot/./src/utils/transform/quantile.ts","webpack://G2Plot/./src/plots/venn/index.ts","webpack://G2Plot/./src/plots/venn/types.ts","webpack://G2Plot/./src/plots/venn/adaptor.ts","webpack://G2Plot/./src/plots/venn/utils.ts","webpack://G2Plot/./src/utils/color/blend.ts","webpack://G2Plot/./src/plots/venn/layout/layout.ts","webpack://G2Plot/./src/plots/venn/layout/diagram.ts","webpack://G2Plot/./src/plots/venn/shape.ts","webpack://G2Plot/./src/plots/venn/label.ts","webpack://G2Plot/./src/plots/venn/interactions/index.ts","webpack://G2Plot/./src/plots/venn/interactions/actions/active.ts","webpack://G2Plot/./src/plots/venn/interactions/actions/highlight.ts","webpack://G2Plot/./src/plots/venn/interactions/actions/selected.ts","webpack://G2Plot/./src/plots/stock/index.ts","webpack://G2Plot/./src/plots/stock/adaptor.ts","webpack://G2Plot/./src/plots/funnel/geometries/compare.ts","webpack://G2Plot/./src/plots/funnel/geometries/facet.ts","webpack://G2Plot/./src/plots/funnel/geometries/dynamic-height.ts","webpack://G2Plot/./src/plots/liquid/index.ts","webpack://G2Plot/./src/plots/liquid/adaptor.ts","webpack://G2Plot/./src/plots/liquid/constants.ts","webpack://G2Plot/./src/plots/liquid/shapes/liquid.ts","webpack://G2Plot/./src/plots/bullet/index.ts","webpack://G2Plot/./src/plots/bullet/adaptor.ts","webpack://G2Plot/./src/plots/bullet/constant.ts","webpack://G2Plot/./src/plots/sunburst/index.ts","webpack://G2Plot/./src/plots/sunburst/adaptor.ts","webpack://G2Plot/./src/plots/sunburst/utils.ts","webpack://G2Plot/./src/utils/hierarchy/partition.ts","webpack://G2Plot/./node_modules/regenerator-runtime/runtime.js","webpack://G2Plot/(webpack)/buildin/module.js","webpack://G2Plot/./src/plots/sunburst/interactions/index.ts","webpack://G2Plot/./src/plots/gauge/types.ts","webpack://G2Plot/./src/plots/gauge/shapes/indicator.ts","webpack://G2Plot/./src/plots/gauge/shapes/meter-gauge.ts","webpack://G2Plot/./src/plots/waterfall/index.ts","webpack://G2Plot/./src/plots/waterfall/adaptor.ts","webpack://G2Plot/./src/plots/waterfall/shape.ts","webpack://G2Plot/./src/plots/radial-bar/index.ts","webpack://G2Plot/./src/plots/radial-bar/adaptor.ts","webpack://G2Plot/./src/plots/radial-bar/utils.ts","webpack://G2Plot/./src/plots/radial-bar/constant.ts","webpack://G2Plot/./src/plots/bidirectional-bar/index.ts","webpack://G2Plot/./src/plots/bidirectional-bar/adaptor.ts","webpack://G2Plot/./src/plots/treemap/index.ts","webpack://G2Plot/./src/plots/treemap/adaptor.ts","webpack://G2Plot/./src/plots/treemap/constant.ts","webpack://G2Plot/./src/plots/treemap/interactions/index.ts","webpack://G2Plot/./src/plots/sankey/index.ts","webpack://G2Plot/./src/plots/sankey/adaptor.ts","webpack://G2Plot/./src/plots/sankey/layout.ts","webpack://G2Plot/./src/plots/sankey/sankey/index.ts","webpack://G2Plot/./src/plots/sankey/sankey/sankey.ts","webpack://G2Plot/./src/plots/sankey/sankey/helper.ts","webpack://G2Plot/./src/plots/sankey/circle.ts","webpack://G2Plot/./src/plots/sankey/interactions/index.ts","webpack://G2Plot/./src/plots/sankey/interactions/node-draggable.ts","webpack://G2Plot/./src/plots/sankey/interactions/actions/node-drag.ts","webpack://G2Plot/./src/plots/chord/index.ts","webpack://G2Plot/./src/plots/chord/adaptor.ts","webpack://G2Plot/./src/utils/transform/chord.ts","webpack://G2Plot/./src/plots/circle-packing/index.ts","webpack://G2Plot/./src/plots/circle-packing/adaptor.ts","webpack://G2Plot/./src/plots/circle-packing/utils.ts","webpack://G2Plot/./src/utils/hierarchy/pack.ts","webpack://G2Plot/./src/plots/circle-packing/interactions/index.ts","webpack://G2Plot/./src/plugin/index.ts","webpack://G2Plot/./src/plots/mix/adaptor.ts","webpack://G2Plot/./src/plots/mix/interactions/index.ts","webpack://G2Plot/./src/plots/mix/interactions/association.ts","webpack://G2Plot/./src/plots/mix/interactions/utils.ts","webpack://G2Plot/./src/plots/facet/index.ts","webpack://G2Plot/./src/plots/facet/adaptor.ts","webpack://G2Plot/./src/plots/facet/utils.ts","webpack://G2Plot/./src/plots/facet/constant.ts","webpack://G2Plot/./src/lab.ts","webpack://G2Plot/./node_modules/d3-timer/src/timer.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","type","elements","result","uniq","arr","cache","str","base","toString","index","indexOf","length","num","requestAnimationFrame","fn","cancelAnimationFrame","handler","_mix","obj","dist","rst","k","memoized","superObj","func","PLACEHOLDER_WIDTH","font","default_1","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","TypeError","String","__","this","constructor","__assign","assign","arguments","apply","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","pop","push","__createBinding","k2","undefined","__exportStar","__values","__read","ar","error","__spread","concat","__spreadArrays","il","a","j","jl","__spreadArray","to","from","pack","slice","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__importDefault","default","__classPrivateFieldGet","receiver","state","kind","has","__classPrivateFieldSet","set","flow","pick","template","log","invariant","LEVEL","getContainerSize","findViewById","getViews","getSiblingViews","transformLabel","getSplinePath","deepAssign","kebabCase","renderStatistic","renderGaugeStatistic","measureTextWidth","isBetween","isRealNumber","fontFamily","PLOT_CONTAINER_OPTIONS","container","options","document","getElementById","getDefaultOptions","createG2","bindEvents","renderer","xAxis","nice","autoRotate","autoHide","cfg","minGap","yAxis","animation","width","height","defaultInteractions","chart","Chart","autoFit","getChartSize","localRefresh","setAttribute","chartSize","on","emit","Plot","render","clear","data","animate","views","execAdaptor","bindSizeSensor","update","updateOption","setState","condition","status","getAllElementsRecursively","each","ele","getData","getStates","stateObjects","element","states","geometry","changeData","changeSize","addAnnotations","annotations","incoming","controller","getController","current","getComponents","map","co","annotation","findIndex","item","id","splice","forEach","removeAnnotations","find","destroy","unbindSizeSensor","off","removeAttribute","adaptor","getSchemaAdaptor","padding","appendPadding","triggerResize","forceFit","unbind","ENGINES","getEngine","G","Error","registerEngine","engine","Opacity","_this","Shape","Size","start","end","LineAxis","CircleAxis","LineGrid","CircleGrid","CategoryLegend","ContinuousLegend","HtmlTooltip","uniqueValues","array","Set","mid","polarToCartesian","centerX","centerY","radius","angleInRadian","x","Math","cos","sin","getSectorPath","startAngleInRadian","endAngleInRadian","innerRadius","innerStart","innerEnd","PI","middlePoint","innerMiddlePoint","circlePathCommands","arcSweep","sectorPathCommands","getArcPath","getAngle","shapeModel","coordinate","endAngle","startAngle","box","points","minX","maxX","minY","maxY","point","getPointsBox","coordStartAngle","diffAngle","isTransposed","getReplaceAttrs","sourceShape","targetShape","originAttrs","attr","newAttrs","min","max","omit","keys","sourceArray","targetArray","Map","source","fromRange","BBox","fromObject","bbox","isEqual","contains","child","clone","add","subBBox","merge","cut","direction","DIRECTION","TOP","TOP_LEFT","TOP_RIGHT","RIGHT","RIGHT_TOP","RIGHT_BOTTOM","BOTTOM","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT","LEFT_TOP","LEFT_BOTTOM","shrink","gap","top","right","bottom","left","expand","exceed","collide","size","isPointIn","getXDimensionLength","isPolar","getRadius","convert","sqrt","pow","getDistanceToCenter","center","getCenter","isPointInCoordinate","invertPoint","invert","getAngleByPoint","atan2","getCoordinateClipCfg","margin","endState","getWidth","getHeight","startState","path","ratio","diff","attrs","dateRegex","createScaleByField","field","scaleDef","validData","values","test","getDefaultType","getName","scale","alias","getDefaultCategoryScaleRange","theme","range","count","offset","isFullCircle","getAxisRegion","region","isRect","getLineAxisRelativeRegion","getCircleAxisRelativeRegion","isVertical","getAxisFactorByRegion","getAxisThemeCfg","axisTheme","getAxisTitleOptions","axisOptions","getCircleAxisCenterRadius","isReflectY","startVector","normalVector","angle","getAxisOption","axes","getAxisDirection","axisOption","def","getAxisTitleText","view","destroyed","facets","getDefaultCfg","init","createContainer","generateFacets","renderViews","clearFacetViews","remove","facetToView","facet","createView","beforeEachView","eachView","afterEachView","getLayer","LAYER","FORE","addGroup","createFacetViews","removeView","parseSpacing","viewBBox","idx","parseFloat","getFieldValues","getRegion","rows","cols","xIndex","yIndex","xSpacing","ySpacing","xRatio","yRatio","showTitle","spacing","fields","getDefaultTitleCfg","style","fontSize","fill","getTheme","processAxis","getOptions","coordinateOption","geometries","getXYFields","xOption","yOption","getXAxisOption","getYAxisOption","getFacetDataFilter","conditions","datum","Facets","ctor","context","addAction","applyCfg","removeAction","execute","callback","ActionCache","getActionClass","actionName","actionOption","registerAction","ActionClass","createCallbackAction","action","_convertArr","coord","tmp","len","_convertArcPath","catmullRom2bezier","crp","z","constraint","isLoop","pointList","cp1","cp2","controlPointList","smooth","prevPoint","nextPoint","nextCp0","cp0","cps","hasConstraint","sub","d0","distance","d1","sum","v1","v2","getLinePath","isInCircle","_points2path","constaint","first","prePoint","splinePath","unshift","convertPolarPath","pre","cur","transposed","subPath","toLowerCase","curPoint","xDim","angleRange","abs","flag","convertPoint","middleConvertPoint","_convertPolarPath","_filterFullCirleLine","getMaskBBox","tolerance","maskBBox","event","getCanvasBBox","getCurrentElement","getDelegationObject","delegateObject","isElementChange","gEvent","fromShape","toShape","isList","component","isSlider","isMask","getMaskedElements","maskPath","maskShape","getMaskPath","getElements","pathToPoints","filter","el","shapePoints","shape","shapeBBox","getIntersectElements","getSiblingMaskElements","sibling","getSiblingPoint","geom","subView","getElementsByState","stateName","getElementsBy","hasState","getElementValue","record","getModel","box1","box2","seg","p1","p2","dx","dy","isInBox","getSilbings","parent","siblings","normalPoint","getCoordinate","point2Normalize","isInRecords","records","xFiled","yField","isIn","getScaleByField","actions","cacheMap","params","getAction","getCurrentPoint","HTMLElement","getCanvas","getPointByClient","clientX","clientY","getCurrentShape","isInPlot","isPointInPlot","isInShape","isInComponent","components","getBBox","initEvents","clearEvents","parseAction","actionStr","arg","split","createAction","methodName","executeAction","actionObject","STEP_NAMES","steps","callbackCaches","emitCaches","initContext","stepArr","stepName","getActionCallback","bindEvent","trigger","offEvent","subSteps","actionArr","isAllowStep","currentStepName","isAllowExecute","getKey","once","isEnable","enterStep","afterExecute","actionCallback","debounce","wait","immediate","throttle","leading","trailing","eventName","nameArr","addEventListener","removeEventListener","Interactions","getInteraction","registerInteraction","interaction","createThemeByStyleSheet","styleSheet","shapeStyles","pointFillColor","pointSize","stroke","pointBorderColor","lineWidth","pointBorder","fillOpacity","pointFillOpacity","active","pointActiveBorderColor","pointActiveBorder","selected","pointSelectedBorderColor","pointSelectedBorder","inactive","pointInactiveFillOpacity","strokeOpacity","pointInactiveBorderOpacity","hollowPoint","hollowPointFillColor","hollowPointBorder","hollowPointBorderColor","hollowPointBorderOpacity","hollowPointSize","hollowPointActiveBorderColor","hollowPointActiveBorderOpacity","hollowPointSelectedBorder","hollowPointSelectedBorderColor","hollowPointSelectedBorderOpacity","hollowPointInactiveBorderOpacity","area","areaFillColor","areaFillOpacity","areaActiveFillOpacity","areaSelectedFillOpacity","areaInactiveFillOpacity","hollowArea","hollowAreaBorderColor","hollowAreaBorder","hollowAreaBorderOpacity","hollowAreaActiveBorder","hollowAreaSelectedBorder","hollowAreaInactiveBorderOpacity","interval","intervalFillColor","intervalFillOpacity","intervalActiveBorderColor","intervalActiveBorder","intervalSelectedBorderColor","intervalSelectedBorder","intervalInactiveFillOpacity","intervalInactiveBorderOpacity","hollowInterval","hollowIntervalFillColor","hollowIntervalBorderColor","hollowIntervalBorder","hollowIntervalBorderOpacity","hollowIntervalActiveBorderColor","hollowIntervalActiveBorder","hollowIntervalActiveBorderOpacity","hollowIntervalSelectedBorderColor","hollowIntervalSelectedBorder","hollowIntervalSelectedBorderOpacity","hollowIntervalInactiveBorderColor","hollowIntervalInactiveBorder","hollowIntervalInactiveBorderOpacity","line","lineBorderColor","lineBorder","lineBorderOpacity","lineAppendWidth","lineCap","lineJoin","lineActiveBorder","lineSelectedBorder","lineInactiveBorderOpacity","axisStyles","title","position","axisTitleSpacing","axisTitleTextFillColor","axisTitleTextFontSize","lineHeight","axisTitleTextLineHeight","textBaseline","autoEllipsis","axisLabelOffset","axisLabelFillColor","axisLabelFontSize","axisLabelLineHeight","axisLineBorder","axisLineBorderColor","grid","axisGridBorderColor","axisGridBorder","lineDash","axisGridLineDash","alignTick","tickLine","axisTickLineBorder","axisTickLineBorderColor","axisTickLineLength","subTickLine","createAxisStyles","legendStyles","marker","symbol","legendMarkerSpacing","legendCircleMarkerSize","legendMarkerColor","itemName","legendItemNameFillColor","legendItemNameFontSize","legendItemNameLineHeight","fontWeight","legendItemNameFontWeight","textAlign","itemStates","nameStyle","opacity","unchecked","markerStyle","flipPage","pageNavigator","legendPageNavigatorMarkerSize","inactiveFill","legendPageNavigatorMarkerInactiveFillColor","inactiveOpacity","legendPageNavigatorMarkerInactiveFillOpacity","legendPageNavigatorMarkerFillColor","legendPageNavigatorMarkerFillOpacity","text","legendPageNavigatorTextFillColor","legendPageNavigatorTextFontSize","maxItemWidth","itemSpacing","legendItemSpacing","itemMarginBottom","legendItemMarginBottom","legendPadding","createLegendStyles","background","backgroundColor","defaultColor","brandColor","subColor","semanticRed","paletteSemanticRed","semanticGreen","paletteSemanticGreen","columnWidthRatio","maxColumnWidth","minColumnWidth","roseWidthRatio","multiplePieWidthRatio","colors10","paletteQualitative10","colors20","paletteQualitative20","sequenceColors","paletteSequence","shapes","sizes","rect","middleAngle","matrix","transform","tick","funnel","pyramid","dot","dash","hv","vh","hvh","vhv","polygon","circle","square","bowtie","diamond","hexagon","triangle","cross","plus","hyphen","schema","candle","edge","arc","violin","hollow","axis","common","verticalLimitLength","legend","layout","legendVerticalPadding","legendHorizontalPadding","continuous","track","rail","sliderRailHeight","defaultLength","sliderRailWidth","sliderRailFillColor","sliderRailBorderColor","sliderRailBorder","align","formatter","sliderLabelTextFillColor","sliderLabelTextFontSize","sliderLabelTextLineHeight","sliderHandlerWidth","sliderHandlerFillColor","sliderHandlerBorderColor","slidable","tooltip","showContent","follow","showCrosshairs","showMarkers","shared","enterable","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","crosshairs","tooltipCrosshairsBorderColor","tooltipCrosshairsBorder","textBackground","domStyles","CONTAINER_CLASS","visibility","zIndex","transition","tooltipContainerFillColor","tooltipContainerFillOpacity","boxShadow","tooltipContainerShadow","borderRadius","tooltipContainerBorderRadius","color","tooltipTextFillColor","tooltipTextFontSize","tooltipTextLineHeight","TITLE_CLASS","marginBottom","marginTop","LIST_CLASS","listStyleType","LIST_ITEM_CLASS","marginLeft","marginRight","MARKER_CLASS","display","VALUE_CLASS","float","annotationArcBorderColor","annotationArcBorder","annotationLineBorderColor","annotationLineDash","annotationLineBorder","annotationTextFillColor","annotationTextBorderColor","annotationTextBorder","annotationTextFontSize","annotationRegionBorder","annotationRegionBorderColor","annotationRegionFillColor","annotationRegionFillOpacity","image","dataMarker","annotationDataMarkerLineLength","autoAdjust","dataRegion","slider","backgroundStyle","cSliderBackgroundFillColor","cSliderBackgroundFillOpacity","foregroundStyle","cSliderForegroundFillColor","cSliderForegroundFillOpacity","handlerStyle","cSliderHandlerWidth","cSliderHandlerHeight","cSliderHandlerFillColor","cSliderHandlerFillOpacity","cSliderHandlerBorderColor","cSliderHandlerBorder","cSliderHandlerBorderRadius","highLightFill","cSliderHandlerHighlightFillColor","textStyle","cSliderTextFillColor","cSliderTextFillOpacity","cSliderTextFontSize","cSliderTextLineHeight","cSliderTextFontWeight","cSliderTextBorderColor","cSliderTextBorder","scrollbar","trackColor","scrollbarTrackFillColor","thumbColor","scrollbarThumbFillColor","hover","scrollbarThumbHighlightFillColor","labels","labelFillColor","labelFontSize","labelBorderColor","labelBorder","fillColorDark","labelFillColorDark","fillColorLight","labelFillColorLight","innerLabels","innerLabelFillColor","innerLabelFontSize","innerLabelBorderColor","innerLabelBorder","overflowLabels","overflowLabelFillColor","overflowLabelFontSize","overflowLabelBorderColor","overflowLabelBorder","pieLabels","labelHeight","labelLine","labelLineBorder","BLACK_COLORS","WHITE_COLORS","QUALITATIVE_10","QUALITATIVE_20","SINGLE_SEQUENCE","createLightStyleSheet","paletteSemanticYellow","axisLineDash","axisTitleTextFontWeight","axisSubTickLineBorderColor","axisSubTickLineLength","axisSubTickLineBorder","axisLabelFontWeight","legendTitleTextFillColor","legendTitleTextFontSize","legendTitleTextLineHeight","legendTitleTextFontWeight","legendMarkerSize","legendSquareMarkerSize","legendLineMarkerSize","sliderLabelTextFontWeight","sliderHandlerHeight","sliderHandlerBorder","annotationTextLineHeight","annotationTextFontWeight","tooltipCrosshairsLineDash","tooltipTextFontWeight","labelLineHeight","labelFontWeight","innerLabelLineHeight","innerLabelFontWeight","overflowLabelLineHeight","overflowLabelFontWeight","labelLineBorderColor","cSliderRailHieght","pointBorderOpacity","hollowPointActiveBorder","areaActiveFillColor","areaSelectedFillColor","hollowAreaActiveBorderColor","hollowAreaSelectedBorderColor","intervalActiveBorderOpacity","intervalSelectedBorderOpacity","createTheme","themeCfg","styleSheetCfg","themeObject","Themes","registerTheme","snapEqual","value1","translate","value2","filterYValue","yScale","getYScale","yValue","originData","getXDistance","isCategory","scaleValues","numericValue","getTooltipValueScale","attributes","attribute","GROUP_ATTRS","getAttributesForLegend","tmpScale","getScale","isLinear","xScale","getXScale","findDataByPoint","geometryType","xField","Infinity","last","xValue","rangeMax","rangeMin","getXValueByPoint","firstXValue","firstYValue","lastXValue","isYArray","firstIdx","lastIdx","middleIdx","floor","getTooltipItems","showNil","tooltipTitle","getAttribute","getFields","scales","titleField","titleScale","getText","getTooltipTitle","tooltipOption","items","addItem","itemValue","mappingData","callbackParams","itemCfg","valueScale","eachValue","join","getTooltipValue","nameScale","groupScales","getGroupScales","getTooltipName","getTooltipItemsByFindData","tooltipCfg","dataArray","sort","elementId","getElementId","elementsMap","visible","getTooltipItemsByHitShape","getShape","findItemsFromView","reversed","tooltipItems","includes","reverse","parsePadding","paddingArray","LOAD_COMPONENT_CONTROLLERS","registerComponentController","plugin","option","wrapperOption","hasAction","isTheta","props","C","transpose","execActions","adjust","resetMatrix","rotate","reflect","dim","sx","sy","getOption","includeActions","args","fromData","Event","originalEvent","defaultLayout","syncScales","createScale","finalScaleDef","cacheScaleMeta","getScaleMeta","cacheScale","cacheScaleDef","sync","scaleKeys","syncKey","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isContinuous","change","sm","newScale","syncScale","getSyncKey","removeFromSyncScales","scaleMeta","deleteScale","delete","instance","PaddingCal","inc","getPadding","calculatePadding","isAutoPadding","paddingCal","axisComponents","paddingComponents","otherComponents","COMPONENT_TYPE","AXIS","LEGEND","SLIDER","SCROLLBAR","GRID","TOOLTIP","bboxObject","getLayoutBBox","componentPadding","componentBBox","defaultSyncViewPadding","PC","syncPadding","autoPadding","controllers","interactions","limitInPlot","usedControllers","scalePool","layoutFunc","isPreMouseInPlot","isDataChanged","isCoordinateChanged","createdScaleKeys","onCanvasEvent","evt","createViewEvent","doPlotEvent","onDelegateEvents","canvas","backgroundGroup","middleGroup","foregroundGroup","syncViewPadding","setLayout","calculateViewBBox","initComponentController","initOptions","isUpdate","payload","VIEW_LIFE_CIRCLE","BEFORE_RENDER","paint","AFTER_RENDER","changeVisible","BEFORE_CLEAR","filteredData","coordinateInstance","labelsContainer","getRootView","AFTER_CLEAR","BEFORE_DESTROY","draw","console","warn","filters","legendOption","scaleOption","guide","coordinateCfg","coordinateController","facetInstance","Ctor","updateOptions","coordinateBBox","opt","View","existInteraction","interaciton","createInteraction","removeInteraction","BEFORE_CHANGE_DATA","AFTER_CHANGE_DATA","sharedOptions","legends","GROUP_Z_INDEX","removedView","getYScales","tmpMap","yScales","getScalesByDim","dimType","defaultKey","getScaleKey","getOriginalData","getGeometries","layer","BG","MID","getLegendAttributes","getXY","xScales","showTooltip","hideTooltip","lockTooltip","unlockTooltip","isTooltipLocked","getSnapRecords","dataLen","snapRecords","filterData","every","filterFieldData","adjustCoordinate","curStart","curEnd","bl","tr","renderDataRecursive","BEFORE_PAINT","renderPaddingRecursive","renderLayoutRecursive","renderBackgroundStyleShape","renderPaintRecursive","AFTER_PAINT","backgroundStyleRectShape","addShape","capture","toBack","initComponents","syncViewPaddingFn","doLayout","setClip","paintGeometries","renderComponents","currentScaleDef","mergedScaleDef","doFilterData","createCoordinate","initGeometries","renderFacet","controllerName","currentInPlot","newEvent","TYPE","PLOT_EVENTS","MOUSE_LEAVE","LEAVE","MOUSE_ENTER","ENTER","createOrUpdateScales","scaleDefs","getGeometryScales","adjustScales","getScaleFields","groupedFields","getGroupedFields","getGroupFields","adjustCategoryScaleRange","xyScales","scaleOptions","isIdentity","doAnimation","canvasRegion","events","geometryOption","createGeometry","interactionOption","viewOption","annotationComponent","annotationOption","eventCallback","rest","registerGeometry","pixelRatio","supportCSSTransform","wrapperElement","appendChild","Canvas","onResize","updateCanvasStyle","bindAutoFit","initDefaultInteractions","aria","ariaOption","BEFORE_CHANGE_SIZE","AFTER_CHANGE_SIZE","unbindAutoFit","verticalAlign","includeOption","show","hide","isLocked","isVisible","getTitle","dataPoint","getTooltipCfg","lastItems","lastTitle","tooltipMarkersGroup","renderTooltip","getItemsAfterProcess","renderTooltipMarkers","isCrosshairsFollowCursor","renderCrosshairs","xCrosshair","yCrosshair","setCapture","guideGroup","reset","tooltipCrosshairsGroup","snapItem","aItem","yDistance","uniqItems","subItem","isCursorEntered","getContainer","getBoundingClientRect","processOption","processCustomContent","defaultCfg","currentCustomContent","customContent","content","parentNode","getTooltipMarkersGroup","crosshairsType","renderXCrosshairs","renderYCrosshairs","getViewWithGeometry","getTooltipCrosshairsGroup","getCrosshairsText","Line","textCfg","firstItem","getGuideGroup","toFront","childView","originalItems","customItems","ANIMATIONS_MAP","getAnimation","registerAnimation","DEFAULT_ANIMATE_CFG","appear","duration","easing","enter","leave","GEOMETRY_ANIMATE_CFG","delay","GEOMETRY_GROUP_APPEAR_ANIMATION","getDefaultAnimateCfg","elementName","animateType","animateCfg","doAnimate","parsedAnimateCfg","repeat","parseAnimateConfig","animateFunction","toAttrs","shapeFactory","offscreenGroup","elementIndex","model","shapeType","getShapeType","drawShape","setShapeInfo","getOffscreenGroup","newShape","origin","syncShapeStyle","getAnimateCfg","labelShape","statesStyle","stateStatus","zIndexReversed","setZIndex","offscreenShape","eventObject","clearStates","labelBBox","getStatesStyle","stateOption","defaultShapeType","stateTheme","getStateStyle","shapeKey","stateCfg","shapeStyle","GEOMETRY_LIFE_CIRCLE","AFTER_DRAW_ANIMATE","BEFORE_DRAW_ANIMATE","GroupCtor","getGroupBase","isGroup","clip","newClip","children","newChildren","stopAnimate","GEOMETRY_LABELS_MAP","GEOMETRY_LABELS_LAYOUT_MAP","getGeometryLabel","registerGeometryLabel","getGeometryLabelLayout","registerGeometryLabelLayout","layoutFn","ShapeFactoryBase","getShapePoints","shapePoint","getPoints","getDefaultPoints","getDefaultStyle","geometryTheme","getMarker","markerCfg","ShapeBase","parsePath","parsedPath","convertNormalPath","parsePoint","parsePoints","ShapeFactoryMap","registerShapeFactory","factoryName","className","geomObj","registerShape","shapeObj","getShapeFactory","isModelChange","currentModel","preModel","parseFields","keyItem","added","updated","removed","keyIncluded","animateOption","attributeOption","lastElementsMap","generatePoints","beforeMappingData","adjusts","idFields","hasSorted","sortable","intervalPadding","dodgePadding","userTheme","positionCfg","createAttrOption","adjustCfg","adjustOption","styleFunc","styleOption","secondParam","thirdParam","labelOption","customInfo","customOption","setCfg","initAttributes","processData","adjustScale","lastAttributeOption","defaultSize","beforeMapping","mapping","updateElements","canDoGroupAnimation","yMinPoint","getYMinValue","minYPoint","doGroupAppearAnimate","renderLabels","geometryLabel","getGroupAttributes","getDefaultValue","attrName","getAttributeValues","getAdjust","adjustType","getShapeMarker","shapeName","xVal","yVal","dodgeAdjust","dodgeBy","attributeType","eachOpt","uniqMap","groupFields","attributeName","getXField","getYField","getShapes","mappingArray","obj1","obj2","updateStackRange","createShapePointsCfg","normalizeValues","y0","createElement","mappingDatum","shapeCfg","getDrawCfg","defaultStyle","getStyleCfg","nextPoints","mappingDataArray","keyDatum","keyIndex","finalKey","currentShapeCfg","preShapeCfg","getLabelType","coordinateType","labelType","attrCfg","attrType","AttributeCtor","categoryScales","groupedArray","groupData","beforeAdjust","subData","subLen","adjustData","xDimensionLength","groupNum","sizeAttr","adjustNames","dodgeRatio","reverseOrder","adjustInstance","process","appendConditions","groups","eachGroup","mergeArray","tmpMin","tmpMax","currentData","generateShapePoints","nextData","shapeAttr","newRecord","_origin","names","val","mappingRecord","rstX","rstY","xLen","yLen","labelsMap","labelsRenderer","shapesMap","labelId","filterLabelsById","labelChildren","getChildren","getMatrix","setMatrix","rotateRadian","getRotateMatrix","findLabelTextShape","getlLabelBackgroundInfo","labelGroup","labelItem","boxPadding","rotation","checkShapeOverlap","dones","lastShapesMap","createOffscreenGroup","renderLabel","renderLabelLine","renderLabelBackground","adjustLabel","currentAnimateCfg","currentShape","updateLabel","updateAnimateCfg","fromChild","toChild","getChildByIndex","removeChild","getCount","deleteShape","shapeAppendCfg","isShape","layouts","labelItems","labelLineCfg","labelContentShape","backgroundShape","labelShapes","findAll","offsetX","offsetY","avg","getLabelItems","mapppingArray","labelCfgs","getLabelCfgs","labelCfg","labelContent","total","subIndex","getLabelPoint","getLabelAlign","getLabelsRenderer","getGeometryShapes","getDefaultLabelCfg","getThemedLabelCfg","defaultLabelCfg","setLabelPosition","labelPointCfg","getLabelOffset","vector","getOffsetVector","getLabelOffsetPoint","factor","offsetPoint","getDimValue","isAvg","isFunnel","centroid","xs","ys","former","getPolygonCentroid","point1","point2","getLabelId","labelScales","callbackCfg","originText","getLabelText","originValues","labelTexts","subVal","actualOffset","applyMatrix","getMappingValue","restArgs","MarkerSymbols","diffX","diffY","STROKES_SYMBOLS","setMarkerSymbol","getLegendLayout","startsWith","getLegendItems","themeMarker","userMarker","getTicks","scaleValue","isInPolar","adpatorMarkerStyle","getLegendThemeCfg","legendTheme","isValueEmpty","isNaN","isYNil","getPathPoints","connectNulls","showSinglePoint","filtered","getViolinPath","getSmoothViolinPath","half","leftPoints","rightPoints","leftPath","rightPath","getStyle","isStroke","isFill","sizeName","getBackgroundRectStyle","splitPoints","eachY","LineSymbols","getLineMarker","getSinglePath","getPath","isStack","topPoints","bottomPoints","topPath","bottomPath","getRangePath","shapeAttrs","eachLinePoints","getShapeAttrs","VERSION","Util","zoom","applyToMatrix","antvDark","legendSpacing","overflowLabelFillColorDark","overflowLabelFillColorLight","createDarkStyleSheet","keyData","getShapeInfo","getPointsAndData","registeredShape","pointsData","parsedPoints","pathPoints","eachPoints","getConstraint","pointInfo","yItem","startOnZero","paletteCache","prepareRange","prepareSize","prepareGreyScaleBlurredCircle","drawWithRange","clearShadowCanvasCtx","colorField","row","getDefaultSize","blur","grayScaleBlurredCanvas","getGrayScaleBlurredCanvas","r2","ctx","getContext","clearRect","beginPath","closePath","valueField","getShadowCanvasCtx","alpha","drawGrayScaleBlurredCircle","colored","getImageData","colorize","putImageData","imageShape","getImageShape","ticks","shadowCanvas","globalAlpha","drawImage","img","colorAttr","pixels","palette","rgb2arr","gradient","getRectPoints","yMin","yMax","xMin","xMax","getRectPath","isClosed","firstPoint","parseRadius","minLength","r1","r3","r4","getBackgroundRectPath","p0","getFunnelPath","isPyramid","group","backgroundCfg","backgroundPath","p3","getRectWithCornerRadius","coor","ry","getIntervalRectPath","xValues","sourceArr","findMinDistance","normalizedSize","wr","dodgeCount","mergeData","getDodgeCount","normalizedMaxColumnWidth","normalizedMinColumnWidth","SHAPES","drawPoints","pointPosition","subX","subY","temp","xOffset","yOffset","sizeArr","maxValue","normalizeSize","_size","isMin","isMax","_sizeField","sizeField","getCPath","getQPath","getArcShapePath","arc1","arc2","getArcShapeWeightPath","c1","c2","getSmoothPath","getVHVPath","newStyle","getTickPoints","getInterpolateShapeAttrs","interpolatePoints","interpolatePoint","nextX","nextY","middleX","middleY","interpolateCallback","getInterpolatePoints","getInterpolatePath","parseValue","min1","max1","median","getBoxPoints","pointsArray","halfSize","getCandleYValues","sorted","targetLength","padValue","padEnd","sourceLength","getCandlePoints","yValues","getRectAttrs","getLabelValueDir","dir","isReflect","point0","nextP0","nextP1","HALF_PI","percent","labelEmit","arcPoint","isToMiddle","getMiddlePoint","getArcPoint","getPointAngle","isLabelEmit","labelPositionCfg","getCirclePoint","getLabelRotate","labelAngle","asin","isLabelLimit","startPoint","endPoint","plotRange","overlapping","startY","endY","totalHeight","MIN_VALUE","boxes","targets","pos","previousBox","posInCompositeBox","bitmap","xGap","yGap","hasGap","round","fillGap","adjustLabelPosition","getAxes","rotateAtPoint","deg","getProjection","scalars","isProjectionOverlap","projection1","projection2","isValidNumber","isValidBox","isIntersect","isIntersectRect","rect1Points","rect2Points","shouldInShape","textShape","textBBox","shouldInShapeSingle","hasSome","compare","some","leftText","rightText","doScaleAnimate","endMatrix","direct","scaledMatrix","transformShape","arcPath","getArcStartPoint","getArcInfo","arcPaths","command","firstArcPathCommand","lastArcPathCommand","firstIndex","lastIndex","firstStartPoint","lastStartPoint","firstStartAngle","firstEndAngle","lastStartAngle","lastEndAngle","doShapeZoom","getFactTitleConfig","getAnglePoint","renderTitle","avgAngle","facetR","middle","facetData","columnValue","columnField","columnIndex","columnValuesLength","rowValue","rowField","rowIndex","rowValuesLength","config","colValues","getPageCount","getRowCol","col","pageSize","columnTitle","rowTitle","facetIndex","columnValues","rowValues","afterChartRender","drawLines","rootFacet","getRows","getChildFacets","setRegion","forceColIndex","xWidth","yWidth","leafs","isLeaf","getFacetsByLevel","originColIndex","getRegionIndex","level","addFacetLines","subFacet","subRegion","middle1","middle2","drawLine","getMedian","getNormalizedValue","scaled","ANNOTATIONS_AFTER_RENDER","foregroundContainer","backgroundContainer","onAfterRender","updateOrCreate","getCacheKey","syncCache","updateCache","clearComponents","doWhat","createAnnotation","getAnnotationTheme","getAnnotationCfg","isTop","NONE","ANNOTATION","extra","regionFilter","html","parsePosition","xPos","yPos","parsePercentPosition","getRegionPoints","startIndex","viewData","startXValue","endXValue","xPercent","yPercent","topLeft","getCoordinateBBox","sp","ep","src","textContent","lineLength","elem","restOptions","getComponentContainer","newCache","getGridThemeCfg","getLineGridItems","tickValue","reduce","preTick","currentTick","currentIndex","currentValue","middleValue","getCircleGridItems","preValue","showGrid","userGrid","themeGrid","OMIT_CFG","AXIS_DEFAULT_ANIMATE_CFG","gridContainer","gridForeContainer","axisContainer","axisForeContainer","updatedCache","updateXAxes","updateYAxes","xAxisOption","axisId","getId","gridId","getLineAxisCfg","createLineAxis","getLineGridCfg","createLineGrid","RADIUS","getCircleAxisCfg","createCircleAxis","getCircleGridCfg","CIRCLE","createCircleGrid","yAxisOption","titleText","axisThemeCfg","optionWithTitle","verticalFactor","isAxisVertical","canvasWidth","canvasHeight","gridThemeCfg","gridCfg","verticalScale","directionToPosition","parentBBox","tl","br","getLegendOption","getDirection","layoutBBox","maxWidthRatio","maxHeightRatio","maxSize","getCategoryLegendSizeCfg","maxWidth","maxHeight","x1","y1","x2","y2","setLocation","existCo","getComponentById","customCfg","getCategoryCfg","createCustomLegend","loopLegends","getContinuousCfg","createFieldLegend","doEach","looped","createContinuousLegend","createCategoryLegend","containMin","containMax","attrValue","attrLegendCfg","colors","mergeLegendCfg","custom","themePageNavigator","userPageNavigator","itemMarker","getCustomLegendItems","baseCfg","categoryCfg","vw","onChangeFn","resetMeasure","onValueChange","changeViewData","getSliderCfg","updateSlider","createSlider","measureSlider","setTimeout","paddingTop","paddingLeft","getMinMaxText","minText","maxText","trendCfg","getThemeOptions","dataSize","xTickCount","minIndex","maxIndex","getValidScrollbarCfg","originalAnimate","getScrollRange","trackLen","thumbLen","updateScrollbar","createScrollbar","measureScrollbar","getScrollbarComponentCfg","isHorizontal","thumbOffset","cnt","xScaleCfg","yScalesCfg","setValue","getValue","getScrollbarTheme","thumbHighlightColor","restStyles","getScrollbarData","getStep","getCnt","startIdx","endIdx","realConfig","categorySize","paddingRight","paddingBottom","DEFAULT_REGION_PATH_STYLE","getItemsOfView","findItemsFromViewRecurisive","ev","appendRatio","appendWidth","firstElement","lastElement","innterRadius","regionPath","timeStamp","lastTimeStamp","Date","preLoc","location","curLoc","siblingPoint","tipContent","tooltipStyles","setElementState","enable","setStateEnable","clearViewState","getItem","ignoreListItemStates","isItemIgnore","list","setStateByComponent","setElementsStateByItem","setStateByElement","isMathItem","toggle","getColorScale","getLinkPath","nextElement","nextBBox","addLinkShape","activeStyle","linkByElement","getElementsByField","linkGroup","nextEl","removeLink","link","unlink","isStarted","effectSiblings","effectByRecord","setSiblingsState","allElements","setSiblingsStateByRecord","setElementsState","effectElements","clearHighlight","setHighlightBy","EVENTS","ELEMENT_STATE","INACTIVE","ACTIVE","setElementHighlight","activeElements","highlight","highlightElements","BEFORE_HIGHLIGHT","AFTER_HIGHLIGHT","ignoreItemStates","getTriggerListInfo","info","getAllowComponents","allowSetStateByElement","clearAllComponentsState","clearItemsState","componentNames","allowSetStateByItem","ignoreStates","setItemsState","setItemState","getItems","triggerInfo","activeItems","getItemsByState","setCheckedBy","checked","starting","moving","preMovePoint","emitEvent","createMask","maskAttrs","getMaskAttrs","draggable","updateMask","maskStyle","moveStart","move","currentPoint","moveEnd","resize","clampPoint","inPlot","normalStart","normalEnd","addPoint","getSpline","setCursor","cursor","pointer","crosshair","help","eResize","wResize","nResize","sResize","neResize","nwResize","seResize","swResize","nsResize","ewResize","filterView","unCheckedItems","getFilter","minValue","dims","hasDim","BEFORE_FILTER","normalCurrent","reRender","FILTER","AFTER_FILTER","BEFORE_RESET","RESET","AFTER_RESET","byRecord","filterByRecord","filterByBBox","maskElements","buttonGroup","buttonCfg","getButtonCfg","drawButton","buttonShape","resetPosition","dragStart","drag","isMoving","startMatrix","cfgFields","cacheScaleDefs","resetDim","startCache","noramlCurrent","translateDim","translateLinear","zoomRatio","zoomIn","zoomDim","zoomOut","dRatio","zoomLinear","toMin","toMax","scroll","wheelDelta","scrollbarController","currentRatio","nextStart","deltaY","isWheelDown","correction","nextRatio","greedy","Greedy","canFill","maxLabelsCountForOneSide","isRight","rPow2","dyPow2","antiCollision","innerPoint","itemX","itemY","maxTimes","dxdy","maxDelta","param","nt","times","accessedCache","spiralFill","label1","label2","regionMinX","regionMinY","regionMaxX","regionMaxY","finalX","finalY","textBox","labelOffset","separateLabels","totalR","labelsContainerRange","invisible","dxPow2","dx_offset","smoothConnector","atan","sweepFlag","breakPoint","breakPoint3","xSign","slope1","slope2","E","drawLabelline","overflow","fillWhite","moveInShape","filteredLabels","pages","filterLabel","todo","groupedLabels","addCurrentGroup","curItems","sortedCollections","sortedLabels","sortLabels","downFail","inRight","inflectionPoint","totalOffset","seperateLabels","halfHeight","originalPos","clipShape","pathCommands","curStartAngle","curEndAngle","preStartAngle","preEndAngle","diffStartAngle","diffEndAngle","onFrameStartAngle","onFrameEndAngle","getTotalLength","lineDashOffset","quadratic","extremas","rx","segments","TABLE","dom","modifyCSS","seriesField","meta","AXIS_META_CONFIG_KEYS","annotationOptions","annotationController","isObject","isNil","pattern","EPSILON","ARRAY_TYPE","Float32Array","RANDOM","random","hypot","out","glMatrix","fromMat4","copy","fromValues","m00","m01","m02","m10","m11","m12","m20","m21","m22","identity","a01","a02","a12","a00","a10","a11","a20","a21","a22","b01","b11","b21","det","adjoint","determinant","multiply","b00","b02","b10","b12","b20","b22","rad","fromTranslation","fromRotation","fromScaling","fromMat2d","fromQuat","w","z2","xx","yx","yy","zx","zy","zz","wx","wy","wz","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","projection","frob","subtract","multiplyScalar","multiplyScalarAndAdd","exactEquals","equals","a0","a1","a2","a3","a4","a5","a6","a7","a8","b0","b1","b2","b3","b4","b5","b6","b7","b8","mul","arrowShape","decasteljau","middlePoints","recurse","leftSegments","cmd","targetLen","diffMatrix","_getSegmentPoints","segment","fromPath","_a","quadToCubic","pathArray","u","hasAttribute","getMappingField","shapeField","styleField","rawFields","mappingFields","tileMappingField","getMappingFunction","tooltipFields","isString","isFunction","isNumber","isEmpty","ext","defaultFields","token","word","literal","shorten","sLen","newArr","substr","monthUpdate","arrName","i18n","origObj","dayNames","monthNames","monthNamesShort","defaultI18n","dayNamesShort","amPm","DoFn","dayOfMonth","globalI18n","setGlobalDateI18n","regexEscape","replace","pad","formatFlags","D","dateObj","getDate","DD","Do","getDay","dd","ddd","dddd","M","getMonth","MM","MMM","MMMM","YY","getFullYear","YYYY","h","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","S","getMilliseconds","SS","SSS","A","toUpperCase","ZZ","getTimezoneOffset","Z","monthParse","emptyDigits","emptyWord","timezoneOffset","parts","match","minutes","parseInt","parseFlags","cent","globalMasks","shortDate","mediumDate","longDate","fullDate","isoDate","isoDateTime","shortTime","mediumTime","longTime","setGlobalDateMasks","masks","format","mask","getTime","literals","$0","$1","combinedI18nSettings","parse","dateStr","dateInfo","year","month","day","hour","minute","second","millisecond","isPm","parseInfo","newFormat","specifiedFields","requiredFields","regex","requiredField","matches","RegExp","parser","dateWithoutTZ","validateFields","UTC","hi","appendPercent","prettyNumber","registerTickMethod","lastValue","tickInterval","Marker","onAttrChange","_super","cx","cy","Text","normalPadding","isArray","append","currentAppendPadding","PADDING","paddings","normalPaddings","finalPadding","patternOption","colorAttribute","seriesValue","CanvasPattern","getCanvasPattern","measure","groupField","as","sumMap","groupValue","percentage","asField","isPercent","FUNNEL_PERCENT","FUNNEL_MAPPING_VALUE","FUNNEL_CONVERSATION","FUNNEL_TOTAL_PERCENT","PLOYGON_X","PLOYGON_Y","DEFAULT_OPTIONS","minSize","conversionTag","locationType","updateAutoRender","Group","createDom","afterAttrsChange","getDefaultAttrs","triangleDown","createPath","Polyline","divide","ceil","scaleAndAdd","squaredDistance","squaredLength","negate","inverse","normalize","lerp","ax","ay","transformMat2","transformMat2d","transformMat3","transformMat4","sinC","cosC","mag","cosine","acos","zero","vec","div","sqrDist","sqrLen","stride","BrowserInfo","version","os","NodeInfo","platform","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOT_OS_REGEX","userAgentRules","operatingSystemRules","detect","userAgent","parseUserAgent","navigator","product","matchUserAgent","ua","matched","browser","uaMatch","exec","matchedRule","versionParts","output","ii","createVersionParts","detectOS","searchBotMatch","isNumberArray","ArrayBuffer","isView","DataView","linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","exponent","polyOut","polyInOut","pi","halfPi","sinIn","sinOut","sinInOut","tpmt","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","bounceIn","bounceOut","bounceInOut","backIn","overshoot","backOut","backInOut","tau","elasticIn","amplitude","period","elasticOut","elasticInOut","defaultOptions","columnStyle","percentData","getDeepPercent","getDataWhetherPecentage","chartData","stackedItem","tooltipOptions","toFixed","widthRatio","percentYMeta","minLimit","maxLimit","adjustYMetaByZero","isRange","findGeometry","columnTooltip","isMatch","isBar","brushInteraction","connectedArea","X_FIELD","Y_FIELD","DEFAULT_TOOLTIP_OPTIONS","containerTpl","itemTpl","ID_FIELD","PATH_FIELD","blendMode","NODE_INDEX_FIELD","CHILD_NODE_COUNT","NODE_ANCESTORS_FIELD","defaultField","INVALID_FIELD_ERR_MSG","nodes","node","ancestors","depth","eachNode","LocaleMap","locale","localeObj","GLOBAL","numberData","gtZero","ltZero","sourceField","targetField","weightField","links","nodesMap","nodesIndex","weight","rawData","WARN","areaStyle","pointOptions","lineOptions","pointState","seriesData","getTinyData","primary","pointParams","PADDING_TOP","BREAD_CRUMB_NAME","DEFAULT_BREAD_CRUMB_CONFIG","dividerText","activeTextStyle","HIERARCHY_DATA_TRANSFORM_PARAMS","historyCache","breadCrumbGroup","breadCrumbCfg","click","drill","drawBreadCrumb","back","backTo","hideCrumbGroup","nodeInfo","transformData","drillData","nodeData","drillDownConfig","breadCrumb","drawBreadCrumbGroup","rootText","textShapeBox","targetId","newHistoryCache","dividerBox","Action","DrillDownAction","RANGE_VALUE","RANGE_TYPE","PERCENT","DEFAULT_COLOR","INDICATEOR_VIEW_ID","RANGE_VIEW_ID","indicator","pin","statistic","tickCount","Base","az","bx","by","bz","hermite","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","zScale","transformQuat","qx","qy","qz","qw","uvx","uvy","uvz","uuvx","uuvy","uuvz","w2","rotateX","rotateY","rotateZ","offScreenCtx","getOffScreenContext","Container","Element","lineStyle","lineShape","pointMapping","areaMapping","areaParams","lineGeometry","getPixelRatio","devicePixelRatio","fillStyle","fillRect","isStagger","unitSize","dpr","radian","AxisType","DualAxesGeometry","isColumn","Column","transformAttribute","axisType","Left","DEFAULT_LEFT_YAXIS_CONFIG","Right","DEFAULT_RIGHT_YAXIS_CONFIG","progressStyle","barWidthRatio","getProgressData","clampPercent","clamp","BOX_RANGE","BOX_RANGE_ALIAS","BOX_SYNC_NAME","OUTLIERS_VIEW_ID","boxStyle","TREND_FIELD","TREND_UP","TREND_DOWN","defaultContent","risingFill","fallingFill","maxYFieldValue","maxBy","getLineCoordinate","lineOption","SUNBURST_ANCESTOR_FIELD","SUNBURST_Y_FIELD","SUNBURST_PATH_FIELD","RAW_FIELDS","hierarchyConfig","sunburstStyle","drilldown","enabled","isParentNode","inCenter","showEnable","DIFF_FIELD","ABSOLUTE_FIELD","IS_TOTAL","leaderLine","waterfallStyle","COLOR_FIELD","NODES_VIEW_ID","EDGES_VIEW_ID","Mix","defaultSeparation","meanXReduce","maxYReduce","separation","nodeSize","cluster","previousNode","eachAfter","meanX","leafLeft","leafRight","x0","hierarchy","mapChildren","objectChildren","childs","Node","eachBefore","computeHeight","copyData","that","ancestor","aNodes","bNodes","leastCommonAncestor","descendants","leaves","node_iterator","circles","shuffle","B","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","x21","y21","r21","x3","y3","c3","d2","d3","ab","xa","xb","ya","yb","place","intersects","score","previous","packEnclose","aa","ca","sj","sk","enclose","optional","required","constantZero","defaultRadius","radiusLeaf","packChildren","translateChild","constant","partition","treemapDice","positionNode","roundNode","preroot","ambiguous","defaultId","defaultParentId","parentId","stratify","nodeId","nodeKey","nodeByKey","nextLeft","nextRight","moveSubtree","wm","wp","nextAncestor","vim","TreeNode","tree","treeRoot","firstWalk","secondWalk","sizeNode","tx","kx","ky","executeShifts","midpoint","vip","vop","vom","sip","sop","sim","som","apportion","phi","squarifyRatio","nodeValue","sumValue","newRatio","minRatio","beta","i0","i1","dice","treemapSlice","squarify","tile","paddingStack","paddingInner","treemap","paddingOuter","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","resquarify","_squarify","require","AbstractShape","BRAND","getMessage","argIndex","isType","isPlainObject","isObjectLike","proto","getPrototypeOf","deep","maxLevel","adapteStyle","styleObject","justifyContent","alignItems","shapeStyleKeys","setStatisticContainerStyle","plotType","titleOpt","contentOpt","containerW","liquidShape","customHtml","polarCoord","polarCenter","polarRadius","polarMaxY","containerWidth","timer","_len","_key","clearTimeout","SensorTabIndex","SensorClassName","SizeSensorId","createDotPattern","createLinePattern","createSquarePattern","getTooltipMapping","Area","lineMapping","lineParams","areaGeometry","prev","BRUSH_TYPES","brush","getInteractionCfg","buttonConfig","button","isPointInView","interactionType","brushType","maskType","processing","rollback","ButtonAction","switchedFieldOptions","Bar","verticalAxis","horizontalAxis","barStyle","minBarWidth","maxBarWidth","barBackground","columnBackground","prevOptions","angleField","prevData","processIllegalData","curData","isAllZero","pieAnnotation","Pie","pieStyle","dataum","angleScale","labelLayoutType","inner","outer","spider","labelLayoutCfg","adaptOffset","transformStatisticOptions","getLocale","dataValue","getTotalValue","metaFormatter","PIE_STATISTIC","stage","defaultOffset","endsWith","StatisticAction","PieLegendAction","ORIGIN_MATRIX","ulMatrix","getSize","containerSize","resolvePadding","getFontSizeMapping","getSingleKeyValues","getRotate","rotationSteps","wordStyle","resolveRotate","perSize","numbers","rawOptions","chartPadding","imageMask","wordField","timeInterval","spiral","placementStrategy","words","hasText","functor","wordCloud","res","rej","HTMLImageElement","Image","crossOrigin","onload","onerror","ERROR","WORD_CLOUD_COLOR_FIELD","rotateRatio","BRUSH_FILTER_EVENTS","transformOptions","Scatter","isOneX","isOneY","curr","getMeta","pointStyle","newOptions","shapeLegend","sizeLegend","showLegend","scatterGeometry","scatterAnnotation","quadrant","xBaseline","yBaseline","getQuadrantDefaultConfig","regionStyle","labelStyle","regressionLine","LEFT_AXES_VIEW","RIGHT_AXES_VIEW","DEFAULT_YAXIS_CONFIG","TinyLine","TinyColumn","TinyArea","binField","binNumber","binWidth","stackField","binHistogram","Histogram","getBinKey","originData_copy","sortBy","valuesOfKey","getRange","rangeWidth","_binWidth","_defaultBinNumber","LN2","sturges","bins","groupBy","bin","binKey","hasKey","groupKey","groupKeyBinKey","plotData","HISTOGRAM_X_FIELD","HISTOGRAM_Y_FIELD","Progress","RingProgress","newData","toBoxValue","low","high","q1","quantile","q3","minMax","toViolinValue","pdfOptions","pdfResults","violinSize","violinY","transformViolinData","kde","sampleSize","resultList","seriesGroup","series","VIOLIN_Y_FIELD","VIOLIN_SIZE_FIELD","MIN_MAX_FIELD","QUANTILE_FIELD","MEDIAN_FIELD","VIOLIN_VIEW_ID","MIN_MAX_VIEW_ID","QUANTILE_VIEW_ID","MEDIAN_VIEW_ID","violinStyle","zeros","ret","norm2","weightedSum","w1","wolfeLineSearch","pk","phi0","fx","phiPrime0","fxprime","phi_old","phiPrime","a_lo","a_high","phi_lo","iteration","bisect","parameters","maxIterations","fA","fB","delta","fMid","nelderMead","maxDiff","nonZeroDelta","zeroDelta","minErrorDelta","minTolerance","rho","chi","psi","sigma","N","simplex","updateSimplex","sortOrder","reflected","contracted","expanded","history","sortedSimplex","worst","shouldReduce","conjugateGradient","initial","delta_k","gradientDescent","learnRate","gradientDescentLineSearch","functionCalls","zerosM","containedInCircles","circleArea","circleCircleIntersection","stats","intersectionPoints","intersect","parentIndex","getIntersectionPoints","innerPoints","arcArea","polygonArea","arcs","midPoint","angleDiff","smallest","disjoint","open","close","Funnel","CONVERSATION_FIELD","PERCENT_FIELD","TOTAL_PERCENT_FIELD","compareField","funnelStyle","defaultOption","conversionTagFormatter","dynamicHeight","facetFunnel","compareFunnel","dynamicHeightFunnel","basicFunnel","formatData","conversionTagComponent","datumIndex","initLineOption","measureField","rangeField","ds","rKey","mKey","tKey","flat","ignoreParentValue","getTileMethod","d3Hierarchy","getField","tileMethod","prop","getAllNodes","indicatorView","getIndicatorData","rangeView","getRangeData","Gauge","gaugeStyle","meter","indicatorData","rangeData","rangeColor","contentOption","transformContent","other","processRangeData","newYField","isUndefined","dIdx","FIRST_AXES_VIEW","SECOND_AXES_VIEW","SERIES_FIELD_KEY","hopeData","data1","data2","__axisPosition","findInteraction","enableInteraction","drillDownInteraction","enableDrillDown","curPath","ancestorNode","getNodeWidthRatio","nodeWidth","nodeWidthRatio","getNodePaddingRatio","nodePadding","nodePaddingRatio","sankeyLayoutInputData","dataType","nodeAlign","nodeSort","nodeDepth","isNodeLink","transformDataToNodeLinkData","cutoffCircle","sankeyLayout","isNode","edges","targetDepth","sourceLinks","targetLinks","minBy","NODE_COLOR_FIELD","EDGE_COLOR_FIELD","nodeStyle","edgeStyle","PLOT_ADAPTORS","pie","column","bar","gauge","progress","scatter","histogram","PLOT_CONSTRUCTOR","DEFAULT_OPTIONS_MAP","plot","cls","register","hasAdjusted","elapsed","cPathPoint","cProps","Timeline","relativeShape","_emitEvent","EventController","closed","navigationBBox","maxLabel","getShapeBase","genericArray","nb","na","numberArray","extend","definition","Color","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","trim","rgbn","Rgb","rgba","hsla","NaN","rgbConvert","rgb_formatHex","hex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","m1","m2","basis","t1","v0","v3","t2","t3","channels","displayable","formatHsl","brighter","darker","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","setTime","reA","reB","am","bm","bs","bi","number","one","string","date","valueOf","G2","registerLocale","EN_US_LOCALE","ZH_CN_LOCALE","setGlobal","Rose","WordCloud","Radar","DualAxes","Heatmap","Box","Violin","Venn","Stock","FUNNEL_CONVERSATION_FIELD","Liquid","Bullet","Sunburst","Waterfall","RadialBar","BidirectionalBar","Treemap","Sankey","Chord","CirclePacking","Facet","adaptors","Lab","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","runClearTimeout","Item","noop","nextTick","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","flows","getComputedStyle","clientWidth","clientHeight","getAllElements","labelOptions","points2Path","smoothBezier","vec2","memoize","fontStyle","fontVariant","getCanvasContext","measureText","general","increase","decrease","waterfall","ver","_sensorPool","cb","sensor","getSensor","removeSensor","_id","_sensors","_constant","Sensors","sensorId","newId","createSensor","_object","_resizeObserver","ResizeObserver","_debounce","resizeListener","listener","contentDocument","defaultView","pointerEvents","newSensor","disconnect","observe","drawDot","strokeStyle","defaultDotPatternCfg","dotCfg","getUnitPatternSize","dots","getSymbolsPosition","initCanvas","drawBackground","createPattern","transformMatrix","setTransform","Path2D","defaultLinePatternCfg","lineCfg","drawSquare","strokeRect","defaultSquarePatternCfg","squareCfg","squares","stepType","deepMix","marginRatio","otherAdaptor","MarkerActiveAction","getView","InteractionAction","getConversionTagOptionsWithDefaults","horizontal","arrow","headSize","renderTag","elemPrev","elemNext","pointPrev","pointNext","totalWidth","renderArrowTag","textWidth","cWidth","cEnd","textAdjusted","renderTextTag","disabled","INTERACTION_MAP","getStartStages","disable","BUTTON_ACTION_CONFIG","buttonStyle","drawText","getActiveElements","getActiveElementLabels","transfrom","elementLabels","getAnnotations","_view","getInitialAnnotation","initialAnnotation","initialStatistic","sectorStyle","processImageMask","catch","cloudFont","cloudFontSize","cloudFontNormal","cloudRotate","cloudPadding","archimedeanSpiral","cloudText","cloudCanvas","cloud","board","tag","bounds","startX","dt","cloudCollide","sprite","sw","lx","msx","contextAndRatio","zeroArray","tags","now","cloudSprite","hasImage","cloudBounds","_tags","_bounds","can","w32","cxt","imageData","spirals","tagCloud","cloudRadians","di","maxh","save","sr","cr","wcr","wsr","hcr","hsr","cw","fillText","strokeText","restore","xoff","yoff","seen","seenRow","archimedean","rectangular","sign","getTextAttrs","REGRESSION_MAP","exp","regressionExp","regressionLinear","loess","regressionLoess","regressionLog","poly","regressionPoly","regressionPow","quad","regressionQuad","pathData","algorithm","reg","xScaleView","yScaleView","xFieldValue","yFieldValue","xIsPositiveNumber","yIsPositiveNumber","getMetaMinMax","fieldMeta","getCustomValue","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","err","_iterableToArrayLimit","_nonIterableRest","isFinite","xv","yv","X","Float64Array","Y","ux","uy","visitPoints","iterations","determination","uY","predict","SSE","SST","sse","sst","interpose","xmin","xmax","LOG10E","precision","px","iter","found","mp","ols","uX","uXY","uX2","slope","domain","YL","XY","XYL","X2Y","ly","xy","_ols2","rSquared","X2","intercept","bandwidth","_points2","bw","yhat","residuals","robustWeights","W","denom","tricube","xkw","updateInterval","medianResidual","_w","logarithmic","lb","X3","X4","n0","X2X2","polynomial","order","coefficients","_o","lhs","rhs","coef","gaussianElimination","uncenter","power","YS","areaOptions","RadarTooltipAction","cfgTitle","hintItems","displayTitle","TooltipController","RadarTooltipController","getTooltipController","geometryOptions","allLine","transformObjectToArray","getGeometryOption","createViews","SORT_MAP","drawSingleGeometry","themeColor","groupScale","leftView","rightView","getYAxisWithDefault","leftItems","getViewLegendItems","rightItems","isGeometry","viewId","yF","originValue","doSliderFilter","isBoolean","isLine","legendItemName","attrItems","FIELD_KEY","customOffset","sliderValue","sizeRatio","heatmapStyle","checkedSizeRatio","dautm","maxRadius","maxSideLength","sideLength","outliersView","yFieldName","outliersPoint","outliersField","outliersStyle","outliersViewData","baseMeta","syncName","TOOLTIP_FIELDS","violinView","boxView","minMaxView","quantileView","medianView","legendOptions","LN_2","self","helper","kernel","getUnifiedMinMax","getUnifiedMinMaxMulti","arrMulti","relaxMin","relaxMax","findMinMulti","findMaxMulti","normalizedMinMax","buckets","partialArea","partialAreas","accumulator","generatePartialAreas","fullArea","initalValue","bucket","xToBucket","leftBlockCount","rightBlockCount","spilledAreaLeft","spilledAreaRight","startGradPos","inside","gradAccumulator","getExpectedValueFromPdf","pdf","expected","getXWithLeftTailArea","getPerplexity","entropy","ln","findMin","findMax","quantileSorted","swap","quickselect","sd","quantileSelect","quantileIndex","indices","stack","multiQuantileSelect","results","colorMap","colorPalette","setsField","getColorMap","tempPadding","getAdjustAppendPadding","LEGEND_SPACE","resolveAllPadding","currSets","sets","filterSets","islegalSets","vennData","layoutVennData","colorOptions","transformColor","customLabelInfo","vennInteraction","colorPaletteLen","colorArr","blend","JSON","stringify","solution","venn","scaleSolution","textCenters","computeTextCentres","setCircles","intersectionAreaPath","legalArr","testArr","blendObject","normal","screen","overlay","darken","lighten","dodge","burn","colorToArr","rgbaArr","toRGB","innerBlend","c0","blendRgbArr","r0","g0","g1","areas","setid","initialLayout","bestInitialLayout","loss","lossFunction","ids","pairs","addMissingAreas","setids","positions","distanceFromIntersectArea","overlap","circleOverlap","getDistanceMatrices","distances","constraints","greedyLayout","constrained","constrainedMDSLayout","restarts","matrices","norm","best","xi","yi","xj","yj","dij","constrainedMDSGradient","setOverlaps","rowid","mostOverlapped","positioned","isPositioned","positionSet","setIndex","extraPoints","bestLoss","bestPoint","localLoss","overlaps","intersectionArea","orientateCircles","orientation","orientationOrder","largestX","largestY","disjointCluster","maxDistance","xRoot","yRoot","disjointClusters","getBoundingBox","xRange","yRange","clusters","returnBounds","addCluster","centreing","xScaling","yScaling","scaling","circleMargin","interior","exterior","computeTextCentre","valid","areaStats","circlePath","overlapped","circleids","circleid","getOverlappingCircles","areaids","exclude","centre","tokens","wide","parsePathString","fillAttrs","getFillAttrs","GeometryLabel","VennLabel","VennElementActive","VennElementHighlight","VennElementSelected","VennElementSingleSelected","syncElementsPos","placeElementsOrdered","ElementSelectedAction","ElementSingleSelectedAction","getStockData","stockStyle","formatterData","defaultFacetLabel","viewIndex","preItemX","preItemY","getLiquidData","liquidStyle","outline","wave","border","getWaterWavePositions","waveLength","getWaterWavePath","waterLevel","phase","curves","_phase","waveRight","theta","cpX","cpY","radio","waveCount","minXPoint","halfWidth","waveAttrs","outlineAttrs","mix","getLineAttrs","builtInShapeByName","shapePath","waves","clipPath","addWaterWave","bulletStyle","extData","rangeGeometry","measureGeometry","targetGeometry","pathFormatter","valueFormatter","adaptorInteraction","activeDepth","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","unwrapped","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","mark","awrap","async","skipTempReset","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","webpackPolyfill","deprecate","paths","STEP","STEP_RATIO","COORD_START_ANGLE","COORD_END_ANGLE","GAP","INTERVAL","START_ANGLE","END_ANGLE","localeTotalLabel","colorMapping","Y_FIELD_META","labelMode","rectPath","leaderLineCfg","linkPath","maxAngle","actualData","getStackedData","getScaleMax","intervalGeometry","yData","formatRadian","stackedData","valueItem","firstViewData","secondViewData","firstView","secondView","aliasMap","metaKey","leftGeometry","rightGeometry","leftLabelCfg","transData","resetDrillDown","rectStyle","enableDrillInteraction","viewZoomInteraction","preventDefault","edgeState","isLast","transformToViewsData","nodesView","edgesView","nodeState","edgeView","nodeView","nodeDraggable","ALIGN_METHOD","justify","getNodeAlignFunction","sankeyLayoutOptions","layoutData","sankey","extent","sankeyProcessor","ascendingSourceBreadth","ascendingBreadth","ascendingTargetBreadth","defaultNodes","graph","defaultLinks","nodeById","computeLinkBreadths","py","linkSort","computeNodeLinks","fixedValue","sumBy","computeNodeValues","maxDepth","maxValueBy","computeNodeDepths","computeNodeHeights","columns","computeNodeLayers","minValueBy","reorderLinks","initializeNodeBreadths","relaxRightToLeft","relaxLeftToRight","computeNodeBreadths","targetTop","reorderNodeLinks","resolveCollisions","sourceTop","subject","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","getNodes","graphMatrix","removedData","visited","DFS","dfsNode","SankeyNodeDragAction","isDragging","isNodeElement","getNodeView","getEdgeView","getCurrentDatumIdx","currentElementIdx","prevNodeAnimateCfg","prevEdgeAnimateCfg","prevDatum","nextDatum","edgeData","chordLayoutInputData","chordLayout","nodesData","edgesData","chordData","nodeGeometry","edgeGeometry","edgeOptions","getAllGeometriesRecursively","sourceWeight","targetWeight","chordLayoutOptions","forIn","inEdges","outEdges","frequency","processGraph","localeCompare","sortNodes","deltaX","layoutNodes","sId","tId","sNode","tNode","sValue","currentSValue","sStart","sEnd","tValue","currentTValue","tStart","tEnd","locatingEdges","diameter","tempAppendPadding","appendPaddingByDrilldown","resolvePaddingForCircle","finalSize","circleSize","nameFormatter","wSize","hSize","restWidthPadding","restHeightPadding","packLayout","multiView","viewOfG2","multiPlot","plots","execPlotAdaptor","getAssociationItems","linkField","Association","facetAdaptor","facetType","restFacetCfg","viewOptions","execViewAdaptor","plotOptions","Stage","notice","DEV","BETA","STABLE","taskHead","taskTail","frame","clockLast","clockNow","clockSkew","clock","performance","setFrame","clearNow","Timer","_call","_time","_next","time","restart","wake","timerFlush","t0","sleep","nap","poke","clearInterval","setInterval"],"mappings":"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","file":"g2plot.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"G2Plot\"] = factory();\n\telse\n\t\troot[\"G2Plot\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 207);\n","var isArrayLike = function (value) {\n /**\n * isArrayLike([1, 2, 3]) => true\n * isArrayLike(document.body.children) => true\n * isArrayLike('abc') => true\n * isArrayLike(Function) => false\n */\n return value !== null && typeof value !== 'function' && isFinite(value.length);\n};\nexport default isArrayLike;\n//# sourceMappingURL=is-array-like.js.map","import isArrayLike from './is-array-like';\nvar contains = function (arr, value) {\n if (!isArrayLike(arr)) {\n return false;\n }\n return arr.indexOf(value) > -1;\n};\nexport default contains;\n//# sourceMappingURL=contains.js.map","import isArrayLike from './is-array-like';\nvar filter = function (arr, func) {\n if (!isArrayLike(arr)) {\n return arr;\n }\n var result = [];\n for (var index = 0; index < arr.length; index++) {\n var value = arr[index];\n if (func(value, index)) {\n result.push(value);\n }\n }\n return result;\n};\nexport default filter;\n//# sourceMappingURL=filter.js.map","import filter from './filter';\nimport contains from './contains';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to inspect.\n * @param {Array} values The values to exclude.\n * @return {Array} Returns the new array of filtered values.\n * @example\n * difference([2, 1], [2, 3]); // => [1]\n */\nvar difference = function (arr, values) {\n if (values === void 0) { values = []; }\n return filter(arr, function (value) { return !contains(values, value); });\n};\nexport default difference;\n//# sourceMappingURL=difference.js.map","var toString = {}.toString;\nvar isType = function (value, type) { return toString.call(value) === '[object ' + type + ']'; };\nexport default isType;\n//# sourceMappingURL=is-type.js.map","/**\n * 是否为函数\n * @param {*} fn 对象\n * @return {Boolean} 是否函数\n */\nimport isType from './is-type';\nexport default (function (value) {\n return isType(value, 'Function');\n});\n//# sourceMappingURL=is-function.js.map","// isFinite,\nvar isNil = function (value) {\n /**\n * isNil(null) => true\n * isNil() => true\n */\n return value === null || value === undefined;\n};\nexport default isNil;\n//# sourceMappingURL=is-nil.js.map","import isType from './is-type';\nexport default (function (value) {\n return Array.isArray ?\n Array.isArray(value) :\n isType(value, 'Array');\n});\n//# sourceMappingURL=is-array.js.map","export default (function (value) {\n /**\n * isObject({}) => true\n * isObject([1, 2, 3]) => true\n * isObject(Function) => true\n * isObject(null) => false\n */\n var type = typeof value;\n return value !== null && type === 'object' || type === 'function';\n});\n//# sourceMappingURL=is-object.js.map","import isArray from './is-array';\nimport isObject from './is-object';\nfunction each(elements, func) {\n if (!elements) {\n return;\n }\n var rst;\n if (isArray(elements)) {\n for (var i = 0, len = elements.length; i < len; i++) {\n rst = func(elements[i], i);\n if (rst === false) {\n break;\n }\n }\n }\n else if (isObject(elements)) {\n for (var k in elements) {\n if (elements.hasOwnProperty(k)) {\n rst = func(elements[k], k);\n if (rst === false) {\n break;\n }\n }\n }\n }\n}\nexport default each;\n//# sourceMappingURL=each.js.map","import each from './each';\nimport isFunction from './is-function';\nvar keys = Object.keys ? function (obj) { return Object.keys(obj); } : function (obj) {\n var result = [];\n each(obj, function (value, key) {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(key);\n }\n });\n return result;\n};\nexport default keys;\n//# sourceMappingURL=keys.js.map","import isNil from './is-nil';\nimport keys from './keys';\nfunction isMatch(obj, attrs) {\n var _keys = keys(attrs);\n var length = _keys.length;\n if (isNil(obj))\n return !length;\n for (var i = 0; i < length; i += 1) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) {\n return false;\n }\n }\n return true;\n}\nexport default isMatch;\n//# sourceMappingURL=is-match.js.map","var isObjectLike = function (value) {\n /**\n * isObjectLike({}) => true\n * isObjectLike([1, 2, 3]) => true\n * isObjectLike(Function) => false\n * isObjectLike(null) => false\n */\n return typeof value === 'object' && value !== null;\n};\nexport default isObjectLike;\n//# sourceMappingURL=is-object-like.js.map","import isObjectLike from './is-object-like';\nimport isType from './is-type';\nvar isPlainObject = function (value) {\n /**\n * isObjectLike(new Foo) => false\n * isObjectLike([1, 2, 3]) => false\n * isObjectLike({ x: 0, y: 0 }) => true\n * isObjectLike(Object.create(null)) => true\n */\n if (!isObjectLike(value) || !isType(value, 'Object')) {\n return false;\n }\n if (Object.getPrototypeOf(value) === null) {\n return true;\n }\n var proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n};\nexport default isPlainObject;\n//# sourceMappingURL=is-plain-object.js.map","import isFunction from './is-function';\nimport isMatch from './is-match';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nfunction find(arr, predicate) {\n if (!isArray(arr))\n return null;\n var _predicate;\n if (isFunction(predicate)) {\n _predicate = predicate;\n }\n if (isPlainObject(predicate)) {\n _predicate = function (a) { return isMatch(a, predicate); };\n }\n if (_predicate) {\n for (var i = 0; i < arr.length; i += 1) {\n if (_predicate(arr[i])) {\n return arr[i];\n }\n }\n }\n return null;\n}\nexport default find;\n//# sourceMappingURL=find.js.map","function findIndex(arr, predicate, fromIndex) {\n if (fromIndex === void 0) { fromIndex = 0; }\n for (var i = fromIndex; i < arr.length; i++) {\n if (predicate(arr[i], i)) {\n // 找到终止循环\n return i;\n }\n }\n return -1;\n}\nexport default findIndex;\n//# sourceMappingURL=find-index.js.map","import isNil from './is-nil';\nimport isArray from './is-array';\nvar firstValue = function (data, name) {\n var rst = null;\n for (var i = 0; i < data.length; i++) {\n var obj = data[i];\n var value = obj[name];\n if (!isNil(value)) {\n if (isArray(value)) {\n rst = value[0]; // todo 这里是否应该使用递归,调用 firstValue @绝云\n }\n else {\n rst = value;\n }\n break;\n }\n }\n return rst;\n};\nexport default firstValue;\n//# sourceMappingURL=first-value.js.map","import isArray from './is-array';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5]\n */\nvar flatten = function (arr) {\n if (!isArray(arr)) {\n return [];\n }\n var rst = [];\n for (var i = 0; i < arr.length; i++) {\n rst = rst.concat(arr[i]);\n }\n return rst;\n};\nexport default flatten;\n//# sourceMappingURL=flatten.js.map","import isArray from './is-array';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @param {Array} result The array to return.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flattenDeep([1, [2, [3, [4]], 5]]); // => [1, 2, 3, 4, 5]\n */\nvar flattenDeep = function (arr, result) {\n if (result === void 0) { result = []; }\n if (!isArray(arr)) {\n result.push(arr);\n }\n else {\n for (var i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], result);\n }\n }\n return result;\n};\nexport default flattenDeep;\n//# sourceMappingURL=flatten-deep.js.map","import isArray from './is-array';\n/**\n * @param {Array} arr The array to iterate over.\n * @return {*} Returns the maximum value.\n * @example\n *\n * max([1, 2]);\n * // => 2\n *\n * max([]);\n * // => undefined\n *\n * const data = new Array(1250010).fill(1).map((d,idx) => idx);\n *\n * max(data);\n * // => 1250010\n * // Math.max(...data) will encounter \"Maximum call stack size exceeded\" error\n */\nexport default (function (arr) {\n if (!isArray(arr)) {\n return undefined;\n }\n return arr.reduce(function (prev, curr) {\n return Math.max(prev, curr);\n }, arr[0]);\n});\n//# sourceMappingURL=max.js.map","import isArray from './is-array';\n/**\n * @param {Array} arr The array to iterate over.\n * @return {*} Returns the minimum value.\n * @example\n *\n * min([1, 2]);\n * // => 1\n *\n * min([]);\n * // => undefined\n *\n * const data = new Array(1250010).fill(1).map((d,idx) => idx);\n *\n * min(data);\n * // => 1250010\n * // Math.min(...data) will encounter \"Maximum call stack size exceeded\" error\n */\nexport default (function (arr) {\n if (!isArray(arr)) {\n return undefined;\n }\n return arr.reduce(function (prev, curr) {\n return Math.min(prev, curr);\n }, arr[0]);\n});\n//# sourceMappingURL=min.js.map","import isArray from './is-array';\nimport { default as getMax } from './max';\nimport { default as getMin } from './min';\nvar getRange = function (values) {\n // 存在 NaN 时,min,max 判定会出问题\n var filterValues = values.filter(function (v) { return !isNaN(v); });\n if (!filterValues.length) {\n // 如果没有数值则直接返回0\n return {\n min: 0,\n max: 0,\n };\n }\n if (isArray(values[0])) {\n var tmp = [];\n for (var i = 0; i < values.length; i++) {\n tmp = tmp.concat(values[i]);\n }\n filterValues = tmp;\n }\n var max = getMax(filterValues);\n var min = getMin(filterValues);\n return {\n min: min,\n max: max,\n };\n};\nexport default getRange;\n//# sourceMappingURL=get-range.js.map","var arrPrototype = Array.prototype;\nvar splice = arrPrototype.splice;\nvar indexOf = arrPrototype.indexOf;\nvar pull = function (arr) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var fromIndex = -1;\n while ((fromIndex = indexOf.call(arr, value)) > -1) {\n splice.call(arr, fromIndex, 1);\n }\n }\n return arr;\n};\nexport default pull;\n//# sourceMappingURL=pull.js.map","import isArrayLike from './is-array-like';\nvar splice = Array.prototype.splice;\nvar pullAt = function pullAt(arr, indexes) {\n if (!isArrayLike(arr)) {\n return [];\n }\n var length = arr ? indexes.length : 0;\n var last = length - 1;\n while (length--) {\n var previous = void 0;\n var index = indexes[length];\n if (length === last || index !== previous) {\n previous = index;\n splice.call(arr, index, 1);\n }\n }\n return arr;\n};\nexport default pullAt;\n//# sourceMappingURL=pull-at.js.map","import each from './each';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nvar reduce = function (arr, fn, init) {\n if (!isArray(arr) && !isPlainObject(arr)) {\n return arr;\n }\n var result = init;\n each(arr, function (data, i) {\n result = fn(result, data, i);\n });\n return result;\n};\nexport default reduce;\n//# sourceMappingURL=reduce.js.map","import isArrayLike from './is-array-like';\nimport pullAt from './pull-at';\nvar remove = function (arr, predicate) {\n /**\n * const arr = [1, 2, 3, 4]\n * const evens = remove(arr, n => n % 2 == 0)\n * console.log(arr) // => [1, 3]\n * console.log(evens) // => [2, 4]\n */\n var result = [];\n if (!isArrayLike(arr)) {\n return result;\n }\n var i = -1;\n var indexes = [];\n var length = arr.length;\n while (++i < length) {\n var value = arr[i];\n if (predicate(value, i, arr)) {\n result.push(value);\n indexes.push(i);\n }\n }\n pullAt(arr, indexes);\n return result;\n};\nexport default remove;\n//# sourceMappingURL=remove.js.map","import isType from './is-type';\nexport default (function (str) {\n return isType(str, 'String');\n});\n//# sourceMappingURL=is-string.js.map","import isArray from './is-array';\nimport isString from './is-string';\nimport isFunction from './is-function';\nfunction sortBy(arr, key) {\n var comparer;\n if (isFunction(key)) {\n comparer = function (a, b) { return key(a) - key(b); };\n }\n else {\n var keys_1 = [];\n if (isString(key)) {\n keys_1.push(key);\n }\n else if (isArray(key)) {\n keys_1 = key;\n }\n comparer = function (a, b) {\n for (var i = 0; i < keys_1.length; i += 1) {\n var prop = keys_1[i];\n if (a[prop] > b[prop]) {\n return 1;\n }\n if (a[prop] < b[prop]) {\n return -1;\n }\n }\n return 0;\n };\n }\n arr.sort(comparer);\n return arr;\n}\nexport default sortBy;\n//# sourceMappingURL=sort-by.js.map","export default function uniq(arr, cache) {\n if (cache === void 0) { cache = new Map(); }\n var r = [];\n if (Array.isArray(arr)) {\n for (var i = 0, len = arr.length; i < len; i++) {\n var item = arr[i];\n // 加一个 cache,提升性能\n if (!cache.has(item)) {\n r.push(item);\n cache.set(item, true);\n }\n }\n }\n return r;\n}\n//# sourceMappingURL=uniq.js.map","import uniq from './uniq';\nvar union = function () {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return uniq([].concat.apply([], sources));\n};\nexport default union;\n//# sourceMappingURL=union.js.map","import isArray from './is-array';\nimport isNil from './is-nil';\nexport default (function (data, name) {\n var rst = [];\n var tmpMap = {};\n for (var i = 0; i < data.length; i++) {\n var obj = data[i];\n var value = obj[name];\n if (!isNil(value)) {\n // flatten\n if (!isArray(value)) {\n value = [value];\n }\n for (var j = 0; j < value.length; j++) {\n var val = value[j];\n // unique\n if (!tmpMap[val]) {\n rst.push(val);\n tmpMap[val] = true;\n }\n }\n }\n }\n return rst;\n});\n//# sourceMappingURL=values-of-key.js.map","import isArrayLike from './is-array-like';\nexport default function head(o) {\n if (isArrayLike(o)) {\n return o[0];\n }\n return undefined;\n}\n//# sourceMappingURL=head.js.map","import isArrayLike from './is-array-like';\nexport default function last(o) {\n if (isArrayLike(o)) {\n var arr = o;\n return arr[arr.length - 1];\n }\n return undefined;\n}\n//# sourceMappingURL=last.js.map","import isArray from './is-array';\nimport isString from './is-string';\nfunction startsWith(arr, e) {\n return (isArray(arr) || isString(arr)) ? arr[0] === e : false;\n}\nexport default startsWith;\n//# sourceMappingURL=starts-with.js.map","import isArray from './is-array';\nimport isString from './is-string';\nfunction endsWith(arr, e) {\n return (isArray(arr) || isString(arr)) ? arr[arr.length - 1] === e : false;\n}\nexport default endsWith;\n//# sourceMappingURL=ends-with.js.map","/**\n * 只要有一个不满足条件就返回 false\n * @param arr\n * @param func\n */\nvar every = function (arr, func) {\n for (var i = 0; i < arr.length; i++) {\n if (!func(arr[i], i))\n return false;\n }\n return true;\n};\nexport default every;\n//# sourceMappingURL=every.js.map","/**\n * 只要有一个满足条件就返回 true\n * @param arr\n * @param func\n */\nvar some = function (arr, func) {\n for (var i = 0; i < arr.length; i++) {\n if (func(arr[i], i))\n return true;\n }\n return false;\n};\nexport default some;\n//# sourceMappingURL=some.js.map","import isArray from './is-array';\nimport isFunction from './is-function';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction groupBy(data, condition) {\n if (!condition || !isArray(data)) {\n return {};\n }\n var result = {};\n // 兼容方法和 字符串的写法\n var predicate = isFunction(condition) ? condition : function (item) { return item[condition]; };\n var key;\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n key = predicate(item);\n if (hasOwnProperty.call(result, key)) {\n result[key].push(item);\n }\n else {\n result[key] = [item];\n }\n }\n return result;\n}\nexport default groupBy;\n//# sourceMappingURL=group-by.js.map","import isArray from './is-array';\nimport isFunction from './is-function';\nimport groupBy from './group-by';\n/**\n * 将数据分组成 map\n * @param data\n * @param condition\n */\nexport default function groupToMap(data, condition) {\n if (!condition) {\n return {\n 0: data,\n };\n }\n if (!isFunction(condition)) {\n // 如果是字符串,则按照 a*b 风格成数组\n var paramscondition_1 = isArray(condition) ? condition : condition.replace(/\\s+/g, '').split('*');\n condition = function (row) {\n var unique = '_'; // 避免出现数字作为Key的情况,会进行按照数字的排序\n // 根据字段列表的值,拼接成 key\n for (var i = 0, l = paramscondition_1.length; i < l; i++) {\n unique += row[paramscondition_1[i]] && row[paramscondition_1[i]].toString();\n }\n return unique;\n };\n }\n return groupBy(data, condition);\n}\n//# sourceMappingURL=group-to-map.js.map","import { __extends } from \"tslib\";\nimport { AbstractGroup } from '@antv/g-base';\nimport { each } from '@antv/util';\nimport * as Shape from './shape';\nimport { drawChildren, refreshElement } from './util/draw';\nimport { setClip, setTransform } from './util/svg';\nimport { SVG_ATTR_MAP } from './constant';\nimport { createSVGElement } from './util/dom';\nvar Group = /** @class */ (function (_super) {\n __extends(Group, _super);\n function Group() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // SVG 中分组对应实体标签 \n Group.prototype.isEntityGroup = function () {\n return true;\n };\n Group.prototype.createDom = function () {\n var element = createSVGElement('g');\n this.set('el', element);\n var parent = this.getParent();\n if (parent) {\n var parentNode = parent.get('el');\n if (parentNode) {\n parentNode.appendChild(element);\n }\n else {\n // parentNode maybe null for group\n parentNode = parent.createDom();\n parent.set('el', parentNode);\n parentNode.appendChild(element);\n }\n }\n return element;\n };\n // 覆盖基类的 afterAttrsChange 方法\n Group.prototype.afterAttrsChange = function (targetAttrs) {\n _super.prototype.afterAttrsChange.call(this, targetAttrs);\n var canvas = this.get('canvas');\n // 只有挂载到画布下,才对元素进行实际渲染\n if (canvas && canvas.get('autoDraw')) {\n var context = canvas.get('context');\n this.createPath(context, targetAttrs);\n }\n };\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n Group.prototype.onCanvasChange = function (changeType) {\n refreshElement(this, changeType);\n };\n Group.prototype.getShapeBase = function () {\n return Shape;\n };\n Group.prototype.getGroupBase = function () {\n return Group;\n };\n Group.prototype.draw = function (context) {\n var children = this.getChildren();\n var el = this.get('el');\n if (this.get('destroyed')) {\n if (el) {\n el.parentNode.removeChild(el);\n }\n }\n else {\n if (!el) {\n this.createDom();\n }\n setClip(this, context);\n this.createPath(context);\n if (children.length) {\n drawChildren(context, children);\n }\n }\n };\n /**\n * 绘制分组的路径\n * @param {Defs} context 上下文\n * @param {ShapeAttrs} targetAttrs 渲染的目标属性\n */\n Group.prototype.createPath = function (context, targetAttrs) {\n var attrs = this.attr();\n var el = this.get('el');\n each(targetAttrs || attrs, function (value, attr) {\n if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n setTransform(this);\n };\n return Group;\n}(AbstractGroup));\nexport default Group;\n//# sourceMappingURL=group.js.map","/**\n * 获取封装的事件\n * @protected\n * @param {Object} obj 对象\n * @param {String} action 事件名称\n * @return {Function} 返回事件处理函数\n */\nfunction getWrapBehavior(obj, action) {\n return obj['_wrap_' + action];\n}\nexport default getWrapBehavior;\n//# sourceMappingURL=get-wrap-behavior.js.map","/**\n * 封装事件,便于使用上下文this,和便于解除事件时使用\n * @protected\n * @param {Object} obj 对象\n * @param {String} action 事件名称\n * @return {Function} 返回事件处理函数\n */\nfunction wrapBehavior(obj, action) {\n if (obj['_wrap_' + action]) {\n return obj['_wrap_' + action];\n }\n var method = function (e) {\n obj[action](e);\n };\n obj['_wrap_' + action] = method;\n return method;\n}\nexport default wrapBehavior;\n//# sourceMappingURL=wrap-behavior.js.map","var numColorCache = {};\nfunction numberToColor(num) {\n // 增加缓存\n var color = numColorCache[num];\n if (!color) {\n var str = num.toString(16);\n for (var i = str.length; i < 6; i++) {\n str = '0' + str;\n }\n color = '#' + str;\n numColorCache[num] = color;\n }\n return color;\n}\nexport default numberToColor;\n//# sourceMappingURL=number2color.js.map","import isArray from './is-array';\nfunction parseRadius(radius) {\n var r1 = 0, r2 = 0, r3 = 0, r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n }\n else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n }\n else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n }\n else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n }\n else {\n r1 = r2 = r3 = r4 = radius;\n }\n return {\n r1: r1,\n r2: r2,\n r3: r3,\n r4: r4\n };\n}\nexport default parseRadius;\n//# sourceMappingURL=parse-radius.js.map","var clamp = function (a, min, max) {\n if (a < min) {\n return min;\n }\n else if (a > max) {\n return max;\n }\n return a;\n};\nexport default clamp;\n//# sourceMappingURL=clamp.js.map","var fixedBase = function (v, base) {\n var str = base.toString();\n var index = str.indexOf('.');\n if (index === -1) {\n return Math.round(v);\n }\n var length = str.substr(index + 1).length;\n if (length > 20) {\n length = 20;\n }\n return parseFloat(v.toFixed(length));\n};\nexport default fixedBase;\n//# sourceMappingURL=fixed-base.js.map","/**\n * 判断是否数字\n * @return {Boolean} 是否数字\n */\nimport isType from './is-type';\nvar isNumber = function (value) {\n return isType(value, 'Number');\n};\nexport default isNumber;\n//# sourceMappingURL=is-number.js.map","import isNumber from './is-number';\nvar isDecimal = function (num) {\n return isNumber(num) && num % 1 !== 0;\n};\nexport default isDecimal;\n//# sourceMappingURL=is-decimal.js.map","import isNumber from './is-number';\nvar isEven = function (num) {\n return isNumber(num) && num % 2 === 0;\n};\nexport default isEven;\n//# sourceMappingURL=is-even.js.map","import isNumber from './is-number';\nvar isInteger = Number.isInteger ? Number.isInteger : function (num) {\n return isNumber(num) && num % 1 === 0;\n};\nexport default isInteger;\n//# sourceMappingURL=is-integer.js.map","import isNumber from './is-number';\nvar isNegative = function (num) {\n return isNumber(num) && num < 0;\n};\nexport default isNegative;\n//# sourceMappingURL=is-negative.js.map","var PRECISION = 0.00001; // numbers less than this is considered as 0\nexport default function isNumberEqual(a, b, precision) {\n if (precision === void 0) { precision = PRECISION; }\n return Math.abs((a - b)) < precision;\n}\n;\n//# sourceMappingURL=is-number-equal.js.map","import isNumber from './is-number';\nvar isOdd = function (num) {\n return isNumber(num) && num % 2 !== 0;\n};\nexport default isOdd;\n//# sourceMappingURL=is-odd.js.map","import isNumber from './is-number';\nvar isPositive = function (num) {\n return isNumber(num) && num > 0;\n};\nexport default isPositive;\n//# sourceMappingURL=is-positive.js.map","import isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nexport default (function (arr, fn) {\n if (!isArray(arr)) {\n return undefined;\n }\n var maxItem;\n var max = -Infinity;\n for (var i = 0; i < arr.length; i++) {\n var item = arr[i];\n var v = isFunction(fn) ? fn(item) : item[fn];\n if (v > max) {\n maxItem = item;\n max = v;\n }\n }\n return maxItem;\n});\n//# sourceMappingURL=max-by.js.map","import isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nexport default (function (arr, fn) {\n if (!isArray(arr)) {\n return undefined;\n }\n var minItem;\n var min = Infinity;\n for (var i = 0; i < arr.length; i++) {\n var item = arr[i];\n var v = isFunction(fn) ? fn(item) : item[fn];\n if (v < min) {\n minItem = item;\n min = v;\n }\n }\n return minItem;\n});\n//# sourceMappingURL=min-by.js.map","var mod = function (n, m) {\n return ((n % m) + m) % m;\n};\nexport default mod;\n//# sourceMappingURL=mod.js.map","var DEGREE = 180 / Math.PI;\nvar toDegree = function (radian) {\n return DEGREE * radian;\n};\nexport default toDegree;\n//# sourceMappingURL=to-degree.js.map","export default parseInt;\n//# sourceMappingURL=to-integer.js.map","var RADIAN = Math.PI / 180;\nvar toRadian = function (degree) {\n return RADIAN * degree;\n};\nexport default toRadian;\n//# sourceMappingURL=to-radian.js.map","import each from './each';\nexport default each;\n//# sourceMappingURL=for-in.js.map","export default (function (obj, key) { return obj.hasOwnProperty(key); });\n//# sourceMappingURL=has.js.map","import has from './has';\nexport default has;\n//# sourceMappingURL=has-key.js.map","import each from './each';\nimport isFunction from './is-function';\n// @ts-ignore\nvar values = Object.values ? function (obj) { return Object.values(obj); } : function (obj) {\n var result = [];\n each(obj, function (value, key) {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(value);\n }\n });\n return result;\n};\nexport default values;\n//# sourceMappingURL=values.js.map","import contains from './contains';\nimport values from './values';\nexport default (function (obj, value) { return contains(values(obj), value); });\n//# sourceMappingURL=has-value.js.map","import isNil from './is-nil';\nexport default (function (value) {\n if (isNil(value))\n return '';\n return value.toString();\n});\n//# sourceMappingURL=to-string.js.map","import toString from './to-string';\nvar lowerCase = function (str) {\n return toString(str).toLowerCase();\n};\nexport default lowerCase;\n//# sourceMappingURL=lower-case.js.map","import toString from './to-string';\nvar lowerFirst = function (value) {\n var str = toString(value);\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\nexport default lowerFirst;\n//# sourceMappingURL=lower-first.js.map","function substitute(str, o) {\n if (!str || !o) {\n return str;\n }\n return str.replace(/\\\\?\\{([^{}]+)\\}/g, function (match, name) {\n if (match.charAt(0) === '\\\\') {\n return match.slice(1);\n }\n return (o[name] === undefined) ? '' : o[name];\n });\n}\nexport default substitute;\n//# sourceMappingURL=substitute.js.map","import toString from './to-string';\nvar upperCase = function (str) {\n return toString(str).toUpperCase();\n};\nexport default upperCase;\n//# sourceMappingURL=upper-case.js.map","import toString from './to-string';\nvar upperFirst = function (value) {\n var str = toString(value);\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\nexport default upperFirst;\n//# sourceMappingURL=upper-first.js.map","var toString = {}.toString;\nvar getType = function (value) {\n return toString.call(value).replace(/^\\[object /, '').replace(/]$/, '');\n};\nexport default getType;\n//# sourceMappingURL=get-type.js.map","/**\n * 是否是参数类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\nvar isArguments = function (value) {\n return isType(value, 'Arguments');\n};\nexport default isArguments;\n//# sourceMappingURL=is-arguments.js.map","/**\n * 是否是布尔类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\nvar isBoolean = function (value) {\n return isType(value, 'Boolean');\n};\nexport default isBoolean;\n//# sourceMappingURL=is-boolean.js.map","import isType from './is-type';\nvar isDate = function (value) {\n return isType(value, 'Date');\n};\nexport default isDate;\n//# sourceMappingURL=is-date.js.map","/**\n * 是否是参数类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\nvar isError = function (value) {\n return isType(value, 'Error');\n};\nexport default isError;\n//# sourceMappingURL=is-error.js.map","/**\n * 判断是否为有限数\n * @return {Boolean}\n */\nimport isNumber from './is-number';\nexport default function (value) {\n return isNumber(value) && isFinite(value);\n}\n//# sourceMappingURL=is-finite.js.map","var isNull = function (value) {\n return value === null;\n};\nexport default isNull;\n//# sourceMappingURL=is-null.js.map","var objectProto = Object.prototype;\nvar isPrototype = function (value) {\n var Ctor = value && value.constructor;\n var proto = (typeof Ctor === 'function' && Ctor.prototype) || objectProto;\n return value === proto;\n};\nexport default isPrototype;\n//# sourceMappingURL=is-prototype.js.map","import isType from './is-type';\nvar isRegExp = function (str) {\n return isType(str, 'RegExp');\n};\nexport default isRegExp;\n//# sourceMappingURL=is-reg-exp.js.map","var isUndefined = function (value) {\n return value === undefined;\n};\nexport default isUndefined;\n//# sourceMappingURL=is-undefined.js.map","/**\n * 判断是否HTML元素\n * @return {Boolean} 是否HTML元素\n */\nvar isElement = function (o) {\n return o instanceof Element || o instanceof HTMLDocument;\n};\nexport default isElement;\n//# sourceMappingURL=is-element.js.map","export default function requestAnimationFrame(fn) {\n var method = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n // @ts-ignore\n window.mozRequestAnimationFrame ||\n // @ts-ignore\n window.msRequestAnimationFrame ||\n function (f) {\n return setTimeout(f, 16);\n };\n return method(fn);\n}\n;\n//# sourceMappingURL=request-animation-frame.js.map","export default function cancelAnimationFrame(handler) {\n var method = window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n // @ts-ignore\n window.mozCancelAnimationFrame ||\n // @ts-ignore\n window.msCancelAnimationFrame ||\n clearTimeout;\n method(handler);\n}\n;\n//# sourceMappingURL=clear-animation-frame.js.map","// FIXME: Mutable param should be forbidden in static lang.\nfunction _mix(dist, obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && key !== 'constructor' && obj[key] !== undefined) {\n dist[key] = obj[key];\n }\n }\n}\nexport default function mix(dist, src1, src2, src3) {\n if (src1)\n _mix(dist, src1);\n if (src2)\n _mix(dist, src2);\n if (src3)\n _mix(dist, src3);\n return dist;\n}\n//# sourceMappingURL=mix.js.map","import mix from './mix';\nimport isFunction from './is-function';\nvar augment = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var c = args[0];\n for (var i = 1; i < args.length; i++) {\n var obj = args[i];\n if (isFunction(obj)) {\n obj = obj.prototype;\n }\n mix(c.prototype, obj);\n }\n};\nexport default augment;\n//# sourceMappingURL=augment.js.map","import isArray from './is-array';\nvar clone = function (obj) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n var rst;\n if (isArray(obj)) {\n rst = [];\n for (var i = 0, l = obj.length; i < l; i++) {\n if (typeof obj[i] === 'object' && obj[i] != null) {\n rst[i] = clone(obj[i]);\n }\n else {\n rst[i] = obj[i];\n }\n }\n }\n else {\n rst = {};\n for (var k in obj) {\n if (typeof obj[k] === 'object' && obj[k] != null) {\n rst[k] = clone(obj[k]);\n }\n else {\n rst[k] = obj[k];\n }\n }\n }\n return rst;\n};\nexport default clone;\n//# sourceMappingURL=clone.js.map","function debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\nexport default debounce;\n//# sourceMappingURL=debounce.js.map","import isFunction from './is-function';\n/**\n * _.memoize(calColor);\n * _.memoize(calColor, (...args) => args[0]);\n * @param f\n * @param resolver\n */\nexport default (function (f, resolver) {\n if (!isFunction(f)) {\n throw new TypeError('Expected a function');\n }\n var memoized = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // 使用方法构造 key,如果不存在 resolver,则直接取第一个参数作为 key\n var key = resolver ? resolver.apply(this, args) : args[0];\n var cache = memoized.cache;\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = f.apply(this, args);\n // 缓存起来\n cache.set(key, result);\n return result;\n };\n memoized.cache = new Map();\n return memoized;\n});\n//# sourceMappingURL=memoize.js.map","import isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nvar MAX_MIX_LEVEL = 5;\nfunction _deepMix(dist, src, level, maxLevel) {\n level = level || 0;\n maxLevel = maxLevel || MAX_MIX_LEVEL;\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n var value = src[key];\n if (value !== null && isPlainObject(value)) {\n if (!isPlainObject(dist[key])) {\n dist[key] = {};\n }\n if (level < maxLevel) {\n _deepMix(dist[key], value, level + 1, maxLevel);\n }\n else {\n dist[key] = src[key];\n }\n }\n else if (isArray(value)) {\n dist[key] = [];\n dist[key] = dist[key].concat(value);\n }\n else if (value !== undefined) {\n dist[key] = value;\n }\n }\n }\n}\n// todo 重写\nvar deepMix = function (rst) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n for (var i = 0; i < args.length; i += 1) {\n _deepMix(rst, args[i]);\n }\n return rst;\n};\nexport default deepMix;\n//# sourceMappingURL=deep-mix.js.map","import mix from './mix';\nimport isFunction from './is-function';\nvar extend = function (subclass, superclass, overrides, staticOverrides) {\n // 如果只提供父类构造函数,则自动生成子类构造函数\n if (!isFunction(superclass)) {\n overrides = superclass;\n superclass = subclass;\n subclass = function () { };\n }\n var create = Object.create ?\n function (proto, c) {\n return Object.create(proto, {\n constructor: {\n value: c\n }\n });\n } :\n function (proto, c) {\n function Tmp() { }\n Tmp.prototype = proto;\n var o = new Tmp();\n o.constructor = c;\n return o;\n };\n var superObj = create(superclass.prototype, subclass); // new superclass(),//实例化父类作为子类的prototype\n subclass.prototype = mix(superObj, subclass.prototype); // 指定子类的prototype\n subclass.superclass = create(superclass.prototype, superclass);\n mix(superObj, overrides);\n mix(subclass, staticOverrides);\n return subclass;\n};\nexport default extend;\n//# sourceMappingURL=extend.js.map","import isArrayLike from './is-array-like';\nvar indexOf = function (arr, obj) {\n if (!isArrayLike(arr)) {\n return -1;\n }\n var m = Array.prototype.indexOf;\n if (m) {\n return m.call(arr, obj);\n }\n var index = -1;\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] === obj) {\n index = i;\n break;\n }\n }\n return index;\n};\nexport default indexOf;\n//# sourceMappingURL=index-of.js.map","import isNil from './is-nil';\nimport isArrayLike from './is-array-like';\nimport getType from './get-type';\nimport isPrototype from './is-prototype';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction isEmpty(value) {\n /**\n * isEmpty(null) => true\n * isEmpty() => true\n * isEmpty(true) => true\n * isEmpty(1) => true\n * isEmpty([1, 2, 3]) => false\n * isEmpty('abc') => false\n * isEmpty({ a: 1 }) => false\n */\n if (isNil(value)) {\n return true;\n }\n if (isArrayLike(value)) {\n return !value.length;\n }\n var type = getType(value);\n if (type === 'Map' || type === 'Set') {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !Object.keys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\nexport default isEmpty;\n//# sourceMappingURL=is-empty.js.map","import isObjectLike from './is-object-like';\nimport isArrayLike from './is-array-like';\nimport isString from './is-string';\nvar isEqual = function (value, other) {\n if (value === other) {\n return true;\n }\n if (!value || !other) {\n return false;\n }\n if (isString(value) || isString(other)) {\n return false;\n }\n if (isArrayLike(value) || isArrayLike(other)) {\n if (value.length !== other.length) {\n return false;\n }\n var rst = true;\n for (var i = 0; i < value.length; i++) {\n rst = isEqual(value[i], other[i]);\n if (!rst) {\n break;\n }\n }\n return rst;\n }\n if (isObjectLike(value) || isObjectLike(other)) {\n var valueKeys = Object.keys(value);\n var otherKeys = Object.keys(other);\n if (valueKeys.length !== otherKeys.length) {\n return false;\n }\n var rst = true;\n for (var i = 0; i < valueKeys.length; i++) {\n rst = isEqual(value[valueKeys[i]], other[valueKeys[i]]);\n if (!rst) {\n break;\n }\n }\n return rst;\n }\n return false;\n};\nexport default isEqual;\n//# sourceMappingURL=is-equal.js.map","import isFunction from './is-function';\nimport isEqual from './is-equal';\n/**\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [fn] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * isEqualWith(array, other, customizer); // => true\n */\nexport default (function (value, other, fn) {\n if (!isFunction(fn)) {\n return isEqual(value, other);\n }\n return !!fn(value, other);\n});\n//# sourceMappingURL=is-equal-with.js.map","import isArrayLike from './is-array-like';\nvar map = function (arr, func) {\n if (!isArrayLike(arr)) {\n // @ts-ignore\n return arr;\n }\n var result = [];\n for (var index = 0; index < arr.length; index++) {\n var value = arr[index];\n result.push(func(value, index));\n }\n return result;\n};\nexport default map;\n//# sourceMappingURL=map.js.map","import isNil from './is-nil';\nimport isObject from './is-object';\nvar identity = function (v) { return v; };\nexport default (function (object, func) {\n if (func === void 0) { func = identity; }\n var r = {};\n if (isObject(object) && !isNil(object)) {\n Object.keys(object).forEach(function (key) {\n // @ts-ignore\n r[key] = func(object[key], key);\n });\n }\n return r;\n});\n//# sourceMappingURL=map-values.js.map","import isString from './is-string';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param key\n * @param defaultValue\n */\nexport default (function (obj, key, defaultValue) {\n var p = 0;\n var keyArr = isString(key) ? key.split('.') : key;\n while (obj && p < keyArr.length) {\n obj = obj[keyArr[p++]];\n }\n return (obj === undefined || p < keyArr.length) ? defaultValue : obj;\n});\n//# sourceMappingURL=get.js.map","import isObject from './is-object';\nimport isString from './is-string';\nimport isNumber from './is-number';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param path\n * @param value\n */\nexport default (function (obj, path, value) {\n var o = obj;\n var keyArr = isString(path) ? path.split('.') : path;\n keyArr.forEach(function (key, idx) {\n // 不是最后一个\n if (idx < keyArr.length - 1) {\n if (!isObject(o[key])) {\n o[key] = isNumber(keyArr[idx + 1]) ? [] : {};\n }\n o = o[key];\n }\n else {\n o[key] = value;\n }\n });\n return obj;\n});\n//# sourceMappingURL=set.js.map","import each from './each';\nimport isPlainObject from './is-plain-object';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport default (function (object, keys) {\n if (object === null || !isPlainObject(object)) {\n return {};\n }\n var result = {};\n each(keys, function (key) {\n if (hasOwnProperty.call(object, key)) {\n result[key] = object[key];\n }\n });\n return result;\n});\n//# sourceMappingURL=pick.js.map","import reduce from './reduce';\nexport default (function (obj, keys) {\n return reduce(obj, function (r, curr, key) {\n if (!keys.includes(key)) {\n r[key] = curr;\n }\n return r;\n }, {});\n});\n//# sourceMappingURL=omit.js.map","export default (function (func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options)\n options = {};\n var later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout)\n context = args = null;\n };\n var throttled = function () {\n var now = Date.now();\n if (!previous && options.leading === false)\n previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout)\n context = args = null;\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n throttled.cancel = function () {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n return throttled;\n});\n//# sourceMappingURL=throttle.js.map","import isArrayLike from './is-array-like';\nexport default (function (value) {\n return isArrayLike(value) ? Array.prototype.slice.call(value) : [];\n});\n//# sourceMappingURL=to-array.js.map","var map = {};\nexport default (function (prefix) {\n prefix = prefix || 'g';\n if (!map[prefix]) {\n map[prefix] = 1;\n }\n else {\n map[prefix] += 1;\n }\n return prefix + map[prefix];\n});\n//# sourceMappingURL=unique-id.js.map","export default (function () { });\n//# sourceMappingURL=noop.js.map","export default (function (v) { return v; });\n//# sourceMappingURL=identity.js.map","import isNil from './is-nil';\nimport isArraylike from './is-array-like';\nexport default function size(o) {\n if (isNil(o)) {\n return 0;\n }\n if (isArraylike(o)) {\n return o.length;\n }\n return Object.keys(o).length;\n}\n//# sourceMappingURL=size.js.map","import { __spreadArrays } from \"tslib\";\nimport values from './values';\nimport memoize from './memoize';\nimport isString from './is-string';\nvar ctx;\n/**\n * 计算文本的宽度\n */\nexport default memoize(function (text, font) {\n if (font === void 0) { font = {}; }\n var fontSize = font.fontSize, fontFamily = font.fontFamily, fontWeight = font.fontWeight, fontStyle = font.fontStyle, fontVariant = font.fontVariant;\n if (!ctx) {\n ctx = document.createElement('canvas').getContext('2d');\n }\n ctx.font = [fontStyle, fontVariant, fontWeight, fontSize + \"px\", fontFamily].join(' ');\n return ctx.measureText(isString(text) ? text : '').width;\n}, function (text, font) {\n if (font === void 0) { font = {}; }\n return __spreadArrays([text], values(font)).join('');\n});\n//# sourceMappingURL=measure-text-width.js.map","import isString from './is-string';\nimport toString from './to-string';\nimport { default as measureTextWidth } from './measure-text-width';\n/**\n * 获取文本的 ... 文本。\n * 算法(减少每次 measureText 的长度,measureText 的性能跟字符串时间相关):\n * 1. 先通过 STEP 逐步计算,找到最后一个小于 maxWidth 的字符串\n * 2. 然后对最后这个字符串二分计算\n * @param text 需要计算的文本, 由于历史原因 除了支持string,还支持空值,number和数组等\n * @param maxWidth 最大宽度\n * @param font 字体\n * @param str 要替换的文本\n */\nexport default (function (text, maxWidth, font, str) {\n if (str === void 0) { str = '...'; }\n var STEP = 16; // 每次 16,调参工程师\n var PLACEHOLDER_WIDTH = measureTextWidth(str, font);\n var leftText = !isString(text) ? toString(text) : text;\n var leftWidth = maxWidth;\n var r = []; // 最终的分段字符串\n var currentText;\n var currentWidth;\n if (measureTextWidth(text, font) <= maxWidth) {\n return text;\n }\n // 首先通过 step 计算,找出最大的未超出长度的\n // eslint-disable-next-line no-constant-condition\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, STEP);\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n // 超出剩余宽度,则停止\n if (currentWidth + PLACEHOLDER_WIDTH > leftWidth) {\n if (currentWidth > leftWidth) {\n break;\n }\n }\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(STEP);\n // 字符串整体没有超出\n if (!leftText) {\n return r.join('');\n }\n }\n // 最下的最后一个 STEP,使用 1 递增(用二分效果更高)\n // eslint-disable-next-line no-constant-condition\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, 1);\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n // 超出剩余宽度,则停止\n if (currentWidth + PLACEHOLDER_WIDTH > leftWidth) {\n break;\n }\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(1);\n if (!leftText) {\n return r.join('');\n }\n }\n return \"\" + r.join('') + str;\n});\n//# sourceMappingURL=get-ellipsis-text.js.map","/**\n * k-v 存储\n */\nvar default_1 = /** @class */ (function () {\n function default_1() {\n this.map = {};\n }\n default_1.prototype.has = function (key) {\n return this.map[key] !== undefined;\n };\n default_1.prototype.get = function (key, def) {\n var v = this.map[key];\n return v === undefined ? def : v;\n };\n default_1.prototype.set = function (key, value) {\n this.map[key] = value;\n };\n default_1.prototype.clear = function () {\n this.map = {};\n };\n default_1.prototype.delete = function (key) {\n delete this.map[key];\n };\n default_1.prototype.size = function () {\n return Object.keys(this.map).length;\n };\n return default_1;\n}());\nexport default default_1;\n//# sourceMappingURL=cache.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export { flow } from './flow';\nexport { pick } from './pick';\nexport { template } from './template';\nexport { log, invariant, LEVEL } from './invariant';\nexport { getContainerSize } from './dom';\nexport * from './geometry';\nexport { findViewById, getViews, getSiblingViews } from './view';\nexport { transformLabel } from './label';\nexport { getSplinePath } from './path';\nexport { deepAssign } from './deep-assign';\nexport { kebabCase } from './kebab-case';\nexport { renderStatistic, renderGaugeStatistic } from './statistic';\nexport { measureTextWidth } from './measure-text';\nexport { isBetween, isRealNumber } from './number';\nexport * from './data';\nexport * from './padding';\n","/**\n * @description 扩展方法,提供 gl-matrix 为提供的方法\n * */\nimport { mat3, vec2 } from 'gl-matrix';\nexport function leftTranslate(out, a, v) {\n var transMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n mat3.fromTranslation(transMat, v);\n return mat3.multiply(out, transMat, a);\n}\nexport function leftRotate(out, a, rad) {\n var rotateMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n mat3.fromRotation(rotateMat, rad);\n return mat3.multiply(out, rotateMat, a);\n}\nexport function leftScale(out, a, v) {\n var scaleMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n mat3.fromScaling(scaleMat, v);\n return mat3.multiply(out, scaleMat, a);\n}\nfunction leftMultiply(out, a, a1) {\n return mat3.multiply(out, a1, a);\n}\n/**\n * 根据 actions 来做 transform\n * @param m\n * @param actions\n */\nexport function transform(m, actions) {\n var matrix = m ? [].concat(m) : [1, 0, 0, 0, 1, 0, 0, 0, 1];\n for (var i = 0, len = actions.length; i < len; i++) {\n var action = actions[i];\n switch (action[0]) {\n case 't':\n leftTranslate(matrix, matrix, [action[1], action[2]]);\n break;\n case 's':\n leftScale(matrix, matrix, [action[1], action[2]]);\n break;\n case 'r':\n leftRotate(matrix, matrix, action[1]);\n break;\n case 'm':\n leftMultiply(matrix, matrix, action[1]);\n break;\n default:\n break;\n }\n }\n return matrix;\n}\n/**\n * 向量 v1 到 向量 v2 夹角的方向\n * @param {Array} v1 向量\n * @param {Array} v2 向量\n * @return {Boolean} >= 0 顺时针 < 0 逆时针\n */\nexport function direction(v1, v2) {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n/**\n * 二维向量 v1 到 v2 的夹角\n * @param v1\n * @param v2\n * @param direct\n */\nexport function angleTo(v1, v2, direct) {\n var ang = vec2.angle(v1, v2);\n var angleLargeThanPI = direction(v1, v2) >= 0;\n if (direct) {\n if (angleLargeThanPI) {\n return Math.PI * 2 - ang;\n }\n return ang;\n }\n if (angleLargeThanPI) {\n return ang;\n }\n return Math.PI * 2 - ang;\n}\n/**\n * 计算二维向量的垂直向量\n * @param out\n * @param v\n * @param flag\n */\nexport function vertical(out, v, flag) {\n if (flag) {\n out[0] = v[1];\n out[1] = -1 * v[0];\n }\n else {\n out[0] = -1 * v[1];\n out[1] = v[0];\n }\n return out;\n}\n//# sourceMappingURL=ext.js.map","export function removeFromArray(arr, obj) {\n var index = arr.indexOf(obj);\n if (index !== -1) {\n arr.splice(index, 1);\n }\n}\nexport var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nexport { isNil, isFunction, isString, isObject, isArray, mix, each, upperFirst } from '@antv/util';\n// 是否元素的父容器\nexport function isParent(container, shape) {\n // 所有 shape 都是 canvas 的子元素\n if (container.isCanvas()) {\n return true;\n }\n var parent = shape.getParent();\n var isParent = false;\n while (parent) {\n if (parent === container) {\n isParent = true;\n break;\n }\n parent = parent.getParent();\n }\n return isParent;\n}\nexport function isAllowCapture(element) {\n // @ts-ignore\n return element.cfg.visible && element.cfg.capture;\n}\n//# sourceMappingURL=util.js.map","export default {\n fontFamily: \"\\n BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto,\\\"Helvetica Neue\\\",\\n Helvetica, \\\"PingFang SC\\\", \\\"Hiragino Sans GB\\\", \\\"Microsoft YaHei\\\",\\n SimSun, \\\"sans-serif\\\"\",\n textColor: '#2C3542',\n activeTextColor: '#333333',\n uncheckedColor: '#D8D8D8',\n lineColor: '#416180',\n regionColor: '#CCD7EB',\n verticalAxisRotate: -Math.PI / 4,\n horizontalAxisRotate: Math.PI / 4,\n};\n//# sourceMappingURL=theme.js.map","import { Chart, Event, Element } from '@antv/g2';\nimport { each } from '@antv/util';\nimport EE from '@antv/event-emitter';\nimport { bind } from 'size-sensor';\nimport { Options, StateName, StateCondition, Size, StateObject, Annotation } from '../types';\nimport { getContainerSize, getAllElementsRecursively, deepAssign, pick } from '../utils';\nimport { Adaptor } from './adaptor';\n\n/** 单独 pick 出来的用于基类的类型定义 */\nexport type PickOptions = Pick<\n Options,\n | 'width'\n | 'height'\n | 'padding'\n | 'appendPadding'\n | 'renderer'\n | 'pixelRatio'\n | 'autoFit'\n | 'syncViewPadding'\n | 'supportCSSTransform'\n | 'limitInPlot'\n | 'locale'\n | 'defaultInteractions'\n>;\n\nconst SOURCE_ATTRIBUTE_NAME = 'data-chart-source-type';\n\n/** plot 图表容器的配置 */\nexport const PLOT_CONTAINER_OPTIONS = [\n 'padding',\n 'appendPadding',\n 'renderer',\n 'pixelRatio',\n 'syncViewPadding',\n 'supportCSSTransform',\n 'limitInPlot',\n];\n\n/**\n * 所有 plot 的基类\n */\nexport abstract class Plot extends EE {\n /**\n * 获取默认的 options 配置项\n * 每个组件都可以复写\n */\n static getDefaultOptions(): any {\n return {\n renderer: 'canvas',\n xAxis: {\n nice: true,\n label: {\n autoRotate: false,\n autoHide: { type: 'equidistance', cfg: { minGap: 6 } },\n },\n },\n yAxis: {\n nice: true,\n label: {\n autoHide: true,\n autoRotate: false,\n },\n },\n animation: true,\n };\n }\n\n /** plot 类型名称 */\n public abstract readonly type: string;\n /** plot 的 schema 配置 */\n public options: O;\n /** plot 绘制的 dom */\n public readonly container: HTMLElement;\n /** G2 chart 实例 */\n public chart: Chart;\n /** resizer unbind */\n private unbind: () => void;\n\n constructor(container: string | HTMLElement, options: O) {\n super();\n this.container = typeof container === 'string' ? document.getElementById(container) : container;\n\n this.options = deepAssign({}, this.getDefaultOptions(), options);\n\n this.createG2();\n\n this.bindEvents();\n }\n\n /**\n * 创建 G2 实例\n */\n private createG2() {\n const { width, height, defaultInteractions } = this.options;\n\n this.chart = new Chart({\n container: this.container,\n autoFit: false, // G2Plot 使用 size-sensor 进行 autoFit\n ...this.getChartSize(width, height),\n localRefresh: false, // 默认关闭,目前 G 还有一些位置问题,难以排查!\n ...pick(this.options, PLOT_CONTAINER_OPTIONS),\n defaultInteractions,\n });\n\n // 给容器增加标识,知道图表的来源区别于 G2\n this.container.setAttribute(SOURCE_ATTRIBUTE_NAME, 'G2Plot');\n }\n\n /**\n * 计算默认的 chart 大小。逻辑简化:如果存在 width 或 height,则直接使用,否则使用容器大小\n * @param width\n * @param height\n */\n private getChartSize(width: number, height: number): Size {\n const chartSize = getContainerSize(this.container);\n return { width: width || chartSize.width || 400, height: height || chartSize.height || 400 };\n }\n\n /**\n * 绑定代理所有 G2 的事件\n */\n private bindEvents() {\n if (this.chart) {\n this.chart.on('*', (e: Event) => {\n if (e?.type) {\n this.emit(e.type, e);\n }\n });\n }\n }\n\n /**\n * 获取默认的 options 配置项\n * 每个组件都可以复写\n */\n protected getDefaultOptions(): any {\n return Plot.getDefaultOptions();\n }\n\n /**\n * 每个组件有自己的 schema adaptor\n */\n protected abstract getSchemaAdaptor(): Adaptor;\n\n /**\n * 绘制\n */\n public render() {\n // 暴力处理,先清空再渲染,需要 G2 层自行做好更新渲染\n this.chart.clear();\n // 因为子 view 会继承父 view 的 options 配置(包括 legend,所以会导致 legend 重复创建)\n // 所以这里给 chart 实例的 options 配置清空\n // 最好的解法是在 G2 view.clear 方法的时候,重置 options 配置。或者提供方法去 resetOptions\n // #1684 理论上在多 view 图形上,只要存在 custom legend,都存在类似问题(子弹图、双轴图)\n // @ts-ignore\n this.chart.options = {\n data: [],\n animate: true,\n };\n this.chart.views = []; // 删除已有的 views\n // 执行 adaptor\n this.execAdaptor();\n // 渲染\n this.chart.render();\n // 绑定\n this.bindSizeSensor();\n }\n\n /**\n * 更新: 更新配置且重新渲染\n * @param options\n */\n public update(options: Partial) {\n this.updateOption(options);\n this.render();\n }\n\n /**\n * 更新配置\n * @param options\n */\n protected updateOption(options: Partial) {\n this.options = deepAssign({}, this.options, options);\n }\n\n /**\n * 设置状态\n * @param type 状态类型,支持 'active' | 'inactive' | 'selected' 三种\n * @param conditions 条件,支持数组\n * @param status 是否激活,默认 true\n */\n public setState(type: StateName, condition: StateCondition, status: boolean = true) {\n const elements = getAllElementsRecursively(this.chart);\n\n each(elements, (ele: Element) => {\n if (condition(ele.getData())) {\n ele.setState(type, status);\n }\n });\n }\n\n /**\n * 获取状态\n */\n public getStates(): StateObject[] {\n const elements = getAllElementsRecursively(this.chart);\n\n const stateObjects: StateObject[] = [];\n each(elements, (element: Element) => {\n const data = element.getData();\n const states = element.getStates();\n each(states, (state) => {\n stateObjects.push({ data, state, geometry: element.geometry, element });\n });\n });\n\n return stateObjects;\n }\n\n /**\n * 更新数据\n * @override\n * @param options\n */\n public changeData(data: any) {\n // @ts-ignore\n this.update({ data });\n // TODO: 临时方案,最好使用下面的方式去更新数据\n // this.chart.changeData(data);\n }\n\n /**\n * 修改画布大小\n * @param width\n * @param height\n */\n public changeSize(width: number, height: number) {\n this.chart.changeSize(width, height);\n }\n\n /**\n * 增加图表标注。通过 id 标识,如果匹配到,就做更新\n */\n public addAnnotations(annotations: Annotation[]): void {\n const incoming = [...annotations];\n const controller = this.chart.getController('annotation');\n const current = controller.getComponents().map((co) => co.extra);\n\n controller.clear(true);\n for (let i = 0; i < current.length; i++) {\n let annotation = current[i];\n\n const findIndex = incoming.findIndex((item) => item.id && item.id === annotation.id);\n if (findIndex !== -1) {\n annotation = deepAssign({}, annotation, incoming[findIndex]);\n incoming.splice(findIndex, 1);\n }\n controller.annotation(annotation);\n }\n\n incoming.forEach((annotation) => controller.annotation(annotation));\n this.chart.render(true);\n }\n\n /**\n * 删除图表标注。通过 id 标识,如果匹配到,就做删除\n */\n public removeAnnotations(annotations: Array<{ id: string } & Partial>): void {\n const controller = this.chart.getController('annotation');\n const current = controller.getComponents().map((co) => co.extra);\n\n controller.clear(true);\n for (let i = 0; i < current.length; i++) {\n const annotation = current[i];\n\n if (!annotations.find((item) => item.id && item.id === annotation.id)) {\n controller.annotation(annotation);\n }\n }\n\n this.chart.render(true);\n }\n /**\n * 销毁\n */\n public destroy() {\n // 取消 size-sensor 的绑定\n this.unbindSizeSensor();\n // G2 的销毁\n this.chart.destroy();\n // 清空已经绑定的事件\n this.off();\n\n this.container.removeAttribute(SOURCE_ATTRIBUTE_NAME);\n }\n\n /**\n * 执行 adaptor 操作\n */\n protected execAdaptor() {\n const adaptor = this.getSchemaAdaptor();\n\n const { padding, appendPadding } = this.options;\n // 更新 padding\n this.chart.padding = padding;\n // 更新 appendPadding\n this.chart.appendPadding = appendPadding;\n\n // 转化成 G2 API\n adaptor({\n chart: this.chart,\n options: this.options,\n });\n }\n\n /**\n * 当图表容器大小变化的时候,执行的函数\n */\n protected triggerResize() {\n this.chart.forceFit();\n }\n\n /**\n * 绑定 dom 容器大小变化的事件\n */\n private bindSizeSensor() {\n if (this.unbind) {\n return;\n }\n\n const { autoFit = true } = this.options;\n if (autoFit) {\n this.unbind = bind(this.container, () => {\n // 获取最新的宽高信息\n const { width, height } = getContainerSize(this.container);\n\n // 主要是防止绑定的时候触发 resize 回调\n if (width !== this.chart.width || height !== this.chart.height) {\n this.triggerResize();\n }\n });\n }\n }\n\n /**\n * 取消绑定\n */\n private unbindSizeSensor() {\n if (this.unbind) {\n this.unbind();\n this.unbind = undefined;\n }\n }\n}\n","export var DEFAULT_Y = 0; // 默认的 y 的值\n// 偏移之后,间距\nexport var MARGIN_RATIO = 1 / 2;\nexport var DODGE_RATIO = 1 / 2;\n// 散点分开之后,距离边界的距离\nexport var GAP = 0.05;\n//# sourceMappingURL=constant.js.map","import { IG } from '../dependents';\n\nconst ENGINES: Record = {};\n\n/**\n * 通过名字获取渲染 engine\n * @param name 渲染引擎名字\n * @returns G engine\n */\nexport function getEngine(name: string): IG {\n const G = ENGINES[name];\n\n if (!G) {\n throw new Error(`G engine '${name}' is not exist, please register it at first.`);\n }\n\n return G;\n}\n\n/**\n * 注册渲染引擎\n * @param name\n * @param engine\n */\nexport function registerEngine(name: string, engine: IG) {\n ENGINES[name] = engine;\n}\n","import { toArray } from '@antv/util';\nimport { SHAPE_TO_TAGS } from '../constant';\n/**\n * 创建并返回图形的 svg 元素\n * @param type svg类型\n */\nexport function createSVGElement(type) {\n return document.createElementNS('http://www.w3.org/2000/svg', type);\n}\n/**\n * 创建并返回图形的 dom 元素\n * @param {IShape} shape 图形\n * @return {SVGElement}\n */\nexport function createDom(shape) {\n var type = SHAPE_TO_TAGS[shape.type];\n var parent = shape.getParent();\n if (!type) {\n throw new Error(\"the type \" + shape.type + \" is not supported by svg\");\n }\n var element = createSVGElement(type);\n if (shape.get('id')) {\n element.id = shape.get('id');\n }\n shape.set('el', element);\n shape.set('attrs', {});\n // 对于 defs 下的 dom 节点,parent 为空,通过 context 统一挂载到 defs 节点下\n if (parent) {\n var parentNode = parent.get('el');\n if (parentNode) {\n parentNode.appendChild(element);\n }\n else {\n // parentNode maybe null for group\n parentNode = parent.createDom();\n parent.set('el', parentNode);\n parentNode.appendChild(element);\n }\n }\n return element;\n}\n/**\n * 对 dom 元素进行排序\n * @param {IElement} element 元素\n * @param {sorter} function 排序函数\n */\nexport function sortDom(element, sorter) {\n var el = element.get('el');\n var childList = toArray(el.children).sort(sorter);\n // create empty fragment\n var fragment = document.createDocumentFragment();\n childList.forEach(function (child) {\n fragment.appendChild(child);\n });\n el.appendChild(fragment);\n}\n/**\n * 将 dom 元素移动到父元素下的指定位置\n * @param {SVGElement} element dom 元素\n * @param {number} targetIndex 目标位置(从 0 开始)\n */\nexport function moveTo(element, targetIndex) {\n var parentNode = element.parentNode;\n var siblings = Array.from(parentNode.childNodes).filter(\n // 要求为元素节点,且不能为 defs 节点\n function (node) { return node.nodeType === 1 && node.nodeName.toLowerCase() !== 'defs'; });\n // 获取目标节点\n var target = siblings[targetIndex];\n var currentIndex = siblings.indexOf(element);\n // 如果目标节点存在\n if (target) {\n // 当前索引 > 目标索引,直接插入到目标节点之前即可\n if (currentIndex > targetIndex) {\n parentNode.insertBefore(element, target);\n }\n else if (currentIndex < targetIndex) {\n // 当前索引 < 目标索引\n // 获取目标节点的下一个节点\n var targetNext = siblings[targetIndex + 1];\n // 如果目标节点的下一个节点存在,插入到该节点之前\n if (targetNext) {\n parentNode.insertBefore(element, targetNext);\n }\n else {\n // 如果该节点不存在,则追加到末尾\n parentNode.appendChild(element);\n }\n }\n }\n else {\n parentNode.appendChild(element);\n }\n}\n//# sourceMappingURL=dom.js.map","import { assign, isEmpty, isFunction, isNil, isNumber, isObject, isString, map } from '@antv/util';\nimport { getTickMethod } from './tick-method/register';\nvar Scale = /** @class */ (function () {\n function Scale(cfg) {\n /**\n * 度量的类型\n */\n this.type = 'base';\n /**\n * 是否分类类型的度量\n */\n this.isCategory = false;\n /**\n * 是否线性度量,有linear, time 度量\n */\n this.isLinear = false;\n /**\n * 是否连续类型的度量,linear,time,log, pow, quantile, quantize 都支持\n */\n this.isContinuous = false;\n /**\n * 是否是常量的度量,传入和传出一致\n */\n this.isIdentity = false;\n this.values = [];\n this.range = [0, 1];\n this.ticks = [];\n this.__cfg__ = cfg;\n this.initCfg();\n this.init();\n }\n // 对于原始值的必要转换,如分类、时间字段需转换成数值,用transform/map命名可能更好\n Scale.prototype.translate = function (v) {\n return v;\n };\n /** 重新初始化 */\n Scale.prototype.change = function (cfg) {\n // 覆盖配置项,而不替代\n assign(this.__cfg__, cfg);\n this.init();\n };\n Scale.prototype.clone = function () {\n return this.constructor(this.__cfg__);\n };\n /** 获取坐标轴需要的ticks */\n Scale.prototype.getTicks = function () {\n var _this = this;\n return map(this.ticks, function (tick, idx) {\n if (isObject(tick)) {\n // 仅当符合Tick类型时才有意义\n return tick;\n }\n return {\n text: _this.getText(tick, idx),\n tickValue: tick,\n value: _this.scale(tick), // scaled\n };\n });\n };\n /** 获取Tick的格式化结果 */\n Scale.prototype.getText = function (value, key) {\n var formatter = this.formatter;\n var res = formatter ? formatter(value, key) : value;\n if (isNil(res) || !isFunction(res.toString)) {\n return '';\n }\n return res.toString();\n };\n // 获取配置项中的值,当前 scale 上的值可能会被修改\n Scale.prototype.getConfig = function (key) {\n return this.__cfg__[key];\n };\n // scale初始化\n Scale.prototype.init = function () {\n assign(this, this.__cfg__);\n this.setDomain();\n if (isEmpty(this.getConfig('ticks'))) {\n this.ticks = this.calculateTicks();\n }\n };\n // 子类上覆盖某些属性,不能直接在类上声明,否则会被覆盖\n Scale.prototype.initCfg = function () { };\n Scale.prototype.setDomain = function () { };\n Scale.prototype.calculateTicks = function () {\n var tickMethod = this.tickMethod;\n var ticks = [];\n if (isString(tickMethod)) {\n var method = getTickMethod(tickMethod);\n if (!method) {\n throw new Error('There is no method to to calculate ticks!');\n }\n ticks = method(this);\n }\n else if (isFunction(tickMethod)) {\n ticks = tickMethod(this);\n }\n return ticks;\n };\n // range 的最小值\n Scale.prototype.rangeMin = function () {\n return this.range[0];\n };\n // range 的最大值\n Scale.prototype.rangeMax = function () {\n return this.range[1];\n };\n /** 定义域转 0~1 */\n Scale.prototype.calcPercent = function (value, min, max) {\n if (isNumber(value)) {\n return (value - min) / (max - min);\n }\n return NaN;\n };\n /** 0~1转定义域 */\n Scale.prototype.calcValue = function (percent, min, max) {\n return min + percent * (max - min);\n };\n return Scale;\n}());\nexport default Scale;\n//# sourceMappingURL=base.js.map","import { isArray, isNil, isString } from '@antv/util';\n// todo 这个到底目的是什么?\nvar toScaleString = function (scale, value) {\n if (isString(value)) {\n return value;\n }\n return scale.invert(scale.scale(value));\n};\n/**\n * 所有视觉通道属性的基类\n * @class Base\n */\nvar Attribute = /** @class */ (function () {\n function Attribute(cfg) {\n this.names = [];\n this.scales = [];\n this.linear = false;\n this.values = [];\n this.callback = function () { return []; };\n // 解析配置\n this._parseCfg(cfg);\n }\n /**\n * 映射的值组成的数组\n * @param params 对应 scale 顺序的值传入\n */\n Attribute.prototype.mapping = function () {\n var _this = this;\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n var values = params.map(function (param, idx) {\n return _this._toOriginParam(param, _this.scales[idx]);\n });\n return this.callback.apply(this, values);\n };\n /**\n * 如果进行线性映射,返回对应的映射值\n * @param percent\n */\n Attribute.prototype.getLinearValue = function (percent) {\n // 分段数量\n var steps = this.values.length - 1;\n var step = Math.floor(steps * percent);\n var leftPercent = steps * percent - step;\n // todo 不懂这个逻辑\n var start = this.values[step];\n var end = step === steps ? start : this.values[step + 1];\n // 线性方程\n return start + (end - start) * leftPercent;\n };\n /**\n * 根据度量获取属性名\n */\n Attribute.prototype.getNames = function () {\n var scales = this.scales;\n var names = this.names;\n var length = Math.min(scales.length, names.length);\n var rst = [];\n for (var i = 0; i < length; i += 1) {\n rst.push(names[i]);\n }\n return rst;\n };\n /**\n * 获取所有的维度名\n */\n Attribute.prototype.getFields = function () {\n return this.scales.map(function (scale) { return scale.field; });\n };\n /**\n * 根据名称获取度量\n * @param name\n */\n Attribute.prototype.getScale = function (name) {\n return this.scales[this.names.indexOf(name)];\n };\n /**\n * 默认的回调函数(用户没有自定义 callback,或者用户自定义 callback 返回空的时候,使用 values 映射)\n * @param params\n */\n Attribute.prototype.defaultCallback = function () {\n var _this = this;\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n // 没有 params 的情况,是指没有指定 fields,直接返回配置的 values 常量\n if (params.length === 0) {\n return this.values;\n }\n return params.map(function (param, idx) {\n var scale = _this.scales[idx];\n return scale.type === 'identity' ? scale.values[0] : _this._getAttributeValue(scale, param);\n });\n };\n // 解析配置\n Attribute.prototype._parseCfg = function (cfg) {\n var _this = this;\n var _a = cfg.type, type = _a === void 0 ? 'base' : _a, _b = cfg.names, names = _b === void 0 ? [] : _b, _c = cfg.scales, scales = _c === void 0 ? [] : _c, _d = cfg.values, values = _d === void 0 ? [] : _d, callback = cfg.callback;\n this.type = type;\n this.scales = scales;\n this.values = values;\n this.names = names;\n // 构造 callback 方法\n this.callback = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n /**\n * 当用户设置的 callback 返回 null 时, 应该返回默认 callback 中的值\n */\n if (callback) {\n // 使用用户返回的值处理\n var ret = callback.apply(void 0, params);\n if (!isNil(ret)) {\n return [ret];\n }\n }\n // 没有 callback 或者用户 callback 返回值为空,则使用默认的逻辑处理\n return _this.defaultCallback.apply(_this, params);\n };\n };\n // 获取属性值,将值映射到视觉通道\n Attribute.prototype._getAttributeValue = function (scale, value) {\n // 如果是非线性的字段,直接从 values 中取值即可\n if (scale.isCategory && !this.linear) {\n // 离散 scale 变换成索引\n var idx = scale.translate(value);\n return this.values[idx % this.values.length];\n }\n // 线性则使用线性值\n var percent = scale.scale(value);\n return this.getLinearValue(percent);\n };\n /**\n * 通过 scale 拿到数据对应的原始的参数\n * @param param\n * @param scale\n * @private\n */\n Attribute.prototype._toOriginParam = function (param, scale) {\n // 是线性,直接返回\n // 非线性,使用 scale 变换\n return !scale.isLinear\n ? isArray(param)\n ? param.map(function (p) { return toScaleString(scale, p); })\n : toScaleString(scale, param)\n : param;\n };\n return Attribute;\n}());\nexport default Attribute;\n//# sourceMappingURL=base.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __extends } from \"tslib\";\nimport colorUtil from '@antv/color-util';\nimport { isString } from '@antv/util';\nimport Attribute from './base';\nvar Color = /** @class */ (function (_super) {\n __extends(Color, _super);\n function Color(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.type = 'color';\n _this.names = ['color'];\n if (isString(_this.values)) {\n _this.linear = true;\n }\n _this.gradient = colorUtil.gradient(_this.values);\n return _this;\n }\n /**\n * @override\n */\n Color.prototype.getLinearValue = function (percent) {\n return this.gradient(percent);\n };\n return Color;\n}(Attribute));\nexport default Color;\n//# sourceMappingURL=color.js.map","import { __extends } from \"tslib\";\nimport Attribute from './base';\nvar Opacity = /** @class */ (function (_super) {\n __extends(Opacity, _super);\n function Opacity(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.type = 'opacity';\n _this.names = ['opacity'];\n return _this;\n }\n return Opacity;\n}(Attribute));\nexport default Opacity;\n//# sourceMappingURL=opacity.js.map","import { __extends } from \"tslib\";\nimport { isArray, isNil } from '@antv/util';\nimport Attribute from './base';\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.names = ['x', 'y'];\n _this.type = 'position';\n return _this;\n }\n Position.prototype.mapping = function (x, y) {\n var _a = this.scales, scaleX = _a[0], scaleY = _a[1];\n if (isNil(x) || isNil(y)) {\n return [];\n }\n return [\n isArray(x) ? x.map(function (xi) { return scaleX.scale(xi); }) : scaleX.scale(x),\n isArray(y) ? y.map(function (yi) { return scaleY.scale(yi); }) : scaleY.scale(y),\n ];\n };\n return Position;\n}(Attribute));\nexport default Position;\n//# sourceMappingURL=position.js.map","import { __extends } from \"tslib\";\nimport Attribute from './base';\nvar Shape = /** @class */ (function (_super) {\n __extends(Shape, _super);\n function Shape(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.type = 'shape';\n _this.names = ['shape'];\n return _this;\n }\n /**\n * @override\n */\n Shape.prototype.getLinearValue = function (percent) {\n var idx = Math.round((this.values.length - 1) * percent);\n return this.values[idx];\n };\n return Shape;\n}(Attribute));\nexport default Shape;\n//# sourceMappingURL=shape.js.map","import { __extends } from \"tslib\";\nimport Attribute from './base';\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.type = 'size';\n _this.names = ['size'];\n return _this;\n }\n return Size;\n}(Attribute));\nexport default Size;\n//# sourceMappingURL=size.js.map","import Adjust from './adjusts/adjust';\nvar ADJUST_MAP = {};\n/**\n * 根据类型获取 Adjust 类\n * @param type\n */\nvar getAdjust = function (type) {\n return ADJUST_MAP[type.toLowerCase()];\n};\n/**\n * 注册自定义 Adjust\n * @param type\n * @param ctor\n */\nvar registerAdjust = function (type, ctor) {\n // 注册的时候,需要校验 type 重名,不区分大小写\n if (getAdjust(type)) {\n throw new Error(\"Adjust type '\" + type + \"' existed.\");\n }\n // 存储到 map 中\n ADJUST_MAP[type.toLowerCase()] = ctor;\n};\nexport { getAdjust, registerAdjust, Adjust };\nexport * from './interface';\n//# sourceMappingURL=factory.js.map","import * as Shape from './shape';\nexport * from '@antv/g-base';\nexport { default as Canvas } from './canvas';\nexport { default as Group } from './group';\nexport { Shape };\nexport var version = '0.5.6';\n//# sourceMappingURL=index.js.map","import { __spreadArray } from \"tslib\";\nimport { ext, mat3, vec3 } from '@antv/matrix-util';\nimport { assign } from '@antv/util';\n/**\n * Coordinate Base Class\n */\nvar Coordinate = /** @class */ (function () {\n function Coordinate(cfg) {\n // 自身属性\n this.type = 'coordinate';\n this.isRect = false;\n this.isHelix = false;\n this.isPolar = false;\n this.isReflectX = false;\n this.isReflectY = false;\n var start = cfg.start, end = cfg.end, _a = cfg.matrix, matrix = _a === void 0 ? [1, 0, 0, 0, 1, 0, 0, 0, 1] : _a, _b = cfg.isTransposed, isTransposed = _b === void 0 ? false : _b;\n this.start = start;\n this.end = end;\n this.matrix = matrix;\n this.originalMatrix = __spreadArray([], matrix); // 去除引用\n this.isTransposed = isTransposed;\n }\n /**\n * 初始化流程\n */\n Coordinate.prototype.initial = function () {\n // center、width、height\n this.center = {\n x: (this.start.x + this.end.x) / 2,\n y: (this.start.y + this.end.y) / 2,\n };\n this.width = Math.abs(this.end.x - this.start.x);\n this.height = Math.abs(this.end.y - this.start.y);\n };\n /**\n * 更新配置\n * @param cfg\n */\n Coordinate.prototype.update = function (cfg) {\n assign(this, cfg);\n this.initial();\n };\n Coordinate.prototype.convertDim = function (percent, dim) {\n var _a;\n var _b = this[dim], start = _b.start, end = _b.end;\n // 交换\n if (this.isReflect(dim)) {\n _a = [end, start], start = _a[0], end = _a[1];\n }\n return start + percent * (end - start);\n };\n Coordinate.prototype.invertDim = function (value, dim) {\n var _a;\n var _b = this[dim], start = _b.start, end = _b.end;\n // 交换\n if (this.isReflect(dim)) {\n _a = [end, start], start = _a[0], end = _a[1];\n }\n return (value - start) / (end - start);\n };\n /**\n * 将坐标点进行矩阵变换\n * @param x 对应 x 轴画布坐标\n * @param y 对应 y 轴画布坐标\n * @param tag 默认为 0,可取值 0, 1\n * @return 返回变换后的三阶向量 [x, y, z]\n */\n Coordinate.prototype.applyMatrix = function (x, y, tag) {\n if (tag === void 0) { tag = 0; }\n var matrix = this.matrix;\n var vector = [x, y, tag];\n vec3.transformMat3(vector, vector, matrix);\n return vector;\n };\n /**\n * 将坐标点进行矩阵逆变换\n * @param x 对应 x 轴画布坐标\n * @param y 对应 y 轴画布坐标\n * @param tag 默认为 0,可取值 0, 1\n * @return 返回矩阵逆变换后的三阶向量 [x, y, z]\n */\n Coordinate.prototype.invertMatrix = function (x, y, tag) {\n if (tag === void 0) { tag = 0; }\n var matrix = this.matrix;\n var inverted = mat3.invert([0, 0, 0, 0, 0, 0, 0, 0, 0], matrix);\n var vector = [x, y, tag];\n if (inverted) {\n // 如果为空则不进行矩阵变化,防止报错\n vec3.transformMat3(vector, vector, inverted);\n }\n return vector;\n };\n /**\n * 将归一化的坐标点数据转换为画布坐标,并根据坐标系当前矩阵进行变换\n * @param point 归一化的坐标点\n * @return 返回进行矩阵变换后的画布坐标\n */\n Coordinate.prototype.convert = function (point) {\n var _a = this.convertPoint(point), x = _a.x, y = _a.y;\n var vector = this.applyMatrix(x, y, 1);\n return {\n x: vector[0],\n y: vector[1],\n };\n };\n /**\n * 将进行过矩阵变换画布坐标转换为归一化坐标\n * @param point 画布坐标\n * @return 返回归一化的坐标点\n */\n Coordinate.prototype.invert = function (point) {\n var vector = this.invertMatrix(point.x, point.y, 1);\n return this.invertPoint({\n x: vector[0],\n y: vector[1],\n });\n };\n /**\n * 坐标系旋转变换\n * @param radian 旋转弧度\n * @return 返回坐标系对象\n */\n Coordinate.prototype.rotate = function (radian) {\n var matrix = this.matrix;\n var center = this.center;\n ext.leftTranslate(matrix, matrix, [-center.x, -center.y]);\n ext.leftRotate(matrix, matrix, radian);\n ext.leftTranslate(matrix, matrix, [center.x, center.y]);\n return this;\n };\n /**\n * 坐标系反射变换\n * @param dim 反射维度\n * @return 返回坐标系对象\n */\n Coordinate.prototype.reflect = function (dim) {\n if (dim === 'x') {\n this.isReflectX = !this.isReflectX;\n }\n else {\n this.isReflectY = !this.isReflectY;\n }\n return this;\n };\n /**\n * 坐标系比例变换\n * @param s1 x 方向缩放比例\n * @param s2 y 方向缩放比例\n * @return 返回坐标系对象\n */\n Coordinate.prototype.scale = function (s1, s2) {\n var matrix = this.matrix;\n var center = this.center;\n ext.leftTranslate(matrix, matrix, [-center.x, -center.y]);\n ext.leftScale(matrix, matrix, [s1, s2]);\n ext.leftTranslate(matrix, matrix, [center.x, center.y]);\n return this;\n };\n /**\n * 坐标系平移变换\n * @param x x 方向平移像素\n * @param y y 方向平移像素\n * @return 返回坐标系对象\n */\n Coordinate.prototype.translate = function (x, y) {\n var matrix = this.matrix;\n ext.leftTranslate(matrix, matrix, [x, y]);\n return this;\n };\n /**\n * 将坐标系 x y 两个轴进行转置\n * @return 返回坐标系对象\n */\n Coordinate.prototype.transpose = function () {\n this.isTransposed = !this.isTransposed;\n return this;\n };\n Coordinate.prototype.getCenter = function () {\n return this.center;\n };\n Coordinate.prototype.getWidth = function () {\n return this.width;\n };\n Coordinate.prototype.getHeight = function () {\n return this.height;\n };\n Coordinate.prototype.getRadius = function () {\n return this.radius;\n };\n /**\n * whether has reflect\n * @param dim\n */\n Coordinate.prototype.isReflect = function (dim) {\n return dim === 'x' ? this.isReflectX : this.isReflectY;\n };\n /**\n * 重置 matrix\n * @param matrix 如果传入,则使用,否则使用构造函数中传入的默认 matrix\n */\n Coordinate.prototype.resetMatrix = function (matrix) {\n // 去除引用关系\n this.matrix = matrix ? matrix : __spreadArray([], this.originalMatrix);\n };\n return Coordinate;\n}());\nexport default Coordinate;\n//# sourceMappingURL=base.js.map","import { __extends } from \"tslib\";\nimport Coordinate from './base';\n/**\n * 笛卡尔坐标系\n * https://www.zhihu.com/question/20665303\n */\nvar Cartesian = /** @class */ (function (_super) {\n __extends(Cartesian, _super);\n function Cartesian(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.isRect = true;\n _this.type = 'cartesian';\n _this.initial();\n return _this;\n }\n Cartesian.prototype.initial = function () {\n _super.prototype.initial.call(this);\n var start = this.start;\n var end = this.end;\n this.x = {\n start: start.x,\n end: end.x,\n };\n this.y = {\n start: start.y,\n end: end.y,\n };\n };\n Cartesian.prototype.convertPoint = function (point) {\n var _a;\n var x = point.x, y = point.y;\n // 交换\n if (this.isTransposed) {\n _a = [y, x], x = _a[0], y = _a[1];\n }\n return {\n x: this.convertDim(x, 'x'),\n y: this.convertDim(y, 'y'),\n };\n };\n Cartesian.prototype.invertPoint = function (point) {\n var _a;\n var x = this.invertDim(point.x, 'x');\n var y = this.invertDim(point.y, 'y');\n if (this.isTransposed) {\n _a = [y, x], x = _a[0], y = _a[1];\n }\n return { x: x, y: y };\n };\n return Cartesian;\n}(Coordinate));\nexport default Cartesian;\n//# sourceMappingURL=cartesian.js.map","import { __extends } from \"tslib\";\nimport { ext, vec2 } from '@antv/matrix-util';\nimport { isNumberEqual } from '@antv/util';\nimport Coordinate from './base';\n/**\n * 螺旋坐标系\n */\nvar Helix = /** @class */ (function (_super) {\n __extends(Helix, _super);\n function Helix(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.isHelix = true;\n _this.type = 'helix';\n var _a = cfg.startAngle, startAngle = _a === void 0 ? 1.25 * Math.PI : _a, _b = cfg.endAngle, endAngle = _b === void 0 ? 7.25 * Math.PI : _b, _c = cfg.innerRadius, innerRadius = _c === void 0 ? 0 : _c, radius = cfg.radius;\n _this.startAngle = startAngle;\n _this.endAngle = endAngle;\n _this.innerRadius = innerRadius;\n _this.radius = radius;\n _this.initial();\n return _this;\n }\n Helix.prototype.initial = function () {\n _super.prototype.initial.call(this);\n var index = (this.endAngle - this.startAngle) / (2 * Math.PI) + 1; // 螺线圈数\n var maxRadius = Math.min(this.width, this.height) / 2;\n if (this.radius && this.radius >= 0 && this.radius <= 1) {\n maxRadius = maxRadius * this.radius;\n }\n this.d = Math.floor((maxRadius * (1 - this.innerRadius)) / index);\n this.a = this.d / (Math.PI * 2); // 螺线系数\n this.x = {\n start: this.startAngle,\n end: this.endAngle,\n };\n this.y = {\n start: this.innerRadius * maxRadius,\n end: this.innerRadius * maxRadius + this.d * 0.99,\n };\n };\n /**\n * 将百分比数据变成屏幕坐标\n * @param point 归一化的点坐标\n * @return 返回对应的屏幕坐标\n */\n Helix.prototype.convertPoint = function (point) {\n var _a;\n var x = point.x, y = point.y;\n if (this.isTransposed) {\n _a = [y, x], x = _a[0], y = _a[1];\n }\n var thi = this.convertDim(x, 'x');\n var r = this.a * thi;\n var newY = this.convertDim(y, 'y');\n return {\n x: this.center.x + Math.cos(thi) * (r + newY),\n y: this.center.y + Math.sin(thi) * (r + newY),\n };\n };\n /**\n * 将屏幕坐标点还原成百分比数据\n * @param point 屏幕坐标\n * @return 返回对应的归一化后的数据\n */\n Helix.prototype.invertPoint = function (point) {\n var _a;\n var d = this.d + this.y.start;\n var v = vec2.subtract([0, 0], [point.x, point.y], [this.center.x, this.center.y]);\n var thi = ext.angleTo(v, [1, 0], true);\n var rMin = thi * this.a; // 坐标与原点的连线在第一圈上的交点,最小r值\n if (vec2.length(v) < rMin) {\n // 坐标与原点的连线不可能小于最小r值,但不排除因小数计算产生的略小于rMin的情况\n rMin = vec2.length(v);\n }\n var index = Math.floor((vec2.length(v) - rMin) / d); // 当前点位于第index圈\n thi = 2 * index * Math.PI + thi;\n var r = this.a * thi;\n var newY = vec2.length(v) - r;\n newY = isNumberEqual(newY, 0) ? 0 : newY;\n var x = this.invertDim(thi, 'x');\n var y = this.invertDim(newY, 'y');\n x = isNumberEqual(x, 0) ? 0 : x;\n y = isNumberEqual(y, 0) ? 0 : y;\n if (this.isTransposed) {\n _a = [y, x], x = _a[0], y = _a[1];\n }\n return { x: x, y: y };\n };\n return Helix;\n}(Coordinate));\nexport default Helix;\n//# sourceMappingURL=helix.js.map","import { __extends } from \"tslib\";\nimport { ext, vec2, vec3 } from '@antv/matrix-util';\nimport { isNumberEqual } from '@antv/util';\nimport Coordinate from './base';\nvar Polar = /** @class */ (function (_super) {\n __extends(Polar, _super);\n function Polar(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.isPolar = true;\n _this.type = 'polar';\n var _a = cfg.startAngle, startAngle = _a === void 0 ? -Math.PI / 2 : _a, _b = cfg.endAngle, endAngle = _b === void 0 ? (Math.PI * 3) / 2 : _b, _c = cfg.innerRadius, innerRadius = _c === void 0 ? 0 : _c, radius = cfg.radius;\n _this.startAngle = startAngle;\n _this.endAngle = endAngle;\n _this.innerRadius = innerRadius;\n _this.radius = radius;\n _this.initial();\n return _this;\n }\n Polar.prototype.initial = function () {\n _super.prototype.initial.call(this);\n while (this.endAngle < this.startAngle) {\n this.endAngle += Math.PI * 2;\n }\n var oneBox = this.getOneBox();\n var oneWidth = oneBox.maxX - oneBox.minX;\n var oneHeight = oneBox.maxY - oneBox.minY;\n var left = Math.abs(oneBox.minX) / oneWidth;\n var top = Math.abs(oneBox.minY) / oneHeight;\n var maxRadius;\n if (this.height / oneHeight > this.width / oneWidth) {\n // width 为主\n maxRadius = this.width / oneWidth;\n this.circleCenter = {\n x: this.center.x - (0.5 - left) * this.width,\n y: this.center.y - (0.5 - top) * maxRadius * oneHeight,\n };\n }\n else {\n // height 为主\n maxRadius = this.height / oneHeight;\n this.circleCenter = {\n x: this.center.x - (0.5 - left) * maxRadius * oneWidth,\n y: this.center.y - (0.5 - top) * this.height,\n };\n }\n this.polarRadius = this.radius;\n if (!this.radius) {\n this.polarRadius = maxRadius;\n }\n else if (this.radius > 0 && this.radius <= 1) {\n this.polarRadius = maxRadius * this.radius;\n }\n else if (this.radius <= 0 || this.radius > maxRadius) {\n this.polarRadius = maxRadius;\n }\n this.x = {\n start: this.startAngle,\n end: this.endAngle,\n };\n this.y = {\n start: this.innerRadius * this.polarRadius,\n end: this.polarRadius,\n };\n };\n Polar.prototype.getRadius = function () {\n return this.polarRadius;\n };\n Polar.prototype.convertPoint = function (point) {\n var _a;\n var center = this.getCenter();\n var x = point.x, y = point.y;\n if (this.isTransposed) {\n _a = [y, x], x = _a[0], y = _a[1];\n }\n x = this.convertDim(x, 'x');\n y = this.convertDim(y, 'y');\n return {\n x: center.x + Math.cos(x) * y,\n y: center.y + Math.sin(x) * y,\n };\n };\n Polar.prototype.invertPoint = function (point) {\n var _a;\n var center = this.getCenter();\n var vPoint = [point.x - center.x, point.y - center.y];\n var _b = this, startAngle = _b.startAngle, endAngle = _b.endAngle;\n if (this.isReflect('x')) {\n _a = [endAngle, startAngle], startAngle = _a[0], endAngle = _a[1];\n }\n var m = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n ext.leftRotate(m, m, startAngle);\n var vStart3 = [1, 0, 0];\n vec3.transformMat3(vStart3, vStart3, m);\n var vStart2 = [vStart3[0], vStart3[1]];\n var angle = ext.angleTo(vStart2, vPoint, endAngle < startAngle);\n if (isNumberEqual(angle, Math.PI * 2)) {\n angle = 0;\n }\n var radius = vec2.length(vPoint);\n var xPercent = angle / (endAngle - startAngle);\n xPercent = endAngle - startAngle > 0 ? xPercent : -xPercent;\n var yPercent = this.invertDim(radius, 'y');\n var rst = { x: 0, y: 0 };\n rst.x = this.isTransposed ? yPercent : xPercent;\n rst.y = this.isTransposed ? xPercent : yPercent;\n return rst;\n };\n Polar.prototype.getCenter = function () {\n return this.circleCenter;\n };\n Polar.prototype.getOneBox = function () {\n var startAngle = this.startAngle;\n var endAngle = this.endAngle;\n if (Math.abs(endAngle - startAngle) >= Math.PI * 2) {\n return {\n minX: -1,\n maxX: 1,\n minY: -1,\n maxY: 1,\n };\n }\n var xs = [0, Math.cos(startAngle), Math.cos(endAngle)];\n var ys = [0, Math.sin(startAngle), Math.sin(endAngle)];\n for (var i = Math.min(startAngle, endAngle); i < Math.max(startAngle, endAngle); i += Math.PI / 18) {\n xs.push(Math.cos(i));\n ys.push(Math.sin(i));\n }\n return {\n minX: Math.min.apply(Math, xs),\n maxX: Math.max.apply(Math, xs),\n minY: Math.min.apply(Math, ys),\n maxY: Math.max.apply(Math, ys),\n };\n };\n return Polar;\n}(Coordinate));\nexport default Polar;\n//# sourceMappingURL=polar.js.map","/* 依赖的模块,在这里统一引入,方便打包优化 */\n\n// G\nexport {\n ICanvas,\n IElement,\n IGroup,\n IShape,\n PathCommand,\n BBox,\n Point,\n ShapeAttrs,\n Event,\n AbstractGroup,\n AbstractShape,\n} from '@antv/g-base';\n// 需要有 G-base 提供 g engine 类型定义\nexport type IG = any;\n\n// adjust\nexport { registerAdjust, getAdjust, Adjust } from '@antv/adjust';\n\n// attr\nexport { getAttribute, Attribute } from '@antv/attr';\nexport { Color } from '@antv/attr';\n\n// coordinate\nexport { getCoordinate, registerCoordinate, Coordinate, CoordinateCfg } from '@antv/coord';\n\n// scale\nexport { getScale, registerScale, Scale, ScaleConfig, Tick } from '@antv/scale';\n\n// component\nimport {\n Annotation,\n Axis,\n Component,\n Crosshair,\n Grid,\n GroupComponent,\n HtmlComponent,\n Legend,\n Slider,\n Tooltip,\n Scrollbar,\n} from '@antv/component';\n\nexport {\n CategoryLegendCfg,\n CircleAxisCfg,\n LineAxisCfg,\n GroupComponentCfg,\n ListItem,\n AxisLineCfg,\n AxisTickLineCfg,\n AxisSubTickLineCfg,\n AxisTitleCfg,\n AxisLabelCfg,\n GridLineCfg,\n LegendMarkerCfg,\n LegendTitleCfg,\n LegendBackgroundCfg,\n LegendItemNameCfg,\n LegendItemValueCfg,\n LegendPageNavigatorCfg,\n ContinueLegendCfg,\n ContinueLegendTrackCfg,\n ContinueLegendRailCfg,\n ContinueLegendLabelCfg,\n ContinueLegendHandlerCfg,\n CrosshairLineCfg,\n CrosshairTextCfg,\n CrosshairTextBackgroundCfg,\n SliderCfg,\n TrendCfg,\n EnhancedTextCfg,\n LineAnnotationTextCfg,\n IComponent,\n IList,\n} from '@antv/component';\n\nexport { HtmlComponent, GroupComponent, Component, Crosshair };\nexport { Annotation };\n// axis\nconst { Line: LineAxis, Circle: CircleAxis } = Axis;\nexport { LineAxis, CircleAxis };\n// grid\nconst { Line: LineGrid, Circle: CircleGrid } = Grid;\nexport { LineGrid, CircleGrid };\n// legend\nconst { Category: CategoryLegend, Continuous: ContinuousLegend } = Legend;\nexport { CategoryLegend, ContinuousLegend };\n// Tooltip\nconst { Html: HtmlTooltip } = Tooltip;\nexport { HtmlTooltip };\n// Slider\nexport { Slider };\n// Scrollbar\nexport { Scrollbar };\n","import { BBox } from '@antv/g-svg';\nimport { each, isEmpty, isNumber, isNumberEqual, max, min } from '@antv/util';\nimport { Coordinate, IShape, Point } from '../dependents';\nimport { ShapeInfo } from '../interface';\n\n// 获取图形的包围盒\nfunction getPointsBox(points) {\n if (isEmpty(points)) {\n return null;\n }\n\n let minX = points[0].x;\n let maxX = points[0].x;\n let minY = points[0].y;\n let maxY = points[0].y;\n each(points, (point) => {\n minX = minX > point.x ? point.x : minX;\n maxX = maxX < point.x ? point.x : maxX;\n minY = minY > point.y ? point.y : minY;\n maxY = maxY < point.y ? point.y : maxY;\n });\n\n return {\n minX,\n maxX,\n minY,\n maxY,\n centerX: (minX + maxX) / 2,\n centerY: (minY + maxY) / 2,\n };\n}\n\nfunction uniqueValues(array: T[]) {\n return Array.from(new Set(array)).length === 1;\n}\n\nfunction mid(array: number[]) {\n return (min(array) + max(array)) / 2;\n}\n\n/**\n * @ignore\n * 根据弧度计算极坐标系下的坐标点\n * @param centerX\n * @param centerY\n * @param radius\n * @param angleInRadian\n * @returns\n */\nexport function polarToCartesian(centerX: number, centerY: number, radius: number, angleInRadian: number) {\n return {\n x: centerX + radius * Math.cos(angleInRadian),\n y: centerY + radius * Math.sin(angleInRadian),\n };\n}\n\n/**\n * @ignore\n * 根据起始角度计算绘制扇形的 path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getSectorPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number,\n innerRadius: number = 0\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n const innerStart = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian);\n const innerEnd = polarToCartesian(centerX, centerY, innerRadius, endAngleInRadian);\n\n if (endAngleInRadian - startAngleInRadian === Math.PI * 2) {\n // 整个圆是分割成两个圆\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n const innerMiddlePoint = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian + Math.PI);\n const circlePathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, end.x, end.y],\n ['M', innerStart.x, innerStart.y],\n ];\n if (innerRadius) {\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerMiddlePoint.x, innerMiddlePoint.y]);\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerEnd.x, innerEnd.y]);\n }\n\n circlePathCommands.push(['M', start.x, start.y]);\n circlePathCommands.push(['Z']);\n\n return circlePathCommands;\n }\n\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n const sectorPathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ['L', innerEnd.x, innerEnd.y],\n ];\n if (innerRadius) {\n sectorPathCommands.push(['A', innerRadius, innerRadius, 0, arcSweep, 0, innerStart.x, innerStart.y]);\n }\n sectorPathCommands.push(['L', start.x, start.y]);\n sectorPathCommands.push(['Z']);\n\n return sectorPathCommands;\n}\n\n/**\n * @ignore\n * Gets arc path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getArcPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n if (isNumberEqual(endAngleInRadian - startAngleInRadian, Math.PI * 2)) {\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, start.x, start.y],\n ['A', radius, radius, 0, 1, 0, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 0, start.x, start.y],\n ['Z'],\n ];\n }\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ];\n}\n\n/**\n * @ignore\n * 从数据模型中的 points 换算角度\n * @param shapeModel\n * @param coordinate\n * @returns\n */\nexport function getAngle(shapeModel: ShapeInfo, coordinate: Coordinate) {\n const points = shapeModel.points;\n const box = getPointsBox(points);\n let endAngle;\n let startAngle;\n const { startAngle: coordStartAngle, endAngle: coordEndAngle } = coordinate;\n const diffAngle = coordEndAngle - coordStartAngle;\n\n if (coordinate.isTransposed) {\n endAngle = box.maxY * diffAngle;\n startAngle = box.minY * diffAngle;\n } else {\n endAngle = box.maxX * diffAngle;\n startAngle = box.minX * diffAngle;\n }\n endAngle += coordStartAngle;\n startAngle += coordStartAngle;\n return {\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 计算多边形重心: https://en.wikipedia.org/wiki/Centroid#Of_a_polygon\n */\nexport function getPolygonCentroid(xs: number | number[], ys: number | number[]) {\n if (isNumber(xs) && isNumber(ys)) {\n // 普通色块图,xs 和 ys 是数值\n return [xs, ys];\n }\n\n xs = xs as number[];\n ys = ys as number[];\n // 当这个 polygon 的点在一条线上的时候\n // 也就是说 xs 里面的值都相同,比如:[1, 1, 1, 1]\n // 或者说 ys 里面的值都相同,比如:[0, 0, 0, 0]\n // 下面计算得到的 k = 0\n // 导致返回的值是 [NaN, NaN]\n // 所以这里做相应的处理\n if (uniqueValues(xs) || uniqueValues(ys)) return [mid(xs), mid(ys)];\n\n let i = -1;\n let x = 0;\n let y = 0;\n let former;\n let current = xs.length - 1;\n let diff;\n let k = 0;\n while (++i < xs.length) {\n former = current;\n current = i;\n k += diff = xs[former] * ys[current] - xs[current] * ys[former];\n x += (xs[former] + xs[current]) * diff;\n y += (ys[former] + ys[current]) * diff;\n }\n k *= 3;\n return [x / k, y / k];\n}\n\n/**\n * @ignore\n * 获取需要替换的属性,如果原先图形元素存在,而新图形不存在,则设置 undefined\n */\nexport function getReplaceAttrs(sourceShape: IShape, targetShape: IShape) {\n const originAttrs = sourceShape.attr();\n const newAttrs = targetShape.attr();\n each(originAttrs, (v, k) => {\n if (newAttrs[k] === undefined) {\n newAttrs[k] = undefined;\n }\n });\n return newAttrs;\n}\n","import { isArray, isString } from '@antv/util';\n\n/**\n * @ignore\n * Determines whether between is\n * @param value\n * @param start\n * @param end\n * @returns true if between\n */\nexport function isBetween(value: number, start: number, end: number): boolean {\n const min = Math.min(start, end);\n const max = Math.max(start, end);\n\n return value >= min && value <= max;\n}\n\n/**\n * @ignore\n * pads the current string/array with a given value (repeated, if needed) so that the resulting reaches a given length.\n * The padding is applied from the end of the current value.\n *\n * @param source\n * @param targetLength\n * @param padValue\n * @returns\n */\nexport function padEnd(source: string | any[], targetLength: number, padValue: any) {\n if (isString(source)) {\n return source.padEnd(targetLength, padValue);\n } else if (isArray(source)) {\n const sourceLength = source.length;\n if (sourceLength < targetLength) {\n const diff = targetLength - sourceLength;\n for (let i = 0; i < diff; i++) {\n source.push(padValue);\n }\n }\n }\n\n return source;\n}\n\n/**\n * @ignore\n * omit keys of an object.\n * @param obj\n * @param keys\n */\nexport function omit(obj: T, keys: string[]): T {\n if (typeof obj === 'object') {\n keys.forEach((key: string) => {\n delete obj[key];\n });\n }\n\n return obj;\n}\n\n/**\n * @ignore\n * @param sourceArray\n * @param targetArray\n * @param map\n */\nexport function uniq(sourceArray: any[], targetArray: any[] = [], map: Map = new Map()) {\n for (const source of sourceArray) {\n if (!map.has(source)) {\n targetArray.push(source);\n map.set(source, true);\n }\n }\n return targetArray;\n}\n","import { each } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Padding, Point, Region } from '../interface';\nimport { BBox as BBoxObject } from '../dependents';\n\n/**\n * 用于包围盒计算。\n */\nexport class BBox {\n /** x 轴坐标系 */\n public x: number;\n /** y 轴坐标系 */\n public y: number;\n /** 包围盒高度 */\n public height: number;\n /** 包围盒宽度 */\n public width: number;\n\n public static fromRange(minX: number, minY: number, maxX: number, maxY: number) {\n return new BBox(minX, minY, maxX - minX, maxY - minY);\n }\n\n public static fromObject(bbox: BBoxObject) {\n return new BBox(bbox.minX, bbox.minY, bbox.width, bbox.height);\n }\n\n constructor(x: number = 0, y: number = 0, width: number = 0, height: number = 0) {\n this.x = x;\n this.y = y;\n this.height = height;\n this.width = width;\n }\n\n public get minX(): number {\n return this.x;\n }\n\n public get maxX(): number {\n return this.x + this.width;\n }\n\n public get minY(): number {\n return this.y;\n }\n\n public get maxY(): number {\n return this.y + this.height;\n }\n\n public get tl(): Point {\n return { x: this.x, y: this.y };\n }\n\n public get tr(): Point {\n return { x: this.maxX, y: this.y };\n }\n\n public get bl(): Point {\n return { x: this.x, y: this.maxY };\n }\n\n public get br(): Point {\n return { x: this.maxX, y: this.maxY };\n }\n\n public get top(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.minY,\n };\n }\n\n public get right(): Point {\n return {\n x: this.maxX,\n y: this.y + this.height / 2,\n };\n }\n public get bottom(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.maxY,\n };\n }\n public get left(): Point {\n return {\n x: this.minX,\n y: this.y + this.height / 2,\n };\n }\n // end 计算属性\n\n /**\n * 包围盒是否相等\n * @param {BBox} bbox 包围盒\n * @returns 包围盒是否相等\n */\n public isEqual(bbox: BBox): boolean {\n return this.x === bbox.x && this.y === bbox.y && this.width === bbox.width && this.height === bbox.height;\n }\n\n /**\n * 是否包含了另一个包围盒\n * @param child\n */\n public contains(child: BBox): boolean {\n return child.minX >= this.minX && child.maxX <= this.maxX && child.minY >= this.minY && child.maxY <= this.maxY;\n }\n\n /**\n * 克隆包围盒\n * @returns 包围盒\n */\n public clone(): BBox {\n return new BBox(this.x, this.y, this.width, this.height);\n }\n\n /**\n * 取并集\n * @param subBBox\n */\n public add(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.min(b.x, bbox.x);\n bbox.y = Math.min(b.y, bbox.y);\n bbox.width = Math.max(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.max(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * 取交集\n * @param subBBox\n */\n public merge(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.max(b.x, bbox.x);\n bbox.y = Math.max(b.y, bbox.y);\n bbox.width = Math.min(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.min(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * bbox 剪裁\n * @param subBBox\n * @param direction\n */\n public cut(subBBox: BBox, direction: DIRECTION): BBox {\n const width = subBBox.width;\n const height = subBBox.height;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n return BBox.fromRange(this.minX, this.minY + height, this.maxX, this.maxY);\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n return BBox.fromRange(this.minX, this.minY, this.maxX - width, this.maxY);\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n return BBox.fromRange(this.minX, this.minY, this.maxX, this.maxY - height);\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n return BBox.fromRange(this.minX + width, this.minY, this.maxX, this.maxY);\n default:\n // 其他情况不裁剪,原样返回\n return this;\n }\n }\n\n /**\n * 收缩形成新的\n * @param gap\n */\n public shrink(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x + left, this.y + top, this.width - left - right, this.height - top - bottom);\n }\n\n /**\n * 扩张形成新的\n * @param gap\n */\n public expand(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x - left, this.y - top, this.width + left + right, this.height + top + bottom);\n }\n\n /**\n * get the gap of two bbox, if not exceed, then 0\n * @param bbox\n * @returns [top, right, bottom, left]\n */\n public exceed(bbox: BBox): Padding {\n return [\n Math.max(-this.minY + bbox.minY, 0),\n Math.max(this.maxX - bbox.maxX, 0),\n Math.max(this.maxY - bbox.maxY, 0),\n Math.max(-this.minX + bbox.minX, 0),\n ];\n }\n\n /**\n * 是否碰撞\n * @param bbox\n */\n public collide(bbox: BBox): boolean {\n return this.minX < bbox.maxX && this.maxX > bbox.minX && this.minY < bbox.maxY && this.maxY > bbox.minY;\n }\n\n /**\n * 获取包围盒大小\n * @returns 包围盒大小\n */\n public size(): number {\n return this.width * this.height;\n }\n\n /**\n * 点是否在 bbox 中\n * @param p\n */\n public isPointIn(p: Point) {\n return p.x >= this.minX && p.x <= this.maxX && p.y >= this.minY && p.y <= this.maxY;\n }\n}\n\n/**\n * 从一个 bbox 的 region 获取 bbox\n * @param bbox\n * @param region\n */\nexport const getRegionBBox = (bbox: BBox, region: Region): BBox => {\n const { start, end } = region;\n\n return new BBox(\n bbox.x + bbox.width * start.x,\n bbox.y + bbox.height * start.y,\n bbox.width * Math.abs(end.x - start.x),\n bbox.height * Math.abs(end.y - start.y)\n );\n};\n\n/**\n * 将 bbox 转换成 points\n * @param bbox\n */\nexport function toPoints(bbox: Partial): any[] {\n return [\n [bbox.minX, bbox.minY],\n [bbox.maxX, bbox.minY],\n [bbox.maxX, bbox.maxY],\n [bbox.minX, bbox.maxY],\n ];\n}\n","import { Coordinate } from '../dependents';\nimport { Point } from '../interface';\nimport { getSectorPath } from './graphics';\nimport { isBetween } from './helper';\nimport { BBox } from './bbox';\n\n/**\n * @ignore\n * Gets x dimension length\n * @param coordinate\n * @returns x dimension length\n */\nexport function getXDimensionLength(coordinate): number {\n if (coordinate.isPolar && !coordinate.isTransposed) {\n // 极坐标系下 width 为弧长\n return (coordinate.endAngle - coordinate.startAngle) * coordinate.getRadius();\n }\n\n // 直角坐标系\n const start = coordinate.convert({ x: 0, y: 0 });\n const end = coordinate.convert({ x: 1, y: 0 });\n // 坐标系有可能发生 transpose 等变换,所有通过两点之间的距离进行计算\n return Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2));\n}\n\n/**\n * @ignore\n * Determines whether full circle is\n * @param coordinate\n * @returns true if full circle\n */\nexport function isFullCircle(coordinate: Coordinate): boolean {\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n return endAngle - startAngle === Math.PI * 2;\n }\n return false;\n}\n\n/**\n * @ignore\n * 获取当前点到坐标系圆心的距离\n * @param coordinate 坐标系\n * @param point 当前点\n * @returns distance to center\n */\nexport function getDistanceToCenter(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter() as Point;\n return Math.sqrt((point.x - center.x) ** 2 + (point.y - center.y) ** 2);\n}\n\n/**\n * @ignore\n * 坐标点是否在坐标系中\n * @param coordinate\n * @param point\n */\nexport function isPointInCoordinate(coordinate: Coordinate, point: Point) {\n let result = false;\n\n if (coordinate) {\n if (coordinate.type === 'theta') {\n const { start, end } = coordinate;\n result = isBetween(point.x, start.x, end.x) && isBetween(point.y, start.y, end.y);\n } else {\n const invertPoint = coordinate.invert(point);\n\n result = isBetween(invertPoint.x, 0, 1) && isBetween(invertPoint.y, 0, 1);\n }\n }\n\n return result;\n}\n\n/**\n * @ignore\n * 获取点到圆心的连线与水平方向的夹角\n */\nexport function getAngleByPoint(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter();\n return Math.atan2(point.y - center.y, point.x - center.x);\n}\n\n/**\n * @ignore\n * 获取同坐标系范围相同的剪切区域\n * @param coordinate\n * @returns\n */\nexport function getCoordinateClipCfg(coordinate: Coordinate, margin: number = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n\n return {\n type: 'path',\n startState: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, startAngle),\n },\n endState: (ratio) => {\n const diff = (endAngle - startAngle) * ratio + startAngle;\n const path = getSectorPath(center.x, center.y, radius + margin, startAngle, diff);\n return {\n path,\n };\n },\n attrs: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, endAngle),\n },\n };\n }\n\n let endState;\n if (coordinate.isTransposed) {\n endState = {\n height: height + margin * 2,\n };\n } else {\n endState = {\n width: width + margin * 2,\n };\n }\n\n return {\n type: 'rect',\n startState: {\n x: start.x - margin,\n y: end.y - margin,\n width: coordinate.isTransposed ? width + margin * 2 : 0,\n height: coordinate.isTransposed ? 0 : height + margin * 2,\n },\n endState,\n attrs: {\n x: start.x - margin,\n y: end.y - margin,\n width: width + margin * 2,\n height: height + margin * 2,\n },\n };\n}\n\n/**\n * 获取坐标系范围的 BBox\n * @param coordinate\n * @param margin\n */\nexport function getCoordinateBBox(coordinate: Coordinate, margin = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const minX = Math.min(start.x, end.x);\n const minY = Math.min(start.y, end.y);\n\n return BBox.fromRange(minX - margin, minY - margin, minX + width + margin, minY + height + margin);\n}\n","import { firstValue, get, isEmpty, isNil, isNumber, isString, valuesOfKey } from '@antv/util';\nimport { getScale, Scale, Coordinate } from '../dependents';\nimport { LooseObject, ScaleOption, ViewCfg } from '../interface';\nimport { isFullCircle } from './coordinate';\n\nconst dateRegex =\n /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\\1(?:29|30)|(?:0?[13578]|1[02])\\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]+)0?2\\2(?:29))(\\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;\n\n/**\n * 获取字段对应数据的类型\n * @param field 数据字段名\n * @param data 数据源\n * @returns default type 返回对应的数据类型\n */\nfunction getDefaultType(value: any): string {\n let type = 'linear';\n if (dateRegex.test(value)) {\n type = 'timeCat';\n } else if (isString(value)) {\n type = 'cat';\n }\n return type;\n}\n\n/**\n * @ignore\n * 为指定的 `field` 字段数据创建 scale\n * @param field 字段名\n * @param [data] 数据集,可为空\n * @param [scaleDef] 列定义,可为空\n * @returns scale 返回创建的 Scale 实例\n */\nexport function createScaleByField(field: string | number, data?: LooseObject[] | [], scaleDef?: ScaleOption): Scale {\n const validData = data || [];\n\n if (isNumber(field) || (isNil(firstValue(validData, field)) && isEmpty(scaleDef))) {\n const Identity = getScale('identity');\n return new Identity({\n field: field.toString(),\n values: [field],\n });\n }\n\n const values = valuesOfKey(validData, field);\n\n // 如果已经定义过这个度量\n const type = get(scaleDef, 'type', getDefaultType(values[0]));\n const ScaleCtor = getScale(type);\n return new ScaleCtor({\n field,\n values,\n ...scaleDef,\n });\n}\n\n/**\n * @ignore\n * 同步 scale\n * @todo 是否可以通过 scale.update() 方法进行更新\n * @param scale 需要同步的 scale 实例\n * @param newScale 同步源 Scale\n */\nexport function syncScale(scale: Scale, newScale: Scale) {\n if (scale.type !== 'identity' && newScale.type !== 'identity') {\n const obj = {};\n for (const k in newScale) {\n if (Object.prototype.hasOwnProperty.call(newScale, k)) {\n obj[k] = newScale[k];\n }\n }\n\n scale.change(obj);\n }\n}\n\n/**\n * @ignore\n * get the scale name, if alias exist, return alias, or else field\n * @param scale\n * @returns the name of field\n */\nexport function getName(scale: Scale): string {\n return scale.alias || scale.field;\n}\n\n/**\n * 根据 scale values 和 coordinate 获取分类默认 range\n * @param scale 需要获取的 scale 实例\n * @param coordinate coordinate 实例\n * @param theme theme\n */\nexport function getDefaultCategoryScaleRange(\n scale: Scale,\n coordinate: Coordinate,\n theme: ViewCfg['theme']\n): Scale['range'] {\n const { values } = scale;\n const count = values.length;\n let range;\n\n if (count === 1) {\n range = [0.5, 1]; // 只有一个分类时,防止计算出现 [0.5,0.5] 的状态\n } else {\n let widthRatio = 1;\n let offset = 0;\n\n if (isFullCircle(coordinate)) {\n if (!coordinate.isTransposed) {\n range = [0, 1 - 1 / count];\n } else {\n widthRatio = get(theme, 'widthRatio.multiplePie', 1 / 1.3);\n offset = (1 / count) * widthRatio;\n range = [offset / 2, 1 - offset / 2];\n }\n } else {\n offset = 1 / count / 2; // 两边留下分类空间的一半\n range = [offset, 1 - offset]; // 坐标轴最前面和最后面留下空白防止绘制柱状图时\n }\n }\n return range;\n}\n\n/**\n * @function y轴scale的max\n * @param {yScale}\n */\nexport function getMaxScale(scale: Scale) {\n // 过滤values[]中 NaN/undefined/null 等\n const values = scale.values.filter((item) => !isNil(item) && !isNaN(item));\n\n return Math.max(...values, isNil(scale.max) ? -Infinity : scale.max);\n}\n","import { deepMix, get, isBoolean } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale } from '../dependents';\nimport { AxisCfg, AxisOption, Point, Region } from '../interface';\nimport { getName } from './scale';\nimport { vec2 } from '@antv/matrix-util';\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is rect\n * @param direction\n * @returns axis coordinate region\n */\nexport function getLineAxisRelativeRegion(direction: DIRECTION): Region {\n let start;\n let end;\n\n switch (direction) {\n case DIRECTION.TOP:\n start = { x: 0, y: 1 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.RIGHT:\n start = { x: 1, y: 0 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.BOTTOM:\n start = { x: 0, y: 0 };\n end = { x: 1, y: 0 };\n break;\n case DIRECTION.LEFT:\n start = { x: 0, y: 0 };\n end = { x: 0, y: 1 };\n break;\n default:\n start = end = { x: 0, y: 0 };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is polar\n * @param coordinate\n * @returns axis coordinate region\n */\nexport function getCircleAxisRelativeRegion(coordinate: Coordinate) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 1,\n y: 0,\n };\n } else {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 0,\n y: 1,\n };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get the axis region from coordinate\n * @param coordinate\n * @param direction\n * @returns the axis region (start point, end point)\n */\nexport function getAxisRegion(coordinate: Coordinate, direction: DIRECTION): Region {\n let region = { start: { x: 0, y: 0 }, end: { x: 0, y: 0 } };\n if (coordinate.isRect) {\n region = getLineAxisRelativeRegion(direction);\n } else if (coordinate.isPolar) {\n region = getCircleAxisRelativeRegion(coordinate);\n }\n\n const { start, end } = region;\n return {\n start: coordinate.convert(start),\n end: coordinate.convert(end),\n };\n}\n\n/**\n * @ignore\n * get axis factor\n * @param coordinate\n * @param direction\n * @returns factor\n */\nexport function getAxisFactor(coordinate: Coordinate, direction: DIRECTION): number {\n // rect coordinate, by direction\n if (coordinate.isRect) {\n return coordinate.isTransposed\n ? [DIRECTION.RIGHT, DIRECTION.BOTTOM].includes(direction)\n ? 1\n : -1\n : [DIRECTION.BOTTOM, DIRECTION.RIGHT].includes(direction)\n ? -1\n : 1;\n }\n\n // polar y axis, by angle\n if (coordinate.isPolar) {\n const startAngle = coordinate.x.start;\n return startAngle < 0 ? -1 : 1;\n }\n\n return 1;\n}\n\n/**\n * @ignore\n * whether the axis isVertical\n * @param region\n * @returns isVertical\n */\nexport function isVertical(region: Region): boolean {\n const { start, end } = region;\n\n return start.x === end.x;\n}\n\n/**\n * @ignore\n * get factor by region (real position)\n * @param region\n * @param center\n * @returns factor\n */\nexport function getAxisFactorByRegion(region: Region, center: Point): number {\n const { start, end } = region;\n\n const isAxisVertical = isVertical(region);\n\n // 垂直\n if (isAxisVertical) {\n // 左方,从下到上、右方,从上到下\n if ((start.y - end.y) * (center.x - start.x) > 0) {\n return 1;\n } else {\n return -1;\n }\n } else {\n // 下方,从左到右、上方,从右到做\n if ((end.x - start.x) * (start.y - center.y) > 0) {\n return -1;\n } else {\n return 1;\n }\n }\n}\n\n/**\n * @ignore\n * get the axis cfg from theme, will mix the common cfg of legend theme\n *\n * @param theme view theme object\n * @param direction axis direction\n * @returns axis theme cfg\n */\nexport function getAxisThemeCfg(theme: object, direction: string): object {\n const axisTheme = get(theme, ['components', 'axis'], {});\n return deepMix({}, get(axisTheme, ['common'], {}), deepMix({}, get(axisTheme, [direction], {})));\n}\n\n/**\n * get the options of axis title,mix the cfg from theme, avoid common themeCfg not work\n * @param theme\n * @param direction\n * @param axisOptions\n * @returns axis title options\n */\nexport function getAxisTitleOptions(theme: object, direction: string, axisOptions?: object): object {\n const axisTheme = get(theme, ['components', 'axis'], {});\n return deepMix(\n {},\n get(axisTheme, ['common', 'title'], {}),\n deepMix({}, get(axisTheme, [direction, 'title'], {})),\n axisOptions\n );\n}\n\n/**\n * @ignore\n * get circle axis center and radius\n * @param coordinate\n */\nexport function getCircleAxisCenterRadius(coordinate: Coordinate) {\n // @ts-ignore\n const { x, y, circleCenter: center } = coordinate;\n const isReflectY = y.start > y.end;\n const start = coordinate.isTransposed\n ? coordinate.convert({\n x: isReflectY ? 0 : 1,\n y: 0,\n })\n : coordinate.convert({\n x: 0,\n y: isReflectY ? 0 : 1,\n });\n\n const startVector: [number, number] = [start.x - center.x, start.y - center.y];\n const normalVector: [number, number] = [1, 0];\n const startAngle =\n start.y > center.y ? vec2.angle(startVector, normalVector) : vec2.angle(startVector, normalVector) * -1;\n const endAngle = startAngle + (x.end - x.start);\n const radius = Math.sqrt((start.x - center.x) ** 2 + (start.y - center.y) ** 2);\n\n return {\n center,\n radius,\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 从配置中获取单个字段的 axis 配置\n * @param axes\n * @param field\n * @returns the axis option of field\n */\nexport function getAxisOption(axes: Record | boolean, field: string) {\n if (isBoolean(axes)) {\n return axes === false ? false : {};\n }\n return get(axes, [field]);\n}\n\n/**\n * @ignore\n * 如果配置了 position,则使用配置\n * @param axisOption\n * @param def\n */\nexport function getAxisDirection(axisOption: AxisOption, def: DIRECTION): DIRECTION {\n return get(axisOption, 'position', def);\n}\n\n/**\n * 获取 axis 的 title 文本\n * @param scale\n * @param axisOption\n */\nexport function getAxisTitleText(scale: Scale, axisOption: AxisCfg): string {\n return get(axisOption, ['title', 'text'], getName(scale));\n}\n","import { deepMix, each, every, get, isNil, isNumber } from '@antv/util';\nimport { LAYER } from '../constant';\nimport { IGroup } from '../dependents';\nimport { AxisCfg, Condition, Datum, FacetCfg, FacetData, FacetDataFilter, Region } from '../interface';\n\nimport View from '../chart/view';\nimport { getAxisOption } from '../util/axis';\n\n/**\n * facet 基类\n * - 定义生命周期,方便自定义 facet\n * - 提供基础的生命流程方法\n *\n * 生命周期:\n *\n * 初始化 init\n * 1. 初始化容器\n * 2. 数据分面,生成分面布局信息\n *\n * 渲染阶段 render\n * 1. view 创建\n * 2. title\n * 3. axis\n *\n * 清除阶段 clear\n * 1. 清除 view\n *\n * 销毁阶段 destroy\n * 1. clear\n * 2. 清除事件\n * 3. 清除 group\n */\nexport abstract class Facet = FacetCfg, F extends FacetData = FacetData> {\n /** 分面所在的 view */\n public view: View;\n /** 分面容器 */\n public container: IGroup;\n /** 是否销毁 */\n public destroyed: boolean = false;\n\n /** 分面的配置项 */\n protected cfg: C;\n /** 分面之后的所有分面数据结构 */\n protected facets: F[] = [];\n\n constructor(view: View, cfg: C) {\n this.view = view;\n this.cfg = deepMix({}, this.getDefaultCfg(), cfg);\n }\n\n /**\n * 初始化过程\n */\n public init() {\n // 初始化容器\n if (!this.container) {\n this.container = this.createContainer();\n }\n\n // 生成分面布局信息\n const data = this.view.getData();\n this.facets = this.generateFacets(data);\n }\n\n /**\n * 渲染分面,由上层 view 调用。包括:\n * - 分面 view\n * - 轴\n * - title\n *\n * 子类可以复写,添加一些其他组件,比如滚动条等\n */\n public render() {\n this.renderViews();\n }\n\n /**\n * 更新 facet\n */\n public update() {\n // 其实不用做任何事情,因为 facet 最终生成的 View 和 Geometry 都在父 view 的更新中处理了\n }\n\n /**\n * 清空,clear 之后如果还需要使用,需要重新调用 init 初始化过程\n * 一般在数据有变更的时候调用,重新进行数据的分面逻辑\n */\n public clear() {\n this.clearFacetViews();\n }\n\n /**\n * 销毁\n */\n public destroy() {\n this.clear();\n\n if (this.container) {\n this.container.remove(true);\n this.container = undefined;\n }\n\n this.destroyed = true;\n this.view = undefined;\n this.facets = [];\n }\n\n /**\n * 根据 facet 生成 view,可以给上层自定义使用\n * @param facet\n */\n protected facetToView(facet: F): View {\n const { region, data, padding = this.cfg.padding } = facet;\n\n const view = this.view.createView({\n region,\n padding,\n });\n\n // 设置分面的数据\n view.data(data || []);\n facet.view = view;\n\n // 前置钩子\n this.beforeEachView(view, facet);\n\n const { eachView } = this.cfg;\n if (eachView) {\n eachView(view, facet);\n }\n\n // 后置钩子\n this.afterEachView(view, facet);\n\n return view;\n }\n\n // 创建容器\n private createContainer(): IGroup {\n const foregroundGroup = this.view.getLayer(LAYER.FORE);\n return foregroundGroup.addGroup();\n }\n\n /**\n * 初始化 view\n */\n private renderViews() {\n this.createFacetViews();\n }\n\n /**\n * 创建 分面 view\n */\n private createFacetViews(): View[] {\n // 使用分面数据 创建分面 view\n return this.facets.map((facet): View => {\n return this.facetToView(facet);\n });\n }\n\n /**\n * 从 view 中清除 facetView\n */\n private clearFacetViews() {\n // 从 view 中移除分面 view\n each(this.facets, (facet) => {\n if (facet.view) {\n this.view.removeView(facet.view);\n facet.view = undefined;\n }\n });\n }\n\n /**\n * 解析 spacing\n */\n private parseSpacing() {\n /**\n * @example\n *\n * // 仅使用百分比或像素值\n * // 横向间隔为 10%,纵向间隔为 10%\n * ['10%', '10%']\n * // 横向间隔为 10px,纵向间隔为 10px\n * [10, 10]\n *\n * // 同时使用百分比和像素值\n * ['10%', 10]\n * // 横向间隔为 10%,纵向间隔为 10px\n */\n const { width, height } = this.view.viewBBox;\n const { spacing } = this.cfg;\n return spacing.map((s: number, idx: number) => {\n if (isNumber(s)) return s / (idx === 0 ? width : height);\n else return parseFloat(s) / 100;\n });\n }\n\n // 其他一些提供给子类使用的方法\n\n /**\n * 获取这个字段对应的所有值,数组\n * @protected\n * @param data 数据\n * @param field 字段名\n * @return 字段对应的值\n */\n protected getFieldValues(data: Datum[], field: string): string[] {\n const rst = [];\n const cache: Record = {};\n\n // 去重、去除 Nil 值\n each(data, (d: Datum) => {\n const value = d[field];\n if (!isNil(value) && !cache[value]) {\n rst.push(value);\n cache[value] = true;\n }\n });\n\n return rst;\n }\n\n /**\n * 获得每个分面的 region,平分区域\n * @param rows row 总数\n * @param cols col 总数\n * @param xIndex x 方向 index\n * @param yIndex y 方向 index\n */\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number): Region {\n const [xSpacing, ySpacing] = this.parseSpacing();\n // 每两个分面区域横向间隔xSPacing, 纵向间隔ySpacing\n // 每个分面区域的横纵占比\n /**\n * ratio * num + spacing * (num - 1) = 1\n * => ratio = (1 - (spacing * (num - 1))) / num\n * = (1 + spacing) / num - spacing\n *\n * num 对应 cols/rows\n * spacing 对应 xSpacing/ySpacing\n */\n const xRatio = (1 + xSpacing) / (cols === 0 ? 1 : cols) - xSpacing;\n const yRatio = (1 + ySpacing) / (rows === 0 ? 1 : rows) - ySpacing;\n\n // 得到第 index 个分面区域百分比位置\n const start = {\n x: (xRatio + xSpacing) * xIndex,\n y: (yRatio + ySpacing) * yIndex,\n };\n const end = {\n x: start.x + xRatio,\n y: start.y + yRatio,\n };\n return { start, end };\n }\n\n protected getDefaultCfg() {\n return {\n eachView: undefined,\n showTitle: true,\n spacing: [0, 0],\n padding: 10,\n fields: [],\n };\n }\n\n /**\n * 默认的 title 样式,因为有的分面是 title,有的分面配置是 columnTitle、rowTitle\n */\n protected getDefaultTitleCfg() {\n // @ts-ignore\n const fontFamily = this.view.getTheme().fontFamily;\n return {\n style: {\n fontSize: 14,\n fill: '#666',\n fontFamily,\n },\n };\n }\n\n /**\n * 处理 axis 的默认配置\n * @param view\n * @param facet\n */\n protected processAxis(view: View, facet: F) {\n const options = view.getOptions();\n\n const coordinateOption = options.coordinate;\n const geometries = view.geometries;\n\n const coordinateType = get(coordinateOption, 'type', 'rect');\n\n if (coordinateType === 'rect' && geometries.length) {\n if (isNil(options.axes)) {\n // @ts-ignore\n options.axes = {};\n }\n const axes = options.axes;\n\n const [x, y] = geometries[0].getXYFields();\n\n const xOption = getAxisOption(axes, x);\n const yOption = getAxisOption(axes, y);\n\n if (xOption !== false) {\n options.axes[x] = this.getXAxisOption(x, axes, xOption, facet);\n }\n\n if (yOption !== false) {\n options.axes[y] = this.getYAxisOption(y, axes, yOption, facet);\n }\n }\n }\n\n /**\n * 获取分面数据\n * @param conditions\n */\n protected getFacetDataFilter(conditions: Condition[]): FacetDataFilter {\n return (datum: Datum) => {\n // 过滤出全部满足条件的数据\n return every(conditions, (condition) => {\n const { field, value } = condition;\n\n if (!isNil(value) && field) {\n return datum[field] === value;\n }\n return true;\n });\n };\n }\n\n /**\n * @override 开始处理 eachView\n * @param view\n * @param facet\n */\n protected abstract beforeEachView(view: View, facet: F);\n\n /**\n * @override 处理 eachView 之后\n * @param view\n * @param facet\n */\n protected abstract afterEachView(view: View, facet: F);\n\n /**\n * @override 生成分面数据,包含布局\n * @param data\n */\n protected abstract generateFacets(data: Datum[]): F[];\n\n /**\n * 获取 x 轴的配置\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getXAxisOption(x: string, axes: any, option: AxisCfg, facet: F): object;\n\n /**\n * 获取 y 轴的配置\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getYAxisOption(y: string, axes: any, option: AxisCfg, facet: F): object;\n}\n","import { lowerCase } from '@antv/util';\nimport { FacetCtor } from '../interface';\nexport { Facet } from './facet';\n\n/**\n * 所有的 Facet 类\n */\nconst Facets: Record = {};\n\n/**\n * 根据 type 获取 facet 类\n * @param type 分面类型\n */\nexport const getFacet = (type: string): FacetCtor => {\n return Facets[lowerCase(type)];\n};\n\n/**\n * 注册一个 Facet 类\n * @param type 分面类型\n * @param ctor 分面类\n */\nexport const registerFacet = (type: string, ctor: FacetCtor) => {\n Facets[lowerCase(type)] = ctor;\n};\n","import { assign } from '@antv/util';\nimport { IAction, IInteractionContext, LooseObject } from '../../interface';\n\n/**\n * Action 的基类\n */\nabstract class Action implements IAction {\n /** Action 名字 */\n public name;\n /** 上下文对象 */\n public context: IInteractionContext;\n /** Action 配置 */\n protected cfg: T;\n /** 配置项的字段,自动负值到 this 上 */\n protected cfgFields: string[];\n\n constructor(context: IInteractionContext, cfg?: T) {\n this.context = context;\n this.cfg = cfg;\n context.addAction(this);\n }\n\n /**\n * 设置配置项传入的值\n * @param cfg\n */\n protected applyCfg(cfg) {\n assign(this, cfg);\n }\n\n /**\n * Inits action,提供给子类用于继承\n */\n public init() {\n this.applyCfg(this.cfg);\n }\n\n /**\n * Destroys action\n */\n public destroy() {\n // 移除 action\n this.context.removeAction(this);\n // 清空\n this.context = null;\n }\n}\n\nexport default Action;\n","import { ActionCallback } from '../../interface';\nimport Action from './base';\n\n/** 回调函数构建的 Action */\nexport default class CallbackAction extends Action {\n /**\n * 回调函数\n */\n public callback: ActionCallback;\n /**\n * 执行\n */\n public execute() {\n if (this.callback) {\n this.callback(this.context);\n }\n }\n /**\n * 销毁\n */\n public destroy() {\n super.destroy();\n this.callback = null;\n }\n}\n","import { ActionCallback, IInteractionContext, LooseObject } from '../../interface';\nimport Action from './base';\nimport CallbackAction from './callback';\nimport { get } from '@antv/util';\n\n/** Action 构造函数 */\ntype ActionConstructor = new (context: IInteractionContext, cfg?: LooseObject) => Action;\n\n/** @ignore */\ninterface ActionOption {\n ActionClass: ActionConstructor;\n cfg: LooseObject;\n}\n\n// Action 类的缓存\nconst ActionCache: Record = {};\n\n/**\n * 根据名称获取 Action 实例\n * @param actionName - action 的名称\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createAction(actionName: string, context: IInteractionContext): Action {\n const actionOption = ActionCache[actionName];\n let action = null;\n if (actionOption) {\n const { ActionClass, cfg } = actionOption;\n action = new ActionClass(context, cfg);\n action.name = actionName;\n action.init();\n }\n return action;\n}\n\n/**\n * 根据 action 的 name 获取定义的类\n * @param actionName action 的 name\n */\nexport function getActionClass(actionName: string): ActionConstructor {\n const actionOption = ActionCache[actionName];\n return get(actionOption, 'ActionClass');\n}\n\n/**\n * 注册 Action\n * @param actionName - action 的名称\n * @param ActionClass - 继承自 action 的类\n */\nexport function registerAction(actionName: string, ActionClass: ActionConstructor, cfg?: LooseObject) {\n ActionCache[actionName] = {\n ActionClass,\n cfg,\n };\n}\n\n/**\n * 取消注册 Action\n * @param actionName action 名称\n */\nexport function unregisterAction(actionName: string) {\n delete ActionCache[actionName];\n}\n\n/**\n * 根据回调函数获取 Action 实例\n * @param callback - action 的回调函数\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createCallbackAction(callback: ActionCallback, context: IInteractionContext): CallbackAction {\n const action = new CallbackAction(context);\n action.callback = callback;\n action.name = 'callback';\n return action;\n}\n","import { vec2 } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position } from '../../../interface';\nimport { getDistanceToCenter } from '../../../util/coordinate';\n\nfunction _points2path(points: Point[], isInCircle: boolean): PathCommand[] {\n const path = [];\n if (points.length) {\n path.push(['M', points[0].x, points[0].y]);\n for (let i = 1, length = points.length; i < length; i += 1) {\n const item = points[i];\n path.push(['L', item.x, item.y]);\n }\n\n if (isInCircle) {\n path.push(['Z']);\n }\n }\n\n return path;\n}\n\nfunction _convertArr(arr: number[], coord: Coordinate): any[] {\n const tmp = [arr[0]];\n for (let i = 1, len = arr.length; i < len; i = i + 2) {\n const point = coord.convert({\n x: arr[i],\n y: arr[i + 1],\n });\n tmp.push(point.x, point.y);\n }\n return tmp;\n}\nfunction _convertArcPath(path: PathCommand, coord: Coordinate): any[] {\n const { isTransposed } = coord;\n const r = path[1];\n const x = path[6];\n const y = path[7];\n const point = coord.convert({ x, y });\n const direction = isTransposed ? 0 : 1;\n return ['A', r, r, 0, 0, direction, point.x, point.y];\n}\n\nfunction _convertPolarPath(pre: PathCommand, cur: PathCommand, coord: Coordinate): PathCommand[] {\n const { isTransposed, startAngle, endAngle } = coord;\n const prePoint =\n pre[0].toLowerCase() === 'a'\n ? {\n x: pre[6],\n y: pre[7],\n }\n : {\n x: pre[1],\n y: pre[2],\n };\n const curPoint = {\n x: cur[1],\n y: cur[2],\n };\n const rst = [];\n const xDim = isTransposed ? 'y' : 'x';\n const angleRange = Math.abs(curPoint[xDim] - prePoint[xDim]) * (endAngle - startAngle);\n const direction = curPoint[xDim] >= prePoint[xDim] ? 1 : 0; // 圆弧的方向\n const flag = angleRange > Math.PI ? 1 : 0; // 大弧还是小弧标志位\n const convertPoint = coord.convert(curPoint);\n const r = getDistanceToCenter(coord, convertPoint);\n if (r >= 0.5) {\n // 小于1像素的圆在图像上无法识别\n if (angleRange === Math.PI * 2) {\n const middlePoint = {\n x: (curPoint.x + prePoint.x) / 2,\n y: (curPoint.y + prePoint.y) / 2,\n };\n const middleConvertPoint = coord.convert(middlePoint);\n rst.push(['A', r, r, 0, flag, direction, middleConvertPoint.x, middleConvertPoint.y]);\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n } else {\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n }\n }\n return rst;\n}\n\n// 当存在整体的圆时,去除圆前面和后面的线,防止出现直线穿过整个圆的情形\nfunction _filterFullCirleLine(path: PathCommand[]) {\n each(path, (subPath, index) => {\n const cur = subPath;\n if (cur[0].toLowerCase() === 'a') {\n const pre = path[index - 1];\n const next = path[index + 1];\n if (next && next[0].toLowerCase() === 'a') {\n if (pre && pre[0].toLowerCase() === 'l') {\n pre[0] = 'M';\n }\n } else if (pre && pre[0].toLowerCase() === 'a') {\n if (next && next[0].toLowerCase() === 'l') {\n next[0] = 'M';\n }\n }\n }\n });\n}\n\n/**\n * @ignore\n * 计算光滑的贝塞尔曲线\n */\nexport const smoothBezier = (\n points: Position[],\n smooth: number,\n isLoop: boolean,\n constraint: Position[]\n): Position[] => {\n const cps = [];\n const hasConstraint = !!constraint;\n\n let prevPoint: Position;\n let nextPoint: Position;\n let min: Position;\n let max: Position;\n let nextCp0: Position;\n let cp1: Position;\n let cp0: Position;\n\n if (hasConstraint) {\n [min, max] = constraint;\n for (let i = 0, l = points.length; i < l; i++) {\n const point = points[i];\n min = vec2.min([0, 0], min, point) as [number, number];\n max = vec2.max([0, 0], max, point) as [number, number];\n }\n }\n\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (i === 0 && !isLoop) {\n cp0 = point;\n } else if (i === len - 1 && !isLoop) {\n cp1 = point;\n cps.push(cp0);\n cps.push(cp1);\n } else {\n prevPoint = points[isLoop ? (i ? i - 1 : len - 1) : i - 1];\n nextPoint = points[isLoop ? (i + 1) % len : i + 1];\n\n let v: [number, number] = [0, 0];\n v = vec2.sub(v, nextPoint, prevPoint) as [number, number];\n v = vec2.scale(v, v, smooth) as [number, number];\n\n let d0 = vec2.distance(point, prevPoint);\n let d1 = vec2.distance(point, nextPoint);\n\n const sum = d0 + d1;\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n let v1 = vec2.scale([0, 0], v, -d0);\n let v2 = vec2.scale([0, 0], v, d1);\n\n cp1 = vec2.add([0, 0], point, v1) as Position;\n nextCp0 = vec2.add([0, 0], point, v2) as Position;\n\n // 下一个控制点必须在这个点和下一个点之间\n nextCp0 = vec2.min([0, 0], nextCp0, vec2.max([0, 0], nextPoint, point)) as Position;\n nextCp0 = vec2.max([0, 0], nextCp0, vec2.min([0, 0], nextPoint, point)) as Position;\n\n // 重新计算 cp1 的值\n v1 = vec2.sub([0, 0], nextCp0, point);\n v1 = vec2.scale([0, 0], v1, -d0 / d1);\n cp1 = vec2.add([0, 0], point, v1) as Position;\n\n // 上一个控制点必须要在上一个点和这一个点之间\n cp1 = vec2.min([0, 0], cp1, vec2.max([0, 0], prevPoint, point)) as Position;\n cp1 = vec2.max([0, 0], cp1, vec2.min([0, 0], prevPoint, point)) as Position;\n\n // 重新计算 nextCp0 的值\n v2 = vec2.sub([0, 0], point, cp1);\n v2 = vec2.scale([0, 0], v2, d1 / d0);\n nextCp0 = vec2.add([0, 0], point, v2) as Position;\n\n if (hasConstraint) {\n cp1 = vec2.max([0, 0], cp1, min) as Position;\n cp1 = vec2.min([0, 0], cp1, max) as Position;\n nextCp0 = vec2.max([0, 0], nextCp0, min) as Position;\n nextCp0 = vec2.min([0, 0], nextCp0, max) as Position;\n }\n\n cps.push(cp0);\n cps.push(cp1);\n cp0 = nextCp0;\n }\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n\n return cps;\n};\n\n/**\n * @ignore\n * 贝塞尔曲线\n */\nexport function catmullRom2bezier(crp: number[], z: boolean, constraint: Position[]): PathCommand[] {\n const isLoop = !!z;\n const pointList = [];\n for (let i = 0, l = crp.length; i < l; i += 2) {\n pointList.push([crp[i], crp[i + 1]]);\n }\n\n const controlPointList = smoothBezier(pointList, 0.4, isLoop, constraint);\n const len = pointList.length;\n const d1 = [];\n\n let cp1: Position;\n let cp2: Position;\n let p: Position;\n\n for (let i = 0; i < len - 1; i++) {\n cp1 = controlPointList[i * 2];\n cp2 = controlPointList[i * 2 + 1];\n p = pointList[i + 1];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n\n if (isLoop) {\n cp1 = controlPointList[len];\n cp2 = controlPointList[len + 1];\n p = pointList[0];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n return d1;\n}\n\n/**\n * @ignore\n * 将点连接成路径 path\n */\nexport function getLinePath(points: Point[], isInCircle?: boolean): PathCommand[] {\n return _points2path(points, isInCircle);\n}\n\n/**\n * @ignore\n * 根据关键点获取限定了范围的平滑线\n */\nexport function getSplinePath(points: Point[], isInCircle?: boolean, constaint?: Position[]): PathCommand[] {\n const data = [];\n const first = points[0];\n let prePoint = null;\n if (points.length <= 2) {\n // 两点以内直接绘制成路径\n return getLinePath(points, isInCircle);\n }\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!prePoint || !(prePoint.x === point.x && prePoint.y === point.y)) {\n data.push(point.x);\n data.push(point.y);\n prePoint = point;\n }\n }\n const constraint = constaint || [\n // 范围\n [0, 0],\n [1, 1],\n ];\n const splinePath = catmullRom2bezier(data, isInCircle, constraint);\n splinePath.unshift(['M', first.x, first.y]);\n return splinePath;\n}\n\n/**\n * @ignore\n * 将归一化后的路径数据转换成坐标\n */\nexport function convertNormalPath(coord, path: PathCommand[]): PathCommand[] {\n const tmp = [];\n each(path, (subPath) => {\n const action = subPath[0];\n switch (action.toLowerCase()) {\n case 'm':\n case 'l':\n case 'c':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'a':\n tmp.push(_convertArcPath(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n return tmp;\n}\n\n/**\n * @ignore\n * 将路径转换为极坐标下的真实路径\n */\nexport function convertPolarPath(coord, path: PathCommand[]): PathCommand[] {\n let tmp = [];\n let pre: PathCommand;\n let cur: PathCommand;\n let transposed: boolean;\n let equals: boolean;\n each(path, (subPath, index) => {\n const action = subPath[0];\n\n switch (action.toLowerCase()) {\n case 'm':\n case 'c':\n case 'q':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'l':\n pre = path[index - 1];\n cur = subPath;\n transposed = coord.isTransposed;\n // 是否半径相同,转换成圆弧\n equals = transposed ? pre[pre.length - 2] === cur[1] : pre[pre.length - 1] === cur[2];\n if (equals) {\n tmp = tmp.concat(_convertPolarPath(pre, cur, coord));\n } else {\n // y 不相等,所以直接转换\n tmp.push(_convertArr(subPath, coord));\n }\n break;\n case 'a':\n tmp.push(_convertArcPath(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n _filterFullCirleLine(tmp); // 过滤多余的直线\n return tmp;\n}\n","import { each, isArray } from '@antv/util';\nimport { View } from '../../chart';\nimport { BBox, PathCommand, Point } from '../../dependents';\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element/';\nimport { catmullRom2bezier, getLinePath } from '../../geometry/shape/util/path';\nimport { toPoints } from '../../util/bbox';\nimport { isPolygonsIntersect } from '@antv/path-util';\nimport { ComponentOption, IInteractionContext, LooseObject } from '../../interface';\n\nfunction getMaskBBox(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n const maskBBox = maskShape.getCanvasBBox();\n // 如果 bbox 过小则不返回\n if (!(maskBBox.width >= tolerance || maskBBox.height >= tolerance)) {\n return null;\n }\n return maskBBox;\n}\n\nfunction getMaskPath(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n const maskBBox = maskShape.getCanvasBBox();\n // 如果 bbox 过小则不返回\n if (!(maskBBox.width >= tolerance || maskBBox.height >= tolerance)) {\n return null;\n }\n return maskShape.attr('path');\n}\n\n/**\n * 获取当前事件相关的图表元素\n * @param context 交互的上下文\n * @ignore\n */\nexport function getCurrentElement(context: IInteractionContext): Element {\n const event = context.event;\n let element;\n const target = event.target;\n if (target) {\n element = target.get('element');\n }\n return element;\n}\n\n/**\n * 获取委托对象\n * @param context 上下文\n * @ignore\n */\nexport function getDelegationObject(context: IInteractionContext): LooseObject {\n const event = context.event;\n const target = event.target;\n let delegateObject;\n if (target) {\n delegateObject = target.get('delegateObject');\n }\n return delegateObject;\n}\n\nexport function isElementChange(context: IInteractionContext) {\n const event = context.event.gEvent;\n // 在同一个 element 内部移动,label 和 shape 之间\n if (event && event.fromShape && event.toShape && event.fromShape.get('element') === event.toShape.get('element')) {\n return false;\n }\n return true;\n}\n\n/**\n * 是否是列表组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isList(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isList();\n}\n\n/**\n * 是否是滑块组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isSlider(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isSlider();\n}\n\n/**\n * 是否由 mask 触发\n * @param context 上下文\n * @ignore\n */\nexport function isMask(context: IInteractionContext): boolean {\n const event = context.event;\n const target = event.target;\n return target && target.get('name') === 'mask';\n}\n\n/**\n * 获取被遮挡的 elements\n * @param context 上下文\n * @ignore\n */\nexport function getMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const target = context.event.target;\n if (target.get('type') === 'path') {\n const maskPath = getMaskPath(context, tolerance);\n if (!maskPath) {\n return;\n }\n return getElementsByPath(context.view, maskPath);\n }\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getIntersectElements(context.view, maskBBox);\n}\n\n/**\n * @ignore\n */\nexport function getSiblingMaskElements(context: IInteractionContext, sibling: View, tolerance: number) {\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n const view = context.view;\n const start = getSiblingPoint(view, sibling, { x: maskBBox.x, y: maskBBox.y });\n const end = getSiblingPoint(view, sibling, { x: maskBBox.maxX, y: maskBBox.maxY });\n const box = {\n minX: start.x,\n minY: start.y,\n maxX: end.x,\n maxY: end.y,\n };\n return getIntersectElements(sibling, box);\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @ignore\n */\nexport function getElements(view: View): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.elements;\n rst = rst.concat(elements);\n });\n if (view.views && view.views.length) {\n each(view.views, (subView) => {\n rst = rst.concat(getElements(subView));\n });\n }\n return rst;\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @param field 字段名\n * @param value 字段值\n * @ignore\n */\nexport function getElementsByField(view: View, field: string, value: any) {\n const elements = getElements(view);\n return elements.filter((el) => {\n return getElementValue(el, field) === value;\n });\n}\n\n/**\n * 根据状态名获取图表元素\n * @param view View/Chart\n * @param stateName 状态名\n * @ignore\n */\nexport function getElementsByState(view: View, stateName: string): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.getElementsBy((el) => el.hasState(stateName));\n rst = rst.concat(elements);\n });\n return rst;\n}\n\n/**\n * 获取图表元素对应字段的值\n * @param element 图表元素\n * @param field 字段名\n * @ignore\n */\nexport function getElementValue(element: Element, field) {\n const model = element.getModel();\n const record = model.data;\n let value;\n if (isArray(record)) {\n value = record[0][field];\n } else {\n value = record[field];\n }\n return value;\n}\n\n/**\n * 两个包围盒是否相交\n * @param box1 包围盒1\n * @param box2 包围盒2\n * @ignore\n */\nexport function intersectRect(box1, box2) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\n\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param box 包围盒\n * @ignore\n */\nexport function getIntersectElements(view: View, box) {\n const elements = getElements(view);\n const rst = [];\n each(elements, (el) => {\n const shape = el.shape;\n const shapeBBox = shape.getCanvasBBox();\n if (intersectRect(box, shapeBBox)) {\n rst.push(el);\n }\n });\n return rst;\n}\nfunction pathToPoints(path: any[]) {\n const points = [];\n each(path, (seg) => {\n const command = seg[0];\n if (command !== 'A') {\n for (let i = 1; i < seg.length; i = i + 2) {\n points.push([seg[i], seg[i + 1]]);\n }\n } else {\n const length = seg.length;\n points.push([seg[length - 2], seg[length - 1]]);\n }\n });\n return points;\n}\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param path 路径\n * @ignore\n */\nexport function getElementsByPath(view: View, path: any[]) {\n const elements = getElements(view);\n const points = pathToPoints(path);\n const rst = elements.filter((el: Element) => {\n const shape = el.shape;\n let shapePoints;\n if (shape.get('type') === 'path') {\n shapePoints = pathToPoints(shape.attr('path'));\n } else {\n const shapeBBox = shape.getCanvasBBox();\n shapePoints = toPoints(shapeBBox);\n }\n return isPolygonsIntersect(points, shapePoints);\n });\n return rst;\n}\n\n/**\n * 获取当前 View 的所有组件\n * @param view View/Chart\n * @ignore\n */\nexport function getComponents(view) {\n return view.getComponents().map((co: ComponentOption) => co.component);\n}\n\n/** @ignore */\nexport function distance(p1: Point, p2: Point) {\n const dx = p2.x - p1.x;\n const dy = p2.y - p1.y;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\n/** @ignore */\nexport function getSpline(points: Point[], z: boolean): PathCommand[] {\n if (points.length <= 2) {\n return getLinePath(points, false);\n }\n const first = points[0];\n const arr = [];\n each(points, (point) => {\n arr.push(point.x);\n arr.push(point.y);\n });\n const path = catmullRom2bezier(arr, z, null);\n path.unshift(['M', first.x, first.y]);\n return path;\n}\n\n/**\n * 检测点是否在包围盒内\n * @param box 包围盒\n * @param point 点\n * @ignore\n */\nexport function isInBox(box: BBox, point: Point) {\n return box.x <= point.x && box.maxX >= point.x && box.y <= point.y && box.maxY > point.y;\n}\n\n/**\n * 获取同 view 同一级的 views\n * @param view 当前 view\n * @returns 同一级的 views\n * @ignore\n */\nexport function getSilbings(view: View): View[] {\n const parent = view.parent;\n let siblings = null;\n if (parent) {\n siblings = parent.views.filter((sub) => sub !== view);\n }\n return siblings;\n}\n\nfunction point2Normalize(view: View, point: Point): Point {\n const coord = view.getCoordinate();\n return coord.invert(point);\n}\n/**\n * 将 view 上的一点转换成另一个 view 的点\n * @param view 当前的 view\n * @param sibling 同一层级的 view\n * @param point 指定点\n * @ignore\n */\nexport function getSiblingPoint(view: View, sibling: View, point: Point): Point {\n const normalPoint = point2Normalize(view, point);\n return sibling.getCoordinate().convert(normalPoint);\n}\n\n/**\n * 是否在记录中,临时因为所有的 view 中的数据不是引用,而使用的方法\n * 不同 view 上对数据的引用不相等,导致无法直接用 includes\n * 假设 x, y 值相等时是同一条数据,这个假设不完全正确,而改成 isEqual 则成本太高\n * 后面改成同一个引用时可以修改回来\n * @param records\n * @param record\n * @param xFiled\n * @param yField\n * @returns\n * @ignore\n */\nexport function isInRecords(records: object[], record: object, xFiled: string, yField: string) {\n let isIn = false;\n each(records, (r) => {\n if (r[xFiled] === record[xFiled] && r[yField] === record[yField]) {\n isIn = true;\n return false;\n }\n });\n return isIn;\n}\n\n// 级联获取 field 对应的 scale,如果 view 上没有,遍历子 view\nexport function getScaleByField(view: View, field: string) {\n let scale = view.getScaleByField(field);\n if (!scale && view.views) {\n each(view.views, (subView) => {\n scale = getScaleByField(subView, field);\n if (scale) {\n return false; // 终止循环\n }\n });\n }\n return scale;\n}\n","import { each, get } from '@antv/util';\nimport { View } from '../chart';\nimport { BBox, IShape, Point } from '../dependents';\nimport { IAction, IInteractionContext, LooseObject } from '../interface';\nimport { getComponents, isInBox } from './action/util';\n\n/**\n * 交互的上下文\n */\nexport default class Context implements IInteractionContext {\n /** 当前所有的 Action */\n public actions: IAction[] = [];\n /** 当前 View 实例 */\n public view: View;\n /** 当前事件对象 */\n public event: LooseObject = null;\n\n private cacheMap: LooseObject = {};\n\n constructor(view: View) {\n this.view = view;\n }\n\n /**\n * 缓存信息\n * @param params 缓存的字段\n * - 如果一个字段则获取缓存\n * - 两个字段则设置缓存\n */\n public cache(...params) {\n if (params.length === 1) {\n return this.cacheMap[params[0]];\n } else if (params.length === 2) {\n this.cacheMap[params[0]] = params[1];\n }\n }\n\n /**\n * 获取 Action\n * @param name Action 的名称\n */\n public getAction(name: string): IAction {\n return this.actions.find((action) => action.name === name);\n }\n\n /**\n * 获取 Action\n * @param action Action 对象\n */\n public addAction(action: IAction) {\n this.actions.push(action);\n }\n\n /**\n * 移除 Action\n * @param action Action 对象\n */\n public removeAction(action: IAction) {\n const actions = this.actions;\n const index = this.actions.indexOf(action);\n if (index >= 0) {\n actions.splice(index, 1);\n }\n }\n\n /**\n * 获取当前的点\n */\n public getCurrentPoint(): Point {\n const event = this.event;\n if (event) {\n if (event.target instanceof HTMLElement) {\n const canvas = this.view.getCanvas();\n const point = canvas.getPointByClient(event.clientX, event.clientY);\n return point;\n } else {\n return {\n x: event.x,\n y: event.y,\n };\n }\n }\n return null;\n }\n\n /**\n * 获取当前 shape\n * @returns current shape\n */\n public getCurrentShape(): IShape {\n return get(this.event, ['gEvent', 'shape']);\n }\n\n /**\n * 当前的触发是否在 View 内\n */\n public isInPlot() {\n const point = this.getCurrentPoint();\n if (point) {\n return this.view.isPointInPlot(point);\n }\n return false;\n }\n\n /**\n * 是否在指定的图形内\n * @param name shape 的 name\n */\n public isInShape(name) {\n const shape = this.getCurrentShape(); // 不再考虑在 shape 的 parent 内的情况\n if (shape) {\n return shape.get('name') === name;\n }\n return false;\n }\n\n /**\n * 当前的触发是组件内部\n * @param name 组件名,可以为空\n */\n public isInComponent(name?: string) {\n const components = getComponents(this.view);\n const point = this.getCurrentPoint();\n if (point) {\n return !!components.find((component) => {\n const bbox = component.getBBox() as BBox;\n if (name) {\n return component.get('name') === name && isInBox(bbox, point);\n } else {\n return isInBox(bbox, point);\n }\n });\n }\n return false;\n }\n\n /**\n * 销毁\n */\n public destroy() {\n // 先销毁 action 再清空,一边遍历,一边删除,所以数组需要更新引用\n each(this.actions.slice(), (action) => {\n action.destroy();\n });\n this.view = null;\n this.event = null;\n this.actions = null;\n this.cacheMap = null;\n }\n}\n","import { View } from '../chart';\nimport { LooseObject } from '../interface';\n\nexport type InteractionConstructor = new (view: View, cfg: LooseObject) => Interaction;\n\n/**\n * 交互的基类。\n */\nexport default class Interaction {\n /** view 或者 chart */\n protected view: View;\n /** 配置项 */\n protected cfg: LooseObject;\n\n constructor(view: View, cfg: LooseObject) {\n this.view = view;\n this.cfg = cfg;\n }\n\n /**\n * 初始化。\n */\n public init() {\n this.initEvents();\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {}\n\n /**\n * 销毁事件\n */\n protected clearEvents() {}\n\n /**\n * 销毁。\n */\n public destroy() {\n this.clearEvents();\n }\n}\n","import { each, isArray, isFunction, isString, debounce, throttle } from '@antv/util';\nimport { View } from '../chart';\nimport { ActionCallback, IAction, IInteractionContext, LooseObject } from '../interface';\nimport { createAction, createCallbackAction } from './action/register';\nimport InteractionContext from './context';\nimport Interaction from './interaction';\n\n// 将字符串转换成 action\nexport function parseAction(actionStr: string, context: IInteractionContext, arg?: any): ActionObject {\n const arr = actionStr.split(':');\n const actionName = arr[0];\n // 如果已经初始化过 action ,则直接引用之前的 action\n const action = context.getAction(actionName) || createAction(actionName, context);\n if (!action) {\n throw new Error(`There is no action named ${actionName}`);\n }\n const methodName = arr[1];\n return {\n action,\n methodName,\n arg,\n };\n}\n\n// 执行 Action\nfunction executeAction(actionObject: ActionObject) {\n const { action, methodName, arg } = actionObject;\n if (action[methodName]) {\n action[methodName](arg);\n } else {\n throw new Error(`Action(${action.name}) doesn't have a method called ${methodName}`);\n }\n}\n\nconst STEP_NAMES = {\n START: 'start',\n SHOW_ENABLE: 'showEnable',\n END: 'end',\n ROLLBACK: 'rollback',\n PROCESSING: 'processing',\n};\n\n/** 交互环节的定义 */\nexport interface InteractionStep {\n /**\n * 触发事件,支持 view,chart 的各种事件,也支持 document、window 的事件\n */\n trigger: string;\n /**\n * 是否可以触发 action\n * @param context - 交互的上下文\n */\n isEnable?: (context: IInteractionContext) => boolean;\n /**\n * 反馈,支持三种方式:\n * - action:method : action 的名字和方法的组合\n * - [’action1:method1‘, ’action2:method‘]\n * - ActionCallback: 回调函数\n */\n action: string | string[] | ActionCallback;\n /**\n * 反馈,具体 action method 的参数:\n * - 当传递多个 action 时,args 必须是一个数组\n */\n arg?: any | any[];\n /**\n * 回调函数,action 执行后执行\n */\n callback?: (context: IInteractionContext) => void;\n /**\n * @private\n * 不需要用户传入,通过上面的属性计算出来的属性\n */\n actionObject?: ActionObject | ActionObject[];\n /**\n * 在一个环节内是否只允许执行一次\n */\n once?: boolean;\n /**\n * 是否增加节流\n */\n throttle?: ThrottleOption;\n /**\n * 是否延迟\n */\n debounce?: DebounceOption;\n}\n\n// action 执行时支持 debounce 和 throttle,可以参考:https://css-tricks.com/debouncing-throttling-explained-examples/\n/**\n * debounce 的配置\n */\nexport interface DebounceOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 是否马上执行\n */\n immediate?: boolean;\n}\n\n/**\n * throttle 的配置\n */\nexport interface ThrottleOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 马上就执行\n */\n leading?: boolean;\n /**\n * 执行完毕后再执行一次\n */\n trailing?: boolean;\n}\n\n/** 缓存 action 对象,仅用于当前文件 */\ninterface ActionObject {\n /**\n * 缓存的 action\n */\n action: IAction;\n /**\n * action 的方法\n */\n methodName: string;\n /**\n * 用户传递的 action 方法的参数\n */\n arg?: any;\n}\n\n/** 交互的所有环节 */\nexport interface InteractionSteps {\n /**\n * 显示交互可以进行\n */\n showEnable?: InteractionStep[];\n /**\n * 交互开始\n */\n start?: InteractionStep[];\n /**\n * 交互持续\n */\n processing?: InteractionStep[];\n /**\n * 交互结束\n */\n end?: InteractionStep[];\n /**\n * 交互回滚\n */\n rollback?: InteractionStep[];\n}\n\n/**\n * 支持语法的交互类\n */\nexport default class GrammarInteraction extends Interaction {\n // 存储的交互环节\n private steps: InteractionSteps;\n /** 当前执行到的阶段 */\n public currentStepName: string;\n /**\n * 当前交互的上下文\n */\n public context: IInteractionContext;\n\n private callbackCaches: LooseObject = {};\n // 某个触发和反馈在本环节是否执行或\n private emitCaches: LooseObject = {};\n\n constructor(view: View, steps: InteractionSteps) {\n super(view, steps);\n this.steps = steps;\n }\n\n /**\n * 初始化\n */\n public init() {\n this.initContext();\n super.init();\n }\n\n /**\n * 清理资源\n */\n public destroy() {\n super.destroy(); // 先清理事件\n this.steps = null;\n if (this.context) {\n this.context.destroy();\n this.context = null;\n }\n\n this.callbackCaches = null;\n this.view = null;\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n // 如果存在 callback,才绑定,有时候会出现无 callback 的情况\n this.bindEvent(step.trigger, callback);\n }\n });\n });\n }\n\n /**\n * 清理绑定的事件\n */\n protected clearEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n this.offEvent(step.trigger, callback);\n }\n });\n });\n }\n\n // 初始化上下文,并初始化 action\n private initContext() {\n const view = this.view;\n const context = new InteractionContext(view);\n this.context = context;\n const steps = this.steps;\n // 生成具体的 Action\n each(steps, (subSteps: InteractionStep[]) => {\n each(subSteps, (step: InteractionStep) => {\n if (isFunction(step.action)) {\n // 如果传入回调函数,则直接生成 CallbackAction\n step.actionObject = {\n action: createCallbackAction(step.action, context),\n methodName: 'execute',\n };\n } else if (isString(step.action)) {\n // 如果是字符串\n step.actionObject = parseAction(step.action, context, step.arg);\n } else if (isArray(step.action)) {\n // 如果是数组\n const actionArr = step.action;\n const argArr = isArray(step.arg) ? step.arg : [step.arg];\n step.actionObject = [];\n each(actionArr, (actionStr, idx) => {\n (step.actionObject as ActionObject[]).push(parseAction(actionStr, context, argArr[idx]));\n });\n }\n // 如果 action 既不是字符串,也不是函数,则不会生成 actionObject\n });\n });\n }\n\n // 是否允许指定阶段名称执行\n private isAllowStep(stepName: string): boolean {\n const currentStepName = this.currentStepName;\n const steps = this.steps;\n // 相同的阶段允许同时执行\n if (currentStepName === stepName) {\n return true;\n }\n\n if (stepName === STEP_NAMES.SHOW_ENABLE) {\n // 示能在整个过程中都可用\n return true;\n }\n\n if (stepName === STEP_NAMES.PROCESSING) {\n // 只有当前是 start 时,才允许 processing\n return currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.START) {\n // 如果当前是 processing,则无法 start,必须等待 end 后才能执行\n return currentStepName !== STEP_NAMES.PROCESSING;\n }\n\n if (stepName === STEP_NAMES.END) {\n return currentStepName === STEP_NAMES.PROCESSING || currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.ROLLBACK) {\n if (steps[STEP_NAMES.END]) {\n // 如果定义了 end, 只有 end 时才允许回滚\n return currentStepName === STEP_NAMES.END;\n } else if (currentStepName === STEP_NAMES.START) {\n // 如果未定义 end, 则判断是否是开始\n return true;\n }\n }\n return false;\n }\n\n // 具体的指定阶段是否允许执行\n private isAllowExecute(stepName: string, step: InteractionStep): boolean {\n if (this.isAllowStep(stepName)) {\n const key = this.getKey(stepName, step);\n // 如果是在本环节内仅允许触发一次,同时已经触发过,则不允许再触发\n if (step.once && this.emitCaches[key]) {\n return false;\n }\n // 如果是允许的阶段,则验证 isEnable 方法\n if (step.isEnable) {\n return step.isEnable(this.context);\n }\n return true; // 如果没有 isEnable 则允许执行\n }\n return false;\n }\n\n private enterStep(stepName: string) {\n this.currentStepName = stepName;\n this.emitCaches = {}; // 清除所有本环节触发的缓存\n }\n\n // 执行完某个触发和反馈(子环节)\n private afterExecute(stepName: string, step) {\n // show enable 不计入正常的流程,其他情况则设置当前的 step\n if (stepName !== STEP_NAMES.SHOW_ENABLE && this.currentStepName !== stepName) {\n this.enterStep(stepName);\n }\n const key = this.getKey(stepName, step);\n // 一旦执行,则缓存标记为,一直保持到跳出改环节\n this.emitCaches[key] = true;\n }\n // 获取某个环节的唯一的键值\n private getKey(stepName, step) {\n return stepName + step.trigger + step.action;\n }\n\n // 获取 step 的回调函数,如果已经生成,则直接返回,如果未生成,则创建\n private getActionCallback(stepName: string, step: InteractionStep): (e: object) => void {\n const context = this.context;\n const callbackCaches = this.callbackCaches;\n const actionObject = step.actionObject;\n if (step.action && actionObject) {\n const key = this.getKey(stepName, step);\n if (!callbackCaches[key]) {\n // 动态生成执行的方法,执行对应 action 的名称\n const actionCallback = (event) => {\n context.event = event; // 保证检测时的 event\n if (this.isAllowExecute(stepName, step)) {\n // 如果是数组时,则依次执行\n if (isArray(actionObject)) {\n each(actionObject, (obj: ActionObject) => {\n context.event = event; // 可能触发新的事件,保证执行前的 context.event 是正确的\n executeAction(obj);\n });\n } else {\n context.event = event; // 保证执行前的 context.event 是正确的\n executeAction(actionObject);\n }\n this.afterExecute(stepName, step);\n if (step.callback) {\n context.event = event; // 保证执行前的 context.event 是正确的\n step.callback(context);\n }\n } else {\n // 如果未通过验证,则事件不要绑定在上面\n context.event = null;\n }\n };\n // 如果设置了 debounce\n if (step.debounce) {\n callbackCaches[key] = debounce(actionCallback, step.debounce.wait, step.debounce.immediate);\n } else if (step.throttle) {\n // 设置 throttle\n callbackCaches[key] = throttle(actionCallback, step.throttle.wait, {\n leading: step.throttle.leading,\n trailing: step.throttle.trailing,\n });\n } else {\n // 直接设置\n callbackCaches[key] = actionCallback;\n }\n }\n return callbackCaches[key];\n }\n return null;\n }\n\n private bindEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.addEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.addEventListener(nameArr[1], callback);\n } else {\n this.view.on(eventName, callback);\n }\n }\n\n private offEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.removeEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.removeEventListener(nameArr[1], callback);\n } else {\n this.view.off(eventName, callback);\n }\n }\n}\n","import { clone, isPlainObject, lowerCase, mix } from '@antv/util';\nimport { View } from '../chart';\nimport { LooseObject } from '../interface';\nimport GrammarInteraction, { InteractionSteps } from './grammar-interaction';\nimport { InteractionConstructor } from './interaction';\n\nconst Interactions: LooseObject = {};\n\n/**\n * 根据交互行为名字获取对应的交互类\n * @param name 交互名字\n * @returns 交互类\n */\nexport function getInteraction(name: string): InteractionSteps | InteractionConstructor {\n return Interactions[lowerCase(name)];\n}\n\n/**\n * 注册交互行为\n * @param name 交互行为名字\n * @param interaction 交互类\n */\nexport function registerInteraction(name: string, interaction: InteractionSteps | InteractionConstructor) {\n Interactions[lowerCase(name)] = interaction;\n}\n\n/**\n * 创建交互实例\n * @param name 交互名\n * @param view 交互应用的 View 实例\n * @param cfg 交互行为配置\n */\nexport function createInteraction(name: string, view: View, cfg?: LooseObject) {\n const interaciton = getInteraction(name);\n if (!interaciton) {\n return null;\n }\n if (isPlainObject(interaciton)) {\n // 如果不 clone 则会多个 interaction 实例共享 step 的定义\n const steps = mix(clone(interaciton), cfg) as InteractionSteps;\n return new GrammarInteraction(view, steps);\n } else {\n const cls = interaciton as InteractionConstructor;\n return new cls(view, cfg);\n }\n}\n\nexport { default as Interaction } from './interaction';\nexport { Action, registerAction, getActionClass } from './action';\n","import { TOOLTIP_CSS_CONST } from '@antv/component';\nimport { ext } from '@antv/matrix-util';\nimport { deepMix } from '@antv/util';\nimport Element from '../../geometry/element';\nimport { LooseObject, StyleSheet } from '../../interface';\nimport { getAngle } from '../../util/graphics';\n\n/**\n * 根据样式表创建 axis 组件主题样式\n * @param styleSheet\n */\nfunction createAxisStyles(styleSheet: StyleSheet): LooseObject {\n return {\n title: {\n autoRotate: true,\n position: 'center', // start, center, end\n spacing: styleSheet.axisTitleSpacing,\n style: {\n fill: styleSheet.axisTitleTextFillColor,\n fontSize: styleSheet.axisTitleTextFontSize,\n lineHeight: styleSheet.axisTitleTextLineHeight,\n textBaseline: 'middle',\n fontFamily: styleSheet.fontFamily,\n },\n },\n label: {\n autoRotate: false,\n autoEllipsis: false,\n autoHide: { type: 'equidistance', cfg: { minGap: 6 } },\n offset: styleSheet.axisLabelOffset,\n style: {\n fill: styleSheet.axisLabelFillColor,\n fontSize: styleSheet.axisLabelFontSize,\n lineHeight: styleSheet.axisLabelLineHeight,\n fontFamily: styleSheet.fontFamily,\n },\n },\n line: {\n style: {\n lineWidth: styleSheet.axisLineBorder,\n stroke: styleSheet.axisLineBorderColor,\n },\n },\n grid: {\n line: {\n type: 'line',\n style: {\n stroke: styleSheet.axisGridBorderColor,\n lineWidth: styleSheet.axisGridBorder,\n lineDash: styleSheet.axisGridLineDash,\n },\n },\n alignTick: true,\n animate: true,\n },\n tickLine: {\n style: {\n lineWidth: styleSheet.axisTickLineBorder,\n stroke: styleSheet.axisTickLineBorderColor,\n },\n alignTick: true, // 默认刻度线和文本对齐\n length: styleSheet.axisTickLineLength,\n },\n subTickLine: null,\n animate: true,\n };\n}\n\n/**\n *\n * @param styleSheet\n */\n// export function\n\n/**\n * 根据样式表创建 legend 组件主题样式\n * @param styleSheet\n */\nfunction createLegendStyles(styleSheet: StyleSheet): LooseObject {\n return {\n title: null,\n marker: {\n symbol: 'circle',\n spacing: styleSheet.legendMarkerSpacing,\n style: {\n r: styleSheet.legendCircleMarkerSize,\n fill: styleSheet.legendMarkerColor,\n },\n },\n itemName: {\n spacing: 5, // 如果右边有 value 使用这个间距\n style: {\n fill: styleSheet.legendItemNameFillColor,\n fontFamily: styleSheet.fontFamily,\n fontSize: styleSheet.legendItemNameFontSize,\n lineHeight: styleSheet.legendItemNameLineHeight,\n fontWeight: styleSheet.legendItemNameFontWeight,\n textAlign: 'start',\n textBaseline: 'middle',\n },\n },\n itemStates: {\n active: {\n nameStyle: {\n opacity: 0.8,\n },\n },\n unchecked: {\n nameStyle: {\n fill: '#D8D8D8',\n },\n markerStyle: {\n fill: '#D8D8D8',\n stroke: '#D8D8D8',\n },\n },\n inactive: {\n nameStyle: {\n fill: '#D8D8D8',\n },\n markerStyle: {\n opacity: 0.2,\n },\n },\n },\n flipPage: true,\n pageNavigator: {\n marker: {\n style: {\n size: styleSheet.legendPageNavigatorMarkerSize,\n inactiveFill: styleSheet.legendPageNavigatorMarkerInactiveFillColor,\n inactiveOpacity: styleSheet.legendPageNavigatorMarkerInactiveFillOpacity,\n fill: styleSheet.legendPageNavigatorMarkerFillColor,\n opacity: styleSheet.legendPageNavigatorMarkerFillOpacity,\n },\n },\n text: {\n style: {\n fill: styleSheet.legendPageNavigatorTextFillColor,\n fontSize: styleSheet.legendPageNavigatorTextFontSize,\n },\n },\n },\n animate: false,\n maxItemWidth: 200,\n itemSpacing: styleSheet.legendItemSpacing,\n itemMarginBottom: styleSheet.legendItemMarginBottom,\n padding: styleSheet.legendPadding, // 图例组件自己的外边距\n };\n}\n\n/**\n * 根据主题样式表生成主题结构\n * @param styleSheet 主题样式表\n */\nexport function createThemeByStyleSheet(styleSheet: StyleSheet): LooseObject {\n const shapeStyles = {\n point: {\n default: {\n fill: styleSheet.pointFillColor,\n r: styleSheet.pointSize,\n stroke: styleSheet.pointBorderColor,\n lineWidth: styleSheet.pointBorder,\n fillOpacity: styleSheet.pointFillOpacity,\n },\n active: {\n stroke: styleSheet.pointActiveBorderColor,\n lineWidth: styleSheet.pointActiveBorder,\n },\n selected: {\n stroke: styleSheet.pointSelectedBorderColor,\n lineWidth: styleSheet.pointSelectedBorder,\n },\n inactive: {\n fillOpacity: styleSheet.pointInactiveFillOpacity,\n strokeOpacity: styleSheet.pointInactiveBorderOpacity,\n },\n },\n hollowPoint: {\n default: {\n fill: styleSheet.hollowPointFillColor,\n lineWidth: styleSheet.hollowPointBorder,\n stroke: styleSheet.hollowPointBorderColor,\n strokeOpacity: styleSheet.hollowPointBorderOpacity,\n r: styleSheet.hollowPointSize,\n },\n active: {\n stroke: styleSheet.hollowPointActiveBorderColor,\n strokeOpacity: styleSheet.hollowPointActiveBorderOpacity,\n },\n selected: {\n lineWidth: styleSheet.hollowPointSelectedBorder,\n stroke: styleSheet.hollowPointSelectedBorderColor,\n strokeOpacity: styleSheet.hollowPointSelectedBorderOpacity,\n },\n inactive: {\n strokeOpacity: styleSheet.hollowPointInactiveBorderOpacity,\n },\n },\n area: {\n default: {\n fill: styleSheet.areaFillColor,\n fillOpacity: styleSheet.areaFillOpacity,\n stroke: null,\n },\n active: {\n fillOpacity: styleSheet.areaActiveFillOpacity,\n },\n selected: {\n fillOpacity: styleSheet.areaSelectedFillOpacity,\n },\n inactive: {\n fillOpacity: styleSheet.areaInactiveFillOpacity,\n },\n },\n hollowArea: {\n default: {\n fill: null,\n stroke: styleSheet.hollowAreaBorderColor,\n lineWidth: styleSheet.hollowAreaBorder,\n strokeOpacity: styleSheet.hollowAreaBorderOpacity,\n },\n active: {\n fill: null,\n lineWidth: styleSheet.hollowAreaActiveBorder,\n },\n selected: {\n fill: null,\n lineWidth: styleSheet.hollowAreaSelectedBorder,\n },\n inactive: {\n strokeOpacity: styleSheet.hollowAreaInactiveBorderOpacity,\n },\n },\n interval: {\n default: {\n fill: styleSheet.intervalFillColor,\n fillOpacity: styleSheet.intervalFillOpacity,\n },\n active: {\n stroke: styleSheet.intervalActiveBorderColor,\n lineWidth: styleSheet.intervalActiveBorder,\n },\n selected: {\n stroke: styleSheet.intervalSelectedBorderColor,\n lineWidth: styleSheet.intervalSelectedBorder,\n },\n inactive: {\n fillOpacity: styleSheet.intervalInactiveFillOpacity,\n strokeOpacity: styleSheet.intervalInactiveBorderOpacity,\n },\n },\n hollowInterval: {\n default: {\n fill: styleSheet.hollowIntervalFillColor,\n stroke: styleSheet.hollowIntervalBorderColor,\n lineWidth: styleSheet.hollowIntervalBorder,\n strokeOpacity: styleSheet.hollowIntervalBorderOpacity,\n },\n active: {\n stroke: styleSheet.hollowIntervalActiveBorderColor,\n lineWidth: styleSheet.hollowIntervalActiveBorder,\n strokeOpacity: styleSheet.hollowIntervalActiveBorderOpacity,\n },\n selected: {\n stroke: styleSheet.hollowIntervalSelectedBorderColor,\n lineWidth: styleSheet.hollowIntervalSelectedBorder,\n strokeOpacity: styleSheet.hollowIntervalSelectedBorderOpacity,\n },\n inactive: {\n stroke: styleSheet.hollowIntervalInactiveBorderColor,\n lineWidth: styleSheet.hollowIntervalInactiveBorder,\n strokeOpacity: styleSheet.hollowIntervalInactiveBorderOpacity,\n },\n },\n line: {\n default: {\n stroke: styleSheet.lineBorderColor,\n lineWidth: styleSheet.lineBorder,\n strokeOpacity: styleSheet.lineBorderOpacity,\n fill: null,\n lineAppendWidth: 10,\n lineCap: 'round',\n lineJoin: 'round',\n },\n active: {\n lineWidth: styleSheet.lineActiveBorder,\n },\n selected: {\n lineWidth: styleSheet.lineSelectedBorder,\n },\n inactive: {\n strokeOpacity: styleSheet.lineInactiveBorderOpacity,\n },\n },\n };\n const axisStyles = createAxisStyles(styleSheet);\n const legendStyles = createLegendStyles(styleSheet);\n\n return {\n background: styleSheet.backgroundColor,\n defaultColor: styleSheet.brandColor,\n subColor: styleSheet.subColor,\n semanticRed: styleSheet.paletteSemanticRed,\n semanticGreen: styleSheet.paletteSemanticGreen,\n padding: 'auto',\n fontFamily: styleSheet.fontFamily,\n // 兼容Theme配置\n /** 一般柱状图宽度占比,geometry中已添加默认值,为了geometry配置生效默认值为null */\n columnWidthRatio: 1 / 2,\n /** 柱状图最大宽度 */\n maxColumnWidth: null,\n /** 柱状图最小宽度 */\n minColumnWidth: null,\n /** 玫瑰图占比 */\n roseWidthRatio: 0.9999999,\n /** 多层饼图/环图占比 */\n multiplePieWidthRatio: 1 / 1.3,\n colors10: styleSheet.paletteQualitative10,\n colors20: styleSheet.paletteQualitative20,\n sequenceColors: styleSheet.paletteSequence,\n shapes: {\n point: [\n 'hollow-circle',\n 'hollow-square',\n 'hollow-bowtie',\n 'hollow-diamond',\n 'hollow-hexagon',\n 'hollow-triangle',\n 'hollow-triangle-down',\n 'circle',\n 'square',\n 'bowtie',\n 'diamond',\n 'hexagon',\n 'triangle',\n 'triangle-down',\n 'cross',\n 'tick',\n 'plus',\n 'hyphen',\n 'line',\n ],\n line: ['line', 'dash', 'dot', 'smooth'],\n area: ['area', 'smooth', 'line', 'smooth-line'],\n interval: ['rect', 'hollow-rect', 'line', 'tick'],\n },\n sizes: [1, 10],\n geometries: {\n interval: {\n rect: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: (element: Element) => {\n const coordinate = element.geometry.coordinate;\n if (coordinate.isPolar && coordinate.isTransposed) {\n const { startAngle, endAngle } = getAngle(element.getModel(), coordinate);\n const middleAngle = (startAngle + endAngle) / 2;\n const r = 7.5;\n const x = r * Math.cos(middleAngle);\n const y = r * Math.sin(middleAngle);\n return {\n matrix: ext.transform(null, [['t', x, y]]),\n };\n }\n return shapeStyles.interval.selected;\n },\n },\n },\n 'hollow-rect': {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n tick: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n funnel: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n pyramid: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n },\n line: {\n line: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n dot: {\n default: {\n style: {\n ...shapeStyles.line.default,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n active: {\n style: {\n ...shapeStyles.line.active,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n inactive: {\n style: {\n ...shapeStyles.line.inactive,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n selected: {\n style: {\n ...shapeStyles.line.selected,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n },\n dash: {\n default: {\n style: {\n ...shapeStyles.line.default,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n active: {\n style: {\n ...shapeStyles.line.active,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n inactive: {\n style: {\n ...shapeStyles.line.inactive,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n selected: {\n style: {\n ...shapeStyles.line.selected,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vh: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hvh: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vhv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n },\n polygon: {\n polygon: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n },\n point: {\n circle: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n square: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n bowtie: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n diamond: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n hexagon: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n triangle: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n 'triangle-down': {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n 'hollow-circle': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-square': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-bowtie': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-diamond': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-hexagon': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-triangle': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-triangle-down': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n cross: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n tick: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n plus: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n hyphen: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n },\n area: {\n area: {\n default: {\n style: shapeStyles.area.default,\n },\n active: {\n style: shapeStyles.area.active,\n },\n inactive: {\n style: shapeStyles.area.inactive,\n },\n selected: {\n style: shapeStyles.area.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.area.default,\n },\n active: {\n style: shapeStyles.area.active,\n },\n inactive: {\n style: shapeStyles.area.inactive,\n },\n selected: {\n style: shapeStyles.area.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n 'smooth-line': {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n },\n schema: {\n candle: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n box: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n },\n edge: {\n line: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vhv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n arc: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n },\n violin: {\n violin: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hollow: {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n 'hollow-smooth': {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n },\n },\n components: {\n axis: {\n common: axisStyles,\n top: {\n position: 'top',\n grid: null,\n title: null,\n verticalLimitLength: 1 / 2,\n },\n bottom: {\n position: 'bottom',\n grid: null,\n title: null,\n verticalLimitLength: 1 / 2,\n },\n left: {\n position: 'left',\n title: null,\n line: null,\n tickLine: null,\n verticalLimitLength: 1 / 3,\n },\n right: {\n position: 'right',\n title: null,\n line: null,\n tickLine: null,\n verticalLimitLength: 1 / 3,\n },\n circle: {\n title: null,\n grid: deepMix({}, axisStyles.grid, { line: { type: 'line' } }),\n },\n radius: {\n title: null,\n grid: deepMix({}, axisStyles.grid, { line: { type: 'circle' } }),\n },\n },\n legend: {\n common: legendStyles,\n right: {\n layout: 'vertical',\n padding: styleSheet.legendVerticalPadding,\n },\n left: {\n layout: 'vertical',\n padding: styleSheet.legendVerticalPadding,\n },\n top: {\n layout: 'horizontal',\n padding: styleSheet.legendHorizontalPadding,\n },\n bottom: {\n layout: 'horizontal',\n padding: styleSheet.legendHorizontalPadding,\n },\n continuous: {\n title: null,\n background: null,\n track: {},\n rail: {\n type: 'color',\n size: styleSheet.sliderRailHeight,\n defaultLength: styleSheet.sliderRailWidth,\n style: {\n fill: styleSheet.sliderRailFillColor,\n stroke: styleSheet.sliderRailBorderColor,\n lineWidth: styleSheet.sliderRailBorder,\n },\n },\n label: {\n align: 'rail',\n spacing: 4, // 文本和 rail 的间距\n formatter: null,\n style: {\n fill: styleSheet.sliderLabelTextFillColor,\n fontSize: styleSheet.sliderLabelTextFontSize,\n lineHeight: styleSheet.sliderLabelTextLineHeight,\n textBaseline: 'middle',\n fontFamily: styleSheet.fontFamily,\n },\n },\n handler: {\n size: styleSheet.sliderHandlerWidth,\n style: {\n fill: styleSheet.sliderHandlerFillColor,\n stroke: styleSheet.sliderHandlerBorderColor,\n },\n },\n slidable: true,\n padding: legendStyles.padding,\n },\n },\n tooltip: {\n showContent: true,\n follow: true,\n showCrosshairs: false,\n showMarkers: true,\n shared: false,\n enterable: false,\n position: 'auto',\n marker: {\n symbol: 'circle',\n stroke: '#fff',\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n shadowColor: 'rgba(0,0,0,0.09)',\n lineWidth: 2,\n r: 4,\n },\n crosshairs: {\n line: {\n style: {\n stroke: styleSheet.tooltipCrosshairsBorderColor,\n lineWidth: styleSheet.tooltipCrosshairsBorder,\n },\n },\n text: null,\n textBackground: {\n padding: 2,\n style: {\n fill: 'rgba(0, 0, 0, 0.25)',\n lineWidth: 0,\n stroke: null,\n },\n },\n follow: false,\n },\n // tooltip dom 样式\n domStyles: {\n [`${TOOLTIP_CSS_CONST.CONTAINER_CLASS}`]: {\n position: 'absolute',\n visibility: 'hidden',\n zIndex: 8,\n transition: 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s',\n backgroundColor: styleSheet.tooltipContainerFillColor,\n opacity: styleSheet.tooltipContainerFillOpacity,\n boxShadow: styleSheet.tooltipContainerShadow,\n borderRadius: `${styleSheet.tooltipContainerBorderRadius}px`,\n color: styleSheet.tooltipTextFillColor,\n fontSize: `${styleSheet.tooltipTextFontSize}px`,\n fontFamily: styleSheet.fontFamily,\n lineHeight: `${styleSheet.tooltipTextLineHeight}px`,\n padding: '0 12px 0 12px',\n },\n [`${TOOLTIP_CSS_CONST.TITLE_CLASS}`]: {\n marginBottom: '12px',\n marginTop: '12px',\n },\n [`${TOOLTIP_CSS_CONST.LIST_CLASS}`]: {\n margin: 0,\n listStyleType: 'none',\n padding: 0,\n },\n [`${TOOLTIP_CSS_CONST.LIST_ITEM_CLASS}`]: {\n listStyleType: 'none',\n padding: 0,\n marginBottom: '12px',\n marginTop: '12px',\n marginLeft: 0,\n marginRight: 0,\n },\n [`${TOOLTIP_CSS_CONST.MARKER_CLASS}`]: {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n display: 'inline-block',\n marginRight: '8px',\n },\n [`${TOOLTIP_CSS_CONST.VALUE_CLASS}`]: {\n display: 'inline-block',\n float: 'right',\n marginLeft: '30px',\n },\n },\n },\n annotation: {\n arc: {\n style: {\n stroke: styleSheet.annotationArcBorderColor,\n lineWidth: styleSheet.annotationArcBorder,\n },\n animate: true,\n },\n line: {\n style: {\n stroke: styleSheet.annotationLineBorderColor,\n lineDash: styleSheet.annotationLineDash,\n lineWidth: styleSheet.annotationLineBorder,\n },\n text: {\n position: 'start',\n autoRotate: true,\n style: {\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n textAlign: 'start',\n fontFamily: styleSheet.fontFamily,\n textBaseline: 'bottom',\n },\n },\n animate: true,\n },\n text: {\n style: {\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n textBaseline: 'middle',\n textAlign: 'start',\n fontFamily: styleSheet.fontFamily,\n },\n animate: true,\n },\n region: {\n top: false,\n style: {\n lineWidth: styleSheet.annotationRegionBorder,\n stroke: styleSheet.annotationRegionBorderColor,\n fill: styleSheet.annotationRegionFillColor,\n fillOpacity: styleSheet.annotationRegionFillOpacity,\n }, // 辅助框的图形样式属性\n animate: true,\n },\n image: {\n top: false,\n animate: true,\n },\n dataMarker: {\n top: true,\n point: {\n style: {\n r: 3,\n stroke: styleSheet.brandColor,\n lineWidth: 2,\n },\n },\n line: {\n style: {\n stroke: styleSheet.annotationLineBorderColor,\n lineWidth: styleSheet.annotationLineBorder,\n },\n length: styleSheet.annotationDataMarkerLineLength,\n },\n text: {\n style: {\n textAlign: 'start',\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n fontFamily: styleSheet.fontFamily,\n },\n },\n direction: 'upward',\n autoAdjust: true,\n animate: true,\n },\n dataRegion: {\n style: {\n region: {\n fill: styleSheet.annotationRegionFillColor,\n fillOpacity: styleSheet.annotationRegionFillOpacity,\n },\n text: {\n textAlign: 'center',\n textBaseline: 'bottom',\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n fontFamily: styleSheet.fontFamily,\n },\n },\n animate: true,\n },\n },\n slider: {\n common: {\n padding: [8, 8, 8, 8],\n backgroundStyle: {\n fill: styleSheet.cSliderBackgroundFillColor,\n opacity: styleSheet.cSliderBackgroundFillOpacity,\n },\n foregroundStyle: {\n fill: styleSheet.cSliderForegroundFillColor,\n opacity: styleSheet.cSliderForegroundFillOpacity,\n },\n handlerStyle: {\n width: styleSheet.cSliderHandlerWidth,\n height: styleSheet.cSliderHandlerHeight,\n fill: styleSheet.cSliderHandlerFillColor,\n opacity: styleSheet.cSliderHandlerFillOpacity,\n stroke: styleSheet.cSliderHandlerBorderColor,\n lineWidth: styleSheet.cSliderHandlerBorder,\n radius: styleSheet.cSliderHandlerBorderRadius,\n // 高亮的颜色\n highLightFill: styleSheet.cSliderHandlerHighlightFillColor,\n },\n textStyle: {\n fill: styleSheet.cSliderTextFillColor,\n opacity: styleSheet.cSliderTextFillOpacity,\n fontSize: styleSheet.cSliderTextFontSize,\n lineHeight: styleSheet.cSliderTextLineHeight,\n fontWeight: styleSheet.cSliderTextFontWeight,\n stroke: styleSheet.cSliderTextBorderColor,\n lineWidth: styleSheet.cSliderTextBorder,\n },\n },\n },\n scrollbar: {\n common: {\n padding: [8, 8, 8, 8],\n },\n default: {\n style: {\n trackColor: styleSheet.scrollbarTrackFillColor,\n thumbColor: styleSheet.scrollbarThumbFillColor,\n },\n },\n hover: {\n style: {\n thumbColor: styleSheet.scrollbarThumbHighlightFillColor,\n },\n },\n },\n },\n labels: {\n offset: 12,\n style: {\n fill: styleSheet.labelFillColor,\n fontSize: styleSheet.labelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.labelBorderColor,\n lineWidth: styleSheet.labelBorder,\n },\n fillColorDark: styleSheet.labelFillColorDark,\n fillColorLight: styleSheet.labelFillColorLight,\n autoRotate: true,\n },\n innerLabels: {\n style: {\n fill: styleSheet.innerLabelFillColor,\n fontSize: styleSheet.innerLabelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.innerLabelBorderColor,\n lineWidth: styleSheet.innerLabelBorder,\n },\n autoRotate: true,\n },\n overflowLabels: {\n style: {\n fill: styleSheet.overflowLabelFillColor,\n fontSize: styleSheet.overflowLabelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.overflowLabelBorderColor,\n lineWidth: styleSheet.overflowLabelBorder,\n },\n },\n pieLabels: {\n labelHeight: 14,\n offset: 10,\n labelLine: {\n style: {\n lineWidth: styleSheet.labelLineBorder,\n },\n },\n autoRotate: true,\n },\n };\n}\n","import { StyleSheetCfg } from '../../interface';\n\nconst BLACK_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst WHITE_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#6F5EF9',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#6F5EF9',\n '#D3CEFD',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\n/** 单色顺序色板 */\nconst SINGLE_SEQUENCE = [\n '#B8E1FF',\n '#9AC5FF',\n '#7DAAFF',\n '#5B8FF9',\n '#3D76DD',\n '#085EC0',\n '#0047A5',\n '#00318A',\n '#001D70',\n];\n\nexport const createLightStyleSheet = (cfg: StyleSheetCfg = {}) => {\n const {\n backgroundColor = 'transparent',\n subColor = 'rgba(0,0,0,0.05)',\n paletteQualitative10 = QUALITATIVE_10,\n paletteQualitative20 = QUALITATIVE_20,\n paletteSemanticRed = '#F4664A',\n paletteSemanticGreen = '#30BF78',\n paletteSemanticYellow = '#FAAD14',\n paletteSequence = SINGLE_SEQUENCE,\n fontFamily = `\"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n return {\n /** 图表背景色 */\n backgroundColor,\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor,\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed,\n /** 语义色 */\n paletteSemanticGreen,\n /** 语义色 */\n paletteSemanticYellow,\n /** (单色)顺序色板 */\n paletteSequence,\n /** 字体 */\n fontFamily,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 1,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n /** 坐标轴标题距离坐标轴文本的间距 */\n axisTitleSpacing: 12,\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 1,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 1,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n /** 坐标轴刻度文本距离坐标轴线的间距 */\n axisLabelOffset: 8,\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 1,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: brandColor,\n /** 图例 marker 距离图例文本的间距 */\n legendMarkerSpacing: 8,\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n /** 图例项之间的水平间距 */\n legendItemSpacing: 24,\n /** 图例项垂直方向的间隔 */\n legendItemMarginBottom: 12,\n /** 图例与图表绘图区域的偏移距离 */\n legendPadding: [8, 8, 8, 8],\n /** 水平布局的图例与绘图区域偏移距离 */\n legendHorizontalPadding: [8, 0, 8, 0],\n /** 垂直布局的图例与绘图区域偏移距离 */\n legendVerticalPadding: [0, 8, 0, 8],\n\n // 图例分页器\n /** 图例分页器 marker 大小 */\n legendPageNavigatorMarkerSize: 12,\n /** 图例分页器 marker 非激活状态填充色 */\n legendPageNavigatorMarkerInactiveFillColor: BLACK_COLORS[100],\n /** 图例分页器 marker 非激活状态填充色透明度 */\n legendPageNavigatorMarkerInactiveFillOpacity: 0.45,\n /** 图例分页器 marker 填充色 */\n legendPageNavigatorMarkerFillColor: BLACK_COLORS[100],\n /** 图例分页器 marker 填充色透明度 */\n legendPageNavigatorMarkerFillOpacity: 1,\n /** 图例分页器文本颜色 */\n legendPageNavigatorTextFillColor: BLACK_COLORS[45],\n /** 图例分页器文本字体大小 */\n legendPageNavigatorTextFontSize: 12,\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: BLACK_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: BLACK_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 1,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 1,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: null,\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 0,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 1,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: 'rgb(255, 255, 255)',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 0px 10px #aeaeae',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n labelFillColorDark: '#2c3542',\n labelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry overflowLabel 文本颜色 */\n overflowLabelFillColor: BLACK_COLORS[65],\n /** Geometry overflowLabel 文本字体大小 */\n overflowLabelFontSize: 12,\n /** Geometry overflowLabel 文本行高 */\n overflowLabelLineHeight: 12,\n /** Geometry overflowLabel 文本字体粗细 */\n overflowLabelFontWeight: 'normal',\n /** Geometry overflowLabel 文本描边颜色 */\n overflowLabelBorderColor: WHITE_COLORS[100],\n /** Geometry overflowLabel 文本描边粗细 */\n overflowLabelBorder: 1,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 1,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Slider 组件样式--------------------\n /** slider 滑道高度 */\n cSliderRailHieght: 16,\n /** slider 滑道背景色 */\n cSliderBackgroundFillColor: '#416180',\n /** slider 滑道背景色透明度 */\n cSliderBackgroundFillOpacity: 0.05,\n /** slider 滑道前景色 */\n cSliderForegroundFillColor: '#5B8FF9',\n /** slider 滑道前景色透明度 */\n cSliderForegroundFillOpacity: 0.15,\n // slider handlerStyle 手柄样式\n /** slider 手柄高度 */\n cSliderHandlerHeight: 24,\n /** Slider 手柄宽度 */\n cSliderHandlerWidth: 10,\n /** Slider 手柄背景色 */\n cSliderHandlerFillColor: '#F7F7F7',\n /** Slider 手柄背景色透明度 */\n cSliderHandlerFillOpacity: 1,\n /** Slider 手柄高亮背景色 */\n cSliderHandlerHighlightFillColor: '#FFF',\n /** Slider 手柄边框色 */\n cSliderHandlerBorderColor: '#BFBFBF',\n /** Slider 手柄边框粗细 */\n cSliderHandlerBorder: 1,\n /** Slider 手柄边框圆角 */\n cSliderHandlerBorderRadius: 2,\n // slider textStyle 字体标签样式\n /** Slider 字体标签颜色 */\n cSliderTextFillColor: '#000',\n /** Slider 字体标签透明度 */\n cSliderTextFillOpacity: 0.45,\n /** Slider 字体标签大小 */\n cSliderTextFontSize: 12,\n /** Slider 字体标签行高 */\n cSliderTextLineHeight: 12,\n /** Slider 字体标签字重 */\n cSliderTextFontWeight: 'normal',\n /** Slider 字体标签描边色 */\n cSliderTextBorderColor: null,\n /** Slider 字体标签描边粗细 */\n cSliderTextBorder: 0,\n\n // -------------------- Scrollbar 组件样式--------------------\n /** 滚动条 滚道填充色 */\n scrollbarTrackFillColor: 'rgba(0,0,0,0)',\n /** 滚动条 滑块填充色 */\n scrollbarThumbFillColor: 'rgba(0,0,0,0.15)',\n /** 滚动条 滑块高亮填充色 */\n scrollbarThumbHighlightFillColor: 'rgba(0,0,0,0.2)',\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: brandColor,\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: brandColor,\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: brandColor,\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: brandColor,\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: brandColor,\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: brandColor,\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: brandColor,\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: brandColor,\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: brandColor,\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n };\n};\n\nexport const antvLight = createLightStyleSheet();\n","import { deepMix } from '@antv/util';\nimport { createThemeByStyleSheet } from './create-by-style-sheet';\nimport { createLightStyleSheet } from '../style-sheet/light';\nimport { LooseObject, StyleSheetCfg } from '../../interface';\n\ninterface ThemeCfg extends LooseObject {\n styleSheet?: StyleSheetCfg;\n}\n\nexport function createTheme(themeCfg: ThemeCfg): LooseObject {\n const { styleSheet: styleSheetCfg = {}, ...themeObject } = themeCfg;\n\n // ① 创建样式表 (默认创建 light 的样式表)\n const styleSheet = createLightStyleSheet(styleSheetCfg);\n // ② 创建主题\n return deepMix({}, createThemeByStyleSheet(styleSheet), themeObject);\n}\n","import { get, lowerCase } from '@antv/util';\nimport { LooseObject } from '../interface';\n\nimport { createTheme } from './util';\n\nconst defaultTheme = createTheme({});\n\n// 所有已经存在的主题\nconst Themes: Record = {\n default: defaultTheme,\n};\n\n/**\n * 获取主题配置信息。\n * @param theme 主题名\n */\nexport function getTheme(theme?: string): LooseObject {\n return get(Themes, lowerCase(theme), Themes.default);\n}\n\n/**\n * 注册新的主题配置信息。\n * @param theme 主题名。\n * @param value 具体的主题配置。\n */\nexport function registerTheme(theme: string, value: LooseObject) {\n Themes[lowerCase(theme)] = createTheme(value);\n}\n","import {\n contains,\n filter,\n find,\n isArray,\n isEmpty,\n isFunction,\n isNil,\n isNumberEqual,\n isObject,\n memoize,\n uniq,\n values,\n} from '@antv/util';\nimport { View } from '../chart';\nimport { FIELD_ORIGIN, GROUP_ATTRS } from '../constant';\nimport { Attribute, Scale } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { Data, Datum, MappingDatum, Point, TooltipCfg, TooltipTitle } from '../interface';\nimport { getName } from './scale';\n\nfunction snapEqual(v1: any, v2: any, scale: Scale) {\n const value1 = scale.translate(v1);\n const value2 = scale.translate(v2);\n\n return isNumberEqual(value1, value2);\n}\n\nfunction getXValueByPoint(point: Point, geometry: Geometry): number {\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const range = xScale.range;\n const rangeMax = range[range.length - 1];\n const rangeMin = range[0];\n\n const invertPoint = coordinate.invert(point);\n\n let xValue = invertPoint.x;\n if (coordinate.isPolar && xValue > (1 + rangeMax) / 2) {\n xValue = rangeMin; // 极坐标下,scale 的 range 被做过特殊处理\n }\n return xScale.translate(xScale.invert(xValue));\n}\n\nfunction filterYValue(data: Data, point: Point, geometry: Geometry) {\n const coordinate = geometry.coordinate;\n const yScale = geometry.getYScale();\n const yField = yScale.field;\n const invertPoint = coordinate.invert(point);\n const yValue = yScale.invert(invertPoint.y);\n\n const result = find(data, (obj: Datum) => {\n const originData = obj[FIELD_ORIGIN];\n return originData[yField][0] <= yValue && originData[yField][1] >= yValue;\n });\n return result || data[data.length - 1];\n}\n\nconst getXDistance = memoize((scale: Scale) => {\n if (scale.isCategory) {\n return 1;\n }\n const scaleValues = scale.values; // values 是无序的\n const length = scaleValues.length;\n let min = scale.translate(scaleValues[0]);\n let max = min;\n\n for (let index = 0; index < length; index++) {\n const value = scaleValues[index];\n // 时间类型需要 translate\n const numericValue = scale.translate(value);\n if (numericValue < min) {\n min = numericValue;\n }\n if (numericValue > max) {\n max = numericValue;\n }\n }\n return (max - min) / (length - 1);\n});\n\n/**\n * 获得 tooltip 的 title\n * @param originData\n * @param geometry\n * @param title\n */\nfunction getTooltipTitle(originData: Datum, geometry: Geometry, title: TooltipTitle): string {\n const positionAttr = geometry.getAttribute('position');\n const fields = positionAttr.getFields();\n const scales = geometry.scales;\n\n const titleField = isFunction(title) || !title ? fields[0] : title;\n const titleScale = scales[titleField];\n\n // 如果创建了该字段对应的 scale,则通过 scale.getText() 方式取值,因为用户可能对数据进行了格式化\n // 如果没有对应的 scale,则从原始数据中取值,如果原始数据中仍不存在,则直接放回 title 值\n const tooltipTitle = titleScale ? titleScale.getText(originData[titleField]) : originData[titleField] || titleField;\n\n return isFunction(title) ? title(tooltipTitle, originData) : tooltipTitle;\n}\n\nfunction getAttributesForLegend(geometry: Geometry) {\n const attributes = values(geometry.attributes);\n return filter(attributes, (attribute: Attribute) => contains(GROUP_ATTRS, attribute.type));\n}\n\nfunction getTooltipValueScale(geometry: Geometry) {\n const attributes = getAttributesForLegend(geometry);\n let scale;\n for (const attribute of attributes) {\n const tmpScale = attribute.getScale(attribute.type);\n if (tmpScale && tmpScale.isLinear) {\n // 如果指定字段是非 position 的,同时是连续的\n scale = tmpScale;\n break;\n }\n }\n\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n return scale || yScale || xScale;\n}\n\nfunction getTooltipValue(originData: Datum, valueScale: Scale) {\n const field = valueScale.field;\n const value = originData[field];\n\n if (isArray(value)) {\n const texts = value.map((eachValue) => {\n return valueScale.getText(eachValue);\n });\n return texts.join('-');\n }\n return valueScale.getText(value);\n}\n\n// 根据原始数据获取 tooltip item 中 name 值\nfunction getTooltipName(originData: Datum, geometry: Geometry) {\n let nameScale: Scale;\n const groupScales = geometry.getGroupScales();\n if (groupScales.length) {\n // 如果存在分组类型,取第一个分组类型\n nameScale = groupScales[0];\n }\n if (nameScale) {\n const field = nameScale.field;\n return nameScale.getText(originData[field]);\n }\n\n const valueScale = getTooltipValueScale(geometry);\n return getName(valueScale);\n}\n\n/**\n * @ignore\n * Finds data from geometry by point\n * @param point canvas point\n * @param data an item of geometry.dataArray\n * @param geometry\n * @returns\n */\nexport function findDataByPoint(point: Point, data: MappingDatum[], geometry: Geometry) {\n if (data.length === 0) {\n return null;\n }\n\n const geometryType = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n const xField = xScale.field;\n const yField = yScale.field;\n\n let rst = null;\n\n // 热力图采用最小逼近策略查找 point 击中的数据\n if (geometryType === 'heatmap' || geometryType === 'point') {\n // 将 point 画布坐标转换为原始数据值\n const coordinate = geometry.coordinate;\n const invertPoint = coordinate.invert(point); // 转换成归一化的数据\n const x = xScale.invert(invertPoint.x); // 转换为原始值\n const y = yScale.invert(invertPoint.y); // 转换为原始值\n\n let min = Infinity;\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const originData = obj[FIELD_ORIGIN];\n const range = (originData[xField] - x) ** 2 + (originData[yField] - y) ** 2;\n if (range < min) {\n min = range;\n rst = obj;\n }\n }\n\n return rst;\n }\n\n // 其他 Geometry 类型按照 x 字段数据进行查找\n const first = data[0];\n let last = data[data.length - 1];\n const xValue = getXValueByPoint(point, geometry);\n const firstXValue = first[FIELD_ORIGIN][xField];\n const firstYValue = first[FIELD_ORIGIN][yField];\n const lastXValue = last[FIELD_ORIGIN][xField];\n const isYArray = yScale.isLinear && isArray(firstYValue); // 考虑 x 维度相同,y 是数组区间的情况\n\n // 如果 x 的值是数组\n if (isArray(firstXValue)) {\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n // xValue 在 originData[xField] 的数值区间内\n if (xScale.translate(originData[xField][0]) <= xValue && xScale.translate(originData[xField][1]) >= xValue) {\n if (isYArray) {\n // 层叠直方图场景,x 和 y 都是数组区间\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n }\n }\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n let next;\n if (!xScale.isLinear && xScale.type !== 'timeCat') {\n // x 轴对应的数据为非线性以及非时间类型的数据采用遍历查找\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n if (snapEqual(originData[xField], xValue, xScale)) {\n if (isYArray) {\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n } else if (xScale.translate(originData[xField]) <= xValue) {\n last = record;\n next = data[index + 1];\n }\n }\n\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n // x 轴对应的数据为线性以及时间类型,进行二分查找,性能更好\n if (\n (xValue > xScale.translate(lastXValue) || xValue < xScale.translate(firstXValue)) &&\n (xValue > xScale.max || xValue < xScale.min)\n ) {\n // 不在数据范围内\n return null;\n }\n\n let firstIdx = 0;\n let lastIdx = data.length - 1;\n let middleIdx;\n while (firstIdx <= lastIdx) {\n middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n const item = data[middleIdx][FIELD_ORIGIN][xField];\n if (snapEqual(item, xValue, xScale)) {\n return data[middleIdx];\n }\n\n if (xScale.translate(item) <= xScale.translate(xValue)) {\n firstIdx = middleIdx + 1;\n last = data[middleIdx];\n next = data[middleIdx + 1];\n } else {\n if (lastIdx === 0) {\n last = data[0];\n }\n lastIdx = middleIdx - 1;\n }\n }\n }\n\n if (last && next) {\n // 计算最逼近的\n if (\n Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) >\n Math.abs(xScale.translate(next[FIELD_ORIGIN][xField]) - xValue)\n ) {\n last = next;\n }\n }\n }\n\n const distance = getXDistance(geometry.getXScale()); // 每个分类间的平均间距\n if (!rst && Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) <= distance / 2) {\n rst = last;\n }\n\n return rst;\n}\n\n/**\n * @ignore\n * Gets tooltip items\n * @param data\n * @param geometry\n * @param [title]\n * @returns\n */\nexport function getTooltipItems(\n data: MappingDatum,\n geometry: Geometry,\n title: TooltipTitle = '',\n showNil: boolean = false\n) {\n const originData = data[FIELD_ORIGIN];\n const tooltipTitle = getTooltipTitle(originData, geometry, title);\n const tooltipOption = geometry.tooltipOption;\n const { defaultColor } = geometry.theme;\n const items = [];\n let name;\n let value;\n\n function addItem(itemName, itemValue) {\n if (showNil || (!isNil(itemValue) && itemValue !== '')) {\n // 值为 null的时候,忽视\n const item = {\n title: tooltipTitle,\n data: originData, // 原始数据\n mappingData: data, // 映射后的数据\n name: itemName,\n value: itemValue,\n color: data.color || defaultColor,\n marker: true,\n };\n\n items.push(item);\n }\n }\n\n if (isObject(tooltipOption)) {\n const { fields, callback } = tooltipOption;\n if (callback) {\n // 用户定义了回调函数\n const callbackParams = fields.map((field: string) => {\n return data[FIELD_ORIGIN][field];\n });\n const cfg = callback(...callbackParams);\n const itemCfg = {\n data: data[FIELD_ORIGIN], // 原始数据\n mappingData: data, // 映射后的数据\n title: tooltipTitle,\n color: data.color || defaultColor,\n marker: true, // 默认展示 marker\n ...cfg,\n };\n\n items.push(itemCfg);\n } else {\n const scales = geometry.scales;\n for (const field of fields) {\n if (!isNil(originData[field])) {\n // 字段数据为null, undefined 时不显示\n const scale = scales[field];\n name = getName(scale);\n value = scale.getText(originData[field]);\n addItem(name, value);\n }\n }\n }\n } else {\n const valueScale = getTooltipValueScale(geometry);\n // 字段数据为null ,undefined时不显示\n value = getTooltipValue(originData, valueScale);\n name = getTooltipName(originData, geometry);\n addItem(name, value);\n }\n return items;\n}\n\nfunction getTooltipItemsByFindData(geometry: Geometry, point, title, tooltipCfg: TooltipCfg) {\n const { showNil } = tooltipCfg;\n const result = [];\n const dataArray = geometry.dataArray;\n if (!isEmpty(dataArray)) {\n geometry.sort(dataArray); // 先进行排序,便于 tooltip 查找\n for (const data of dataArray) {\n const record = findDataByPoint(point, data, geometry);\n if (record) {\n const elementId = geometry.getElementId(record);\n const element = geometry.elementsMap[elementId];\n if (geometry.type === 'heatmap' || element.visible) {\n // Heatmap 没有 Element\n // 如果图形元素隐藏了,怎不再 tooltip 上展示相关数据\n const items = getTooltipItems(record, geometry, title, showNil);\n if (items.length) {\n result.push(items);\n }\n }\n }\n }\n }\n\n return result;\n}\n\nfunction getTooltipItemsByHitShape(geometry, point, title, tooltipCfg: TooltipCfg) {\n const { showNil } = tooltipCfg;\n const result = [];\n const container = geometry.container;\n const shape = container.getShape(point.x, point.y);\n if (shape && shape.get('visible') && shape.get('origin')) {\n const mappingData = shape.get('origin').mappingData;\n const items = getTooltipItems(mappingData, geometry, title, showNil);\n if (items.length) {\n result.push(items);\n }\n }\n\n return result;\n}\n\n/**\n * 不进行递归查找\n */\nexport function findItemsFromView(view: View, point: Point, tooltipCfg: TooltipCfg) {\n const result = [];\n // 先从 view 本身查找\n const geometries = view.geometries;\n const { shared, title, reversed } = tooltipCfg;\n for (const geometry of geometries) {\n if (geometry.visible && geometry.tooltipOption !== false) {\n // geometry 可见同时未关闭 tooltip\n const geometryType = geometry.type;\n let tooltipItems;\n if (['point', 'edge', 'polygon'].includes(geometryType)) {\n // 始终通过图形拾取\n tooltipItems = getTooltipItemsByHitShape(geometry, point, title, tooltipCfg);\n } else if (['area', 'line', 'path', 'heatmap'].includes(geometryType)) {\n // 如果是 'area', 'line', 'path',始终通过数据查找方法查找 tooltip\n tooltipItems = getTooltipItemsByFindData(geometry, point, title, tooltipCfg);\n } else {\n if (shared !== false) {\n tooltipItems = getTooltipItemsByFindData(geometry, point, title, tooltipCfg);\n } else {\n tooltipItems = getTooltipItemsByHitShape(geometry, point, title, tooltipCfg);\n }\n }\n if (tooltipItems.length) {\n if (reversed) {\n tooltipItems.reverse();\n }\n // geometry 有可能会有多个 item,因为用户可以设置 geometry.tooltip('x*y*z')\n result.push(tooltipItems);\n }\n }\n }\n\n return result;\n}\n\nexport function findItemsFromViewRecurisive(view: View, point: Point, tooltipCfg: TooltipCfg) {\n let result = findItemsFromView(view, point, tooltipCfg);\n\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(findItemsFromView(childView, point, tooltipCfg));\n }\n\n return result;\n}\n","import { isArray, isNumber } from '@antv/util';\nimport { Padding, ViewPadding } from '../interface';\n\n/**\n * @ignore\n * 是否是自动 padding\n * @param padding\n */\nexport function isAutoPadding(padding: ViewPadding): padding is 'auto' {\n return !isNumber(padding) && !isArray(padding);\n}\n\n/**\n * @ignore\n * padding 的解析逻辑\n * @param padding\n * @return [ top, right, bottom, left ]\n */\nexport function parsePadding(padding: number[] | number = 0): Padding {\n let paddingArray = isArray(padding) ? padding : [padding];\n\n switch (paddingArray.length) {\n case 0:\n paddingArray = [0, 0, 0, 0];\n break;\n case 1:\n paddingArray = new Array(4).fill(paddingArray[0]);\n break;\n case 2:\n paddingArray = [...paddingArray, ...paddingArray];\n break;\n case 3:\n paddingArray = [...paddingArray, paddingArray[1]];\n break;\n default:\n // 其他情况,只去四个\n paddingArray = paddingArray.slice(0, 4);\n break;\n }\n\n return paddingArray as [number, number, number, number];\n}\n","import { ControllerCtor } from './base';\n\nconst LOAD_COMPONENT_CONTROLLERS: Record = {};\n\n/**\n * 全局注册组件。\n * @param name 组件名称\n * @param plugin 注册的组件类\n * @returns void\n */\nexport function registerComponentController(name: string, plugin: ControllerCtor) {\n LOAD_COMPONENT_CONTROLLERS[name] = plugin;\n}\n\n/**\n * 删除全局组件。\n * @param name 组件名\n * @returns void\n */\nexport function unregisterComponentController(name: string) {\n delete LOAD_COMPONENT_CONTROLLERS[name];\n}\n\n/**\n * 获取以注册的组件名。\n * @returns string[] 返回已注册的组件名称\n */\nexport function getComponentControllerNames(): string[] {\n return Object.keys(LOAD_COMPONENT_CONTROLLERS);\n}\n\n/**\n * 根据组件名获取组件类。\n * @param name 组件名\n * @returns 返回组件类\n */\nexport function getComponentController(name: string): ControllerCtor {\n return LOAD_COMPONENT_CONTROLLERS[name];\n}\n","import { each, isNil, some } from '@antv/util';\nimport { Coordinate, getCoordinate, Point } from '../../dependents';\nimport { CoordinateOption } from '../../interface';\n\n/**\n * coordinate controller,职责:\n * 1. 创建实例\n * 2. 暂存配置\n */\nexport default class CoordinateController {\n private option: CoordinateOption;\n private coordinate: Coordinate;\n\n constructor(option?: CoordinateOption) {\n // 设置默认值,并存储配置\n this.option = this.wrapperOption(option);\n }\n\n /**\n * 更新配置\n * @param option\n */\n public update(option: CoordinateOption) {\n this.option = this.wrapperOption(option);\n return this;\n }\n\n /**\n * 是否存在某一个 action\n * @param actionName\n */\n public hasAction(actionName: string) {\n const { actions } = this.option;\n\n return some(actions, (action) => action[0] === actionName);\n }\n /**\n * 创建坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public create(start: Point, end: Point) {\n const { type, cfg } = this.option;\n const isTheta = type === 'theta';\n\n // 1. 起始位置\n const props = {\n start,\n end,\n ...cfg,\n };\n\n // 2. 创建实例\n const C = getCoordinate(isTheta ? 'polar' : type);\n\n this.coordinate = new C(props);\n\n // @ts-ignore FIXME coordinate 包问题导致 type 不正确\n this.coordinate.type = type;\n\n // 3. 添加默认 action\n if (isTheta) {\n // 不存在 transpose,为其自动设置一个 action\n if (!this.hasAction('transpose')) {\n this.transpose();\n }\n }\n\n // 4. 执行 action\n this.execActions();\n\n return this.coordinate;\n }\n\n /**\n * 更新坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public adjust(start: Point, end: Point) {\n this.coordinate.update({\n start,\n end,\n });\n\n // 更新坐标系大小的时候,需要:\n // 1. 重置 matrix\n // 2. 重新执行作用于 matrix 的 action\n this.coordinate.resetMatrix();\n this.execActions(['scale', 'rotate', 'translate']);\n\n return this.coordinate;\n }\n\n /**\n * 旋转弧度\n * @param angle\n */\n public rotate(angle: number) {\n this.option.actions.push(['rotate', angle]);\n return this;\n }\n\n /**\n * 镜像\n * @param dim\n */\n public reflect(dim: 'x' | 'y') {\n this.option.actions.push(['reflect', dim]);\n return this;\n }\n\n /**\n * scale\n * @param sx\n * @param sy\n */\n public scale(sx: number, sy: number) {\n this.option.actions.push(['scale', sx, sy]);\n return this;\n }\n\n /**\n * 对角变换\n */\n public transpose() {\n this.option.actions.push(['transpose']);\n return this;\n }\n\n /**\n * 获取配置\n */\n public getOption(): CoordinateOption {\n return this.option;\n }\n\n /**\n * 获得 coordinate 实例\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n /**\n * 包装配置的默认值\n * @param option\n */\n private wrapperOption(option: CoordinateOption): CoordinateOption {\n return {\n type: 'rect',\n actions: [],\n cfg: {},\n ...option,\n };\n }\n\n /**\n * coordinate 实例执行 actions\n * @params includeActions 如果没有指定,则执行全部,否则,执行指定的 action\n */\n private execActions(includeActions?: string[]) {\n const { actions } = this.option;\n\n each(actions, (action) => {\n const [actionName, ...args] = action;\n\n const shouldExec = isNil(includeActions) ? true : includeActions.includes(actionName);\n\n if (shouldExec) {\n this.coordinate[actionName](...args);\n }\n });\n }\n}\n","import { Event as GEvent, IShape } from '../dependents';\nimport { Datum } from '../interface';\nimport View from './view';\n\n/**\n * @todo Whether it can(or necessary to) keep consistent with the structure of G.Event or directly use the structure of G.Event\n * G2 事件的事件包装类,基于 G.Event\n */\nexport default class Event {\n /** 当前 target 归属的 view 实例 */\n public view: View;\n /** 被包装的原生 G 事件 */\n public gEvent: GEvent;\n /** 原始数据 */\n public data?: Datum;\n /** 事件类型 */\n public type: string;\n\n constructor(view: View, gEvent: GEvent, data?: Datum) {\n this.view = view;\n this.gEvent = gEvent;\n this.data = data;\n this.type = gEvent.type;\n }\n\n /**\n * 非交互产生的事件\n * @param view\n * @param type\n * @param data\n */\n public static fromData(view: View, type: string, data: Datum) {\n return new Event(view, new GEvent(type, {}), data);\n }\n\n // below props are proxy props of G.event convenient\n\n /** the real trigger shape of the event */\n public get target(): IShape {\n // @todo G 中事件定义为 object 不正确,这里先 ignore\n // @ts-ignore\n return this.gEvent.target;\n }\n\n /** 获取对应的 dom 原生时间 */\n public get event(): any {\n return this.gEvent.originalEvent;\n }\n\n /** x 画布坐标 */\n public get x(): number {\n return this.gEvent.x;\n }\n\n /** y 画布坐标 */\n public get y(): number {\n return this.gEvent.y;\n }\n\n /** x 窗口坐标 */\n public get clientX(): number {\n return this.gEvent.clientX;\n }\n\n /** y 窗口坐标 */\n public get clientY(): number {\n return this.gEvent.clientY;\n }\n // end for proxy events\n\n /**\n * event string\n * @returns string\n */\n public toString(): string {\n return `[Event (type=${this.type})]`;\n }\n\n /**\n * clone a new event with same attributes\n * @returns [[Event]]\n */\n public clone(): Event {\n return new Event(this.view, this.gEvent, this.data);\n }\n}\n","import { Controller } from '../controller/base';\nimport View from '../view';\n\n// 布局函数的定义\n// 布局函数的职责:根据 view 中组件信息,计算出最终的图形 padding 数值,以及最终各个组件的布局和位置\nexport type Layout = (view: View) => void;\n\n/**\n * @ignore\n * G2 默认提供的 layout 函数\n * 内置布局函数处理的逻辑:\n *\n * 1. 如果 padding = 'auto',那么自动根据组件的 direction 来计算 padding 数组\n * 2. 根据 padding 和 direction 去分配对应方向的 padding 数值\n * 3. 移动组件位置\n *\n * 前面 1,2 步骤在 view 中已经做掉了。对于组件响应式布局,可以尝试使用约束布局的方式去求解位置信息。\n * @param view\n */\nexport default function defaultLayout(view: View): void {\n const axis = view.getController('axis');\n const legend = view.getController('legend');\n const annotation = view.getController('annotation');\n const slider = view.getController('slider');\n const scrollbar = view.getController('scrollbar');\n\n // 根据最新的 coordinate 重新布局组件\n [axis, slider, scrollbar, legend, annotation].forEach((controller: Controller) => {\n if (controller) {\n controller.layout();\n }\n });\n}\n","/**\n * view 中缓存 scale 的类\n */\nimport { deepMix, each, get, isNumber, last } from '@antv/util';\nimport { Scale, Coordinate } from '../../dependents';\nimport { Data, LooseObject, ScaleOption, ViewCfg } from '../../interface';\nimport { createScaleByField, syncScale, getDefaultCategoryScaleRange } from '../../util/scale';\n\n/** @ignore */\ninterface ScaleMeta {\n readonly key: string;\n readonly scale: Scale;\n scaleDef: ScaleOption;\n syncKey?: string;\n}\n\n/** @ignore */\nexport class ScalePool {\n /** 所有的 scales */\n private scales = new Map();\n /** 需要同步的 scale 分组, key: scaleKeyArray */\n private syncScales = new Map();\n\n /**\n * 创建 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n public createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n let finalScaleDef = scaleDef;\n\n const cacheScaleMeta = this.getScaleMeta(key);\n if (data.length === 0 && cacheScaleMeta) {\n // 在更新过程中数据变为空,同时 key 对应的 scale 已存在则保持 scale 同类型\n const cacheScale = cacheScaleMeta.scale;\n const cacheScaleDef: LooseObject = {\n type: cacheScale.type,\n };\n if (cacheScale.isCategory) {\n // 如果是分类类型,保持 values\n cacheScaleDef.values = cacheScale.values;\n }\n finalScaleDef = deepMix(cacheScaleDef, cacheScaleMeta.scaleDef, scaleDef);\n }\n\n const scale = createScaleByField(field, data, finalScaleDef);\n\n // 缓存起来\n this.cacheScale(scale, scaleDef, key);\n\n return scale;\n }\n\n /**\n * 同步 scale\n */\n public sync(coordinate: Coordinate, theme: ViewCfg['theme']) {\n // 对于 syncScales 中每一个 syncKey 下面的 scale 数组进行同步处理\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n // min, max, values, ranges\n let min = Number.MAX_SAFE_INTEGER;\n let max = Number.MIN_SAFE_INTEGER;\n const values = [];\n\n // 1. 遍历求得最大最小值,values 等\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n max = isNumber(scale.max) ? Math.max(max, scale.max) : max;\n min = isNumber(scale.min) ? Math.min(min, scale.min) : min;\n\n // 去重\n each(scale.values, (v: any) => {\n if (!values.includes(v)) {\n values.push(v);\n }\n });\n });\n\n // 2. 同步\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n if (scale.isContinuous) {\n scale.change({\n min,\n max,\n values,\n });\n } else if (scale.isCategory) {\n let range = scale.range;\n const cacheScaleMeta = this.getScaleMeta(key);\n\n // 存在 value 值,且用户没有配置 range 配置 to fix https://github.com/antvis/G2/issues/2996\n if (values && !get(cacheScaleMeta, ['scaleDef', 'range'])) {\n // 更新 range\n range = getDefaultCategoryScaleRange(\n deepMix({}, scale, {\n values,\n }),\n coordinate,\n theme\n );\n }\n scale.change({\n values,\n range,\n });\n }\n });\n });\n }\n\n /**\n * 缓存一个 scale\n * @param scale\n * @param scaleDef\n * @param key\n */\n private cacheScale(scale: Scale, scaleDef: ScaleOption, key: string) {\n // 1. 缓存到 scales\n\n let sm = this.getScaleMeta(key);\n // 存在则更新,同时检测类型是否一致\n if (sm && sm.scale.type === scale.type) {\n syncScale(sm.scale, scale);\n sm.scaleDef = scaleDef;\n // 更新 scaleDef\n } else {\n sm = {\n key,\n scale,\n scaleDef,\n };\n\n this.scales.set(key, sm);\n }\n\n // 2. 缓存到 syncScales,构造 Record 数据结构\n const syncKey = this.getSyncKey(sm);\n sm.syncKey = syncKey; // 设置 sync 同步的 key\n\n // 因为存在更新 scale 机制,所以在缓存之前,先从原 syncScales 中去除 sync 的缓存引用\n this.removeFromSyncScales(key);\n\n // 存在 sync 标记才进行 sync\n if (syncKey) {\n // 不存在这个 syncKey,则创建一个空数组\n let scaleKeys = this.syncScales.get(syncKey);\n if (!scaleKeys) {\n scaleKeys = [];\n this.syncScales.set(syncKey, scaleKeys);\n }\n scaleKeys.push(key);\n }\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n public getScale(key: string): Scale {\n let scaleMeta = this.getScaleMeta(key);\n if (!scaleMeta) {\n const field = last(key.split('-'));\n const scaleKeys = this.syncScales.get(field);\n if (scaleKeys && scaleKeys.length) {\n scaleMeta = this.getScaleMeta(scaleKeys[0]);\n }\n }\n return scaleMeta && scaleMeta.scale;\n }\n\n /**\n * 在 view 销毁的时候,删除 scale 实例,防止内存泄露\n * @param key\n */\n public deleteScale(key: string) {\n const scaleMeta = this.getScaleMeta(key);\n if (scaleMeta) {\n const { syncKey } = scaleMeta;\n\n const scaleKeys = this.syncScales.get(syncKey);\n\n // 移除同步的关系\n if (scaleKeys && scaleKeys.length) {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n }\n }\n }\n\n // 删除 scale 实例\n this.scales.delete(key);\n }\n\n /**\n * 清空\n */\n public clear() {\n this.scales.clear();\n this.syncScales.clear();\n }\n\n /**\n * 删除 sync scale 引用\n * @param key\n */\n private removeFromSyncScales(key: string) {\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n\n // 删除空数组值\n if (scaleKeys.length === 0) {\n this.syncScales.delete(syncKey);\n }\n\n return false; // 跳出循环\n }\n });\n }\n\n /**\n * get sync key\n * @param sm\n */\n private getSyncKey(sm: ScaleMeta): string {\n const { scale, scaleDef } = sm;\n const { field } = scale;\n const sync = get(scaleDef, ['sync']);\n\n // 如果 sync = true,则直接使用字段名作为 syncKey\n return sync === true ? field : sync === false ? undefined : sync;\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n private getScaleMeta(key: string): ScaleMeta {\n return this.scales.get(key);\n }\n}\n","import { DIRECTION } from '../../constant';\nimport { BBox } from '../../dependents';\nimport { Padding } from '../../interface';\n\nexport type PaddingCalCtor = {\n readonly instance: (top?: number, right?: number, bottom?: number, left?: number) => PaddingCal;\n};\n\n/** @ignore */\nexport class PaddingCal {\n private top: number;\n private right: number;\n private bottom: number;\n private left: number;\n\n /**\n * 使用静态方法创建一个\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n public static instance(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n return new PaddingCal(top, right, bottom, left);\n }\n\n /**\n * 初始的 padding 数据\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n constructor(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n this.left = left;\n }\n\n /**\n * 取最大区间\n * @param padding\n */\n public max(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top = Math.max(this.top, top);\n this.right = Math.max(this.right, right);\n this.bottom = Math.max(this.bottom, bottom);\n this.left = Math.max(this.left, left);\n\n return this;\n }\n\n /**\n * 四周增加 padding\n * @param padding\n */\n public shrink(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top += top;\n this.right += right;\n this.bottom += bottom;\n this.left += left;\n\n return this;\n }\n\n /**\n * 在某一个方向增加 padding\n * @param bbox\n * @param direction\n */\n public inc(bbox: BBox, direction: DIRECTION): PaddingCal {\n const { width, height } = bbox;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n this.top += height;\n break;\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n this.right += width;\n break;\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n this.bottom += height;\n break;\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n this.left += width;\n break;\n default:\n break;\n }\n\n return this;\n }\n\n /**\n * 获得最终的 padding\n */\n public getPadding(): Padding {\n return [this.top, this.right, this.bottom, this.left];\n }\n\n /**\n * clone 一个 padding cal\n */\n public clone(): PaddingCal {\n return new PaddingCal(...this.getPadding());\n }\n}\n","import { each } from '@antv/util';\nimport { COMPONENT_TYPE } from '../../constant';\nimport { ComponentOption, Padding } from '../../interface';\nimport { BBox } from '../../util/bbox';\nimport { isAutoPadding, parsePadding } from '../../util/padding';\nimport View from '../view';\nimport { PaddingCal } from './padding-cal';\n\n/**\n * @ignore\n * 根据 view 中的组件,计算实际的 padding 数值\n * @param view\n */\nexport function calculatePadding(view: View): PaddingCal {\n const padding = view.padding;\n\n // 如果不是 auto padding,那么直接解析之后返回\n if (!isAutoPadding(padding)) {\n return new PaddingCal(...parsePadding(padding));\n }\n\n // 是 auto padding,根据组件的情况,来计算 padding\n const { viewBBox } = view;\n\n const paddingCal = new PaddingCal();\n\n const axisComponents = [];\n const paddingComponents = [];\n const otherComponents = [];\n\n each(view.getComponents(), (co: ComponentOption) => {\n const { type } = co;\n if (type === COMPONENT_TYPE.AXIS) {\n axisComponents.push(co);\n } else if ([COMPONENT_TYPE.LEGEND, COMPONENT_TYPE.SLIDER, COMPONENT_TYPE.SCROLLBAR].includes(type)) {\n paddingComponents.push(co);\n } else if (type !== COMPONENT_TYPE.GRID && type !== COMPONENT_TYPE.TOOLTIP) {\n otherComponents.push(co);\n }\n });\n\n // 进行坐标轴布局,应该是取 padding 的并集,而不是进行相加\n each(axisComponents, (co: ComponentOption) => {\n const { component } = co;\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n\n const exceed = componentBBox.exceed(viewBBox);\n\n // 在对组件分组之后,先对 axis 进行处理,然后取最大的超出即可。\n paddingCal.max(exceed);\n });\n\n // 有 padding 的组件布局\n each(paddingComponents, (co: ComponentOption) => {\n const { component, direction } = co;\n const bboxObject = component.getLayoutBBox();\n const componentPadding: Padding = component.get('padding');\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height).expand(\n componentPadding\n );\n // 按照方向计算 padding\n paddingCal.inc(componentBBox, direction);\n });\n\n // 其他组件布局\n each(otherComponents, (co: ComponentOption) => {\n const { component, direction } = co;\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n // 按照方向计算 padding\n paddingCal.inc(componentBBox, direction);\n });\n\n return paddingCal;\n}\n","import { PaddingCalCtor } from '../layout/padding-cal';\nimport { View } from '../view';\n\n/**\n * 默认的 syncViewPadding 逻辑\n * @param chart\n * @param views\n * @param PC: PaddingCalCtor\n */\nexport function defaultSyncViewPadding(chart: View, views: View[], PC: PaddingCalCtor) {\n const syncPadding = PC.instance();\n\n // 所有的 view 的 autoPadding 指向同一个引用\n views.forEach((v: View) => {\n v.autoPadding = syncPadding.max(v.autoPadding.getPadding());\n });\n}\n","import {\n clone,\n deepMix,\n each,\n filter,\n find,\n flatten,\n get,\n isBoolean,\n isFunction,\n isNil,\n isObject,\n isString,\n isUndefined,\n mix,\n remove,\n set,\n size,\n uniqueId,\n isEqual,\n isPlainObject,\n reduce,\n} from '@antv/util';\nimport { Attribute, Coordinate, Event as GEvent, GroupComponent, ICanvas, IGroup, IShape, Scale } from '../dependents';\nimport {\n AxisOption,\n ComponentOption,\n CoordinateCfg,\n CoordinateOption,\n Data,\n Datum,\n FacetCfgMap,\n FilterCondition,\n GeometryOption,\n LegendOption,\n LooseObject,\n Options,\n Point,\n Region,\n ScaleOption,\n TooltipOption,\n ViewCfg,\n ViewPadding,\n ViewAppendPadding,\n EventPayload,\n Padding,\n} from '../interface';\nimport { GROUP_Z_INDEX, LAYER, PLOT_EVENTS, VIEW_LIFE_CIRCLE } from '../constant';\nimport Base from '../base';\nimport { Facet, getFacet } from '../facet';\nimport Geometry from '../geometry/base';\nimport Element from '../geometry/element';\nimport { createInteraction, Interaction } from '../interaction';\nimport { getTheme } from '../theme';\nimport { BBox } from '../util/bbox';\nimport { getCoordinateClipCfg, isPointInCoordinate } from '../util/coordinate';\nimport { uniq } from '../util/helper';\nimport { findDataByPoint } from '../util/tooltip';\nimport { parsePadding } from '../util/padding';\nimport { getDefaultCategoryScaleRange } from '../util/scale';\nimport { createTheme } from '../theme/util';\nimport Chart from './chart';\nimport { getComponentController, getComponentControllerNames } from './controller';\nimport Annotation from './controller/annotation';\nimport { Controller } from './controller/base';\nimport CoordinateController from './controller/coordinate';\nimport Tooltip from './controller/tooltip';\nimport Slider from './controller/slider';\nimport Scrollbar from './controller/scrollbar';\nimport Axis from './controller/axis';\nimport Gesture from './controller/gesture';\nimport Legend from './controller/legend';\nimport Event from './event';\nimport defaultLayout, { Layout } from './layout';\nimport { ScalePool } from './util/scale-pool';\nimport { PaddingCal } from './layout/padding-cal';\nimport { calculatePadding } from './layout/auto';\nimport { defaultSyncViewPadding } from './util/sync-view-padding';\n\n/**\n * G2 视图 View 类\n */\nexport class View extends Base {\n /** view id,全局唯一。 */\n public id: string;\n /** 父级 view,如果没有父级,则为空。 */\n public parent: View;\n /** 所有的子 view。 */\n public views: View[] = [];\n /** 所有的 geometry 实例。 */\n public geometries: Geometry[] = [];\n /** 所有的组件 controllers。 */\n public controllers: Controller[] = [];\n /** 所有的 Interaction 实例。 */\n public interactions: Record = {};\n\n /** view 区域空间。 */\n public viewBBox: BBox;\n /** 坐标系的位置大小,ViewBBox - padding = coordinateBBox。 */\n public coordinateBBox: BBox;\n /** view 的 padding 大小,传入的配置(不是解析之后的值)。 */\n public padding: ViewPadding;\n /** padding的基础上增加的调整值 */\n public appendPadding: ViewAppendPadding;\n /** G.Canvas 实例。 */\n public canvas: ICanvas;\n /** 存储最终计算的 padding 结果 */\n public autoPadding: PaddingCal;\n\n /** 三层 Group 图形中的背景层。 */\n public backgroundGroup: IGroup;\n /** 三层 Group 图形中的中间层。 */\n public middleGroup: IGroup;\n /** 三层 Group 图形中的前景层。 */\n public foregroundGroup: IGroup;\n /** 是否对超出坐标系范围的 Geometry 进行剪切 */\n public limitInPlot: boolean = false;\n\n /**\n * 标记 view 的大小位置范围,均是 0 ~ 1 范围,便于开发者使用,起始点为左上角。\n */\n protected region: Region;\n /** 主题配置,存储当前主题配置。 */\n protected themeObject: LooseObject;\n\n // 配置信息存储\n protected options: Options = {\n data: [],\n animate: true, // 默认开启动画\n }; // 初始化为空\n\n /** 过滤之后的数据 */\n protected filteredData: Data;\n\n /** 配置开启的组件插件,默认为全局配置的组件。 */\n private usedControllers: string[] = getComponentControllerNames();\n\n /** 所有的 scales */\n private scalePool: ScalePool = new ScalePool();\n\n /** 布局函数 */\n protected layoutFunc: Layout = defaultLayout;\n /** 生成的坐标系实例,{@link https://github.com/antvis/coord/blob/master/src/coord/base.ts|Coordinate} */\n protected coordinateInstance: Coordinate;\n /** Coordinate 相关的控制器类,负责坐标系实例的创建、更新、变换等 */\n protected coordinateController: CoordinateController;\n /** 分面类实例 */\n protected facetInstance: Facet;\n\n /** 当前鼠标是否在 plot 内(CoordinateBBox) */\n private isPreMouseInPlot: boolean = false;\n /** 默认标识位,用于判定数据是否更新 */\n private isDataChanged: boolean = false;\n /** 用于判断坐标系范围是否发生变化的标志位 */\n private isCoordinateChanged: boolean = false;\n /** 从当前这个 view 创建的 scale key */\n private createdScaleKeys = new Map();\n /** 背景色样式的 shape */\n private backgroundStyleRectShape;\n /** 是否同步子 view 的 padding */\n private syncViewPadding;\n\n constructor(props: ViewCfg) {\n super({ visible: props.visible });\n\n const {\n id = uniqueId('view'),\n parent,\n canvas,\n backgroundGroup,\n middleGroup,\n foregroundGroup,\n region = { start: { x: 0, y: 0 }, end: { x: 1, y: 1 } },\n padding,\n appendPadding,\n theme,\n options,\n limitInPlot,\n syncViewPadding,\n } = props;\n\n this.parent = parent;\n this.canvas = canvas;\n this.backgroundGroup = backgroundGroup;\n this.middleGroup = middleGroup;\n this.foregroundGroup = foregroundGroup;\n this.region = region;\n this.padding = padding;\n this.appendPadding = appendPadding;\n // 接受父 view 传入的参数\n this.options = { ...this.options, ...options };\n this.limitInPlot = limitInPlot;\n this.id = id;\n this.syncViewPadding = syncViewPadding;\n\n // 初始化 theme\n this.themeObject = isObject(theme) ? deepMix({}, getTheme('default'), createTheme(theme)) : getTheme(theme);\n this.init();\n }\n\n /**\n * 设置 layout 布局函数\n * @param layout 布局函数\n * @returns void\n */\n public setLayout(layout: Layout) {\n this.layoutFunc = layout;\n }\n\n /**\n * 生命周期:初始化\n * @returns voids\n */\n public init() {\n // 计算画布的 viewBBox\n this.calculateViewBBox();\n\n // 事件委托机制\n this.initEvents();\n\n // 初始化组件 controller\n this.initComponentController();\n\n this.initOptions();\n }\n\n /**\n * 生命周期:渲染流程,渲染过程需要处理数据更新的情况。\n * render 函数仅仅会处理 view 和子 view。\n * @param isUpdate 是否触发更新流程。\n * @param params render 事件参数\n */\n public render(isUpdate: boolean = false, payload?: EventPayload) {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_RENDER, Event.fromData(this, VIEW_LIFE_CIRCLE.BEFORE_RENDER, payload));\n // 递归渲染\n this.paint(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_RENDER, Event.fromData(this, VIEW_LIFE_CIRCLE.AFTER_RENDER, payload));\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 生命周期:清空图表上所有的绘制内容,但是不销毁图表,chart 仍可使用。\n * @returns void\n */\n public clear() {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CLEAR);\n // 1. 清空缓存和计算数据\n this.filteredData = [];\n this.coordinateInstance = undefined;\n this.isDataChanged = false; // 复位\n this.isCoordinateChanged = false; // 复位\n\n // 2. 清空 geometries\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n geometries[i].clear();\n // view 中使用 geometry 的时候,还需要清空它的容器,不然下一次 chart.geometry() 的时候,又创建了一个,导致泄露, #2799。\n geometries[i].container.remove(true);\n geometries[i].labelsContainer.remove(true);\n }\n this.geometries = [];\n\n // 3. 清空 controllers\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n if (controllers[i].name === 'annotation') {\n // 需要清空配置项\n (controllers[i] as Annotation).clear(true);\n } else {\n controllers[i].clear();\n }\n }\n\n // 4. 删除 scale 缓存\n this.createdScaleKeys.forEach((v: boolean, k: string) => {\n this.getRootView().scalePool.deleteScale(k);\n });\n this.createdScaleKeys.clear();\n\n // 递归处理子 view\n const views = this.views;\n for (let i = 0; i < views.length; i++) {\n views[i].clear();\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CLEAR);\n }\n\n /**\n * 生命周期:销毁,完全无法使用。\n * @returns void\n */\n public destroy() {\n // 销毁前事件,销毁之后已经没有意义了,所以不抛出事件\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_DESTROY);\n const interactions = this.interactions;\n // 销毁 interactions\n each(interactions, (interaction) => {\n if (interaction) {\n // 有可能已经销毁,设置了 undefined\n interaction.destroy();\n }\n });\n\n this.clear();\n\n // 销毁 controller 中的组件\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.destroy();\n }\n\n this.backgroundGroup.remove(true);\n this.middleGroup.remove(true);\n this.foregroundGroup.remove(true);\n\n super.destroy();\n }\n /* end 生命周期函数 */\n\n /**\n * 显示或者隐藏整个 view。\n * @param visible 是否可见\n * @returns View\n */\n public changeVisible(visible: boolean): View {\n super.changeVisible(visible);\n\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n geometry.changeVisible(visible);\n }\n\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.changeVisible(visible);\n }\n\n this.foregroundGroup.set('visible', visible);\n this.middleGroup.set('visible', visible);\n this.backgroundGroup.set('visible', visible);\n\n // group.set('visible', visible) 不会触发自动刷新\n this.getCanvas().draw();\n\n return this;\n }\n\n /**\n * 装载数据源。\n *\n * ```ts\n * view.data([{ city: '杭州', sale: 100 }, { city: '上海', sale: 110 } ]);\n * ```\n *\n * @param data 数据源,json 数组。\n * @returns View\n */\n public data(data: Data): View {\n set(this.options, 'data', data);\n this.isDataChanged = true;\n return this;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #data(data)}\n */\n public source(data: Data): View {\n console.warn('This method will be removed at G2 V4.1. Please use chart.data() instead.');\n return this.data(data);\n }\n\n /**\n * 设置数据筛选规则。\n *\n * ```ts\n * view.filter('city', (value: any, datum: Datum) => value !== '杭州');\n *\n * // 删除 'city' 字段对应的筛选规则。\n * view.filter('city', null);\n * ```\n *\n * @param field 数据字段\n * @param condition 筛选规则\n * @returns View\n */\n public filter(field: string, condition: FilterCondition | null): View {\n if (isFunction(condition)) {\n set(this.options, ['filters', field], condition);\n return this;\n }\n // condition 为空,则表示删除过滤条件\n if (!condition && get(this.options, ['filters', field])) {\n delete this.options.filters[field];\n }\n\n return this;\n }\n\n /**\n * 开启或者关闭坐标轴。\n *\n * ```ts\n * view.axis(false); // 不展示坐标轴\n * ```\n * @param field 坐标轴开关\n */\n public axis(field: boolean): View;\n /**\n * 对特定的某条坐标轴进行配置。\n *\n * @example\n * ```ts\n * view.axis('city', false); // 不展示 'city' 字段对应的坐标轴\n *\n * // 将 'city' 字段对应的坐标轴的标题隐藏\n * view.axis('city', {\n * title: null,\n * });\n * ```\n *\n * @param field 要配置的坐标轴对应的字段名称\n * @param axisOption 坐标轴具体配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n */\n public axis(field: string, axisOption: AxisOption): View;\n public axis(field: string | boolean, axisOption?: AxisOption): View {\n if (isBoolean(field)) {\n set(this.options, ['axes'], field);\n } else {\n set(this.options, ['axes', field], axisOption);\n }\n\n return this;\n }\n\n /**\n * 对图例进行整体配置。\n *\n * ```ts\n * view.legend(false); // 关闭图例\n *\n * view.legend({\n * position: 'right',\n * }); // 图例进行整体配置\n * ```\n * @param field\n * @returns View\n */\n public legend(field: LegendOption): View;\n /**\n * 对特定的图例进行配置。\n *\n * @example\n * ```ts\n * view.legend('city', false); // 关闭某个图例,通过数据字段名进行关联\n *\n * // 对特定的图例进行配置\n * view.legend('city', {\n * position: 'right',\n * });\n * ```\n *\n * @param field 图例对应的数据字段名称\n * @param legendOption 图例配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n * @returns View\n */\n public legend(field: string, legendOption: LegendOption): View;\n public legend(field: string | LegendOption, legendOption?: LegendOption): View {\n if (isBoolean(field)) {\n set(this.options, ['legends'], field);\n } else if (isString(field)) {\n set(this.options, ['legends', field], legendOption);\n if (isPlainObject(legendOption) && legendOption?.selected) {\n set(this.options, ['filters', field], (name: string) => {\n return legendOption?.selected[name] ?? true;\n });\n }\n } else {\n // 设置全局的 legend 配置\n set(this.options, ['legends'], field);\n }\n\n return this;\n }\n\n /**\n * 批量设置 scale 配置。\n *\n * ```ts\n * view.scale({\n * sale: {\n * min: 0,\n * max: 100,\n * }\n * });\n * ```\n * Scale 的详细配置项可以参考:https://github.com/antvis/scale#api\n * @returns View\n */\n public scale(field: Record): View;\n /**\n * 为特性的数据字段进行 scale 配置。\n *\n * ```ts\n * view.scale('sale', {\n * min: 0,\n * max: 100,\n * });\n * ```\n *\n * @returns View\n */\n public scale(field: string, scaleOption: ScaleOption): View;\n public scale(field: string | Record, scaleOption?: ScaleOption): View {\n if (isString(field)) {\n set(this.options, ['scales', field], scaleOption);\n } else if (isObject(field)) {\n each(field, (v: ScaleOption, k: string) => {\n set(this.options, ['scales', k], v);\n });\n }\n\n return this;\n }\n\n /**\n * tooltip 提示信息配置。\n *\n * ```ts\n * view.tooltip(false); // 关闭 tooltip\n *\n * view.tooltip({\n * shared: true\n * });\n * ```\n *\n * @param cfg Tooltip 配置,更详细的配置项参考:https://github.com/antvis/component#tooltip\n * @returns View\n */\n public tooltip(cfg: boolean | TooltipOption): View {\n set(this.options, 'tooltip', cfg);\n\n return this;\n }\n\n /**\n * 辅助标记配置。\n *\n * ```ts\n * view.annotation().line({\n * start: ['min', 85],\n * end: ['max', 85],\n * style: {\n * stroke: '#595959',\n * lineWidth: 1,\n * lineDash: [3, 3],\n * },\n * });\n * ```\n * 更详细的配置项:https://github.com/antvis/component#annotation\n * @returns [[Annotation]]\n */\n public annotation(): Annotation {\n return this.getController('annotation');\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #guide()}\n */\n public guide(): Annotation {\n console.warn('This method will be removed at G2 V4.1. Please use chart.annotation() instead.');\n return this.annotation();\n }\n\n /**\n * 坐标系配置。\n *\n * @example\n * ```ts\n * view.coordinate({\n * type: 'polar',\n * cfg: {\n * radius: 0.85,\n * },\n * actions: [\n * [ 'transpose' ],\n * ],\n * });\n * ```\n *\n * @param option\n * @returns\n */\n public coordinate(option?: CoordinateOption): CoordinateController;\n /**\n * 声明坐标系类型,并进行配置。\n *\n * ```ts\n * // 直角坐标系,并进行转置变换\n * view.coordinate('rect').transpose();\n *\n * // 默认创建直角坐标系\n * view.coordinate();\n * ```\n *\n * @param type 坐标系类型\n * @param [coordinateCfg] 坐标系配置\n * @returns\n */\n public coordinate(type: string, coordinateCfg?: CoordinateCfg): CoordinateController;\n public coordinate(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n // 提供语法糖,使用更简单\n if (isString(type)) {\n set(this.options, 'coordinate', { type, cfg: coordinateCfg } as CoordinateOption);\n } else {\n set(this.options, 'coordinate', type);\n }\n\n // 更新 coordinate 配置\n this.coordinateController.update(this.options.coordinate);\n\n return this.coordinateController;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #coordinate()}\n */\n public coord(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n console.warn('This method will be removed at G2 V4.1. Please use chart.coordinate() instead.');\n // @ts-ignore\n return this.coordinate(type, coordinateCfg);\n }\n\n /**\n * view 分面绘制。\n *\n * ```ts\n * view.facet('rect', {\n * rowField: 'province',\n * columnField: 'category',\n * eachView: (innerView: View, facet?: FacetData) => {\n * innerView.line().position('city*sale');\n * },\n * });\n * ```\n *\n * @param type 分面类型\n * @param cfg 分面配置, [[FacetCfgMap]]\n * @returns View\n */\n public facet(type: T, cfg: FacetCfgMap[T]): View {\n // 先销毁掉之前的分面\n if (this.facetInstance) {\n this.facetInstance.destroy();\n }\n\n // 创建新的分面\n const Ctor = getFacet(type);\n\n if (!Ctor) {\n throw new Error(`facet '${type}' is not exist!`);\n }\n\n this.facetInstance = new Ctor(this, { ...cfg, type });\n\n return this;\n }\n\n /*\n * 开启或者关闭动画。\n *\n * ```ts\n * view.animate(false);\n * ```\n *\n * @param status 动画状态,true 表示开始,false 表示关闭\n * @returns View\n */\n public animate(status: boolean): View {\n set(this.options, 'animate', status);\n return this;\n }\n\n /**\n * 更新配置项,用于配置项式声明。\n * @param options 配置项\n */\n public updateOptions(options: Options) {\n this.clear(); // 清空\n mix(this.options, options);\n\n // 需要把已存在的 view 销毁,否则会重复创建\n // 目前针对配置项还没有特别好的 view 更新机制,为了不影响主流流程,所以在这里直接销毁\n this.views.forEach((view) => view.destroy());\n this.views = [];\n\n this.initOptions();\n // 初始化坐标系大小,保证 padding 计算正确\n this.coordinateBBox = this.viewBBox;\n return this;\n }\n\n /**\n * 往 `view.options` 属性中存储配置项。\n * @param name 属性名称\n * @param opt 属性值\n * @returns view\n */\n public option(name: string, opt: any): View {\n // 对于内置的 option,避免覆盖。\n // name 在原型上,说明可能是内置 API,存在 option 被覆盖的风险,不处理\n if (View.prototype[name]) {\n throw new Error(`Can't use built in variable name \"${name}\", please change another one.`);\n }\n\n // 存入到 option 中\n set(this.options, name, opt);\n return this;\n }\n\n /**\n * 设置主题。\n *\n * ```ts\n * view.theme('dark'); // 'dark' 需要事先通过 `registerTheme()` 接口注册完成\n *\n * view.theme({ defaultColor: 'red' });\n * ```\n *\n * @param theme 主题名或者主题配置\n * @returns View\n */\n public theme(theme: string | LooseObject): View {\n this.themeObject = isObject(theme) ? deepMix({}, this.themeObject, createTheme(theme)) : getTheme(theme);\n\n return this;\n }\n\n /* end 一系列传入配置的 API */\n\n /**\n * Call the interaction based on the interaction name\n *\n * ```ts\n * view.interaction('my-interaction', { extra: 'hello world' });\n * ```\n * 详细文档可以参考:https://g2.antv.vision/zh/docs/api/general/interaction\n * @param name interaction name\n * @param cfg interaction config\n * @returns\n */\n public interaction(name: string, cfg?: LooseObject): View {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n }\n\n // 新建交互实例\n const interaction = createInteraction(name, this, cfg);\n if (interaction) {\n interaction.init();\n this.interactions[name] = interaction;\n }\n return this;\n }\n\n /**\n * 移除当前 View 的 interaction\n * ```ts\n * view.removeInteraction('my-interaction');\n * ```\n * @param name interaction name\n */\n public removeInteraction(name: string) {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n this.interactions[name] = undefined;\n }\n }\n\n /**\n * 修改数据,数据更新逻辑,数据更新仅仅影响当前这一层的 view\n *\n * ```ts\n * view.changeData([{ city: '北京', sale: '200' }]);\n * ```\n *\n * @param data\n * @returns void\n */\n public changeData(data: Data) {\n this.isDataChanged = true;\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, Event.fromData(this, VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, null));\n // 1. 保存数据\n this.data(data);\n\n // 2. 渲染\n this.paint(true);\n\n // 3. 遍历子 view 进行 change data\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n // FIXME 子 view 有自己的数据的情况,该如何处理?\n view.changeData(data);\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, Event.fromData(this, VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, null));\n }\n\n /* View 管理相关的 API */\n\n /**\n * 创建子 view\n *\n * ```ts\n * const innerView = view.createView({\n * start: { x: 0, y: 0 },\n * end: { x: 0.5, y: 0.5 },\n * padding: 8,\n * });\n * ```\n *\n * @param cfg\n * @returns View\n */\n public createView(cfg?: Partial): View {\n // 将会在 4.1 版本中移除递归嵌套 view,仅仅只允许 chart - view 两层。\n // 这个 API 理论上用户量不多,所以暂时不发大版本,所以先暂时打一个 warning。\n if (this.parent && this.parent.parent) {\n // 存在 3 层 结构了\n console.warn('The view nesting recursive feature will be removed at G2 V4.1. Please avoid to use it.');\n }\n\n // 子 view 共享 options 配置数据\n const sharedOptions = {\n data: this.options.data,\n scales: clone(this.options.scales),\n axes: clone(this.options.axes),\n coordinate: clone(this.coordinateController.getOption()),\n tooltip: clone(this.options.tooltip),\n legends: clone(this.options.legends),\n animate: this.options.animate,\n visible: this.visible,\n };\n\n const v = new View({\n parent: this,\n canvas: this.canvas,\n // 子 view 共用三层 group\n backgroundGroup: this.backgroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: this.middleGroup.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: this.foregroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n theme: this.themeObject,\n padding: this.padding,\n ...cfg,\n options: {\n ...sharedOptions,\n ...get(cfg, 'options', {}),\n },\n });\n\n this.views.push(v);\n\n return v;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #createView()}\n */\n public view(cfg?: Partial) {\n console.warn('This method will be removed at G2 V4.1. Please use chart.createView() instead.');\n return this.createView(cfg);\n }\n\n /**\n * 删除一个子 view\n * @param view\n * @return removedView\n */\n public removeView(view: View): View {\n const removedView = remove(this.views, (v: View) => v === view)[0];\n\n if (removedView) {\n removedView.destroy();\n }\n\n return removedView;\n }\n /* end View 管理相关的 API */\n\n // 一些 get 方法\n\n /**\n * 获取当前坐标系实例。\n * @returns [[Coordinate]]\n */\n public getCoordinate() {\n return this.coordinateInstance;\n }\n\n /**\n * 获取当前 view 的主题配置。\n * @returns themeObject\n */\n public getTheme(): LooseObject {\n return this.themeObject;\n }\n\n /**\n * 获得 x 轴字段的 scale 实例。\n * @returns view 中 Geometry 对于的 x scale\n */\n public getXScale(): Scale {\n // 拿第一个 Geometry 的 X scale\n // 隐藏逻辑:一个 view 中的 Geometry 必须 x 字段一致\n const g = this.geometries[0];\n return g ? g.getXScale() : null;\n }\n\n /**\n * 获取 y 轴字段的 scales 实例。\n * @returns view 中 Geometry 对于的 y scale 数组\n */\n public getYScales(): Scale[] {\n // 拿到所有的 Geometry 的 Y scale,然后去重\n const tmpMap = {};\n const yScales = [];\n this.geometries.forEach((g: Geometry) => {\n const yScale = g.getYScale();\n const field = yScale.field;\n if (!tmpMap[field]) {\n tmpMap[field] = true;\n yScales.push(yScale);\n }\n });\n return yScales;\n }\n\n /**\n * 获取 x 轴或者 y 轴对应的所有 scale 实例。\n * @param dimType x | y\n * @returns x 轴或者 y 轴对应的所有 scale 实例。\n */\n public getScalesByDim(dimType: 'x' | 'y'): Record {\n const geometries = this.geometries;\n const scales = {};\n\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n const scale = dimType === 'x' ? geometry.getXScale() : geometry.getYScale();\n if (scale && !scales[scale.field]) {\n scales[scale.field] = scale;\n }\n }\n\n return scales;\n }\n\n /**\n * 根据字段名去获取 scale 实例。\n * @param field 数据字段名称\n * @param key id\n */\n public getScale(field: string, key?: string): Scale {\n const defaultKey = key ? key : this.getScaleKey(field);\n // 调用根节点 view 的方法获取\n return this.getRootView().scalePool.getScale(defaultKey);\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Please use `getScale`.\n */\n public getScaleByField(field: string, key?: string): Scale {\n return this.getScale(field, key);\n }\n\n /**\n * 返回所有配置信息。\n * @returns 所有的 view API 配置。\n */\n public getOptions(): Options {\n return this.options;\n }\n\n /**\n * 获取 view 的数据(过滤后的数据)。\n * @returns 处理过滤器之后的数据。\n */\n public getData() {\n return this.filteredData;\n }\n\n /**\n * 获取原始数据\n * @returns 传入 G2 的原始数据\n */\n public getOriginalData() {\n return this.options.data;\n }\n\n /**\n * 获取布局后的边距 padding\n * @returns\n */\n public getPadding(): Padding {\n return this.autoPadding.getPadding();\n }\n\n /**\n * 获取当前 view 有的 geometries\n * @returns\n */\n public getGeometries() {\n return this.geometries;\n }\n\n /**\n * 获取 view 中的所有 geome\n */\n public getElements(): Element[] {\n return reduce(\n this.geometries,\n (elements: Element[], geometry: Geometry) => {\n return elements.concat(geometry.getElements());\n },\n []\n );\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.getElements().filter((el) => condition(el));\n }\n\n /**\n * 获得绘制的层级 group。\n * @param layer 层级名称。\n * @returns 对应层级的 Group。\n */\n public getLayer(layer: LAYER): IGroup {\n return layer === LAYER.BG\n ? this.backgroundGroup\n : layer === LAYER.MID\n ? this.middleGroup\n : layer === LAYER.FORE\n ? this.foregroundGroup\n : this.foregroundGroup;\n }\n\n /**\n * 对外暴露方法,判断一个点是否在绘图区域(即坐标系范围)内部。\n * @param point 坐标点\n */\n public isPointInPlot(point: Point): boolean {\n return isPointInCoordinate(this.getCoordinate(), point);\n }\n\n /**\n * 获得所有的 legend 对应的 attribute 实例。\n * @returns 维度字段的 Attribute 数组\n */\n public getLegendAttributes(): Attribute[] {\n return flatten(this.geometries.map((g: Geometry) => g.getGroupAttributes())) as unknown as Attribute[];\n }\n\n /**\n * 获取所有的分组字段的 scale 实例。\n * @returns 获得分组字段的 scale 实例数组。\n */\n public getGroupScales(): Scale[] {\n // 拿到所有的 Geometry 的 分组字段 scale,然后打平去重\n const scales = this.geometries.map((g: Geometry) => g.getGroupScales());\n return uniq(flatten(scales));\n }\n\n /**\n * 获取 G.Canvas 实例。\n * @returns G.Canvas 画布实例。\n */\n public getCanvas(): ICanvas {\n return (this.getRootView() as unknown as Chart).canvas;\n }\n\n /**\n * 获得根节点 view。\n */\n public getRootView(): View {\n let v = this as View;\n\n while (true) {\n if (v.parent) {\n v = v.parent;\n continue;\n }\n break;\n }\n return v;\n }\n\n /**\n * 获取该数据在可视化后,对应的画布坐标点。\n * @param data 原始数据记录\n * @returns 对应的画布坐标点\n */\n public getXY(data: Datum): Point {\n const coordinate = this.getCoordinate();\n const xScales = this.getScalesByDim('x');\n const yScales = this.getScalesByDim('y');\n let x;\n let y;\n\n each(data, (value, key) => {\n if (xScales[key]) {\n x = xScales[key].scale(value);\n }\n if (yScales[key]) {\n y = yScales[key].scale(value);\n }\n });\n\n if (!isNil(x) && !isNil(y)) {\n return coordinate.convert({ x, y });\n }\n }\n\n public getController(name: 'tooltip'): Tooltip;\n public getController(name: 'axis'): Axis;\n public getController(name: 'legend'): Legend;\n public getController(name: 'scrollbar'): Scrollbar;\n public getController(name: 'slider'): Slider;\n public getController(name: 'annotation'): Annotation;\n public getController(name: 'gestucre'): Gesture;\n public getController(name: string): Controller;\n /**\n * 获取 name 对应的 controller 实例\n * @param name\n */\n public getController(name: string): Controller {\n return find(this.controllers, (c: Controller) => c.name === name);\n }\n\n /**\n * 显示 point 坐标点对应的 tooltip。\n * @param point 画布坐标点\n * @returns View\n */\n public showTooltip(point: Point): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.showTooltip(point);\n }\n return this;\n }\n\n /**\n * 隐藏 tooltip。\n * @returns View\n */\n public hideTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.hideTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定到当前位置不能移动。\n * @returns View\n */\n public lockTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.lockTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定解除。\n * @returns View\n */\n public unlockTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.unlockTooltip();\n }\n return this;\n }\n\n /**\n * 是否锁定 tooltip。\n * @returns 是否锁定\n */\n public isTooltipLocked() {\n const tooltip = this.getController('tooltip');\n return tooltip && tooltip.isTooltipLocked();\n }\n\n /**\n * 获取当前 point 对应的 tooltip 数据项。\n * @param point 坐标点\n * @returns tooltip 数据项\n */\n public getTooltipItems(point: Point) {\n const tooltip = this.getController('tooltip');\n\n return tooltip ? tooltip.getTooltipItems(point) : [];\n }\n\n /**\n * 获取逼近的点的数据集合\n * @param point 当前坐标点\n * @returns 数据\n */\n public getSnapRecords(point: Point) {\n const geometries = this.geometries;\n let rst = [];\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geom = geometries[i];\n const dataArray = geom.dataArray;\n geom.sort(dataArray); // 先进行排序,便于 tooltip 查找\n let record;\n for (let j = 0, dataLen = dataArray.length; j < dataLen; j++) {\n const data = dataArray[j];\n record = findDataByPoint(point, data, geom);\n if (record) {\n rst.push(record);\n }\n }\n }\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n const snapRecords = view.getSnapRecords(point);\n rst = rst.concat(snapRecords);\n }\n\n return rst;\n }\n\n /**\n * 获取所有的 pure component 组件,用于布局。\n */\n public getComponents(): ComponentOption[] {\n let components = [];\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n components = components.concat(controller.getComponents());\n }\n\n return components;\n }\n\n /**\n * 将 data 数据进行过滤。\n * @param data\n * @returns 过滤之后的数据\n */\n public filterData(data: Data): Data {\n const { filters } = this.options;\n // 不存在 filters,则不需要进行数据过滤\n if (size(filters) === 0) {\n return data;\n }\n\n // 存在过滤器,则逐个执行过滤,过滤器之间是 与 的关系\n return filter(data, (datum: Datum, idx: number) => {\n // 所有的 filter 字段\n const fields = Object.keys(filters);\n\n // 所有的条件都通过,才算通过\n return fields.every((field: string) => {\n const condition = filters[field];\n\n // condition 返回 true,则保留\n return condition(datum[field], datum, idx);\n });\n });\n }\n\n /**\n * 对某一个字段进行过滤\n * @param field\n * @param data\n */\n public filterFieldData(field: string, data: Data): Data {\n const { filters } = this.options;\n const condition = get(filters, field);\n\n if (isUndefined(condition)) {\n return data;\n }\n return data.filter((datum: Datum, idx: number) => condition(datum[field], datum, idx));\n }\n\n /**\n * 调整 coordinate 的坐标范围。\n */\n public adjustCoordinate() {\n const { start: curStart, end: curEnd } = this.getCoordinate();\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n\n // 在 defaultLayoutFn 中只会在 coordinateBBox 发生变化的时候会调用 adjustCoordinate(),所以不用担心被置位\n if (isEqual(curStart, start) && isEqual(curEnd, end)) {\n this.isCoordinateChanged = false;\n // 如果大小没有变化则不更新\n return;\n }\n this.isCoordinateChanged = true;\n this.coordinateInstance = this.coordinateController.adjust(start, end);\n }\n\n protected paint(isUpdate: boolean) {\n this.renderDataRecursive(isUpdate);\n\n // 处理 sync scale 的逻辑\n this.syncScale();\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_PAINT);\n\n // 初始化图形、组件位置,计算 padding\n this.renderPaddingRecursive(isUpdate);\n // 布局图形、组件\n this.renderLayoutRecursive(isUpdate);\n // 背景色 shape\n this.renderBackgroundStyleShape();\n // 最终的绘制 render\n this.renderPaintRecursive(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_PAINT);\n\n this.isDataChanged = false; // 渲染完毕复位\n }\n\n /**\n * 渲染背景样式的 shape。\n * 放到 view 中创建的原因是让使用 view 绘制图形的时候,也能够处理背景色\n */\n private renderBackgroundStyleShape() {\n // 只有根节点才处理\n if (this.parent) {\n return;\n }\n const background = get(this.themeObject, 'background');\n // 配置了背景色\n if (background) {\n // 1. 不存在则创建\n if (!this.backgroundStyleRectShape) {\n this.backgroundStyleRectShape = this.backgroundGroup.addShape('rect', {\n attrs: {},\n zIndex: -1,\n // 背景色 shape 不设置事件捕获\n capture: false,\n });\n this.backgroundStyleRectShape.toBack();\n }\n\n // 2. 有了 shape 之后设置背景,位置(更新的时候)\n const { x, y, width, height } = this.viewBBox;\n this.backgroundStyleRectShape.attr({\n fill: background,\n x,\n y,\n width,\n height,\n });\n } else {\n // 没有配置背景色\n if (this.backgroundStyleRectShape) {\n this.backgroundStyleRectShape.remove(true);\n this.backgroundStyleRectShape = undefined;\n }\n }\n }\n\n /**\n * 递归计算每个 view 的 padding 值,coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderPaddingRecursive(isUpdate: boolean) {\n // 1. 子 view 大小相对 coordinateBBox,changeSize 的时候需要重新计算\n this.calculateViewBBox();\n // 2. 更新 coordinate\n this.adjustCoordinate();\n // 3. 初始化组件 component\n this.initComponents(isUpdate);\n // 4. 布局计算每隔 view 的 padding 值\n // 4.1. 自动加 auto padding -> absolute padding,并且增加 appendPadding\n this.autoPadding = calculatePadding(this).shrink(parsePadding(this.appendPadding));\n // 4.2. 计算出新的 coordinateBBox,更新 Coordinate\n // 这里必须保留,原因是后面子 view 的 viewBBox 或根据 parent 的 coordinateBBox\n this.coordinateBBox = this.viewBBox.shrink(this.autoPadding.getPadding());\n this.adjustCoordinate();\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaddingRecursive(isUpdate);\n }\n }\n\n /**\n * 递归处理 view 的布局,最终是计算各个 view 的 coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderLayoutRecursive(isUpdate: boolean) {\n // 1. 同步子 view padding\n // 根据配置获取 padding\n const syncViewPaddingFn =\n this.syncViewPadding === true\n ? defaultSyncViewPadding\n : isFunction(this.syncViewPadding)\n ? this.syncViewPadding\n : undefined;\n\n if (syncViewPaddingFn) {\n syncViewPaddingFn(this, this.views, PaddingCal);\n // 同步 padding 之后,更新 coordinate\n this.views.forEach((v: View) => {\n v.coordinateBBox = v.viewBBox.shrink(v.autoPadding.getPadding());\n v.adjustCoordinate();\n });\n }\n\n // 3. 将 view 中的组件按照 view padding 移动到对应的位置\n this.doLayout();\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderLayoutRecursive(isUpdate);\n }\n }\n\n /**\n * 最终递归绘制组件和图形\n * @param isUpdate\n */\n protected renderPaintRecursive(isUpdate: boolean) {\n const middleGroup = this.middleGroup;\n if (this.limitInPlot) {\n const { type, attrs } = getCoordinateClipCfg(this.coordinateInstance);\n middleGroup.setClip({\n type,\n attrs,\n });\n } else {\n // 清除已有的 clip\n middleGroup.setClip(undefined);\n }\n\n // 1. 渲染几何标记\n this.paintGeometries(isUpdate);\n // 2. 绘制组件\n this.renderComponents(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaintRecursive(isUpdate);\n }\n }\n\n // end Get 方法\n\n /**\n * 创建 scale,递归到顶层 view 去创建和缓存 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n protected createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n // 1. 合并 field 对应的 scaleDef,合并原则是底层覆盖顶层(就近原则)\n const currentScaleDef = get(this.options.scales, [field]);\n const mergedScaleDef = { ...currentScaleDef, ...scaleDef };\n\n // 2. 是否存在父 view,在则递归,否则创建\n if (this.parent) {\n return this.parent.createScale(field, data, mergedScaleDef, key);\n }\n\n // 3. 在根节点 view 通过 scalePool 创建\n return this.scalePool.createScale(field, data, mergedScaleDef, key);\n }\n\n /**\n * 递归渲染中的数据处理\n * @param isUpdate\n */\n private renderDataRecursive(isUpdate: boolean) {\n // 1. 处理数据\n this.doFilterData();\n // 2. 创建实例\n this.createCoordinate();\n // 3. 初始化 Geometry\n this.initGeometries(isUpdate);\n // 4. 处理分面逻辑,最终都是生成子 view 和 geometry\n this.renderFacet(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderDataRecursive(isUpdate);\n }\n }\n\n /**\n * 计算 region,计算实际的像素范围坐标\n * @private\n */\n private calculateViewBBox() {\n let x;\n let y;\n let width;\n let height;\n\n if (this.parent) {\n const bbox = this.parent.coordinateBBox;\n // 存在 parent, 那么就是通过父容器大小计算\n x = bbox.x;\n y = bbox.y;\n width = bbox.width;\n height = bbox.height;\n } else {\n // 顶层容器,从 canvas 中取值 宽高\n x = 0;\n y = 0;\n width = this.canvas.get('width');\n height = this.canvas.get('height');\n }\n\n const { start, end } = this.region;\n\n // 根据 region 计算当前 view 的 bbox 大小。\n const viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n\n if (!this.viewBBox || !this.viewBBox.isEqual(viewBBox)) {\n // viewBBox 发生变化的时候进行更新\n this.viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n }\n\n // 初始的 coordinate bbox 大小\n this.coordinateBBox = this.viewBBox;\n }\n\n /**\n * 初始化事件机制:G 4.0 底层内置支持 name:event 的机制,那么只要所有组件都有自己的 name 即可。\n *\n * G2 的事件只是获取事件委托,然后在 view 嵌套结构中,形成事件冒泡机制。\n * 当前 view 只委托自己 view 中的 Component 和 Geometry 事件,并向上冒泡\n * @private\n */\n private initEvents() {\n // 三层 group 中的 shape 事件都会通过 G 冒泡上来的\n this.foregroundGroup.on('*', this.onDelegateEvents);\n this.middleGroup.on('*', this.onDelegateEvents);\n this.backgroundGroup.on('*', this.onDelegateEvents);\n\n this.canvas.on('*', this.onCanvasEvent);\n }\n\n private onCanvasEvent = (evt: GEvent): void => {\n const name = evt.name;\n if (!name.includes(':')) {\n // 非委托事件\n const e = this.createViewEvent(evt);\n // 处理 plot 事件\n this.doPlotEvent(e);\n this.emit(name, e);\n }\n };\n\n /**\n * 初始化插件\n */\n private initComponentController() {\n const usedControllers = this.usedControllers;\n for (let i = 0, len = usedControllers.length; i < len; i++) {\n const controllerName = usedControllers[i];\n const Ctor = getComponentController(controllerName);\n if (Ctor) {\n this.controllers.push(new Ctor(this));\n }\n }\n }\n\n private createViewEvent(evt: GEvent) {\n const { shape, name } = evt;\n\n const data = shape ? shape.get('origin') : null;\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = new Event(this, evt, data);\n e.type = name;\n return e;\n }\n /**\n * 触发事件之后\n * @param evt\n */\n private onDelegateEvents = (evt: GEvent): void => {\n // 阻止继续冒泡,防止重复事件触发\n // evt.preventDefault();\n const { name } = evt;\n if (!name.includes(':')) {\n return;\n }\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = this.createViewEvent(evt);\n\n // 包含有基本事件、组合事件\n this.emit(name, e);\n // const currentTarget = evt.currentTarget as IShape;\n // const inheritNames = currentTarget.get('inheritNames');\n // if (evt.delegateObject || inheritNames) {\n // const events = this.getEvents();\n // each(inheritNames, (subName) => {\n // const eventName = `${subName}:${type}`;\n // if (events[eventName]) {\n // this.emit(eventName, e);\n // }\n // });\n // }\n };\n\n /**\n * 处理 PLOT_EVENTS\n * plot event 需要处理所有的基础事件,并判断是否在画布中,然后再决定是否要 emit。\n * 对于 mouseenter、mouseleave 比较特殊,需要做一下数学比较。\n * @param e\n */\n private doPlotEvent(e: Event) {\n const { type, x, y } = e;\n\n const point = { x, y };\n\n const ALL_EVENTS = [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'mouseleave',\n 'mousewheel',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'click',\n 'dblclick',\n 'contextmenu',\n ];\n\n if (ALL_EVENTS.includes(type)) {\n const currentInPlot = this.isPointInPlot(point);\n const newEvent = e.clone();\n\n if (currentInPlot) {\n const TYPE = `plot:${type}`; // 组合 plot 事件\n newEvent.type = TYPE;\n this.emit(TYPE, newEvent);\n if (type === 'mouseleave' || type === 'touchend') {\n // 在plot 内部却离开画布\n this.isPreMouseInPlot = false;\n }\n }\n\n // 对于 mouseenter, mouseleave 的计算处理\n if (type === 'mousemove' || type === 'touchmove') {\n if (this.isPreMouseInPlot && !currentInPlot) {\n if (type === 'mousemove') {\n newEvent.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, newEvent);\n }\n newEvent.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, newEvent);\n } else if (!this.isPreMouseInPlot && currentInPlot) {\n if (type === 'mousemove') {\n newEvent.type = PLOT_EVENTS.MOUSE_ENTER;\n this.emit(PLOT_EVENTS.MOUSE_ENTER, newEvent);\n }\n newEvent.type = PLOT_EVENTS.ENTER;\n this.emit(PLOT_EVENTS.ENTER, newEvent);\n }\n // 赋新的状态值\n this.isPreMouseInPlot = currentInPlot;\n } else if (type === 'mouseleave' || type === 'touchend') {\n // 可能不在 currentInPlot 中\n if (this.isPreMouseInPlot) {\n if (type === 'mouseleave') {\n newEvent.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, newEvent);\n }\n newEvent.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, newEvent);\n\n this.isPreMouseInPlot = false;\n }\n }\n }\n }\n\n // view 生命周期 —— 渲染流程\n\n /**\n * 处理筛选器,筛选数据\n * @private\n */\n private doFilterData() {\n const { data } = this.options;\n this.filteredData = this.filterData(data);\n }\n\n /**\n * 初始化 Geometries\n * @private\n */\n private initGeometries(isUpdate: boolean) {\n // 初始化图形的之前,先创建 / 更新 scales\n this.createOrUpdateScales();\n // 实例化 Geometry,然后 view 将所有的 scale 管理起来\n const coordinate = this.getCoordinate();\n const scaleDefs = get(this.options, 'scales', {});\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n // 保持 scales 引用不要变化\n geometry.scales = this.getGeometryScales();\n const cfg = {\n coordinate, // 使用 coordinate 引用,可以保持 coordinate 的同步更新\n scaleDefs,\n data: this.filteredData,\n theme: this.themeObject,\n isDataChanged: this.isDataChanged,\n isCoordinateChanged: this.isCoordinateChanged,\n };\n\n if (isUpdate) {\n // 数据发生更新\n geometry.update(cfg);\n } else {\n geometry.init(cfg);\n }\n }\n\n // Geometry 初始化之后,生成了 scale,然后进行调整 scale 配置\n this.adjustScales();\n }\n\n /**\n * 根据 Geometry 的所有字段创建 scales\n * 如果存在,则更新,不存在则创建\n */\n private createOrUpdateScales() {\n const fields = this.getScaleFields();\n const groupedFields = this.getGroupedFields();\n\n const { data, scales = {} } = this.getOptions();\n const filteredData = this.filteredData;\n\n for (let i = 0, len = fields.length; i < len; i++) {\n const field = fields[i];\n const scaleDef = scales[field];\n\n // 调用方法,递归去创建\n const key = this.getScaleKey(field);\n this.createScale(\n field,\n // 分组字段的 scale 使用未过滤的数据创建\n groupedFields.includes(field) ? data : filteredData,\n scaleDef,\n key\n );\n\n // 缓存从当前 view 创建的 scale key\n this.createdScaleKeys.set(key, true);\n }\n }\n\n /**\n * 处理 scale 同步逻辑\n */\n private syncScale() {\n // 最终调用 root view 的\n this.getRootView().scalePool.sync(this.getCoordinate(), this.theme);\n }\n\n /**\n * 获得 Geometry 中的 scale 对象\n */\n private getGeometryScales(): Record {\n const fields = this.getScaleFields();\n\n const scales = {};\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n scales[field] = this.getScaleByField(field);\n }\n\n return scales;\n }\n\n private getScaleFields() {\n const fields = [];\n const tmpMap = new Map();\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const geometryScales = geometry.getScaleFields();\n uniq(geometryScales, fields, tmpMap);\n }\n return fields;\n }\n\n private getGroupedFields() {\n const fields = [];\n const tmpMap = new Map();\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const groupFields = geometry.getGroupFields();\n uniq(groupFields, fields, tmpMap);\n }\n return fields;\n }\n\n /**\n * 调整 scale 配置\n * @private\n */\n private adjustScales() {\n // 调整目前包括:\n // 分类 scale,调整 range 范围\n this.adjustCategoryScaleRange();\n }\n\n /**\n * 调整分类 scale 的 range,防止超出坐标系外面\n * @private\n */\n private adjustCategoryScaleRange() {\n const xyScales = [this.getXScale(), ...this.getYScales()].filter((e) => !!e);\n const coordinate = this.getCoordinate();\n const scaleOptions = this.options.scales;\n\n each(xyScales, (scale: Scale) => {\n const { field, values, isCategory, isIdentity } = scale;\n\n // 分类或者 identity 的 scale 才进行处理\n if (isCategory || isIdentity) {\n // 存在 value 值,且用户没有配置 range 配置\n if (values && !get(scaleOptions, [field, 'range'])) {\n // 更新 range\n scale.range = getDefaultCategoryScaleRange(scale, coordinate, this.theme);\n }\n }\n });\n }\n\n /**\n * 根据 options 配置、Geometry 字段配置,自动生成 components\n * @param isUpdate 是否是更新\n * @private\n */\n private initComponents(isUpdate: boolean) {\n // 先全部清空,然后 render\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n const controller = controllers[i];\n // 更新则走更新逻辑;否则清空载重绘\n if (isUpdate) {\n controller.update();\n } else {\n controller.clear();\n controller.render();\n }\n }\n }\n\n private doLayout() {\n this.layoutFunc(this);\n }\n\n /**\n * 创建坐标系\n * @private\n */\n private createCoordinate() {\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n this.coordinateInstance = this.coordinateController.create(start, end);\n }\n\n /**\n * 根据 options 配置自动渲染 geometry\n * @private\n */\n private paintGeometries(isUpdate: boolean) {\n const doAnimation = this.options.animate;\n // geometry 的 paint 阶段\n const coordinate = this.getCoordinate();\n const canvasRegion = {\n x: this.viewBBox.x,\n y: this.viewBBox.y,\n minX: this.viewBBox.minX,\n minY: this.viewBBox.minY,\n maxX: this.viewBBox.maxX,\n maxY: this.viewBBox.maxY,\n width: this.viewBBox.width,\n height: this.viewBBox.height,\n };\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n geometry.coordinate = coordinate;\n geometry.canvasRegion = canvasRegion;\n if (!doAnimation) {\n // 如果 view 不执行动画,那么 view 下所有的 geometry 都不执行动画\n geometry.animate(false);\n }\n geometry.paint(isUpdate);\n }\n }\n\n /**\n * 最后的绘制组件\n * @param isUpdate\n */\n private renderComponents(isUpdate: boolean) {\n // 先全部清空,然后 render\n for (let i = 0; i < this.getComponents().length; i++) {\n const co = this.getComponents()[i];\n (co.component as GroupComponent).render();\n }\n }\n\n /**\n * 渲染分面,会在其中进行数据分面,然后进行子 view 创建\n * @param isUpdate\n */\n private renderFacet(isUpdate: boolean) {\n if (this.facetInstance) {\n if (isUpdate) {\n this.facetInstance.update();\n } else {\n this.facetInstance.clear();\n // 计算分面数据\n this.facetInstance.init();\n // 渲染组件和 views\n this.facetInstance.render();\n }\n }\n }\n\n private initOptions() {\n const {\n geometries = [],\n interactions = [],\n views = [],\n annotations = [],\n coordinate,\n events,\n facets,\n } = this.options;\n\n // 设置坐标系\n if (this.coordinateController) {\n // 更新 coordinate controller\n coordinate && this.coordinateController.update(coordinate);\n } else {\n // 创建 coordinate controller\n this.coordinateController = new CoordinateController(coordinate);\n }\n\n // 创建 geometry 实例\n for (let i = 0; i < geometries.length; i++) {\n const geometryOption = geometries[i];\n this.createGeometry(geometryOption);\n }\n\n // 创建 interactions 实例\n for (let j = 0; j < interactions.length; j++) {\n const interactionOption = interactions[j];\n const { type, cfg } = interactionOption;\n this.interaction(type, cfg);\n }\n\n // 创建 view 实例\n for (let k = 0; k < views.length; k++) {\n const viewOption = views[k];\n this.createView(viewOption);\n }\n\n // 设置 annotation\n const annotationComponent = this.getController('annotation');\n for (let l = 0; l < annotations.length; l++) {\n const annotationOption = annotations[l];\n annotationComponent.annotation(annotationOption);\n }\n\n // 设置 events\n if (events) {\n each(events, (eventCallback, eventName) => {\n this.on(eventName, eventCallback);\n });\n }\n\n if (facets) {\n each(facets, (facet) => {\n const { type, ...rest } = facet;\n\n this.facet(type, rest);\n });\n }\n }\n\n private createGeometry(geometryOption: GeometryOption) {\n const { type, cfg = {} } = geometryOption;\n if (this[type]) {\n const geometry = this[type](cfg);\n each(geometryOption, (v, k) => {\n if (isFunction(geometry[k])) {\n geometry[k](v);\n }\n });\n }\n }\n\n /**\n * scale key 的创建方式\n * @param field\n */\n private getScaleKey(field: string): string {\n return `${this.id}-${field}`;\n }\n}\n\n/**\n * 注册 geometry 组件\n * @param name\n * @param Ctor\n * @returns Geometry\n */\nexport function registerGeometry(name: string, Ctor: any) {\n // 语法糖,在 view API 上增加原型方法\n View.prototype[name.toLowerCase()] = function (cfg: any = {}) {\n const props = {\n /** 图形容器 */\n container: this.middleGroup.addGroup(),\n labelsContainer: this.foregroundGroup.addGroup(),\n ...cfg,\n };\n\n const geometry = new Ctor(props);\n this.geometries.push(geometry);\n\n return geometry;\n };\n}\n\nexport default View;\n","import { debounce, each, isString } from '@antv/util';\nimport { ChartCfg } from '../interface';\nimport { GROUP_Z_INDEX, VIEW_LIFE_CIRCLE } from '../constant';\nimport { getEngine } from '../engine';\nimport { createDom, getChartSize, removeDom, modifyCSS } from '../util/dom';\nimport View from './view';\nimport { AriaOption } from '../interface';\n\n/**\n * Chart 类,是使用 G2 进行绘图的入口。\n */\nexport default class Chart extends View {\n /** Chart 的 DOM 容器 */\n public ele: HTMLElement;\n\n /** 图表宽度 */\n public width: number;\n /** 图表高度 */\n public height: number;\n /** 是否开启局部刷新 */\n public localRefresh: boolean;\n /** 是否自适应 DOM 容器宽高,默认为 false,需要用户手动指定宽高 */\n public autoFit: boolean;\n /** 图表渲染引擎 */\n public renderer: 'canvas' | 'svg';\n\n private wrapperElement: HTMLElement;\n\n // @ts-ignore\n constructor(props: ChartCfg) {\n const {\n container,\n width,\n height,\n autoFit = false,\n padding,\n appendPadding,\n renderer = 'canvas',\n pixelRatio,\n localRefresh = true,\n visible = true,\n supportCSSTransform = false,\n defaultInteractions = ['tooltip', 'legend-filter', 'legend-active', 'continuous-filter', 'ellipsis-text'],\n options,\n limitInPlot,\n theme,\n syncViewPadding,\n } = props;\n\n const ele: HTMLElement = isString(container) ? document.getElementById(container) : container;\n\n // 生成内部正式绘制的 div 元素\n const wrapperElement = createDom('
');\n ele.appendChild(wrapperElement);\n\n // if autoFit, use the container size, to avoid the graph render twice.\n const size = getChartSize(ele, autoFit, width, height);\n\n const G = getEngine(renderer);\n\n const canvas = new G.Canvas({\n container: wrapperElement,\n pixelRatio,\n localRefresh,\n supportCSSTransform,\n ...size,\n });\n\n // 调用 view 的创建\n super({\n parent: null,\n canvas,\n // create 3 group layers for views.\n backgroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n padding,\n appendPadding,\n visible,\n options,\n limitInPlot,\n theme,\n syncViewPadding,\n });\n\n this.ele = ele;\n this.canvas = canvas;\n this.width = size.width;\n this.height = size.height;\n this.autoFit = autoFit;\n this.localRefresh = localRefresh;\n this.renderer = renderer;\n this.wrapperElement = wrapperElement;\n\n // 自适应大小\n this.updateCanvasStyle();\n this.bindAutoFit();\n this.initDefaultInteractions(defaultInteractions);\n }\n\n private initDefaultInteractions(interactions) {\n each(interactions, (interaction) => {\n this.interaction(interaction);\n });\n }\n\n /**\n * 设置 WAI-ARIA 无障碍标签。如何根据图形语法自动生成 arial 内容?\n * @param ariaOption\n */\n public aria(ariaOption: AriaOption) {\n const ATTR = 'aria-label';\n if (ariaOption === false) {\n this.ele.removeAttribute(ATTR);\n } else {\n this.ele.setAttribute(ATTR, ariaOption.label);\n }\n }\n\n /**\n * 改变图表大小,同时重新渲染。\n * @param width 图表宽度\n * @param height 图表高度\n * @returns\n */\n public changeSize(width: number, height: number) {\n // 如果宽高一致,那么 changeSize 不执行任何操作\n if (this.width === width && this.height === height) {\n return this;\n }\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_SIZE);\n\n this.width = width;\n this.height = height;\n this.canvas.changeSize(width, height);\n\n // 重新渲染\n this.render(true);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_SIZE);\n\n return this;\n }\n\n /**\n * 清空图表,同时清除掉 aria 配置\n */\n public clear() {\n super.clear();\n\n this.aria(false);\n }\n\n /**\n * 销毁图表,同时解绑事件,销毁创建的 G.Canvas 实例。\n * @returns void\n */\n public destroy() {\n super.destroy();\n\n this.unbindAutoFit();\n this.canvas.destroy();\n\n removeDom(this.wrapperElement);\n this.wrapperElement = null;\n }\n\n /**\n * 显示或隐藏图表\n * @param visible 是否可见,true 表示显示,false 表示隐藏\n * @returns\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible); // 需要更新 visible 变量\n this.wrapperElement.style.display = visible ? '' : 'none';\n\n return this;\n }\n\n /**\n * 自动根据容器大小 resize 画布\n */\n public forceFit() {\n // skip if already destroyed\n if (!this.destroyed) {\n // 注意第二参数用 true,意思是即时 autoFit = false,forceFit() 调用之后一样是适配容器\n const { width, height } = getChartSize(this.ele, true, this.width, this.height);\n this.changeSize(width, height);\n }\n }\n\n private updateCanvasStyle() {\n modifyCSS(this.canvas.get('el'), {\n display: 'inline-block',\n verticalAlign: 'middle',\n });\n }\n\n private bindAutoFit() {\n if (this.autoFit) {\n window.addEventListener('resize', this.onResize);\n }\n }\n\n private unbindAutoFit() {\n if (this.autoFit) {\n window.removeEventListener('resize', this.onResize);\n }\n }\n\n /**\n * when container size changed, change chart size props, and re-render.\n */\n private onResize = debounce(() => {\n this.forceFit();\n }, 300);\n}\n","import { each } from '@antv/util';\nimport { ComponentOption } from '../../interface';\nimport View from '../view';\n\n/** Component controller class type define */\nexport type ControllerCtor = new (view: View) => Controller;\n\n/**\n * Component Controller 规范需要定义的基类\n * 1. 规范的 option 输入\n * 2. 统一的信息获取 API\n * 3. 明确定义的组件事件(名称、数据)\n */\nexport abstract class Controller {\n /** 是否可见 */\n public visible: boolean = true;\n protected view: View;\n /** option 配置,不同组件有自己不同的配置结构 */\n protected option: O;\n /** 所有的 component */\n protected components: ComponentOption[] = [];\n\n constructor(view: View) {\n this.view = view;\n }\n\n public abstract get name(): string;\n\n /**\n * init the component\n */\n public abstract init();\n\n /**\n * render the components\n */\n public abstract render();\n\n /**\n * update the components\n */\n // public abstract update();\n\n /**\n * do layout\n */\n public abstract layout();\n\n /**\n * 组件的更新逻辑\n * - 根据字段为标识,为每一个组件生成一个 id,放到 option 中\n * - 更新的时候按照 id 去做 diff,然后对同的做处理\n * - 创建增加的\n * - 更新已有的\n * - 销毁删除的\n */\n public abstract update();\n\n /**\n * clear\n * @param includeOption 是否清空 option 配置项(used in annotation)\n */\n public clear(includeOption?: boolean) {\n // destroy all components\n each(this.components, (co: ComponentOption) => {\n co.component.destroy();\n });\n\n // clear all component instance\n this.components = [];\n }\n\n /**\n * destroy the component\n */\n public destroy() {\n this.clear();\n }\n\n /**\n * get all components\n * @returns components array\n */\n public getComponents(): ComponentOption[] {\n return this.components;\n }\n\n /**\n * change visibility of component\n * @param visible\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.components.forEach((co: ComponentOption) => {\n if (visible) {\n co.component.show();\n } else {\n co.component.hide();\n }\n });\n this.visible = visible;\n }\n}\n","import { deepMix, find, get, isEqual, isFunction, mix, isString, isBoolean, flatten, isArray } from '@antv/util';\nimport { Crosshair, HtmlTooltip, IGroup } from '../../dependents';\nimport { Point, TooltipItem, TooltipOption } from '../../interface';\nimport { getAngleByPoint, getDistanceToCenter, isPointInCoordinate } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { findItemsFromView } from '../../util/tooltip';\nimport { BBox } from '../../util/bbox';\nimport { Controller } from './base';\nimport Event from '../event';\nimport View from '../view';\n\n// Filter duplicates, use `name`, `color`, `value` and `title` property values as condition\nfunction uniq(items) {\n const uniqItems = [];\n for (let index = 0; index < items.length; index++) {\n const item = items[index];\n const result = find(uniqItems, (subItem) => {\n return (\n subItem.color === item.color &&\n subItem.name === item.name &&\n subItem.value === item.value &&\n subItem.title === item.title\n );\n });\n if (!result) {\n uniqItems.push(item);\n }\n }\n return uniqItems;\n}\n\n/** @ignore */\nexport default class Tooltip extends Controller {\n private tooltip;\n private tooltipMarkersGroup: IGroup;\n private tooltipCrosshairsGroup: IGroup;\n private xCrosshair;\n private yCrosshair;\n private guideGroup: IGroup;\n\n private isLocked: boolean = false;\n private items;\n private title: string;\n private point: Point;\n\n public get name(): string {\n return 'tooltip';\n }\n\n public init() {}\n\n private isVisible() {\n const option = this.view.getOptions().tooltip;\n return option !== false;\n }\n\n public render() {}\n\n /**\n * Shows tooltip\n * @param point\n */\n public showTooltip(point: Point) {\n this.point = point;\n if (!this.isVisible()) {\n // 如果设置 tooltip(false) 则始终不显示\n return;\n }\n const view = this.view;\n const items = this.getTooltipItems(point);\n if (!items.length) {\n // 无内容则不展示,同时 tooltip 需要隐藏\n this.hideTooltip();\n return;\n }\n const title = this.getTitle(items);\n const dataPoint = {\n x: items[0].x,\n y: items[0].y,\n }; // 数据点位置\n\n view.emit(\n 'tooltip:show',\n Event.fromData(view, 'tooltip:show', {\n items,\n title,\n ...point,\n })\n );\n\n const cfg = this.getTooltipCfg();\n const { follow, showMarkers, showCrosshairs, showContent, marker } = cfg;\n const lastItems = this.items;\n const lastTitle = this.title;\n if (!isEqual(lastTitle, title) || !isEqual(lastItems, items)) {\n // 内容发生变化了更新 tooltip\n view.emit(\n 'tooltip:change',\n Event.fromData(view, 'tooltip:change', {\n items,\n title,\n ...point,\n })\n );\n\n if (isFunction(showContent) ? showContent(items) : showContent) {\n // 展示 tooltip 内容框才渲染 tooltip\n if (!this.tooltip) {\n // 延迟生成\n this.renderTooltip();\n }\n this.tooltip.update(\n mix(\n {},\n cfg,\n {\n items: this.getItemsAfterProcess(items),\n title,\n },\n follow ? point : {}\n )\n );\n this.tooltip.show();\n }\n\n if (showMarkers) {\n // 展示 tooltipMarkers,tooltipMarkers 跟随数据\n this.renderTooltipMarkers(items, marker);\n }\n } else {\n // 内容未发生变化,则更新位置\n if (this.tooltip && follow) {\n this.tooltip.update(point);\n this.tooltip.show(); // tooltip 有可能被隐藏,需要保证显示状态\n }\n\n if (this.tooltipMarkersGroup) {\n this.tooltipMarkersGroup.show();\n }\n }\n\n this.items = items;\n this.title = title;\n\n if (showCrosshairs) {\n // 展示 tooltip 辅助线\n const isCrosshairsFollowCursor = get(cfg, ['crosshairs', 'follow'], false); // 辅助线是否要跟随鼠标\n this.renderCrosshairs(isCrosshairsFollowCursor ? point : dataPoint, cfg);\n }\n }\n\n public hideTooltip() {\n const { follow } = this.getTooltipCfg();\n if (!follow) {\n this.point = null;\n return;\n }\n // hide the tooltipMarkers\n const tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n\n // hide crosshairs\n const xCrosshair = this.xCrosshair;\n const yCrosshair = this.yCrosshair;\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n\n const tooltip = this.tooltip;\n if (tooltip) {\n tooltip.hide();\n }\n\n this.view.emit('tooltip:hide', Event.fromData(this.view, 'tooltip:hide', {}));\n\n this.point = null;\n }\n\n /**\n * lockTooltip\n */\n public lockTooltip() {\n this.isLocked = true;\n if (this.tooltip) {\n // tooltip contianer 可捕获事件\n this.tooltip.setCapture(true);\n }\n }\n\n /**\n * unlockTooltip\n */\n public unlockTooltip() {\n this.isLocked = false;\n const cfg = this.getTooltipCfg();\n if (this.tooltip) {\n // 重置 capture 属性\n this.tooltip.setCapture(cfg.capture);\n }\n }\n\n /**\n * isTooltipLocked\n */\n public isTooltipLocked() {\n return this.isLocked;\n }\n\n public clear() {\n const { tooltip, xCrosshair, yCrosshair, tooltipMarkersGroup } = this;\n if (tooltip) {\n tooltip.hide();\n tooltip.clear();\n }\n\n if (xCrosshair) {\n xCrosshair.clear();\n }\n\n if (yCrosshair) {\n yCrosshair.clear();\n }\n\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.clear();\n }\n\n // 如果 customContent 不为空,就重新生成 tooltip\n if (tooltip?.get('customContent')) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n // title 和 items 需要清空, 否则 tooltip 内容会出现置空的情况\n // 即:需要走进 !isEqual(lastTitle, title) || !isEqual(lastItems, items) 的逻辑,更新 tooltip 的内容\n this.title = null;\n this.items = null;\n }\n\n public destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n if (this.xCrosshair) {\n this.xCrosshair.destroy();\n }\n if (this.yCrosshair) {\n this.yCrosshair.destroy();\n }\n\n if (this.guideGroup) {\n this.guideGroup.remove(true);\n }\n\n this.reset();\n }\n\n public reset() {\n this.items = null;\n this.title = null;\n this.tooltipMarkersGroup = null;\n this.tooltipCrosshairsGroup = null;\n this.xCrosshair = null;\n this.yCrosshair = null;\n this.tooltip = null;\n this.guideGroup = null;\n this.isLocked = false;\n this.point = null;\n }\n\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n const { tooltip, tooltipMarkersGroup, xCrosshair, yCrosshair } = this;\n if (visible) {\n if (tooltip) {\n tooltip.show();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.show();\n }\n if (xCrosshair) {\n xCrosshair.show();\n }\n if (yCrosshair) {\n yCrosshair.show();\n }\n } else {\n if (tooltip) {\n tooltip.hide();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n }\n this.visible = visible;\n }\n\n public getTooltipItems(point: Point) {\n let items = this.findItemsFromView(this.view, point);\n if (items.length) {\n // 三层\n items = flatten(items);\n for (const itemArr of items) {\n for (const item of itemArr) {\n const { x, y } = item.mappingData;\n item.x = isArray(x) ? x[x.length - 1] : x;\n item.y = isArray(y) ? y[y.length - 1] : y;\n }\n }\n\n const { shared } = this.getTooltipCfg();\n // shared: false 代表只显示当前拾取到的 shape 的数据,但是一个 view 会有多个 Geometry,所以有可能会拾取到多个 shape\n if (shared === false && items.length > 1) {\n let snapItem = items[0];\n let min = Math.abs(point.y - snapItem[0].y);\n for (const aItem of items) {\n const yDistance = Math.abs(point.y - aItem[0].y);\n if (yDistance <= min) {\n snapItem = aItem;\n min = yDistance;\n }\n }\n items = [snapItem];\n }\n\n return uniq(flatten(items));\n }\n\n return [];\n }\n\n public layout() {}\n\n public update() {\n if (this.point) {\n this.showTooltip(this.point);\n }\n\n if (this.tooltip) {\n // #2279 修复resize之后tooltip越界的问题\n // 确保tooltip已经创建的情况下\n const canvas = this.view.getCanvas();\n // TODO 逍为 tooltip 的区域不应该是 canvas,而应该是整个 特别是在图比较小的时候\n // 更新 region\n this.tooltip.set('region', {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n });\n }\n }\n\n /**\n * 当前鼠标点是在 enter tooltip 中\n * @param point\n */\n public isCursorEntered(point: Point) {\n // 是可捕获的,并且点在 tooltip dom 上\n if (this.tooltip) {\n const el: HTMLElement = this.tooltip.getContainer();\n const capture = this.tooltip.get('capture');\n\n if (el && capture) {\n const { x, y, width, height } = el.getBoundingClientRect();\n return new BBox(x, y, width, height).isPointIn(point);\n }\n }\n\n return false;\n }\n\n // 获取 tooltip 配置,因为用户可能会通过 view.tooltip() 重新配置 tooltip,所以就不做缓存,每次直接读取\n public getTooltipCfg() {\n const view = this.view;\n const option = view.getOptions().tooltip;\n const processOption = this.processCustomContent(option);\n const theme = view.getTheme();\n const defaultCfg = get(theme, ['components', 'tooltip'], {});\n const enterable = get(processOption, 'enterable', defaultCfg.enterable);\n return deepMix({}, defaultCfg, processOption, {\n capture: enterable || this.isLocked ? true : false,\n });\n }\n\n // process customContent\n protected processCustomContent(option: TooltipOption) {\n if (isBoolean(option) || !get(option, 'customContent')) {\n return option;\n }\n const currentCustomContent = option.customContent;\n const customContent = (title: string, items: any[]) => {\n const content = currentCustomContent(title, items) || '';\n return isString(content) ? '
' + content + '
' : content;\n };\n return {\n ...option,\n customContent,\n };\n }\n\n private getTitle(items) {\n const title = items[0].title || items[0].name;\n this.title = title;\n\n return title;\n }\n\n private renderTooltip() {\n const canvas = this.view.getCanvas();\n const region = {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n };\n\n const cfg = this.getTooltipCfg();\n const tooltip = new HtmlTooltip({\n parent: canvas.get('el').parentNode,\n region,\n ...cfg,\n visible: false,\n crosshairs: null,\n });\n\n tooltip.init();\n this.tooltip = tooltip;\n }\n\n private renderTooltipMarkers(items, marker) {\n const tooltipMarkersGroup = this.getTooltipMarkersGroup();\n for (const item of items) {\n const { x, y } = item;\n const attrs = {\n fill: item.color,\n symbol: 'circle',\n shadowColor: item.color,\n ...marker,\n x,\n y,\n };\n\n tooltipMarkersGroup.addShape('marker', {\n attrs,\n });\n }\n }\n\n private renderCrosshairs(point: Point, cfg) {\n const crosshairsType = get(cfg, ['crosshairs', 'type'], 'x'); // 默认展示 x 轴上的辅助线\n if (crosshairsType === 'x') {\n if (this.yCrosshair) {\n this.yCrosshair.hide();\n }\n this.renderXCrosshairs(point, cfg);\n } else if (crosshairsType === 'y') {\n if (this.xCrosshair) {\n this.xCrosshair.hide();\n }\n this.renderYCrosshairs(point, cfg);\n } else if (crosshairsType === 'xy') {\n this.renderXCrosshairs(point, cfg);\n this.renderYCrosshairs(point, cfg);\n }\n }\n\n // 渲染 x 轴上的 tooltip 辅助线\n private renderXCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n if (!isPointInCoordinate(coordinate, point)) {\n return;\n }\n let start;\n let end;\n if (coordinate.isRect) {\n if (coordinate.isTransposed) {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n } else {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n }\n } else {\n // 极坐标下 x 轴上的 crosshairs 表现为半径\n const angle = getAngleByPoint(coordinate, point);\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n end = polarToCartesian(center.x, center.y, radius, angle);\n start = center;\n }\n\n const cfg = deepMix(\n {\n start,\n end,\n container: this.getTooltipCrosshairsGroup(),\n },\n get(tooltipCfg, 'crosshairs', {}),\n this.getCrosshairsText('x', point, tooltipCfg)\n );\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let xCrosshair = this.xCrosshair;\n if (xCrosshair) {\n xCrosshair.update(cfg);\n } else {\n xCrosshair = new Crosshair.Line(cfg);\n xCrosshair.init();\n }\n xCrosshair.render();\n xCrosshair.show();\n this.xCrosshair = xCrosshair;\n }\n\n // 渲染 y 轴上的辅助线\n private renderYCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n if (!isPointInCoordinate(coordinate, point)) {\n return;\n }\n let cfg;\n let type;\n if (coordinate.isRect) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n } else {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n }\n cfg = {\n start,\n end,\n };\n type = 'Line';\n } else {\n // 极坐标下 y 轴上的 crosshairs 表现为圆弧\n cfg = {\n center: coordinate.getCenter(),\n // @ts-ignore\n radius: getDistanceToCenter(coordinate, point),\n startAngle: coordinate.startAngle,\n endAngle: coordinate.endAngle,\n };\n type = 'Circle';\n }\n\n cfg = deepMix(\n {\n container: this.getTooltipCrosshairsGroup(),\n },\n cfg,\n get(tooltipCfg, 'crosshairs', {}),\n this.getCrosshairsText('y', point, tooltipCfg)\n );\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let yCrosshair = this.yCrosshair;\n if (yCrosshair) {\n // 如果坐标系发生直角坐标系与极坐标的切换操作\n if (\n (coordinate.isRect && yCrosshair.get('type') === 'circle') ||\n (!coordinate.isRect && yCrosshair.get('type') === 'line')\n ) {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n } else {\n yCrosshair.update(cfg);\n }\n } else {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n }\n yCrosshair.render();\n yCrosshair.show();\n this.yCrosshair = yCrosshair;\n }\n\n private getCrosshairsText(type, point: Point, tooltipCfg) {\n let textCfg = get(tooltipCfg, ['crosshairs', 'text']);\n const follow = get(tooltipCfg, ['crosshairs', 'follow']);\n const items = this.items;\n\n if (textCfg) {\n const view = this.getViewWithGeometry(this.view);\n // 需要展示文本\n const firstItem = items[0];\n const xScale = view.getXScale();\n const yScale = view.getYScales()[0];\n let xValue;\n let yValue;\n if (follow) {\n // 如果需要跟随鼠标移动,就需要将当前鼠标坐标点转换为对应的数值\n const invertPoint = this.view.getCoordinate().invert(point);\n xValue = xScale.invert(invertPoint.x); // 转换为原始值\n yValue = yScale.invert(invertPoint.y); // 转换为原始值\n } else {\n xValue = firstItem.data[xScale.field];\n yValue = firstItem.data[yScale.field];\n }\n\n const content = type === 'x' ? xValue : yValue;\n if (isFunction(textCfg)) {\n textCfg = textCfg(type, content, items, point);\n } else {\n textCfg.content = content;\n }\n\n return {\n text: textCfg,\n };\n }\n }\n\n // 获取存储 tooltipMarkers 和 crosshairs 的容器\n private getGuideGroup() {\n if (!this.guideGroup) {\n const foregroundGroup = this.view.foregroundGroup;\n this.guideGroup = foregroundGroup.addGroup({\n name: 'tooltipGuide',\n capture: false,\n });\n }\n\n return this.guideGroup;\n }\n\n // 获取 tooltipMarkers 存储的容器\n private getTooltipMarkersGroup() {\n let tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup && !tooltipMarkersGroup.destroyed) {\n tooltipMarkersGroup.clear();\n tooltipMarkersGroup.show();\n } else {\n tooltipMarkersGroup = this.getGuideGroup().addGroup({\n name: 'tooltipMarkersGroup',\n });\n tooltipMarkersGroup.toFront();\n this.tooltipMarkersGroup = tooltipMarkersGroup;\n }\n return tooltipMarkersGroup;\n }\n\n // 获取 tooltip crosshairs 存储的容器\n private getTooltipCrosshairsGroup() {\n let tooltipCrosshairsGroup = this.tooltipCrosshairsGroup;\n if (!tooltipCrosshairsGroup) {\n tooltipCrosshairsGroup = this.getGuideGroup().addGroup({\n name: 'tooltipCrosshairsGroup',\n capture: false,\n });\n tooltipCrosshairsGroup.toBack();\n this.tooltipCrosshairsGroup = tooltipCrosshairsGroup;\n }\n return tooltipCrosshairsGroup;\n }\n\n private findItemsFromView(view: View, point: Point) {\n if (view.getOptions().tooltip === false) {\n // 如果 view 关闭了 tooltip\n return [];\n }\n\n const tooltipCfg = this.getTooltipCfg();\n let result = findItemsFromView(view, point, tooltipCfg);\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(this.findItemsFromView(childView, point));\n }\n\n return result;\n }\n\n // FIXME: hack 方法\n // 因为 tooltip 的交互是挂载在 Chart 上,所以当chart 上没有绘制 Geometry 的时候,就查找不到数据,并且绘图区域同子 View 的区域不同\n private getViewWithGeometry(view) {\n if (view.geometries.length) {\n return view;\n }\n\n return find(view.views, (childView) => this.getViewWithGeometry(childView));\n }\n\n /**\n * 根据用户配置的 items 配置,来进行用户自定义的处理,并返回最终的 items\n * 默认不做任何处理\n */\n private getItemsAfterProcess(originalItems: TooltipItem[]): TooltipItem[] {\n const { customItems } = this.getTooltipCfg();\n const fn = customItems ? customItems : (v) => v;\n\n return fn(originalItems);\n }\n}\n","import { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\n/** @ignore */\ninterface AnimationMap {\n [key: string]: Animation;\n}\n\ntype Animation = (element: IGroup | IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) => void;\n\nconst ANIMATIONS_MAP: AnimationMap = {};\n\n/**\n * 根据名称获取对应的动画执行函数\n * @param type 动画函数名称\n */\nexport function getAnimation(type: string) {\n return ANIMATIONS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册动画执行函数\n * @param type 动画执行函数名称\n * @param animation 动画执行函数\n */\nexport function registerAnimation(type: string, animation: Animation) {\n ANIMATIONS_MAP[type.toLowerCase()] = animation;\n}\n","import { deepMix, get, isFunction } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Coordinate, IGroup, IShape } from '../dependents';\nimport { AnimateCfg, Data, Datum, GAnimateCfg, Point } from '../interface';\nimport { AnimateExtraCfg } from './interface';\n\nimport { getAnimation } from './animation';\n\n// 默认的动画参数配置\nexport const DEFAULT_ANIMATE_CFG = {\n appear: {\n duration: 450,\n easing: 'easeQuadOut',\n }, // 初始入场动画配置\n update: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时发生变更的动画配置\n enter: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时新增元素的入场动画配置\n leave: {\n duration: 350,\n easing: 'easeQuadIn',\n }, // 更新时销毁动画配置\n};\n\n// 各个 Geometry 默认的动画执行函数\nconst GEOMETRY_ANIMATE_CFG = {\n interval: (coordinate: Coordinate) => {\n return {\n enter: {\n animation: coordinate.isRect ? (coordinate.isTransposed ? 'scale-in-x' : 'scale-in-y') : 'fade-in',\n },\n update: {\n animation: coordinate.isPolar && coordinate.isTransposed ? 'sector-path-update' : null,\n },\n leave: {\n animation: 'fade-out',\n },\n };\n },\n line: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n path: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n point: {\n appear: {\n animation: 'zoom-in',\n },\n enter: {\n animation: 'zoom-in',\n },\n leave: {\n animation: 'zoom-out',\n },\n },\n area: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n polygon: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n schema: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n edge: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n label: {\n appear: {\n animation: 'fade-in',\n delay: 450,\n },\n enter: {\n animation: 'fade-in',\n },\n update: {\n animation: 'position-update',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n};\n\n// 各个 Geometry 默认的群组出场动画\nconst GEOMETRY_GROUP_APPEAR_ANIMATION = {\n line: () => {\n return {\n animation: 'wave-in',\n };\n },\n area: () => {\n return {\n animation: 'wave-in',\n };\n },\n path: () => {\n return {\n animation: 'fade-in',\n };\n },\n interval(coordinate: Coordinate) {\n let animation;\n\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n if (coordinate.isPolar && coordinate.isTransposed) {\n // pie chart\n animation = 'wave-in';\n }\n }\n return {\n animation,\n };\n },\n schema: (coordinate) => {\n let animation;\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n }\n return {\n animation,\n };\n },\n polygon: () => {\n return {\n animation: 'fade-in',\n duration: 500,\n };\n },\n edge: () => {\n return {\n animation: 'fade-in',\n };\n },\n};\n\n// 解析用户的动画配置\nfunction parseAnimateConfig(animateCfg: AnimateCfg, data: Data | Datum): GAnimateCfg {\n return {\n delay: isFunction(animateCfg.delay) ? animateCfg.delay(data) : animateCfg.delay,\n easing: isFunction(animateCfg.easing) ? animateCfg.easing(data) : animateCfg.easing,\n duration: isFunction(animateCfg.duration) ? animateCfg.duration(data) : animateCfg.duration,\n callback: animateCfg.callback,\n repeat: animateCfg.repeat,\n };\n}\n\n/**\n * @ignore\n * 获取 elementName 对应的动画配置,当声明了 `animateType`,则返回 `animateType` 对应的动画配置\n * @param elementName 元素名称\n * @param coordinate 做表弟类型\n * @param animateType 可选,动画类型\n */\nexport function getDefaultAnimateCfg(elementName: string, coordinate: Coordinate, animateType?: string) {\n let animateCfg = GEOMETRY_ANIMATE_CFG[elementName];\n\n if (animateCfg) {\n if (isFunction(animateCfg)) {\n animateCfg = animateCfg(coordinate);\n }\n animateCfg = deepMix({}, DEFAULT_ANIMATE_CFG, animateCfg);\n\n if (animateType) {\n return animateCfg[animateType];\n }\n }\n return animateCfg;\n}\n\n/**\n * @ignore\n * 工具函数\n * 根据用户传入的配置为 shape 执行动画\n * @param shape 执行动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外的信息\n */\nexport function doAnimate(shape: IGroup | IShape, animateCfg: AnimateCfg, cfg: AnimateExtraCfg) {\n const data = get(shape.get('origin'), 'data', FIELD_ORIGIN);\n const animation = animateCfg.animation; // 获取动画执行函数\n const parsedAnimateCfg = parseAnimateConfig(animateCfg, data);\n if (animation) {\n // 用户声明了动画执行函数\n const animateFunction = getAnimation(animation);\n if (animateFunction) {\n animateFunction(shape, parsedAnimateCfg, cfg);\n }\n } else {\n // 没有声明,则根据 toAttrs 做差值动画\n shape.animate(cfg.toAttrs, parsedAnimateCfg);\n }\n}\n\n/**\n * @ignore\n * 执行 Geometry 群组入场动画\n * @param container 执行群组动画的图形元素\n * @param animateCfg 动画配置\n * @param geometryType geometry 类型\n * @param coordinate 坐标系对象\n * @param minYPoint y 轴最小值对应的画布坐标点\n */\nexport function doGroupAppearAnimate(\n container: IGroup,\n animateCfg: AnimateCfg,\n geometryType: string,\n coordinate: Coordinate,\n minYPoint: Point\n) {\n if (GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType]) {\n const defaultCfg = GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType](coordinate);\n const animation = getAnimation(get(defaultCfg, 'animation', ''));\n if (animation) {\n const cfg = {\n ...DEFAULT_ANIMATE_CFG.appear,\n ...defaultCfg,\n ...animateCfg,\n };\n container.stopAnimate(); // 先结束当前 container 动画\n animation(container, cfg, {\n coordinate,\n minYPoint,\n toAttrs: null,\n });\n }\n }\n}\n","/**\n * Name of Background Shape\n */\nexport const BACKGROUND_SHAPE = 'element-background';\n","import { deepMix, each, get, isArray, isEmpty, isEqual, isFunction, isString } from '@antv/util';\n// 暂未发包\n// @ts-ignore\nimport { propagationDelegate } from '@antv/component';\nimport { doAnimate } from '../../animate';\nimport Base from '../../base';\nimport { BBox, IGroup, IShape } from '../../dependents';\nimport { AnimateOption, Datum, ShapeFactory, ShapeInfo, StateCfg } from '../../interface';\nimport { getReplaceAttrs } from '../../util/graphics';\nimport Geometry from '../base';\nimport { GEOMETRY_LIFE_CIRCLE } from '../../constant';\nimport { BACKGROUND_SHAPE } from '../shape/constant';\n\n/** Element 构造函数传入参数类型 */\ninterface ElementCfg {\n /** 用于创建各种 shape 的工厂对象 */\n shapeFactory: ShapeFactory;\n /** shape 容器 */\n container: IGroup;\n /** element 的索引 */\n elementIndex?: number;\n /** 虚拟 group,用户可以不传入 */\n offscreenGroup?: IGroup;\n /** 是否可见 */\n visible?: boolean;\n}\n\n/**\n * Element 图形元素。\n * 定义:在 G2 中,我们会将数据通过图形语法映射成不同的图形,比如点图,数据集中的每条数据会对应一个点,柱状图每条数据对应一个柱子,线图则是一组数据对应一条折线,Element 即一条/一组数据对应的图形元素,它代表一条数据或者一个数据集,在图形层面,它可以是单个 Shape 也可以是多个 Shape,我们称之为图形元素。\n */\nexport default class Element extends Base {\n /** 用于创建各种 shape 的工厂对象 */\n public shapeFactory: ShapeFactory;\n /** shape 容器 */\n public container: IGroup;\n /** element 索引 */\n public elementIndex: number;\n /** 最后创建的图形对象 */\n public shape: IShape | IGroup;\n /** shape 的动画配置 */\n public animate: AnimateOption | boolean;\n\n // 非构造函数属性,需要外部赋值\n /** element 对应的 Geometry 实例 */\n public geometry: Geometry;\n /** 保存 shape 对应的 label */\n public labelShape: IGroup[];\n\n /** 绘制的 shape 类型 */\n private shapeType: string;\n\n /** shape 绘制需要的数据 */\n private model: ShapeInfo;\n /** 原始数据 */\n private data: Datum;\n // 存储当前开启的状态\n private states: string[] = [];\n private statesStyle;\n // 虚拟 Group\n private offscreenGroup: IGroup;\n\n constructor(cfg: ElementCfg) {\n super(cfg);\n\n const { shapeFactory, container, offscreenGroup, elementIndex, visible = true } = cfg;\n this.shapeFactory = shapeFactory;\n this.container = container;\n this.offscreenGroup = offscreenGroup;\n this.visible = visible;\n this.elementIndex = elementIndex;\n }\n\n /**\n * 绘制图形。\n * @param model 绘制数据。\n * @param isUpdate 可选,是否是更新发生后的绘制。\n */\n public draw(model: ShapeInfo, isUpdate: boolean = false) {\n this.model = model;\n this.data = model.data; // 存储原始数据\n this.shapeType = this.getShapeType(model);\n\n // 绘制图形\n this.drawShape(model, isUpdate);\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 更新图形。\n * @param model 更新的绘制数据。\n */\n public update(model: ShapeInfo) {\n const { shapeFactory, shape } = this;\n if (!shape) {\n return;\n }\n\n // 更新数据\n this.model = model;\n this.data = model.data;\n this.shapeType = this.getShapeType(model);\n\n // step 1: 更新 shape 携带的信息\n this.setShapeInfo(shape, model);\n\n // step 2: 使用虚拟 Group 重新绘制 shape,然后更新当前 shape\n const offscreenGroup = this.getOffscreenGroup();\n const newShape = shapeFactory.drawShape(this.shapeType, model, offscreenGroup);\n // @ts-ignore\n newShape.cfg.data = this.data;\n // @ts-ignore\n newShape.cfg.origin = model;\n // label 需要使用\n newShape.cfg.element = this;\n\n // step 3: 同步 shape 样式\n this.syncShapeStyle(shape, newShape, this.getStates(), this.getAnimateCfg('update'));\n }\n\n /**\n * 销毁 element 实例。\n */\n public destroy() {\n const { shapeFactory, shape } = this;\n\n if (shape) {\n const animateCfg = this.getAnimateCfg('leave');\n if (animateCfg) {\n // 指定了动画配置则执行销毁动画\n doAnimate(shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...shape.attr(),\n },\n });\n } else {\n // 否则直接销毁\n shape.remove(true);\n }\n }\n\n // reset\n this.states = [];\n this.shapeFactory = undefined;\n this.container = undefined;\n this.shape = undefined;\n this.animate = undefined;\n this.geometry = undefined;\n this.labelShape = undefined;\n this.model = undefined;\n this.data = undefined;\n this.offscreenGroup = undefined;\n this.statesStyle = undefined;\n\n super.destroy();\n }\n\n /**\n * 显示或者隐藏 element。\n * @param visible 是否可见。\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n\n if (visible) {\n if (this.shape) {\n this.shape.show();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.show();\n });\n }\n } else {\n if (this.shape) {\n this.shape.hide();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.hide();\n });\n }\n }\n }\n\n /**\n * 设置 Element 的状态。\n *\n * 目前 Element 开放三种状态:\n * 1. active\n * 2. selected\n * 3. inactive\n *\n * 这三种状态相互独立,可以进行叠加。\n *\n * 这三种状态的样式可在 [[Theme]] 主题中或者通过 `geometry.state()` 接口进行配置。\n *\n * ```ts\n * // 激活 active 状态\n * setState('active', true);\n * ```\n *\n * @param stateName 状态名\n * @param stateStatus 是否开启状态\n */\n public setState(stateName: string, stateStatus: boolean) {\n const { states, shapeFactory, model, shape, shapeType } = this;\n\n const index = states.indexOf(stateName);\n if (stateStatus) {\n // 开启状态\n if (index > -1) {\n // 该状态已经开启,则返回\n return;\n }\n states.push(stateName);\n if (stateName === 'active' || stateName === 'selected') {\n shape?.toFront();\n }\n } else {\n if (index === -1) {\n // 关闭状态,但是状态未设置过\n return;\n }\n states.splice(index, 1);\n if (stateName === 'active' || stateName === 'selected') {\n if (this.geometry.zIndexReversed) {\n shape.setZIndex(this.geometry.elements.length - this.elementIndex);\n } else {\n shape.setZIndex(this.elementIndex);\n }\n }\n }\n\n // 使用虚拟 group 重新绘制 shape,然后对这个 shape 应用状态样式后,更新当前 shape。\n const offscreenShape = shapeFactory.drawShape(shapeType, model, this.getOffscreenGroup());\n if (states.length) {\n // 应用当前状态\n this.syncShapeStyle(shape, offscreenShape, states, null);\n } else {\n // 如果没有状态,则需要恢复至原始状态\n this.syncShapeStyle(shape, offscreenShape, ['reset'], null);\n }\n\n offscreenShape.remove(true); // 销毁,减少内存占用\n\n const eventObject = {\n state: stateName,\n stateStatus,\n element: this,\n target: this.container,\n };\n this.container.emit('statechange', eventObject);\n // @ts-ignore\n propagationDelegate(this.shape, 'statechange', eventObject);\n }\n\n /**\n * 清空状量态,恢复至初始状态。\n */\n public clearStates() {\n const states = this.states;\n\n each(states, (state) => {\n this.setState(state, false);\n });\n\n this.states = [];\n }\n\n /**\n * 查询当前 Element 上是否已设置 `stateName` 对应的状态。\n * @param stateName 状态名称。\n * @returns true 表示存在,false 表示不存在。\n */\n public hasState(stateName: string): boolean {\n return this.states.includes(stateName);\n }\n\n /**\n * 获取当前 Element 上所有的状态。\n * @returns 当前 Element 上所有的状态数组。\n */\n public getStates(): string[] {\n return this.states;\n }\n\n /**\n * 获取 Element 对应的原始数据。\n * @returns 原始数据。\n */\n public getData(): Datum {\n return this.data;\n }\n\n /**\n * 获取 Element 对应的图形绘制数据。\n * @returns 图形绘制数据。\n */\n public getModel(): ShapeInfo {\n return this.model;\n }\n\n /**\n * 返回 Element 元素整体的 bbox,包含文本及文本连线(有的话)。\n * @returns 整体包围盒。\n */\n public getBBox(): BBox {\n const { shape, labelShape } = this;\n let bbox = {\n x: 0,\n y: 0,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0,\n width: 0,\n height: 0,\n };\n if (shape) {\n bbox = shape.getCanvasBBox();\n }\n if (labelShape) {\n labelShape.forEach((label: IGroup) => {\n const labelBBox = label.getCanvasBBox();\n bbox.x = Math.min(labelBBox.x, bbox.x);\n bbox.y = Math.min(labelBBox.y, bbox.y);\n bbox.minX = Math.min(labelBBox.minX, bbox.minX);\n bbox.minY = Math.min(labelBBox.minY, bbox.minY);\n bbox.maxX = Math.max(labelBBox.maxX, bbox.maxX);\n bbox.maxY = Math.max(labelBBox.maxY, bbox.maxY);\n });\n }\n\n bbox.width = bbox.maxX - bbox.minX;\n bbox.height = bbox.maxY - bbox.minY;\n\n return bbox;\n }\n\n private getStatesStyle() {\n if (!this.statesStyle) {\n const { shapeType, geometry, shapeFactory } = this;\n const stateOption = geometry.stateOption;\n const defaultShapeType = shapeFactory.defaultShapeType;\n const stateTheme = shapeFactory.theme[shapeType] || shapeFactory.theme[defaultShapeType];\n this.statesStyle = deepMix({}, stateTheme, stateOption);\n }\n\n return this.statesStyle;\n }\n\n // 从主题中获取对应状态量的样式\n private getStateStyle(stateName: string, shapeKey?: string): StateCfg {\n const statesStyle = this.getStatesStyle();\n const stateCfg = get(statesStyle, [stateName, 'style'], {});\n const shapeStyle = stateCfg[shapeKey] || stateCfg;\n if (isFunction(shapeStyle)) {\n return shapeStyle(this);\n }\n\n return shapeStyle;\n }\n\n // 获取动画配置\n private getAnimateCfg(animateType: string) {\n const animate = this.animate;\n if (animate) {\n const cfg = animate[animateType];\n\n if (cfg) {\n // 增加动画的回调函数,如果外部传入了,则先执行外部,然后发射 geometry 的 animate 事件\n return {\n ...cfg,\n callback: () => {\n isFunction(cfg.callback) && cfg.callback();\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.AFTER_DRAW_ANIMATE);\n },\n };\n }\n return cfg;\n }\n\n return null;\n }\n\n // 绘制图形\n private drawShape(model: ShapeInfo, isUpdate: boolean = false) {\n const { shapeFactory, container, shapeType } = this;\n\n // 自定义 shape 有可能返回空 shape\n this.shape = shapeFactory.drawShape(shapeType, model, container);\n\n if (this.shape) {\n this.setShapeInfo(this.shape, model); // 存储绘图数据\n // @ts-ignore\n const name = this.shape.cfg.name;\n // 附加 element 的 name, name 现在支持数组了,很好用了\n if (!name) {\n // 这个地方如果用户添加了 name, 则附加 name ,否则就添加自己的 name\n // @ts-ignore\n this.shape.cfg.name = ['element', this.shapeFactory.geometryType];\n } else if (isString(name)) {\n // @ts-ignore\n this.shape.cfg.name = ['element', name];\n }\n // 执行入场动画\n const animateType = isUpdate ? 'enter' : 'appear';\n const animateCfg = this.getAnimateCfg(animateType);\n if (animateCfg) {\n // 开始执行动画的生命周期\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_DRAW_ANIMATE);\n\n doAnimate(this.shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...this.shape.attr(),\n },\n });\n }\n }\n }\n\n // 获取虚拟 Group\n private getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n\n return this.offscreenGroup;\n }\n\n // 设置 shape 上需要携带的信息\n private setShapeInfo(shape: IShape | IGroup, data: ShapeInfo) {\n // @ts-ignore\n shape.cfg.origin = data;\n // @ts-ignore\n shape.cfg.element = this;\n if (shape.isGroup()) {\n const children = shape.get('children');\n children.forEach((child) => {\n this.setShapeInfo(child, data);\n });\n }\n }\n\n // 更新当前 shape 的样式\n private syncShapeStyle(\n sourceShape: IGroup | IShape,\n targetShape: IGroup | IShape,\n states: string[] = [],\n animateCfg,\n index: number = 0\n ) {\n if (!sourceShape || !targetShape) {\n return;\n }\n // 所有的 shape 都需要同步 clip\n const clip = sourceShape.get('clipShape');\n const newClip = targetShape.get('clipShape');\n\n this.syncShapeStyle(clip, newClip, states, animateCfg);\n\n if (sourceShape.isGroup()) {\n const children = sourceShape.get('children');\n const newChildren = targetShape.get('children');\n for (let i = 0; i < children.length; i++) {\n this.syncShapeStyle(children[i], newChildren[i], states, animateCfg, index + i);\n }\n } else {\n if (!isEmpty(states) && !isEqual(states, ['reset'])) {\n let name = sourceShape.get('name');\n if (isArray(name)) {\n // 会附加 element 的 name\n name = name[1];\n }\n\n each(states, (state) => {\n // background shape 不进行状态样式设置\n if (targetShape.get('name') !== BACKGROUND_SHAPE) {\n const style = this.getStateStyle(state, name || index); // 如果用户没有设置 name,则默认根据索引值\n targetShape.attr(style);\n }\n });\n }\n const newAttrs = getReplaceAttrs(sourceShape as IShape, targetShape as IShape);\n\n if (this.animate) {\n if (animateCfg) {\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_DRAW_ANIMATE);\n // 需要进行动画\n doAnimate(sourceShape, animateCfg, {\n coordinate: this.shapeFactory.coordinate,\n toAttrs: newAttrs,\n shapeModel: this.model,\n });\n } else if (!isEmpty(states)) {\n sourceShape.stopAnimate();\n sourceShape.animate(newAttrs, {\n duration: 300,\n });\n } else {\n sourceShape.attr(newAttrs);\n }\n } else {\n sourceShape.attr(newAttrs);\n }\n }\n }\n\n private getShapeType(model: ShapeInfo) {\n const shape = get(model, 'shape');\n return isArray(shape) ? shape[0] : shape;\n }\n}\n","import { BBox, IGroup, IShape } from '../../dependents';\nimport { LooseObject } from '../../interface';\nimport { GeometryLabelConstructor } from './base';\nimport { LabelItem } from './interface';\n\n/**\n * label 布局函数定义\n * @param items 存储每个 label 的详细信息\n * @param labels 所有的 labels 图形实例\n * @param shapes 所有 label 对应的图形元素实例\n * @param region 画布区域\n * @param cfg 用于存储各个布局函数开放给用户的配置数据\n */\ntype GeometryLabelsLayoutFn = (\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg?: LooseObject\n) => void;\n\nconst GEOMETRY_LABELS_MAP: Record = {};\nconst GEOMETRY_LABELS_LAYOUT_MAP: Record = {};\n\n/**\n * 获取 `type` 对应的 [[GeometryLabel]] 类\n * @param type\n * @returns\n */\nexport function getGeometryLabel(type: string): GeometryLabelConstructor {\n return GEOMETRY_LABELS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 GeometryLabel 类\n * @param type GeometryLabel 类型名称\n * @param ctor GeometryLabel 类\n */\nexport function registerGeometryLabel(type: string, ctor: GeometryLabelConstructor) {\n GEOMETRY_LABELS_MAP[type.toLowerCase()] = ctor;\n}\n\n/**\n * 获取 `type` 对应的 [[GeometryLabelsLayoutFn]] label 布局函数\n * @param type 布局函数名称\n * @returns\n */\nexport function getGeometryLabelLayout(type: string): GeometryLabelsLayoutFn {\n return GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 label 布局函数\n * @param type label 布局函数名称\n * @param layoutFn label 布局函数\n */\nexport function registerGeometryLabelLayout(type: string, layoutFn: GeometryLabelsLayoutFn) {\n GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()] = layoutFn;\n}\n","import { LooseObject } from '@antv/g-svg';\nimport { parsePathString } from '@antv/path-util';\nimport { deepMix, get, upperFirst } from '@antv/util';\nimport { IGroup, IShape, PathCommand } from '../../dependents';\nimport {\n Point,\n RegisterShape,\n RegisterShapeFactory,\n Shape,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerAttrs,\n ShapeMarkerCfg,\n ShapePoint,\n} from '../../interface';\n\nimport { convertNormalPath, convertPolarPath } from './util/path';\n\n/** ShapeFactory 基类 */\nconst ShapeFactoryBase = {\n /** 坐标系对象 */\n coordinate: null,\n /** 默认绘制的 Shape 类型 */\n defaultShapeType: null,\n /** 主题样式 */\n theme: null,\n /**\n * 获取 shape 绘制需要的关键点\n * @param shapeType shape 类型\n * @param shapePoint 每条数据映射后的坐标点以及 size 数值\n * @returns 图形关键点信息\n */\n getShapePoints(shapeType: string, shapePoint: ShapePoint) {\n const shape = this.getShape(shapeType);\n if (shape.getPoints) {\n return shape.getPoints(shapePoint);\n }\n\n return this.getDefaultPoints(shapePoint);\n },\n /**\n * 根据 shape 类型获取具体的 shape 实例\n * @param shapeType string shape 的类型\n * @returns\n */\n getShape(shapeType: string): Shape {\n const shape = this[shapeType] || this[this.defaultShapeType];\n shape.coordinate = this.coordinate;\n\n return shape;\n },\n /**\n * 获取 shape 的默认关键点\n * @override\n */\n getDefaultPoints() {\n return [];\n },\n /**\n * 获取 shape 的默认绘制样式 (内置的 shapeFactory 均有注册默认样式)\n */\n getDefaultStyle(geometryTheme: LooseObject): LooseObject {\n return get(geometryTheme, [this.defaultShapeType, 'default', 'style'], {});\n },\n /**\n * 获取 shape 对应的缩略图配置信息。\n * @param shapeType shape 类型\n * @param color 颜色\n * @param isInPolar 是否在极坐标系下\n * @returns 返回缩略图 marker 配置。\n */\n getMarker(shapeType: string, markerCfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n let shape = this.getShape(shapeType);\n\n if (!shape.getMarker) {\n const defaultShapeType = this.defaultShapeType;\n shape = this.getShape(defaultShapeType);\n }\n\n const theme = this.theme;\n const shapeStyle = get(theme, [shapeType, 'default'], {});\n const markerStyle = shape.getMarker(markerCfg);\n\n return deepMix({}, shapeStyle, markerStyle);\n },\n /**\n * 绘制 shape\n * @override\n * @param shapeType 绘制的 shape 类型\n * @param cfg 绘制 shape 需要的信息\n * @param element Element 实例\n * @returns\n */\n drawShape(shapeType: string, cfg: ShapeInfo, container: IGroup): IShape | IGroup {\n const shape = this.getShape(shapeType);\n return shape.draw(cfg, container);\n },\n};\n\n/** Shape 基类 */\nconst ShapeBase = {\n /** 坐标系对象 */\n coordinate: null,\n /**\n * 将归一化的 path 转换成坐标系下的 path\n * @param path 归一化的路径\n * @returns\n */\n parsePath(path: string): PathCommand[] {\n const coordinate = this.coordinate;\n let parsedPath = parsePathString(path);\n if (coordinate.isPolar) {\n parsedPath = convertPolarPath(coordinate, parsedPath);\n } else {\n parsedPath = convertNormalPath(coordinate, parsedPath);\n }\n return parsedPath;\n },\n /**\n * 将归一化的坐标转换成画布坐标\n * @param point 归一化的坐标点数据\n * @returns\n */\n parsePoint(point: Point): Point {\n const coordinate = this.coordinate;\n return coordinate.convert(point);\n },\n /**\n * 0~1 points 转 画布 points\n * @param points 节点集合\n * @returns\n */\n parsePoints(points: Point[]): Point[] {\n const coordinate = this.coordinate;\n return points.map((point) => {\n return coordinate.convert(point);\n });\n },\n /**\n * 绘制 shape\n * @override\n */\n draw(cfg: ShapeInfo, container: IGroup) {},\n};\n\nconst ShapeFactoryMap = {};\n\n/**\n * 注册 ShapeFactory。\n * @param factoryName ShapeFactory 名称,对应 Geometry 几何标记名称。\n * @param cfg 注册 ShapeFactory 需要覆写定义的属性。\n * @returns 返回 ShapeFactory 对象。\n */\nexport function registerShapeFactory(factoryName: string, cfg: RegisterShapeFactory): ShapeFactory {\n const className = upperFirst(factoryName);\n const geomObj = {\n ...ShapeFactoryBase,\n ...cfg,\n geometryType: factoryName,\n };\n ShapeFactoryMap[className] = geomObj;\n return geomObj;\n}\n\n/**\n * 注册 Shape。\n * @param factoryName 对应的 ShapeFactory 名称。\n * @param shapeType 注册的 shape 名称。\n * @param cfg 注册 Shape 需要覆写定义的属性。\n * @returns shape 返回注册的 shape 对象。\n */\nexport function registerShape(factoryName: string, shapeType: string, cfg: RegisterShape): Shape {\n const className = upperFirst(factoryName);\n const factory = ShapeFactoryMap[className];\n const shapeObj = {\n ...ShapeBase,\n ...cfg,\n };\n factory[shapeType] = shapeObj;\n return shapeObj;\n}\n\n/**\n * 获取 factoryName 对应的 shapeFactory\n * @param factoryName\n * @returns shape factory\n */\nexport function getShapeFactory(factoryName: string): ShapeFactory {\n const className = upperFirst(factoryName);\n return ShapeFactoryMap[className];\n}\n","import { isEqual, some } from '@antv/util';\nimport { ShapeInfo } from '../../interface';\n\n/**\n * @ignore\n * Determines whether model is change\n * @param currentModel\n * @param preModel\n * @returns\n */\nexport function isModelChange(currentModel: ShapeInfo, preModel: ShapeInfo) {\n return some(\n ['color', 'shape', 'size', 'x', 'y', 'isInCircle', 'data', 'style', 'defaultStyle', 'points', 'mappingData'],\n (key: string) => {\n return !isEqual(currentModel[key], preModel[key]);\n }\n );\n}\n","import { isArray } from '@antv/util';\n\n/** @ignore */\nexport function parseFields(field: string | string[]): string[] {\n if (isArray(field)) {\n return field;\n }\n\n return field.split('*');\n}\n","/**\n * 对比当前元素和之前的元素,返回 added, updated, removed\n * @param keyItem 之前的元素的,按照 key-item 的 object 的形式存储\n * @param keys 现在的元素,按照 array 的形式存储\n * @returns 由 added, updated, removed array 构成的 object\n */\nexport function diff(keyItem: Record, keys: string[]) {\n const added = [];\n const updated = [];\n const removed = [];\n const keyIncluded = new Map();\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (keyItem[key]) updated.push(key);\n else added.push(key);\n keyIncluded.set(key, true);\n }\n\n Object.keys(keyItem).forEach((key) => {\n if (!keyIncluded.has(key)) removed.push(key);\n });\n\n return {\n added,\n updated,\n removed,\n };\n}\n","import { Adjust, getAdjust as getAdjustClass } from '@antv/adjust';\nimport { Attribute, getAttribute as getAttributeClass } from '@antv/attr';\nimport {\n clone,\n deepMix,\n each,\n flatten,\n get,\n isArray,\n isEmpty,\n isEqual,\n isFunction,\n isNil,\n isNumber,\n isObject,\n isPlainObject,\n isString,\n set,\n} from '@antv/util';\nimport { doGroupAppearAnimate, getDefaultAnimateCfg } from '../animate';\nimport Base from '../base';\nimport { FIELD_ORIGIN, GROUP_ATTRS } from '../constant';\nimport { BBox, Coordinate, IGroup, IShape, Scale } from '../dependents';\nimport {\n AdjustOption,\n AdjustType,\n AnimateOption,\n AttributeOption,\n ColorAttrCallback,\n Data,\n Datum,\n GeometryLabelCfg,\n GeometryTooltipOption,\n LabelCallback,\n LabelOption,\n LooseObject,\n MappingDatum,\n ScaleOption,\n ShapeAttrCallback,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerCfg,\n ShapeMarkerAttrs,\n ShapePoint,\n SizeAttrCallback,\n StateOption,\n StyleCallback,\n StyleOption,\n TooltipCallback,\n CustomOption,\n} from '../interface';\nimport { uniq } from '../util/helper';\nimport Element from './element';\nimport { getGeometryLabel } from './label';\nimport GeometryLabel from './label/base';\nimport { getShapeFactory } from './shape/base';\nimport { group } from './util/group-data';\nimport { isModelChange } from './util/is-model-change';\nimport { parseFields } from './util/parse-fields';\nimport { diff } from './util/diff';\nimport { getXDimensionLength } from '../util/coordinate';\n\n/** @ignore */\ninterface AttributeInstanceCfg {\n fields?: string[];\n callback?: (...args) => any;\n values?: string[] | number[];\n scales?: Scale[];\n}\n\n/** @ignore */\ninterface AdjustInstanceCfg {\n type: AdjustType;\n adjustNames?: string[];\n xField?: string;\n yField?: string;\n\n dodgeBy?: string;\n marginRatio?: number;\n dodgeRatio?: number;\n\n size?: number;\n height?: number;\n reverseOrder?: boolean;\n\n /** 像素级柱间宽度,调整offset */\n intervalPadding?: number;\n dodgePadding?: number;\n /** x维度长度,计算归一化padding使用 */\n xDimensionLength?: number;\n /** 分组数,计算offset */\n groupNum?: number;\n /** 用户配置宽度 size */\n defaultSize?: number;\n /** 最大最小宽度约束 */\n maxColumnWidth?: number;\n minColumnWidth?: number;\n /** 柱宽比例 */\n columnWidthRatio?: number;\n}\n\n/** geometry.init() 传入参数 */\nexport interface InitCfg {\n /** 坐标系 */\n coordinate?: Coordinate;\n /** 数据 */\n data?: Data;\n /** 主题对象 */\n theme?: LooseObject;\n /** 列定义 */\n scaleDefs?: Record;\n /** 因为数据使用的引用,所以需要有一个标识位标识数据是否发生了更新 */\n isDataChanged?: boolean;\n isCoordinateChanged?: boolean;\n}\n\n/** Geometry 构造函数参数 */\nexport interface GeometryCfg {\n /** Geometry shape 的容器。 */\n container: IGroup;\n /** 绘制的坐标系对象。 */\n coordinate?: Coordinate;\n /** 绘制数据。 */\n data?: Data;\n /** 需要的 scales。 */\n scales?: Record;\n /** 列定义 */\n scaleDefs?: Record;\n /** Geometry labels 的容器 */\n labelsContainer?: IGroup;\n /** 是否对数据进行排序 */\n sortable?: boolean;\n /** elements 的 zIndex 默认按顺序提升,通过 zIndexReversed 可以反序,从而数据越前,层级越高 */\n zIndexReversed?: boolean;\n /** 是否可见 */\n visible?: boolean;\n /** 主题配置 */\n theme?: LooseObject;\n\n /** 组间距 */\n intervalPadding?: number;\n /** 组内间距 */\n dodgePadding?: number;\n /** 柱状图最大宽度 */\n maxColumnWidth?: number;\n /** 柱状图最小宽度 */\n minColumnWidth?: number;\n /** 默认宽度占比,interval类型和schema类型通用 */\n columnWidthRatio?: number;\n /** 玫瑰图占比 */\n roseWidthRatio?: number;\n /** 多层饼图/环图占比 */\n multiplePieWidthRatio?: number;\n}\n\n// 根据 elementId 查找对应的 label,因为有可能一个 element 对应多个 labels,所以在给 labels 打标识时做了处理\n// 打标规则详见 ./label/base.ts#L263\nfunction filterLabelsById(id: string, labelsMap: Record) {\n const labels = [];\n each(labelsMap, (label: IGroup, labelId: string) => {\n const elementId = labelId.split(' ')[0];\n if (elementId === id) {\n labels.push(label);\n }\n });\n\n return labels;\n}\n\n/**\n * Geometry 几何标记基类,主要负责数据到图形属性的映射以及绘制逻辑。\n */\nexport default class Geometry extends Base {\n /** Geometry 几何标记类型。 */\n public readonly type: string = 'base';\n /** ShapeFactory 对应的类型。 */\n public readonly shapeType: string;\n\n // 在创建 Geometry 实例时可以传入的属性\n /** Coordinate 坐标系实例。 */\n public coordinate: Coordinate;\n /** 用户绘制数据。 */\n public data: Data;\n /** 图形绘制容器。 */\n public readonly container: IGroup;\n /** label 绘制容器。 */\n public readonly labelsContainer: IGroup;\n /** 是否对数据进行排序,默认为 false。 */\n public sortable: boolean;\n /** 当前 Geometry 实例主题。 */\n public theme: LooseObject;\n /** 存储 geometry 需要的 scales,需要外部传入。 */\n public scales: Record;\n /** scale 定义,需要外部传入。 */\n public scaleDefs: Record;\n /** 画布区域,用于 label 布局。 */\n public canvasRegion: BBox;\n\n // 内部产生的属性\n /** Attribute map */\n public attributes: Record = {};\n /** Element map */\n public elements: Element[] = [];\n /**\n * 存储处理后的数据,\n * + init() 及 updateData() 逻辑后, 结构为 Data[];\n * + paint() 逻辑后,结构为 MappingDatum[][]。\n */\n public dataArray: MappingDatum[][];\n /** 存储 tooltip 配置信息。 */\n public tooltipOption: GeometryTooltipOption | boolean;\n /** 存储 label 配置信息。 */\n public labelOption: LabelOption | false;\n /** 状态量相关的配置项 */\n public stateOption: StateOption;\n /** 使用 key-value 结构存储 Element,key 为每个 Element 实例对应的唯一 ID */\n public elementsMap: Record = {};\n /** animate 配置项 */\n public animateOption: AnimateOption | boolean = true;\n /** 图形属性映射配置 */\n protected attributeOption: Record = {};\n /** adjust 配置项 */\n protected adjustOption: AdjustOption[];\n /** style 配置项 */\n protected styleOption: StyleOption;\n /** custom 自定义的配置项 */\n protected customOption: CustomOption;\n /** 每个 Geometry 对应的 Shape 工厂实例,用于创建各个 Shape */\n protected shapeFactory: ShapeFactory;\n /** 存储上一次渲染时的 element 映射表,用于更新逻辑 */\n protected lastElementsMap: Record = {};\n /** 是否生成多个点来绘制图形。 */\n protected generatePoints: boolean = false;\n /** 存储发生图形属性映射前的数据 */\n protected beforeMappingData: Data[] = null;\n /** 存储每个 shape 的默认 size,用于 Interval、Schema 几何标记 */\n protected defaultSize: number;\n\n // 用户通过 geometry 构造函数设置的主题\n private userTheme: LooseObject;\n private adjusts: Record = {};\n private lastAttributeOption;\n private idFields: string[] = [];\n private geometryLabel: GeometryLabel;\n\n // 柱状图间距相关配置\n /** 组间距 */\n protected intervalPadding: number;\n /** 组内间距 */\n protected dodgePadding: number;\n /** 柱状图最大宽度 */\n protected maxColumnWidth: number;\n /** 柱状图最小宽度 */\n protected minColumnWidth: number;\n /** 一般柱状图宽度占比 */\n protected columnWidthRatio: number;\n /** 玫瑰图占比 */\n protected roseWidthRatio: number;\n /** 多层饼图/环图占比 */\n protected multiplePieWidthRatio: number;\n /** elements 的 zIndex 默认按顺序提升,通过 zIndexReversed 可以反序,从而数据越前,层级越高 */\n public zIndexReversed?: boolean;\n\n /** 虚拟 Group,用于图形更新 */\n private offscreenGroup: IGroup;\n private groupScales: Scale[];\n private hasSorted: boolean = false;\n protected isCoordinateChanged: boolean = false;\n\n /**\n * 创建 Geometry 实例。\n * @param cfg\n */\n constructor(cfg: GeometryCfg) {\n super(cfg);\n\n const {\n container,\n labelsContainer,\n coordinate,\n data,\n sortable = false,\n visible = true,\n theme,\n scales = {},\n scaleDefs = {},\n // 柱状图间隔与宽度相关配置\n intervalPadding,\n dodgePadding,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n roseWidthRatio,\n multiplePieWidthRatio,\n zIndexReversed,\n } = cfg;\n\n this.container = container;\n this.labelsContainer = labelsContainer;\n this.coordinate = coordinate;\n this.data = data;\n this.sortable = sortable;\n this.visible = visible;\n this.userTheme = theme;\n this.scales = scales;\n this.scaleDefs = scaleDefs;\n // 柱状图间隔与宽度相关配置\n this.intervalPadding = intervalPadding;\n this.dodgePadding = dodgePadding;\n this.maxColumnWidth = maxColumnWidth;\n this.minColumnWidth = minColumnWidth;\n this.columnWidthRatio = columnWidthRatio;\n this.roseWidthRatio = roseWidthRatio;\n this.multiplePieWidthRatio = multiplePieWidthRatio;\n this.zIndexReversed = zIndexReversed;\n }\n\n /**\n * 配置 position 通道映射规则。\n *\n * @example\n * ```typescript\n * // 数据结构: [{ x: 'A', y: 10, color: 'red' }]\n * geometry.position('x*y');\n * geometry.position([ 'x', 'y' ]);\n * geometry.position({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n *\n * @param cfg 映射规则\n * @returns\n */\n public position(cfg: string | string[] | AttributeOption): Geometry {\n let positionCfg = cfg;\n if (!isPlainObject(cfg)) {\n // 字符串字段或者数组字段\n positionCfg = {\n fields: parseFields(cfg),\n };\n }\n\n const fields = get(positionCfg, 'fields');\n if (fields.length === 1) {\n // 默认填充一维 1*xx\n fields.unshift('1');\n set(positionCfg, 'fields', fields);\n }\n set(this.attributeOption, 'position', positionCfg);\n\n return this;\n }\n\n /**\n * 配置 color 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.color({\n * fields: [ 'x' ],\n * values: [ '#1890ff', '#5AD8A6' ],\n * });\n * ```\n *\n * @param field 映射规则\n * @returns\n */\n public color(field: AttributeOption): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 使用 '#1890ff' 颜色渲染图形\n * geometry.color('#1890ff');\n *\n * // 根据 x 字段的数据值进行颜色的映射,这时候 G2 会在内部调用默认的回调函数,读取默认提供的颜色进行数据值到颜色值的映射。\n * geometry.color('x');\n *\n * // 将 'x' 字段的数据值映射至指定的颜色值 colors(可以是字符串也可以是数组),此时用于通常映射分类数据\n * geometry.color('x', [ '#1890ff', '#5AD8A6' ]);\n *\n * // 使用回调函数进行颜色值的自定义;可以使用多个字段使用、*号连接\n * geometry.color('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'red';\n * }\n * return 'blue';\n * });\n *\n * // 指定颜色的渐变路径,用于映射连续的数据\n * geometry.color('x', '#BAE7FF-#1890FF-#0050B3');\n * ```\n *\n * @param field 参与颜色映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, color 映射规则。\n * @returns\n */\n public color(field: string, cfg?: string | string[] | ColorAttrCallback): Geometry;\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 shape 通道映射规则。\n *\n * @example\n *\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.shape({\n * fields: [ 'x' ],\n * });\n * ```\n *\n * @param field 映射规则配置。\n * @returns\n */\n public shape(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 指定常量,将所有数据值映射到固定的 shape\n * geometry.shape('circle');\n *\n * // 将指定的字段映射到内置的 shapes 数组中\n * geometry.shape('x');\n *\n * // 将指定的字段映射到指定的 shapes 数组中\n * geometry.shape('x', [ 'circle', 'diamond', 'square' ]);\n *\n * // 使用回调函数获取 shape,用于个性化的 shape 定制,可以根据单个或者多个字段确定\n * geometry.shape('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'circle';\n * }\n * return 'diamond';\n * });\n * ```\n *\n * @param field 参与 shape 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, shape 映射规则。\n * @returns\n */\n public shape(field: string, cfg?: string[] | ShapeAttrCallback): Geometry;\n public shape(field: AttributeOption | string, cfg?: string[] | ShapeAttrCallback): Geometry {\n this.createAttrOption('shape', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 size 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.size({\n * values: [ 10 ],\n * })\n * ```\n *\n * @param field 映射规则。\n * @returns\n */\n public size(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 直接指定像素大小\n * geometry.size(10);\n *\n * // 指定映射到 size 的字段,使用内置的默认大小范围为 [1, 10]\n * geometry.size('x');\n *\n * // 指定映射到 size 字段外,还提供了 size 的最大值和最小值范围\n * geometry.size('x', [ 5, 30 ]);\n *\n * // 使用回调函数映射 size,用于个性化的 size 定制,可以使用多个字段进行映射\n * geometry.size('x', (xVal) => {\n * if (xVal === 'a') {\n * return 10;\n * }\n * return 5;\n * });\n * ```\n *\n * @param field 参与 size 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, size 映射规则\n * @returns\n */\n public size(field: number | string, cfg?: [number, number] | SizeAttrCallback): Geometry;\n public size(field: AttributeOption | number | string, cfg?: [number, number] | SizeAttrCallback): Geometry {\n this.createAttrOption('size', field, cfg);\n\n return this;\n }\n\n /**\n * 设置数据调整方式。G2 目前内置了四种类型:\n * 1. dodge\n * 2. stack\n * 3. symmetric\n * 4. jitter\n *\n *\n * **Tip**\n * + 对于 'dodge' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('dodge', {\n * marginRatio: 0, // 取 0 到 1 范围的值(相对于每个柱子宽度),用于控制一个分组中柱子之间的间距\n * dodgeBy: 'x', // 该属性只对 'dodge' 类型生效,声明以哪个数据字段为分组依据\n * });\n * ```\n *\n * + 对于 'stack' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('stack', {\n * reverseOrder: false, // 用于控制是否对数据进行反序操作\n * });\n * ```\n *\n * @example\n * ```typescript\n * geometry.adjust('stack');\n *\n * geometry.adjust({\n * type: 'stack',\n * reverseOrder: false,\n * });\n *\n * // 组合使用 adjust\n * geometry.adjust([ 'stack', 'dodge' ]);\n *\n * geometry.adjust([\n * { type: 'stack' },\n * { type: 'dodge', dodgeBy: 'x' },\n * ]);\n * ```\n *\n * @param adjustCfg 数据调整配置\n * @returns\n */\n public adjust(adjustCfg: string | string[] | AdjustOption | AdjustOption[]): Geometry {\n let adjusts: any = adjustCfg;\n if (isString(adjustCfg) || isPlainObject(adjustCfg)) {\n adjusts = [adjustCfg];\n }\n each(adjusts, (adjust, index) => {\n if (!isObject(adjust)) {\n adjusts[index] = { type: adjust };\n }\n });\n\n this.adjustOption = adjusts;\n return this;\n }\n\n /**\n * 图形样式配置。\n *\n * @example\n * ```typescript\n * // 配置图形样式\n * style({\n * lineWidth: 2,\n * stroke: '#1890ff',\n * });\n *\n * // 根据具体的数据进行详细配置\n * style({\n * fields: [ 'x', 'y' ], // 数据字段\n * callback: (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * },\n * });\n * ```\n *\n * @param field 配置样式属性或者样式规则。\n * @returns\n */\n public style(field: StyleOption | LooseObject): Geometry;\n /**\n * @example\n * ```typescript\n * style('x*y', (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * });\n * ```\n *\n * @param field 数据字段或者样式配置规则。\n * @param styleFunc Optional, 样式配置回调函数。\n * @returns\n */\n public style(field: string, styleFunc: StyleCallback): Geometry;\n public style(field: StyleOption | LooseObject | string, styleFunc?: StyleCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.styleOption = {\n fields,\n callback: styleFunc,\n };\n } else {\n const { fields, callback, cfg } = field as StyleOption;\n if (fields || callback || cfg) {\n this.styleOption = field;\n } else {\n this.styleOption = {\n cfg: field,\n };\n }\n }\n\n return this;\n }\n\n /**\n * 配置 Geometry 显示的 tooltip 内容。\n *\n * `tooltip(false)` 代表关闭 tooltip。\n * `tooltip(true)` 代表开启 tooltip。\n *\n * Geometry 默认允许 tooltip 展示,我们可以使用以下方法对 tooltip 的展示内容进行配置:\n *\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n * tooltip({\n * fields: [ 'x' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*268uQ50if60AAAAAAAAAAABkARQnAQ)\n *\n * ```typescript\n * tooltip({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*A_ujSa8QhtcAAAAAAAAAAABkARQnAQ)\n *\n * tooltip() 方法同样支持数据映射及回调用法:\n *\n * @example\n * ```typescript\n * chart.tooltip({\n * itemTpl: '
  • {x}: {y}
  • ',\n * });\n *\n * chart.line()\n * .position('x*y')\n * .tooltip({\n * fields: [ 'x', 'y' ],\n * callback: (x, y) => {\n * return {\n * x,\n * y,\n * };\n * },\n * });\n * ```\n *\n * 其返回的值必须为对象,该值中的属性同 chart.tooltip() 的 itemTpl 模板相对应,返回的变量可用于 itemTpl 的字符串模板。\n *\n * @param field tooltip 配置信息。\n * @returns\n */\n public tooltip(field: GeometryTooltipOption | boolean): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n *\n * // 等同于 tooltip({ fields: [ 'x' ] })\n * tooltip('x');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ] })\n * tooltip('x*y');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ], callback: (x, y) => { x, y } })\n * tooltip('x*y', (x, y) => {\n * return {\n * x,\n * y,\n * };\n * });\n * ```\n *\n * @param field 参与映射的字段。\n * @param cfg Optional, 回调函数\n * @returns\n */\n public tooltip(field: string, cfg?: TooltipCallback): Geometry;\n public tooltip(field: GeometryTooltipOption | boolean | string, cfg?: TooltipCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.tooltipOption = {\n fields,\n callback: cfg,\n };\n } else {\n this.tooltipOption = field;\n }\n\n return this;\n }\n\n /**\n * Geometry 动画配置。\n *\n * + `animate(false)` 关闭动画\n * + `animate(true)` 开启动画,默认开启。\n *\n * 我们将动画分为四个场景:\n * 1. appear: 图表第一次加载时的入场动画;\n * 2. enter: 图表绘制完成,发生更新后,产生的新图形的进场动画;\n * 3. update: 图表绘制完成,数据发生变更后,有状态变更的图形的更新动画;\n * 4. leave: 图表绘制完成,数据发生变更后,被销毁图形的销毁动画。\n *\n * @example\n * ```typescript\n * animate({\n * enter: {\n * duration: 1000, // enter 动画执行时间\n * },\n * leave: false, // 关闭 leave 销毁动画\n * });\n * ```\n *\n * @param cfg 动画配置\n * @returns\n */\n public animate(cfg: AnimateOption | boolean): Geometry {\n this.animateOption = cfg;\n return this;\n }\n\n /**\n * Geometry label 配置。\n *\n * @example\n * ```ts\n * // data: [ {x: 1, y: 2, z: 'a'}, {x: 2, y: 2, z: 'b'} ]\n * // 在每个图形上显示 z 字段对应的数值\n * label({\n * fields: [ 'z' ]\n * });\n *\n * label(false); // 不展示 label\n *\n * // 在每个图形上显示 x 字段对应的数值,同时配置文本颜色为红色\n * label('x', {\n * style: {\n * fill: 'red',\n * },\n * })\n *\n * // 以 type 类型的 label 渲染每个图形上显示 x 字段对应的数值,同时格式化文本内容\n * label('x', (xValue) => {\n * return {\n * content: xValue + '%',\n * };\n * }, {\n * type: 'base' // 声明 label 类型\n * })\n * ```\n *\n * @param field\n * @returns label\n */\n public label(field: LabelOption | false | string): Geometry;\n public label(field: string, secondParam: GeometryLabelCfg | LabelCallback): Geometry;\n public label(field: string, secondParam: LabelCallback, thirdParam: GeometryLabelCfg): Geometry;\n public label(\n field: string | LabelOption | false,\n secondParam?: GeometryLabelCfg | LabelCallback,\n thirdParam?: GeometryLabelCfg\n ): Geometry {\n if (isString(field)) {\n const labelOption: LabelOption = {};\n const fields = parseFields(field);\n labelOption.fields = fields;\n if (isFunction(secondParam)) {\n labelOption.callback = secondParam;\n } else if (isPlainObject(secondParam)) {\n labelOption.cfg = secondParam;\n }\n\n if (thirdParam) {\n labelOption.cfg = thirdParam;\n }\n this.labelOption = labelOption;\n } else {\n this.labelOption = field;\n }\n\n return this;\n }\n\n /**\n * 设置状态对应的样式。\n *\n * @example\n * ```ts\n * chart.interval().state({\n * selected: {\n * animate: { duration: 100, easing: 'easeLinear' },\n * style: {\n * lineWidth: 2,\n * stroke: '#000',\n * },\n * },\n * });\n * ```\n *\n * 如果图形 shape 是由多个 shape 组成,即为一个 G.Group 对象,那么针对 group 中的每个 shape,我们需要使用下列方式进行状态样式设置:\n * 如果我们为 group 中的每个 shape 设置了 'name' 属性(shape.set('name', 'xx')),则以 'name' 作为 key,否则默认以索引值(即 shape 的 添加顺序)为 key。\n *\n * ```ts\n * chart.interval().shape('groupShape').state({\n * selected: {\n * style: {\n * 0: { lineWidth: 2 },\n * 1: { fillOpacity: 1 },\n * }\n * }\n * });\n * ```\n *\n * @param cfg 状态样式\n */\n public state(cfg: StateOption) {\n this.stateOption = cfg;\n return this;\n }\n\n /**\n * 用于向 shape 中传入自定义的数据。目前可能仅仅可能用于在自定义 shape 的时候,像自定义 shape 中传入自定义的数据,方便实现自定义 shape 的配置能力。\n *\n * @example\n * ```ts\n * chart.interval().customInfo({ yourData: 'hello, g2!' });\n * ```\n *\n * 然后在自定义 shape 的时候,可以拿到这个信息。\n *\n * ```ts\n * registerShape('interval', 'your-shape', {\n * draw(shapeInfo, container) {\n * const { customInfo } = shapeInfo;\n * console.log(customInfo); // will log { yourData: 'hello, g2!' }.\n * }\n * });\n * ```\n *\n * @param cfg\n */\n public customInfo(cfg: any) {\n this.customOption = cfg;\n return this;\n }\n\n /**\n * 初始化 Geomtry 实例:\n * 创建 [[Attribute]] and [[Scale]] 实例,进行数据处理,包括分组、数值化以及数据调整。\n */\n public init(cfg: InitCfg = {}) {\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n\n // 数据加工:分组 -> 数字化 -> adjust\n this.processData(this.data);\n\n // 调整 scale\n this.adjustScale();\n }\n\n /**\n * Geometry 更新。\n * @param [cfg] 更新的配置\n */\n public update(cfg: InitCfg = {}) {\n const { data, isDataChanged, isCoordinateChanged } = cfg;\n const { attributeOption, lastAttributeOption } = this;\n\n if (!isEqual(attributeOption, lastAttributeOption)) {\n // 映射发生改变,则重新创建图形属性\n this.init(cfg);\n } else if (data && (isDataChanged || !isEqual(data, this.data))) {\n // 数据发生变化\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n this.processData(data); // 数据加工:分组 -> 数字化 -> adjust\n } else {\n // 有可能 coordinate 变化\n this.setCfg(cfg);\n }\n\n // 调整 scale\n this.adjustScale();\n this.isCoordinateChanged = isCoordinateChanged;\n }\n\n /**\n * 将原始数据映射至图形空间,同时创建图形对象。\n */\n public paint(isUpdate: boolean = false) {\n if (this.animateOption) {\n this.animateOption = deepMix({}, getDefaultAnimateCfg(this.type, this.coordinate), this.animateOption);\n }\n\n this.defaultSize = undefined;\n this.elementsMap = {};\n this.elements = [];\n const offscreenGroup = this.getOffscreenGroup();\n offscreenGroup.clear();\n\n const beforeMappingData = this.beforeMappingData;\n const dataArray = this.beforeMapping(beforeMappingData);\n\n this.dataArray = new Array(dataArray.length);\n for (let i = 0; i < dataArray.length; i++) {\n const data = dataArray[i];\n this.dataArray[i] = this.mapping(data);\n }\n this.updateElements(this.dataArray, isUpdate);\n this.lastElementsMap = this.elementsMap;\n\n if (this.canDoGroupAnimation(isUpdate)) {\n // 如果用户没有配置 appear.animation,就默认走整体动画\n const container = this.container;\n const type = this.type;\n const coordinate = this.coordinate;\n const animateCfg = get(this.animateOption, 'appear');\n const yScale = this.getYScale();\n const yMinPoint = coordinate.convert({\n x: 0,\n y: yScale.scale(this.getYMinValue()),\n });\n doGroupAppearAnimate(container, animateCfg, type, coordinate, yMinPoint);\n }\n\n // 添加 label\n if (this.labelOption) {\n this.renderLabels(flatten(this.dataArray) as unknown as MappingDatum[], isUpdate);\n }\n\n // 缓存,用于更新\n this.lastAttributeOption = {\n ...this.attributeOption,\n };\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 清空当前 Geometry,配置项仍保留,但是内部创建的对象全部清空。\n * @override\n */\n public clear() {\n const { container, geometryLabel, offscreenGroup } = this;\n if (container) {\n container.clear();\n }\n\n if (geometryLabel) {\n geometryLabel.clear();\n }\n\n if (offscreenGroup) {\n offscreenGroup.clear();\n }\n\n // 属性恢复至出厂状态\n this.scaleDefs = undefined;\n this.attributes = {};\n this.scales = {};\n this.elementsMap = {};\n this.lastElementsMap = {};\n this.elements = [];\n this.adjusts = {};\n this.dataArray = null;\n this.beforeMappingData = null;\n this.lastAttributeOption = undefined;\n this.defaultSize = undefined;\n this.idFields = [];\n this.groupScales = undefined;\n this.hasSorted = false;\n this.isCoordinateChanged = false;\n }\n\n /**\n * 销毁 Geometry 实例。\n */\n public destroy() {\n this.clear();\n const container = this.container;\n container.remove(true);\n\n if (this.offscreenGroup) {\n this.offscreenGroup.remove(true);\n this.offscreenGroup = null;\n }\n\n if (this.geometryLabel) {\n this.geometryLabel.destroy();\n this.geometryLabel = null;\n }\n this.theme = undefined;\n this.shapeFactory = undefined;\n\n super.destroy();\n }\n\n /**\n * 获取决定分组的图形属性对应的 scale 实例。\n * @returns\n */\n public getGroupScales(): Scale[] {\n return this.groupScales;\n }\n\n /**\n * 根据名字获取图形属性实例。\n */\n public getAttribute(name: string): Attribute {\n return this.attributes[name];\n }\n\n /** 获取 x 轴对应的 scale 实例。 */\n public getXScale(): Scale {\n return this.getAttribute('position').scales[0];\n }\n\n /** 获取 y 轴对应的 scale 实例。 */\n public getYScale(): Scale {\n return this.getAttribute('position').scales[1];\n }\n\n /**\n * 获取决定分组的图形属性实例。\n */\n public getGroupAttributes(): Attribute[] {\n const rst = [];\n each(this.attributes, (attr: Attribute) => {\n if (GROUP_ATTRS.includes(attr.type)) {\n rst.push(attr);\n }\n });\n return rst;\n }\n\n /** 获取图形属性默认的映射值。 */\n public getDefaultValue(attrName: string) {\n let value: any;\n const attr = this.getAttribute(attrName);\n if (attr && isEmpty(attr.scales)) {\n // 获取映射至常量的值\n value = attr.values[0];\n }\n return value;\n }\n\n /**\n * 获取该数据发生图形映射后对应的 Attribute 图形空间数据。\n * @param attr Attribute 图形属性实例。\n * @param obj 需要进行映射的原始数据。\n * @returns\n */\n public getAttributeValues(attr: Attribute, obj: Datum) {\n const params = [];\n const scales = attr.scales;\n for (let index = 0, length = scales.length; index < length; index++) {\n const scale = scales[index];\n const field = scale.field;\n if (scale.isIdentity) {\n params.push(scale.values);\n } else {\n params.push(obj[field]);\n }\n }\n\n return attr.mapping(...params);\n }\n\n /**\n * 获取对应的 adjust 实例\n * @param adjustType\n * @returns\n */\n public getAdjust(adjustType: string) {\n return this.adjusts[adjustType];\n }\n\n /**\n * 获得 coordinate 实例\n * @returns\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n public getData() {\n return this.data;\n }\n\n /**\n * 获取 shape 对应的 marker 样式。\n * @param shapeName shape 具体名字\n * @param cfg marker 信息\n * @returns\n */\n public getShapeMarker(shapeName: string, cfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n const shapeFactory = this.getShapeFactory();\n return shapeFactory.getMarker(shapeName, cfg);\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.elements.filter((element) => condition(element));\n }\n\n /**\n * 获取 Geometry 的所有 Elements。\n *\n * ```typescript\n * getElements();\n * ```\n */\n public getElements() {\n return this.elements;\n }\n\n /**\n * 获取数据对应的唯一 id。\n * @param data Element 对应的绘制数据\n * @returns\n */\n public getElementId(data: MappingDatum | MappingDatum[]) {\n data = isArray(data) ? data[0] : data;\n const originData = data[FIELD_ORIGIN];\n\n // 如果用户声明了使用哪些字段作为 id 值\n if (this.idFields.length) {\n let elementId = originData[this.idFields[0]];\n for (let index = 1; index < this.idFields.length; index++) {\n elementId += '-' + originData[this.idFields[index]];\n }\n\n return elementId;\n }\n\n const type = this.type;\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field || 'x';\n const yField = yScale.field || 'y';\n const yVal = originData[yField];\n let xVal;\n if (xScale.type === 'identity') {\n xVal = xScale.values[0];\n } else {\n xVal = originData[xField];\n }\n\n let id: string;\n if (type === 'interval' || type === 'schema') {\n id = `${xVal}`;\n } else if (type === 'line' || type === 'area' || type === 'path') {\n id = type;\n } else {\n id = `${xVal}-${yVal}`;\n }\n\n let groupScales = this.groupScales;\n if (isEmpty(groupScales)) {\n groupScales = get(this.getAttribute('color'), 'scales', []);\n }\n\n for (let index = 0, length = groupScales.length; index < length; index++) {\n const groupScale = groupScales[index];\n const field = groupScale.field;\n id = `${id}-${originData[field]}`;\n }\n\n // 用户在进行 dodge 类型的 adjust 调整的时候设置了 dodgeBy 属性\n const dodgeAdjust = this.getAdjust('dodge');\n if (dodgeAdjust) {\n const dodgeBy = dodgeAdjust.dodgeBy;\n if (dodgeBy) {\n id = `${id}-${originData[dodgeBy]}`;\n }\n }\n\n if (this.getAdjust('jitter')) {\n id = `${id}-${data.x}-${data.y}`;\n }\n\n return id;\n }\n\n /**\n * 获取所有需要创建 scale 的字段名称。\n */\n public getScaleFields(): string[] {\n const fields = [];\n const tmpMap = new Map();\n const { attributeOption, labelOption, tooltipOption } = this;\n // 获取图形属性上的 fields\n for (const attributeType in attributeOption) {\n if (attributeOption.hasOwnProperty(attributeType)) {\n const eachOpt = attributeOption[attributeType];\n if (eachOpt.fields) {\n uniq(eachOpt.fields, fields, tmpMap);\n } else if (eachOpt.values) {\n // 考虑 size(10), shape('circle') 等场景\n uniq(eachOpt.values, fields, tmpMap);\n }\n }\n }\n // 获取 label 上的字段\n if (labelOption && labelOption.fields) {\n uniq(labelOption.fields, fields, tmpMap);\n }\n\n // 获取 tooltip 上的字段\n if (isObject(tooltipOption) && tooltipOption.fields) {\n uniq(tooltipOption.fields, fields, tmpMap);\n }\n\n return fields;\n }\n\n /**\n * 显示或者隐藏 geometry。\n * @param visible\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n const elements = this.elements;\n for (let index = 0, length = elements.length; index < length; index++) {\n const element = elements[index];\n element.changeVisible(visible);\n }\n if (visible) {\n if (this.container) {\n this.container.show();\n }\n if (this.labelsContainer) {\n this.labelsContainer.show();\n }\n } else {\n if (this.container) {\n this.container.hide();\n }\n if (this.labelsContainer) {\n this.labelsContainer.hide();\n }\n }\n }\n\n /**\n * 获得所有的字段\n */\n public getFields() {\n const uniqMap = new Map();\n const fields = [];\n\n Object.values(this.attributeOption).forEach((cfg) => {\n const fs = cfg?.fields || [];\n fs.forEach((f) => {\n if (!uniqMap.has(f)) {\n fields.push(f);\n }\n uniqMap.set(f, true);\n });\n }, []);\n\n return fields;\n }\n\n /**\n * 获取当前配置中的所有分组 & 分类的字段。\n * @return fields string[]\n */\n public getGroupFields(): string[] {\n const groupFields = [];\n const tmpMap = new Map(); // 用于去重过滤\n for (let index = 0, length = GROUP_ATTRS.length; index < length; index++) {\n const attributeName = GROUP_ATTRS[index];\n const cfg = this.attributeOption[attributeName];\n if (cfg && cfg.fields) {\n uniq(cfg.fields, groupFields, tmpMap);\n }\n }\n\n return groupFields;\n }\n\n /**\n * 获得图形的 x y 字段。\n */\n public getXYFields() {\n const [x, y] = this.attributeOption.position.fields;\n return [x, y];\n }\n\n /**\n * x 字段\n * @returns\n */\n public getXField(): string {\n return get(this.getXYFields(), [0]);\n }\n\n /**\n * y 字段\n * @returns\n */\n public getYField(): string {\n return get(this.getXYFields(), [1]);\n }\n\n /**\n * 获取该 Geometry 下所有生成的 shapes。\n * @returns shapes\n */\n public getShapes(): (IShape | IGroup)[] {\n return this.elements.map((element: Element) => element.shape);\n }\n\n /**\n * 获取虚拟 Group。\n * @returns\n */\n public getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n return this.offscreenGroup;\n }\n\n // 对数据进行排序\n public sort(mappingArray: Data[]) {\n if (!this.hasSorted) {\n // 未发生过排序\n const xScale = this.getXScale();\n const xField = xScale.field;\n for (let index = 0; index < mappingArray.length; index++) {\n const itemArr = mappingArray[index];\n itemArr.sort((obj1: Datum, obj2: Datum) => {\n return xScale.translate(obj1[FIELD_ORIGIN][xField]) - xScale.translate(obj2[FIELD_ORIGIN][xField]);\n });\n }\n }\n\n this.hasSorted = true;\n }\n\n /**\n * 调整度量范围。主要针对发生层叠以及一些特殊需求的 Geometry,比如 Interval 下的柱状图 Y 轴默认从 0 开始。\n */\n protected adjustScale() {\n const yScale = this.getYScale();\n // 如果数据发生过 stack adjust,需要调整下 yScale 的数据范围\n if (yScale && this.getAdjust('stack')) {\n this.updateStackRange(yScale, this.beforeMappingData);\n }\n }\n\n /**\n * 获取当前 Geometry 对应的 Shape 工厂实例。\n */\n protected getShapeFactory() {\n const shapeType = this.shapeType;\n if (!getShapeFactory(shapeType)) {\n return;\n }\n if (!this.shapeFactory) {\n this.shapeFactory = clone(getShapeFactory(shapeType)); // 防止多个 view 共享一个 shapeFactory 实例,导致 coordinate 被篡改\n }\n // 因为这里缓存了 shapeFactory,但是外部可能会变更 coordinate,导致无法重新设置到 shapeFactory 中\n this.shapeFactory.coordinate = this.coordinate;\n // theme 原因同上\n this.shapeFactory.theme = this.theme.geometries[shapeType] || {};\n\n return this.shapeFactory;\n }\n\n /**\n * 获取每个 Shape 对应的关键点数据。\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum): S {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const x = this.normalizeValues(obj[xScale.field], xScale);\n let y; // 存在没有 y 的情况\n\n if (yScale) {\n y = this.normalizeValues(obj[yScale.field], yScale);\n } else {\n y = obj.y ? obj.y : 0.1;\n }\n\n return {\n x,\n y,\n y0: yScale ? yScale.scale(this.getYMinValue()) : undefined,\n } as S;\n }\n\n /**\n * 创建 Element 实例。\n * @param mappingDatum Element 对应的绘制数据\n * @param [isUpdate] 是否处于更新阶段\n * @returns element 返回创建的 Element 实例\n */\n protected createElement(mappingDatum: MappingDatum, index: number, isUpdate: boolean = false): Element {\n const { container } = this;\n\n const shapeCfg = this.getDrawCfg(mappingDatum); // 获取绘制图形的配置信息\n const shapeFactory = this.getShapeFactory();\n\n const element = new Element({\n shapeFactory,\n container,\n offscreenGroup: this.getOffscreenGroup(),\n elementIndex: index,\n });\n element.animate = this.animateOption;\n element.geometry = this;\n element.draw(shapeCfg, isUpdate); // 绘制\n\n return element;\n }\n\n /**\n * 获取每条数据对应的图形绘制数据。\n * @param mappingDatum 映射后的数据\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const originData = mappingDatum[FIELD_ORIGIN]; // 原始数据\n const cfg: ShapeInfo = {\n mappingData: mappingDatum, // 映射后的数据\n data: originData, // 原始数据\n x: mappingDatum.x,\n y: mappingDatum.y,\n color: mappingDatum.color,\n size: mappingDatum.size,\n isInCircle: this.coordinate.isPolar,\n customInfo: this.customOption,\n };\n\n let shapeName = mappingDatum.shape;\n if (!shapeName && this.getShapeFactory()) {\n shapeName = this.getShapeFactory().defaultShapeType;\n }\n cfg.shape = shapeName;\n // 获取默认样式\n const theme = this.theme.geometries[this.shapeType];\n cfg.defaultStyle = get(theme, [shapeName, 'default'], {}).style;\n if (!cfg.defaultStyle && this.getShapeFactory()) {\n cfg.defaultStyle = this.getShapeFactory().getDefaultStyle(theme);\n }\n\n const styleOption = this.styleOption;\n if (styleOption) {\n cfg.style = this.getStyleCfg(styleOption, originData);\n }\n if (this.generatePoints) {\n cfg.points = mappingDatum.points;\n cfg.nextPoints = mappingDatum.nextPoints;\n }\n\n return cfg;\n }\n\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false): void {\n const keyDatum = new Map();\n const keys: string[] = [];\n\n // 用来保持 diff 元素之后 added, updated 的相对顺序\n const keyIndex = new Map();\n let index = 0;\n\n // 获得更新数据所有的 keys\n // 将更新的数据用 key 索引\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n for (let j = 0; j < mappingData.length; j++) {\n const mappingDatum = mappingData[j];\n const key = this.getElementId(mappingDatum);\n const finalKey = keyDatum.has(key) ? `${key}-${i}-${j}` : key;\n keys.push(finalKey);\n keyDatum.set(finalKey, mappingDatum);\n keyIndex.set(finalKey, index);\n index++;\n }\n }\n\n this.elements = new Array(index);\n\n const { added, updated, removed } = diff(this.lastElementsMap, keys);\n\n // 新建 element\n for (const key of added) {\n const mappingDatum = keyDatum.get(key);\n const i = keyIndex.get(key);\n const element = this.createElement(mappingDatum, i, isUpdate);\n this.elements[i] = element;\n this.elementsMap[key] = element;\n if (element.shape) {\n element.shape.setZIndex(this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 更新 element\n for (const key of updated) {\n const element = this.lastElementsMap[key];\n const mappingDatum = keyDatum.get(key);\n const currentShapeCfg = this.getDrawCfg(mappingDatum);\n const preShapeCfg = element.getModel();\n const i = keyIndex.get(key);\n if (this.isCoordinateChanged || isModelChange(currentShapeCfg, preShapeCfg)) {\n element.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n element.update(currentShapeCfg); // 更新对应的 element\n }\n this.elements[i] = element;\n this.elementsMap[key] = element;\n if (element.shape) {\n element.shape.setZIndex(this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 销毁被删除的 elements\n for (const key of removed) {\n const element = this.lastElementsMap[key];\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n element.animate = this.animateOption;\n element.destroy();\n }\n }\n\n /**\n * 获取渲染的 label 类型。\n */\n protected getLabelType(): string {\n const { labelOption, coordinate, type } = this;\n const { type: coordinateType, isTransposed } = coordinate;\n let labelType = get(labelOption, ['cfg', 'type']);\n if (!labelType) {\n // 用户未定义,则进行默认的逻辑\n if (coordinateType === 'polar') {\n // 极坐标下使用通用的极坐标文本,转置则使用饼图\n labelType = isTransposed ? 'pie' : 'polar';\n } else if (coordinateType === 'theta') {\n // theta 坐标系下使用饼图文本\n labelType = 'pie';\n } else if (type === 'interval' || type === 'polygon') {\n labelType = 'interval';\n } else {\n labelType = 'base';\n }\n }\n\n return labelType;\n }\n\n /**\n * 获取 Y 轴上的最小值。\n */\n protected getYMinValue(): number {\n const yScale = this.getYScale();\n const { min, max } = yScale;\n let value: number;\n\n if (min >= 0) {\n value = min;\n } else if (max <= 0) {\n // 当值全位于负区间时,需要保证 ymin 在区域内,不可为 0\n value = max;\n } else {\n value = 0;\n }\n return value;\n }\n\n // 创建图形属性相关的配置项\n protected createAttrOption(attrName: string, field: AttributeOption | string | number, cfg?) {\n if (isNil(field) || isObject(field)) {\n if (isObject(field) && isEqual(Object.keys(field), ['values'])) {\n // shape({ values: [ 'funnel' ] })\n set(this.attributeOption, attrName, {\n fields: field.values,\n });\n } else {\n set(this.attributeOption, attrName, field);\n }\n } else {\n const attrCfg: AttributeOption = {};\n if (isNumber(field)) {\n // size(3)\n attrCfg.values = [field];\n } else {\n attrCfg.fields = parseFields(field);\n }\n\n if (cfg) {\n if (isFunction(cfg)) {\n attrCfg.callback = cfg;\n } else {\n attrCfg.values = cfg;\n }\n }\n\n set(this.attributeOption, attrName, attrCfg);\n }\n }\n\n protected initAttributes() {\n const { attributes, attributeOption, theme, shapeType } = this;\n this.groupScales = [];\n const tmpMap = {};\n\n // 遍历每一个 attrOption,各自创建 Attribute 实例\n for (const attrType in attributeOption) {\n if (attributeOption.hasOwnProperty(attrType)) {\n const option: AttributeOption = attributeOption[attrType];\n if (!option) {\n return;\n }\n const attrCfg: AttributeInstanceCfg = {\n ...option,\n };\n const { callback, values, fields = [] } = attrCfg;\n\n // 获取每一个字段对应的 scale\n const scales = fields.map((field) => {\n const scale = this.scales[field];\n if (scale.isCategory && !tmpMap[field] && GROUP_ATTRS.includes(attrType)) {\n this.groupScales.push(scale);\n tmpMap[field] = true;\n }\n return scale;\n });\n\n attrCfg.scales = scales;\n\n if (attrType !== 'position' && scales.length === 1 && scales[0].type === 'identity') {\n // 用户在图形通道上声明了常量字段 color('red'), size(5)\n attrCfg.values = scales[0].values;\n } else if (!callback && !values) {\n // 用户没有指定任何规则,则使用默认的映射规则\n if (attrType === 'size') {\n attrCfg.values = theme.sizes;\n } else if (attrType === 'shape') {\n attrCfg.values = theme.shapes[shapeType] || [];\n } else if (attrType === 'color') {\n if (scales.length) {\n // 根据数值个数使用对应的色板\n attrCfg.values = scales[0].values.length <= 10 ? theme.colors10 : theme.colors20;\n } else {\n attrCfg.values = theme.colors10;\n }\n }\n }\n const AttributeCtor = getAttributeClass(attrType);\n attributes[attrType] = new AttributeCtor(attrCfg);\n }\n }\n }\n\n // 处理数据:分组 -> 数字化 -> adjust 调整\n private processData(data: Data) {\n this.hasSorted = false;\n const { scales } = this.getAttribute('position');\n const categoryScales = scales.filter((scale: Scale) => scale.isCategory);\n\n const groupedArray = this.groupData(data); // 数据分组\n const beforeAdjust = [];\n for (let i = 0, len = groupedArray.length; i < len; i++) {\n const subData = groupedArray[i];\n const arr = [];\n for (let j = 0, subLen = subData.length; j < subLen; j++) {\n const originData = subData[j];\n const item = {};\n // tslint:disable-next-line: forin\n for (const k in originData) {\n item[k] = originData[k];\n }\n item[FIELD_ORIGIN] = originData;\n\n // 将分类数据翻译成数据, 仅对位置相关的度量进行数字化处理\n for (const scale of categoryScales) {\n const field = scale.field;\n item[field] = scale.translate(item[field]);\n }\n arr.push(item);\n }\n beforeAdjust.push(arr);\n }\n\n const dataArray = this.adjustData(beforeAdjust); // 进行 adjust 数据调整\n this.beforeMappingData = dataArray;\n\n return dataArray;\n }\n\n // 调整数据\n private adjustData(dataArray: Data[]): Data[] {\n const adjustOption = this.adjustOption;\n const { intervalPadding, dodgePadding, theme } = this;\n // 兼容theme配置\n const maxColumnWidth = this.maxColumnWidth || theme.maxColumnWidth;\n const minColumnWidth = this.minColumnWidth || theme.minColumnWidth;\n const columnWidthRatio = this.columnWidthRatio || theme.columnWidthRatio;\n let result = dataArray;\n\n if (adjustOption) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field;\n const yField = yScale ? yScale.field : null;\n const xDimensionLength = getXDimensionLength(this.coordinate);\n const groupNum = xScale.values.length;\n // 传入size计算相关参数,默认宽度、最大最小宽度约束\n const sizeAttr = this.getAttribute('size');\n let defaultSize;\n if (sizeAttr) {\n defaultSize = sizeAttr.values[0];\n }\n for (let i = 0, len = adjustOption.length; i < len; i++) {\n const adjust = adjustOption[i];\n const adjustCfg: AdjustInstanceCfg = {\n xField,\n yField,\n intervalPadding,\n dodgePadding,\n xDimensionLength,\n groupNum,\n defaultSize,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n ...adjust,\n };\n const type = adjust.type;\n if (type === 'dodge') {\n const adjustNames = [];\n if (xScale.isCategory || xScale.type === 'identity') {\n adjustNames.push('x');\n } else if (!yScale) {\n adjustNames.push('y');\n } else {\n throw new Error('dodge is not support linear attribute, please use category attribute!');\n }\n adjustCfg.adjustNames = adjustNames;\n // 每个分组内每条柱子的宽度占比,用户不可指定,用户需要通过 columnWidthRatio 指定\n // 兼容theme配置\n adjustCfg.dodgeRatio = columnWidthRatio;\n } else if (type === 'stack') {\n const coordinate = this.coordinate;\n if (!yScale) {\n // 一维的情况下获取高度和默认size\n adjustCfg.height = coordinate.getHeight();\n const size = this.getDefaultValue('size') || 3;\n adjustCfg.size = size;\n }\n // 不进行 transpose 时,用户又没有设置这个参数时,默认从上向下\n if (!coordinate.isTransposed && isNil(adjustCfg.reverseOrder)) {\n adjustCfg.reverseOrder = true;\n }\n }\n const adjustCtor = getAdjustClass(type);\n const adjustInstance = new adjustCtor(adjustCfg);\n\n result = adjustInstance.process(result);\n\n this.adjusts[type] = adjustInstance;\n }\n }\n\n return result;\n }\n\n // 对数据进行分组\n private groupData(data: Data): Data[] {\n const groupScales = this.getGroupScales();\n const scaleDefs = this.scaleDefs;\n const appendConditions = {};\n const groupFields = [];\n for (let index = 0; index < groupScales.length; index++) {\n const scale = groupScales[index];\n const field = scale.field;\n groupFields.push(field);\n if (get(scaleDefs, [field, 'values'])) {\n // 用户通过 view.scale() 接口指定了 values 属性\n appendConditions[field] = scaleDefs[field].values;\n }\n }\n\n return group(data, groupFields, appendConditions);\n }\n\n // 更新发生层叠后的数据对应的度量范围\n private updateStackRange(scale: Scale, dataArray: Data[]) {\n const mergeArray = flatten(dataArray);\n const field = scale.field;\n let min = scale.min;\n let max = scale.max;\n for (let index = 0; index < mergeArray.length; index++) {\n const obj = mergeArray[index];\n const tmpMin = Math.min.apply(null, obj[field]);\n const tmpMax = Math.max.apply(null, obj[field]);\n if (tmpMin < min) {\n min = tmpMin;\n }\n if (tmpMax > max) {\n max = tmpMax;\n }\n }\n const scaleDefs = this.scaleDefs;\n const cfg: LooseObject = {};\n if (min < scale.min && !get(scaleDefs, [field, 'min'])) {\n // 用户如果在列定义中定义了 min,则以用户定义的为准\n cfg.min = min;\n }\n if (max > scale.max && !get(scaleDefs, [field, 'max'])) {\n // 用户如果在列定义中定义了 max\n cfg.max = max;\n }\n\n scale.change(cfg);\n }\n\n // 将数据映射至图形空间前的操作:排序以及关键点的生成\n private beforeMapping(beforeMappingData: Data[]) {\n // 当初加 clone 是因为 points 的引用关系,导致更新失败,可是现在貌似复现不出来了,所以暂时不进行 clone\n // const source = clone(beforeMappingData);\n const source = beforeMappingData;\n if (this.sortable) {\n this.sort(source);\n }\n if (this.generatePoints) {\n // 需要生成关键点\n for (let index = 0, length = source.length; index < length; index++) {\n const currentData = source[index];\n this.generateShapePoints(currentData);\n const nextData = source[index + 1];\n if (nextData) {\n this.generateShapePoints(nextData);\n currentData[0].nextPoints = nextData[0].points;\n }\n }\n }\n\n return source;\n }\n\n // 生成 shape 的关键点\n private generateShapePoints(data: Data) {\n const shapeFactory = this.getShapeFactory();\n const shapeAttr = this.getAttribute('shape');\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const cfg = this.createShapePointsCfg(obj);\n const shape = shapeAttr ? this.getAttributeValues(shapeAttr, obj) : null;\n const points = shapeFactory.getShapePoints(shape, cfg);\n obj.points = points;\n }\n }\n\n // 将数据归一化\n private normalizeValues(values, scale) {\n let rst = [];\n if (isArray(values)) {\n for (let index = 0; index < values.length; index++) {\n const value = values[index];\n rst.push(scale.scale(value));\n }\n } else {\n rst = scale.scale(values);\n }\n return rst;\n }\n\n // 将数据映射至图形空间\n private mapping(data: Data): MappingDatum[] {\n const attributes = this.attributes;\n const mappingData = [];\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const newRecord: MappingDatum = {\n _origin: record[FIELD_ORIGIN],\n points: record.points,\n nextPoints: record.nextPoints,\n };\n for (const k in attributes) {\n if (attributes.hasOwnProperty(k)) {\n const attr = attributes[k];\n const names = attr.names;\n const values = this.getAttributeValues(attr, record);\n if (names.length > 1) {\n // position 之类的生成多个字段的属性\n for (let j = 0; j < values.length; j += 1) {\n const val = values[j];\n const name = names[j];\n newRecord[name] = isArray(val) && val.length === 1 ? val[0] : val; // 只有一个值时返回第一个属性值\n }\n } else {\n // values.length === 1 的判断是以下情况,获取用户设置的图形属性值\n // shape('a', ['dot', 'dash']), color('a', ['red', 'yellow'])\n newRecord[names[0]] = values.length === 1 ? values[0] : values;\n }\n }\n }\n\n this.convertPoint(newRecord); // 将 x、y 转换成画布坐标\n mappingData.push(newRecord);\n }\n\n return mappingData;\n }\n\n // 将归一化的坐标值转换成画布坐标\n private convertPoint(mappingRecord: MappingDatum) {\n const { x, y } = mappingRecord;\n\n let rstX;\n let rstY;\n let obj;\n const coordinate = this.coordinate;\n if (isArray(x) && isArray(y)) {\n rstX = [];\n rstY = [];\n for (let i = 0, j = 0, xLen = x.length, yLen = y.length; i < xLen && j < yLen; i += 1, j += 1) {\n obj = coordinate.convert({\n x: x[i],\n y: y[j],\n });\n rstX.push(obj.x);\n rstY.push(obj.y);\n }\n } else if (isArray(y)) {\n rstY = [];\n for (let index = 0; index < y.length; index++) {\n const yVal = y[index];\n obj = coordinate.convert({\n x: x as number,\n y: yVal,\n });\n if (rstX && rstX !== obj.x) {\n if (!isArray(rstX)) {\n rstX = [rstX];\n }\n rstX.push(obj.x);\n } else {\n rstX = obj.x;\n }\n rstY.push(obj.y);\n }\n } else if (isArray(x)) {\n rstX = [];\n for (let index = 0; index < x.length; index++) {\n const xVal = x[index];\n obj = coordinate.convert({\n x: xVal,\n y,\n });\n if (rstY && rstY !== obj.y) {\n if (!isArray(rstY)) {\n rstY = [rstY];\n }\n rstY.push(obj.y);\n } else {\n rstY = obj.y;\n }\n rstX.push(obj.x);\n }\n } else {\n const point = coordinate.convert({\n x,\n y,\n });\n rstX = point.x;\n rstY = point.y;\n }\n mappingRecord.x = rstX;\n mappingRecord.y = rstY;\n }\n\n // 获取 style 配置\n private getStyleCfg(styleOption: StyleOption, originData: Datum) {\n const { fields = [], callback, cfg } = styleOption;\n if (cfg) {\n // 用户直接配置样式属性\n return cfg;\n }\n\n const params = fields.map((field) => {\n return originData[field];\n });\n\n return callback(...params);\n }\n\n private setCfg(cfg: InitCfg) {\n const { coordinate, data, theme, scaleDefs } = cfg;\n if (coordinate) {\n this.coordinate = coordinate;\n }\n if (data) {\n this.data = data;\n }\n if (scaleDefs) {\n this.scaleDefs = scaleDefs;\n this.idFields = [];\n each(scaleDefs, (scaleDef, field) => {\n if (scaleDef && scaleDef.key) {\n this.idFields.push(field);\n }\n });\n }\n if (theme) {\n this.theme = this.userTheme ? deepMix({}, theme, this.userTheme) : theme; // 支持 geometry 层级的主题设置\n }\n }\n\n private renderLabels(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n let geometryLabel = this.geometryLabel;\n\n if (!geometryLabel) {\n // 初次创建\n const labelType = this.getLabelType();\n const GeometryLabelsCtor = getGeometryLabel(labelType);\n geometryLabel = new GeometryLabelsCtor(this);\n this.geometryLabel = geometryLabel;\n }\n geometryLabel.render(mappingArray, isUpdate);\n\n // 将 label 同 element 进行关联\n const labelsMap = geometryLabel.labelsRenderer.shapesMap;\n each(this.elementsMap, (element: Element, id) => {\n const labels = filterLabelsById(id, labelsMap); // element 实例同 label 进行绑定\n if (labels.length) {\n element.labelShape = labels;\n for (let i = 0; i < labels.length; i++) {\n const label = labels[i];\n const labelChildren = label.getChildren();\n for (let j = 0; j < labelChildren.length; j++) {\n const child = labelChildren[j];\n child.cfg.name = ['element', 'label'];\n child.cfg.element = element;\n }\n }\n }\n });\n }\n /**\n * 是否需要进行群组入场动画\n * 规则:\n * 1. 如果发生更新,则不进行\n * 2. 如果用户关闭 geometry 动画,则不进行\n * 3. 如果用户关闭了 appear 动画,则不进行\n * 4. 如果用户配置了 appear.animation,则不进行\n */\n private canDoGroupAnimation(isUpdate: boolean) {\n return (\n !isUpdate &&\n this.animateOption &&\n (get(this.animateOption, 'appear') === undefined ||\n (get(this.animateOption, 'appear') && get(this.animateOption, ['appear', 'animation']) === undefined))\n );\n }\n}\n","import { groupToMap } from '@antv/util';\nimport { Data } from '../../interface';\n\n/** @ignore */\nexport function group(data: Data, fields: string[], appendConditions: Record = {}) {\n if (!fields) {\n return [data];\n }\n const groups = groupToMap(data, fields);\n const array = [];\n if (fields.length === 1 && appendConditions[fields[0]]) {\n const values = appendConditions[fields[0]];\n for (const value of values) {\n const arr = groups[`_${value}`];\n if (arr) {\n // 可能存在用户设置 values ,但是数据中没有对应的字段,则这时候 arr 就为 null\n array.push(arr);\n }\n }\n } else {\n for (const k in groups) {\n if (groups.hasOwnProperty(k)) {\n const eachGroup = groups[k];\n array.push(eachGroup);\n }\n }\n }\n\n return array;\n}\n","import { ext } from '@antv/matrix-util';\nimport { IElement, IGroup, IShape } from '../dependents';\n\nconst transform: (m: number[], actions: any[][]) => number[] = ext.transform;\n\nexport { transform };\n\n/**\n * 对元素进行平移操作。\n * @param element 进行变换的元素\n * @param x x 方向位移\n * @param y y 方向位移\n */\nexport function translate(element: IGroup | IShape, x: number, y: number) {\n const matrix = transform(element.getMatrix(), [['t', x, y]]);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元素旋转矩阵 (以元素的左上角为旋转点)\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function getRotateMatrix(element: IElement, rotateRadian: number) {\n const { x, y } = element.attr();\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['r', rotateRadian],\n ['t', x, y],\n ]);\n return matrix;\n}\n\n/**\n * 对元素进行旋转操作。\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function rotate(element: IGroup | IShape, rotateRadian: number) {\n const matrix = getRotateMatrix(element, rotateRadian);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元矩阵。\n * @returns identity matrix\n */\nexport function getIdentityMatrix(): number[] {\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\n}\n\n/**\n * 围绕图形中心点进行缩放\n * @param element 进行缩放的图形元素\n * @param ratio 缩放比例\n */\nexport function zoom(element: IGroup | IShape, ratio: number) {\n const bbox = element.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n element.applyToMatrix([x, y, 1]);\n\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['s', ratio, ratio],\n ['t', x, y],\n ]);\n element.setMatrix(matrix);\n}\n","/**\n * @file utils of label\n */\n\nimport { isNil, isNumber, some } from '@antv/util';\nimport { IElement, IGroup, BBox } from '../../../dependents';\nimport { rotate } from '../../../util/transform';\nimport { LabelItem } from '../interface';\n\n/**\n * 查找 Label Group 中的文本 shape 对象\n * @param label\n */\nexport function findLabelTextShape(label: IGroup): IElement {\n return label.find((el) => el.get('type') === 'text');\n}\n\n/**\n * 获取标签背景信息: box (无旋转) + rotation (旋转角度)\n */\nexport function getlLabelBackgroundInfo(\n labelGroup: IGroup,\n labelItem: LabelItem,\n padding: number | number[] = [0, 0, 0, 0]\n): { x: number; y: number; width: number; height: number; rotation: number } {\n const content = labelGroup.getChildren()[0];\n if (content) {\n const labelShape = content.clone();\n\n // revert rotate\n if (labelItem?.rotate) {\n rotate(labelShape as IGroup, -labelItem.rotate);\n }\n\n // use `getCanvasBBox`, because if Shape is been translated, `getBBox` is not the actual box position\n const { x, y, width, height } = labelShape.getCanvasBBox();\n\n labelShape.destroy();\n\n let boxPadding = padding;\n if (isNil(boxPadding)) {\n boxPadding = [2, 2, 2, 2];\n } else if (isNumber(boxPadding)) {\n boxPadding = new Array(4).fill(boxPadding);\n }\n\n return {\n x: x - boxPadding[3],\n y: y - boxPadding[0],\n width: width + boxPadding[1] + boxPadding[3],\n height: height + boxPadding[0] + boxPadding[2],\n rotation: labelItem?.rotate || 0,\n };\n }\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nexport function getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/** 检测是否和已布局的堆叠 */\nexport function checkShapeOverlap(cur: IElement, dones: IElement[]) {\n const box = cur.getBBox();\n return some(dones, (done) => {\n const target = done.getBBox();\n return getOverlapArea(box, target, 2) > 0;\n });\n}\n","import { deepMix, each, get, isArray, isNull } from '@antv/util';\nimport { BBox, Coordinate, IGroup, IShape } from '../dependents';\nimport { LabelItem } from '../geometry/label/interface';\nimport { AnimateOption, GeometryLabelLayoutCfg } from '../interface';\nimport { doAnimate } from '../animate';\nimport { getGeometryLabelLayout } from '../geometry/label';\nimport { getlLabelBackgroundInfo } from '../geometry/label/util';\nimport { polarToCartesian } from '../util/graphics';\nimport { rotate, translate } from '../util/transform';\nimport { FIELD_ORIGIN } from '../constant';\nimport { updateLabel } from './update-label';\n\n/**\n * Labels 实例创建时,传入构造函数的参数定义\n */\nexport interface LabelsGroupCfg {\n /** label 容器 */\n container: IGroup;\n /** label 布局配置 */\n layout?: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n}\n\n/**\n * Geometry labels 渲染组件\n */\nexport default class Labels {\n /** 用于指定 labels 布局的类型 */\n public layout: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n /** 图形容器 */\n public container: IGroup;\n /** 动画配置 */\n public animate: AnimateOption | false;\n /** label 绘制的区域 */\n public region: BBox;\n\n /** 存储当前 shape 的映射表,键值为 shape id */\n public shapesMap: Record = {};\n private lastShapesMap: Record = {};\n\n constructor(cfg: LabelsGroupCfg) {\n const { layout, container } = cfg;\n\n this.layout = layout;\n this.container = container;\n }\n\n /**\n * 渲染文本\n */\n public render(items: LabelItem[], shapes: Record, isUpdate: boolean = false) {\n this.shapesMap = {};\n const container = this.container;\n const offscreenGroup = this.createOffscreenGroup(); // 创建虚拟分组\n if (items.length) {\n // 如果 items 空的话就不进行绘制调整操作\n // step 1: 在虚拟 group 中创建 shapes\n for (const item of items) {\n if (item) {\n this.renderLabel(item, offscreenGroup);\n }\n }\n // step 2: 根据布局,调整 labels\n this.doLayout(items, shapes);\n // step 3.1: 绘制 labelLine\n this.renderLabelLine(items);\n // step 3.2: 绘制 labelBackground\n this.renderLabelBackground(items);\n // step 4: 根据用户设置的偏移量调整 label\n this.adjustLabel(items);\n }\n\n // 进行添加、更新、销毁操作\n const lastShapesMap = this.lastShapesMap;\n const shapesMap = this.shapesMap;\n each(shapesMap, (shape, id) => {\n if (shape.destroyed) {\n // label 在布局调整环节被删除了(doLayout)\n delete shapesMap[id];\n } else {\n if (lastShapesMap[id]) {\n // 图形发生更新\n const data = shape.get('data');\n const origin = shape.get('origin');\n const coordinate = shape.get('coordinate');\n const currentAnimateCfg = shape.get('animateCfg');\n\n const currentShape = lastShapesMap[id]; // 已经在渲染树上的 shape\n updateLabel(currentShape, shapesMap[id], {\n data,\n origin,\n animateCfg: currentAnimateCfg,\n coordinate,\n });\n\n this.shapesMap[id] = currentShape; // 保存引用\n } else {\n // 新生成的 shape\n container.add(shape);\n\n const animateCfg = get(shape.get('animateCfg'), isUpdate ? 'enter' : 'appear');\n if (animateCfg) {\n doAnimate(shape, animateCfg, {\n toAttrs: {\n ...shape.attr(),\n },\n coordinate: shape.get('coordinate'),\n });\n }\n }\n delete lastShapesMap[id];\n }\n });\n\n // 移除\n each(lastShapesMap, (deleteShape) => {\n const animateCfg = get(deleteShape.get('animateCfg'), 'leave');\n if (animateCfg) {\n doAnimate(deleteShape, animateCfg, {\n toAttrs: null,\n coordinate: deleteShape.get('coordinate'),\n });\n } else {\n deleteShape.remove(true); // 移除\n }\n });\n\n this.lastShapesMap = shapesMap;\n offscreenGroup.destroy();\n }\n\n /** 清除当前 labels */\n public clear() {\n this.container.clear();\n this.shapesMap = {};\n this.lastShapesMap = {};\n }\n\n /** 销毁 */\n public destroy() {\n this.container.destroy();\n this.shapesMap = null;\n this.lastShapesMap = null;\n }\n\n private renderLabel(cfg: LabelItem, container: IGroup) {\n const { id, elementId, data, mappingData, coordinate, animate, content } = cfg;\n const shapeAppendCfg = {\n id,\n elementId,\n data,\n origin: {\n ...mappingData,\n data: mappingData[FIELD_ORIGIN],\n },\n coordinate,\n };\n const labelGroup = container.addGroup({\n name: 'label',\n // 如果 this.animate === false 或者 cfg.animate === false/null 则不进行动画,否则进行动画配置的合并\n animateCfg:\n this.animate === false || animate === null || animate === false ? false : deepMix({}, this.animate, animate),\n ...shapeAppendCfg,\n });\n let labelShape;\n if ((content.isGroup && content.isGroup()) || (content.isShape && content.isShape())) {\n // 如果 content 是 Group 或者 Shape,根据 textAlign 调整位置后,直接将其加入 labelGroup\n const { width, height } = content.getCanvasBBox();\n const textAlign = get(cfg, 'textAlign', 'left');\n\n let x = cfg.x;\n const y = cfg.y - height / 2;\n\n if (textAlign === 'center') {\n x = x - width / 2;\n } else if (textAlign === 'right' || textAlign === 'end') {\n x = x - width;\n }\n\n translate(content, x, y); // 将 label 平移至 x, y 指定的位置\n labelShape = content;\n labelGroup.add(content);\n } else {\n const fill = get(cfg, ['style', 'fill']);\n labelShape = labelGroup.addShape('text', {\n attrs: {\n x: cfg.x,\n y: cfg.y,\n textAlign: cfg.textAlign,\n textBaseline: get(cfg, 'textBaseline', 'middle'),\n text: cfg.content,\n ...cfg.style,\n fill: isNull(fill) ? cfg.color : fill,\n },\n ...shapeAppendCfg,\n });\n }\n\n if (cfg.rotate) {\n rotate(labelShape, cfg.rotate);\n }\n this.shapesMap[id] = labelGroup;\n }\n\n // 根据type对label布局\n private doLayout(items: LabelItem[], shapes: Record) {\n if (this.layout) {\n const layouts = isArray(this.layout) ? this.layout : [this.layout];\n each(layouts, (layout: GeometryLabelLayoutCfg) => {\n const layoutFn = getGeometryLabelLayout(get(layout, 'type', ''));\n if (layoutFn) {\n const labelShapes = [];\n const geometryShapes = [];\n each(this.shapesMap, (labelShape, id) => {\n labelShapes.push(labelShape);\n geometryShapes.push(shapes[labelShape.get('elementId')]);\n });\n\n layoutFn(items, labelShapes, geometryShapes, this.region, layout.cfg);\n }\n });\n }\n }\n\n private renderLabelLine(labelItems: LabelItem[]) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n if (!labelItem || !coordinate) {\n return;\n }\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n if (!labelItem.labelLine) {\n // labelLine: null | false,关闭 label 对应的 labelLine\n return;\n }\n const labelLineCfg = get(labelItem, 'labelLine', {});\n const id = labelItem.id;\n let path = labelLineCfg.path;\n if (!path) {\n const start = polarToCartesian(center.x, center.y, radius, labelItem.angle);\n path = [\n ['M', start.x, start.y],\n ['L', labelItem.x, labelItem.y],\n ];\n }\n const labelGroup = this.shapesMap[id];\n if (!labelGroup.destroyed) {\n labelGroup.addShape('path', {\n capture: false, // labelLine 默认不参与事件捕获\n attrs: {\n path,\n stroke: labelItem.color ? labelItem.color : get(labelItem, ['style', 'fill'], '#000'),\n fill: null,\n ...labelLineCfg.style,\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n }\n });\n }\n\n /**\n * 绘制标签背景\n * @param labelItems\n */\n private renderLabelBackground(labelItems: LabelItem[]) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n const background: LabelItem['background'] = get(labelItem, 'background');\n if (!background || !coordinate) {\n return;\n }\n\n const id = labelItem.id;\n const labelGroup = this.shapesMap[id];\n if (!labelGroup.destroyed) {\n const labelContentShape = labelGroup.getChildren()[0];\n if (labelContentShape) {\n const { rotation, ...box } = getlLabelBackgroundInfo(labelGroup, labelItem, background.padding);\n const backgroundShape = labelGroup.addShape('rect', {\n attrs: {\n ...box,\n ...(background.style || {}),\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n backgroundShape.setZIndex(-1);\n\n if (rotation) {\n const matrix = labelContentShape.getMatrix();\n backgroundShape.setMatrix(matrix);\n }\n }\n }\n });\n }\n\n private createOffscreenGroup() {\n const container = this.container;\n const GroupClass = container.getGroupBase(); // 获取分组的构造函数\n const newGroup = new GroupClass({});\n return newGroup;\n }\n\n private adjustLabel(items: LabelItem[]) {\n each(items, (item) => {\n if (item) {\n const id = item.id;\n const labelGroup = this.shapesMap[id];\n if (!labelGroup.destroyed) {\n // fix: 如果说开发者的 label content 是一个 group,此处的偏移无法对 整个 content group 生效;场景类似 饼图 spider label 是一个含 2 个 textShape 的 gorup\n const labelShapes = labelGroup.findAll((ele) => ele.get('type') !== 'path');\n each(labelShapes, (labelShape) => {\n if (labelShape) {\n if (item.offsetX) {\n labelShape.attr('x', labelShape.attr('x') + item.offsetX);\n }\n if (item.offsetY) {\n labelShape.attr('y', labelShape.attr('y') + item.offsetY);\n }\n }\n });\n }\n }\n });\n }\n}\n","import { Coordinate } from '@antv/coord';\nimport { IGroup, IShape } from '@antv/g-base';\nimport { each, get } from '@antv/util';\nimport { doAnimate } from '../animate';\nimport { getReplaceAttrs } from '../util/graphics';\n\n/** label 的必要配置 */\ntype Cfg = {\n data: any;\n origin: any;\n animateCfg: any;\n coordinate: Coordinate;\n};\n\n/**\n * @desc 更新 label (目前没有根据 id 索引,还是会存在一点小问题的,只能根据 idx 索引)\n * @done shape 属性更新\n * @done shape delete\n * @done shape append\n *\n * @param fromShape old labelShape\n * @param toShape new labelShape\n * @param cfg\n */\nexport function updateLabel(fromShape: IGroup, toShape: IGroup, cfg: Cfg): void {\n const { data, origin, animateCfg, coordinate } = cfg;\n const updateAnimateCfg = get(animateCfg, 'update');\n\n fromShape.set('data', data);\n fromShape.set('origin', origin);\n fromShape.set('animateCfg', animateCfg);\n fromShape.set('coordinate', coordinate);\n fromShape.set('visible', toShape.get('visible'));\n\n fromShape.getChildren().forEach((fromChild, idx) => {\n const toChild = toShape.getChildByIndex(idx) as IShape;\n if (!toChild) {\n fromShape.removeChild(fromChild);\n fromChild.remove(true);\n } else {\n fromChild.set('data', data);\n fromChild.set('origin', origin);\n fromChild.set('animateCfg', animateCfg);\n fromChild.set('coordinate', coordinate);\n\n const newAttrs = getReplaceAttrs(fromChild as IShape, toChild);\n if (updateAnimateCfg) {\n doAnimate(fromChild as IShape, updateAnimateCfg, {\n toAttrs: newAttrs,\n coordinate,\n });\n } else {\n fromChild.attr(newAttrs);\n }\n if (toChild.isGroup()) {\n updateLabel(fromChild as any, toChild as any, cfg);\n }\n }\n });\n\n // append\n each(toShape.getChildren(), (child, idx) => {\n if (idx >= fromShape.getCount()) {\n if (!child.destroyed) {\n fromShape.add(child);\n }\n }\n });\n}\n","import { deepMix, each, get, isArray, isFunction, isNil, isNumber, isString, isUndefined } from '@antv/util';\n\nimport { FIELD_ORIGIN } from '../../constant';\nimport { Scale } from '../../dependents';\nimport { Datum, LabelOption, MappingDatum, Point } from '../../interface';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\nimport { getDefaultAnimateCfg } from '../../animate';\nimport { getPolygonCentroid } from '../../util/graphics';\n\nimport Labels from '../../component/labels';\nimport Geometry from '../base';\nimport Element from '../element';\n\nexport type GeometryLabelConstructor = new (cfg: any) => GeometryLabel;\n\nfunction avg(arr: number[]) {\n let sum = 0;\n each(arr, (value: number) => {\n sum += value;\n });\n return sum / arr.length;\n}\n\n/**\n * Geometry Label 基类,用于生成 Geometry 下所有 label 的配置项信息\n */\nexport default class GeometryLabel {\n /** geometry 实例 */\n public readonly geometry: Geometry;\n public labelsRenderer: Labels;\n /** 默认的布局 */\n public defaultLayout: string;\n\n constructor(geometry: Geometry) {\n this.geometry = geometry;\n }\n\n public getLabelItems(mapppingArray: MappingDatum[]): LabelItem[] {\n const items = [];\n const labelCfgs = this.getLabelCfgs(mapppingArray);\n // 获取 label 相关的 x,y 的值,获取具体的 x, y,防止存在数组\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const labelCfg = labelCfgs[index];\n if (!labelCfg || isNil(mappingData.x) || isNil(mappingData.y)) {\n items.push(null);\n return;\n }\n\n const labelContent = !isArray(labelCfg.content) ? [labelCfg.content] : labelCfg.content;\n labelCfg.content = labelContent;\n const total = labelContent.length;\n each(labelContent, (content, subIndex) => {\n if (isNil(content) || content === '') {\n items.push(null);\n return;\n }\n\n const item = {\n ...labelCfg,\n ...this.getLabelPoint(labelCfg, mappingData, subIndex),\n };\n if (!item.textAlign) {\n item.textAlign = this.getLabelAlign(item, subIndex, total);\n }\n\n if (item.offset <= 0) {\n item.labelLine = null;\n }\n\n items.push(item);\n });\n });\n return items;\n }\n\n public render(mapppingArray: MappingDatum[], isUpdate: boolean = false) {\n const labelItems = this.getLabelItems(mapppingArray);\n const labelsRenderer = this.getLabelsRenderer();\n const shapes = this.getGeometryShapes();\n // 渲染文本\n labelsRenderer.render(labelItems, shapes, isUpdate);\n }\n\n public clear() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.clear();\n }\n }\n\n public destroy() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.destroy();\n }\n this.labelsRenderer = null;\n }\n\n // geometry 更新之后,对应的 Coordinate 也会更新,为了获取到最新鲜的 Coordinate,故使用方法获取\n public getCoordinate() {\n return this.geometry.coordinate;\n }\n\n /**\n * 获取 label 的默认配置\n */\n protected getDefaultLabelCfg(offset?: number, position?: string) {\n const geometry = this.geometry;\n const { type, theme } = geometry;\n\n if (\n type === 'polygon' ||\n (type === 'interval' && position === 'middle') ||\n (offset < 0 && !['line', 'point', 'path'].includes(type))\n ) {\n // polygon 或者 (interval 且 middle) 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n return get(theme, 'innerLabels', {});\n }\n\n return get(theme, 'labels', {});\n }\n\n /**\n * 获取当前 label 的最终配置\n * @param labelCfg\n */\n protected getThemedLabelCfg(labelCfg: LabelCfg) {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { type, theme } = geometry;\n let themedLabelCfg;\n\n if (type === 'polygon' || (labelCfg.offset < 0 && !['line', 'point', 'path'].includes(type))) {\n // polygon 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n themedLabelCfg = deepMix({}, defaultLabelCfg, theme.innerLabels, labelCfg);\n } else {\n themedLabelCfg = deepMix({}, defaultLabelCfg, theme.labels, labelCfg);\n }\n\n return themedLabelCfg;\n }\n\n /**\n * 设置 label 位置\n * @param labelPointCfg\n * @param mappingData\n * @param index\n * @param position\n */\n protected setLabelPosition(\n labelPointCfg: LabelPointCfg,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {}\n\n /**\n * @desc 获取 label offset\n */\n protected getLabelOffset(offset: number | string): number {\n const coordinate = this.getCoordinate();\n const vector = this.getOffsetVector(offset);\n return coordinate.isTransposed ? vector[0] : vector[1];\n }\n\n /**\n * 获取每个 label 的偏移量 (矢量)\n * @param labelCfg\n * @param index\n * @param total\n * @return {Point} offsetPoint\n */\n protected getLabelOffsetPoint(labelCfg: LabelCfg, index: number, total: number): Point {\n const offset = labelCfg.offset;\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const factor = transposed ? 1 : -1; // y 方向上越大,像素的坐标越小,所以transposed时将系数变成\n const offsetPoint = {\n x: 0,\n y: 0,\n };\n if (index > 0 || total === 1) {\n // 判断是否小于0\n offsetPoint[dim] = offset * factor;\n } else {\n offsetPoint[dim] = offset * factor * -1;\n }\n return offsetPoint;\n }\n\n /**\n * 获取每个 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n * @returns label point\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n const coordinate = this.getCoordinate();\n const total = labelCfg.content.length;\n\n function getDimValue(value: number | number[], idx: number, isAvg = false) {\n let v = value;\n if (isArray(v)) {\n if (labelCfg.content.length === 1) {\n if (isAvg) {\n v = avg(v);\n } else {\n // 如果仅一个 label,多个 y, 取最后一个 y\n if (v.length <= 2) {\n v = v[(value as number[]).length - 1];\n } else {\n v = avg(v);\n }\n }\n } else {\n v = v[idx];\n }\n }\n return v;\n }\n\n const label = {\n content: labelCfg.content[index],\n x: 0,\n y: 0,\n start: { x: 0, y: 0 },\n color: '#fff',\n };\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n const isFunnel = shape === 'funnel' || shape === 'pyramid';\n\n // 多边形场景,多用于地图\n if (this.geometry.type === 'polygon') {\n const centroid = getPolygonCentroid(mappingData.x, mappingData.y);\n label.x = centroid[0];\n label.y = centroid[1];\n } else if (this.geometry.type === 'interval' && !isFunnel) {\n // 对直方图的label X 方向的位置居中\n label.x = getDimValue(mappingData.x, index, true);\n label.y = getDimValue(mappingData.y, index);\n } else {\n label.x = getDimValue(mappingData.x, index);\n label.y = getDimValue(mappingData.y, index);\n }\n\n // 处理漏斗图文本位置\n if (isFunnel) {\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(nextPoints[1] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n } else if (shape === 'pyramid') {\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(points[2] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n }\n }\n\n if (labelCfg.position) {\n // 如果 label 支持 position 属性\n this.setLabelPosition(label, mappingData, index, labelCfg.position);\n }\n const offsetPoint = this.getLabelOffsetPoint(labelCfg, index, total);\n label.start = { x: label.x, y: label.y };\n label.x += offsetPoint.x;\n label.y += offsetPoint.y;\n label.color = mappingData.color;\n return label;\n }\n\n /**\n * 获取文本的对齐方式\n * @param item\n * @param index\n * @param total\n * @returns\n */\n protected getLabelAlign(item: LabelItem, index: number, total: number): TextAlign {\n let align: TextAlign = 'center';\n const coordinate = this.getCoordinate();\n if (coordinate.isTransposed) {\n const offset = item.offset;\n if (offset < 0) {\n align = 'right';\n } else if (offset === 0) {\n align = 'center';\n } else {\n align = 'left';\n }\n if (total > 1 && index === 0) {\n if (align === 'right') {\n align = 'left';\n } else if (align === 'left') {\n align = 'right';\n }\n }\n }\n return align;\n }\n\n /**\n * 获取每一个 label 的唯一 id\n * @param mappingData label 对应的图形的绘制数据\n */\n protected getLabelId(mappingData: MappingDatum) {\n const geometry = this.geometry;\n const type = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n\n let labelId = geometry.getElementId(mappingData);\n if (type === 'line' || type === 'area') {\n // 折线图以及区域图,一条线会对应一组数据,即多个 labels,为了区分这些 labels,需要在 line id 的前提下加上 x 字段值\n labelId += ` ${origin[xScale.field]}`;\n } else if (type === 'path') {\n // path 路径图,无序,有可能存在相同 x 不同 y 的情况,需要通过 x y 来确定唯一 id\n labelId += ` ${origin[xScale.field]}-${origin[yScale.field]}`;\n }\n\n return labelId;\n }\n\n // 获取 labels 组件\n private getLabelsRenderer() {\n const { labelsContainer, labelOption, canvasRegion, animateOption } = this.geometry;\n const coordinate = this.geometry.coordinate;\n\n let labelsRenderer = this.labelsRenderer;\n if (!labelsRenderer) {\n labelsRenderer = new Labels({\n container: labelsContainer,\n layout: get(labelOption, ['cfg', 'layout'], {\n type: this.defaultLayout,\n }),\n });\n this.labelsRenderer = labelsRenderer;\n }\n labelsRenderer.region = canvasRegion;\n // 设置动画配置,如果 geometry 的动画关闭了,那么 label 的动画也会关闭\n labelsRenderer.animate = animateOption ? getDefaultAnimateCfg('label', coordinate) : false;\n\n return labelsRenderer;\n }\n\n private getLabelCfgs(mapppingArray: MappingDatum[]): LabelCfg[] {\n const geometry = this.geometry;\n const { labelOption, scales, coordinate } = geometry;\n const { fields, callback, cfg } = labelOption as LabelOption;\n const labelScales = fields.map((field: string) => {\n return scales[field];\n });\n\n const labelCfgs: LabelCfg[] = [];\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n const originText = this.getLabelText(origin, labelScales);\n let callbackCfg;\n if (callback) {\n // 当同时配置了 callback 和 cfg 时,以 callback 为准\n const originValues = fields.map((field: string) => origin[field]);\n callbackCfg = callback(...originValues);\n if (isNil(callbackCfg)) {\n labelCfgs.push(null);\n return;\n }\n }\n\n let labelCfg = {\n id: this.getLabelId(mappingData), // 进行 ID 标记\n elementId: this.geometry.getElementId(mappingData), // label 对应 Element 的 ID\n data: origin, // 存储原始数据\n mappingData, // 存储映射后的数据,\n coordinate, // 坐标系\n ...cfg,\n ...callbackCfg,\n };\n\n if (isFunction(labelCfg.position)) {\n labelCfg.position = labelCfg.position(origin, mappingData, index);\n }\n\n const offset = this.getLabelOffset(labelCfg.offset || 0);\n // defaultCfg 需要判断 innerLabels & labels\n const defaultLabelCfg = this.getDefaultLabelCfg(offset, labelCfg.position);\n // labelCfg priority: defaultCfg < cfg < callbackCfg\n labelCfg = deepMix({}, defaultLabelCfg, labelCfg);\n // 获取最终的 offset\n labelCfg.offset = this.getLabelOffset(labelCfg.offset || 0);\n\n const content = labelCfg.content;\n if (isFunction(content)) {\n labelCfg.content = content(origin, mappingData, index);\n } else if (isUndefined(content)) {\n // 用户未配置 content,则默认为映射的第一个字段的值\n labelCfg.content = originText[0];\n }\n\n labelCfgs.push(labelCfg);\n });\n\n return labelCfgs;\n }\n\n private getLabelText(origin: Datum, scales: Scale[]) {\n const labelTexts = [];\n each(scales, (scale: Scale) => {\n let value = origin[scale.field];\n if (isArray(value)) {\n value = value.map((subVal) => {\n return scale.getText(subVal);\n });\n } else {\n value = scale.getText(value);\n }\n\n if (isNil(value) || value === '') {\n labelTexts.push(null);\n } else {\n labelTexts.push(value);\n }\n });\n return labelTexts;\n }\n\n private getOffsetVector(offset: number | string = 0) {\n const coordinate = this.getCoordinate();\n let actualOffset = 0;\n if (isNumber(offset)) {\n actualOffset = offset;\n }\n // 如果 x,y 翻转,则偏移 x,否则偏移 y\n return coordinate.isTransposed ? coordinate.applyMatrix(actualOffset, 0) : coordinate.applyMatrix(0, actualOffset);\n }\n\n private getGeometryShapes() {\n const geometry = this.geometry;\n const shapes = {};\n each(geometry.elementsMap, (element: Element, id: string) => {\n shapes[id] = element.shape;\n });\n // 因为有可能 shape 还在进行动画,导致 shape.getBBox() 获取到的值不是最终态,所以需要从 offscreenGroup 获取\n each(geometry.getOffscreenGroup().getChildren(), (child) => {\n const id = geometry.getElementId(child.get('origin').mappingData);\n shapes[id] = child;\n });\n\n return shapes;\n }\n}\n","import { Attribute } from '../dependents';\n\n/**\n * @ignore\n * get the mapping value by attribute, if mapping value is nil, return def\n * @param attr\n * @param value\n * @param def\n * @returns get mapping value\n */\nexport function getMappingValue(attr: Attribute, value: any, def: string): string {\n if (!attr) {\n return def;\n }\n\n let r;\n // 多参数映射,阻止程序报错\n if (attr.callback && attr.callback.length > 1) {\n const restArgs = Array(attr.callback.length - 1).fill('');\n r = attr.mapping(value, ...restArgs).join('');\n } else {\n r = attr.mapping(value).join('');\n }\n\n return r || def;\n}\n","/** @ignore */\nexport const MarkerSymbols = {\n hexagon: (x: number, y: number, r: number) => {\n const diffX = (r / 2) * Math.sqrt(3);\n return [\n ['M', x, y - r],\n ['L', x + diffX, y - r / 2],\n ['L', x + diffX, y + r / 2],\n ['L', x, y + r],\n ['L', x - diffX, y + r / 2],\n ['L', x - diffX, y - r / 2],\n ['Z'],\n ];\n },\n bowtie: (x: number, y: number, r: number) => {\n const diffY = r - 1.5;\n return [['M', x - r, y - diffY], ['L', x + r, y + diffY], ['L', x + r, y - diffY], ['L', x - r, y + diffY], ['Z']];\n },\n cross: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y - r],\n ['L', x + r, y + r],\n ['M', x + r, y - r],\n ['L', x - r, y + r],\n ];\n },\n tick: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n plus: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n hyphen: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n};\n","import { LegendMarkerCfg } from '@antv/component';\nimport { deepMix, isString, each, get, isFunction } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { Attribute, ShapeAttrs, Tick } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { LegendCfg, LegendItem, MarkerCfg } from '../interface';\nimport { getMappingValue } from './attr';\nimport { omit } from './helper';\nimport { MarkerSymbols } from './marker';\n\n/** 线条形 marker symbol */\nconst STROKES_SYMBOLS = ['line', 'cross', 'tick', 'plus', 'hyphen'];\n\n/**\n * 处理用户配置的 marker style\n * @param markerStyle\n * @param userMarker.style\n * @returns {ShapeAttrs} newStyle\n */\nfunction handleUserMarkerStyle(markerStyle: ShapeAttrs, style: MarkerCfg['style']): ShapeAttrs {\n if (isFunction(style)) {\n return style(markerStyle);\n }\n return deepMix({}, markerStyle, style);\n}\n\n/**\n * 根据 marker 是否为线条形 symbol, 来调整下样式\n * @param symbol\n * @param style\n * @param color\n */\nfunction adpatorMarkerStyle(marker: LegendMarkerCfg, color: string): void {\n const symbol = marker.symbol;\n if (isString(symbol) && STROKES_SYMBOLS.indexOf(symbol) !== -1) {\n const markerStyle = get(marker, 'style', {});\n const lineWidth = get(markerStyle, 'lineWidth', 1);\n const stroke = markerStyle.stroke || markerStyle.fill || color;\n marker.style = deepMix({}, marker.style, { lineWidth, stroke, fill: null });\n }\n}\n\n/**\n * 设置 marker 的 symbol,将 字符串的 symbol 转换为真正的绘制命令\n * @param marker\n */\nfunction setMarkerSymbol(marker: LegendMarkerCfg): void {\n const symbol = marker.symbol;\n if (isString(symbol) && MarkerSymbols[symbol]) {\n marker.symbol = MarkerSymbols[symbol];\n }\n}\n\n/**\n * @ignore\n * get the legend layout from direction\n * @param direction\n * @returns layout 'horizontal' | 'vertical'\n */\nexport function getLegendLayout(direction: DIRECTION): 'vertical' | 'horizontal' {\n return direction.startsWith(DIRECTION.LEFT) || direction.startsWith(DIRECTION.RIGHT) ? 'vertical' : 'horizontal';\n}\n\n/** item of @antv/component legend */\ntype ComponentLegendItem = Omit & {\n marker: any;\n};\n\n/**\n * @ignore\n * get the legend items\n * @param view\n * @param geometry\n * @param attr\n * @param themeMarker\n * @param markerCfg\n * @returns legend items\n */\nexport function getLegendItems(\n view: View,\n geometry: Geometry,\n attr: Attribute,\n themeMarker: object,\n userMarker: LegendCfg['marker']\n): ComponentLegendItem[] {\n const scale = attr.getScale(attr.type);\n if (scale.isCategory) {\n const field = scale.field;\n const colorAttr = geometry.getAttribute('color');\n const shapeAttr = geometry.getAttribute('shape');\n const defaultColor = view.getTheme().defaultColor;\n const isInPolar = geometry.coordinate.isPolar;\n\n return scale.getTicks().map((tick: Tick, index: number) => {\n const { text, value: scaleValue } = tick;\n const name = text;\n const value = scale.invert(scaleValue);\n\n // 通过过滤图例项的数据,来看是否 unchecked\n let unchecked = view.filterFieldData(field, [{ [field]: value }]).length === 0;\n each(view.views, (subView) => {\n if (!subView.filterFieldData(field, [{ [field]: value }]).length) {\n unchecked = true;\n }\n });\n\n // @ts-ignore\n const color = getMappingValue(colorAttr, value, defaultColor);\n const shape = getMappingValue(shapeAttr, value, 'point');\n let marker = geometry.getShapeMarker(shape, {\n color,\n isInPolar,\n });\n\n let markerCfg = userMarker;\n if (isFunction(markerCfg)) {\n markerCfg = markerCfg(name, index, { name, value, ...deepMix({}, themeMarker, marker) });\n }\n\n // the marker configure order should be ensure\n marker = deepMix({}, themeMarker, marker, omit({ ...markerCfg }, ['style']));\n adpatorMarkerStyle(marker, color);\n if (markerCfg && markerCfg.style) {\n // handle user's style settings\n marker.style = handleUserMarkerStyle(marker.style, markerCfg.style);\n }\n setMarkerSymbol(marker);\n\n return { id: value, name, value, marker, unchecked };\n });\n }\n return [];\n}\n\n/**\n *\n * @ignore\n * custom legend 的 items 获取\n * @param themeMarker\n * @param userMarker\n * @param customItems\n */\nexport function getCustomLegendItems(themeMarker: object, userMarker: object, customItems: LegendItem[]) {\n // 如果有自定义的 item,那么就直接使用,并合并主题的 marker 配置\n return customItems.map((item: LegendItem, index: number) => {\n let markerCfg = userMarker;\n if (isFunction(markerCfg)) {\n markerCfg = markerCfg(item.name, index, deepMix({}, themeMarker, item));\n }\n\n const itemMarker = isFunction(item.marker)\n ? item.marker(item.name, index, deepMix({}, themeMarker, item))\n : item.marker;\n\n const marker = deepMix({}, themeMarker, markerCfg, itemMarker);\n setMarkerSymbol(marker);\n\n item.marker = marker;\n return item;\n });\n}\n\n/**\n * get the legend cfg from theme, will mix the common cfg of legend theme\n *\n * @param theme view theme object\n * @param direction legend direction\n * @returns legend theme cfg\n */\nexport function getLegendThemeCfg(theme: object, direction: string): object {\n const legendTheme = get(theme, ['components', 'legend'], {});\n return deepMix({}, get(legendTheme, ['common'], {}), deepMix({}, get(legendTheme, [direction], {})));\n}\n","import { isArray } from '@antv/util';\nimport { PathCommand } from '../../../dependents';\nimport { Point, RangePoint, ShapeVertices } from '../../../interface';\nimport { getSplinePath } from './path';\n\nfunction isValueEmpty(value) {\n if (value) {\n return false;\n }\n return value === null || value === undefined || isNaN(value);\n}\n\nfunction isYNil(point: Point[] | RangePoint) {\n if (isArray(point)) {\n // 特殊处理 area 的关键点数据,其关键点结构为 [{x: 0, y: 1}, {x: 0, y: 2}]\n return isValueEmpty(point[1].y);\n }\n const value = point.y;\n return isArray(value) ? isValueEmpty(value[0]) : isValueEmpty(value);\n}\n\n/**\n * @ignore\n * 分割数据,用于处理在一组点数据中,y 对应的数值存在 null/undefined/NaN 的情况\n * 应用于折线图、区域图以及路径图\n *\n * ```typescript\n * // return [[{x: 1, y: 2}, {x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], true);\n * // return [[{x: 1, y: 2}], [{x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], false);\n * // return [[[{ x: 1, y: 10 }, { x: 2, y: 2 }], [{ x: 9, y: 34 }, { x: 1, y: 1 }]]]\n * getPathPoints([\n * [{ x: 1, y: 10 }, { x: 2, y: 2 }],\n * [{ x: 4, y: 2 }, { x: 8, y: NaN }],\n * [{ x: 9, y: 34 }, { x: 1, y: 1 }],\n * ], true);\n * ```\n *\n * @param points 要进行处理点集合\n * @param connectNulls 是否连接空值数据\n * @param showSinglePoint 是否展示孤立点\n * @returns 返回处理后的点集合\n */\nexport function getPathPoints(points: ShapeVertices, connectNulls: boolean = false, showSinglePoint: boolean = true) {\n if (!points.length || (points.length === 1 && !showSinglePoint)) {\n // 空或者只有一个点并配置不展示时\n return [];\n }\n\n if (connectNulls) {\n // 即 y 值为空的场景\n const filtered = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!isYNil(point)) {\n filtered.push(point);\n }\n }\n return [filtered];\n }\n\n const result = [];\n let tmp = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (isYNil(point)) {\n if (tmp.length) {\n if (!(tmp.length === 1 && !showSinglePoint)) {\n // 如果前段数据只有一个字段并且不需要展示时则不加入\n result.push(tmp);\n }\n tmp = [];\n }\n } else {\n tmp.push(point);\n }\n }\n\n if (tmp.length) {\n result.push(tmp);\n }\n return result;\n}\n\n/**\n * 获取小提琴图的边界 path\n * @param points\n * @returns\n */\nexport function getViolinPath(points: ShapeVertices): PathCommand[] {\n const path = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i] as Point;\n if (point) {\n const action = i === 0 ? 'M' : 'L';\n path.push([action, point.x, point.y]);\n }\n }\n const first = points[0] as Point;\n if (first) {\n path.push(['L', first.x, first.y]);\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * 获取小提琴图 平滑的边界 path\n * @param points\n * @returns\n */\nexport function getSmoothViolinPath(points: ShapeVertices): PathCommand[] {\n const half = points.length / 2;\n const leftPoints = [];\n const rightPoints = [];\n for (let i = 0; i < points.length; i++) {\n if (i < half) {\n leftPoints.push(points[i]);\n } else {\n rightPoints.push(points[i]);\n }\n }\n const leftPath = getSplinePath(leftPoints, false);\n const rightPath = getSplinePath(rightPoints, false);\n if (rightPoints.length) {\n leftPath.push(['L', rightPoints[0].x, rightPoints[0].y]);\n }\n rightPath.shift();\n const path = leftPath.concat(rightPath);\n if (leftPoints.length) {\n path.push(['L', leftPoints[0].x, leftPoints[0].y]);\n }\n path.push(['z']);\n return path;\n}\n","import { deepMix, isNil, get } from '@antv/util';\nimport { ShapeInfo } from '../../../interface';\n\n/**\n * @ignore\n * 获取 Shape 的图形属性\n * @param cfg\n * @param isStroke 是否需要描边\n * @param isFill 是否需要填充\n * @param [sizeName] 可选,表示图形大小的属性,lineWidth 或者 r\n * @returns\n */\nexport function getStyle(cfg: ShapeInfo, isStroke: boolean, isFill: boolean, sizeName: string = '') {\n const { style = {}, defaultStyle, color, size } = cfg;\n const attrs = {\n ...defaultStyle,\n ...style,\n };\n if (color) {\n if (isStroke) {\n if (!style.stroke) {\n // 如果用户在 style() 中配置了 stroke,则以用户配置的为准\n attrs.stroke = color;\n }\n }\n\n if (isFill) {\n if (!style.fill) {\n // 如果用户在 style() 中配置了 fill\n attrs.fill = color;\n }\n }\n }\n if (sizeName && isNil(style[sizeName]) && !isNil(size)) {\n // 如果用户在 style() 中配置了 lineWidth 或者 r 属性\n attrs[sizeName] = size;\n }\n\n return attrs;\n}\n\n/**\n * 获取 矩形背景 的样式\n * @param cfg\n */\nexport function getBackgroundRectStyle(cfg?: ShapeInfo) {\n return deepMix(\n {},\n {\n // 默认背景色,copy from active-region\n fill: '#CCD6EC',\n fillOpacity: 0.3,\n },\n get(cfg, ['background', 'style'])\n );\n}\n","import { isArray } from '@antv/util';\nimport { Point, RangePoint } from '../../../interface';\n\n/**\n * @ignore\n * 拆分点数据\n * @example\n * // result: [{x: 20, y: 20}, {x: 20, y: 30}]\n * splitPoints({x: 20,y: [20, 30]});\n * @example\n * // result: [{x: 20, y: 20}, {x: 30, y: 30}]\n * splitPoints({x: [20, 30],y: [20, 30]});\n * @param obj\n */\nexport function splitPoints(obj: RangePoint): Point[] {\n // y 有可能是数组,对应原始数据中 y 为一个区间数据,如 [19, 30],为了统一也将 x 转换为数组\n const x = obj.x;\n const y = isArray(obj.y) ? obj.y : [obj.y];\n\n return y.map((eachY, index) => {\n return {\n x: isArray(x) ? x[index] : x,\n y: eachY,\n };\n });\n}\n","import { ShapeMarkerCfg } from '../../../interface';\n\nconst LineSymbols = {\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dot: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dash: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n smooth: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['A', r / 2, r / 2, 0, 1, 1, x, y],\n ['A', r / 2, r / 2, 0, 1, 0, x + r, y],\n ];\n },\n hv: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y - 2.5],\n ['L', x, y - 2.5],\n ['L', x, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vh: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y + 2.5],\n ['L', x, y + 2.5],\n ['L', x, y - 2.5],\n ['L', x + r + 1, y - 2.5],\n ];\n },\n hvh: (x: number, y: number, r: number) => {\n return [\n ['M', x - (r + 1), y + 2.5],\n ['L', x - r / 2, y + 2.5],\n ['L', x - r / 2, y - 2.5],\n ['L', x + r / 2, y - 2.5],\n ['L', x + r / 2, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vhv: (x: number, y: number) => {\n // 宽 13px,高 8px\n return [\n ['M', x - 5, y + 2.5],\n ['L', x - 5, y],\n ['L', x, y],\n ['L', x, y - 3],\n ['L', x, y + 3],\n ['L', x + 6.5, y + 3],\n ];\n },\n};\n\n/**\n * Gets line marker\n * @ignore\n * @param markerCfg\n * @param shapeType\n * @returns 返回 Line 的 marker 配置\n */\nexport function getLineMarker(markerCfg: ShapeMarkerCfg, shapeType: string) {\n const { color } = markerCfg;\n return {\n symbol: LineSymbols[shapeType],\n style: {\n lineWidth: 2,\n r: 6,\n stroke: color,\n },\n };\n}\n","import { each, isArray } from '@antv/util';\nimport { IGroup, ShapeAttrs } from '../../../dependents';\nimport { Point, Position, RangePoint, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\nimport { getLineMarker } from './util';\n\nfunction getShapeAttrs(cfg: ShapeInfo, smooth?: boolean, constraint?: Position[]) {\n const { isStack, connectNulls, isInCircle, showSinglePoint } = cfg;\n const shapeAttrs = getStyle(cfg, true, false, 'lineWidth');\n\n const points = getPathPoints(cfg.points, connectNulls, showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const eachLinePoints = points[i];\n path = path.concat(getPath(eachLinePoints, isInCircle, isStack, smooth, constraint, shapeAttrs));\n }\n shapeAttrs.path = path;\n\n return shapeAttrs;\n}\n\n// 单条 path\nfunction getSinglePath(\n points: Point[],\n isInCircle: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length === 1) {\n // 只有一个点时\n return [\n ['M', points[0].x, points[0].y - style.lineWidth / 2],\n ['L', points[0].x, points[0].y],\n ['L', points[0].x, points[0].y + style.lineWidth / 2],\n ];\n }\n\n let path;\n if (!smooth) {\n path = getLinePath(points, false);\n if (isInCircle) {\n path.push(['Z']);\n }\n } else {\n // 直角坐标系下绘制曲线时限制最大值、最小值\n if (isInCircle && points.length) {\n points.push({ x: points[0].x, y: points[0].y });\n }\n path = getSplinePath(points, false, constraint);\n }\n\n return path;\n}\n\nfunction getRangePath(\n points: RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n const topPoints = [];\n const bottomPoints = [];\n each(points, (point: RangePoint) => {\n const result = splitPoints(point);\n topPoints.push(result[1]); // 上边\n bottomPoints.push(result[0]); // 底边\n });\n\n const topPath = getSinglePath(topPoints, isInCircle, smooth, constraint, style);\n const bottomPath = getSinglePath(bottomPoints, isInCircle, smooth, constraint, style);\n if (isStack) {\n return topPath;\n }\n return topPath.concat(bottomPath);\n}\n\n/**\n * 获取折线图 path\n */\nexport function getPath(\n points: Point[] | RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length) {\n const first = points[0];\n\n return isArray(first.y)\n ? getRangePath(points as RangePoint[], isInCircle, isStack, smooth, constraint, style)\n : getSinglePath(points as Point[], isInCircle, smooth, constraint, style);\n }\n return [];\n}\n\nconst LineShapeFactory = registerShapeFactory('line', {\n defaultShapeType: 'line',\n});\n\n// 这里因为代码公用,所以直接全部注册\n// 'line' 默认折线;'dot' 点线 ···;'dash' 断线 - - -\neach(['line', 'dot', 'dash', 'smooth'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const smooth = shapeType === 'smooth';\n let constraint;\n if (smooth) {\n const { start, end } = this.coordinate;\n constraint = [\n [start.x, end.y],\n [end.x, start.y],\n ];\n }\n\n const attrs = getShapeAttrs(cfg, smooth, constraint);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n capture: !smooth,\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n\nexport default LineShapeFactory;\n","/* G2 的一个壳子,不包含 Geometry,由开发者自己定义和引入 */\n\nexport const VERSION = '4.1.34';\n\n// 核心基类导出\nexport { Chart, View, Event } from './chart'; // Chart, View 类\nexport { Controller as ComponentController } from './chart/controller/base'; // G2 组件基类\nexport { default as TooltipController } from './chart/controller/tooltip'; // G2 tooltip 组件基类\nexport { default as Geometry } from './geometry/base'; // Geometry 基类\nexport { default as Element } from './geometry/element'; // Element 类\nexport { default as GeometryLabel } from './geometry/label/base'; // Geometry Label 基类\nexport { Interaction, Action } from './interaction'; // Interaction, Action 基类\nexport { Facet } from './facet'; // Facet 基类\nexport { default as InteractionAction } from './interaction/action/base'; // Interaction Action 基类\n\n// 注册 ComponentController\nexport { registerComponentController } from './chart';\n\n// 注册 Geometry\nexport { registerGeometry } from './chart';\n\n// 注册 Geometry Shape\nexport { registerShape, registerShapeFactory, getShapeFactory } from './geometry/shape/base';\n\n// 注册 Geometry label 以及 Geometry Label 布局函数\nexport {\n registerGeometryLabel,\n registerGeometryLabelLayout,\n getGeometryLabel,\n getGeometryLabelLayout,\n} from './geometry/label';\n\n// 注册 interaction\nexport { getInteraction, registerInteraction, registerAction, getActionClass } from './interaction';\n\n// 注册 facet\nexport { getFacet, registerFacet } from './facet';\n\n// 注册主题\nexport { getTheme, registerTheme } from './theme';\n\n// G engine 管理相关\nexport { registerEngine, getEngine } from './engine';\n\n// 注册动画函数\nexport { registerAnimation, getAnimation } from './animate/animation';\n\nexport { LAYER, DIRECTION } from './constant';\n\n// 因为 typescript 部分版本不支持 export * as 语法。\nimport * as Types from './interface';\nexport type { Types };\n\nexport { IGroup, ShapeAttrs, Coordinate, Scale, ScaleConfig } from './dependents';\n\n// 一些工具方法导出\nimport { getMappingValue } from './util/attr';\nimport { getLegendItems } from './util/legend';\nimport { getAngle, getSectorPath, polarToCartesian } from './util/graphics';\nimport { rotate, transform, translate, zoom } from './util/transform';\nimport { getTooltipItems } from './util/tooltip';\nimport { getDelegationObject } from './interaction/action/util';\nimport { getPathPoints } from './geometry/shape/util/get-path-points';\nimport { getPath } from './geometry/shape/line';\n\nexport const Util = {\n getLegendItems,\n translate,\n rotate,\n zoom,\n transform,\n getAngle,\n getSectorPath,\n polarToCartesian,\n getDelegationObject,\n getTooltipItems,\n getMappingValue,\n // shape 的一些操作方法\n getPath,\n getPathPoints,\n};\n","import { StyleSheetCfg } from '../../interface';\n\nconst WHITE_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst BLACK_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#E86452',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#E86452',\n '#F8D0CB',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\n/** 单色顺序色板 */\nconst SINGLE_SEQUENCE = [\n '#B8E1FF',\n '#9AC5FF',\n '#7DAAFF',\n '#5B8FF9',\n '#3D76DD',\n '#085EC0',\n '#0047A5',\n '#00318A',\n '#001D70',\n];\n\nexport const createDarkStyleSheet = (cfg: StyleSheetCfg = {}) => {\n const {\n backgroundColor = '#141414',\n subColor = 'rgba(255,255,255,0.05)',\n paletteQualitative10 = QUALITATIVE_10,\n paletteQualitative20 = QUALITATIVE_20,\n paletteSemanticRed = '#F4664A',\n paletteSemanticGreen = '#30BF78',\n paletteSemanticYellow = '#FAAD14',\n paletteSequence = SINGLE_SEQUENCE,\n fontFamily = `\"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n return {\n /** 图表背景色 */\n backgroundColor,\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor,\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed,\n /** 语义色 */\n paletteSemanticGreen,\n /** 语义色 */\n paletteSemanticYellow,\n /** (单色)顺序色板 */\n paletteSequence,\n /** 字体 */\n fontFamily,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 1,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n /** 坐标轴标题距离坐标轴文本的间距 */\n axisTitleSpacing: 12,\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 1,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 1,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n /** 坐标轴刻度文本距离坐标轴线的间距 */\n axisLabelOffset: 8,\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 1,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: QUALITATIVE_10[0],\n /** 图例 marker 距离图例文本的间距 */\n legendMarkerSpacing: 8,\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n /** 图例项之间的水平间距 */\n legendItemSpacing: 24,\n /** 图例项垂直方向的间隔 */\n legendItemMarginBottom: 12,\n /** 图例与图表绘图区域的偏移距离 */\n legendSpacing: 16,\n /** 图例与图表绘图区域的偏移距离 */\n legendPadding: [8, 8, 8, 8],\n /** 水平布局的图例与绘图区域偏移距离 */\n legendHorizontalPadding: [8, 0, 8, 0],\n /** 垂直布局的图例与绘图区域偏移距离 */\n legendVerticalPadding: [0, 8, 0, 8],\n\n // 图例分页器\n /** 图例分页器 marker 大小 */\n legendPageNavigatorMarkerSize: 12,\n /** 图例分页器 marker 填充色 */\n legendPageNavigatorMarkerInactiveFillColor: BLACK_COLORS[45],\n /** 图例分页器 marker 填充色透明度 */\n legendPageNavigatorMarkerInactiveFillOpacity: 0.45,\n /** 图例分页器 marker 激活状态填充色 */\n legendPageNavigatorMarkerFillColor: BLACK_COLORS[45],\n /** 图例分页器 marker 激活状态填充色透明度 */\n legendPageNavigatorMarkerFillOpacity: 1,\n /** 图例分页器文本颜色 */\n legendPageNavigatorTextFillColor: BLACK_COLORS[65],\n /** 图例分页器文本字体大小 */\n legendPageNavigatorTextFontSize: 12,\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: WHITE_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: WHITE_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 1,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 1,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: null,\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 0,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 1,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: '#1f1f1f',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 2px 4px rgba(0,0,0,.5)',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n labelFillColorDark: '#2c3542',\n labelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry label 文本颜色 */\n overflowLabelFillColor: BLACK_COLORS[65],\n overflowLabelFillColorDark: '#2c3542',\n overflowLabelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n overflowLabelFontSize: 12,\n /** Geometry label 文本行高 */\n overflowLabelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n overflowLabelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n overflowLabelBorderColor: WHITE_COLORS[100],\n /** Geometry label 文本描边粗细 */\n overflowLabelBorder: 1,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 1,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Slider 组件样式--------------------\n /** slider 滑道高度 */\n cSliderRailHieght: 16,\n /** slider 滑道背景色 */\n cSliderBackgroundFillColor: '#416180',\n /** slider 滑道背景色透明度 */\n cSliderBackgroundFillOpacity: 0.05,\n /** slider 滑道前景色 */\n cSliderForegroundFillColor: '#5B8FF9',\n /** slider 滑道前景色透明度 */\n cSliderForegroundFillOpacity: 0.15,\n // slider handlerStyle 手柄样式\n /** slider 手柄高度 */\n cSliderHandlerHeight: 24,\n /** Slider 手柄宽度 */\n cSliderHandlerWidth: 10,\n /** Slider 手柄背景色 */\n cSliderHandlerFillColor: '#F7F7F7',\n /** Slider 手柄背景色透明度 */\n cSliderHandlerFillOpacity: 1,\n /** Slider 手柄高亮背景色 */\n cSliderHandlerHighlightFillColor: '#FFF',\n /** Slider 手柄边框色 */\n cSliderHandlerBorderColor: '#BFBFBF',\n /** Slider 手柄边框粗细 */\n cSliderHandlerBorder: 1,\n /** Slider 手柄边框圆角 */\n cSliderHandlerBorderRadius: 2,\n // slider textStyle 字体标签样式\n /** Slider 字体标签颜色 */\n cSliderTextFillColor: '#fff',\n /** Slider 字体标签透明度 */\n cSliderTextFillOpacity: 0.45,\n /** Slider 字体标签大小 */\n cSliderTextFontSize: 12,\n /** Slider 字体标签行高 */\n cSliderTextLineHeight: 12,\n /** Slider 字体标签字重 */\n cSliderTextFontWeight: 'normal',\n /** Slider 字体标签描边色 */\n cSliderTextBorderColor: null,\n /** Slider 字体标签描边粗细 */\n cSliderTextBorder: 0,\n\n // -------------------- Scrollbar 组件样式--------------------\n /** 滚动条 滚道填充色 */\n scrollbarTrackFillColor: 'rgba(255,255,255,0.65)',\n /** 滚动条 滑块填充色 */\n scrollbarThumbFillColor: 'rgba(0,0,0,0.35)',\n /** 滚动条 滑块高亮填充色 */\n scrollbarThumbHighlightFillColor: 'rgba(0,0,0,0.45)',\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: QUALITATIVE_10[0],\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: QUALITATIVE_10[0],\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: QUALITATIVE_10[0],\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: QUALITATIVE_10[0],\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: QUALITATIVE_10[0],\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: QUALITATIVE_10[0],\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: QUALITATIVE_10[0],\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: QUALITATIVE_10[0],\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: QUALITATIVE_10[0],\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n };\n};\n\nexport const antvDark = createDarkStyleSheet();\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry, { GeometryCfg } from './base';\nimport Element from './element';\n/** 引入对应的 ShapeFactory */\nimport './shape/line';\nimport { isModelChange } from './util/is-model-change';\nimport { diff } from './util/diff';\n\n/** Path 构造函数参数类型 */\nexport interface PathCfg extends GeometryCfg {\n /** 是否连接空值 */\n connectNulls?: boolean;\n /** 单个孤立数据点是否展示 */\n showSinglePoint?: boolean;\n}\n\n/**\n * Path 几何标记。\n * 用于绘制路径图等。\n */\nexport default class Path extends Geometry {\n public readonly type: string = 'path';\n public readonly shapeType: string = 'line';\n /** 是否连接空值 */\n public connectNulls: boolean;\n /** 单个孤立数据点是否展示 */\n public showSinglePoint: boolean;\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { connectNulls = false, showSinglePoint = true } = cfg;\n this.connectNulls = connectNulls;\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 创建所有的 Element 实例,对于 Path、Line、Area,一组数据对应一个 Element。\n * @param mappingData\n * @param [isUpdate]\n * @returns elements\n */\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false) {\n // Path 的每个 element 对应一组数据\n const keyData = new Map();\n const keyIndex = new Map();\n const keys: string[] = [];\n\n let index = 0;\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n const key = this.getElementId(mappingData);\n keys.push(key);\n keyData.set(key, mappingData);\n keyIndex.set(key, index);\n index++;\n }\n\n this.elements = new Array(index);\n\n const { added, updated, removed } = diff(this.lastElementsMap, keys);\n\n for (const key of added) {\n const mappingData = keyData.get(key);\n const shapeFactory = this.getShapeFactory();\n const shapeCfg = this.getShapeInfo(mappingData);\n const i = keyIndex.get(key);\n const element = new Element({\n shapeFactory,\n container: this.container,\n offscreenGroup: this.getOffscreenGroup(),\n elementIndex: i,\n });\n element.geometry = this;\n element.animate = this.animateOption;\n element.draw(shapeCfg, isUpdate); // 绘制 shape\n this.elementsMap[key] = element;\n this.elements[i] = element;\n }\n\n for (const key of updated) {\n const mappingData = keyData.get(key);\n const element = this.lastElementsMap[key];\n const i = keyIndex.get(key);\n const shapeCfg = this.getShapeInfo(mappingData);\n const preShapeCfg = element.getModel();\n if (this.isCoordinateChanged || isModelChange(preShapeCfg, shapeCfg)) {\n element.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n element.update(shapeCfg); // 更新对应的 element\n }\n this.elementsMap[key] = element;\n this.elements[i] = element;\n }\n\n for (const key of removed) {\n const element = this.lastElementsMap[key];\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n element.animate = this.animateOption;\n element.destroy();\n }\n }\n\n /**\n * 获取组成一条线(一组数据)的所有点以及数据\n * @param mappingData 映射后的数组\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push({\n x: obj.x,\n y: obj.y,\n });\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n const { points, data } = this.getPointsAndData(mappingData);\n shapeCfg.mappingData = mappingData;\n shapeCfg.data = data;\n shapeCfg.isStack = !!this.getAdjust('stack');\n shapeCfg.points = points;\n shapeCfg.connectNulls = this.connectNulls;\n shapeCfg.showSinglePoint = this.showSinglePoint;\n\n return shapeCfg;\n }\n}\n","import { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position, Shape, ShapeInfo } from '../../../interface';\n\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\n\nfunction getPath(\n points: Point[],\n isInCircle: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n): PathCommand[] {\n let path = [];\n\n if (points.length) {\n const topLinePoints = []; // area 区域上部分\n let bottomLinePoints = []; // area 区域下部分\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n topLinePoints.push(point[1]);\n bottomLinePoints.push(point[0]);\n }\n bottomLinePoints = bottomLinePoints.reverse();\n\n each([topLinePoints, bottomLinePoints], (pointsData, index) => {\n let subPath = [];\n const parsedPoints = registeredShape.parsePoints(pointsData);\n const p1 = parsedPoints[0];\n\n if (topLinePoints.length === 1 && bottomLinePoints.length === 1) {\n // 都只有一个点,绘制一条竖线\n subPath =\n index === 0\n ? [\n ['M', p1.x - 0.5, p1.y],\n ['L', p1.x + 0.5, p1.y],\n ]\n : [\n ['L', p1.x + 0.5, p1.y],\n ['L', p1.x - 0.5, p1.y],\n ];\n } else {\n if (isInCircle) {\n parsedPoints.push({ x: p1.x, y: p1.y });\n }\n if (smooth) {\n subPath = getSplinePath(parsedPoints, false, constraint);\n } else {\n subPath = getLinePath(parsedPoints, false);\n }\n if (index > 0) {\n subPath[0][0] = 'L';\n }\n }\n\n path = path.concat(subPath);\n });\n\n path.push(['Z']);\n }\n\n return path;\n}\n\n/**\n * @ignore\n * Gets shape attrs\n * @param cfg\n * @param isStroke\n * @param smooth\n * @param registeredShape\n * @param [constraint]\n * @returns\n */\nexport function getShapeAttrs(\n cfg: ShapeInfo,\n isStroke: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n) {\n const attrs = getStyle(cfg, isStroke, !isStroke, 'lineWidth');\n const { connectNulls, isInCircle, points, showSinglePoint } = cfg;\n const pathPoints = getPathPoints(points, connectNulls, showSinglePoint); // 根据 connectNulls 配置获取图形关键点\n\n let path = [];\n for (let i = 0, len = pathPoints.length; i < len; i++) {\n const eachPoints = pathPoints[i];\n path = path.concat(getPath(eachPoints, isInCircle, smooth, registeredShape, constraint));\n }\n attrs.path = path;\n\n return attrs;\n}\n\n/**\n * @ignore\n * Gets constraint\n * @param coordinate\n * @returns constraint\n */\nexport function getConstraint(coordinate: Coordinate): Position[] {\n const { start, end } = coordinate;\n return [\n [start.x, end.y],\n [end.x, start.y],\n ];\n}\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getShapeAttrs } from './util';\n\nconst AreaShapeFactory = registerShapeFactory('area', {\n defaultShapeType: 'area',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n // area 基本标记的绘制需要获取上下两边的顶点\n const { x, y0 } = pointInfo;\n const y = isArray(pointInfo.y) ? pointInfo.y : [y0, pointInfo.y];\n\n return y.map((yItem: number) => {\n return {\n x: x as number,\n y: yItem,\n };\n });\n },\n});\n\n// Area 几何标记默认的 shape:填充的区域图\nregisterShape('area', 'area', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, false, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n },\n };\n },\n});\n\nexport default AreaShapeFactory;\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum } from '../interface';\nimport Path, { PathCfg } from './path';\nimport './shape/area';\n\n/** Area 几何标记构造函数参数 */\nexport interface AreaCfg extends PathCfg {\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n startOnZero?: boolean;\n}\n\n/**\n * Area 几何标记类。\n * 常用于绘制面积图。\n */\nexport default class Area extends Path {\n public readonly type: string = 'area';\n public readonly shapeType: string = 'area';\n /** 生成图形关键点 */\n public readonly generatePoints: boolean = true;\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n public readonly startOnZero: boolean = true;\n\n constructor(cfg: AreaCfg) {\n super(cfg);\n\n const { startOnZero = true, sortable = false, showSinglePoint = false } = cfg;\n this.startOnZero = startOnZero; // 默认为 true\n this.sortable = sortable; // 关闭默认的 X 轴数据排序\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 获取图形绘制的关键点以及数据\n * @param mappingData 映射后的数据\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push(obj.points);\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n /**\n * 获取 Y 轴上的最小值\n * @returns y 字段最小值\n */\n protected getYMinValue(): number {\n if (this.startOnZero) {\n return super.getYMinValue();\n }\n const yScale = this.getYScale();\n return yScale.min;\n }\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\n\nconst EdgeShapeFactory = registerShapeFactory('edge', {\n defaultShapeType: 'line',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\nregisterShape('edge', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const path = getLinePath(this.parsePoints(cfg.points), this.coordinate.isPolar);\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n\nexport default EdgeShapeFactory;\n","import Geometry from './base';\nimport './shape/edge';\n\n/**\n * Edge 几何标记,用于绘制关系图中的**边**图形,如:\n * 1. 流程图\n * 2. 树\n * 3. 弧长连接图\n * 4. 和弦图\n * 5. 桑基图\n */\nexport default class Edge extends Geometry {\n public readonly type: string = 'edge';\n public readonly shapeType: string = 'edge';\n protected generatePoints: boolean = true;\n}\n","import ColorUtil from '@antv/color-util';\nimport { get, isNumber } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Color, IShape } from '../dependents';\nimport { Data, Datum, MappingDatum, ShapeInfo, AttributeOption, ColorAttrCallback } from '../interface';\nimport Geometry from './base';\n\n/**\n * 用于绘制热力图。\n */\nexport default class Heatmap extends Geometry {\n public readonly type: string = 'heatmap';\n\n private paletteCache: Record = {};\n private grayScaleBlurredCanvas: HTMLCanvasElement;\n private shadowCanvas: HTMLCanvasElement;\n private imageShape: IShape;\n\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false) {\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n const range = this.prepareRange(mappingData);\n const radius = this.prepareSize();\n\n let blur = get(this.styleOption, ['cfg', 'shadowBlur']);\n if (!isNumber(blur)) {\n blur = radius / 2;\n }\n\n this.prepareGreyScaleBlurredCircle(radius, blur);\n this.drawWithRange(mappingData, range, radius, blur);\n }\n }\n\n /** 热力图暂时不支持 callback 回调(文档需要说明下) */\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, typeof cfg !== 'function' ? cfg : '');\n\n return this;\n }\n\n /**\n * clear\n */\n public clear() {\n super.clear();\n this.clearShadowCanvasCtx();\n this.paletteCache = {};\n }\n\n private prepareRange(data: MappingDatum[]) {\n const colorAttr = this.getAttribute('color');\n const colorField = colorAttr.getFields()[0];\n\n let min = Infinity;\n let max = -Infinity;\n data.forEach((row) => {\n const value = row[FIELD_ORIGIN][colorField];\n if (value > max) {\n max = value;\n }\n if (value < min) {\n min = value;\n }\n });\n\n if (min === max) {\n min = max - 1;\n }\n\n return [min, max];\n }\n\n private prepareSize() {\n let radius = this.getDefaultValue('size');\n if (!isNumber(radius)) {\n radius = this.getDefaultSize();\n }\n\n return radius;\n }\n\n private prepareGreyScaleBlurredCircle(radius: number, blur: number) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n const r2 = radius + blur;\n const ctx = grayScaleBlurredCanvas.getContext('2d');\n grayScaleBlurredCanvas.width = grayScaleBlurredCanvas.height = r2 * 2;\n ctx.clearRect(0, 0, grayScaleBlurredCanvas.width, grayScaleBlurredCanvas.height);\n ctx.shadowOffsetX = ctx.shadowOffsetY = r2 * 2;\n ctx.shadowBlur = blur;\n ctx.shadowColor = 'black';\n\n ctx.beginPath();\n ctx.arc(-r2, -r2, radius, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n }\n\n private drawWithRange(data: MappingDatum[], range: number[], radius: number, blur: number) {\n // canvas size\n const { start, end } = this.coordinate;\n const width = this.coordinate.getWidth();\n const height = this.coordinate.getHeight();\n\n // value, range, etc\n const colorAttr = this.getAttribute('color');\n const valueField = colorAttr.getFields()[0];\n\n // prepare shadow canvas context\n this.clearShadowCanvasCtx();\n const ctx = this.getShadowCanvasCtx();\n // filter data\n if (range) {\n data = data.filter((row) => {\n return row[FIELD_ORIGIN][valueField] <= range[1] && row[FIELD_ORIGIN][valueField] >= range[0];\n });\n }\n\n // step1. draw points with shadow\n const scale = this.scales[valueField];\n for (const obj of data) {\n const { x, y } = this.getDrawCfg(obj);\n const alpha = scale.scale(obj[FIELD_ORIGIN][valueField]);\n this.drawGrayScaleBlurredCircle((x as number) - start.x, (y as number) - end.y, radius + blur, alpha, ctx);\n }\n\n // step2. convert pixels\n const colored = ctx.getImageData(0, 0, width, height);\n this.clearShadowCanvasCtx();\n this.colorize(colored);\n ctx.putImageData(colored, 0, 0);\n const imageShape = this.getImageShape();\n imageShape.attr('x', start.x);\n imageShape.attr('y', end.y);\n imageShape.attr('width', width);\n imageShape.attr('height', height);\n imageShape.attr('img', ctx.canvas);\n imageShape.set('origin', this.getShapeInfo(data)); // 存储绘图信息数据\n }\n\n private getDefaultSize() {\n const position = this.getAttribute('position');\n const coordinate = this.coordinate;\n return Math.min(\n coordinate.getWidth() / (position.scales[0].ticks.length * 4),\n coordinate.getHeight() / (position.scales[1].ticks.length * 4)\n );\n }\n\n private clearShadowCanvasCtx() {\n const ctx = this.getShadowCanvasCtx();\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n private getShadowCanvasCtx() {\n let canvas = this.shadowCanvas;\n if (!canvas) {\n canvas = document.createElement('canvas');\n this.shadowCanvas = canvas;\n }\n canvas.width = this.coordinate.getWidth();\n canvas.height = this.coordinate.getHeight();\n return canvas.getContext('2d');\n }\n\n private getGrayScaleBlurredCanvas() {\n if (!this.grayScaleBlurredCanvas) {\n this.grayScaleBlurredCanvas = document.createElement('canvas');\n }\n\n return this.grayScaleBlurredCanvas;\n }\n\n private drawGrayScaleBlurredCircle(x: number, y: number, r: number, alpha: number, ctx: CanvasRenderingContext2D) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n ctx.globalAlpha = alpha;\n ctx.drawImage(grayScaleBlurredCanvas, x - r, y - r);\n }\n\n private colorize(img: ImageData) {\n const colorAttr = this.getAttribute('color') as Color;\n const pixels = img.data;\n const paletteCache = this.paletteCache;\n for (let i = 3; i < pixels.length; i += 4) {\n const alpha = pixels[i]; // get gradient color from opacity value\n if (isNumber(alpha)) {\n const palette = paletteCache[alpha] ? paletteCache[alpha] : ColorUtil.rgb2arr(colorAttr.gradient(alpha / 256));\n pixels[i - 3] = palette[0];\n pixels[i - 2] = palette[1];\n pixels[i - 1] = palette[2];\n pixels[i] = alpha;\n }\n }\n }\n\n private getImageShape() {\n let imageShape = this.imageShape;\n if (imageShape) {\n return imageShape;\n }\n const container = this.container;\n imageShape = container.addShape({\n type: 'image',\n attrs: {},\n });\n this.imageShape = imageShape;\n return imageShape;\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n\n const data = mappingData.map((obj: Datum) => {\n return obj[FIELD_ORIGIN];\n });\n\n return {\n ...shapeCfg,\n mappingData,\n data,\n };\n }\n}\n","import { Coordinate } from '@antv/coord';\nimport { isArray, isNil, get } from '@antv/util';\nimport { getAngle, getSectorPath } from '../../../util/graphics';\nimport { PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapePoint } from '../../../interface';\n\n/**\n * @ignore\n * 根据数据点生成矩形的四个关键点\n * @param pointInfo 数据点信息\n * @param [isPyramid] 是否为尖底漏斗图\n * @returns rect points 返回矩形四个顶点信息\n */\nexport function getRectPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n // 有 4 种情况,\n // 1. x, y 都不是数组\n // 2. y是数组,x不是\n // 3. x是数组,y不是\n // 4. x, y 都是数组\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n let xMin;\n let xMax;\n if (isArray(x)) {\n [xMin, xMax] = x;\n } else {\n xMin = x - size / 2;\n xMax = x + size / 2;\n }\n\n const points = [\n { x: xMin, y: yMin },\n { x: xMin, y: yMax },\n ];\n\n // 矩形的四个关键点,结构如下(左下角顺时针连接)\n // 1 ---- 2\n // | |\n // 0 ---- 3\n points.push({ x: xMax, y: yMax }, { x: xMax, y: yMin });\n\n return points;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param isClosed path 是否需要闭合\n * @returns 返回矩形的 path\n */\nexport function getRectPath(points: Point[], isClosed: boolean = true): PathCommand[] {\n const path = [];\n const firstPoint = points[0];\n path.push(['M', firstPoint.x, firstPoint.y]);\n for (let i = 1, len = points.length; i < len; i++) {\n path.push(['L', points[i].x, points[i].y]);\n }\n // 对于 shape=\"line\" path 不应该闭合,否则会造成 lineCap 绘图属性失效\n if (isClosed) {\n path.push(['L', firstPoint.x, firstPoint.y]); // 需要闭合\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * 处理 rect path 的 radius\n * @returns 返回矩形 path 的四个角的 arc 半径\n */\nexport function parseRadius(radius: number | number[], minLength: number): number[] {\n let r1 = 0;\n let r2 = 0;\n let r3 = 0;\n let r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n\n // 处理 边界值\n if (r1 + r2 > minLength) {\n r1 = r1 ? minLength / (1 + r2 / r1) : 0;\n r2 = minLength - r1;\n }\n\n if (r3 + r4 > minLength) {\n r3 = r3 ? minLength / (1 + r4 / r3) : 0;\n r4 = minLength - r3;\n }\n\n return [r1 || 0, r2 || 0, r3 || 0, r4 || 0];\n}\n\n/**\n * 获取 interval 矩形背景的 path\n * @param cfg 关键点的信息\n * @param points 已转化为画布坐标的 4 个关键点\n * @param coordinate 坐标系\n * @returns 返回矩形背景的 path\n */\nexport function getBackgroundRectPath(cfg: ShapeInfo, points: Point[], coordinate: Coordinate): PathCommand[] {\n let path = [];\n if (coordinate.isRect) {\n const p0 = coordinate.isTransposed\n ? { x: coordinate.start.x, y: points[0].y }\n : { x: points[0].x, y: coordinate.start.y };\n const p1 = coordinate.isTransposed\n ? { x: coordinate.end.x, y: points[2].y }\n : { x: points[3].x, y: coordinate.end.y };\n\n // corner radius of background shape works only in 笛卡尔坐标系\n const radius = get(cfg, ['background', 'style', 'radius']);\n if (radius) {\n const width = coordinate.isTransposed ? Math.abs(points[0].y - points[2].y) : points[2].x - points[1].x;\n const height = coordinate.isTransposed ? coordinate.getWidth() : coordinate.getHeight();\n const [r1, r2, r3, r4] = parseRadius(radius, Math.min(width, height));\n\n path.push(['M', p0.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 1, p0.x + r1, p1.y]);\n path.push(['L', p1.x - r2, p1.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 1, p1.x, p1.y + r2]);\n path.push(['L', p1.x, p0.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 1, p1.x - r3, p0.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 1, p0.x, p0.y - r4]);\n } else {\n path.push(['M', p0.x, p0.y]);\n path.push(['L', p1.x, p0.y]);\n path.push(['L', p1.x, p1.y]);\n path.push(['L', p0.x, p1.y]);\n path.push(['L', p0.x, p0.y]);\n }\n\n path.push(['z']);\n }\n\n if (coordinate.isPolar) {\n const center = coordinate.getCenter();\n const { startAngle, endAngle } = getAngle(cfg, coordinate);\n if (coordinate.type !== 'theta' && !coordinate.isTransposed) {\n // 获取扇形 path\n path = getSectorPath(center.x, center.y, coordinate.getRadius(), startAngle, endAngle);\n } else {\n const pow = (v) => Math.pow(v, 2);\n const r1 = Math.sqrt(pow(center.x - points[0].x) + pow(center.y - points[0].y));\n const r2 = Math.sqrt(pow(center.x - points[2].x) + pow(center.y - points[2].y));\n // 获取扇形 path(其实是一个圆环,从 coordinate 的起始角度到结束角度)\n path = getSectorPath(center.x, center.y, r1, coordinate.startAngle, coordinate.endAngle, r2);\n }\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param lineCap 'round'圆角样式\n * @param coor 坐标\n * @returns 返回矩形的 path\n */\nexport function getIntervalRectPath(points: Point[], lineCap: CanvasLineCap, coor: Coordinate): PathCommand[] {\n const width = coor.getWidth();\n const height = coor.getHeight();\n const isRect = coor.type === 'rect';\n let path = [];\n const r = (points[2].x - points[1].x) / 2;\n const ry = coor.isTransposed ? (r * height) / width : (r * width) / height;\n if (lineCap === 'round') {\n if (isRect) {\n path.push(['M', points[0].x, points[0].y + ry]);\n path.push(['L', points[1].x, points[1].y - ry]);\n path.push(['A', r, r, 0, 0, 1, points[2].x, points[2].y - ry]);\n path.push(['L', points[3].x, points[3].y + ry]);\n path.push(['A', r, r, 0, 0, 1, points[0].x, points[0].y + ry]);\n } else {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['A', r, r, 0, 0, 1, points[2].x, points[2].y]);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['A', r, r, 0, 0, 1, points[0].x, points[0].y]);\n }\n path.push(['z']);\n } else {\n path = getRectPath(points);\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据 funnel 关键点绘制漏斗图的 path\n * @param points 图形关键点信息\n * @param nextPoints 下一个数据的图形关键点信息\n * @param isPyramid 是否为尖底漏斗图\n * @returns 返回漏斗图的图形 path\n */\nexport function getFunnelPath(points: Point[], nextPoints: Point[], isPyramid: boolean) {\n const path = [];\n if (!isNil(nextPoints)) {\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', nextPoints[1].x, nextPoints[1].y],\n ['L', nextPoints[0].x, nextPoints[0].y],\n ['Z']\n );\n } else if (isPyramid) {\n // 金字塔最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', (points[2].x + points[3].x) / 2, (points[2].y + points[3].y) / 2],\n ['Z']\n );\n } else {\n // 漏斗图最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['Z']\n );\n }\n\n return path;\n}\n\n/**\n * 获取 倒角 矩形\n * - 目前只适用于笛卡尔坐标系下\n */\nexport function getRectWithCornerRadius(points: Point[], coordinate: Coordinate, radius?: number | number[]) {\n // 获取 四个关键点\n let [p0, p1, p2, p3] = points;\n let [r1, r2, r3, r4] = [0, 0, 0, 0];\n\n /**\n * p1 → p2\n * ↑ ↓\n * p0 ← p3\n *\n * 负数的情况,关键点会变成下面的形式\n *\n * p0 ← p3\n * ↓ ↑\n * p1 → p2\n */\n if (p0.y < p1.y /** 负数情况 */) {\n [p1, p0, p3, p2] = points;\n [r4, r3, r2, r1] = parseRadius(radius, Math.min(p3.x - p0.x, p0.y - p1.y));\n } else {\n [r1, r2, r3, r4] = parseRadius(radius, Math.min(p3.x - p0.x, p0.y - p1.y));\n }\n\n /**\n * 转置前\n * p1 → p2\n * ↑ ↓\n * p0 ← p3\n *\n * 转置后(↓ 是 x 轴递增,→ 是 y 轴递增),从 p0 开始绘制,对应的 radius: [r3, r2, r1, r4]\n * p3 ← p2\n * ↓ ↑\n * P0 → p1(points[3])\n *\n * 负数的情况,y 轴翻转\n *\n * p0 → p1\n * ↑ ↓\n * p3 ← p2\n */\n if (coordinate.isTransposed) {\n [p0, p3, p2, p1] = points;\n if (points[0].x > points[1].x /** 负数情况 */) {\n [p3, p0, p1, p2] = points;\n [r1, r4, r3, r2] = parseRadius(radius, Math.min(p3.x - p0.x, p0.y - p1.y));\n } else {\n [r2, r3, r4, r1] = parseRadius(radius, Math.min(p3.x - p0.x, p0.y - p1.y));\n }\n }\n\n const path = [];\n path.push(['M', p1.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 1, p1.x + r1, p1.y]);\n path.push(['L', p2.x - r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 1, p2.x, p2.y + r2]);\n path.push(['L', p3.x, p3.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 1, p3.x - r3, p3.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 1, p0.x, p0.y - r4]);\n path.push(['L', p1.x, p1.y + r1]);\n path.push(['z']);\n\n return path;\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { BACKGROUND_SHAPE } from '../constant';\nimport { getBackgroundRectStyle, getStyle } from '../util/get-style';\nimport { getBackgroundRectPath, getIntervalRectPath, getRectPoints, getRectWithCornerRadius } from './util';\n\n/** Interval 的 shape 工厂 */\nconst IntervalShapeFactory = registerShapeFactory('interval', {\n defaultShapeType: 'rect',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return getRectPoints(pointInfo);\n },\n});\n\n/** Inerval 默认 shape,填充的矩形 */\nregisterShape('interval', 'rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n let group = container;\n\n const backgroundCfg = cfg?.background;\n if (backgroundCfg) {\n group = container.addGroup();\n const backgroundStyle = getBackgroundRectStyle(cfg);\n const backgroundPath = getBackgroundRectPath(cfg, this.parsePoints(cfg.points) as Point[], this.coordinate);\n group.addShape('path', {\n attrs: {\n ...backgroundStyle,\n path: backgroundPath,\n },\n zIndex: -1,\n name: BACKGROUND_SHAPE,\n });\n }\n\n let path;\n if (style.radius && this.coordinate.isRect) {\n path = getRectWithCornerRadius(this.parsePoints(cfg.points), this.coordinate, style.radius);\n } else {\n path = this.parsePath(getIntervalRectPath(cfg.points as Point[], style.lineCap, this.coordinate));\n }\n\n const shape = group.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return backgroundCfg ? group : shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default IntervalShapeFactory;\n","import { flatten, isString, valuesOfKey, isNil } from '@antv/util';\nimport { getXDimensionLength } from '../../util/coordinate';\n\n// 已经排序后的数据查找距离最小的\nfunction findMinDistance(arr, scale) {\n const count = arr.length;\n let sourceArr = arr;\n if (isString(sourceArr[0])) {\n // 日期类型的 values 经常上文本类型,所以需要转换一下\n sourceArr = arr.map((v: string) => {\n return scale.translate(v);\n });\n }\n let distance = sourceArr[1] - sourceArr[0];\n for (let i = 2; i < count; i++) {\n const tmp = sourceArr[i] - sourceArr[i - 1];\n if (distance > tmp) {\n distance = tmp;\n }\n }\n return distance;\n}\n\nfunction getDodgeCount(dataArray, dodgeBy) {\n if (dodgeBy) {\n const mergeData = flatten(dataArray);\n const values = valuesOfKey(mergeData, dodgeBy);\n return values.length;\n }\n\n return dataArray.length;\n}\n\n/** @ignore */\nexport function getDefaultSize(geometry): number {\n const theme = geometry.theme;\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const xValues = xScale.values;\n const dataArray = geometry.beforeMappingData;\n let count: number = xValues.length;\n const xDimensionLength = getXDimensionLength(geometry.coordinate);\n // 获取柱宽相关配置项\n const { intervalPadding, dodgePadding } = geometry;\n // 兼容theme配置\n const maxColumnWidth = geometry.maxColumnWidth || theme.maxColumnWidth;\n const minColumnWidth = geometry.minColumnWidth || theme.minColumnWidth;\n const columnWidthRatio = geometry.columnWidthRatio || theme.columnWidthRatio;\n const multiplePieWidthRatio = geometry.multiplePieWidthRatio || theme.multiplePieWidthRatio;\n const roseWidthRatio = geometry.roseWidthRatio || theme.roseWidthRatio;\n\n // 线性情况下count值\n if (xScale.isLinear && xValues.length > 1) {\n // Linear 类型用户有可能设置了 min, max 范围所以需要根据数据最小区间计算 count\n xValues.sort();\n const interval = findMinDistance(xValues, xScale);\n count = (xScale.max - xScale.min) / interval;\n if (xValues.length > count) {\n count = xValues.length;\n }\n }\n\n const range = xScale.range;\n let normalizedSize = 1 / count;\n let wr = 1;\n if (coordinate.isPolar) {\n // 极坐标场景\n if (coordinate.isTransposed && count > 1) {\n // 极坐标下多层环图\n wr = multiplePieWidthRatio;\n } else {\n wr = roseWidthRatio;\n }\n } else {\n // 非极坐标场景\n if (xScale.isLinear) {\n normalizedSize *= range[1] - range[0];\n }\n wr = columnWidthRatio;\n }\n\n // 基础柱状图\n if (!isNil(intervalPadding) && intervalPadding >= 0) {\n // 配置组间距情况\n const normalizedIntervalPadding = intervalPadding / xDimensionLength;\n normalizedSize = (1 - (count - 1) * normalizedIntervalPadding) / count;\n } else {\n // 默认情况\n normalizedSize *= wr;\n }\n // 分组柱状图\n if (geometry.getAdjust('dodge')) {\n const dodgeAdjust = geometry.getAdjust('dodge');\n const dodgeBy = dodgeAdjust.dodgeBy;\n const dodgeCount = getDodgeCount(dataArray, dodgeBy);\n if (!isNil(dodgePadding) && dodgePadding >= 0) {\n // 仅配置组内间距情况\n const normalizedDodgePadding = dodgePadding / xDimensionLength;\n normalizedSize = (normalizedSize - normalizedDodgePadding * (dodgeCount - 1)) / dodgeCount;\n } else if (!isNil(intervalPadding) && intervalPadding >= 0) {\n // 设置组间距但未设置组内间距情况,避免组间距过小导致图形重叠,需乘以wr\n normalizedSize *= wr;\n normalizedSize = normalizedSize / dodgeCount;\n } else {\n // 组间距和组内间距均未配置\n normalizedSize = normalizedSize / dodgeCount;\n }\n normalizedSize = normalizedSize >= 0 ? normalizedSize : 0;\n }\n\n // 最大和最小限制\n if (!isNil(maxColumnWidth) && maxColumnWidth >= 0) {\n const normalizedMaxColumnWidth = maxColumnWidth / xDimensionLength;\n if (normalizedSize > normalizedMaxColumnWidth) {\n normalizedSize = normalizedMaxColumnWidth;\n }\n }\n\n // \bminColumnWidth可能设置为0\n if (!isNil(minColumnWidth) && minColumnWidth >= 0) {\n const normalizedMinColumnWidth = minColumnWidth / xDimensionLength;\n if (normalizedSize < normalizedMinColumnWidth) {\n normalizedSize = normalizedMinColumnWidth;\n }\n }\n\n return normalizedSize;\n}\n","import { get } from '@antv/util';\nimport { Datum, MappingDatum, ShapeInfo, LooseObject } from '../interface';\nimport { ShapeAttrs } from '../dependents';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry, { GeometryCfg } from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/interval';\nimport { getDefaultSize } from './util/shape-size';\nimport { getMaxScale } from '../util/scale';\n\n/** Path 构造函数参数类型 */\nexport interface IntervalCfg extends GeometryCfg {\n /** shape 背景,只对 Interval Geometry 生效,目前只对 interval-rect shape 生效。 */\n background?: { style?: ShapeAttrs };\n}\n\n/**\n * Interval 几何标记。\n * 用于绘制柱状图、饼图、条形图、玫瑰图等。\n */\nexport default class Interval extends Geometry {\n public readonly type: string = 'interval';\n public readonly shapeType: string = 'interval';\n /** shape 背景。目前只对 interval-rect shape 生效。 */\n protected background?: { style?: ShapeAttrs };\n protected generatePoints: boolean = true;\n\n constructor(cfg: IntervalCfg) {\n super(cfg);\n\n const { background } = cfg;\n this.background = background;\n }\n\n /**\n * 获取每条数据的 Shape 绘制信息\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg = super.createShapePointsCfg(obj);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, obj)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n\n /**\n * 调整 y 轴的 scale 范围。\n * 对于 Y 轴为数值轴柱状图,默认从 0 开始 生长。\n */\n protected adjustScale() {\n super.adjustScale();\n const yScale = this.getYScale();\n // 特殊逻辑:饼图需要填充满整个空间\n if (this.coordinate.type === 'theta') {\n yScale.change({\n nice: false,\n min: 0,\n // 发生过 stack 调整,yScale 的 max 被调整过,this.updateStackRange()\n max: getMaxScale(yScale),\n });\n } else {\n // 柱状图数值轴默认从 0 开始\n const scaleDefs = this.scaleDefs;\n const { field, min, max, type } = yScale;\n if (type !== 'time') {\n // time 类型不做调整\n // 柱状图的 Y 轴要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (min > 0 && !get(scaleDefs, [field, 'min'])) {\n yScale.change({\n min: 0,\n });\n }\n // 柱当柱状图全为负值时也需要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (max <= 0 && !get(scaleDefs, [field, 'max'])) {\n yScale.change({\n max: 0,\n });\n }\n }\n }\n }\n\n /**\n * @override\n */\n protected getDrawCfg(mappingData: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingData);\n shapeCfg.background = this.background;\n\n return shapeCfg;\n }\n}\n","import Path, { PathCfg } from './path';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/line';\n\n/**\n * Line 几何标记。\n * 常用于折线图的绘制。\n */\nexport default class Line extends Path {\n public type: string = 'line';\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { sortable = false } = cfg; // 关闭默认的 X 轴数据排序\n this.sortable = sortable;\n }\n}\n","import { IGroup, IShape } from '../../../dependents';\nimport { ShapeInfo } from '../../../interface';\nimport { MarkerSymbols } from '../../../util/marker';\nimport { getStyle } from '../util/get-style';\n\nexport const SHAPES = ['circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down'];\nexport const HOLLOW_SHAPES = ['cross', 'tick', 'plus', 'hyphen', 'line'];\n\n/**\n * @ignore\n * Draws points\n * @param shape\n * @param cfg\n * @param container\n * @param shapeName\n * @param isStroke\n * @returns points\n */\nexport function drawPoints(\n shape,\n cfg: ShapeInfo,\n container: IGroup,\n shapeName: string,\n isStroke: boolean\n): IShape | IGroup {\n const style = getStyle(cfg, isStroke, !isStroke, 'r');\n const points = shape.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...point,\n },\n });\n }\n return group;\n }\n\n return container.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...pointPosition,\n },\n });\n}\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { splitPoints } from '../util/split-points';\nimport { drawPoints, SHAPES } from './util';\n\nconst PointShapeFactory = registerShapeFactory('point', {\n defaultShapeType: 'hollow-circle',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\neach(SHAPES, (shapeName: string) => {\n // 添加该 shape 对应的 hollow-shape\n registerShape('point', `hollow-${shapeName}`, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n\nexport default PointShapeFactory;\n","import { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry from './base';\n/** 引入 Point 对应的 ShapeFactory */\nimport './shape/point';\n\n/**\n * Point 几何标记。\n * 常用于绘制点图。\n */\nexport default class Point extends Geometry {\n public readonly type: string = 'point';\n public readonly shapeType: string = 'point';\n protected generatePoints: boolean = true;\n\n /**\n * 获取一个点的绘制信息。\n * @param mappingDatum\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingDatum);\n\n return {\n ...shapeCfg,\n isStack: !!this.getAdjust('stack'), // 层叠点图\n };\n }\n}\n","import { each, isEmpty, isEqual, last } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getPath(points: any[]) {\n let flag: any = points[0];\n let i = 1;\n\n const path = [['M', flag.x, flag.y]];\n\n while (i < points.length) {\n const c: any = points[i];\n if (c.x !== points[i - 1].x || c.y !== points[i - 1].y) {\n path.push(['L', c.x, c.y]);\n if (c.x === flag.x && c.y === flag.y && i < points.length - 1) {\n flag = points[i + 1];\n path.push(['Z']);\n path.push(['M', flag.x, flag.y]);\n i++;\n }\n }\n i++;\n }\n\n if (!isEqual(last(path), flag)) {\n path.push(['L', flag.x, flag.y]);\n }\n\n path.push(['Z']);\n\n return path;\n}\n\nconst PolygonShapeFactory = registerShapeFactory('polygon', {\n defaultShapeType: 'polygon',\n getDefaultPoints(pointInfo: ShapePoint) {\n const points = [];\n each(pointInfo.x as number[], (subX, index) => {\n const subY = pointInfo.y[index];\n points.push({\n x: subX,\n y: subY,\n });\n });\n return points;\n },\n});\n\nregisterShape('polygon', 'polygon', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default PolygonShapeFactory;\n","import { isArray } from '@antv/util';\nimport { Datum } from '../interface';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/polygon';\n\n/**\n * Polygon 几何标记。\n * 常用于绘制色块图、日历图等。\n */\nexport default class Polygon extends Geometry {\n public readonly type: string = 'polygon';\n public readonly shapeType: string = 'polygon';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param obj\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg: any = super.createShapePointsCfg(obj);\n let x = cfg.x;\n let y = cfg.y;\n let temp;\n // x y 都是数组时,不做处理\n if (!(isArray(x) && isArray(y))) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xCount = xScale.values.length;\n const yCount = yScale.values.length;\n const xOffset = (0.5 * 1) / xCount;\n const yOffset = (0.5 * 1) / yCount;\n\n if (xScale.isCategory && yScale.isCategory) {\n // 如果x,y都是分类\n x = [x - xOffset, x - xOffset, x + xOffset, x + xOffset];\n y = [y - yOffset, y + yOffset, y + yOffset, y - yOffset];\n } else if (isArray(x)) {\n // x 是数组\n temp = x;\n x = [temp[0], temp[0], temp[1], temp[1]];\n y = [y - yOffset / 2, y + yOffset / 2, y + yOffset / 2, y - yOffset / 2];\n } else if (isArray(y)) {\n // y 是数组\n temp = y;\n y = [temp[0], temp[1], temp[1], temp[0]];\n x = [x - xOffset / 2, x - xOffset / 2, x + xOffset / 2, x + xOffset / 2];\n }\n cfg.x = x;\n cfg.y = y;\n }\n return cfg;\n }\n}\n","import { registerShapeFactory } from '../base';\n\nconst SchemaShapeFactory = registerShapeFactory('schema', {\n defaultShapeType: '', // 'schema' is for some custom shapes, so will not specify defaultShapeType\n});\n\nexport default SchemaShapeFactory;\n","import { LooseObject } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/schema';\nimport { getDefaultSize } from './util/shape-size';\n\n/**\n * Schema 几何标记,用于一些自定义图形的绘制,比如箱型图、股票图等。\n */\nexport default class Schema extends Geometry {\n public readonly type: string = 'schema';\n public readonly shapeType: string = 'schema';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: LooseObject) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n}\n","import { each, max, map, isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ViolinShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\nfunction normalizeSize(arr: number[]) {\n if (!isArray(arr)) {\n return [];\n }\n const maxValue = max(arr);\n return map(arr, (num) => num / maxValue);\n}\n\nconst ViolinShapeFactory = registerShapeFactory('violin', {\n defaultShapeType: 'violin',\n getDefaultPoints(pointInfo: ViolinShapePoint) {\n const radius = pointInfo.size / 2;\n const points = [];\n const sizeArr = normalizeSize(pointInfo._size);\n\n each(pointInfo.y as number[], (y, index) => {\n const offset = sizeArr[index] * radius;\n const isMin = index === 0;\n const isMax = index === (pointInfo.y as number[]).length - 1;\n points.push({\n isMin,\n isMax,\n x: (pointInfo.x as number) - offset,\n y,\n });\n points.unshift({\n isMin,\n isMax,\n x: (pointInfo.x as number) + offset,\n y,\n });\n });\n return points;\n },\n});\n\nregisterShape('violin', 'violin', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'violin',\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default ViolinShapeFactory;\n","import { get } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Datum, ViolinShapePoint } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport { getDefaultSize } from './util/shape-size';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/violin';\n\n/**\n * Violin 几何标记。\n * 用于绘制小提琴图。\n */\nexport default class Violin extends Geometry {\n public readonly type: string = 'violin';\n public readonly shapeType: string = 'violin';\n protected generatePoints: boolean = true;\n /** size 私有映射字段 */\n private _sizeField: string;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: Datum) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n cfg._size = get(record[FIELD_ORIGIN], [this._sizeField]);\n return cfg;\n }\n\n /**\n * @override\n */\n protected initAttributes() {\n const { attributeOption } = this;\n const sizeField = attributeOption.size\n ? attributeOption.size.fields[0]\n : this._sizeField\n ? this._sizeField\n : 'size';\n this._sizeField = sizeField;\n // fixme 干啥要删掉\n delete attributeOption.size;\n super.initAttributes();\n }\n}\n","import { each } from '@antv/util';\nimport { Point } from '../../../interface';\n\n/**\n * @ignore\n * Gets cpath\n * @param from\n * @param to\n * @returns\n */\nexport function getCPath(from: Point, to: Point) {\n return ['C', (from.x * 1) / 2 + (to.x * 1) / 2, from.y, (from.x * 1) / 2 + (to.x * 1) / 2, to.y, to.x, to.y];\n}\n\n/**\n * @ignore\n * Gets qpath\n * @param to\n * @param center\n * @returns\n */\nexport function getQPath(to: Point, center: Point) {\n const points = [];\n points.push({\n x: center.x,\n y: center.y,\n });\n points.push(to);\n\n const sub = ['Q'];\n each(points, (point) => {\n sub.push(point.x, point.y);\n });\n\n return sub;\n}\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getShapeAttrs } from './util';\n\n/**\n * 描边但不填充的区域图\n */\nregisterShape('area', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, true, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/**\n * 填充的平滑曲面图\n */\nregisterShape('area', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, false, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/** 描边的平滑曲面图 */\nregisterShape('area', 'smooth-line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, true, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { getArcPath } from '../../../util/graphics';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath, getQPath } from './util';\n\nfunction getArcShapePath(from: Point, to: Point, center: Point) {\n const sub = getQPath(to, center);\n const path = [['M', from.x, from.y]];\n path.push(sub);\n return path;\n}\n\nfunction getArcShapeWeightPath(points: Point[], center: Point) {\n const arc1 = getQPath(points[1], center);\n const arc2 = getQPath(points[3], center);\n const path = [['M', points[0].x, points[0].y]];\n path.push(arc2);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['L', points[2].x, points[2].y]);\n path.push(arc1);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['L', points[0].x, points[0].y]);\n path.push(['Z']);\n return path;\n}\n\n// 弧线包括笛卡尔坐标系下的半圆弧线、极坐标系下以圆心为控制点的二阶曲线、笛卡尔坐标系下带权重的三阶曲线、极坐标系下带权重的以圆心为控制点的二阶曲线\nregisterShape('edge', 'arc', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n\n let points = cfg.points as Point[];\n const type = points.length > 2 ? 'weight' : 'normal';\n let path;\n if (cfg.isInCircle) {\n const center = { x: 0, y: 1 };\n if (type === 'normal') {\n path = getArcShapePath(points[0], points[1], center);\n } else {\n style.fill = style.stroke;\n path = getArcShapeWeightPath(points, center);\n }\n path = this.parsePath(path);\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n if (type === 'normal') {\n points = this.parsePoints(points);\n path = getArcPath(\n (points[1].x + points[0].x) / 2,\n points[0].y,\n Math.abs(points[1].x - points[0].x) / 2,\n Math.PI,\n Math.PI * 2\n );\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n const c1 = getCPath(points[1], points[3]);\n const c2 = getCPath(points[2], points[0]);\n\n path = [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n c1,\n ['L', points[3].x, points[3].y],\n ['L', points[2].x, points[2].y],\n c2,\n ['Z'],\n ];\n path = this.parsePath(path);\n style.fill = style.stroke;\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n }\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath } from './util';\n\nfunction getSmoothPath(from: Point, to: Point) {\n const sub = getCPath(from, to);\n const path = [['M', from.x, from.y]];\n\n path.push(sub);\n return path;\n}\n\nregisterShape('edge', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getSmoothPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nconst CORNER_PERCENT = 1 / 3;\n\nfunction getVHVPath(from: Point, to: Point) {\n const points = [];\n points.push({\n x: from.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push({\n x: to.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push(to);\n\n const path = [['M', from.x, from.y]];\n each(points, (point) => {\n path.push(['L', point.x, point.y]);\n });\n\n return path;\n}\n\nregisterShape('edge', 'vhv', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getVHVPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 漏斗图 */\nregisterShape('interval', 'funnel', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { BACKGROUND_SHAPE } from '../constant';\nimport { getBackgroundRectStyle, getStyle } from '../util/get-style';\nimport { getBackgroundRectPath, getRectPath } from './util';\n\n/** 描边柱状图 */\nregisterShape('interval', 'hollow-rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n let group = container;\n const backgroundCfg = cfg?.background;\n if (backgroundCfg) {\n group = container.addGroup();\n const backgroundStyle = getBackgroundRectStyle(cfg);\n const backgroundPath = getBackgroundRectPath(cfg, this.parsePoints(cfg.points) as Point[], this.coordinate);\n group.addShape('path', {\n attrs: {\n ...backgroundStyle,\n path: backgroundPath,\n },\n zIndex: -1,\n name: BACKGROUND_SHAPE,\n });\n }\n\n const path = this.parsePath(getRectPath(cfg.points as Point[]));\n const shape = group.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return backgroundCfg ? group : shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath } from './util';\nimport { omit } from '../../../util/helper';\n\n// 根据数据点生成 Line 的两个关键点\nfunction getLinePoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0 } = pointInfo;\n\n if (isArray(y)) {\n return y.map((yItem, idx) => {\n return {\n x: isArray(x) ? x[idx] : x,\n y: yItem,\n };\n });\n }\n\n // 起始点从 y0 开始\n return [\n { x: x as number, y: y0 },\n { x: x as number, y },\n ];\n}\n\nregisterShape('interval', 'line', {\n getPoints(shapePoint: ShapePoint) {\n return getLinePoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const newStyle = omit({ ...style }, ['fill']);\n const path = this.parsePath(getRectPath(cfg.points as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...newStyle,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 金字塔图,尖底漏斗图 */\nregisterShape('interval', 'pyramid', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], true));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\n// 根据数据点生成 tick shape 的 6 个关键点\nfunction getTickPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n const xMax = (x as number) + size / 2;\n const xMin = (x as number) - size / 2;\n\n // tick 关键点顺序\n // 4 - 1 - 5\n // |\n // 2 - 0 - 3\n return [\n { x: x as number, y: yMin },\n { x: x as number, y: yMax },\n { x: xMin, y: yMin },\n { x: xMax, y: yMin },\n { x: xMin, y: yMax },\n { x: xMax, y: yMax },\n ];\n}\n\n// 根据 tick 关键点绘制 path\nfunction getTickPath(points: Point[]) {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ];\n}\n\n/** I 形状柱状图,常用于 error bar chart */\nregisterShape('interval', 'tick', {\n getPoints(shapePoint: ShapePoint) {\n return getTickPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getTickPath(cfg.points as Point[]));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLineMarker } from './util';\n\nconst interpolateCallback = (point: Point, nextPoint: Point, shapeType: string) => {\n const x = point.x as number;\n const y = point.y as number;\n const nextX = nextPoint.x as number;\n const nextY = nextPoint.y as number;\n let result;\n\n switch (shapeType) {\n case 'hv':\n result = [{ x: nextX, y }];\n break;\n case 'vh':\n result = [{ x, y: nextY }];\n break;\n case 'hvh':\n const middleX = (nextX + x) / 2;\n result = [\n { x: middleX, y },\n { x: middleX, y: nextY },\n ];\n break;\n case 'vhv':\n const middleY = (y + nextY) / 2;\n result = [\n { x, y: middleY },\n { x: nextX, y: middleY },\n ];\n break;\n default:\n break;\n }\n\n return result;\n};\n\nfunction getInterpolatePoints(points: Point[], shapeType: string) {\n let result = [];\n each(points, (point: Point, index) => {\n const nextPoint = points[index + 1];\n result.push(point);\n if (nextPoint) {\n const interpolatePoint = interpolateCallback(point, nextPoint, shapeType);\n result = result.concat(interpolatePoint);\n }\n });\n return result;\n}\n\n// 插值的图形path,不考虑null\nfunction getInterpolatePath(points: Point[]) {\n return points.map((point, index) => {\n return index === 0 ? ['M', point.x, point.y] : ['L', point.x, point.y];\n });\n}\n\n// 插值的图形\nfunction getInterpolateShapeAttrs(cfg: ShapeInfo, shapeType: string) {\n const points = getPathPoints(cfg.points, cfg.connectNulls, cfg.showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n each(points, (eachLinePoints) => {\n const interpolatePoints = getInterpolatePoints(eachLinePoints, shapeType);\n path = path.concat(getInterpolatePath(interpolatePoints));\n });\n\n return {\n ...getStyle(cfg, true, false, 'lineWidth'),\n path,\n };\n}\n\n// step line\neach(['hv', 'vh', 'hvh', 'vhv'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getInterpolateShapeAttrs(cfg, shapeType);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n","import { isArray, isNil } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction parseValue(value: number[]) {\n const array = !isArray(value) ? [value] : value;\n\n const min = array[0]; // 最小值\n const max = array[array.length - 1]; // 最大值\n const min1 = array.length > 1 ? array[1] : min;\n const max1 = array.length > 3 ? array[3] : max;\n const median = array.length > 2 ? array[2] : min1;\n\n return {\n min, // 最小值\n max, // 最大值\n min1,\n max1,\n median,\n };\n}\n\nfunction getBoxPoints(x: number | number[], y: number | number[], size: number): Point[] {\n const halfSize = size / 2;\n let pointsArray;\n if (isArray(y)) {\n // 2维\n const { min, max, median, min1, max1 } = parseValue(y);\n const minX = (x as number) - halfSize;\n const maxX = (x as number) + halfSize;\n pointsArray = [\n [minX, max],\n [maxX, max],\n [x as number, max],\n [x as number, max1],\n [minX, min1],\n [minX, max1],\n [maxX, max1],\n [maxX, min1],\n [x as number, min1],\n [x as number, min],\n [minX, min],\n [maxX, min],\n [minX, median],\n [maxX, median],\n ];\n } else {\n // 只有一个维度\n y = isNil(y) ? 0.5 : y;\n const { min, max, median, min1, max1 } = parseValue(x as number[]);\n const minY = y - halfSize;\n const maxY = y + halfSize;\n pointsArray = [\n [min, minY],\n [min, maxY],\n [min, y],\n [min1, y],\n [min1, minY],\n [min1, maxY],\n [max1, maxY],\n [max1, minY],\n [max1, y],\n [max, y],\n [max, minY],\n [max, maxY],\n [median, minY],\n [median, maxY],\n ];\n }\n\n return pointsArray.map((arr) => {\n return {\n x: arr[0],\n y: arr[1],\n };\n });\n}\n\nfunction getBoxPath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y], // 封闭 z\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x, points[10].y],\n ['L', points[11].x, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n}\n\n// box shape\nregisterShape('schema', 'box', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getBoxPoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getBoxPath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y - 6, y - 3, y, y + 3, y + 6];\n const points = getBoxPoints(x, yValues, r);\n return [\n ['M', points[0].x + 1, points[0].y],\n ['L', points[1].x - 1, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y],\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x + 1, points[10].y],\n ['L', points[11].x - 1, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n },\n style: {\n r: 6,\n lineWidth: 1,\n stroke: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { padEnd } from '../../../util/helper';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getCandleYValues(value: number | number[]) {\n const array = !isArray(value) ? [value] : value;\n // 从大到小排序\n const sorted = array.sort((a, b) => b - a);\n return padEnd(sorted, 4, sorted[sorted.length - 1]);\n}\n\n// get candle shape's key points\nfunction getCandlePoints(x: number, y: number[], size: number): Point[] {\n const yValues = getCandleYValues(y);\n return [\n { x, y: yValues[0] },\n { x, y: yValues[1] },\n { x: x - size / 2, y: yValues[2] },\n { x: x - size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[2] },\n { x, y: yValues[2] },\n { x, y: yValues[3] },\n ];\n}\n\nfunction getCandlePath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n}\n\n// k line shape\nregisterShape('schema', 'candle', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getCandlePoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, true);\n const path = this.parsePath(getCandlePath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y + 7.5, y + 3, y - 3, y - 7.5];\n const points = getCandlePoints(x, yValues, r);\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n },\n style: {\n lineWidth: 1,\n stroke: color,\n fill: color,\n r: 6,\n },\n };\n },\n});\n","import { isEmpty, clamp } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getRectAttrs(points: any[], size: number) {\n const width = Math.abs(points[0].x - points[2].x);\n const height = Math.abs(points[0].y - points[2].y);\n\n let len = Math.min(width, height);\n if (size) {\n len = clamp(size, 0, Math.min(width, height));\n }\n len = len / 2;\n const centerX = (points[0].x + points[2].x) / 2;\n const centerY = (points[0].y + points[2].y) / 2;\n\n return {\n x: centerX - len,\n y: centerY - len,\n width: len * 2,\n height: len * 2,\n };\n}\n\nregisterShape('polygon', 'square', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const points = this.parsePoints(cfg.points); // 转换为画布坐标\n return container.addShape('rect', {\n attrs: {\n ...shapeAttrs,\n ...getRectAttrs(points, cfg.size), // 获取 rect 绘图信息\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, HOLLOW_SHAPES } from './util';\n\n// 添加 hollowShape\neach(HOLLOW_SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName],\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nregisterShape('point', 'image', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const { r: size } = getStyle(cfg, false, false, 'r');\n const points = this.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape('image', {\n attrs: {\n x: (point.x as number) - size / 2,\n y: (point.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n }\n\n return group;\n }\n\n return container.addShape('image', {\n attrs: {\n x: (pointPosition.x as number) - size / 2,\n y: (pointPosition.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, SHAPES } from './util';\n\n// 所有的 SHAPES 都注册一下\neach(SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, false);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getSmoothViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\n/**\n * 平滑边界的小提琴图\n */\nregisterShape('violin', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, true);\n const path = this.parsePath(getSmoothViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n stroke: null,\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup, Point } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getSmoothViolinPath, getViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\n/**\n * 空心小提琴图\n */\nregisterShape('violin', 'hollow', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, false);\n const path = this.parsePath(getViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: null,\n stroke: color,\n },\n };\n },\n});\n\n/**\n * 平滑边界的空心小提琴图\n */\nregisterShape('violin', 'hollow-smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, false);\n const path = this.parsePath(getSmoothViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: null,\n stroke: color,\n },\n };\n },\n});\n","import { get, deepMix, isArray } from '@antv/util';\nimport { Writeable } from '../../util/types';\nimport { MappingDatum, Point } from '../../interface';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\n/**\n * 柱状图 label\n */\nexport default class IntervalLabel extends GeometryLabel {\n /**\n * 获取 interval label 的方向,取决于 value 的值是正还是负\n * @param labelCfg\n */\n private getLabelValueDir(mappingData: MappingDatum) {\n // points 中的 x/y 和 transpose 无关\n const dim = 'y';\n const { points } = mappingData;\n\n return points[0][dim] <= points[2][dim] ? 1 : -1;\n }\n\n /**\n * 重载:根据 interval 值的正负来调整 label 偏移量\n * @param labelCfg\n * @param index\n * @param total\n */\n protected getLabelOffsetPoint(labelCfg: LabelCfg, index: number, total: number, position?: string) {\n let point = super.getLabelOffsetPoint(labelCfg, index, total);\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const dir = this.getLabelValueDir(labelCfg.mappingData);\n point = { ...point, [dim]: point[dim] * dir };\n\n if (coordinate.isReflect('x')) {\n point = {\n ...point,\n x: point.x * -1,\n };\n }\n if (coordinate.isReflect('y')) {\n point = {\n ...point,\n y: point.y * -1,\n };\n }\n\n return point;\n }\n\n /**\n * 重载:定制 interval label 的默认主题配置\n * @param labelCfg\n */\n protected getThemedLabelCfg(labelCfg: LabelCfg) {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { theme } = geometry;\n\n // 如果 interval label position 设置为 middle,则将主题中的 offset 覆盖为 0\n return deepMix({}, defaultLabelCfg, theme.labels, labelCfg.position === 'middle' ? { offset: 0 } : {}, labelCfg);\n }\n\n protected setLabelPosition(\n labelPointCfg: Writeable,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const shapePoints = mappingData.points as Point[];\n const point0 = coordinate.convert(shapePoints[0]);\n const point2 = coordinate.convert(shapePoints[2]);\n const dir = this.getLabelValueDir(mappingData);\n\n let top;\n let right;\n let bottom;\n let left;\n\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n if (shape === 'funnel' || shape === 'pyramid') {\n // 处理漏斗图\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const p0 = coordinate.convert(points[0] as Point);\n const p1 = coordinate.convert(points[1] as Point);\n const nextP0 = coordinate.convert(nextPoints[0] as Point);\n const nextP1 = coordinate.convert(nextPoints[1] as Point);\n\n // TODO: 使用包围盒的计算方法\n if (transposed) {\n top = Math.min(nextP0.y, p0.y);\n bottom = Math.max(nextP0.y, p0.y);\n right = (p1.x + nextP1.x) / 2;\n left = (p0.x + nextP0.x) / 2;\n } else {\n top = Math.min((p1.y + nextP1.y) / 2, (p0.y + nextP0.y) / 2);\n bottom = Math.max((p1.y + nextP1.y) / 2, (p0.y + nextP0.y) / 2);\n right = nextP1.x;\n left = p0.x;\n }\n } else {\n top = Math.min(point2.y, point0.y);\n bottom = Math.max(point2.y, point0.y);\n right = point2.x;\n left = point0.x;\n }\n } else {\n top = Math.min(point2.y, point0.y);\n bottom = Math.max(point2.y, point0.y);\n right = point2.x;\n left = point0.x;\n }\n\n switch (position) {\n case 'right':\n labelPointCfg.x = right;\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', dir > 0 ? 'left' : 'right');\n break;\n case 'left':\n labelPointCfg.x = left;\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', dir > 0 ? 'left' : 'right');\n break;\n case 'bottom':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = bottom;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', dir > 0 ? 'bottom' : 'top');\n break;\n case 'middle':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', 'middle');\n break;\n case 'top':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = top;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', dir > 0 ? 'bottom' : 'top');\n break;\n default:\n break;\n }\n }\n}\n","import { each, get, isArray, map, isNumber, isString } from '@antv/util';\nimport { MappingDatum, Point } from '../../interface';\nimport { getDistanceToCenter } from '../../util/coordinate';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, PolarLabelItem, LabelPointCfg, Writeable } from './interface';\n\nconst HALF_PI = Math.PI / 2;\n\n/**\n * 极坐标下的图形 label\n */\nexport default class PolarLabel extends GeometryLabel {\n /**\n * @override\n * @desc 获取 label offset\n * polar & theta coordinate support「string」type, should transform to 「number」\n */\n protected getLabelOffset(offset: number | string): number {\n const coordinate = this.getCoordinate();\n let actualOffset = 0;\n if (isNumber(offset)) {\n actualOffset = offset;\n } else if (isString(offset) && offset.indexOf('%') !== -1) {\n let r = coordinate.getRadius();\n if (coordinate.innerRadius > 0) {\n r = r * (1 - coordinate.innerRadius);\n }\n actualOffset = parseFloat(offset) * 0.01 * r;\n }\n\n return actualOffset;\n }\n\n /**\n * @override\n * 获取 labelItems, 增加切片 percent\n * @param mapppingArray\n */\n public getLabelItems(mapppingArray: MappingDatum[]): PolarLabelItem[] {\n const items = super.getLabelItems(mapppingArray);\n const yScale = this.geometry.getYScale();\n\n return map(items, (item) => {\n if (item && yScale) {\n const percent = yScale.scale(get(item.data, yScale.field));\n return { ...item, percent };\n }\n return item;\n });\n }\n /**\n * @override\n * 获取文本的对齐方式\n * @param point\n */\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n let align;\n if (point.labelEmit) {\n align = point.angle <= Math.PI / 2 && point.angle >= -Math.PI / 2 ? 'left' : 'right';\n } else if (!coordinate.isTransposed) {\n align = 'center';\n } else {\n const center = coordinate.getCenter();\n const offset = point.offset;\n if (Math.abs(point.x - center.x) < 1) {\n align = 'center';\n } else if (point.angle > Math.PI || point.angle <= 0) {\n align = offset > 0 ? 'left' : 'right';\n } else {\n align = offset > 0 ? 'right' : 'left';\n }\n }\n return align;\n }\n\n /**\n * @override\n * 获取 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n let factor = 1;\n let arcPoint;\n const content = labelCfg.content[index];\n if (this.isToMiddle(mappingData)) {\n arcPoint = this.getMiddlePoint(mappingData.points as Point[]);\n } else {\n if (labelCfg.content.length === 1 && index === 0) {\n index = 1;\n } else if (index === 0) {\n factor = -1;\n }\n arcPoint = this.getArcPoint(mappingData, index);\n }\n\n const offset = labelCfg.offset * factor;\n const middleAngle = this.getPointAngle(arcPoint);\n const isLabelEmit = labelCfg.labelEmit;\n const labelPositionCfg: Writeable = this.getCirclePoint(middleAngle, offset, arcPoint, isLabelEmit);\n if (labelPositionCfg.r === 0) {\n // 如果文本位置位于圆心,则不展示\n labelPositionCfg.content = '';\n } else {\n labelPositionCfg.content = content;\n labelPositionCfg.angle = middleAngle;\n labelPositionCfg.color = mappingData.color;\n }\n\n labelPositionCfg.rotate = labelCfg.autoRotate\n ? this.getLabelRotate(middleAngle, offset, isLabelEmit)\n : labelCfg.rotate;\n labelPositionCfg.start = {\n x: arcPoint.x,\n y: arcPoint.y,\n };\n return labelPositionCfg;\n }\n\n /**\n * 获取圆弧的位置\n */\n protected getArcPoint(mappingData: MappingDatum, index: number = 0): Point {\n if (!isArray(mappingData.x) && !isArray(mappingData.y)) {\n return {\n x: mappingData.x,\n y: mappingData.y,\n };\n }\n\n return {\n x: isArray(mappingData.x) ? mappingData.x[index] : mappingData.x,\n y: isArray(mappingData.y) ? mappingData.y[index] : mappingData.y,\n };\n }\n\n /**\n * 计算坐标线点在极坐标系下角度\n * @param point\n */\n protected getPointAngle(point: Point): number {\n return getAngleByPoint(this.getCoordinate(), point);\n }\n\n /**\n * 获取坐标点与圆心形成的圆的位置信息\n * @param angle\n * @param offset\n * @param point\n * @param isLabelEmit\n */\n protected getCirclePoint(angle: number, offset: number, point: Point, isLabelEmit: boolean) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n let r = getDistanceToCenter(coordinate, point);\n if (r === 0) {\n return {\n ...center,\n r,\n };\n }\n\n let labelAngle = angle;\n if (coordinate.isTransposed && r > offset && !isLabelEmit) {\n const appendAngle = Math.asin(offset / (2 * r));\n labelAngle = angle + appendAngle * 2;\n } else {\n r = r + offset;\n }\n\n return {\n x: center.x + r * Math.cos(labelAngle),\n y: center.y + r * Math.sin(labelAngle),\n r,\n };\n }\n\n /**\n * 获取 label 的旋转角度\n * @param angle\n * @param offset\n * @param isLabelEmit\n */\n protected getLabelRotate(angle: number, offset: number, isLabelEmit: boolean) {\n let rotate = angle + HALF_PI;\n if (isLabelEmit) {\n rotate -= HALF_PI;\n }\n if (rotate) {\n if (rotate > HALF_PI) {\n rotate = rotate - Math.PI;\n } else if (rotate < -HALF_PI) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n // 获取中心的位置\n private getMiddlePoint(points: Point[]) {\n const coordinate = this.getCoordinate();\n const count = points.length;\n let middlePoint = {\n x: 0,\n y: 0,\n };\n each(points, (point: Point) => {\n middlePoint.x += point.x;\n middlePoint.y += point.y;\n });\n middlePoint.x /= count;\n middlePoint.y /= count;\n\n middlePoint = coordinate.convert(middlePoint);\n return middlePoint;\n }\n\n // 是否居中\n private isToMiddle(mappingData: MappingDatum) {\n return (mappingData.x as number[]).length > 2;\n }\n}\n","import { deepMix, get, isArray } from '@antv/util';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { LabelItem } from './interface';\nimport PolarLabel from './polar';\n\n/**\n * 饼图 label\n */\nexport default class PieLabel extends PolarLabel {\n public defaultLayout = 'distribute';\n\n protected getDefaultLabelCfg(offset?: number, position?: string) {\n const cfg = super.getDefaultLabelCfg(offset, position);\n return deepMix({}, cfg, get(this.geometry.theme, 'pieLabels', {}));\n }\n\n /** @override */\n protected getLabelOffset(offset: string | number): number {\n return super.getLabelOffset(offset) || 0;\n }\n\n protected getLabelRotate(angle: number, offset: number, isLabelLimit: boolean) {\n let rotate;\n if (offset < 0) {\n rotate = angle;\n if (rotate > Math.PI / 2) {\n rotate = rotate - Math.PI;\n }\n if (rotate < -Math.PI / 2) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n\n let align;\n if (point.angle <= Math.PI / 2 && point.x >= center.x) {\n align = 'left';\n } else {\n align = 'right';\n }\n if (point.offset <= 0) {\n if (align === 'right') {\n align = 'left';\n } else {\n align = 'right';\n }\n }\n return align;\n }\n\n protected getArcPoint(point) {\n return point;\n }\n\n protected getPointAngle(point) {\n const coordinate = this.getCoordinate();\n const startPoint = {\n x: isArray(point.x) ? point.x[0] : point.x,\n y: point.y[0],\n };\n const endPoint = {\n x: isArray(point.x) ? point.x[1] : point.x,\n y: point.y[1],\n };\n let angle;\n const startAngle = getAngleByPoint(coordinate, startPoint);\n if (point.points && point.points[0].y === point.points[1].y) {\n angle = startAngle;\n } else {\n let endAngle = getAngleByPoint(coordinate, endPoint);\n if (startAngle >= endAngle) {\n // 100% pie slice\n endAngle = endAngle + Math.PI * 2;\n }\n angle = startAngle + (endAngle - startAngle) / 2;\n }\n return angle;\n }\n\n /** @override */\n protected getCirclePoint(angle: number, offset: number) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n const r = coordinate.getRadius() + offset;\n return {\n ...polarToCartesian(center.x, center.y, r, angle),\n angle,\n r,\n };\n }\n}\n","import { PolarLabelItem } from '../../interface';\n\n/**\n * 碰撞检测算法\n */\nexport function antiCollision(\n items: PolarLabelItem[],\n labelHeight: number,\n plotRange: { minY: number; maxY: number; minX: number; maxX: number }\n) {\n const labels = items.filter((item) => !item.invisible);\n\n // sorted by y, mutable\n labels.sort((a, b) => a.y - b.y);\n // adjust y position of labels to avoid overlapping\n let overlapping = true;\n const startY = plotRange.minY;\n const endY = plotRange.maxY;\n let totalHeight = Math.abs(startY - endY);\n let i;\n\n let maxY = 0;\n let minY = Number.MIN_VALUE;\n const boxes = labels.map((label) => {\n if (label.y > maxY) {\n maxY = label.y;\n }\n if (label.y < minY) {\n minY = label.y;\n }\n return {\n content: label.content,\n size: labelHeight,\n targets: [label.y - startY],\n pos: null,\n };\n });\n\n minY -= startY;\n if (maxY - startY > totalHeight) {\n totalHeight = maxY - startY;\n }\n\n while (overlapping) {\n /* eslint no-loop-func: 0 */\n boxes.forEach((box) => {\n const target = (Math.min.apply(minY, box.targets) + Math.max.apply(minY, box.targets)) / 2;\n box.pos = Math.min(Math.max(minY, target - box.size / 2), totalHeight - box.size);\n box.pos = Math.max(0, box.pos);\n });\n\n // detect overlapping and join boxes\n overlapping = false;\n i = boxes.length;\n while (i--) {\n if (i > 0) {\n const previousBox = boxes[i - 1];\n const box = boxes[i];\n if (previousBox.pos + previousBox.size > box.pos) {\n // overlapping\n previousBox.size += box.size;\n previousBox.targets = previousBox.targets.concat(box.targets);\n\n // overflow, shift up\n if (previousBox.pos + previousBox.size > totalHeight) {\n previousBox.pos = totalHeight - previousBox.size;\n }\n boxes.splice(i, 1); // removing box\n overlapping = true;\n }\n }\n }\n }\n\n i = 0;\n // step 4: normalize y and adjust x\n boxes.forEach((b) => {\n let posInCompositeBox = startY + labelHeight / 2; // middle of the label\n b.targets.forEach(() => {\n labels[i].y = b.pos + posInCompositeBox;\n posInCompositeBox += labelHeight;\n i++;\n });\n });\n}\n","import { each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { LabelItem } from '../interface';\n\nconst MAX_TIMES = 100;\n\n/** @ignore */\ninterface Bitmap {\n [key: number]: {\n [key: number]: boolean;\n };\n}\n\n/** @ignore */\ninterface GreedyCfg {\n readonly xGap?: number;\n readonly yGap?: number;\n}\n\n/**\n * @ignore\n * Greedy 贪婪算法\n */\nclass Greedy {\n public readonly xGap: number;\n /** optimizing for text overlapping detection: use a min text height as gap */\n public readonly yGap: number;\n\n private bitmap: Bitmap = {};\n\n constructor(cfg: GreedyCfg = {}) {\n const { xGap = 1, yGap = 8 } = cfg;\n this.xGap = xGap;\n this.yGap = yGap;\n }\n\n public hasGap(bbox: BBox): boolean {\n let hasGap = true;\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n continue;\n }\n if (i === minX || i === maxX) {\n for (let j = minY; j <= maxY; j++) {\n if (bitmap[i][j]) {\n hasGap = false;\n break;\n }\n }\n } else {\n if (bitmap[i][minY] || bitmap[i][maxY]) {\n hasGap = false;\n break;\n }\n }\n }\n return hasGap;\n }\n\n public fillGap(bbox: BBox): void {\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n // filling grid\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n }\n }\n for (let i = minX; i <= maxX; i += this.xGap) {\n for (let j = minY; j <= maxY; j += this.yGap) {\n bitmap[i][j] = true;\n }\n bitmap[i][maxY] = true;\n }\n\n // filling y edges\n if (this.yGap !== 1) {\n for (let i = minY; i <= maxY; i += 1) {\n bitmap[minX][i] = true;\n bitmap[maxX][i] = true;\n }\n }\n\n // filling x edges\n if (this.xGap !== 1) {\n for (let i = minX; i <= maxX; i += 1) {\n bitmap[i][minY] = true;\n bitmap[i][maxY] = true;\n }\n }\n }\n\n public destroy(): void {\n this.bitmap = {};\n }\n}\n\nfunction spiralFill(label: IShape, greedy: Greedy, maxTimes: number = MAX_TIMES) {\n const dt = -1;\n const { x, y } = label.attr();\n const bbox = label.getCanvasBBox();\n const maxDelta = Math.sqrt(bbox.width * bbox.width + bbox.height * bbox.height);\n let dxdy;\n let t = -dt;\n let dx = 0;\n let dy = 0;\n const f = (param: number) => {\n const nt = param * 0.1;\n return [nt * Math.cos(nt), nt * Math.sin(nt)];\n };\n\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n return true;\n }\n let canFill = false;\n let times = 0;\n const accessedCache = {};\n while (Math.min(Math.abs(dx), Math.abs(dy)) < maxDelta && times < maxTimes) {\n dxdy = f((t += dt));\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n if ((!dx && !dy) || accessedCache[`${dx}-${dy}`]) {\n continue;\n }\n label.attr({ x: x + dx, y: y + dy });\n if (dx + dy < 0) {\n label.attr('textAlign', 'right');\n }\n times++;\n if (greedy.hasGap(label.getCanvasBBox())) {\n greedy.fillGap(label.getCanvasBBox());\n canFill = true;\n accessedCache[`${dx}-${dy}`] = true;\n break;\n }\n }\n return canFill;\n}\n\n/*\n * 根据如下规则尝试放置label\n * 5\n * ------------------\n * | 1 | 0 |\n * 8 —————————4———————— 7\n * | 2 | 3 |\n * ——————————————————\n * 6\n */\nfunction adjustLabelPosition(label: IShape, x: number, y: number, index: number) {\n const { width, height } = label.getCanvasBBox();\n const attrs = {\n x,\n y,\n textAlign: 'center',\n };\n switch (index) {\n case 0:\n attrs.y -= height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 1:\n attrs.y -= height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 2:\n attrs.y += height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 3:\n attrs.y += height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 5:\n attrs.y -= height * 2 + 2;\n break;\n case 6:\n attrs.y += height * 2 + 2;\n break;\n case 7:\n attrs.x += width + 1;\n attrs.textAlign = 'left';\n break;\n case 8:\n attrs.x -= width + 1;\n attrs.textAlign = 'right';\n break;\n default:\n break;\n }\n label.attr(attrs);\n return label.getCanvasBBox();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行调整。\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function fixedOverlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n if (!spiralFill(labelShape, greedy)) {\n label.remove(true);\n }\n });\n greedy.destroy();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:为了防止 label 之间相互覆盖同时保证尽可能多 的 label 展示,通过尝试将 label 向**四周偏移**来剔除放不下的 label\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function overlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n const { x, y } = labelShape.attr();\n let canFill = false;\n for (let i = 0; i <= 8; i++) {\n const bbox = adjustLabelPosition(labelShape, x, y, i);\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n canFill = true;\n break;\n }\n }\n if (!canFill) {\n label.remove(true);\n }\n });\n\n greedy.destroy();\n}\n","import { isNumber } from '@antv/util';\nimport { vec2 } from '@antv/matrix-util';\nimport { BBox, Point } from '../dependents';\n\nconst { dot } = vec2;\ntype Vec2 = [number, number];\n\ntype Box = Pick & { rotation?: number };\n\n/**\n * 定义投影对象\n */\ntype Projection = { min: number; max: number };\n\n/**\n * @private\n * 1. 获取投影轴\n */\nfunction getAxes(points: Point[] /** 多边形的关键点 */): Vec2[] {\n // 目前先处理 平行矩形 的场景, 其他多边形不处理\n if (points.length > 4) {\n return [];\n }\n // 获取向量\n const vector = (start: Point, end: Point): Vec2 => {\n return [end.x - start.x, end.y - start.y];\n };\n\n // 由于 矩形的平行原理,所以只有 2 条投影轴: A -> B, B -> C\n const AB = vector(points[0], points[1]);\n const BC = vector(points[1], points[2]);\n\n return [AB, BC];\n}\n\n/**\n * @private\n * 绕指定点顺时针旋转后的点坐标\n * 默认绕原点旋转\n */\nfunction rotateAtPoint(point: Point, deg = 0, origin = { x: 0, y: 0 }): Point {\n const { x, y } = point;\n return {\n x: (x - origin.x) * Math.cos(-deg) + (y - origin.y) * Math.sin(-deg) + origin.x,\n y: (origin.x - x) * Math.sin(-deg) + (y - origin.y) * Math.cos(-deg) + origin.y,\n };\n}\n\n/**\n * @private\n * 转化为顶点坐标数组\n *\n * @param {Object} box\n */\nfunction getRectPoints(box: Box): Point[] {\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n\n const rotation = box.rotation;\n if (rotation) {\n return [\n rotateAtPoint(points[0], rotation, points[0]),\n rotateAtPoint(points[1], rotation, points[0]),\n rotateAtPoint(points[2], rotation, points[0]),\n rotateAtPoint(points[3], rotation, points[0]),\n ];\n }\n\n return points;\n}\n\n/**\n * @private\n * 2. 获取多边形在投影轴上的投影\n *\n * 向量的点积的其中一个几何含义是:一个向量在平行于另一个向量方向上的投影的数值乘积。\n * 由于投影轴是单位向量(长度为1),投影的长度为 x1 * x2 + y1 * y2\n */\nfunction getProjection(points: Point[] /** 多边形的关键点 */, axis: Vec2): Projection {\n // 目前先处理矩形的场景\n if (points.length > 4) {\n return { min: 0, max: 0 };\n }\n\n const scalars = [];\n points.forEach((point) => {\n scalars.push(dot([point.x, point.y], axis));\n });\n\n return { min: Math.min(...scalars), max: Math.max(...scalars) };\n}\n\nfunction isProjectionOverlap(projection1: Projection, projection2: Projection): boolean {\n return projection1.max > projection2.min && projection1.min < projection2.max;\n}\n\nfunction isValidNumber(d: number) {\n return isNumber(d) && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n}\n\nfunction isValidBox(box: Box) {\n return Object.values(box).every(isValidNumber);\n}\n\n/**\n * 快速判断两个无旋转矩形是否遮挡\n */\nexport function isIntersectRect(box1: Box, box2: Box, margin: number = 0): boolean {\n return !(\n box2.x > box1.x + box1.width + margin ||\n box2.x + box2.width < box1.x - margin ||\n box2.y > box1.y + box1.height + margin ||\n box2.y + box2.height < box1.y - margin\n );\n}\n\n/**\n * detect whether two shape is intersected, useful when shape is been rotated\n * 判断两个矩形是否重叠(相交和包含, 是否旋转)\n *\n * - 原理: 分离轴定律\n */\nexport function isIntersect(box1: Box, box2: Box) {\n // 如果两个 box 中有一个是不合法的 box,也就是不会被渲染出来的,那么它们就不相交。\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // 如果两个矩形没有旋转,使用快速判断\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = [...getAxes(rect1Points), ...getAxes(rect2Points)];\n\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n const projection1 = getProjection(rect1Points, axis);\n const projection2 = getProjection(rect2Points, axis);\n\n // 判断投影轴上的投影是否存在重叠,若检测到存在间隙则立刻退出判断,消除不必要的运算。\n if (!isProjectionOverlap(projection1, projection2)) return false;\n }\n\n return true;\n}\n","export var isColorProp = function (prop) { return ['fill', 'stroke', 'fillStyle', 'strokeStyle'].includes(prop); };\nexport var isGradientColor = function (val) { return /^[r,R,L,l]{1}[\\s]*\\(/.test(val); };\n//# sourceMappingURL=color.js.map","let ctx: CanvasRenderingContext2D;\n\n/**\n * 获取 canvas context\n */\nexport function getCanvasContext() {\n if (!ctx) {\n ctx = document.createElement('canvas').getContext('2d');\n }\n\n return ctx;\n}\n","import { IElement, IGroup, IShape } from '../../../../dependents';\nimport { BBox } from '../../../../util/bbox';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\nfunction shouldInShapeSingle(geometry: Geometry, label: IGroup, shape: IElement): boolean {\n const coordinate = geometry.coordinate;\n const textShape = findLabelTextShape(label);\n const textBBox = BBox.fromObject(textShape.getCanvasBBox());\n const shapeBBox = BBox.fromObject(shape.getBBox());\n\n return coordinate.isTransposed ? shapeBBox.height >= textBBox.height : shapeBBox.width >= textBBox.width;\n}\n\nfunction shouldInShape(geometry: Geometry, labels: IGroup[], shapes: IShape[] | IGroup[]): boolean {\n const isStack = !!geometry.getAdjust('stack');\n\n return (\n isStack ||\n labels.every((label: IGroup, index: number) => {\n const shape = shapes[index];\n return shouldInShapeSingle(geometry, label, shape);\n })\n );\n}\n\nfunction moveInShape(geometry: Geometry, label: IGroup, shape: IElement): void {\n const coordinate = geometry.coordinate;\n const shapeBBox = BBox.fromObject(shape.getBBox());\n const textShape = findLabelTextShape(label);\n\n if (coordinate.isTransposed) {\n // 水平方向:条形图系列\n textShape.attr({\n x: shapeBBox.minX + shapeBBox.width / 2,\n textAlign: 'center',\n });\n } else {\n // 垂直方向:柱形图系列\n textShape.attr({\n y: shapeBBox.minY + shapeBBox.height / 2,\n textBaseline: 'middle',\n });\n }\n}\n\n/**\n * 适用于 interval geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n */\nexport function intervalAdjustPosition(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[]) {\n if (shapes.length === 0) {\n return;\n }\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || geometry.type !== 'interval') {\n return;\n }\n\n const inShape = shouldInShape(geometry, labels, shapes);\n if (inShape) {\n shapes.forEach((shape: IShape | IGroup, index: number) => {\n const label = labels[index];\n moveInShape(geometry, label, shape);\n });\n }\n}\n","import { groupBy, keys, map } from '@antv/util';\nimport { IElement, IGroup, IShape, BBox } from '../../../../dependents';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\n/**\n * point-adjust-position layout 的配置类型\n */\nexport interface PointAdjustPositionLayoutCfg {\n offset?: number;\n}\n\n/**\n * 对同一组(相同 xField )的 Label 进行排序:第一个、最后一个、其他...\n * @param geometry\n * @param labels\n */\nfunction sortLabels(geometry: Geometry, labels: IGroup[]) {\n const yField = geometry.getXYFields()[1];\n const result: IGroup[] = [];\n const sortedLabels = labels.sort((left, right) => left.get('data')[yField] - left.get('data')[yField]);\n\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.shift());\n }\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.pop());\n }\n result.push(...sortedLabels);\n\n return result;\n}\n\nfunction hasSome(dones: IGroup[], current: IGroup, compare: (left: IGroup, right: IGroup) => boolean): boolean {\n return dones.some((done) => compare(done, current));\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nfunction getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/**\n * 判断新添加的 Label 是否和已存在的发生重叠\n * @param dones\n * @param current\n */\nfunction checkShapeOverlap(dones: IGroup[], current: IGroup): boolean {\n return hasSome(dones, current, (left, right) => {\n const leftText = findLabelTextShape(left);\n const rightText = findLabelTextShape(right);\n\n return getOverlapArea(leftText.getCanvasBBox(), rightText.getCanvasBBox(), 2) > 0;\n });\n}\n/**\n * 适用于 point geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n * @param region\n * @param cfg\n */\nexport function pointAdjustPosition(\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg: PointAdjustPositionLayoutCfg\n): void {\n if (shapes.length === 0) {\n return;\n }\n\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || geometry.type !== 'point') {\n return;\n }\n const [xField, yField] = geometry.getXYFields();\n const groupedLabels = groupBy(labels, (label) => label.get('data')[xField]);\n const dones: IGroup[] = [];\n const offset = (cfg && cfg.offset) || items[0]?.offset || 12;\n\n map(keys(groupedLabels).reverse(), (xValue) => {\n const sortedCollections = sortLabels(geometry, groupedLabels[xValue]);\n while (sortedCollections.length) {\n const current = sortedCollections.shift();\n const textShape = findLabelTextShape(current);\n if (\n hasSome(\n dones,\n current,\n (left, right) =>\n left.get('data')[xField] === right.get('data')[xField] &&\n left.get('data')[yField] === right.get('data')[yField]\n )\n ) {\n // 重复位置,直接隐藏\n textShape.set('visible', false);\n continue;\n }\n const upFail = checkShapeOverlap(dones, current);\n let downFail: boolean = false;\n if (upFail) {\n textShape.attr('y', textShape.attr('y') + 2 * offset);\n downFail = checkShapeOverlap(dones, current);\n }\n if (downFail) {\n textShape.set('visible', false);\n continue;\n }\n dones.push(current);\n }\n });\n}\n","import { groupBy, keys, map } from '@antv/util';\nimport { IElement, IGroup, IShape, BBox } from '../../../../dependents';\nimport { isIntersect } from '../../../../util/collision-detect';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\n/**\n * point-adjust-position layout 的配置类型\n */\nexport interface PointAdjustPositionLayoutCfg {\n offset?: number;\n}\n\n/**\n * 对同一组(相同 xField )的 Label 进行排序:第一个、最后一个、其他...\n * @param geometry\n * @param labels\n */\nfunction sortLabels(geometry: Geometry, labels: IGroup[]) {\n const yField = geometry.getXYFields()[1];\n const result: IGroup[] = [];\n const sortedLabels = labels.sort((left, right) => left.get('data')[yField] - left.get('data')[yField]);\n\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.shift());\n }\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.pop());\n }\n result.push(...sortedLabels);\n\n return result;\n}\n\nfunction hasSome(dones: IGroup[], current: IGroup, compare: (left: IGroup, right: IGroup) => boolean): boolean {\n return dones.some((done) => compare(done, current));\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nfunction getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/**\n * 判断新添加的 Label 是否和已存在的发生重叠\n * @param dones\n * @param current\n */\nfunction checkShapeOverlap(dones: IGroup[], current: IGroup): boolean {\n return hasSome(dones, current, (left, right) => {\n const leftText = findLabelTextShape(left);\n const rightText = findLabelTextShape(right);\n\n return getOverlapArea(leftText.getCanvasBBox(), rightText.getCanvasBBox(), 2) > 0;\n });\n}\n/**\n * 适用于 point geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n * @param region\n * @param cfg\n */\nexport function pathAdjustPosition(\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg: PointAdjustPositionLayoutCfg\n): void {\n if (shapes.length === 0) {\n return;\n }\n\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || ['path', 'line', 'area'].indexOf(geometry.type) < 0) {\n return;\n }\n const [xField, yField] = geometry.getXYFields();\n const groupedLabels = groupBy(labels, (label) => label.get('data')[xField]);\n const dones: IGroup[] = [];\n const offset = (cfg && cfg.offset) || items[0]?.offset || 12;\n\n map(keys(groupedLabels).reverse(), (xValue) => {\n const sortedCollections = sortLabels(geometry, groupedLabels[xValue]);\n while (sortedCollections.length) {\n const current = sortedCollections.shift();\n const textShape = findLabelTextShape(current);\n if (\n hasSome(\n dones,\n current,\n (left, right) =>\n left.get('data')[xField] === right.get('data')[xField] &&\n left.get('data')[yField] === right.get('data')[yField]\n )\n ) {\n // 重复位置,直接隐藏\n textShape.set('visible', false);\n continue;\n }\n const upFail = checkShapeOverlap(dones, current);\n let downFail: boolean = false;\n if (upFail) {\n textShape.attr('y', textShape.attr('y') + 2 * offset);\n downFail = checkShapeOverlap(dones, current);\n }\n if (downFail) {\n textShape.set('visible', false);\n continue;\n }\n dones.push(current);\n }\n });\n}\n","import { isNil, each, isString } from './util';\nimport { getOffScreenContext } from './offscreen';\n/**\n * 获取文本的高度\n * @param text 文本\n * @param fontSize 字体大小\n * @param lineHeight 行高,可以为空\n */\nexport function getTextHeight(text, fontSize, lineHeight) {\n var lineCount = 1;\n if (isString(text)) {\n lineCount = text.split('\\n').length;\n }\n if (lineCount > 1) {\n var spaceingY = getLineSpaceing(fontSize, lineHeight);\n return fontSize * lineCount + spaceingY * (lineCount - 1);\n }\n return fontSize;\n}\n/**\n * 获取行间距如果文本多行,需要获取文本间距\n * @param fontSize 字体大小\n * @param lineHeight 行高\n */\nexport function getLineSpaceing(fontSize, lineHeight) {\n return lineHeight ? lineHeight - fontSize : fontSize * 0.14;\n}\n/**\n * 字体宽度\n * @param text 文本\n * @param font 字体\n */\nexport function getTextWidth(text, font) {\n var context = getOffScreenContext(); // 获取离屏的 ctx 进行计算\n var width = 0;\n // null 或者 undefined 时,宽度为 0\n if (isNil(text) || text === '') {\n return width;\n }\n context.save();\n context.font = font;\n if (isString(text) && text.includes('\\n')) {\n var textArr = text.split('\\n');\n each(textArr, function (subText) {\n var measureWidth = context.measureText(subText).width;\n if (width < measureWidth) {\n width = measureWidth;\n }\n });\n }\n else {\n width = context.measureText(text).width;\n }\n context.restore();\n return width;\n}\nexport function assembleFont(attrs) {\n var fontSize = attrs.fontSize, fontFamily = attrs.fontFamily, fontWeight = attrs.fontWeight, fontStyle = attrs.fontStyle, fontVariant = attrs.fontVariant;\n return [fontStyle, fontVariant, fontWeight, fontSize + \"px\", fontFamily].join(' ').trim();\n}\n//# sourceMappingURL=text.js.map","import { ext } from '@antv/matrix-util';\nimport { Coordinate, IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg, Point } from '../../interface';\n\n/**\n * @ignore\n * 对图形元素进行矩阵变换,同时返回变换前的图形矩阵\n * @param shape 进行矩阵变换的图形\n * @param vector 矩阵变换的中心点\n * @param direct 矩阵变换的类型\n */\nexport function transformShape(shape: IShape | IGroup, vector: [number, number], direct: string): number[] {\n let scaledMatrix;\n\n const [x, y] = vector;\n shape.applyToMatrix([x, y, 1]);\n if (direct === 'x') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 1],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 1],\n ['t', x, y],\n ]);\n } else if (direct === 'y') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 100],\n ['t', x, y],\n ]);\n } else if (direct === 'xy') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]);\n }\n return scaledMatrix;\n}\n\n/**\n * 对图形元素进行剪切动画\n * @param element 进行动画的图形元素\n * @param animateCfg 动画配置\n * @param coordinate 当前坐标系\n * @param yMinPoint y 轴的最小值对应的图形坐标点\n * @param type 剪切动画的类型\n */\nexport function doScaleAnimate(\n element: IGroup | IShape,\n animateCfg: GAnimateCfg,\n coordinate: Coordinate,\n yMinPoint: Point,\n type: string\n) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n let x: number;\n let y: number;\n\n if (type === 'y') {\n x = start.x + width / 2;\n y = yMinPoint.y < start.y ? yMinPoint.y : start.y;\n } else if (type === 'x') {\n x = yMinPoint.x > start.x ? yMinPoint.x : start.x;\n y = start.y + height / 2;\n } else if (type === 'xy') {\n if (coordinate.isPolar) {\n x = coordinate.getCenter().x;\n y = coordinate.getCenter().y;\n } else {\n x = (start.x + end.x) / 2;\n y = (start.y + end.y) / 2;\n }\n }\n\n const endMatrix = transformShape(element, [x, y], type);\n element.animate(\n {\n matrix: endMatrix,\n },\n animateCfg\n );\n}\n","import { getArcParams } from '@antv/g-canvas';\nimport { isNumberEqual, isEqual } from '@antv/util';\n\nimport { IShape, PathCommand } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nimport { getArcPath, getSectorPath } from '../../util/graphics';\n\nfunction getAngle(startPoint: number[], arcPath: PathCommand) {\n let { startAngle, endAngle } = getArcParams(startPoint, arcPath);\n\n if (!isNumberEqual(startAngle, -Math.PI * 0.5) && startAngle < -Math.PI * 0.5) {\n startAngle += Math.PI * 2;\n }\n if (!isNumberEqual(endAngle, -Math.PI * 0.5) && endAngle < -Math.PI * 0.5) {\n endAngle += Math.PI * 2;\n }\n\n if (arcPath[5] === 0) {\n // 逆时针,需要将 startAngle 和 endAngle 转置,因为 G2 极坐标系为顺时针方向\n [startAngle, endAngle] = [endAngle, startAngle];\n }\n\n if (isNumberEqual(startAngle, Math.PI * 1.5)) {\n startAngle = Math.PI * -0.5;\n }\n\n if (isNumberEqual(endAngle, Math.PI * -0.5)) {\n endAngle = Math.PI * 1.5;\n }\n\n return {\n startAngle,\n endAngle,\n };\n}\n\nfunction getArcStartPoint(path: PathCommand) {\n let startPoint;\n if (path[0] === 'M' || path[0] === 'L') {\n startPoint = [path[1], path[2]];\n } else if (path[0] === 'a' || path[0] === 'A' || path[0] === 'C') {\n startPoint = [path[path.length - 2], path[path.length - 1]];\n }\n\n return startPoint;\n}\n\n/**\n * path 存在以下情况\n * 1. 饼图不为整圆的 path,命令为 M, L, A, L, Z\n * 2. 饼图为整圆的 path,命令为 M, M, A, A, M, Z\n * 3. 环图不为整圆的 path,命令为 M, A, L, A, L, Z\n * 4. 环图为整圆的 path,命令为 M, A, A, M, A, A, M, Z\n * 5. radial-line, 不为整圆时的 path, 命令为 M, A, A, Z\n * 6. radial-line, 为整圆时的 path,命令为 M, A, A, A, A, Z\n * @param path theta 坐标系下圆弧的 path 命令\n */\nfunction getArcInfo(path: PathCommand[]) {\n let startAngle;\n let endAngle;\n\n const arcPaths = path.filter((command) => {\n return command[0] === 'A' || command[0] === 'a';\n });\n\n if (arcPaths.length === 0) {\n return {\n startAngle: 0,\n endAngle: 0,\n radius: 0,\n innerRadius: 0,\n };\n }\n\n const firstArcPathCommand = arcPaths[0];\n const lastArcPathCommand = arcPaths.length > 1 ? arcPaths[1] : arcPaths[0];\n const firstIndex = path.indexOf(firstArcPathCommand);\n const lastIndex = path.indexOf(lastArcPathCommand);\n const firstStartPoint = getArcStartPoint(path[firstIndex - 1]);\n const lastStartPoint = getArcStartPoint(path[lastIndex - 1]);\n\n const { startAngle: firstStartAngle, endAngle: firstEndAngle } = getAngle(firstStartPoint, firstArcPathCommand);\n const { startAngle: lastStartAngle, endAngle: lastEndAngle } = getAngle(lastStartPoint, lastArcPathCommand);\n\n if (isNumberEqual(firstStartAngle, lastStartAngle) && isNumberEqual(firstEndAngle, lastEndAngle)) {\n startAngle = firstStartAngle;\n endAngle = firstEndAngle;\n } else {\n startAngle = Math.min(firstStartAngle, lastStartAngle);\n endAngle = Math.max(firstEndAngle, lastEndAngle);\n }\n\n let radius = firstArcPathCommand[1];\n let innerRadius = arcPaths[arcPaths.length - 1][1];\n if (radius < innerRadius) {\n [radius, innerRadius] = [innerRadius, radius];\n } else if (radius === innerRadius) {\n innerRadius = 0;\n }\n\n return {\n startAngle,\n endAngle,\n radius,\n innerRadius,\n };\n}\n\n/**\n * @ignore\n * 饼图更新动画\n * @param shape 文本图形\n * @param animateCfg\n * @param cfg\n */\nexport function sectorPathUpdate(shape: IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n const { toAttrs, coordinate } = cfg;\n const path = (toAttrs as { path: PathCommand[] }).path || [];\n const pathCommands = path.map((command) => command[0]);\n\n if (path.length < 1) return;\n\n const { startAngle: curStartAngle, endAngle: curEndAngle, radius, innerRadius } = getArcInfo(path);\n const { startAngle: preStartAngle, endAngle: preEndAngle } = getArcInfo(shape.attr('path'));\n\n const center = coordinate.getCenter();\n const diffStartAngle = curStartAngle - preStartAngle;\n const diffEndAngle = curEndAngle - preEndAngle;\n // 没有 diff 时直接返回最终 attrs,不需要额外动画\n if (diffStartAngle === 0 && diffEndAngle === 0) {\n shape.attr('path', path);\n return;\n }\n\n shape.animate(\n (ratio) => {\n const onFrameStartAngle = preStartAngle + ratio * diffStartAngle;\n const onFrameEndAngle = preEndAngle + ratio * diffEndAngle;\n return {\n ...toAttrs,\n path:\n // hack, 兼容 /examples/bar/basic/demo/radial-line.ts 动画\n isEqual(pathCommands, ['M', 'A', 'A', 'Z'])\n ? getArcPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle)\n : getSectorPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle, innerRadius),\n };\n },\n {\n ...animateCfg,\n callback: () => {\n // 将 path 保持原始态,否则会影响 setState() 的动画\n shape.attr('path', path);\n },\n }\n );\n}\n","import { ext } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nfunction doShapeZoom(shape: IShape | IGroup, animateCfg: GAnimateCfg, type: 'zoomIn' | 'zoomOut') {\n if (shape.isGroup()) {\n each((shape as IGroup).getChildren(), (child) => {\n doShapeZoom(child, animateCfg, type);\n });\n } else {\n const bbox = shape.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n shape.applyToMatrix([x, y, 1]);\n\n if (type === 'zoomIn') {\n // 放大\n const matrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]);\n shape.setMatrix(matrix);\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]),\n },\n animateCfg\n );\n } else {\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]),\n },\n {\n ...animateCfg,\n callback: () => {\n shape.remove(true);\n },\n }\n );\n }\n }\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * shape 以自身中心点逐渐放大的进入动画\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomIn(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomIn');\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * 消失动画,shape 以自身为中心点的逐渐缩小\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomOut(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomOut');\n}\n","import { DIRECTION } from '../constant';\nimport { Point } from '../dependents';\nimport { FacetTitle } from '../interface';\n\n/**\n * @ignore\n * 获取 facet title 的最佳默认配置,防止\n */\nexport function getFactTitleConfig(direction: DIRECTION): FacetTitle {\n if ([DIRECTION.TOP, DIRECTION.BOTTOM].includes(direction)) {\n return {\n offsetX: 0,\n offsetY: direction === DIRECTION.TOP ? -8 : 8,\n style: {\n textAlign: 'center',\n textBaseline: direction === DIRECTION.TOP ? 'bottom' : 'top',\n },\n };\n }\n\n if ([DIRECTION.LEFT, DIRECTION.RIGHT].includes(direction)) {\n return {\n offsetX: direction === DIRECTION.LEFT ? -8 : 8,\n offsetY: 0,\n style: {\n textAlign: direction === DIRECTION.LEFT ? 'right' : 'left',\n textBaseline: 'middle',\n rotate: Math.PI / 2, // 文本阅读习惯从上往下\n },\n };\n }\n\n return {};\n}\n\n/**\n * @ignore\n * 根据角度,获取 ○ 上的点\n * @param center\n * @param r\n * @param angle\n */\nexport function getAnglePoint(center: Point, r: number, angle: number): Point {\n return {\n x: center.x + r * Math.cos(angle),\n y: center.y + r * Math.sin(angle),\n };\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { AxisCfg, CircleCfg, CircleData, Datum } from '../interface';\n\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { getAnglePoint, getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Circle extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'circle',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 根据总数和当前索引,计算分面的 region\n * @param count\n * @param index\n */\n protected getRegion(count: number, index: number) {\n const r = 1 / 2; // 画布半径\n // 画布圆心\n const center = { x: 0.5, y: 0.5 };\n // 每隔分面间隔的弧度\n const avgAngle = (Math.PI * 2) / count;\n\n // 当前分面所在的弧度\n const angle = (-1 * Math.PI) / 2 + avgAngle * index;\n // TODO 没看懂\n const facetR = r / (1 + 1 / Math.sin(avgAngle / 2));\n // 分面的中心点\n const middle = getAnglePoint(center, r - facetR, angle);\n const startAngle = (Math.PI * 5) / 4; // 右上角\n const endAngle = (Math.PI * 1) / 4; // 左下角\n\n return {\n start: getAnglePoint(middle, facetR, startAngle),\n end: getAnglePoint(middle, facetR, endAngle),\n };\n }\n\n protected afterEachView(view: View, facet: CircleData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: CircleData) {}\n\n protected generateFacets(data: Datum[]): CircleData[] {\n const { fields, type } = this.cfg;\n const [field] = fields;\n if (!field) {\n throw new Error('No `fields` specified!');\n }\n\n const values = this.getFieldValues(data, field);\n const count = values.length;\n\n const rst = [];\n values.forEach((value: any, index: number) => {\n const conditions = [{ field, value, values }];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: CircleData = {\n type,\n data: facetData,\n region: this.getRegion(count, index),\n\n columnValue: value,\n columnField: field,\n columnIndex: index,\n columnValuesLength: count,\n\n rowValue: null,\n rowField: null,\n rowIndex: 0,\n rowValuesLength: 1,\n };\n rst.push(facet);\n });\n return rst;\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: CircleData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, ListCfg, ListData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class List extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'list',\n cols: null, // 默认显示一列\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: ListData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: ListData) {}\n\n protected generateFacets(data: Datum[]): ListData[] {\n const { fields } = this.cfg;\n let { cols } = this.cfg;\n\n const [columnField] = fields;\n if (!columnField) {\n throw new Error('No `fields` specified!');\n }\n\n const colValues = this.getFieldValues(data, columnField);\n\n const count = colValues.length;\n cols = cols || count; // 每行有几列数据\n\n // 总共有几行\n const rows = this.getPageCount(count, cols);\n const rst = [];\n\n colValues.forEach((val, index) => {\n // 当前 index 在那个行列\n const { row, col } = this.getRowCol(index, cols);\n\n const conditions = [{ field: columnField, value: val, values: colValues }];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: ListData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rows, cols, col, row),\n\n columnValue: val,\n rowValue: val,\n columnField,\n rowField: null,\n columnIndex: col,\n rowIndex: row,\n columnValuesLength: cols,\n rowValuesLength: rows,\n\n total: count,\n };\n\n rst.push(facet);\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: ListData): object {\n // 当是最后一行或者下面没有 view 时文本不显示\n if (\n facet.rowIndex !== facet.rowValuesLength - 1 &&\n facet.columnValuesLength * facet.rowIndex + facet.columnIndex + 1 + facet.columnValuesLength <= facet.total\n ) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: ListData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: ListData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n /**\n * 计算分页数\n * @param total\n * @param pageSize\n */\n private getPageCount(total: number, pageSize: number): number {\n return Math.floor((total + pageSize - 1) / pageSize);\n }\n\n /**\n * 索引值在哪一页\n * @param index\n * @param pageSize\n */\n private getRowCol(index: number, pageSize: number) {\n const row = Math.floor(index / pageSize);\n const col = index % pageSize;\n\n return { row, col };\n }\n}\n","import { deepMix, each, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MatrixCfg, MatrixData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Matrix extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'matrix',\n showTitle: false,\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: MatrixData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: MatrixData) {}\n\n protected generateFacets(data: Datum[]): MatrixData[] {\n const { fields, type } = this.cfg;\n\n // 矩阵中行列相等,等于指定的字段个数\n const rowValuesLength = fields.length;\n const columnValuesLength = rowValuesLength;\n\n const rst = [];\n for (let i = 0; i < columnValuesLength; i++) {\n const columnField = fields[i];\n for (let j = 0; j < rowValuesLength; j++) {\n const rowField = fields[j];\n\n const facet: MatrixData = {\n type,\n data,\n region: this.getRegion(rowValuesLength, columnValuesLength, i, j),\n\n columnValue: columnField,\n rowValue: rowField,\n columnField,\n rowField,\n columnIndex: i,\n rowIndex: j,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n }\n }\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 最后一行显示\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 第一列显示\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: MatrixData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, rowValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MirrorCfg, MirrorData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Mirror extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'mirror',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n transpose: false,\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected beforeEachView(view: View, facet: MirrorData) {\n // 做一下坐标系转化\n if (this.cfg.transpose) {\n if (facet.columnIndex % 2 === 0) {\n view.coordinate().transpose().reflect('x');\n } else {\n view.coordinate().transpose();\n }\n } else {\n if (facet.rowIndex % 2 !== 0) {\n view.coordinate().reflect('y');\n }\n }\n }\n\n protected afterEachView(view: View, facet: MirrorData) {\n this.processAxis(view, facet);\n }\n\n protected generateFacets(data: Datum[]): MirrorData[] {\n const [f] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n let columnField;\n let rowField;\n\n if (this.cfg.transpose) {\n columnField = f;\n columnValues = this.getFieldValues(data, columnField).slice(0, 2); // 镜像最多两个\n columnValuesLength = columnValues.length;\n } else {\n rowField = f;\n rowValues = this.getFieldValues(data, rowField).slice(0, 2); // 镜像最多两个\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: MirrorData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // 非最后一行\n // 当是最后一行或者下面没有 view 时文本不显示\n if (facet.columnIndex === 1 || facet.rowIndex === 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // do nothing\n return option;\n }\n\n private renderTitle() {\n each(this.facets, (facet: MirrorData, facetIndex: number) => {\n const { columnValue, rowValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n if (this.cfg.transpose) {\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n } else {\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.title\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, RectCfg, RectData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 矩阵分面\n */\nexport default class Rect extends Facet {\n protected afterEachView(view: View, facet: RectData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: RectData) {\n // do nothing\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'rect',\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 生成矩阵分面的分面数据\n * @param data\n */\n protected generateFacets(data: Datum[]): RectData[] {\n const [columnField, rowField] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n if (columnField) {\n columnValues = this.getFieldValues(data, columnField);\n columnValuesLength = columnValues.length;\n }\n if (rowField) {\n rowValues = this.getFieldValues(data, rowField);\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: RectData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n private renderTitle(): void {\n each(this.facets, (facet: RectData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: RectData): object {\n // 非最后一行\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.columnIndex !== Math.floor((facet.columnValuesLength - 1) / 2)) {\n // 不是中间列\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: RectData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.rowIndex !== Math.floor((facet.rowValuesLength - 1) / 2)) {\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n}\n","/**\n * Create By Bruce Too\n * On 2020-02-10\n */\nimport { assign, deepMix, each, get } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION, VIEW_LIFE_CIRCLE } from '../constant';\nimport { AxisCfg, Condition, Datum, TreeCfg, TreeData } from '../interface';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * Tree Facet\n */\nexport default class Tree extends Facet {\n protected afterEachView(view: View, facet: TreeData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: TreeData) {}\n\n public init() {\n super.init();\n this.view.on(VIEW_LIFE_CIRCLE.AFTER_RENDER, this.afterChartRender);\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'tree',\n line: {\n style: {\n lineWidth: 1,\n stroke: '#ddd',\n },\n smooth: false,\n },\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n protected generateFacets(data: Datum[]): TreeData[] {\n const fields = this.cfg.fields;\n if (!fields.length) {\n throw new Error('Please specify for the fields for rootFacet!');\n }\n const rst = [];\n const rootFacet: TreeData = {\n type: this.cfg.type,\n data,\n region: null,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: 0,\n columnIndex: 0,\n rowField: '',\n columnField: '',\n rowValue: '',\n columnValue: '',\n };\n rst.push(rootFacet);\n rootFacet.children = this.getChildFacets(data, 1, rst);\n this.setRegion(rst);\n return rst;\n }\n\n private setRegion(facets: TreeData[]) {\n this.forceColIndex(facets);\n facets.forEach((facet) => {\n // @ts-ignore 允许调整\n facet.region = this.getRegion(facet.rowValuesLength, facet.columnValuesLength, facet.columnIndex, facet.rowIndex);\n });\n }\n\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number) {\n const xWidth = 1 / cols; // x轴方向的每个分面的偏移\n const yWidth = 1 / rows; // y轴方向的每个分面的偏移\n\n const start = {\n x: xWidth * xIndex,\n y: yWidth * yIndex,\n };\n\n const end = {\n x: start.x + xWidth,\n y: start.y + (yWidth * 2) / 3, // 预留1/3的空隙,方便添加连接线\n };\n return {\n start,\n end,\n };\n }\n\n private forceColIndex(facets: TreeData[]) {\n const leafs: TreeData[] = [];\n let index = 0;\n facets.forEach((facet) => {\n if (this.isLeaf(facet)) {\n leafs.push(facet);\n // @ts-ignore 允许调整\n facet.columnIndex = index;\n index++;\n }\n });\n\n leafs.forEach((facet) => {\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n });\n const maxLevel = this.cfg.fields.length;\n for (let i = maxLevel - 1; i >= 0; i--) {\n const levelFacets = this.getFacetsByLevel(facets, i);\n // var yIndex = maxLevel - i;\n for (const facet of levelFacets) {\n if (!this.isLeaf(facet)) {\n facet.originColIndex = facet.columnIndex;\n // @ts-ignore\n facet.columnIndex = this.getRegionIndex(facet.children);\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n }\n }\n }\n }\n\n // get facet use level\n private getFacetsByLevel(facets: TreeData[], level: number) {\n const rst: TreeData[] = [];\n facets.forEach((facet) => {\n if (facet.rowIndex === level) {\n rst.push(facet);\n }\n });\n return rst;\n }\n\n // if the facet has children , make it's column index in the middle of it's children\n private getRegionIndex(children: TreeData[]) {\n const first = children[0];\n const last = children[children.length - 1];\n return (last.columnIndex - first.columnIndex) / 2 + first.columnIndex;\n }\n\n // is a leaf without children\n private isLeaf(facet: TreeData) {\n return !facet.children || !facet.children.length;\n }\n\n private getRows() {\n return this.cfg.fields.length + 1;\n }\n\n // get child\n private getChildFacets(data: Datum[], level: number, arr: TreeData[]) {\n // [ 'grade', 'class' ]\n const fields = this.cfg.fields;\n const length = fields.length;\n if (length < level) {\n return;\n }\n const rst = [];\n // get fist level except root node\n const field = fields[level - 1];\n // get field value\n const values = this.getFieldValues(data, field);\n values.forEach((value, index) => {\n const conditions = [{ field, value, values } as Condition];\n const subData = data.filter(this.getFacetDataFilter(conditions));\n if (subData.length) {\n const facet: TreeData = {\n type: this.cfg.type,\n data: subData,\n region: null,\n columnValue: value,\n rowValue: '',\n columnField: field,\n rowField: '',\n columnIndex: index,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: level,\n children: this.getChildFacets(subData, level + 1, arr),\n };\n rst.push(facet);\n arr.push(facet);\n }\n });\n return rst;\n }\n\n public render() {\n super.render();\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n private afterChartRender = () => {\n if (this.facets && this.cfg.line) {\n this.container.clear();\n this.drawLines(this.facets);\n }\n };\n\n private renderTitle() {\n each(this.facets, (facet: TreeData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n private drawLines(facets: TreeData[]) {\n facets.forEach((facet) => {\n if (!this.isLeaf(facet)) {\n const children = facet.children;\n this.addFacetLines(facet, children);\n }\n });\n }\n\n // add lines with it's children\n private addFacetLines(facet: TreeData, children: TreeData[]) {\n const view = facet.view;\n const region = view.coordinateBBox;\n // top, right, bottom, left\n const start = {\n x: region.x + region.width / 2,\n y: region.y + region.height,\n };\n\n children.forEach((subFacet) => {\n const subRegion = subFacet.view.coordinateBBox;\n const end = {\n x: subRegion.bl.x + (subRegion.tr.x - subRegion.bl.x) / 2,\n y: subRegion.tr.y,\n };\n\n const middle1 = {\n x: start.x,\n y: start.y + (end.y - start.y) / 2,\n };\n const middle2 = {\n x: end.x,\n y: middle1.y,\n };\n this.drawLine([start, middle1, middle2, end]);\n });\n }\n\n private getPath(points) {\n const path = [];\n const smooth = this.cfg.line.smooth;\n if (smooth) {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['C', points[1].x, points[1].y, points[2].x, points[2].y, points[3].x, points[3].y]);\n } else {\n points.forEach((point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['L', point.x, point.y]);\n }\n });\n }\n\n return path;\n }\n\n // draw line width points\n private drawLine(points) {\n const path = this.getPath(points);\n const line = this.cfg.line.style;\n this.container.addShape('path', {\n attrs: assign(\n {\n // @ts-ignore\n path,\n },\n line\n ),\n });\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.originColIndex !== 0 && facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n}\n","import { reduce, isNumber } from '@antv/util';\n\n/**\n * 获得中位数\n * @param array\n */\nexport function getMedian(array: number[]) {\n const arr = [...array];\n // 先排序\n arr.sort((a: number, b: number) => {\n return a - b;\n });\n\n const len = arr.length;\n\n // median\n // 0\n if (len === 0) {\n return 0;\n }\n\n // 奇数\n if (len % 2 === 1) {\n return arr[(len - 1) / 2];\n }\n\n // 偶数\n return (arr[len / 2] + arr[len / 2 - 1]) / 2;\n}\n\n/**\n * 获得平均值\n * @param array\n */\nexport function getMean(array: number[]) {\n const sum = reduce(\n array,\n (r: number, num: number) => {\n return (r += isNaN(num) || !isNumber(num) ? 0 : num);\n },\n 0\n );\n\n return array.length === 0 ? 0 : sum / array.length;\n}\n","import { getMedian, getMean } from './stat';\nimport { Scale } from '../dependents';\n\n/**\n * parse the value position\n * @param val\n * @param scale\n */\nexport function getNormalizedValue(val: number | string, scale: Scale) {\n if (!scale) {\n return null;\n }\n let scaled: number;\n\n switch (val) {\n case 'start':\n return 0;\n case 'center':\n return 0.5;\n case 'end':\n return 1;\n case 'median': {\n scaled = scale.isCategory ? getMedian(scale.values.map((_, idx: number) => idx)) : getMedian(scale.values);\n break;\n }\n case 'mean': {\n scaled = scale.isCategory ? (scale.values.length - 1) / 2 : getMean(scale.values);\n break;\n }\n case 'min':\n scaled = scale.isCategory ? 0 : scale[val];\n break;\n case 'max':\n scaled = scale.isCategory ? scale.values.length - 1 : scale[val];\n break;\n default:\n scaled = val as number;\n break;\n }\n\n return scale.scale(scaled);\n}\n","import {\n contains,\n deepMix,\n each,\n get,\n isArray,\n isFunction,\n isNil,\n isString,\n keys,\n upperFirst,\n find,\n includes,\n} from '@antv/util';\nimport { Annotation as AnnotationComponent, IElement, IGroup } from '../../dependents';\nimport {\n AnnotationBaseOption as BaseOption,\n AnnotationPosition as Position,\n ArcOption,\n ComponentOption,\n ShapeAnnotationOption,\n Data,\n DataMarkerOption,\n DataRegionOption,\n Datum,\n HtmlAnnotationOption,\n ImageOption,\n LineOption,\n Point,\n RegionFilterOption,\n RegionOption,\n RegionPositionBaseOption,\n TextOption,\n} from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\nimport { COMPONENT_TYPE, DIRECTION, GEOMETRY_LIFE_CIRCLE, LAYER, VIEW_LIFE_CIRCLE } from '../../constant';\n\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element';\nimport { getAngleByPoint, getDistanceToCenter } from '../../util/coordinate';\nimport { omit } from '../../util/helper';\nimport { getNormalizedValue } from '../../util/annotation';\nimport View from '../view';\nimport { Controller } from './base';\nimport { Scale } from '@antv/attr';\n\n/** 需要在图形绘制完成后才渲染的辅助组件类型列表 */\nconst ANNOTATIONS_AFTER_RENDER = ['regionFilter', 'shape'];\n\n/**\n * Annotation controller, 主要作用:\n * 1. 创建 Annotation: line、text、arc ...\n * 2. 生命周期: init、layout、render、clear、destroy\n */\nexport default class Annotation extends Controller {\n private foregroundContainer: IGroup;\n private backgroundContainer: IGroup;\n\n /* 组件更新的 cache,组件配置 object : 组件 */\n private cache = new Map();\n\n constructor(view: View) {\n super(view);\n\n this.foregroundContainer = this.view.getLayer(LAYER.FORE).addGroup();\n this.backgroundContainer = this.view.getLayer(LAYER.BG).addGroup();\n\n this.option = [];\n }\n\n public get name(): string {\n return 'annotation';\n }\n\n public init() {}\n\n /**\n * 因为 annotation 需要依赖坐标系信息,所以 render 阶段为空方法,实际的创建逻辑都在 layout 中\n */\n public layout() {\n this.update();\n }\n\n // 因为 Annotation 不参与布局,但是渲染的位置依赖于坐标系,所以可以将绘制阶段延迟到 layout() 进行\n public render() {}\n\n /**\n * 更新\n */\n public update() {\n // 1. 先处理需要在图形渲染之后的辅助组件 需要在 Geometry 完成之后,拿到图形信息\n this.onAfterRender(() => {\n const updated = new Map();\n // 先看是否有 regionFilter/shape 要更新\n each(this.option, (option: BaseOption) => {\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n const co = this.updateOrCreate(option);\n // 存储已经处理过的\n if (co) {\n updated.set(this.getCacheKey(option), co);\n }\n }\n });\n\n // 处理完成之后,更新 cache\n // 处理完成之后,销毁删除的\n this.cache = this.syncCache(updated);\n });\n\n // 2. 处理非 regionFilter\n const updateCache = new Map();\n each(this.option, (option: BaseOption) => {\n if (!includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n const co = this.updateOrCreate(option);\n // 存储已经处理过的\n if (co) {\n updateCache.set(this.getCacheKey(option), co);\n }\n }\n });\n this.cache = this.syncCache(updateCache);\n }\n\n /**\n * 清空\n * @param includeOption 是否清空 option 配置项\n */\n public clear(includeOption = false) {\n super.clear();\n\n this.clearComponents();\n this.foregroundContainer.clear();\n this.backgroundContainer.clear();\n\n // clear all option\n if (includeOption) {\n this.option = [];\n }\n }\n\n public destroy() {\n this.clear(true);\n\n this.foregroundContainer.remove(true);\n this.backgroundContainer.remove(true);\n }\n\n /**\n * 复写基类的方法\n */\n public getComponents(): ComponentOption[] {\n const co = [];\n\n this.cache.forEach((value: ComponentOption) => {\n co.push(value);\n });\n\n return co;\n }\n\n /**\n * 清除当前的组件\n */\n private clearComponents() {\n this.getComponents().forEach((co) => {\n co.component.destroy();\n });\n\n this.cache.clear();\n }\n\n /**\n * region filter 比较特殊的渲染时机\n * @param doWhat\n */\n private onAfterRender(doWhat: () => void) {\n if (this.view.getOptions().animate) {\n this.view.geometries.forEach((g: Geometry) => {\n // 如果 geometry 开启,则监听\n if (g.animateOption) {\n g.once(GEOMETRY_LIFE_CIRCLE.AFTER_DRAW_ANIMATE, () => {\n doWhat();\n });\n }\n });\n } else {\n this.view.getRootView().once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n doWhat();\n });\n }\n }\n\n private createAnnotation(option: BaseOption) {\n const { type } = option;\n\n const Ctor = AnnotationComponent[upperFirst(type)];\n if (Ctor) {\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n const annotation = new Ctor(cfg);\n\n return {\n component: annotation,\n layer: this.isTop(cfg) ? LAYER.FORE : LAYER.BG,\n direction: DIRECTION.NONE,\n type: COMPONENT_TYPE.ANNOTATION,\n extra: option,\n };\n }\n }\n\n // APIs for creating annotation component\n public annotation(option: any) {\n this.option.push(option);\n }\n\n /**\n * 创建 Arc\n * @param option\n * @returns AnnotationController\n */\n public arc(option: ArcOption) {\n this.annotation({\n type: 'arc',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 image\n * @param option\n * @returns AnnotationController\n */\n public image(option: ImageOption) {\n this.annotation({\n type: 'image',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Line\n * @param option\n * @returns AnnotationController\n */\n public line(option: LineOption) {\n this.annotation({\n type: 'line',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Region\n * @param option\n * @returns AnnotationController\n */\n public region(option: RegionOption) {\n this.annotation({\n type: 'region',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Text\n * @param option\n * @returns AnnotationController\n */\n public text(option: TextOption) {\n this.annotation({\n type: 'text',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataMarker\n * @param option\n * @returns AnnotationController\n */\n public dataMarker(option: DataMarkerOption) {\n this.annotation({\n type: 'dataMarker',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataRegion\n * @param option\n * @returns AnnotationController\n */\n public dataRegion(option: DataRegionOption) {\n this.annotation({\n type: 'dataRegion',\n ...option,\n });\n }\n\n /**\n * 创建 RegionFilter\n * @param option\n * @returns AnnotationController\n */\n public regionFilter(option: RegionFilterOption) {\n this.annotation({\n type: 'regionFilter',\n ...option,\n });\n }\n\n /**\n * 创建 ShapeAnnotation\n * @param option\n */\n public shape(option: ShapeAnnotationOption) {\n this.annotation({\n type: 'shape',\n ...option,\n });\n }\n\n /**\n * 创建 HtmlAnnotation\n * @param option\n */\n public html(option: HtmlAnnotationOption) {\n this.annotation({\n type: 'html',\n ...option,\n });\n }\n // end API\n\n /**\n * parse the point position to [x, y]\n * @param p Position\n * @returns { x, y }\n */\n private parsePosition(\n p:\n | [string | number, string | number]\n | Datum\n | ((xScale: Scale, yScale: Scale) => [string | number, string | number] | number | Datum)\n ): Point {\n const xScale = this.view.getXScale();\n // 转成 object\n const yScales = this.view.getScalesByDim('y');\n\n const position: Position = isFunction(p) ? p.call(null, xScale, yScales) : p;\n\n let x = 0;\n let y = 0;\n\n // 入参是 [24, 24] 这类时\n if (isArray(position)) {\n const [xPos, yPos] = position;\n // 如果数据格式是 ['50%', '50%'] 的格式\n // fix: 原始数据中可能会包含 'xxx5%xxx' 这样的数据,需要判断下 https://github.com/antvis/f2/issues/590\n // @ts-ignore\n if (isString(xPos) && xPos.indexOf('%') !== -1 && !isNaN(xPos.slice(0, -1))) {\n return this.parsePercentPosition(position as [string, string]);\n }\n\n x = getNormalizedValue(xPos, xScale);\n y = getNormalizedValue(yPos, Object.values(yScales)[0]);\n } else if (!isNil(position)) {\n // 入参是 object 结构,数据点\n for (const key of keys(position)) {\n const value = position[key];\n if (key === xScale.field) {\n x = getNormalizedValue(value, xScale);\n }\n if (yScales[key]) {\n y = getNormalizedValue(value, yScales[key]);\n }\n }\n }\n\n return this.view.getCoordinate().convert({ x, y });\n }\n\n /**\n * parse all the points between start and end\n * @param start\n * @param end\n * @return Point[]\n */\n private getRegionPoints(start: Position | Data, end: Position | Data): Point[] {\n const xScale = this.view.getXScale();\n const yScales = this.view.getScalesByDim('y');\n const yScale = Object.values(yScales)[0];\n const xField = xScale.field;\n const viewData = this.view.getData();\n const startXValue = isArray(start) ? start[0] : start[xField];\n const endXValue = isArray(end) ? end[0] : end[xField];\n const arr = [];\n\n let startIndex;\n each(viewData, (item, idx) => {\n if (item[xField] === startXValue) {\n startIndex = idx;\n }\n if (idx >= startIndex) {\n const point = this.parsePosition([item[xField], item[yScale.field]]);\n if (point) {\n arr.push(point);\n }\n }\n if (item[xField] === endXValue) {\n return false;\n }\n });\n\n return arr;\n }\n\n /**\n * parse percent position\n * @param position\n */\n private parsePercentPosition(position: [string, string]): Point {\n const xPercent = parseFloat(position[0]) / 100;\n const yPercent = parseFloat(position[1]) / 100;\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n const x = coordinate.getWidth() * xPercent + topLeft.x;\n const y = coordinate.getHeight() * yPercent + topLeft.y;\n return { x, y };\n }\n\n /**\n * get coordinate bbox\n */\n private getCoordinateBBox() {\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n\n return {\n x: topLeft.x,\n y: topLeft.y,\n minX: topLeft.x,\n minY: topLeft.y,\n maxX: topLeft.x + width,\n maxY: topLeft.y + height,\n width,\n height,\n };\n }\n\n /**\n * get annotation component config by different type\n * @param type\n * @param option 用户的配置\n * @param theme\n */\n private getAnnotationCfg(type: string, option: any, theme: object): object {\n const coordinate = this.view.getCoordinate();\n const canvas = this.view.getCanvas();\n let o = {};\n\n if (isNil(option)) {\n return null;\n }\n\n if (type === 'arc') {\n const { start, end, ...rest } = option as ArcOption;\n const sp = this.parsePosition(start);\n const ep = this.parsePosition(end);\n const startAngle = getAngleByPoint(coordinate, sp);\n let endAngle = getAngleByPoint(coordinate, ep);\n if (startAngle > endAngle) {\n endAngle = Math.PI * 2 + endAngle;\n }\n\n o = {\n ...rest,\n center: coordinate.getCenter(),\n radius: getDistanceToCenter(coordinate, sp),\n startAngle,\n endAngle,\n };\n } else if (type === 'image') {\n const { start, end, ...rest } = option as ImageOption;\n o = {\n ...rest,\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n src: option.src,\n };\n } else if (type === 'line') {\n const { start, end, ...rest } = option as LineOption;\n o = {\n ...rest,\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n text: get(option, 'text', null),\n };\n } else if (type === 'region') {\n const { start, end, ...rest } = option as RegionPositionBaseOption;\n o = {\n ...rest,\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n };\n } else if (type === 'text') {\n const filteredData = this.view.getData();\n const { position, content, ...rest } = option as TextOption;\n let textContent = content;\n if (isFunction(content)) {\n textContent = content(filteredData);\n }\n o = {\n ...this.parsePosition(position),\n ...rest,\n content: textContent,\n };\n } else if (type === 'dataMarker') {\n const { position, point, line, text, autoAdjust, direction, ...rest } = option as DataMarkerOption;\n o = {\n ...rest,\n ...this.parsePosition(position),\n coordinateBBox: this.getCoordinateBBox(),\n point,\n line,\n text,\n autoAdjust,\n direction,\n };\n } else if (type === 'dataRegion') {\n const { start, end, region, text, lineLength, ...rest } = option as DataRegionOption;\n o = {\n ...rest,\n points: this.getRegionPoints(start, end),\n region,\n text,\n lineLength,\n };\n } else if (type === 'regionFilter') {\n const { start, end, apply, color, ...rest } = option as RegionFilterOption;\n const geometries: Geometry[] = this.view.geometries;\n const shapes = [];\n const addShapes = (item?: IElement) => {\n if (!item) {\n return;\n }\n if (item.isGroup()) {\n (item as IGroup).getChildren().forEach((child) => addShapes(child));\n } else {\n shapes.push(item);\n }\n };\n each(geometries, (geom: Geometry) => {\n if (apply) {\n if (contains(apply, geom.type)) {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n } else {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n });\n o = {\n ...rest,\n color,\n shapes,\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n };\n } else if (type === 'shape') {\n const { render, ...restOptions } = option as ShapeAnnotationOption;\n const wrappedRender = (container: IGroup) => {\n if (isFunction(option.render)) {\n return render(container, this.view, { parsePosition: this.parsePosition.bind(this) });\n }\n };\n o = {\n ...restOptions,\n render: wrappedRender,\n };\n } else if (type === 'html') {\n const { html, position, ...restOptions } = option as HtmlAnnotationOption;\n const wrappedHtml = (container: HTMLElement) => {\n if (isFunction(html)) {\n return html(container, this.view);\n }\n return html;\n };\n o = {\n ...restOptions,\n ...this.parsePosition(position),\n // html 组件需要指定 parent\n parent: canvas.get('el').parentNode,\n html: wrappedHtml,\n };\n }\n // 合并主题,用户配置优先级高于默认主题\n const cfg = deepMix({}, theme, {\n ...o,\n top: option.top,\n style: option.style,\n offsetX: option.offsetX,\n offsetY: option.offsetY,\n });\n if (type !== 'html') {\n // html 类型不使用 G container\n cfg.container = this.getComponentContainer(cfg);\n }\n cfg.animate = this.view.getOptions().animate && cfg.animate && get(option, 'animate', cfg.animate); // 如果 view 关闭动画,则不执行\n cfg.animateOption = deepMix({}, DEFAULT_ANIMATE_CFG, cfg.animateOption, option.animateOption);\n\n return cfg;\n }\n\n /**\n * is annotation render on top\n * @param option\n * @return whethe on top\n */\n private isTop(option: any): boolean {\n return get(option, 'top', true);\n }\n\n /**\n * get the container by option.top\n * default is on top\n * @param option\n * @returns the container\n */\n private getComponentContainer(option: any) {\n return this.isTop(option) ? this.foregroundContainer : this.backgroundContainer;\n }\n\n private getAnnotationTheme(type: string) {\n return get(this.view.getTheme(), ['components', 'annotation', type], {});\n }\n\n /**\n * 创建或者更新 annotation\n * @param option\n */\n private updateOrCreate(option: BaseOption) {\n // 拿到缓存的内容\n let co = this.cache.get(this.getCacheKey(option));\n\n // 存在则更新,不存在在创建\n if (co) {\n const { type } = option;\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n\n // 忽略掉一些配置\n omit(cfg, ['container']);\n co.component.update(cfg);\n // 对于 regionFilter/shape,因为生命周期的原因,需要额外 render\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n co.component.render();\n }\n } else {\n // 不存在,创建\n co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // Note:regionFilter/shape 特殊处理,regionFilter/shape 需要取到 Geometry 中的 Shape,需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n co.component.render();\n }\n }\n }\n return co;\n }\n\n /**\n * 更新缓存,以及销毁组件\n * @param updated 更新或者创建的组件\n */\n private syncCache(updated: Map) {\n const newCache = new Map(this.cache); // clone 一份\n\n // 将 update 更新到 cache\n updated.forEach((co: ComponentOption, key: BaseOption) => {\n newCache.set(key, co);\n });\n\n // 另外和 options 进行对比,删除\n newCache.forEach((co: ComponentOption, key: BaseOption) => {\n // option 中已经找不到,那么就是删除的\n if (\n !find(this.option, (option: BaseOption) => {\n return key === this.getCacheKey(option);\n })\n ) {\n co.component.destroy();\n newCache.delete(key);\n }\n });\n\n return newCache;\n }\n\n /**\n * 获得缓存组件的 key\n * @param option\n */\n private getCacheKey(option: BaseOption) {\n // 如果存在 id,则使用 id string,否则直接使用 option 引用作为 key\n return option;\n // 后续扩展 id 用\n // const id = get(option, 'id');\n // return id ? id : option;\n }\n}\n","import { deepMix, get, map } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale, Tick } from '../dependents';\n\n/**\n * @ignore\n * get the grid theme by type, will mix the common cfg of axis\n * @param theme\n * @param direction\n * @returns theme object\n */\nexport function getGridThemeCfg(theme: object, direction: DIRECTION | 'common'): object {\n const axisTheme = deepMix(\n {},\n get(theme, ['components', 'axis', 'common']),\n get(theme, ['components', 'axis', direction])\n );\n return get(axisTheme, ['grid'], {});\n}\n\n/**\n * @ignore\n * get axis grid items\n * @param coordinate\n * @param scale\n * @param dim\n * @return items\n */\nexport function getLineGridItems(coordinate: Coordinate, scale: Scale, dim: string, alignTick?: boolean) {\n const items = [];\n const ticks = scale.getTicks();\n if (coordinate.isPolar) {\n // 补全 ticks\n ticks.push({\n value: 1,\n text: '',\n tickValue: '',\n });\n }\n ticks.reduce((preTick: Tick, currentTick: Tick, currentIndex) => {\n const currentValue = currentTick.value;\n if (alignTick) {\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: currentValue } : { x: currentValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: currentValue } : { x: currentValue, y: 1 }),\n ],\n });\n } else {\n if (currentIndex) {\n const preValue = preTick.value;\n const middleValue = (preValue + currentValue) / 2;\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: middleValue } : { x: middleValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: middleValue } : { x: middleValue, y: 1 }),\n ],\n });\n }\n }\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * get\n * @param coordinate\n * @param xScale\n * @param yScale\n * @param dim\n * @returns items\n */\nexport function getCircleGridItems(\n coordinate: Coordinate,\n xScale: Scale,\n yScale: Scale,\n alignTick: boolean,\n dim: string\n) {\n const count = xScale.values.length;\n const items = [];\n const ticks = yScale.getTicks();\n\n ticks.reduce((preTick: Tick, currentTick: Tick) => {\n const preValue = preTick ? preTick.value : currentTick.value; // 只有一项数据时取当前值\n const currentValue = currentTick.value;\n const middleValue = (preValue + currentValue) / 2;\n if (dim === 'x') {\n // 如果是 x 轴作为半径轴,那么只需要取圆弧收尾两个即可\n items.push({\n points: [\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 0,\n }),\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 1,\n }),\n ],\n });\n } else {\n items.push({\n points: map(Array(count + 1), (__: any, idx: number) => {\n return coordinate.convert({\n x: idx / count,\n y: alignTick ? currentValue : middleValue,\n });\n }),\n });\n }\n\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * show grid or not\n * @param axisTheme\n * @param axisOption\n */\nexport function showGrid(axisTheme: any, axisOption: any): boolean {\n const userGrid = get(axisOption, 'grid');\n if (userGrid === null) {\n return false;\n }\n\n const themeGrid = get(axisTheme, 'grid');\n\n return !(userGrid === undefined && themeGrid === null);\n}\n","import { deepMix, each, get, isUndefined } from '@antv/util';\nimport { DIRECTION, COMPONENT_TYPE, LAYER } from '../../constant';\nimport { CircleAxis, CircleGrid, IGroup, LineAxis, LineGrid, Scale } from '../../dependents';\nimport { AxisCfg, AxisOption, ComponentOption } from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\n\nimport {\n getAxisDirection,\n getAxisFactorByRegion,\n getAxisRegion,\n getAxisThemeCfg,\n getAxisTitleOptions,\n getAxisTitleText,\n getCircleAxisCenterRadius,\n isVertical,\n} from '../../util/axis';\nimport { getAxisOption } from '../../util/axis';\nimport { getCircleGridItems, getGridThemeCfg, getLineGridItems, showGrid } from '../../util/grid';\nimport { omit } from '../../util/helper';\nimport View from '../view';\nimport { Controller } from './base';\n\ntype Option = Record | boolean;\n\ntype Cache = Map;\n\n// update 组件的时候,忽略的数据更新\nconst OMIT_CFG = ['container'];\n\n// 坐标轴默认动画配置\nconst AXIS_DEFAULT_ANIMATE_CFG = {\n ...DEFAULT_ANIMATE_CFG,\n appear: null,\n};\n\n/**\n * @ignore\n * G2 Axis controller, will:\n * - create component\n * - axis\n * - grid\n * - life circle\n */\nexport default class Axis extends Controller